1. Introduction

1.1. User Interface Elements
1.2. Terminology

1.1. User Interface Elements

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:

BasicSpeechPerk
Defines code for responding to application events and user input using text to speech synthesis
ReviewPerk
Defines commands for reviewing the content of an application by character, word, and item
AltShiftPerk
Binds commands defined in the other basic Perk to keyboard combinations prefixed with Alt-Shift as a modifier
DefaultDialogPerk
Displays and manages GUI configuration dialogs
DeveloperPerk
Defines additional commands and keyboard bindings for developing and debugging Perks

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:

SettingsChooser
Allows configuration of Perk, device, LSR system, and profile settings
PerkChooser
Allows temporary manual loading and unloading of Perks for a specific application
StringChooser
Gets an arbitrary string from the user for the purposes of a specific Perk (e.g. searching)
HelpChooser
Provides contextual help

Monitors are dialogs for logging events within LSR, and are useful for debugging Perks. The monitors packaged with LSR are the following:

RawEventMonitor
Shows accessibility events received from the underlying platform (e.g. AT-SPI)
TaskMonitor
Shows the execution of code in Perks in response to internal LSR events
IOMonitor
Shows user input to and output from LSR before formatting for presentation on a specific device

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.

1.2. Terminology

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.

Generated 2007/05/14 10:49:41-05:00

Copyright © 2006, 2007 IBM