iOS画外音,如何跳过表格视图单元格而不是说话"not enabled"

iOS Voice over, how to skip a tableview cell rather than speak "not enabled"

我有一个包含多个单元格的表格视图。这些单元格中有几个纯粹是装饰性的,包含一个分隔线。使用 Xcode 中的 Accessibility Inspector 开发者工具,每当它点击这些单元格之一时,它就会说话 "not enabled"。

所以第一部分,我不确定在手机上使用旁白说话 "not enabled" 是否是最佳做法,因为它感觉更干净,更接近 none 旁白版本,完全跳过它。但是,我可以想象这样一种情况,如果用户知道所有单元格(即使是装饰性的),那么页面导航对用户来说可能会更加明显。

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

目前,我已经尝试在故事板中将这些单元格的可访问性设置为完全关闭,并将相同的方法应用于创建分隔线的内部视图:

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

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

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

但是,检查员仍然没有在这些单元格上说话 "enabled",并且可访问性检查员将特征显示为 'Static Text Not Enabled'

有什么想法吗?

一个 UITableViewCell 可以被看作是一个容器,里面嵌入了许多元素 (buttons...) 而且,照原样,你不能同时拥有父视图 (table 视图单元格) 及其子视图 (标签、按钮...) both accessible 使用 VoiceOver:可以选择您的单元格或其内容。

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

  • yourCell.isAccessibilityElement = 假
  • yourCell.accessibilityElementsHidden = 假

根据这个原理,您跳过 table查看单元格而不是说“未启用”