我正在创建基于视图的应用程序,我将通过addSubview方法进入下一个视图.问题是,当我打开VoiceOver的功能并添加子视图时,它会从之前的视图中获取附件标签.也就是说,如果我点击矩形中的视图,前一个视图中有标签,那么VoiceOver也会将其检测为辅助功能标签并开始读取该标签.但是,如果我使用导航控制器去下一个视图控制器,我没有遇到任何问题.任何人都可以告诉我,如果苹果本身仅支持基于导航的应用程序的VoiceOver工具,或者在基于视图的应用程序中还有其他一些VoiceOver解决方案吗?
PS我也在一些演示应用程序上尝试过相同的结果.
因此,在当前视图中,我添加了一个包含按钮的子视图,辅助功能也会读取子视图后面的标签.我希望辅助功能可以读取添加视图上的按钮,以及前一个视图的其余可视部分(而不是标签隐藏在添加的视图后面).有人可以告诉,如果它是iPhone中的配音错误,默认情况下,它还会在addsubview上读取parentView的标签吗?
如何防止 VoiceOver 在文本字段上说出 \xe2\x80\x9c\xe2\x80\xa6misspelled\xe2\x80\x9d ?将 auto CorrectionType 设置为 UITextAuto CorrectionTypeNo 似乎不会产生影响。
\n\n如果 iOS 用户键入拼写错误的单词,后跟空格或标点符号,Voiceover 会读出该单词,后跟 \xe2\x80\x9cmisspelled。\xe2\x80\x9d 我希望能够在特定文本字段上禁用此行为。
\n我正在做一些滚动的VoiceOver实验(三指向上/向下滑动手势).
我的测试页面位于:
http://107.170.41.208/AccessibleHTML
Run Code Online (Sandbox Code Playgroud)
有一个带滚动条和大量内容(红色背景)的div,然后是另一个不能滚动的内容很多的内容(黄色背景).
使用鼠标,我可以滚动浏览红色背景内容,但使用VoiceOver会跳过该部分.
如何使用VoiceOver滚动红色部分内容?
我正在尝试使我的 Voice Over 的 UIPickerView 可访问,我注意到 UIPickerViewAccessibilityDelegate 协议相当不完整。它只允许您为 pickerView 组件指定标签和提示,而不是组件内的行。(它也有一个错误,它的 pickerView:accessibilityLabelForComponent: 方法没有在它的 pickerView 参数中传递 UIPickerView*,而是一个 UIAccessibilityPickerComponent !)
所以我现在想知道,有没有办法为我的选择器的行设置自定义可访问性标签,还是只能读出屏幕上显示的实际选择器行值?
我正在尝试做一个选择器视图,显示时间,小时,分钟,秒。我无法让 datePicker 做到这一点。但是,如果每一行都可以在旁白中说“3 小时”而不是 3 小时,那就太好了。如果我必须将可见标签设置为我希望旁白读出的内容,那么我不确定标签将适合显示这一点,即。
15 小时 35 分 20 秒
非常适合用英语显示在屏幕上,不确定本地化后它会增长多大..因此能够为每一行设置标签的理想选择。
干杯
我正在尝试为UIActivityIndicatorView(在我的视图控制器viewDidLoad中以编程方式创建)提供可访问性标签.我将可访问性标签设置为:
myIndicatorView.accessibilityLabel = @"Please wait, processing"
Run Code Online (Sandbox Code Playgroud)
但是当我运行应用程序时,语音总是显示"正在进行中".我尝试使用辅助功能检查器在模拟器上进行调试,但每次指示器视图都处于焦点时,它的标签为"正在进行中".我假设,"进行中"是活动指标视图的默认语音文本,但我无法更改此标签.我想知道活动指示器视图的可访问标签是否永远不会被更改.如果有人遇到这个问题并找到了解决方法,那么请帮助我.
我有UIAlertController一个消息。我希望警报消息可访问性标签与警报消息字符串不同。
我怎样才能做到这一点?
默认情况下,屏幕阅读器将选择整个视图,并且双击无法打开该链接。事实上,按辅助功能检查器上的激活按钮会使应用程序委托崩溃,而控制台中没有任何堆栈跟踪。我尝试过修改 UITextView 本身的可访问性特征,但没有任何运气。
let quoteAttributedStr = NSMutableAttributedString(string: "This is a test String" + " ")
let enableLinkText = NSAttributedString(string: "this is the clickable text", attributes: dummyLinkAttribute)
quoteAttributedStr.append(enableLinkText)
return quoteAttributedStr
Run Code Online (Sandbox Code Playgroud)
我有一个UIAlertController视图控制器。在展示UIAlertController我设置accessibilityViewIsModal为之前,true但在使用 VoiceOver 时,它仍然专注于,并读出视图控制器“后面”的所有内容UIAlertController(我展示的那个UIAlertController)
let alertController = UIAlertController(title: alertTitle, message: nil, preferredStyle: .alert)
alertController.accessibilityViewIsModal = true
present(alertController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
关于如何防止 VoiceOver 阅读不在警报对话框中的内容的任何想法?
我在 collectionview 上遇到画外音问题。我有一个包含 5 个单元格的全屏(减去导航栏)UICollectionView。每个单元格都包含一个带有isAccessibilityElement=true.
当 VoiceOver 被激活时,导航栏中的标题会被聚焦。如果我然后通过向左/向右滑动每个单元格项来移动焦点,则一个一个,正如人们所期望的那样。问题是,如果我通过在屏幕上向下拖动手指来移动焦点。然后,当手指位于任何单元格之外时,屏幕的背景(即集合视图的区域)将获得焦点。
有没有办法关闭它?
我试过了:
class MyViewController: UICollectionViewController {
override func viewDidLoad() {
super.viewDidLoad()
// A. This makes everything in the collection inaccessible, both
// background and cell content.
//collectionView?.accessibilityElementsHidden = true
// B. This has no effect
//collectionView?.isAccessibilityElement = false
}
...
Run Code Online (Sandbox Code Playgroud)
我希望 B 工作,但它没有(什么也没发生)。我还尝试了其他各种方法,例如:self.view.isAccessibilityElement = false,self.view.superview.isAccessibilityElement = false,但都没有成功。
希望有人能帮忙!
我想禁用接近监控,以便屏幕始终保持打开状态,无论物体离传感器多近。
我使用以下方法进行了尝试:
UIDevice.currentDevice.proximityMonitoringEnabled = NO;
Run Code Online (Sandbox Code Playgroud)
通常它会按预期工作,但是如果我打开 VoiceOver,如果接近传感器被覆盖,屏幕就会开始变黑。
仅供参考:我正在为弱视人士制作视频通话应用程序(使用 CallKit),他们的体验是,如果他们在通话过程中靠得太近屏幕,如果 VoiceOver 开启,屏幕就会变黑。
我尝试安装一个 NSTimer 以每秒将 ProximityMonitoringEnabled 设置为 NO(作为一种糟糕的解决方法),还尝试将其设置为 YES 然后设置为 NO。它保持在 NO,但屏幕仍然黑屏。
voiceover ×10
ios ×9
swift ×3
cocoa-touch ×1
css ×1
html ×1
iphone ×1
javascript ×1
objective-c ×1
uipickerview ×1