WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Unexpected Voiceover Tab Order and Focusing on Hybrid App

for

From: Jonathan Avila
Date: Mar 12, 2015 7:25AM


> If it's a hybrid app, wouldn't this need use JavaScript's focus() method? (serious question, as I've not played with building hybrid apps myself).

Yes, if the issues are in the webview portion of the app then all standard HTML reading order and focus control mechanisms would apply. That is, reading order would be controlled by the order of the document object model and focus could be set with .focus() etc. With hybrid apps it's not always clear what content is native or web. One trick I use is to turn the rotor -- if I see web options in the rotor I know I'm in a web view -- otherwise I am in a native portion of the app. Both would contain heading rotor options if that is in your rotor -- so you can't rely on the headings option to make this determination.

Jonathan

-- 
Jonathan Avila 
Chief Accessibility Officer
SSB BART Group 
<EMAIL REMOVED>
Phone 703.637.8957  
Follow us: Facebook | Twitter | LinkedIn | Blog | Newsletter


-----Original Message-----
From: <EMAIL REMOVED> [mailto: <EMAIL REMOVED> ] On Behalf Of Patrick H. Lauke
Sent: Thursday, March 12, 2015 8:55 AM
To: <EMAIL REMOVED>
Subject: Re: [WebAIM] Unexpected Voiceover Tab Order and Focussing on Hybrid App

On 12/03/2015 12:27, Jonathan Avila wrote:
>> I know that Voiceover can sometimes work from the top of the screen down when determining tab order, but there must be a reliable way of influencing that so that the tab order makes sense to Voiceover users.
>
> The only option you have other than layout to control reading order is shouldGroupAccessibilityChildren. This property will cause VoiceOver to respect the view's grouping of child elements as a whole rather than intermixing them in the reading order with other views children.
>
>> Also, at times, there is a requirement to move focus into an overlay panel, and then back to the original focus location when the panel closes. Getting that to work as expected is proving a challenge too.
>
> To set focus call UIAccessibilityPostNotification with UIAccessibilityLayoutChangedNotification as the first parameter and the second with the object to set focus to.

If it's a hybrid app, wouldn't this need use JavaScript's focus() method? (serious question, as I've not played with building hybrid apps myself).

P
--
Patrick H. Lauke

www.splintered.co.uk | https://github.com/patrickhlauke
http://flickr.com/photos/redux/ | http://redux.deviantart.com
twitter: @patrick_h_lauke | skype: patrick_h_lauke