Linux Accessibility HOWTO

Michael De La Rue

Sharon Snider

v3.1, June 21, 2002

Revision History
Revision v3.12002-06-21Revised by: sds
Updated and converted to DocBook XML.
Revision v3.02001-10-25Revised by: sds
Updated and converted to DocBook SGML.
Revision v2.111997-03-28Revised by: mdlr
Last Linuxdoc revision.

Table of Contents
1. Introduction
1.1. Distribution Policy
2. The Linux Operating System
2.1. Assistive Technologies Available for Linux
2.2. Usability
3. Visual Impairments
3.1. Technologies for the Visually Impaired
4. Hearing Impaired
4.1. Assistive Technologies for the Hearing Impaired
5. Physically Disabled
5.1. Keyboard Navigation
5.2. Assistive Technologies for the Physically Disabled
5.3. Additional Resources
6. Cognitive, Language, and Other Impairments
6.1. Assistive Technologies for Cognitive, Language and Other Impairments
7. Developing Accessible Applications
8. Other Helpful Information
9. Acknowledgments

1. Introduction

The purpose of this HOWTO is to introduce the tools, applications, and configuration utilities that are available to Linux users who are disabled. The information provided targets groups of individuals with the following disabilities:

Please send any comments, or contributions via e-mail to Sharon Snider. This document will be updated regularly with new contributions and suggestions.


1.1. Distribution Policy

The Access-HOWTO may be distributed, at your choice, under either the terms of the GNU Public License version 2 or later or the standard Linux Documentation Project (LDP) terms. These licenses should be available from the LDP Web site: http://www.linuxdoc.org/docs.html. Please note that since the LDP terms do not allow modification (other than translation), modified versions can be assumed to be distributed under the GPL.

ViaVoiceŽ is a registered trademark of International Business Machines Corporation.


2. The Linux Operating System

The Linux operating system has many software applications and utilities that run in the non-graphical environment. The graphical user interface (GUI), which is often referred to as X Windows, is clearly separate from the underlying non-graphical, text-only environment. One major reason that a visually impaired individual can use Linux is that network connectivity is built in to the operating system and provides full access to the Internet from the non-graphical interface. All visible text on the screen can be translated using a screen reader and speech synthesizer.

Over the past few years many improvements have been made to the GUI, and many of the desktops now provide features and enhancements designed for accessibility. In the following sections you will find information on the tools, utilities, and applications that are available to assist users in configuring their desktop environment.


3. Visual Impairments

There are two categories of visual impairments. Individuals who are partially sighted (for example, blurred vision, near and far-sightedness, color blindness) and those who are totally blind. Assistive technologies are available for the Linux operating system for visually impaired users, and many of the software packages are free.


3.1. Technologies for the Visually Impaired

The following is a list of assistive technologies for visually impaired users:


3.1.1. Screen Readers

Screen readers are software applications that are installed on the computer to provide translation of the information on the computer screen to an audio output format. The translation is passed to the speech synthesizer and the words are spoken out loud. Currently, fully functional screen readers are only available for Linux in console mode. This section describes some of the most common screen readers.


3.1.2. Speech Synthesizers

Speech synthesizers can be a hardware device or a text to speech (TTS) software application that creates the sounds necessary to provide speech output. Hardware synthesizers are available for the Linux operating system; however, they can be very expensive and must be compatible with the screen reader application in order to function properly. The alternative is to download and install a software synthesizer such as IBM's ViaVoice or Festival and configure the application to a compatible screen reader, such as Emacspeak.


3.1.3. Screen Magnifiers

Screen magnifiers enable users that are partially sighted to view selected areas of the screen in a manner similar to using a magnifying glass.


3.1.5. Braille Devices

Braille terminals are normally used by individuals who are totally blind and may be hearing impaired as well. A Braille display uses a series of pins to form Braille symbols that are continuously updated as the users changes focus. A Braille embosser is a hardware device for printing a hard copy of a text document in Braille. Braille translation software is required to translate the on-screen text to a Braille format.


3.1.5.1. Braille Hardware Devices

