iOS VoiceOver“找不到标题”

Posted

技术标签:

【中文标题】iOS VoiceOver“找不到标题”【英文标题】:iOS VoiceOver "Heading not found" 【发布时间】:2019-02-05 16:31:06 【问题描述】:

我有一个 UITableView,其中每个 UITableViewCell 有 2 个 UILabel:1 个标题和 1 个内容。标头的 AccessibilityTrait 设置为“标头”。使用 Accessibility Inspector 检查模拟器屏幕时,我能够正确看到特征设置。但在实际设备上,当我将转子切换到“标题”时,它只找到导航栏标题,但没有找到 UITableViewCells 中的标题。

【问题讨论】:

我遇到了完全相同的问题,所以我从 UITableView 切换到 UICollectionView 并且它起作用了。 【参考方案1】:

要在表格视图单元格中获取具有标题特征的可访问性元素,您应该选择转子检查的容器(此处为表格视图)

当您到达您的页面时,转子会检查主容器中的标题,而不是该容器中可能存在的所有其他标题。

为了达到你的目标:

选择Containers 转子项以了解页面上是否存在许多转子项。 为每个容器选择 Headings 转子项以获取其标题元素。

我没有在这里提供解决方案,但这就是 VoiceOver 的工作方式,在我看来,您应该为您的应用采用另一种架构,因为它有点给用户带来麻烦。

【讨论】:

作为开发人员,这是否提供了任何可行的方法来帮助画外音用户检测不在最外层容器中的“标题”?建议用户将其转子设置从“标题”切换为发现标题并不是真正的解决方案。 @c_booth :我的回答只是解释了为什么找不到标题以及系统如何工作:这个问题并没有要求我实际上无法提供的解决方案。作为开发人员,我认为这种情况最好避免:设置另一种结构来提供信息。

以上是关于iOS VoiceOver“找不到标题”的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 上模拟 VoiceOver 辅助功能点击

是否可以在 iOS 应用中启用或禁用 VoiceOver?

《iOS Human Interface Guidelines》——VoiceOver

覆盖 TextField 中的 VoiceOver 消息 - iOS 辅助功能

VoiceOver 是不是总是忽略宽度和高度为零的 iOS 视图?

如何让 VoiceOver 在 iOS 中宣布部分标签?