Creating Accessible Computer Applications
Did you know?
- Blind and visually impaired people work in virtually every sector of our economy.
- The rate of blindness and severe visual impairment increases sharply with age.
- Blind and visually impaired people are as likely as the general population to use computers and the Internet.
People who are blind or visually impaired do use computers. In fact, many consider their ability to access information and to communicate through their computers indispensable - at the level of a fundamental human and civil right.
Anyone using a computer today must continually perform two tasks:
- Read information presented on the computer monitor (or other output system); and
- Provide command-level or data-level input to the computer, generally through a keyboard and a pointing device such as a mouse.
People who are blind are not able to use a pointing device, since use of a pointing device requires the user to see and manipulate an on-screen cursor. People with some useful vision may or may not be able to use a pointing device. However, people who are blind or visually impaired generally have no problem using a computer keyboard. The accommodations required to make a computer usable by someone who is blind or visually impaired are, therefore, replacements for the user's inability to see and use a computer screen. To put it in other words, people who are blind require accommodation to the computer's output systems rather than its input systems.
Individuals who are visually impaired and who cannot be accommodated with available fonts and colors often use screen magnification programs to enlarge text and images. People who are blind access a computer using a screen reader and speech synthesizer or a refreshable braille display. Current versions of screen reader software intercept information as it is being sent to the screen and store it in a memory construct known as the off-screen model (OSM). An off-screen model is essentially a database that holds the contents of the screen including text, graphics and controls. The screen reading or braille program then accesses the information in the OSM and renders it in speech or braille.
Microsoft Active Accessibility (MSAA) is a set of programming language enhancements and standards for programmers to follow. It exposes user interface control objects so that assistive technologies like screen readers can read and access them. Applications that use MSAA include: Microsoft Word, Excel, Internet Explorer, and Lotus Notes.
Screen readers obtain additional information by accessing the Document Object Model (DOM.) The DOM is used in Word, Excel and Internet Explorer.
Modern screen readers do not simply "read" the screen. Rather they rely on an analysis of the screen to read certain portions and not others when the screen is first presented. The screen reader will, for example, attend to a system cursor or a highlight bar. Most importantly, the user is given tight control over reading discrete units of the screen, such as a window title bar, menu, or status line. The user can also silence speech when the information desired has been obtained. There is a fundamental distinction between the temporal, speech-based interface primarily used by people who are blind, and the static, video-display interface familiar to sighted users. A braille display is static just as its video analog, though able to display only a few characters at a time - generally no more than 80 - and unable to display graphics.
Screen magnification programs also give users a considerable amount of control over how they view information presented on the screen. For example, using a combination of automated and manual commands, the screen magnifier can be set to follow screen activity, zoom in on specific screen locations, and scroll through text. As with other assistive technology applications, the performance of a screen magnifier can be enhanced if the software applications they are expected to work with are designed with accessibility in mind.
It is important to consider the needs of individuals with disabilities during the initial product development phase. Adding accessibility features later in the development process is time-consuming and expensive. You will find that features included to improve a product's accessibility are generally consistent with good design practices that will benefit all users. Examples of accessible design strategies of particular importance to users with visual impairments, but which often benefit other users, are listed below. Links to detailed guidelines are included at the end of this document. These development guidelines should be consulted early in the software development process.
- Use consistent, standard user-interface elements.
Create an interface that is consistent throughout the program and consistent with other applications so individuals can learn to navigate the program quickly with skills they have developed using other applications. Use operating-system -supplied controls, toolbars, menus, cursors, and dialogs whenever possible. Many screen readers, and other assistive technology software, have been designed to recognize standard components. For example, if custom components are used, a screen reader may not be able to render that object in speech, making that element, and possibly the whole application, unusable.
- Create a flexible user interface.
Allow users to customize the interface to meet their needs. Pass through operating system, settings that will impact accessibility, such as color, contrast, and font size settings; cursor styles and blink rates, and system sounds. All computer users benefit from having the ability to customize display settings.
- Allow full keyboard navigation.
Allow keyboard access to all program functions and features. All aspects of the program, including installation, should be operable without a pointing device. Be aware that assistive technology software is often keyboard driven, so applications must also allow other programs to share the keyboard.
- Label all graphics and icons.
Provide text labels for all iconic elements so they can be rendered by screen readers and braille displays. Users who are visually impaired may be able to decipher a text label easier than they can recognize an icon. Similarly, text labels help sighted users learn the function of each icon.
- Use standard means of displaying focus.
Display the application focus using operating-system-supplied tools, such as the system caret. Accessibility aids, such as screen readers or magnifiers, must be able to follow the keyboard focus at all times.
- Do not rely on color alone to convey information.
Provide redundant means of conveying information. Color-based distinctions may be invisible to people who are color blind, who are visually impaired, or who use speech or braille access technology. Provide user customizable font styles and sizes and user customizable foreground and background colors using the operating system display settings or application specific preferences.
- Do not place time limits on input activities or messages.
Assistive technology users, new computer users, individuals with learning disabilities, and individuals new to the language may take several seconds or minutes to locate and interpret such things as a control within a dialog box, an alert message, or a tool tip.
- Support accessibility in installation and configuration.
The application should adhere to the above principals in its installation, configuration, and all command-level routines so that it may be installed and configured by a user using assistive technology.
Test with Users
Usability studies can be based on a number of different methodologies. The following strategies may assist you in incorporating accessibility issues into usability studies.
- When planning a new product, include individuals with visual impairments in your user profiles.
- Work with developers of assistive technology to test your product throughout its development.
- Hire a usability specialist knowledgeable in accessible design or provide training to existing staff.
- Perform product evaluations using user profiles of persons with disabilities. For example, evaluate the program using only a keyboard.
- Assume that others will work with an inverted display (dark background) and a large font size. Carry out any task analyses under these conditions.
- Include accessibility elements, such as those described above, in evaluation checklists or development guidelines.
- Work with local universities, schools, and disability organizations and clubs to find users with visual impairments willing to test your products.
- Monitor, post questions to, and find beta testers through, disability-related electronic mailing lists.
- Obtain a set of accessibility aids, such as a screen reader and speech synthesizer or screen magnification software. Carry out product evaluations while accessing the program using these tools.
Design and Test the Support Documentation.
Create documentation in an accessible form, such as in text-only HTML or ASCII. Document all keyboard access features and other features that may affect a user's interaction with the application.
Assess the Design in the Field.
- Include an electronic means of registering the application.
- Make sure technical support staff are aware of the program's accessibility features.
- Actively solicit feedback from users with disabilities through electronic mailing lists and disability organizations.
- Solicit feedback from developers of assistive technology.
- Solicit feedback from teachers of students with visual impairments.
Making the Most of Your Accessible Software Application.
An accessible application will provide many benefits to thousands of individuals with visual impairments. However, as a designer or manufacturer, the creation of an accessible application also will provide you with several added benefits. The ability to design accessible products will become particularly important as more and more users begin to access computers in nontraditional ways. Federal, state, and local government agencies and educational institutions, as well as private companies, that must comply with the Americans with Disabilities Act and the Telecommunications Act of 1996 need to consider the accessibility of the products their employees and customers use. Thus, an accessible product has several marketing advantages over its competitors.
American Foundation for the Blind
Web site: AFB's Technology Resources
How to write application programs that screen access programs can read!
What is accessible software?
IBM Guidelines for Writing Accessible Applications Using 100% Pure Java
Checklist of Accessibility Design Guidelines
The Microsoft Windows Guidelines for Accessible Software Design Download Guide from: http://www.microsoft.com/enable/dev/guidelines.htm
Designing for Accessibility
Accessibility Quick Reference Guide
Trace Research & Development Center
Application Software Design Guidelines
U.S. Access Board
Telecommunications Act Accessibility Guidelines
U.S. Department of Education
Requirements for Accessible Software Design
World Wide Web Consortium Web Accessibility Initiative
WAI Accessibility Guidelines: Page Authoring