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=1COCOAPODS=1 的方式。然后使用

 #if NOVOICE 
 // Make your changes to accessibility here.  Blind users won't hear all the levels, but your tests will
 #endif

【讨论】:

以上是关于UITest UIAccessibility 层次结构的主要内容,如果未能解决你的问题,请参考以下文章