GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]


Linux Accessibility HOWTO

Michael De La Rue

Sharon Snider

v3.1, June 21, 2002
Revision History                                                             
Revision v3.1            2002-06-21           Revised by: sds                
Updated and converted to DocBook XML.                                        
Revision v3.0            2001-10-25           Revised by: sds                
Updated and converted to DocBook SGML.                                       
Revision v2.11           1997-03-28           Revised by: mdlr               
Last Linuxdoc revision.                                                      

The Linux Accessibility HOWTO covers the use of adaptive technologies that
are available for the Linux operating system, as well as the software
applications and hardware devices that can be installed to make Linux
accessible to users with disabilities. The information provided targets
specific groups of individuals with similar disabilities.

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

��*�Visually Impaired
��*�Hearing Impaired
��*�Physically Disabled
��*�Cognitive, Language, and Other Impairments

Please send any comments, or contributions via e-mail to [mailto:] 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: []
/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

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.

2.1. Assistive Technologies Available for Linux

Assistive technologies are computer hardware devices and software
applications that provide individuals with impairments access to the
information and applications on a computer. Although there are not many
commercial applications available specifically for Linux accessibility, there
are free software applications that can make the computer more accessible.
Detailed information on assistive technologies that are available has been
listed in this document based on the type of disability.

2.2. Usability

Linux has the advantage over Windows that a large majority of Linux software
has been developed for the console. Although many programs are now being
developed for the GUI, programs continue to be written for the non-graphical,
text-based environment. Linux originated as a programmer's operating system
and, for the physically disabled, this means that it is easy to build and
customize programs to suit an individual's needs.

The windowing system used by Linux (X11) includes many programming tools that
enable further modification and customization of the GUI. KDE and GNOME have
included many accessibility and usability features in their latest releases
and are continuing to test, upgrade, and enhance the graphical environment.
The following are links to KDE and GNOME's accessibility and usability

��*�KDE Accessibility Project - [] http://
��*�GNOME Accessibility Project - []
��*�KDE Usability Project - [] http://
��*�GNOME Usability Project - []

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

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.

