Accessibility Tools Framework (ACTF)
The Accessibility Tools Framework (ACTF) is a proposed open source project to be incubated within the Eclipse Technology Project. This document describes the content and the scope of the proposed project.
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process document) and to declare its intent and scope. The proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment on and/or join the project. Please send all feedback to the http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.actf newsgroup.
Assistive technologies help make applications and content accessible to people with disabilities. To accomplish this goal, accessibility standardization activities have been actively performed in various areas, and many institutions and organizations are introducing new criteria for assessing accessibility.
For example, to make Rich Internet Applications (RIAs) accessible, the World Wide Web Consortium (W3C) Web Accessibility Initiative (WAI) is developing an Accessible Rich Internet Application (ARIA) suite to help developers make Rich Internet Applications (RIAs) accessible through assistive technologies within Web browsers. To make office documents accessible, the Organization for the Advancement of Structured Information Standards (OASIS) has recently completed accessibility enhancements in version 1.1 of the Open Document Format (ODF). IAccessible2, the new accessibility API contributed by IBM, is currently being standardized by the Free Standards Group Accessibility workgroup to make screen readers fully capable of rendering content based upon accessibility standards for documents and applications.
One of the new problems in adopting these standards is the lack of tool support. In order to create documents and applications that are compliant with existing and emerging standards or sets of guidelines, tools for accessibility check and evaluation are needed to reduce the burdens on document authors and application/content developers. For the traditional HTML-based Web content, various accessibility checking tools have been developed resulting in a rich accessibility tools market.
Currently, sufficient tools do not exist for new standards and for non-Web rich-client applications and content. This problem may cause delays in the global adoption and use of these new standards.
The ACTF will provide an extensible framework and exemplary accessibility tools. The framework will allow users/developers to build and use various types of accessibility tools, such as compliance validation tools, assistive technology simulation tools, usability visualization tools, unit-testing tools, alternative interfaces for people with disabilities, and so on. These tools will be integrated into a single tooling environment on top of the Eclipse framework, and collaborate with each other to provide a comprehensive development environment. The framework will also include various types of middleware components for building accessibility-related tools as plugins.
The features included in this proposed project include those currently available through the alphaWorks aDesigner and Rules-based Accessibility Validation Environment (RAVEN) technologies with significant additions. This Eclipse project would replace these technologies with an open-source solution partially based on components from these technologies.
Accessibility Tools Framework (ACTF) overview
The ACTF will include the following components and exemplary implementations:
- Manage validation rules and configure the validation engine based on target content or application and validation purpose.
Extensible validation engine and validation rules
- Validate accessibility of HTML, OpenDocument Format (ODF), Flash, Microsoft Active Accessibility (MSAA), IAccessible2, and Java applications
- Developers or users can create or customize validation rules by using sources such as XML documents and similar configuration files.
- Developers can also extend the validation logic by using Java APIs.
Blind usability visualization engine
- Provide a visual representation of the blind users' usability of content by using reaching time estimation, accessibility error highlighting, and similar techniques. These methods help authors to quickly grasp accessibility and usability problems with their webpages.
Image simulation engine
- Simulate the vision of people with weak eyesight, color vision deficiencies, or cataracts.
- Simulate how presentations will appear to audiences under various conditions, such as in small meeting rooms, in auditoriums, etc. Authors can confirm whether or not an audience can read the text and/or see the figures of their presentations.
- Provide various kinds of reports based on validation results, visualization results, data models, and events.
- Offer reusable components that will be useful to create accessibility tools, e.g. report viewers, properties viewers, DOM inspector viewers, and so on.
Alternative interface part
Alternative UI transformer
- Support improving the navigating and operating environments by using external metadata without changing the existing applications or content.
Audio description & caption service
- Provide audio descriptions and captions to multimedia content by using text metadata.
- Make multimedia content controllable with unified shortcut keys even if the content does not support keyboard operations.
- Allow independent adjustment of each sound source (with separate sound levels for screen reading software and for streaming video).
- Provide interface to use TTS from the framework. (Currently, we support SAPI.)
- Provide access to the runtime properties of the GUI components and document elements as well as to the accessibility information from applications running outside of the Eclipse platform. This will be done through the accessibility APIs, such as MSAA, IAccessible2 and the Java Accessibility API.
- Provide access to the object models of multimedia content, such as Flash.
- By using this bridging service, application developers can easily test their application's accessibility (i.e. the implementations of their accessibility APIs) in the framework.
Model service (Editor Extension)
- Provide typical application plugins as Editor Extensions for targets such as a Firefox plugin, an Internet Explorer plugin for Web content, and an OpenOffice.org plugin for ODF.
- Provide a uniform interface to access these applications from the framework. This will include several UI control methods for validation and simulation.
- Permit reports to persist on media such as JDBC-driven databases and in file systems.
Example implementation of tools
Accessibility check and visualization tool for HTML/ODF
- This tool allows users to ensure that the content they create is accessible to individuals who are blind or visually impaired.
- By using the visualization and simulation functions of ACTF, authors will understand how low vision or blind users experience the content.
- This tool allows users to confirm and check the accessibility information of applications via accessibility APIs such as MSAA or IAccessible2.
- This will make the accessibility information visible by using an object hierarchy view, a property view, and an event view. This tool will also provide quick validation, error visualization, and screen reader simulation functions.
Example implementation of alternative interface runtimes
Alternative interface implementation for multimedia content
- This will include a metadata-based accessible browser for Web content. Users can customize the behavior of existing Web content by using metadata.
- This will allow users to control multimedia content embedded in the Web. Users can play, pause, resume, and stop the embedded video by using unified shortcut keys. Users can also adjust the volume of an individual source to identify and listen to different sound sources without losing track of the screen-reading software because of the soundtrack of a video.
Alternative interface implementation for ODF
- Alternative interface for ODF documents. This will analyze the visual structure of presentation documents and create an optimized simple interface for screen reader users.
- Eclipse Platform 3.2+
- J2SE 5.0+
- AspectJ Weaver/Runtime v1.5.2: Eclipse Public License
- Commons-Configuration, Commons-BeanUtils: Apache Software License v2.0
- Bean Scripting Framework (BSF) v2.3.0: Apache Software License v2.0
- Eclipse ATF Mozilla Browser widget v0.2.0: Eclipse Public License
- Java XPCOM v1.8.2: Mozilla Public License
Accessibility Tools Framework (ACTF) System Architecture
Main components and key interfaces:
- Mediator: Provide useful functions to manage components and dataflows in the framework by collaborating with the Eclipse framework.
- Model service: Support access to runtime properties of GUI components or document elements as well as to accessibility information from standard applications running within or outside of the Eclipse platform. The framework will include typical application plugins as editor extensions, such as Internet Explorer and/or Firefox plugins for Web content and an OpenOffice.org plugin for ODF. Each component of this service will implement a common interface IModelService. Other components in the framework can access model services by using this interface.
- Validation engine: The framework will provide an extensible accessibility validator. Developers/users can customize the validation rules by using XML configuration files or through APIs. Developers also can extend the validation engine by using the interfaces and APIs provided in the framework. For example, Developers could add additional bridges or sources services. Other components in the framework could access validation engines through mediators by using the IValidator interface.
- Visualization engine: Provide the basic functions to visualize and simulate the accessibility/usability for people with disabilities. Visualization engines will implement a common interface, IVisualizer.
- Report generator: Provide various kinds of reports based on validation results, visualization results, data models, events, and so on.
- View: Offer reusable UI components that are useful to create accessibility tools, e.g. report viewers, DOM inspectors, and so on.
- Text-to-Speech service: Allow developers to use TTS engines by using unified interface IVoice from the framework.
IBM will make an initial code contribution that will encompass the core functionality for the ACTF project including:
- Extensible accessibility validation engine
An extensible accessibility validation engine with support for HTML, OpenDocument Format (ODF), Flash, Java Swing, Eclipse SWT, and accessibility APIs such as Microsoft Active Accessibility (MSAA) and IAccessible2. Developers/users can customize validation rules by using XML configuration files or through APIs.
- Blind visualization engine
Visualizes the blind users' usability for the content by using reaching time estimation, accessibility error highlighting, etc. It helps authors to quickly understand the accessibility and usability of their pages.
- Image simulation engine
Simulates the views of people with weak eyesight, color vision deficiencies, or cataracts. It also simulates how presentations will appear to audiences in various situations, such as in a small meeting room, in an auditorium, etc.
The framework will also include various types of middleware for building tool plugins, such as a mediator, a model service and a repository service.
- Alternative interface implementation for ODF documents
Analyzes the visual structure of presentation documents and creates an optimized simple interface for screen reader users.
- Alternative interface implementation for multimedia content
Allows screen reader users to control embedded multimedia content, with commands to play, stop, or control the volume for streaming video, by simply using predefined shortcut keys. Users can customize the behavior of existing Web content by using metadata. This also adds audio descriptions for Internet movies based on a simple text script.
Note: This is a tentative plan. We need more discussion.
- 3Q 2007:
- Process input from community to enhance functionality and documentation.
- Enhancements currently under consideration include:
- Refinement of APIs for embedded runtimes.
- Support for additional runtimes, such as IBM Productivity Tools.
- Support for W3C WCAG 2.0.
- Initial prototype version will be available.
- Exemplary implementation (MSAA/IAccessible2 tool) on top of ACTF.
- 4Q 2007:
- Projected first release, which will include some of the components and exemplary tools/runtimes mentioned in previous sections.
- Future plans
- Enhancing W3C WAI-ARIA-related functions.
- Linux support
- Expand supported runtimes
- Web crawler support
- JDBC support for repositories
- Ed Merks, IBM (firstname.lastname@example.org)
- Naci Dai, Eteration (email@example.com)
Proposed project leaders
The project leaders will initially be the following people:
- Chieko Asakawa, IBM (firstname.lastname@example.org), Co-Lead
- Mike Paciello, The Paciello Group, (email@example.com), Co-Lead
The following parties have expressed interest in extending the platform and contributing ideas, guidance, and discussion. Key contacts listed.
- Actuate Corporation, US (Dan Melcher)
- Adobe Systems Incorporated, US (Andrew Kirkpatrick)
- BIRT Project, Eclipse Foundation (Paul Clenahan)
- BrailleNet, France (Dominique Burger)
- Center for Mathematics and Computer Science, Netherlands (Zeljko Obrenovic)
- IBM Corporation, US (Chieko Asakawa)
- International Webmasters Association/HTML Writers Guild (IWA/HWG), US (Roberto Scano)
- Japan Braille Library, Japan (Tetsuji Tanaka)
- Mozilla foundation, US (Frank Hecker)
- Royal National Institute of Blind People (RNIB), UK (Henny Swan)
- SAP AG, Germany (Michael Bernhardt)
- SAS Institute Inc., US (Lisa Pappas)
- SIG-Universal Access to the Internet (UAI), Internet Technology Research Committee (ITRC), Japan (Takayuki Watanabe)
- State University of New York at Stony Brook, US (I.V. Ramakrishnan)
- The Carroll Center for the Blind, US (Brian Charlson)
- The Paciello Group, US (Mike Paciello)
- Technosite (ONCE Foundation), Spain (Alan Chuter)
- Tokyo Institute of Technology, Japan (Ken Wakita)
- University of Manchester, UK (Simon Harper)
- University of Toronto, Canada (Jutta Treviranus)
- University of Washington, US (Jeffrey Bigham)
- Vision Australia, Australia (Andrew Arch)
- Web Accessibility Tools Consortium (WAT-C), (Makoto Ueki)
- Kentarou Fukuda, IBM (firstname.lastname@example.org)
- Mike Squillace, IBM (email@example.com)
- Hironobu Takagi, IBM (firstname.lastname@example.org)
- Hisashi Miyashita, IBM (email@example.com)
- Takashi Itoh, IBM (JL03313@jp.ibm.com)
- Bill Carter, IBM (firstname.lastname@example.org)
- Steve Faulkner, The Paciello Group (email@example.com)
- Will Pearson, The Paciello Group (firstname.lastname@example.org)
- Zeljko Obrenovic, Center for Mathematics and Computer Science (Zeljko.Obrenovic@cwi.nl)
- Roberto Scano, IWA/HWG (email@example.com)
- I.V. Ramakrishnan, State University of New York at Stony Brook (firstname.lastname@example.org)
- Simon Harper, University of Manchester (Simon.Harper@manchester.ac.uk)
- David Bolter, University of Toronto (email@example.com)
- Simon Bates, University of Toronto (firstname.lastname@example.org)
- Jeffrey Bigham, University of Washington (email@example.com)
- Makoto Ueki, WAT-C (firstname.lastname@example.org)
- : World Wide Web Consortium (W3C) Web Accessibility Initiative (WAI), http://www.w3.org/WAI/
- : Accessible Rich Internet Application (ARIA) Roadmap, http://www.w3.org/TR/aria-roadmap/
- : Organization for the Advancement of Structured Information Standards (OASIS), http://www.oasis-open.org/
- : Free Standards Group Accessibility workgroup, http://www.linux-foundation.org/en/Accessibility
- : IBM alphaWorks, http://www.alphaworks.ibm.com/
- : aDesigner, http://www.alphaworks.ibm.com/tech/adesigner
- : IBM Rules-based Accessibility Validation Environment (RAVEN), http://www.alphaworks.ibm.com/tech/raven