Dojo Toolkit Accessibility Final Report
Work Plan and Deliverables
- 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.
- 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.
- 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.
- Ensure compatibility of each widget with high contrast accessibility themes provided by desktop environments.
- Document the proper use of Dojo widgets to ensure accessibility. The documentation of Dojo accessibilility will be included in the main Dojo widget documentation.
- The ATRC will work with the community to encourage understanding and the best use of resources.
- Investigate creating a key/focus event handling framework within Dojo similar to the Dojo event framework.
- 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:
- Rich text editor: this is a particularly important widget to make accessible. It currently uses a toolbar widget to select text styles and attributes. When using the keyboard there are issues on the web with making a text selection in the editing area and interacting with a toolbar or menu to format the selected text. One solution is to provide a floating toolbar - the final solution needs to be proposed and implemented.
| Rich text editor is accessible, ATRC made the toolbar component accessible. |
- Grid widgets: these will require fairly substantial modifications to add accessibility support. There is a version that IBM has created using Dojo for Workplace Designer that will have to be made accessible (although they could chose to NOT use ARIA and full keyboard (arrow key navigation) support.. If it gets updated with full accessibility AND contributed back to Dojo, then there may be no additional work here.
| Grid is being made accessible, but ATRC hasn't been involved yet. Grid became available very recently. |
- Drag and drop via keyboard: current thinking is to use a dynamic context menu to perform the operation
| In working towards Dojo 1.0, Drag and Drop came to be seen as a per-widget concern and no generic drag and drop accessibility work was worked on. However, this may be revisited. |
- Geo mapping widgets: need to be investigated; they present a significant accessibility challenge. Because of the difficulty involved, these may be left out of the deliverables for this grant, although it would be preferable not to..
| No work was done. ATRC is not aware of any existing dojo geo mapping widget. |
- Specific widgets: Menu, Button/ComboButton, ComboBox, Spinner, Slider, Progress Bar, Input with Validation, Popup Container/tooltip, Toolbar, Date Picker, Time Picker, Fisheye menu, Slide Show, Clock
| All widgets mentioned above were made accessible except Fisheye menu, Slide Show, and Clock, which were not ported from Dojo 0.4 to Dijit. |
- Other new widgets are continually being added.
| All Dijit widgets were made accessible with significant ATRC involvement. |
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.
- Convenience widgets for AJAX live region use cases, such as event/chat logs, buddy lists, tickers, stat sheets, status bars, etc. which conveniently build in useful accessibility information
- Accessible charts and diagrams
- Accessibility for geographical maps such as Google or Yahoo! mapping widgets, if not already addressed.
- Widget extensibility -- make it as easy as possible for the developers of new Dojo widgets to do the right thing.
- Date type hints for optimized alternative input in entry fields (OSK, cell phone, voice input)
- Better integration with FOSS assistive technologies
| 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.