【问题标题】:Is there any way to have VoiceOver read a label on command?有什么方法可以让 VoiceOver 读取命令上的标签?
【发布时间】:2015-08-02 21:40:44
【问题描述】:

我想让我的 QR 码扫描应用程序在找到 QR 码时通知用户。对于有视力的用户,这可以使用底部的标签来更新以通知用户。但是,盲人用户必须再次点击该标签才能让 Voice Over 阅读。我更希望它自动阅读。

我能找到的最接近这个问题的是 UIAccessibility - Read all the labels and buttons on the screen from top to down,这是不可能的。虽然这对我的应用来说不是个好兆头,但那是一年前的事了。 Apple 是否以任何方式更新了它的 UIAccessibility 协议以允许这样做?

作为最后的手段,如果 VoiceOver 开启,我想我可以播放自己的 mp3 录音。

【问题讨论】:

标签: ios swift accessibility voiceover uiaccessibility


【解决方案1】:

您可以随时通过调用让 VoiceOver 朗读任何字符串:

UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, NSLocalizedString("QR code has been detected", comment: ""))

斯威夫特 4

UIAccessibility.post(notification: .announcement, argument: "Text")

没有直接的方法可以告诉 VoiceOver 说出 VoiceOver 光标不在的元素的更新。这(即“手动”说出相同的内容)是一种可行的解决方法。

【讨论】:

    【解决方案2】:

    您可以使用以下方法将 VoiceOver 焦点移动到元素:

    UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, elementToFocusOn) 
    

    VoiceOver 随后将解析并读取与该元素关联的可访问性属性。

    【讨论】:

      猜你喜欢
      • 2021-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-02
      相关资源
      最近更新 更多