Linux Screen Reader (LSR) is an extensible assistive technology. The experience a user has when interacting with LSR is largely defined by extensions called Perks. Perks contain code which executes in response to events delivered by the LSR platform from desktop applications and the user. The Perks packaged with LSR create a screen reader user interface (UI) for people with visual impairments.
The Perks that define the basic screen reader user interface are the following:
Additional Perks exist to correct accessibility problems in and improve the usability of specific applications (e.g. gdmlogin, Gaim, Metacity, Firefox). These Perks supplement the core Perks described above with new commands and event handling logic. Their names are indicative of the applications they target.
The screen reader UI also includes a number of graphical user interface (GUI) dialogs. Choosers are dialogs for interacting with the user in more complex ways than is possible with simple keyboard commands. The choosers used in the screen reader interface are the following:
Monitors are dialogs for logging events within LSR, and are useful for debugging Perks. The monitors packaged with LSR are the following:
The remainder of this document describes the functionality provided by these extensions working in concert. The document is organized by high-level topics such as automatic responses to events, available keyboard commands, the structure of dialogs, and user configurable settings. Each section describes the final, proposed design for the screen reader UI, but gives tips as to what is missing from the current code base.
The terms says, reports, announces, etc. is used throughout this document to mean “LSR outputs information”. Exactly how information is output depends on three factors. First, the available output devices determine the medium in which the information is presented (e.g. audio, tactile). Second, the capabilities of the available output devices determine the possible ways in which information is presented (e.g. speech versus auditory icon, 40 Braille cells versus 80 Braille cells). Third, user configured values for supported device settings determine the final presentation (e.g. voice pitch). Therefore, a statement like “LSR says the label of the text control.” only implies what info is output, not how it is output.
For definitions of LSR architecture terms, please refer to the Linux Screen Reader Workbook.