【问题标题】:Simulate VoiceOver accessibility tap on iOS在 iOS 上模拟 VoiceOver 辅助功能点击
【发布时间】:2017-04-04 18:23:46
【问题描述】:

我知道我可以通过以下方式模拟按钮点击:

buttonObj.sendActions(for: .touchUpInside)

但实际上点击按钮并没有激活 VoiceOver 的元素。我想以编程方式点击元素,就像用户在 VoiceOver 开启时用手指点击它一样 - 所以 VoiceOver 应该开始读取项目的 accessibilityLabel,但实际上还没有执行项目的操作。

【问题讨论】:

    标签: ios accessibility voiceover uiaccessibility


    【解决方案1】:

    您想要 ACCESSIBILITY_FOCUS 项目。您可以使用辅助功能通知来做到这一点。

    UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification,
                                 elementYouWantToFocus);
    

    请注意,在大多数情况下,将可访问性的重点转移到用户身上会降低访问性。如果您的用户界面结构良好,用户应该能够自己找到内容。甚至是新内容。主要的上下文变化等应该被宣布,一般来说 iOS 的默认行为将更容易访问,因为它们是用户将习惯的。

    https://www.w3.org/TR/UNDERSTANDING-WCAG20/consistent-behavior.html

    我还在blog post 上更深入地介绍了这个主题。

    【讨论】:

    • WCAG 的引文真是太棒了。以后一定会用到的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多