【问题标题】:Is there a way to ignore accessibility element only while navigating via swipes?有没有办法仅在通过滑动导航时忽略可访问性元素?
【发布时间】:2019-10-25 02:55:25
【问题描述】:

您可能知道,iOS VoiceOver 模式提供了两种方式来浏览屏幕上的元素。一种是直接在界面元素的框架内触摸,另一种是按出现顺序逐个遍历元素,通过在屏幕上的任意位置向左或向右滑动。

现在我们的应用程序有一个UITableView,每个单元格中都有一个按钮,很少使用,但在功能上仍然很重要。

为了更快地浏览表格视图,我们的用户要求我们在应用中配置 VoiceOver 模式,以便在使用滑动导航时跳过阅读此按钮的标题。不能在此处使用accessibilityElementsHidden,因为在实际需要时,用户必须直接触摸该按钮才能发现该按钮。但是在通过滑动导航时,屏幕阅读器应该忽略它。 (accessibilityElementsHidden 在两种导航模式下都禁用它,使 VoiceOver 用户完全无法访问该按钮)

我们筛选了UIAccessibilityTraits,但无济于事。你知道实现这种行为的方法吗?

【问题讨论】:

  • 不要吹毛求疵,但"VoiceOver mode provides two ways to navigate through elements" 并不完全准确。除了您提到的两种导航方式之外,还有更多的导航方式。转子提供了更多 - 垂直导航、按钮导航、表格行导航等。您的用户想要忽略其中的多少?我认为假设每个 VO 用户都以相同的方式导航并且您不应该尝试基于手势导航隐藏元素是一个坏主意。 @david 的想法是更好的选择。
  • @slugolicious 是的,这毕竟是我们决定实施的。这种方法应该在可访问性功能的其他方面发挥得更好。感谢您的意见!

标签: ios cocoa-touch voiceover uiaccessibility


【解决方案1】:

我认为我在任何应用程序中都没有看到过这种行为——跳过可聚焦的元素。相反,其中包含按钮的表格视图单元格通常会将按钮功能作为"custom action" 提供。当 VoiceOver 关注单元格时,它会让用户知道自定义操作可用,并且用户可以向上或向下滑动以更改在激活元素/单元格时调用的操作(双击)。

这样,单次滑动即可将焦点从一个单元格移动到另一个单元格,并且仍然可以访问按钮功能。

【讨论】:

    猜你喜欢
    • 2021-12-13
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    相关资源
    最近更新 更多