IMS Guidelines for Developing Accessible Learning Applications Section 2

IMS Guidelines for Developing
Accessible Learning Applications

version 1.0 white paper


2. Primer on Accessibility

2.1 Disabilities, Functional Limitations, and Accessibility Tips

This section introduces the reader to several types of disabilities affecting vision, hearing, physical capacity and cognitive skills. Each disability presents unique challenges to computer users. The following sub-sections also include general strategies to meet those challenges and to increase accessibility for those users.


2.1.1 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 they possess.

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.

Application software 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. Do not create single graphics containing multiple objects. By keeping tools and other objects 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. Try instead to lock the "help" balloon in place so that the user can move the cursor and continue to read the balloon.
  • Use single column text whenever possible.
  • 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, unless they are redundant with menu selections.
  • 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 tool bars. Make any tool bar command available in a menu.
Finally, documentation and training materials are always more accessible when:
  • Documentation and online 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.

2.1.2 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 sensitivity to glare, night blindness, reduced contrast.

Computer users with low-vision often depend on the ability to enlarge or otherwise enhance areas of onscreen information. Screen enlargement software can be tremendously helpful.

To make onscreen 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 to or magnify portions of the screen.
To make their 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 simultaneously monitor two or more events occurring far apart from each other on the screen.

2.1.3 For People with Color Blindness

To make it easier for color blind users to access their software, 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.

2.1.4 For People Who Are Hard-of-Hearing or Deaf

Many users with hearing impairments need to have some method for adjusting the volume or for coupling audio output more 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 impairments 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.
  • 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 ShowSounds feature that allows a user to assign a visual and caption for each audio event.

Finally, telephone support staff should also have text telephone (TTY) available in order to be able to assist deaf or hard-of-hearing customers.

2.1.5 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. 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 can only be solved 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 interfere with the interactive experience by preventing users from easily manipulating the interface.

To increase the accessibility of software to 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 StickyKeys, SlowKeys, Key Repeating.

2.1.6 For People with Language or Cognitive Disabilities

Language and cognitive disabilities are very difficult for developers to address, partly because of the diversity of 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 range of impairment within each of these categories can vary 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 (for more information, see subsection 2.1.1 For People Who Are Blind.)

Dyslexia is one of the most common learning disabilities. Affecting between 4 and 15 percent of the population, this neurological disorder interferes with the acquisition and processing of written language. Dyslexia is associated with difficulties in both receiving and expressing language, including phonological processing, in reading, writing, spelling, handwriting, and sometimes in interferes with mathematical reasoning. Dyslexic students can benefit from many of the solutions developed to help users with other disabilities.

To improve accessibility for people with dyslexia developers can:
  • Give users the ability to select their preferred font.
  • Make their products compatible with screen reading software and voice recognition software.
  • Use consistent layouts and formats.
  • Use plain, uncomplicated backgrounds behind text.
  • Avoid flashing text and avoid moving or animated text.
  • List hyperlinks at the end of the relevant paragraph or section instead of within the general text.
  • Describe the type of information or website pointed to by a link, before inserting the link into the text.

2.1.7 General Accessibility Improvements

To increase overall accessibility developers can:
  • make documentation available in electronic form, accessible by screen reading software, thus making it easier to use for people who cannot handle or read printed materials.
  • make product support staff aware of disability access issues and that people with disabilities routinely depend on their software products.
  • establish a protocol to forward accessibility and compatibility problems from product support staff to product designers. Keep the trigger level for such referrals low.

Finally, all properly trained support staff should be able to handle routine product use questions from users who have disabilities. But ideally, some individual should also seek to specialize; to learn how to resolve specific incompatibility issues between software and technologies designed to assist those with disabilities. In this way, developers and support staff can create pools of expertise to deal with the widest possible range of problems and suggestions brought forward by users.

2.2 Tools for Access - Types of Assistive Technologies

Assistive technology (AT) is an umbrella term used to describe any product or technology-based service that helps disabled people to live, learn, work and enjoy life. In the context of online education AT refers to hardware and software technologies that enable people with disabilities to use a computer more effectively. The following is a brief overview of the main categories of these assistive technologies.

2.2.1 Screen readers

Screen readers are software products designed for blind users. Screen readers are also useful to users with learning disabilities. Screen readers locate information on the computer screen and vocalize it for the user using text-to-speech audio hardware and software. Most screen readers work in close concert with the operating system, relying on the computer's built in capabilities. Applications and software that conform to the standards of the operating system are more likely to be accessible. Applications and software that ignore the requirements of screen readers and the operating systems that support them may well prove unusable by some disabled students.

2.2.2 Refreshable Braille displays

Refreshable Braille displays are tactile devices that move small pins up and down to create Braille letters. These Braille displays are the primary means of access to computers for users who are deaf-blind.

2.2.3 Screen magnifiers

Screen magnifiers are software solutions for users with low-vision. These products allow the user to enlarge the size of images and text displayed on screen. Screen magnifiers may also permit the user to change the default colors of the display. For example, reversing the colors and blacks of the video signal can make the text more readable for some users.

Compatibility between screen magnifiers and software can be an issue for developers. Typical screen magnifiers track the cursor or the active region of the screen and will automatically enlarge that portion of the display. Applications that use a custom cursor design may cause the magnifier to enlarge the wrong portion of the screen. Developers can avoid this problem by relying on standard interface practices, particularly those that apply to cursor control and display.

2.2.4 Adaptive keyboards

