我有一个具有相当标准布局的详细信息页面,一个滚动视图托管一个垂直堆栈视图,该视图又托管UITextView
s 或垂直文本视图,每个视图都包含一个标题和一个“内容”文本视图。这是 Interface Builder 的屏幕截图:
我希望通过内置的可访问性转子 "Headings" 可以访问所有标题。但是,我无法让它工作。Voiceover 以正确的顺序正确读取所有标签。所有 Textview 都选择了“可访问性元素”勾选,其中一些勾选了“标题”勾选。它们都将“用户交互启用”勾选作为预选值。
但是,当我使用 Accessibility Inspector 检查它们时,它们都只列出“静态文本”作为它们的特征,这在 IB 中没有选择。我还尝试.header
在方法中为它们设置或添加特征,但viewDidLoad()
没有成功:
myTextView1.accessibilityTraits.insert(.header)
myTextView2.accessibilityTraits = [.header]
我尝试了通过 IB 获取文本的静态文本视图,以及从数据库中填充文本的文本视图,但没有成功。标题导航起作用的唯一地方是静态表格视图,其中画外音正确地将 tableviewHeaders 识别为标题,没有任何帮助。使用“线”转子的线导航按预期开箱即用。
我错过了什么还是这是一个错误?
这个问题似乎确实处理了类似的问题。 这个人的解决方案是在真实设备上运行它。虽然这可以正确处理其他模拟器画外音故障,但它并不能解决我的问题。其他类似的问题(如这里)通常处理表格视图单元格内部的问题,这些问题由于可访问性层次结构而导致问题。我相信这里不是这种情况,因为所有视图都已找到并正确阅读。