如何防止可访问性画外音读出集合视图中选定的单元格位置?

Posted

技术标签:

【中文标题】如何防止可访问性画外音读出集合视图中选定的单元格位置?【英文标题】:How can I prevent accessibility voiceover from reading out the selected cell position in a collection view? 【发布时间】:2020-02-19 04:40:38 【问题描述】:

我希望禁用辅助功能画外音在集合视图中读出单元格位置的行为(我正在为 tvOS 开发,但它在 ios 中的行为可能相同)

例如当第一个单元格被选中/聚焦时(总共 3 个项目),旁白显示“三个中的一个”。

我需要支持的辅助功能模式是关注焦点。

我已经尝试设置单元格的:

isAccessibilityElement = false
accessibilityTraits = .none

【问题讨论】:

你是在 iOS 的 tableviewcell 中设置的吗? @crvo84:您的单元格是否包含简单的内容(如文本)或是否有其他内容(如图像、按钮)......请提供一个示例,以便在答案中尽可能准确。 ?????? 【参考方案1】:
cell.accessibilityElementsHidden = YES;

来自Apple documentation:

此属性的默认值为 false。您可以使用此属性来隐藏新视图的到来所覆盖的视图。在这种情况下,隐藏的视图可能在屏幕上仍然可见,但它们不是用户操作的焦点。

您还可以使用此属性来隐藏 VoiceOver 用户不需要注意的瞬态视图。例如,VoiceOver 不需要描述用户在设备上调整音量时出现的半透明视图,因为这个动作的听觉反馈就足够了。

【讨论】:

【参考方案2】:

你可以在手机上试试

accessibilityElementsHidden = true

用于禁用此单元格的可访问性行为。

但如果您仍希望应用中的辅助功能,请尝试通过设置辅助功能标签来更改 Voice Over 将拼写的文本

accessibilityLabel = "some text that will be spoken by voiceover"

这可能会改变 Voice Over 所说的任何内容

【讨论】:

以上是关于如何防止可访问性画外音读出集合视图中选定的单元格位置?的主要内容,如果未能解决你的问题,请参考以下文章

如何从集合视图中删除多个选定的单元格? (迅速)

更改焦点时不读取辅助功能提示

如何查找选定集合视图单元格的索引路径?

如何从位于集合视图单元格内的步进器中获取选定的 IndexPath?

如何获得可访问性滑动以正确导航子视图集合?

具有可访问性的 UITableViewCell 中的 UICollectionView