Adaptive keyboards are designed for users with physical disabilities who cannot use a standard keyboard. Users with reduced range of motion may require smaller keyboards. Conversely, those without fine motor control may require a keyboard that is somewhat larger. Keyboards that offer fewer choices are helpful to users who benefit from a more structured learning environment and one-handed keyboards are helpful for those who can only type with one hand.

For users who are only able to use a mouse (or an AT that emulates a mouse) the keyboard itself can be represented onscreen using software. Pointing at individual letters replaces the physical act of typing.

Developers can take steps to support users of these technologies. Applications and software that employ the operating system's standard methods of reading input from the keyboard should be compatible with all adaptive keyboards. Those applications that bypass the operating system and attempt to interrogate the keyboard directly will probably not be accessible to users who wish to substitute an adaptive keyboard.

2.2.5 Voice Recognition Software

Voice recognition software allows the user to input data or control the computer by speaking. Voice recognition software benefits users who have difficulty typing or using their hands. Generally, applications and software that allow full access through keyboard commands are well suited for use with voice recognition software.

2.2.6 Single Switches

Single switches are hardware solutions for users with physical disabilities who can only control the computer with one or two specific movements. Single switches are used with software that works by scanning through preset options on screen. The user triggers the switch when the option they wish to choose has been highlighted during scanning. Single switches can be used in conjunction with on-screen keyboards and word prediction software. Scanning software can be used to create customized screen layouts for use with a variety of applications. However, every clickable spot in the layout must be identified in advance in order for the scanning software to find it.


2.3 Equivalent Access Versus Alternative Access

When considering accessibility of learning applications, it is important to understand the differences between two types of access: equivalent and alternative.

Equivalent access provides the disabled user with content identical to that used by the non-disabled user. For the disabled user however, that content is presented using a different modality. Providing a course textbook in Braille format, on audiotape, or in digital format are examples of equivalent accessibility.

Alternative access provides the disabled user with a learning activity that differs from the activity used by the non-disabled user. However, the alternative activity is designed to achieve the same learning objectives. For example, a mobility-impaired student might be given the option of conducting a science experiment in a virtual laboratory, where the levels of dexterity, strength, and physical access are different than those required in a physical laboratory.

Equivalent access should be provided whenever possible. Alternative access should be provided only if equivalent access is not possible. That said, there are numerous examples where software developed for alternative access has become the mainstream choice when its value to all learners was recognized. For example, the "virtual microscope" developed by The Open University, UK for disabled students, proved better able to achieve key learning objectives than its mainstream counterpart and it came to be used by all students.

2.4 Direct Access Versus Compatible Access

Solutions designed to make education accessible can be grouped into two categories: direct access and compatible access.

A directly accessible product allows a person with a disability to operate all on-screen controls and access all content without relying on the aid of an AT. For example, to be accessible to users with low-vision, directly accessible applications, software, or websites offer features that enlarge all controls and on-screen text. They are also designed using high contrast colors or provide features that allow users to choose appropriate colors.

To be accessible to users who are blind, a directly accessible product should have a keyboard interface with audio output. Such a keyboard interface can also provide access for users with physical disabilities. Audio output should announce the presence and status of all on-screen controls and convey the atmosphere of the application, software, or website. A built-in method of using a single key to scan through choices in the application or software will provide access for users who can only use a single switch as input. Teachers of students who are visually impaired report that their younger students receive only limited training with ATs. For this reason, it is particularly important to provide direct access in products targeted at elementary and middle school students.

Direct access brings many benefits. Most importantly, the user is able to access educational material without needing special assistive hardware and software. In this way, direct access helps to reduce cost for schools and individuals, and eliminates the technical difficulties associated with using AT. Direct access also gives students with disabilities the option to use any computer, freeing them from dependence on adapted workstations.

Ideally, the directly accessible interface should be designed by the same people who create the application, software or website. These are the content experts and when they apply their understanding of educational goals to designing an accessible interface, the resulting educational experience will certainly be superior to the alternative; assistive technology paired with software not designed with users with disabilities in mind.

Alternatively, the compatibly accessible application, software, or website is an application designed with AT in mind. This level of access assumes that the user has a preferred AT package installed and is relatively competent and comfortable with the AT they are using. A compatibly accessible product is designed with "hooks" built into the software that facilitate the use of a screen reader, screen magnifier, or alternative input devices such as adapted keyboards or single switches. These "hooks" are provided by developers using software engineering tools such as Microsoft Active Accessibility (MSAA) and the Java Accessibility API from Sun Microsystems (discussed in more detail in section 8.7 - Accessibility Information for Operating Systems and Development). Developers of compatibly accessible applications should also remember to always expose the cursor, use standard controls and fonts, and follow the operating system's human interface guidelines.

Compatible access offers some advantages. It provides consistency of operation between applications for users who already know how to navigate with their AT or who can become competent doing so. In some cases it may be less expensive to develop applications, software, and websites in this way. Relying on the AT package for text-to-speech capability, rather than adding it into the product itself, for instance, can save on disk space. In reality, compatibly accessible products may be the only means of access for some users, such as deaf-blind Braille users who depend on screen readers to interact with computers. Developers who are designing applications, software, and websites to be compatible with ATs should use proven programming techniques to create software that works consistently well with the range of screen readers, alternative input devices (e.g. switches, on-screen keyboards, voice recognition), and any other input or output device that is not part of a standard computer.


WGBH   IMS Global Learning Consortium   FIPSE