Firefox 6: html:progress element accessibility

Recently, Mounir landed support for the HTML5 progress element on the Mozilla development branch (AKA “Nightly” channel). A few days later, after a concerted effort and another episode of “Marco and C++ are only partially good friends” 😉 , accessibility support landed, too, and thus the progress element will be accessible starting in Firefox 6. For those of you on the “Aurora” channel, you should see stuff come through the pipeline with updates after the next Aurora merge, currently slatted for mid next week.

This means that web devs can use the progress element in web applications, and we will now no longer expose the alternative text enclosed in the opening and closing tags, but the actual visual representation of a progress meter. The accessible object for the progress meter will expose the AccessibleValue interface for all relevant platforms (e. g. ATK and IAccessible2), so that assistive technologies can query for not only the value string but also the float values for:

  • the current value
  • the minimum (always 0)
  • the maximum (if not specified, the default is 1 as in the specification)

By default, NVDA will expose the current percentage as you can test in this example with a current version of NVDA.

Note that there were no changes required on NVDA’s side to support this. So if your screen reader currently supports WAI-ARIA progress meter elements, and the screen reader does not do any funky stuff with their own HTML parsing here, this should just work.

Another note: While we were here, we also fixed a few things regarding XUL:progressmeter elements that were buggy in the past, but were not really uncovered until now. The user visible impact will be minimal for this, but for our code this was definitely benefitial, as we’re now dealing with the proper maximum value for xul:progressmeter elements, which differs from the default max for html:progress.