Accessibility/Android: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
''This page is a collection of notes about Android Firefox accessibility being collected in the October '11 accessibility meetup.''
Firefox Accessibility in Android is new, and rapidly improving. This page should clarify any confusion or outstanding questions users and early adopters may have.


== Background ==
= Frequently Asked Question =
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.


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.
== What version of Firefox is accessible? ==


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.
Since version 17, Firefox is fully accessible. It can be installed from the Google Play store.


== Android Accessibility API ==
== What is Firefox Nightly? ==
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 Nightly is the raw nightly build of the development version of Firefox. It has not been tested at all, and should be regarded as extremely unstable. To see features being added real-time, it might be worth trying it, but don't expect it to be stable enough for daily use.


== Usability Enhancements via Extension ==
== I want to try Firefox Nightly, which version do I want, regular or ARMv6? ==
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.
The ARMv6 package is meant for lower end phones that don't support our other APK. If you don't know what your phone supports, first try installing the regular APK, if that does not work, try the ARMv6.


== TalkBack support ==
== Is there any way to quickly navigate the contents of a page by item type, like list or heading? ==
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.
Yes, Firefox has quick navigation keys that could be used with a hardware keyboard or Eyes-Free keyboard. 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]. In Firefox 20, we will introduce quick navigation with gestures, swipe with 3 fingers up and down to change mode, and left and right to navigate to specific objects.
 
== How can I have Firefox continuously read a page's contents? ==
 
Since Firefox relies on the platform and screen reader, it cannot directly control speech. Continuous reading is supported in Jelly Bean with Talkback 3.1.4 and above.
 
== What version is Aurora? what version is Beta? Which is more advanced? ==
 
The stable release of Firefox, as of this writing, is Firefox 17. Along with the stable release, there are three other unstable release channels: Beta, Aurora (ie. alpha), and Nightly. Every 6 weeks a new stable release is cut, and the version numbers on all these channels get bumped. We call this the "release train". So, for example after Firefox 18 will be released, Firefox 19 will be in Beta, and will be released as "Firefox 19" six weeks later. You could read more about it [http://blog.mozilla.org/futurereleases/2011/07/19/every-six-weeks/ here]. We have accessibility features spread out on all of these channels, the list below should help you figure out what to expect from each release, and how to get your hands on a preview version.
 
== How can I report Firefox Android accessibility bugs? ==
* Check the [[Accessibility/Mobile/AccessFu]] page for more information on Android issues.
* Make an account in [http://bugzilla.mozilla.org] and create a new bug.

Latest revision as of 19:34, 12 March 2013

Firefox Accessibility in Android is new, and rapidly improving. This page should clarify any confusion or outstanding questions users and early adopters may have.

Frequently Asked Question

What version of Firefox is accessible?

Since version 17, Firefox is fully accessible. It can be installed from the Google Play store.

What is Firefox Nightly?

Firefox Nightly is the raw nightly build of the development version of Firefox. It has not been tested at all, and should be regarded as extremely unstable. To see features being added real-time, it might be worth trying it, but don't expect it to be stable enough for daily use.

I want to try Firefox Nightly, which version do I want, regular or ARMv6?

The ARMv6 package is meant for lower end phones that don't support our other APK. If you don't know what your phone supports, first try installing the regular APK, if that does not work, try the ARMv6.

Is there any way to quickly navigate the contents of a page by item type, like list or heading?

Yes, Firefox has quick navigation keys that could be used with a hardware keyboard or Eyes-Free keyboard. See Marco's post about quick nav keys. In Firefox 20, we will introduce quick navigation with gestures, swipe with 3 fingers up and down to change mode, and left and right to navigate to specific objects.

How can I have Firefox continuously read a page's contents?

Since Firefox relies on the platform and screen reader, it cannot directly control speech. Continuous reading is supported in Jelly Bean with Talkback 3.1.4 and above.

What version is Aurora? what version is Beta? Which is more advanced?

The stable release of Firefox, as of this writing, is Firefox 17. Along with the stable release, there are three other unstable release channels: Beta, Aurora (ie. alpha), and Nightly. Every 6 weeks a new stable release is cut, and the version numbers on all these channels get bumped. We call this the "release train". So, for example after Firefox 18 will be released, Firefox 19 will be in Beta, and will be released as "Firefox 19" six weeks later. You could read more about it here. We have accessibility features spread out on all of these channels, the list below should help you figure out what to expect from each release, and how to get your hands on a preview version.

How can I report Firefox Android accessibility bugs?