The following Braille devices have been listed on the hardware compatibility list of one or more of the following Braille translation applications:


3.1.5.2. Braille Translation Software

The following Braille translation applications are available for download:


3.1.8. Additional Resources


4. Hearing Impaired

For users who have hearing impairments the audio output must be conveyed visually on the screen. Most desktops provide visual audio alerts and warnings. In console mode the system can also be configured to provide visual bells. There is a "Visual Bells mini-HOWTO" written by Alessandro Rubini that provides the configuration details available at: http://www.ibiblio.org/pub/Linux/docs/HOWTO/mini/.


5. Physically Disabled

There are a wide range of physical disabilities that can impair a user's mobility, and many of these impairments need to be addressed on an individual basis. This section addresses impairments that apply to users who have difficulty using a mouse, pointing device, or keyboard.


5.3. Additional Resources

The following is a list of additional Web sites that may be of interest to users with mobility impairments:


6. Cognitive, Language, and Other Impairments

Cognitive and language impairments include dyslexia and problems with; memory, comprehension, problem solving, and written language. For many individuals with cognitive and language disabilities, complex graphical displays and inconsistent use of words can make using the computer more difficult. A user with epilepsy can have a seizure from an application with blinking lights and animation. Most desktops now allow users to disable animation. Web browsers such as Mozilla and Netscape allow users to disable graphics. It is important to check the documentation for preferences that are available in the desktop environment you are using, as well as any applications that are used. This section discusses the tools that are available to aid users with these impairments:


6.1. Assistive Technologies for Cognitive, Language and Other Impairments

The following is a list of assistive technologies that can be helpful to users with cognitive, language, and other impairments:


6.1.3. Speech Recognition

Speech recognition applications enables you to control the computer with your voice rather than having to type or write out the information.


7. Developing Accessible Applications

It is important to consider accessibility when developing new applications for the Linux operating system. The American Foundation for the Blind, the GNOME Accessibility Project, IBM, Sun, and W3C have written guidelines that are excellent road maps for developing and testing new Linux software. The following Web sites provide the tools, checklists and testing information to help developers write accessible programs for impaired users.


8. Other Helpful Information

The following is a list of additional information that may be helpful, but is not necessarily targeting a specific disability:


9. Acknowledgments

These are the orignal acknowledgments documented by Michael De La Rue. They have been included in their entirety to ensure that each persons efforts to make Linux more accessibile are acknowledged.

Much of this document was created from various information sources on the Internet, many found from Yahoo and DEC's Alta Vista Search engine. Included in this was the documentation of most of the software packages mentioned in the text. Some information was also gleaned from the Royal National Institute for the Blind's help sheets.

T.V. Raman, the author of Emacspeak has reliably contributed comments, information and text as well as putting me in touch with other people who he knew on the Internet.

Kenneth Albanowski kjahds@kjahds.com provided the patch needed for the Brailloterm and information about it.

Roland Dyroff of S.u.S.E. GmbH (Linux distributors and makers of S.u.S.E. Linux (English/German)) looked up KTS Stolper GmbH at my request and got some hardware details and information on the Brailloterm.

The most major and careful checks over of this document were done by James Bowden, jrbowden@bcs.org and Nikhil Nair nn201@cus.cam.ac.uk, the BRLTTY authors who suggested a large number of corrections as well as extra information for some topics.

The contributors to the blinux and linux-access mailing lists have contributed to this document by providng information for me to read.

Mark E. Novak of the Trace R and D centre http://trace.wisc.edu/ pointed me in the direction of several packages of software and information which I had not seen before. He also made some comments on the structure of the document which I have partially taken into account and should probably do more about.

Other contributors include Nicolas Pitrie and Stephane Doyon.

A number of other people have contributed comments and information. Specific contributions are acknowledged within the document.

This version was specifically produced for RedHat's Dr. Linux book. This is because they provided warning of it's impending release to myself and other LDP authors. Their doing this is strongly appreciated since wrong or old information sits around much longer in a book than on the Internet.

No doubt you made a contribution and I haven't mentioned it. Don't worry, it was an accident. I'm sorry. Just tell me and I will add you to the next version.