VoiceOver does not speak UIView Components on first view load
VoiceOver does not speak UIView Components on first view load
- Subject: VoiceOver does not speak UIView Components on first view load
- From: Becky Gibson <email@hidden>
- Date: Thu, 30 Jun 2011 13:15:25 -0400
In iOS am creating a custom view that is displayed within an UINavigationController within an UIWebView. The view contains standard UIKit elements and when the view is displayed I can navigate to each of the elements and invoke them with double tap but they are not spoken by VoiceOver. Using the AccessibilityInspector I can see the correct labels on the elements. The view is within a NavViewController and contains a Done button, a label that is updated, and a record button that toggles recording audio. Once I invoke the record button, VoiceOver will now recognize all of the elements on the page and speak them. Also, when I first open the page I can not swipe up and have VoiceOver focus and speak every element. Since this is not a custom view and these are not custom elements, I did not implement the UIAccessibilityContainer protocol.
I'm not sure if the problem is how I have created the view or how I am invoking it? I am a bit suspect of this and the view hierarchy that PhoneGap creates:
AudioRecorderViewController* audioViewController = [[[AudioRecorderViewController alloc] initWithCommand: self duration: duration callbackId: callbackId] autorelease];
// Now create a nav controller and display the view... UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:audioViewController] autorelease]; self.inUse = YES;
[self.appViewController presentModalViewController:navController animated: YES]; // self.appViewController is a UIViewController. Generally we are displaying a UIWebView that was initially set up as a subview on self.appViewController.view.
This is part of the open source PhoneGap project. The source code is here https://github.com/phonegap/phonegap-iphone in the PhoneGapLib directory. Specifically Caputre.m at https://github.com/phonegap/phonegap-iphone/blob/master/PhoneGapLib/Classes/Capture.m. The captureAudio and implementation of AudioRecorderViewController in this file. There are currently some extra calls to setAccessibilityMode:YES on the standard elements but removing those does not change the problem. I am also calling UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, nil); in viewDidLoad. I have tried changing that to UIAccessibilityScreenChanged Notification but there is no change in behavior.
If someone is really ambitious and wants to install PhoneGap and build and app to try this. The "problem" screen is invoked via the Capture Audio button on this simple index.html page: http://cl.ly/82v8 . |
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Accessibility-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden