Is there a way to make VoiceOver read the label on command?

I want the QR code scanning app to tell the user when it finds a QR code. For sighted users, this works by using a label at the bottom that updates the user's notification. However, the blind user will have to click on this shortcut again in order to read it via Voice Over. I would prefer it to just read automatically.

The closest I can find to this question is: UIAccessibility - Read all shortcuts and buttons on the screen from top to bottom , which was not possible. While that doesn't bode well for my app, it was a year ago. Has Apple updated its UIAccessibility protocol in any way?

As a last resort, I suppose I can play my own mp3 recording if VoiceOver is turned on.

Any help is greatly appreciated!

+3


source to share


2 answers


You can make VoiceOver speak any line at any time by calling:

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



There is no direct way to tell VoiceOver to speak updates to an item that does not include the VoiceOver cursor. This (that is, the same content "manually") is a valid workaround.

+10


source


You can give VoiceOver focus to an item using the following:

UIAccessibilityPostNotification (UIAccessibilityLayoutChangedNotification, elementToFocusOn)



VoiceOver will then parse and read the accessibility properties associated with that item.

+2


source







All Articles