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画外音,如何跳过表格视图单元格而不是说“未启用”的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ios 中使用 UI NIB 而不是 loadNibNamed 来自定义 UI 表格视图单元格?