首页 文章

模拟iOS上的VoiceOver辅助功能点击

提问于
浏览
0

我知道我可以模拟按钮水龙头,例如:

buttonObj.sendActions(for: .touchUpInside)

但这实际上是点按按钮而不激活VoiceOver的元素 . 我希望以编程方式点击元素,就好像用户在VoiceOver打开时用手指点击它一样 - 所以VoiceOver应该开始读取项目的 accessibilityLabel ,但实际上还没有执行该项目的操作 .

1 回答

  • 3

    您想要ACCESSIBILITY_FOCUS该项目 . 您可以使用辅助功能通知执行此操作 .

    UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification,
                                 elementYouWantToFocus);
    

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

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

    我已经更加深入地讨论了这个主题blog post .

相关问题