Linux Accessibility HOWTO

Michael De La Rue

Sharon Snider

The Access-HOWTO is copyrighted (c) 1996 by Michael De La Rue

The following terms are trademarks and registered trademarks of International Business Machines Corporation in the United States and/or other countries: IBM and ViaVoice. A full list of trademarks may be found at http://www.ibm.com/legal/copytrade.shtml. Linux is a trademark of Linus Torvalds. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

v3.1, June 21, 2002

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

Abstract

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

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

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.

  • 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://www.cs.cornell.edu/home/raman/emacspeak/. The Emacspeak HOWTO http://www.ibiblio.org/pub/Linux/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: http://www.eklhad.net/linux/jupiter/.

  • 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: http://www.euronet.nl/~acj/eng-screader.html.

  • 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: http://dogma.freebsd-uk.eu.org/~grrussel/speaker.html.

  • 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://www.linux-speakup.org/ 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: http://www.linux-speakup.org/zipspeak.html.

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

3.1.2.2. 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://www.cstr.ed.ac.uk/projects/festival/.

  • 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: http://tcts.fpms.ac.be/synthesis/mbrola.html.

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: http://projects.prosa.it/gmag/.

  • 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: http://trace.wisc.edu/world/computer_access/unix/unixshare.html.

  • 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: http://freshmeat.net/projects/svgatextmode/. 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: http://www.cs.rpi.edu/pub/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://filewatcher.org/sec/xzoom.html.

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.

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:

  • Brass is a new program that combines speech and Braille output. The current version is still in testing and can be downloaded at: http://www.butenuth.onlinehome.de/blinux/.

  • 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: http://dave.mielke.cc/brltty/.

  • NFBTrans is a freeware Braille translator written by the National Federation for the Blind (NFB). Software packages are available for download at: http://www.nfb.org/nfbtrans.htm.

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: http://www.icewalk.com/doclib/howtos/mini/X-Big-Cursor.html.

There are also a large select of cursors that can be downloaded at: http://themes.tucows.com/cursors.html.

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://leb.net/pub/blinux/.

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: http://leb.net/pub/blinux/bootmeup/.

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://access-mozilla.sourceforge.net/.

  • Blind + Linux = BLINUX provides documentation, downloads and a mailing list that focus on users who are blind. Information and software packages are available at: http://leb.net/blinux.

  • 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://www.emerson.emory.edu/services/latex/latex_toc.html.

  • 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://www.nfb.org/.

  • 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://ocularis.sourceforge.net.

  • 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: http://www.icewalk.com/softlib/app/app_01508.html.

  • 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: http://www.suse.de/us/products/susesoft/70news/new_in_70.html.

  • 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: http://sal.unimedya.net.tr/Z/3/XOCR.html.

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

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.

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.

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

  • 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 disabled:

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: http://opop.nols.com/gtkeyboard.html.

  • 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://www.gok.ca.

5.2.2. Speech Recognition

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

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

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: http://www.kiecza.de/daniel/linux/.

  • 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: http://www-4.ibm.com/software/speech/dev/.

  • 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://freespeech.sourceforge.net/.

  • XVoice enables continuous speech to text dictation for many applications. More information is available at: http://www.compapp.dcu.ie/~tdoris/Xvoice/.

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:

  • 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://fife.speech.cs.cmu.edu/sphinx/.

  • 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: http://www.linuxdoc.org.

  • RPMFind.net provides rpm downloads for Linux applications on most Linux operating systems. The site is located at:http://www.rpmfind.net.

  • Sourceforge provides updated information, documentation, and software for Linux. Some of the applications available are under development. More information and downloads are available at: http://www.sourceforge.net.

  • The Trace Center provides accessibility information and software for the Linux operating system. More information is available at: http://trace.wisc.edu/worl/computer_access/ and the Linux Accessibility Resource Site (LARS) http://trace.wisc.edu/linux/.

  • W3C Web Accessibility initiative provides information and links on Web site accessibility. More information is available at: their website.

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.