This section introduces several types of disabilities affecting vision, hearing, physical capacity and cognitive skills. Each disability presents unique challenges to computer users. The Trace Center Accessible Software Guidelines offer a comprehensive guide to creating accessible software.
This section is adapted with permission from a previous publication of the Trace R&D Center, the Application Software Design Guidelines, written in 1994. The updated version is quoted from the IMS Guidelines for Developing Accessible Learning Applications.
For People Who Are Blind
Many people who are legally blind retain some residual vision. Some may be able to see objects with the help of magnification. Others may be able to sense light and dark but little else. Because of the wide range of visual sensitivity found among those who are legally blind, a well-designed interface should assume that the end user has no vision, while allowing that person to make use of whatever residual vision he or she possesses.
To access online material, blind users depend on screen-reading software that digests the contents of the computer screen and sends information to a text-to-speech synthesizer or refreshable braille display.
Developers can do much to support screen-reading software and to help blind users perceive and understand screen content.
To support screen reading software, developers can:
- use standard system tools to draw and erase all on-screen text and to display all cursors and pointers.
- use system standard on-screen controls whenever possible.
- define tools in toolbars, palettes, and menus as separate items, and avoid creating single graphics containing multiple objects. When tools and other objects are kept separate, the screen reader is better able to identify and name each tool for the user.
- embed descriptive text in graphic images in such a way as to make the text known to screen-reading software. This addresses the problems that can arise when text is rendered as a graphic image and cannot be read by software.
- assign logical names to controls, even if the name is not visible on the screen. Screen readers can access this information and use it to describe the type and function of the control on the screen.
- track the system cursor with the mouse, even if the cursor is invisible. This allows the screen-reading software to detect the mouse position when customized highlighting or focusing techniques are in use.
- use consistent and predictable screen and dialog layouts.
- avoid the use of "help" balloons that disappear whenever the hot spot, or focus of the mouse, changes. Locking the help balloon in place lets user move the cursor and continue to read the balloon.
- provide keyboard equivalents for all tools, menus, and dialog boxes.
Since screen readers can only read text (or give names to separately identifiable icons or tools), it is a good idea to:
- avoid assigning unlabeled hot spots to pictures for use as controls.
- avoid non-text menu items when possible or at least incorporate visible or invisible text cues to accompany these items. Screen readers can see text even if that text is written to the screen invisibly.
- avoid non-redundant graphic toolbars.
Finally, documentation and training materials are always more accessible when:
- documentation and on-line help can be understood independent of graphics. Text descriptions should stand on their own.
- synchronized audio descriptions are available to play alongside animated graphics or movies.
For People with Low Vision
"Low vision" refers to a range of vision problems including:
- poor acuity, meaning blurred or fogged vision.
- loss of all central vision; the ability to see only the outer ring of the visual field.
- tunnel vision; the ability to see only the center of the normal visual field.
- loss of vision in other parts of the visual field.
- other problems, including night blindness, reduced contrast and sensitivity to glare.
Computer users with low vision often depend on the ability to enlarge or otherwise enhance areas of on-screen information. Screen-enlargement software can be tremendously helpful.
To make on-screen information easier to see, developers can:
- increase the contrast between text and the background.
- place text over a solid-color background. A patterned background can make text harder to discern.
- create consistent layouts for all screens and dialogs within the program.
- provide access to tools via a menu bar.
- follow line-width guidelines when drawing lines on screen. Use the line-width information provided by operating system settings. This will ensure that the learning application will increase all lines proportionally should a user choose to enlarge the view.
- allow the user to zoom in on or magnify portions of the screen.
To make software more compatible with other applications that offer low-vision access features, developers can:
- use the system pointers whenever possible, as well as the system caret or insertion bar, if available.
- include a highlight or focus indicator when dragging the system cursor, even at those times when the cursor is invisible. This adjustment will help screen enlargement software using "pan and zoom" features to track the user's movements more accurately.
- add support for a "high contrast" setting.
- protect users from the need to monitor simultaneously two or more events occurring far apart from each other on the screen.
For People with Color Blindness
To improve access for colorblind users, developers can:
- make color coding a redundant or secondary means of conveying information.
- ensure that the program will run in monochrome mode.
- use variations in contrast and brightness in addition to color variations.
For People Who Are Hard-of-Hearing or Deaf
Many users with hearing losses need to have some method for adjusting volume or for coupling audio output directly to their hearing aids. These are hardware requirements that can be met by systems with built-in volume controls and headphone or audio output jacks. Users who have more severe hearing losses may choose to combine these solutions with visual display technologies designed for people who are deaf.
To increase the accessibility of software to users with hearing impairments, developers can:
- provide all auditory information visually.
- provide captions with all multimedia presentations.
- ensure that all visual cues are noticeable even if the user is not looking straight at the screen. Important information should catch the user's attention, even through peripheral vision.
- support the Windows ShowSounds feature that allows a user to assign a visual signal and caption for each audio event.
Finally, telephone support staff should also have a text telephone (TTY) available in order to be able to assist deaf or hard-of-hearing customers.
For People with Physical Disabilities
The nature of physical disabilities varies widely. Some physically disabled users experience complete paralysis in some portion of their bodies. Others are restricted by muscular weakness. Some may have a very limited range of motion but may possess very fine movement control within that range. Others may have feeling in their limbs but little control over them. Still others have to work with uncontrolled, sporadic movements that interfere with their purposeful movements. Users with arthritis report that the joints in the hand and elsewhere are restricted in their range of motion both mechanically and by pain. Some users have posture difficulties that present problems solved only by mounting the computer screen in a non-standard orientation.
Physical disabilities by themselves do not usually affect a person's ability to perceive information displayed on the computer screen. They can, however, interfere with the interactive experience by preventing users from easily manipulating the interface.
To increase the accessibility of software for people with physical disabilities and ensure compatibility with assistive technologies, developers can:
- avoid timed responses or, when they cannot be avoided, lengthen the time allowed for a user to respond.
- provide keyboard access to all toolbars, menus and dialog boxes.
- allow the user to access helpful features already built into the operating system, such as Sticky Keys, Slow Keys and Key Repeating.
For People with Language or Cognitive Disabilities
Language and cognitive disabilities are very difficult for developers to address, partly because of the diversity represented in the category. The group includes individuals with:
- general processing difficulties such as mental retardation, brain injury and others.
- specific deficits such as lack of short-term memory, the inability to remember proper names and others.
- learning disabilities such as dyslexia, dyscalculia, dysgraphia, auditory perceptual disabilities, cognitive disorganization, and visual perceptual disabilities.
- language delays.
In addition, the degree of impairment within each of these categories can range broadly, from minimal to severe. In general, software designed to be as user-friendly as possible will improve accessibility for those with language or cognitive impairments.
To improve accessibility for people with language or cognitive disabilities, developers can:
- allow all message alerts to remain on screen until dismissed by the user.
- make language and instructions as simple and straightforward as possible, both on screen and in documentation.
- use simple and consistent screen layouts.
It is important to bear in mind that those with language and cognitive disabilities often have difficulty processing print. To increase accessibility for this population, developers should take steps to make their software compatible with screen-reading software.