Roundup: What is the Mozilla Accessibility Team working on?

Well, it’s been a while since I posted here I’m afraid. The reason was not an outbreak of laziness, but on the contrary the fact that the accessibility team at Mozilla is alive and kickin’, and working on the next version of the Gecko platform. And to give you an idea what we’re working on, here’s a quick round-up.

De-XPCOM-ing the Accessible module

XPCOM is used to communicate to the Mozilla core, getting information out of and into it from languages such as JavaScript, Java, Python and C++. Unfortunately, due to historic reasons, modules internal to the Gecko platform also used to use XPCOM to get information. One of these modules was (and partially still is) the Accessible module. XPCOM, while very powerful, also has some performance limitations when querying for a lot of information via QUERY_INTERFACE. Therefore, over the past couple of months, Alex and David have been working on de-XPCOM-ing our module to make it more performant and ready for the future.

To the end user, this will feel more performant especially on complex pages.

Event management

Firing events, and calculating when and how to fire them, has been a big performance killer for the Accessible module in the past. While this was for the most part not particularly noticeable for screen reader users, since we are sort of limited by the rate our synthesizers talk, recently more and more technologies have started using the Accessibility services. Fingerprint devices to enter passwords into Firefox, tablet PC interfaces etc., all use parts of the Accessible module. Since there is currently no way to turn parts of it on or off, as soon as any piece of software accesses just a single accessibility service, the whole engine gets started, and from that point on, all calculations take place as if a screen reader for the blind was present.

Again, since this cannot currently be selectively turned off, and it is not certain that this will ever be possible, it is our goal to make this fact the least noticeable to users. To that end, we’ve started a project called event coalescing. Event coalescing will, as the name suggest, coalesce the stream of events we get from the DOM to only fire those event assistive technologies absolutely need. However, the rules have not been finalized yet, and the code as it is in the current platform based on some initial ideas and feedback, is not very performant, in parts even less performant than in Firefox 3.6, which fires more events but calculates less before sending them.

For those interested in the very technical details, the wiki page for event coalescing is here.

HTML5 form element enhancements

While we’re working hard on improving performance, work in other areas of Gecko is also progressing, requiring us to work together to make sure these enhancements are also accessible. One of these is the work that needs to be done to make new additions that HTML5 brings to form elements accessible. I wrote up a summary with bug links and some information here. If you have feedback on the ideas and proposed roles, you’re welcome to contact us by leaving a comment down here or on the #accessibility IRC channel.

UI work

As the road to the next major release of Firefox is being walked, there are also some UI redesigns happening. One, which has already landed, was the conversion of the tab strip to a real toolbar. My job was to make sure screen readers can still cope with them after this change. Some minor regressions were found, but all in all this still works great.

Another, much bigger change, is the redesign of the Add-Ons Manager to include support for language packs, Jetpacks and other ways to extend Firefox. This work is still underway, and I recently took a first round of testing. Some keyboard navigation issues, and one XUL markup issue that needs to be addressed, but so far, although this is a major UI change, things look very accessible, and I’ll make sure it stays that way. ;)

Other areas

Work that is not directly related to the Gecko platform, but which is also important in the field of accessibility, is, among others:

  • Thunderbird 3.1 Beta2 has been released recently. Thunderbird 3.1 comes with the same platform version as Firefox 3.6. Due to the table enhancements in the Gecko 1.9.2 platform, the message list and other areas will be much more accessible to screen readers. Information such as the unread status, the presence of attachments etc. can now be queried using the IAccessibleTable2 interface or equivalent on other platforms. The control is now a real table control rather than a flat ListView on Windows, giving much more accurate semantics.
  • The Instantbird team has also done a great job at providing good XUL markup in their multi-instant-messaging client. We’re currently working together to work out some very specific problems with buddy status and others, but Instantbird is a great multi-messenger worth trying!

As you can see, lots of exciting stuff happening, some of it very user-visible, other more technical and very low-level in nature, but all exciting!

Stay tuned!

Update: Article translation

Thanks to community member Patricia Clausnitzer, this blog post is now available in Belorussian. How cool is that! Thank you very much! And BTW: This is a first!

flattr this!

This entry was posted in Accessibility, Firefox, Thunderbird and tagged , , , . Bookmark the permalink.
Skip to top

Comments

9 Responses to Roundup: What is the Mozilla Accessibility Team working on?

  1. Pingback: Roundup: What is the Mozilla Accessibility Team working on? « AccessTech News

  2. Pingback: Roundup: What is the Mozilla Accessibility Team working on? « The BAT Channel

  3. Pingback: The Blind Buzz on Accessibility « The Blind Buzz

  4. Pingback: The Blind Buzz on Accessibility « AccessTech News

  5. Katty says:

    Please, can you tell me how to configure thunderbird in such a way, that it is more accessible for me than it is at the moment. I’m using thunderbird 3.1 I think, in combination with nvda2010.1 and windows xp. I couldn’t find any settings that makes thunderbird more accessible, nor any suggestions of add-ons I need. Thanks in advance for the help.
    You can contact me at my mailadress.

  6. Marco says:

    Katty, perhaps you can be more specific? What is it that you’re missing? I use NVDA 2010.1 with Thunderbird 3.1.2, too, and find it works very well for me.

  7. dear Mark,
    I have accessibility issues with he last Firefox update 3.6.10. With the previous version, (3.6.3), everything was okay. But with this new update, some sites like Skype.com or a myspace page take for ever to open and sometimes don’t open at all. It seems like jaws is getting in Firefox’s way somehow.
    If a sighted person looks at what I’m doing, she tells me that these pages will open normally with jaws closed.
    This happens with jaws 10 and 11.
    I know this is not exactly the right place to report issues, but I hope you can tell me what to do or who to report to.
    All the best,
    JPR

  8. Rich Caloggero says:

    I’m having a strange issue with both FF3.6 and FF4. The issue occurs on large pages; I’m using the ARIA Best Practices document at:
    http://www.w3.org/WAI/PF/aria-practices/

    In the most recent version of FF4, with either Jaws or NVDA running, this page causes the Mozilla Crash Reporter to come up immediately each time the page is visited.

    In FF3.6, the page comes up and is readable, but Jaws12 (12.0.1158) gives an error message when trying to view a headings list (jawKey+f6) – “no headings found”. However, the links list comes up immediately, and I can move among headings with “h” and “shift+h” keys.

    Internet Explorer with Jaws shows no such behavior; headings list works just fine on this page.

    Thanx for all your work on Mozilla Accessibility; it makes a huge difference in many people’s lives!

    – Rich

  9. Marco says:

    Rich, thanks for reporting this to us. I’m happy to be able to tell you that this bug, Bug 629114, is already fixed for the soon-to-be-released Firefox 5.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>