Reputation: 157
Is it possible using VoiceOver on the iPhone to announce the updated text on a label if it changes?
This would be analogous to a live-region in ARIA.
Thanks.
Upvotes: 11
Views: 3289
Reputation: 1227
Here is the Swift 4 version
UIAccessibility.post(notification: UIAccessibility.Notification.announcement, argument: "Your text")
Upvotes: 3
Reputation: 311
You can make VoiceOver announce any text you like with:
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, @"Your text");
If a label should announce its text as soon as it is updated, simply extend the UILabel
and override the setText
method.
The .h File:
@interface UIVoicedLabel : UILabel {
}
@end
And its implementation:
#import "UIVoicedLabel.h"
@implementation UIVoicedLabel
- (void) setText:(NSString *)text {
// Set the text by calling the base class method.
[super setText:text];
// Announce the new text.
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, text);
}
@end
This worked perfectly for me :)
Upvotes: 21