The BasicSpeechPerk listens for and responds to a number of common events. The output generated by the BasicSpeechPerk for each of these events is described in the sections below.
Note that the current user verbosity settings may add and remove any part of LSR output. Device settings and capabilities may similarly affect how the output is styled for presentation. The descriptions below assume no part of the output is removed (i.e. verbosity is maximum). They also make no mention of how output is styled, only what content the BasicSpeechPerk sends to an output device.
When the screen reader is started without the --no-intro command line switch, the system says:
The localized welcome string, following the localized format:
Welcome to Linux Screen reader version%(version number)s, revision%(build date)s
If a window is active after starting, the BasicSpeechPerk announces:
No other information about the current focus or caret position is reported until another event occurs.
Example 1. Startup announcement
The user starts LSR from the gnome-panel with gedit as the foreground window.
Welcome to Linux Screen Reader version 0.3.0 revision Tue Sep 19 14:27:25 UTC 2006.
Unsaved document 1 - gedit.
When a new window is raised to the foreground, the BasicSpeechPerk says:
Example 2. Window change announcement
The user closes a changed gedit before saving it. The gedit confirmation dialog appears.
Question Save the changes to document "Unsaved Document 1" before closing?
If you don't save, changes from the last 3 seconds will be permanently lost.
The announcements for a focus change and active selection change immediately follow.
A focus change event indicates user input is now directed at a new control. When focus moves to a new control in the active window, the BasicSpeechPerk announces:
![]() | Note |
|---|---|
A role is one of the object types supported by the accessibility API on the platform. For AT-SPI, this is a string version of one of the constants listed in the Accessibility::Role enumeration. |
Example 3. Focus on a button control
The gedit preferences dialog is the active window. The focus is on the View tab. The user presses Alt-H.
button
The announcement for an active selection change immediately follows.
Example 4. Focus on a spinner control
The gedit preferences dialog is the active window. The focus is on the View tab. The user presses Alt-R.
Right margin
Right margin at column:
spinner
The announcement for an active selection change immediately follows.
Example 5. Focus on a table control
The gedit preferences dialog is the active window. The focus is on the Highlight mode: combobox under the Syntax Highlighting tab. The user presses Tab.
Elements
table
The announcement for an active selection change immediately follows.
A selection change event indicates an item within a control is now active, selected, or deselected. At most one item within a control may be active. The active item is usually surrounded by a dotted border. One or more items may be selected in some controls. Selected items are typically indicated by a colored highlight.
Active selection events occur for both simple controls having no more than one visible item (e.g. buttons) and complex controls having multiple items (e.g. lists, tables, trees). For a simple control, an active selection change always follows a focus change event. In this case, the text on or in the simple control (e.g. a button label) is the active selection. The active selection cannot be changed by the user in a simple control
For a complex control, an active selection may occur in one of two ways. First, an active selection change is triggered when a control receives focus and one of its items is already active. Second, an active selection change happens when a user navigates to other items in the control using the keyboard (e.g. arrow keys) or the mouse.
When the active selection changes, the BasicSpeechPerk says:
The header labels of the current table cell or list item. A row or column header is not announced if it does not exists or is the same as the last one announced. The report follows one of three localized formats depending on the available information:
row%(row header)s, column%(column header)s
row %(row header)scolumn %(column header)sThe localized state of the item, if the item has one of the following interesting state pairs:
The tree level of the item, if the item is in a tree control and the level is not the same as the last one reported. The root level starts at the numeral one, and follows the localized format:
level %(level)dThe one-dimensional list index or two-dimensional table index of the item, if the item is in a complex control and the index is not the same as the last one reported. The index starts at the numeral one. The report follows one of two localized formats depending on whether a list or table has focus:
item %(index)ditem%(row index)d,%(column index)d
The maximum list or table offsets, if this is the first active selection change in the complex control. The report follows one of two localized formats depending on whether a list or table has focus:
of %(index)dof%(row index)d,%(column index)d
The minimum, maximum, and step size for a numeric control value, if the item has a value. The report follows one of two localized formats depending on the available information:
%(minimum value)dto%(maximum value)dby%(increment)d
%(minimum value)dto%(maximum value)d
Example 6. Active selection on a button
The button receives focus as in Example 3, “Focus on a button control”. Immediately after, the name of the button receives the active selection.
Help
Alt-H
Example 7. Active selection on a spinner
The spinner receives focus as in Example 4, “Focus on a spinner control”. Immediately after, the line of text in the spinner receives the active selection.
80
1.0 to 160.0
Example 8. Active selection on a table cell
The table receives focus as in Example 5, “Focus on a table control”. Immediately after, the first cell in the table receives the active selection.
table cell
Character Constant
item 1 of 9
Selection and deselection events occur in complex controls where more than one item may be selected. When an additional item is selected or an item is removed from the selection set, the BasicSpeechPerk announces:
The selected item, following one of two localized formats:
select %(item text)s
deselect %(item text)s
The number of currently selected items, following the localized format:
%(count)d selected
![]() | Tip |
|---|---|
Multiple selections are not announced. |
Example 9. Select list item
The file-roller application window is active. The focus is on the file list and the first item labeled doc has the active selection. No items are currently selected. The user presses Control-Space to select the item.
select doc
1 selected
Text selection events occur in text areas which allow text to be highlighted for later operations. When text is selected or deselected, the BasicSpeechPerk says:
The total number of characters in the selection, following one of two localized formats:
selected %(count)d
unselected %(count)d
The actual selected or unselected text is announced before this announcement is made due to the movement of the text caret (see Section 2.6, “Caret Movement”).
A state or value change event indicates a new boolean or numeric value in the active item. When either of these changes occur, the BasicSpeechPerk says:
The localized state of the item, if the one of the following interesting state pairs changed:
Caret movement events occur when the text insertion caret changes location in a focused selectable or editable control. When the caret moves within a visual line, the BasicSpeechPerk reads:
When the caret moves across visual lines or appears on a line for the first time, the BasicSpeechPerk reads:
Text edit events occur when text is added to or removed from a focused text entry field. When a short segment of text, roughly a paragraph worth of text or less, is added to or removed from the text area, the BasicSpeechPerk speaks:
![]() | Tip |
|---|---|
Cut, copy, and paste announcements are not supported. |
When a longer segment of text is added to or removed from the text area, the BasicSpeechPerk speaks:
When the screen reader exits normally, the system says:
The localized exit announcement, following the format:
LSR exiting
The following example shows how the BasicSpeechPerk responds to actions in the Nautilus file browser. The initial state of the Nautilus window is shown in Figure 1, “Nautilus file browser window”.
Figure 1. Nautilus file browser window

The open folder parente contains seventeen files and subfolders. The first row is selected, and the first cell in that row is active.
Example 10. Nautilus window opens