Accessibility/Android: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
''This page is a collection of notes about Android Firefox accessibility being collected in the October '11 accessibility meetup.''
Firefox 15 introduces screen reader support in Android. The accessibility features will be expanded in every consecutive release. Below is an overview of the upcoming versions and what features to expect in each release.


== Background ==
== Firefox 15 ==
We started working on a self-voicing solution for Firefox on Android with the hope to control the end-user experience and provide a very usable mobile browser despite Android's accessibility shortcomings. Recently, Firefox Mobile has made an abrupt switch to a native UI instead of XUL. On one hand this raised the issue of a consistent experience between the native UI being spoken in TalkBack (Android's screen reader), and the self-voicing of the browser's content. On the other hand this presents an opportunity for us to make a similar abrupt change in direction and provide a homogeneous experience under TalkBack.
; Release Date : August 28 2012
; Current Availability : Firefox in Google Play Store


We have the opportunity of being ''accessible by default'', with no need for extra downloads or sighted assistance. This will be a first in the Android web browser world.
Firefox 15 introduces basic accessibility through D-Pad navigation. The behavior is similar to other native Android applications. Once in the content, simply arrow left or right. Press enter or d-pad center to activate items. For more information, see [http://www.marcozehe.de/2012/05/08/first-round-of-accessibility-support-for-android-in-mobile-firefox/ Marco's initial announcement].


Supporting the platform API also gives the opportunity to be disability agnostic and allow other ATs to use our accessibility features. For example, when proper braille support is introduced in the platform, Firefox users will benefit from it.
== Firefox 16 (dubbed "Firefox Beta") ==
; Release Date : October 10 2012
; Current Availability : Firefox Beta in Google Play Store


== Android Accessibility API ==
Firefox 16 brings quick navigation keys to reach certain document elements like links and headers, and Ice Cream Sandwich explore by touch support. For more information, see Marco's post about [http://www.marcozehe.de/2012/06/13/quick-navigation-keys-now-in-nightly-builds-of-firefox-native-for-android/ quick nav keys], and [http://www.marcozehe.de/2012/06/28/firefox-for-android-nightly-builds-now-with-explore-by-touch/ explore by touch].
Accessibility was first introduced in Android API version 4 (Froyo). There has been a significant refresh in version 14 (4.0, Ice Cream Sandwich), which is very encouraging. I think we should support the earlier, version 4 API since it is much simpler to implement, easier to test and ultimately it is what Firefox Mobile is dependent on (version 5 or earlier), so users from Froyo onward will get support.


Once we have good support, and a solid testing plan in place we could think of supporting more advanced features found in API version 14.
== Firefox 17 (dubbed "Aurora") ==
; Release Date : November 20 2012
; Current Availability : [http://www.mozilla.org/en-US/mobile/aurora/ Aurora download page]


== Usability Enhancements via Extension ==
Firefox 17 introduces support for Talkback in Jelly Bean. Explore by touch and flicking left or right should work just like any other Android application in Jelly Bean. See [http://www.marcozehe.de/2012/08/22/support-for-talkbacks-jelly-bean-explore-by-touch-now-in-firefox-for-android-nightlies/ Marco's post] about it.
UI navigation in Android (pre 4.0) is limited to the directional controller. This is not good enough for continuous usage. There needs to be extra functionality like different navigation modes (character/word/block/header/link) and landmarks.


Another approach would be to integrate these features into the browser, they would be enabled/disabled via preferences and by sniffing for active ATs.
== Firefox 18 (dubbed "Nightly") ==
; Release Date : January 2013
; Current Availability : [http://nightly.mozilla.org/ Nightly download page]


== TalkBack support ==
Firefox 18 will probably not introduce any major feature for Android Accessibility. There is currently experimentation with supporting lower end devices that use ARMv6 processors. If other versions of Firefox are not supported on your device, you can try downloading and installing the ARMv6 APK available on the nightly download page.
There are no roles in Android's accessibility API (I know!). So for TalkBack to speak the control type like "button", it needs to infer it from the class name of the control. Each accessibility event has a class name attribute (getClassName), Talkback has "speech strategy" definition files that typically filter events by class name and have a basic template for how to utter that class. For example, an ''android.widget.Button'' would have a template defined for, something like "%s button".
 
Since all events emitted from Firefox would have a class name of ''org.mozilla.GeckoSurfaceView'', we would need a way to differentiate between the event source's accessible objects. A possible way to do that would be to add the role name as a suffix to the class name, so a link would be ''org.mozilla.GeckoSurfaceView$link''. TalkBack would need to have speech strategies for Firefox, so we would nee to contribute those to TalkBack.

Revision as of 17:43, 4 September 2012

Firefox 15 introduces screen reader support in Android. The accessibility features will be expanded in every consecutive release. Below is an overview of the upcoming versions and what features to expect in each release.

Firefox 15

Release Date
August 28 2012
Current Availability
Firefox in Google Play Store

Firefox 15 introduces basic accessibility through D-Pad navigation. The behavior is similar to other native Android applications. Once in the content, simply arrow left or right. Press enter or d-pad center to activate items. For more information, see Marco's initial announcement.

Firefox 16 (dubbed "Firefox Beta")

Release Date
October 10 2012
Current Availability
Firefox Beta in Google Play Store

Firefox 16 brings quick navigation keys to reach certain document elements like links and headers, and Ice Cream Sandwich explore by touch support. For more information, see Marco's post about quick nav keys, and explore by touch.

Firefox 17 (dubbed "Aurora")

Release Date
November 20 2012
Current Availability
Aurora download page

Firefox 17 introduces support for Talkback in Jelly Bean. Explore by touch and flicking left or right should work just like any other Android application in Jelly Bean. See Marco's post about it.

Firefox 18 (dubbed "Nightly")

Release Date
January 2013
Current Availability
Nightly download page

Firefox 18 will probably not introduce any major feature for Android Accessibility. There is currently experimentation with supporting lower end devices that use ARMv6 processors. If other versions of Firefox are not supported on your device, you can try downloading and installing the ARMv6 APK available on the nightly download page.