iOS画外音,如何跳过表格视图单元格而不是说“未启用”

Posted

技术标签:

【中文标题】iOS画外音,如何跳过表格视图单元格而不是说“未启用”【英文标题】:iOS Voice over, how to skip a tableview cell rather than speak "not enabled" 【发布时间】:2019-11-27 15:24:55 【问题描述】:

我有一个包含多个单元格的表格视图。其中一些单元纯粹是装饰性的,包含一个分隔器。使用 Xcode 中的 Accessibility Inspector 开发人员工具,只要碰到这些单元格之一,它就会显示“未启用”。

所以第一部分,我不确定在单元格上说“未启用”语音是否是最佳做法,因为它感觉更干净,更接近无语音版本,完全跳过它。但是,我可以想象这样一种情况,如果用户知道所有单元格,即使是装饰性的,潜在的页面导航对用户来说会更加明显。

如果这不是最佳实践问题,我该如何让它跳过单元格而不说什么?

目前,我已尝试在情节提要中将这些单元格上的可访问性设置为完全关闭,并在创建分隔符的内部视图中应用相同的设置:

我还在属性检查器中禁用了 UserInteractionEnabled

在单元格的代码中,我设置了:

self.divider.isAccessibilityElement = false
self.isAccessibilityElement = false

但是,检查器仍然在这些单元格上说“未启用”,并且可访问性检查器将特征显示为“未启用静态文本”

有什么想法吗?

【问题讨论】:

【参考方案1】:

UITableViewCell 可以被视为一个容器,其中嵌入了许多元素(按钮...),而且,您不能同时拥有父视图 (表格视图单元格) 及其子视图 (标签、按钮...) 是 both accessible 并带有旁白:可以选择您的单元格或其内容。

在您的情况下,您不希望屏幕阅读器读出单元格本身或其内容,因此您必须指定:

yourCell.isAccessibilityElement = false yourCell.accessibilityElementsHidden = false

按照这个原理,您跳过一个表格视图单元格而不是说“未启用”

【讨论】:

以上是关于iOS画外音,如何跳过表格视图单元格而不是说“未启用”的主要内容,如果未能解决你的问题,请参考以下文章

从第 x 页(第 y 页)调整收藏集的画外音

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

从 UITableView 中删除单元格而不是从数组中

如何在 ios 中使用 UI NIB 而不是 loadNibNamed 来自定义 UI 表格视图单元格?

如何使searchResultsTableView使用自定义单元格而不是默认单元格[重复]

如何将单元格而不是单元格的值传递给 LibreOffice 函数?