��*�Emacspeak is the complete Audio Desktop is an excellent non-graphical,
    text based interface for users who are visually impaired. This
    application can be used as a screen reader in conjunction with a hardware
    synthesizer or IBM ViaVoice� Run-time text-to-speech application. More
    information and software packages of are available at: [http://]
    raman/emacspeak/. The Emacspeak HOWTO [
    docs/HOWTO/] includes a
    tutorial and installation guide.
��*�Jupiter Speech System is a screen reader for Linux in console mode. A
    user guide and software packages are available at: [
��*�Screader is a screen reader for Linux in console mode that works with the
    Festival software speech synthesizer and the Accent hardware synthesizer.
    Information and downloads are available at: [
��*�Speaker is a new plugin for the Konqueror file manager and Web browser.
    Speaker provides Text to Speech using the Festival speech system or IBM
    ViaVoice. Downloads are available at: [
��*�Speakup is a screen review package for the Linux operating system. It
    requires a hardware speech synthesizer, such as the DecTalk Express. An
    installation boot disk and packages are available at: [http://] that allow a
    visually impaired user to install the Linux operating system.
��*�ZipSpeak is a talking mini-distribution of Linux. More information and
    software packages are available at: [

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
----------------------------------------------------------------------------- Hardware Speech Synthesizers

A hardware speech synthesizer is a device that is connected to the computer's
serial or parallel port and translates the text to a spoken output. Normally
there are Braille labels on all controls to indicate the off and on position,
and volume control. Hardware synthesizers also have the ability to speak in
different tones that can be setup to indicate various parts of a document or
text. Some models will provide a connection for headphones. The following is
a list of speech synthesizers that are supported on the Linux operating
system and can be used with Emacspeak:

��*�Accent SA and Apollo 2 ([] http://
��*�DECTalk Express ([] http://
��*�DoubleTalk ([]

----------------------------------------------------------------------------- Software Speech Synthesizers

A software speech synthesizer is an application that translates the text on
the screen to speech output and provides speech synthesis, so that the screen
reader application can read information out loud to the user.

��*�Festival is a general, multi-lingual speech synthesis system developed at
    the Center for Speech Technology Research (CSTR). It offers a full TTS
    system with various application program interfaces, as well as an
    environment for development and research of speech synthesis techniques.
    Mbrola or FestVox are needed to complete the Festival installation.
    Software packages and installation instructions are available at: [http:/
��*�Mbrola is a speech synthesizer that can be used with a TTS application,
    such as, Festival to provide speech output. More information is available
    at: []

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.

��*�GMag is a screen magnifier for X Windows. It provides continuous
    magnification while you work, as well as the option to change the
    contrast of images at run-time. More information and downloads are
    available at: []
��*�Puff is a screen magnifier for users who need a high magnification of
    text and graphics in X Windows. Puff follows the focus of the mouse or
    pointer and enlarges the portion of the screen under the cursor. In order
    for Puff to run properly on Linux the source code needs to be modified.
    This application is not a good option for inexperienced users. The
    software packages and source code modification instructions are available
    at: []
��*�SVGATextmode enlarges or reduces the font size for users who perfer to
    work in console mode. The normal text screen that Linux provides is 80
    characters across and 25 vertically. After SVGATextmode is installed, the
    text can be displayed much larger. One example would be 50 characters
    across and 15 vertically. The program does not offer the ablitity to zoom
    in and out, but the user can re-size when necessary. The most current
    download is available at: [] Do not run try to run
    SVGATextmode from an X Windows terminal. You must be in console mode for
    the display to function properly.
��*�UnWindows is a collection of programs that includes Dynamag, a screen
    magnification program that helps the user locate the mouse pointer. The
    source code is available for Dynamag as a stand alone application, or the
    entire UnWindows package can be downloaded at: [
    /unwindows/] The entire UnWindows
    package will not work with Linux without programming modifications.
    However, the Dynamag application can be installed successfully without
    any additional code changes.
��*�Xzoom is a screen magnifier similar to Xmag that allows the user to
    magnify rotate or mirror a portion of the screen. The most current
    download is available at: [] http://

3.1.4. Adjusting the Screen's Resolution

The X Windows server can be setup with different screen resolutions. The
ability to adjust the screen's resolution allows a partially sighted user to
magnify the screen with a single key sequence. The steps to set up your
system are as follows:

 1. Changed directories, type cd /etc
 2. Using a text editor, open the XF86Config file
 3. Locate the line beginning with Modes and change it to
    Modes "1280x1024" "1024x768" "800x600" "640x480" "320x240"               
    Note: The settings may vary based your monitor's highest resolution mode.
 4. Save the file and exit.

To enlarge the text on the screen type Ctrl+Alt+keypad-plus and to make the
text smaller type Ctrl+Alt+keypad-minus

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.
----------------------------------------------------------------------------- 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:

��*�Braillex [
��*�Alva B.V.: ABT3xx, Delphi (serial and parallel ports), Satellite. �.
��*�Baum: Vario/RBT 40/80 (emulation 1/2) [
��*�Blazie Engineering: BrailleLite 18/40 [
��*�Handialog: VisioBraille 2040 [] http:
��*�Handy Tech Elektronik GmbH: BrailleWave, mod20, mod40, mod80 [http://]
��*�MDV: MB208/MB408L/MB408S (protocol 5) [
��*�Pulse Data International: BrailleNote 18/32 [
��*�Telesensory Systems Inc.: Navigator 20/40/80 (latest firmware version
    only), PowerBraille 40/65/80 [] http://
��*�Tieman B.V.: CombiBraille 25/45/85, MiniBraille 20, MultiBraille MB125CR/
    MB145CR/MB185CR [] http://
��*�Tiflosoft: VideoBraille 40 [] http://

----------------------------------------------------------------------------- Braille Translation Software

The following Braille translation applications are available for download:

��*�Brass is a new program that combines speech and Braille output. The
    current version is still in testing and can be downloaded at: [http://]
��*�BrLTTY supports parallel port and USB Braille displays and provides
    access to the Linux console. It drives the terminal and provides complete
    screen review capabilities. It is available at: [
��*�NFBTrans is a freeware Braille translator written by the National
    Federation for the Blind (NFB). Software packages are available for
    download at: []

3.1.6. Cursors for X Windows

Changing the shape and size of the mouse cursor can help users who have a
problem following or seeing the cursor. The X Big Cursor mini HOWTO explains
how to configure enlarged mouse cursors with the X Windows system. This HOWTO
is available at: [

There are also a large select of cursors that can be downloaded at: [http://]

3.1.7. Audio

Audio can be very useful to users who are visually impaired. In most X
Windows desktop environments audio alerts and sound events can be setup
within the desktop control center by enabling sound and verifying that the
option to show sound is activated. You will need to check the desktop users
manual for setup and configuration of sound events.

Locktones is an excellent application for providing toggle keys that sound an
audio alert to warn the user that a keystroke has created a locking state
such as Cap Locks, or Num Locks. The application can be downloaded at: [http:

Linux can also be configured to beep at the login prompt so the user knows
when to type in the password. A configuration utility can be downloaded and
installed that can provide this function at: [

3.1.8. Additional Resources

��*�Access Mozilla has a goal to build an accessible Web suite: browser,
    e-mail, news, composer and chat that conform to the W3C accessibility
    standards. More information is available at: [http://]
��*�Blind + Linux = BLINUX provides documentation, downloads and a mailing
    list that focus on users who are blind. Information and software packages
    are available at: []
��*�LaTex/Tex is an extremely powerful document preparation system and it can
    be used to produce large print documents. More information is available
    at: [] http://
��*�National Federation for the Blind's (NFB) purpose is to help blind
    persons achieve self-confidence and self-respect and to act as a vehicle
    for collective self expression by the blind. Information for blind users,
    as well as software are available at: [] http://
��*�Project Ocularis is run by volunteers, and the project's aim is to
    improve Linux accessibility through the creation of new free software and
    the modification of pre-existing free software. More information is
    available at: [] http://
��*�Screen is a standard piece of software that allows many different
    applications to run at the same time on a single terminal in console
    mode. Screen has been enhanced to support some Braille terminals
    directly. It is available for download at: [
��*�SuSE Linux is the first Linux distribution to support installation of the
    Linux operating system and applications that run on Linux in Braille. The
    Blinux screen reader runs in the background to enable visually impaired
    users to work in a Linux console environment. More information is
    available at: [
��*�xocr is an optical character recognition program that scans written text,
    such as a book and translates it to audio output, so the information is
    available to visually impaired users. More information is available at:

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: [

4.1. Assistive Technologies for the Hearing Impaired

The following is a list of assistive technologies for the hearing impaired:

4.1.1. Telecommunications Devices for the Deaf (TDD)

TDD allows for the user you to communicate over the telephone using the
computer as a text terminal.

��*�Zapata is a computer-based, high-density telephony project. The current
    version is available for download as source code on at: [http://]

4.1.2. Closed Captioning

Closed captioning provides text translation of spoken words to video display.
Closed captioning can be used for distance learning, video-teleconferencing,
audio from a CD-ROM, and other types of interactive technology.

��*�Ccdecoder is a closed captioned, extended data services decoder for the
    bttv and video4linux based tv video cards: [

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.1. Keyboard Navigation

There are features that are built into the Linux operating system that allow
for additional keyboard configuration. In some of the X Windows desktops
these settings can be changed from the control center. An application has
also been developed for X Windows called AccessX and it provides a graphical
user interface for configuring all the AccessX keyboard settings. These
settings are:

��*�StickyKeys enable the user to lock modifier keys (for example, control
    and shift) allowing single finger operations in place of multiple key
��*�MouseKeys provide alternative keyboard sequences for cursor movement and
    mouse button operations.
��*�SlowKeys requires the user to hold the key down for a specified period of
    time before the keystroke is accepted. This prevents keystrokes that are
    pressed by accident from being sent.
��*�ToggleKeys sound an audio alert that warns the user that a keystroke
    created a locking state for keys, such as Caps Lock, and Num Lock.
��*�RepeatKeys allow a user with limited coordination additional time to
    release keys before multiple key sequences are sent to the application.
��*�BounceKeys or Delay Keys have a delay between keystrokes. This function
    can help prevent the system from accepting unintentional keystrokes.

5.2. Assistive Technologies for the Physically Disabled

The following is a list of assistive technologies for the physically

5.2.1. On-Screen Keyboard

On-screen keyboards enable a user to select keys using a pointing device,
such as a mouse, trackball, or touch pad. This application can be used in
place of a standard keyboard.

��*�GTkeyboard is a on-screen, graphical keyboard and can be downloaded at:
��*�GNOME Onscreen Keyboard (GOK)is a on-screen, graphical keyboard that
    enables users to control their computer without having to rely on a
    standard keyboard or mouse. MOre information is available at [http://]

5.2.2. Speech Recognition

Speech recognition utilities are used by people with mobility impairments, so
they can operate the computer using voice control.

��*�Open Mind Speech is a development project for speech recognition tools
    and applications. Information for the project and a mailing list are
    available at: [] http://
��*�ViaVoice Dictation for Linux allows you to write documents using your
    voice rather than a keyboard. Information and downloads are available at:
��*�This site has information and links related to several different speech
    recognition utilities. [

5.3. Additional Resources

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

��*�This site provides a kernel patch that can be downloaded to enable a
    one-handed keyboard. The download is available at: [http://]
��*�Configuration and information on Adapting the Linux Keyboard for a one
    handed user is available at: [
��*�Morseall allows the user to control a Linux shell by tapping Morse code
    on the left mouse button: []
��*�The keyboard and console HOWTO provides additional keyboard configuration
    information. [
��*�There is a Speech Recognition HOWTO, written by Stephen Cook that
    provides complete details for anyone interested in learning more about
    speech recognition applications. [] http://

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.1. Screen Readers and Speech Synthesis

Screen readers with speech synthesis enable the system to read on-screen
information and text out loud to the user. This type of assistive technology
can be particularly helpful to individuals who have dyslexia and other
learning disabilities. Although there are no screen readers available for the
GNOME desktop, screen reader applications are available for Linux in console
mode that provide this functionality.

��*�Emacspeak is a speech interface that will provide audio output for all
    text. The program works in terminal and console mode and requires a
    software or hardware speech synthesizer. The downloads and users manuals
    are available at: [] http:
��*�The Trace Center provides information and downloads for various screen
    readers and speech synthesizers. More information is available at: [http:
    //] http://

6.1.2. Keyboard filters and Word Processing

Keyboard filters and word processing applications that have word prediction
and spell checking utilities can be an excellent aid for users with learning
and language 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.

��*�CVoice Control is a speech recognition system that enables a user to
    connect spoken commands to UNIX commands. More information is available
    at: []
��*�IBM ViaVoice Dictation for Linux allows the user to write documents using
    their voice rather then a keyboard and can read the information back to
    the user. More information is available at: [
��*�Open Mind Speech is a development project for speech recognition tools
    and applications. The developers have established a mailing list for
    asking questions and obtaining information at: [http://]
��*�XVoice enables continuous speech to text dictation for many applications.
    More information is available at: [

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.

��*�American Foundation for the Blind provides information on creating
    accessible computer applications at: [
��*�GNOME Accessibility Project has written a guide specifically for
    application development for the GNOME 2.0 desktop. More information is
    available at: [
��*�IBM Accessibility Center provides links to a software accessibility
    checklist, testing information, and the Section 508 Rehabilitation Act.
    This site is located at: []
��*�Sun Accessibility provides information on designing applications for
    accessibility at: [
    software.guides.html and an Accessibility Quick Reference Guide is
    available at: [
��*�W3C User Agent Accessibility Guidelines 1.0 provides guidelines on
    accessible Web browser development including multimedia players and Web
    related software. []

8. Other Helpful Information

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

��*�The CMU Sphinx Group Source has released a set of reasonably mature,
    speech components that provide a basic level of technology to anyone
    interested in creating speech enabled applications. More information is
    available at: [] http://
��*�Access to Linux documentation is critical to learning and using Linux.
    The Linux Documentation Project has links to many Linux HOWTOs, mini
    HOWTOs, and guides, as well as information on becoming involved in
    authoring new HOWTOs. More information and downloads are available at:
��*� provides rpm downloads for Linux applications on most Linux
    operating systems. The site is located at:[] http:/
��*�Sourceforge provides updated information, documentation, and software for
    Linux. Some of the applications available are under development. More
    information and downloads are available at: []
��*�The Trace Center provides accessibility information and software for the
    Linux operating system. More information is available at: [http://]
    computer_access/ and the Linux Accessibility Resource Site (LARS) [http:/
��*�W3C Web Accessibility initiative provides information and links on Web
    site accessibility. More information is available at: [] .

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 [] 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, [] and Nikhil Nair
[], the BRLTTY authors who
suggested a large number of corrections as well as extra information for some

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:// 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

  All copyrights belong to their respective owners. Other site content (c) 2014, GNU.WIKI. Please report any site errors to