UITest UIAccessibility 层次结构
Posted
技术标签:
【中文标题】UITest UIAccessibility 层次结构【英文标题】:UITest UIAccessibility hierarchy 【发布时间】:2020-03-10 23:00:07 【问题描述】:我在父视图上将isAccessibilityElement
标志设置为true
(在我的情况下是UICollectionViewCell
),现在VoiceOver 无法访问它的所有子视图,这正是我想要的。我确实在子视图上设置了accessibilityIdentifiers
,因为我想在我的 UITest 中访问它们。问题是在将此标志设置为true
后,子视图在可访问性层次结构中不可见。如果我将标志设置为false
,它们确实可以在我的 UITests 中访问,但 VoiceOver 也会读出它们,这不是我想要的。
当父视图上的isAccessibilityElement
属性设置为true
时,有没有办法让子视图出现在 UITests 中?
【问题讨论】:
【参考方案1】:在构建设置中,在您的 UITests 目标上使用预处理器宏,例如 NOVOICE=1
。寻找那个宏,类似于人们制作DEBUG=1
或COCOAPODS=1
的方式。然后使用
#if NOVOICE
// Make your changes to accessibility here. Blind users won't hear all the levels, but your tests will
#endif
【讨论】:
以上是关于UITest UIAccessibility 层次结构的主要内容,如果未能解决你的问题,请参考以下文章
Swift 5.2 UIAccessibility.isAssistiveTouchRunning 永远不会返回 true,也不会触发 UIAccessibility.assistiveTouchSt
Apple Notes 颜色选择器中的 # 是啥? (UIAccessibility - 旁白)
有没有办法使用 UIAccessibility 获取所有设备的辅助功能设置?