Mozilla and Firefox are gradually becoming a core part of the future of web accessibility, where the open source license is a huge advantage. The Firefox accessibility effort has now truly achieved ignition, not only with base accessibility support in Firefox, but also by leading the future of accessibility for dynamic web applications. The collaborative nature of open source is impacting the future of both web and desktop accessibility standards, and bringing people together in an effort to go beyond the status quo. In this recent article, Aaron Leventhal discusses the exciting past and present of Mozilla accessibility, including the grant program. Since it was written, the community had a chance to meet up and plan the next year of work -- at the Mozilla Accessibility Developer Summit. See blogs posts on the summit by Mark Pilgrim, Steve Lee and Shane Anderson.
Introduction
It was six years ago, in 2000, when I began working on Mozilla accessibility. Back then, Firefox didn't exist. Mozilla's browser shipped as part of an application suite along with an e-mail program, an HTML editor, and an address book. The entire suite was called Mozilla Seamonkey, although for business purposes there was a variation called Netscape 6. By either name, the software was regarded as clunky and overly complex, even by true believers. Mozilla had a tiny market share for years and was not highly regarded by either users or decision makers.
But Mozilla had true believers, and I was one of them. What kept the true believers going during those hard times? It was the profound fact that in the open model of development, any person or organization can make an impact. People from all walks of life came together to plan the future of the Web. Mozilla development wasn't owned by any one person. It just happened that Netscape employed most of the developers who worked on it. In fact nothing -- not even a massive layoff of the Netscape developers -- could derail the continued development of Mozilla.
Astonishingly, Netscape's big layoff ("Black Tuesday") actually made the Mozilla project stronger. The core group of the most passionate developers started to grow, month by month. And these individuals found themselves with a wide open opportunity to change the future of the Web. Some were motivated by technology and standards, while others were motivated to make the Web work better for ordinary people.
Then in early 2004, Richard Schwerdtfeger, an accessibility strategist for IBM Software Group, told me that Mozilla accessibility was crucial. He invited me to join his newly-formed accessibility architecture team. The team's purpose was, and still is, to build accessibility into evolving application platforms such as Linux and the Web.
Meanwhile, a small group of dedicated software developers was rapidly creating a completely fresh user interface for Mozilla. These developers kept the underlying Mozilla technologies, but made "a small, fast browser" -- just what people had been clamoring for. When Firefox came out in November 2004 everything changed. It took off like a rocket, becoming the one of the most successful open-source projects in history. And when Firefox 1.5 was released in November 2005, it was the first major open-source application to really make a splash with accessibility for users. The National Federation of the Blind (NFB) wrote in its periodical Voice of the Nation's Blind, "Users finally have an option." The NFB has continued to support the work by posting an interview and an overview of Mozilla's CSUN conference activities. Firefox was also the first Web browser to have a solution for making dynamic Web content accessible.
IBM's Involvement
As profound a concept as open source is, negative reactions to it exist. Some people say that it's just hype or religion, and it's too idealistic to work. They ask, where's the angle for IBM? Why put any money into it, when it can't be sold? It's a good question with a great answer. IBM has the following business strategies:
- To have a Web browser available on desktops around the world that can handle powerful, accessible Web applications.
- To sell the developer tools and middleware that deliver these Web applications.
- To host some of these powerful Web applications.
- To sell services that help clients develop Web applications.
- To offer solutions that are operating system neutral to meet clients' needs.
In the end, the solution must be standards-based and ready to evolve. It must also be accessible and usable by people with disabilities; that's top priority.
Developing a Web browser from scratch would have been difficult and expensive for IBM. Instead, IBM had the foresight to embrace open source technology and invest resources in it. By helping build support for Web standards in the open source community, they push other browser manufacturers to follow suit.
Desktop "Look And Feel" on the Web
When IBM started working on Firefox, we knew that DHTML or JavaScript Web applications were popular and important. They provided the opportunity to circumvent the limitations of HTML, allowing Web developers to create more exciting Web applications with simulated desktop widgets like mouse-over menus, calendars, and expandable outline views. These simulated widgets were better for mouse users already, but could not yet be made accessible. By contributing code to Mozilla, working with screen reader vendors, and working with the W3C, we were able to develop methods that enabled accessibility for those widgets. The simulated widgets could now be made to act just like their desktop counterparts, which users already knew how to operate with a mouse, a keyboard, or with an assistive technology such as a screen reader. This was important, because Web users were ready to embrace something more interactive than "static" Web pages and documents — as long as those new Web applications worked in a way that was similar to what they were already using.
The IBM approach of working to create accessible widgets has been successful because content providers have started working with the new technology. Content providers can actually save money with the new technique because they no longer have to develop a separate, more basic version of their content and ask people with disabilities to use that version. Because these alternative versions have a history of lagging behind the mainstream versions, content providers have been accused of providing separate and unequal access. Creating the same version of content for all users avoids both criticism and additional cost.
The AJAX Revolution
In fact, the problem of dynamic content accessibility is coming up more frequently as vendors strive to keep up with users' expectations that Web sites react near-instantaneously to their requests. In order to fulfill these expectations, Web authors are turning to an old Web development technique with a new name: AJAX. Short for Asynchronous JavaScript and XML, AJAX has recently become a popular tool among developers for creating interactive Web applications. Its intent is to make Web pages feel more responsive by exchanging data with the server behind the scenes, so that the entire Web page does not have to be reloaded each time the user makes a change. This is meant to increase the Web page's interactivity, speed, and usability.
No one predicted the huge AJAX buzz. Suddenly, everyone wants to use AJAX. With AJAX, regions on the screen can change at any time, providing the user with exciting real-time results. Applications such as Gmail and Google Maps are more compelling than their predecessors. More applications are being developed using AJAX, but it has major accessibility issues.
Another name associated with the next generation of collaborative applications is Web 2.0. Web 2.0 does not refer to a single technology but is actually an umbrella term referring to Web sites built with combinations of technologies, including AJAX, mashups, RSS feeds, tagged content (folksonomies), wikis and blogs. However, no matter what the backing technology is called, these new applications do not incorporate the accessibility features available in static Web pages today. And, the end result is inaccessible Web sites.
Screen readers are a good example of how AJAX has changed the landscape. Screen readers can handle the accessible Firefox widgets and UI. However, they are not designed to handle the AJAX-based live changes in Web pages that sighted users have no problem understanding. Furthermore, text-to-speech users would be overwhelmed if all of the live changes were spoken at once. Each changing element may have a role to play, but each needs to wait until an appropriate moment to be spoken. Each region's message can have a politeness level that indicates when it will be spoken: immediately, at the end of the queue, at the start of the queue, or not at all.
We are fortunate that the W3C instituted a working group in which IBM and other members can create solutions for these problems. This group is on the forefront of AJAX accessibility, modeling Web applications with multiple live regions. Modeling AJAX accessibility is difficult, but important work. On the one hand, we don't want to annoy screen-reader users with constant voice prompts telling them something they don't care about. On the other hand, there is the danger of telling screen-reader users too little, causing them to miss important information. In addition, configuration should be an option, but not a requirement, for advanced users. AJAX applications should be usable "as is". Finally, we must keep things simple enough for Web authors so that they understand how to add the necessary accessibility features.
Where We Are Now
So where does that leave us today? Dynamic Web applications can and should be made accessible. Guidelines for accessible DHTML are available today by reading the developer documentation page on the Mozilla site. On the other hand, we cannot yet claim total victory. More improvements are needed in standards, the browsers, and the assistive technologies before true accessibility can be achieved.
Web applications are just one compelling story where open source has come to lead the industry in accessibility. On a regular basis, we see a detailed exchange of ideas between professionals, students, standards experts, and end users. Community members who previously had no experience with accessibility now ask each other, "how will we make this new feature X accessible?" Developers new to accessibility, but keenly interested in it, help each other reach new levels of experience. Ultimately, our end users with disabilities are the accessibility experts. We believe that encouraging people with disabilities to partake in our open collaboration will not only yield the highest quality of accessibility in Mozilla, but also bring new levels of awareness to the open source community as a whole.
Firefox 2
Firefox 2, which was just recently released, contains enhancements for end users and developers. For end users, Firefox 2 has user interface improvements such as phishing protection, better support for Web feeds (RSS), general bug fixes, a spell checker and user interface cleanup. All of the new features have been made accessible, with the exception of inline spell checking, because of the limitations of MSAA. We'll be working to find a way around that problem in Firefox 3. For developers, Firefox 2 has improvements to dynamic content accessibility support.
New Directions for Firefox
In Firefox, this open source process continues to accelerate in a number of new directions.
Accessibility on Linux
Today, the biggest thing happening is that IBM, the Mozilla Foundation, and Sun are working together to make future versions of Firefox accessible on Linux. Currently, Firefox fully supports the Microsoft® Active Accessibility (MSAA) API. The Linux accessibility architecture is quite different. It has been challenging, but exciting, to restructure the Firefox accessibility code to support Linux. We have already accomplished a lot, but much work remains to be done before Firefox is completely accessible on Linux.
Mozilla Grant Programs
Universities, not-for-profit organizations, and individual contributors are choosing Firefox as the basis for interesting accessibility projects. Some of this is self-supported, and some is a result of accessibility grants provided by the Mozilla Foundation. The following grants are being used for a variety of projects to enhance the accessibility of Firefox:
- Accessibility on Macintosh OS X
- Accessible application development with XUL
- Accessibility for XForms
Accessibility on Mac OS X
One grant recipient is helping to implement OS X accessibility for Firefox. This project will enable compatibility with Apple's assistive technology tools such as VoiceOver.
Unfortunately for our industry, each operating system uses different accessibility APIs. This makes it incredibly expensive to develop accessible software on more than one platform. We want to make Firefox the first mainstream application to be accessible on all major operating systems: Linux, Windows, and OS X.
Accessible Application Development with XUL
Making Firefox accessible on all platforms has implications far beyond building cross platform accessible Web sites. Part of Mozilla's greatness lies in a technology called XUL (pronounced Zool), which is a dialect of XML that can drive user interfaces. While it's similar to using HTML and JavaScript, XUL has more built-in widgets and is used to develop true standalone desktop applications that are not confined within the Web browser. Software developers who use XUL usually fall in love with it because it is so flexible and easy to understand. In the past, XUL has been use in a few Mozilla projects such as Firefox and Thunderbird. This is changing. An environment called Xulrunner will allow XUL applications to run without being tied to Firefox.
XUL has great capabilities when it comes to accessibility, although as with any UI toolkit it is possible to write inaccessible XUL. WebAIM will be collaborating on a Mozilla Foundation project to add accessibility information to XUL documentation, create guidelines, and develop a XUL accessibility checking tool.
The Promise of XForms
Another grant, XForms accessibility, is important for users who have mobility issues. XForms will provide alternative input technologies with better information about the form controls in a Web page, for example whether a textbox is for a phone number, a date, or an e-mail address. When the voice-input software, onscreen keyboards, or cell phones can determine what is being entered, they can provide simple, specialized user interfaces for entering that information.
The Power of Firefox Extensions
Some accessibility work is happening in the area of extensions. Extensions are add-ons that users can install to enhance their browsing experience. For example, one extension may help a user block advertisements while another provides mouse gestures as an additional way to control the browser. Both examples were developed for mainstream users, but also may have accessibility benefits as well. Some extensions are specifically targeted to improve accessibility. For example, Fire Voxis a free extension that makes Firefox talk even without a screen reader. There is great potential for making Firefox accessible on kiosks or airplanes using something like Fire Vox. Another extension is the IBM-funded Accessibility Extensionbeing developed by the University of Illinois to facilitate accessibility testing of Web pages.
More Projects Need Owners
Many more projects and grants are possible and useful. In general, we as an industry need to push the state of the art for more types of disabilities. Specifically, we'd like to see more organizations use Firefox as a platform to improve Web browsing for users with mobility impairments or learning disabilities. Unfortunately, accessibility techniques have not evolved as quickly for these types of users.
We also want to see accessible MathML, so that documents can contain accessible equations. Another important project is to design and build accessibility support for Mozilla's SVG (Scaleable Vector Graphics). SVG could eventually be used for accessible diagrams. Together, accessible MathML and SVG would provide technical information to users with disabilities. Clearly, highly technical information is a crucial tool for users with disabilities who want to take on advanced research and employment opportunities.
Another important grant would be to develop software and a community of users who work together to help repair inaccessible Web sites. The Web site repairs could potentially be shared among a wide audience.
However, we cannot think of all the important projects. All kinds of accessibility innovations are possible in the Mozilla environment. We are interested in hearing from potential project owners.
Firefox 3
Firefox 3 is planned as the next major release, and is quite ambitious. The community has been doing a lot under the hood to make the engine smaller, faster, safer, and more adherent to Web standards. We're hoping to have full page zoom (including images) as well as support for XForms, Linux, and OS X accessibility. We will also have better support for dynamic content accessibility, including AJAX live regions. Another improvement will be a preference that allows automatic refreshes of Web pages to be controlled.
Impact on Standards and Community
In addition to Web standards, Firefox is having a positive effect on the development of desktop accessibility standards. Because Firefox developers are working with accessibility APIs on the three major platforms, we are in a unique position to provide useful feedback to the teams developing those APIs. Moving forward, Firefox developers will be playing a key role in the development of more powerful accessibility APIs in general, as well as synchronizing those APIs so the users on each platform have access to the same features.
In general, as a team we try to provide practical documentation for developers in other projects. We want to be a beacon for software accessibility, and lead by example. The benefits within the Mozilla community are already apparent. Now developers can be seen discussing accessibility in their blogs and chat sessions. A few years ago you would have never heard that. Over time, open source software may get the good reputation of being on the forefront of accessibility.
Assistive Technology Support
Assistive technology support is really our biggest challenge. We continually work with assistive technology vendors, and now have support for Window-Eyes, JAWS and Dragon Naturally Speaking. In the coming year we expect to have support for even more assistive technologies. If your favorite software tool is not yet supported well, please contact the vendor. Let them know that the Firefox team is ready to work with them.
Getting Involved
There are always new, exciting things happening, and anyone can get involved. You don't have to be a developer or even spend a lot of time to help the project. We need testing, documentation, and even just fresh input. Listening closely to the community is ultimately how we make good decisions.
Firefox is available for free download at getfirefox.com. The Mozillazine forums are a good place to receive general end user support and provide feedback. For accessibility-specific questions and feedback, you can use the mozilla.support.accessibility newsgroup and its mailing list counterpart. We'd love to hear from you.
Finally, if you have questions about Firefox development or the Mozilla grant program, feel free to contact me at aaronleventhal@moonset.net.
About the Author
Aaron Leventhal is a Web accessibility architect on the Software Group Emerging Technologies Team. He delivered accessibility in Firefox 1.5 running on Microsoft Windows, including accessibility support for DHTML and XUL applications. He is currently leading the work to make Firefox accessible on Linux, and advises the W3C Protocols and Formats committee on dynamic content accessibility. Prior to joining IBM, Aaron was the accessibility architect for Mozilla development at Netscape. He also previously worked on a Braille publishing system used by teachers, publishers, and individual Braille readers.
