Accessibility Tools Framework (ACTF)

Introduction

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.

Background

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)[1] is developing an Accessible Rich Internet Application (ARIA) suite[2] 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)[3] 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[4] 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.

Project Goal

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[5]aDesigner[6] and Rules-based Accessibility Validation Environment (RAVEN)[7] technologies with significant additions. This Eclipse project would replace these technologies with an open-source solution partially based on components from these technologies.

Project Description

Accessibility Tools Framework (ACTF) overview

The ACTF will include the following components and exemplary
implementations:

Validation part

Validation manager

Manage validation rules and configure the validation engine
based on target content or application and validation purpose.

Extensible validation engine and validation rules

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.

Presentation part

Visualization engine

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.

Report generator

Provide various kinds of reports based on validation results, visualization results, data models, and events.

Text-to-Speech service

Provide interface to use TTS from the framework. (Currently, we support SAPI.)

Infrastructure part

Model service

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.

Repository service

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.

MSAA/IAccessible2 tool

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.

Design

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.

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.

Infrastructure
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 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.

Development Plan

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.