Dojo Toolkit Accessibility Final Report


Work Plan and Deliverables

  1. Review existing widgets for accessibility and file bugs in Dojo's bug Trac system for widgets which are not compliant. Issues revolve around keyboard support, support in high contrast / images off mode, and support for ARIA. Currently only checkbox, tab panel, and tree have ARIA support. If keyboard support is lacking, include proposed keyboard behavior within the Trac ticket.
  2. Ensure full keyboard navigation in all Dojo widgets. The keyboard navigation will be as close to the keyboard navigation of desktop widgets on Linux and Windows as realistically possible, without creating conflicts with web browser clients. This work may be informed by keyboard documentation provided by various vendors as well as Mozilla's Accessible Toolkit Checklist.
  3. Ensure the use of semantic ARIA markup to all Dojo widgets, and ensure that the proper DOM attributes change as properties within the widgets change. The ATRC will verify using a variety of accessibility tools and assistive technologies that the correct accessibility objects and events are created, and that they are accessible and usable for end users.
  4. Ensure compatibility of each widget with high contrast accessibility themes provided by desktop environments.
  5. Document the proper use of Dojo widgets to ensure accessibility. The documentation of Dojo accessibilility will be included in the main Dojo widget documentation.
  6. The ATRC will work with the community to encourage understanding and the best use of resources.
  7. Investigate creating a key/focus event handling framework within Dojo similar to the Dojo event framework.
  8. Keep up with community developments and either a) prevent inaccessible new widgets from going into the source tree, b) help well-intentioned developers add accessibility after the are checked in, or c) simply add accessibility to the new widgets.

All items from 1 through 8 were completed.
ATRC fixed 99 bugs and otherwise resolved another 13 bugs; 36 accessibility-related bugs remain open, almost all of which are assigned to other people for action.
The ATRC caught and reported approximately 90 bugs.
With respect to item 7: we normalized keyboard based "click" handling for Dojo widgets (dijits).
With respect to item 8: While a, b, and c, are all useful, the prevention of inaccessible new widgets from going into the source tree is the ideal. We have begun and would like to continue as part of the proposed work, to create an integrated automated UI test harness that can potentially be hooked into svn commits and the Trac ticketing system.

Here are some of the specific areas which are known to require significant work:


Success Criteria

The project will be considered a success when all correctly used widgets in the base Dojo toolkit are accessible with the keyboard and at least one screen reader, one screen magnifier and one alternative input AT. The work should be completed for Dojo 1.0, which is currently scheduled to be released in Q4 2007, but allowances will be made if follow-up work needs to be done after Dojo 1.0 to complete the deliverables.


All Dojo 1.0 core widgets (Dijit) are fully accessible via keyboard, ARIA, as well as in High Contrast mode.
We have tested Dijit with JAWS and Window-Eyes windows screen readers, the Microsoft accessibility checker tools, and Accerciser on Linux. We will use remaining funds to test with a screen magnifier and an alternative input AT.

Summary

The ATRC will advance the state of the art for web accessibility, by enhancing Dojo, an open source Javascript widget toolkit. This makes Web 2.0 accessibility as inituitve as possible, by directly building in support for keyboard navigation and ARIA markup, rather than require that web developers deal with the details of those technologies directly.


The ATRC has, in collaboration with other key members of the Dojo community ensured that Web 2.0 developers will have a strong accessible foundation in the dojo toolkit from which to build rich inclusive experiences over the web.

Use of Extra Time and Future Work

If extra time remains in the grant, here are additional desirable deliverables which depend on an accessible Dojo base. Depending on the progress made in the first year of the grant, these items may be delievered within this first grant, or possibly through grant extensions.


With respect to "Widget extensibility", the ATRC created a keyboard navigable container widget (KeyNavContainer) which will allow the development of keyboard navigable toolbars, and other widgets to come.
With respect to "Better integration with FOSS assistive technologies", the ATRC helped triage and resolve issues involving Firefox, Orca, and GOK.

The ATRC, University of Toronto

The ATRC is a centre of expertise on inclusive design of information systems. The ATRC conducts proactive research and development to ensure that emerging information technologies accommodate the full range of human diversity including culture, language, age, and ability. The ATRC's influential role nationally and internationally has been recognized in numerous awards including the American Foundation for the Blind Access Award (1998), the Trophee de Libre for Open Source Development, and the Dr. Dayton M. Forman Memorial Award. The CNIB has dubbed the ATRC "a national treasure." Through a large number of multi-partner projects, the ATRC has formed an extensive international network of consumer organizations, research centres, and corporations concerned with inclusive design of information systems and practice.

The centre is engaged in an average of 18 research and development projects at any one time. It also conducts extensive education and outreach activities regarding inclusive design. Experts at the centre have helped to create policy, standards and exemplars in a broad range of domains including education, banking, public Web sites, edemocracy, and cultural exchange.

For more information, please see the ATRC Research and Development page.