Making the Firefox developer tools accessible

In the first quarter of 2016, Yura, who is part of the accessibility team at Mozilla, and I are starting on a journey to make the firefox developer tools accessible. The majority of the tools are currently a very mouse-driven environment, and our goal is to make them equally accessible for keyboard users and those using assistive technologies such as screen readers. This blog post marks the beginning of that journey. Continue reading “Making the Firefox developer tools accessible”

Accessibility features in Firefox for iOS

After ten months in development, Mozilla today released Firefox for iOS worldwide. Firefox for iOS is bringing your synchronized bookmarks, history and other information associated with your Firefox account to the iOS platform. Moreover, it is also going to record pages you visit in your history and sync these back to your Firefox on Windows, Linux, Mac, and even Android devices.

From the start, we also made sure that Firefox for iOS supports multiple features of the iOS platform. Here are some highlights:


Firefox for iOS supports VoiceOver. Since Apple’s app store rules force us to use the Safari rendering engine, that is accessible anyway. But we also made sure the browser’s UI, Settings views and other features all talk well with VoiceOver. Moreover, we also implemented audio cues to indicate page load progress and finish. Those of you using NVDA might feel a certain familiarity with these sounds. 😉

We are also taking advantage of the iOS 8 feature of custom actions in various places. So when you start to learn Firefox for iOS, make sure to turn on VoiceOver hints so you get notified when custom actions are available.

Some things we did not get to yet, but which are on our list of things to do are:

System font

We respect the system font setting in the UI. The web site could, of course, still set its own fonts, but all the accessibility settings pertaining to the Web View will work as they do in Safari.

Bold text setting

The Bold Text accessibility setting is respected. You can expect the UI to respond to changing this setting in your iOS system settings.

Switch control

Like VoiceOver, switch control should work in the browser UI. We also tried to always make sure that switch control cannot go to any hidden controls or the like that are not really actionable at a given time.

Some known issues

Where to get it?

Firefox for iOS is freely available on the iOS App Store. It runs on iOS 8 and later.

Improvements in accessibility for Mac OS X in Firefox 41

During a big Mozilla event in June in beautiful Whistler, British Columbia, Canada, a few team mates, contributors and I had the chance to work on some improvements to what Firefox exposes to VoiceOver on the Mac OS X operating system. These improvements will be in Firefox version 41, currently in beta, which will be out in September.


Semantics for HTML tables have not been exposed to VoiceOver at all so far. This is changing in Firefox 41. Modeled after what Webkit exposes, table structures are now exposed including headers, row and column counts, and VoiceOver navigation among cells is also possible. Thanks to Frédéric for doing the heavy-lifting on this one! 🙂

Various more element roles

In a cumulative patch, I rolled out improvements and additions to what roles, subroles, and roleDescriptions are exposed for various HTML and WAI-ARIA roles. Some of them were already there, but wrong, and others hadn’t been present at all yet. All of these are modeled after what Webkit exposes. And since none of this is properly documented anywhere, the only way to get at this information is to read Webkit’s source code. 🙂

You can expect to see better exposure for things like alert, alertdialog, ARIA grid-related roles, and other elements and widgets that weren’t quite right yet.


Frédéric did a lot of work to properly expose MathML elements in an accessible form for OS X in this release. His over-all MathML project for Gecko encompasses more than just OS X. He documents it on his blog in part 1 and part 2 here. This project is still on-going.

In the case of OS X support, we should be close to, if not identical, to what Safari exposes to VoiceOver. So hopefully, reading MathML in Firefox with VoiceOver gives the same information as VoiceOver would give in Safari. Note that we have no control over what VoiceOver actually speaks, we can only control what we expose.

If you’re more interested in the progress on the MathML support, I suggest you follow Frédéric’s blog as he progresses through his project with us.

So, are we done yet?

Unfortunately not. Especially one remaining big bug is that we still don’t handle Apple’s rather complicated text interface right. The consequence is that typing into fields works, but re-reading what you typed doesn’t. We do have some text-related exposure, but that is either wrong, outdated, or doesn’t work for some other reason. Unfortunately, we’re still tight on resources. So if anyone wants to step up and contribute a patch for this, she or he is more than welcome to do so! Here’s the bug!

But there are other things that still prevent me (and probably most others) from using Firefox for Mac on a daily basis with VoiceOver. One is a really annoying one. Even though we did have a patch for it, the event we’re firing still doesn’t tell VoiceOver that a page finished loading.

But there’s more. We still are slower than I’d like us to be, especially on busy pages. And we don’t expose any WAI-ARIA live region stuff yet, including in alerts (which at least now have correct roles and subroles). So if you have free time to contribute and would like help out on any of these, please get in touch, and we can take it from there!

In conclusion

The stuff that made it into Firefox 41 is a big step forward. We made that room to improve just that bit smaller! Yay! There’s still a lot of it left, though. But at least some progress was made. If you feel brave and want to test this in Firefox 41 and above when it comes out as a release, feedback is always welcome. I cannot promise when we can actually act on it, but we’ll at least get it recorded and on our radar. So keep the feedback coming, as always!