IMS Guidelines for Developing
Accessible Learning Applications

version 1.0 white paper

| WGBH | NCAM | SALT PROJECT | IMS GLOBAL LEARNING CONSORTIUM |

8. Guidelines for Developing Accessible Interfaces and Interactive Environments

Interactivity in online learning is the real power behind the medium. Compared to a passive text, a well-designed and highly interactive online lesson offers clear advantages in flexible content delivery as well as assessment.

Developers who create accessible interfaces, simulation and interactive exercises for mainstream computer environments face considerable challenges in making their applications accessible.

The following section offers accessibility guidelines for developers of applications delivered via the web, as well on platforms for assistive technology is not available, such as DVDs and kiosks.

Section 3 of this document "Principles for Accessibility in Online Distributed Learning", presents some general principles to guide developers when creating accessible e-learning software, applications, and content.

Section 5, "Guidelines for Accessible Delivery of Text, Audio, Images, and Multimedia" presents guidelines for creating accessible multimedia presentations.

This section provides additional information beyond that supplied in section 3. However, it does not address specific accessibility issues of operating systems or programming languages. Subsection 8.7 lists resources that support specific development environments.

A comprehensive guide to application software accessibility, Application Software Design Guidelines, is available from the Trace Center.

8.1 Interface Controls

When designing an interface, developers should consider compatibility. It is important to understand how people with disabilities actually use their assistive technologies (AT) and how those technologies integrate with software and underlying operating systems. Course designers, educators, and students all need to use the interface of a learning application, including buttons, text fields, text field labels, menus, and other components.

Common interface control accessibility problems include:
Learning system developers may enhance the accessibility of interface controls for all users by following these practices:

8.2 Navigating the Interface

Many users of ATs encounter difficulty trying to use features normally accessed only by a mouse. Making the interface overly mouse dependant will surely cause difficulties for AT users, especially when navigating through content and other elements such as menu bars, tables of contents, and frames.

Common interface navigation accessibility problems include:
Learning system developers may enhance the accessibility of interface navigation for all users by following these practices:

8.3 Forms

Forms must follow interface control guidelines in general. But when a large number of interface elements are displayed together in a single form, problems can arise that require other solutions.

Common form accessibility problems include:
Learning system developers may enhance the accessibility of forms for all users by following these practices:
Content creators or educators may enhance the accessibility of forms for all users by following these practices:

8.4 Interactive Exercises: Drag-and-Drop Exercises, Simulations, and Timed Tests

When designing complex interactive activities, developers should take care that interfaces remain independent of the input and output requirements of different users. For example, drag-and-drop activities should be usable with either mouse or keyboard, and keyboard commands should be made as easy to execute as possible.

Also consider the manner in which information is displayed. Simulations can be made accessible by allowing for multi-modal output. For example, in an computer-simulated chemistry experiment shows its results by changing the color of the liquid in an image from colorless to blue, be sure that the same information is available in text presented nearby or in a text tag associated with the image. Finally, remember that some users may respond more slowly than average to on-screen prompts, or may use an assistive technology (AT) that slows down their rate of response. To accommodate this difference, always allow the user to customize timing requirements.

Common interactive accessibility problems include:
Learning system developers may enhance the accessibility of interactive exercises for all users by following these practices:
Content creators or educators may enhance the accessibility of interactive exercises for all users by following these practices:
Resources:

8.5 Interactive Tutorials

Interactive tutorials present images of a software application in action are combined with audio or text narration, in order to teach users how to use that software. While adhering to interface guidelines, developers must also be sure to provide information in multiple modalities in order to meet the needs of all users. It is also important to remember that different users will need to know how to operate the software in different ways, depending on their accessibility needs.

Common interactive tutorial accessibility problems include:
Learning system developers may enhance the accessibility of interactive tutorials for all users by following these practices:
Content creators or educators may enhance the accessibility of interactive tutorials for all users by following these practices:

8.6 DVDs, Consumer Electronics, and Handheld Devices

Learning tools not available on computers may also present accessibility issues. Other solutions, for set-top boxes such as digital cable, are in development. Access techniques for devices such as handheld devices or personal digital assistants, require research. Accessibility techniques for these devices will inevitably be different than those provided for mainstream computer applications since assistive technology is not currently available on these platforms.

Common DVD, consumer electronic and handheld device accessibility problems include:
Technology developers may enhance the accessibility of DVD, consumer electronic and hand held devices for all users by following these practices:
Examples and Resources:

DVD Accessibility:

Set-Top Box Accessibility:

Accessible Kiosks and Touch Screen Interface Accessibility:

8.7 Accessibility Information for Operating Systems and Development Platforms

Some techniques for creating accessible software are specific to the development environment or operating system (OS). This section provides resources for developers working on the Windows OS and Macintosh OS, for Web developers, and for Java developers.

8.7.1 Microsoft's Windows OS Accessibility

Microsoft provides detailed information on building accessible software for the Windows platform. The Microsoft Accessibility and Disabilities Group has created tools, documents, and APIs that offer ways to take advantage of access features in the operating system. These tools also suggest other ways to make software more accessible. The Microsoft Windows Guidelines for Accessible Software Design provides comprehensive guidelines for creating accessible software.

In particular, the Microsoft Active Accessibility API (MSAA) uses programmatic means to help software communicate with assistive technologies. MSAA exposes elements of the screen and presents their current state. It also exposes the focus, the active area of the screen. Using MSAA, software developers can use entirely custom graphical interfaces while still making each element known to an assistive technology that has been programmed to read this information and convey it to the user.

Resources:

8.7.2 Apple's Macintosh OS Accessibility

All Macintosh computers ship with several accessibility features already installed. These features support users with sensory or physical disabilities. Developers may want to test their products with these features activated in order to determine whether their software is operable by users requiring assistive technology. Some of these pre-installed accessibility features include:

In addition to the built-in accessibility features for the Macintosh, Apple maintains a list of Mac-based assistive technologies available from vendors outside of Apple. OutSPOKEN is the only screen reader developed for the Macintosh platform. To ensure product compatibility on the Macintosh platform, developers should test their products using outSPOKEN. Macintosh users who are blind will not be able to use educational software if the product is not compatible with this screen reader.

Apple maintains a developer website that offers an array of resources including the Macintosh Human Interface Guidelines. This document provides "authoritative information on the theory behind the Macintosh 'look and feel' and guidelines for using individual interface components. This book includes many examples of good design and explains why one implementation is superior to another."

Resources:

8.7.3 Web Accessibility

The definitive source for information on accessibility in Web technologies is the Web Access Initiative at the World Wide Web Consortium (the W3C WAI). The WAI provides recommendations for achieving accessibility using W3C technologies for Web content, authoring tools, and user agents such as browsers and media players. Information is available on W3C technologies including, XML, HTML, SMIL, CSS, and SVG.

Resource:

8.7.4 The Java Platform

The Java platform is an attractive development environment for creating accessible educational software. Java's strongest feature is the accessibility support that is built into Java's core structure. Its Swing user interface components support accessibility. They include an effective keyboard interface. The Java accessibility API, a standard extension in the Java 2 platform, enables Java-based ATs to interact effectively with mainstream applications. The Sun access team has also developed the Java Access Bridge, which allows users to run Java applications with their platform-specific ATs. The Java accessibility API also contains several properties that enable developers to fine-tune the manner in which assistive technologies present their interfaces.

Resources:

8.7.5 Other Operating Systems

A longer list of accessibility techniques for additional development environments is available from the W3C.