2. Event Announcements

2.1. Screen Reader Start
2.2. Window Activation
2.3. Focus Change
2.4. Selection Change
2.4.1. Item Activation
2.4.2. Item Select and Deselect
2.4.3. Text Select and Deselect
2.5. State and Value Change
2.6. Caret Movement
2.7. Text Edits
2.8. Screen Reader Exit
2.9. Example: Nautilus

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.

2.1. Screen Reader Start

When the screen reader is started without the --no-intro command line switch, the system says:

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

  1. The title of the active window.

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.


2.2. Window Activation

When a new window is raised to the foreground, the BasicSpeechPerk says:

  1. The title of the active window or the localized string "no talk."
  2. All static text labels up to, but not including, the first non-label control.
  3. The information reported for a focus change (see Section 2.3, “Focus Change”).

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.


2.3. Focus Change

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:

  1. The name or label of the container of the focused control (e.g. group box label, menu label, page tab label, frame title). This announcement is made only if the container name or label differs from the last one reported.
  2. The accessible label for the control, if it exists.
  3. The localized role name of the control, if it differs from the last role announced.
  4. The information reported for an active selection change (see Section 2.4, “Selection Change”) or a caret move to a new line (see Section 2.6, “Caret Movement”).
[Note]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.


2.4. Selection Change

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.

2.4.1. Item Activation

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:

  1. The localized role name of the selected item, if it differs from the last role announced.
  2. The text of the active item, if it differs from the accessible label. For a simple control, the item text is the name on the control. For a complex control, the item text is the name of the active child item.
  3. 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)s
    • column %(column header)s
  4. The localized state of the item, if the item has one of the following interesting state pairs:

    • enabled/disabled
    • expanded/collapsed
    • checked/unchecked
    • animated/not animated
  5. 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)d
  6. The 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)d
    • item %(row index)d, %(column index)d
  7. 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)d
    • of %(row index)d, %(column index)d
  8. The access key for triggering the item (e.g. Alt-A), if one exists.
  9. The numeric value of the item (e.g. slider value), if it was not already announced as the item text.
  10. 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)d to %(maximum value)d by %(increment)d
    • %(minimum value)d to %(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


2.4.2. Item Select and Deselect

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:

  1. The selected item, following one of two localized formats:

    • select %(item text)s
    • deselect %(item text)s
  2. The number of currently selected items, following the localized format:

    %(count)d selected
[Tip]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


2.4.3. Text Select and Deselect

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:

  1. 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”).

2.5. State and Value Change

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:

  1. The localized state of the item, if the one of the following interesting state pairs changed:

    • enabled/disabled
    • expanded/collapsed
    • checked/unchecked
    • animated/not animated
  2. The new numeric value of the item, if the value changed.

2.6. Caret Movement

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:

  1. The text passed by the caret during the move.
  2. The information reported by a text selection (see Section 2.4.3, “Text Select and Deselect”).

When the caret moves across visual lines or appears on a line for the first time, the BasicSpeechPerk reads:

  1. The text of the entire line in which the caret is positioned after the move.
  2. The information reported by a text selection (see Section 2.4.3, “Text Select and Deselect”).

2.7. Text Edits

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:

  1. The localized word backspace, delete, cut, copy, or paste depending on the action that caused the change in the text. No action name is spoken if text is inserted programmatically or by typing.
  2. The inserted or deleted text.
[Tip]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:

  1. The localized word backspace, delete, cut, copy, paste, or insert depending on the action that caused the change in the text.
  2. The length of the inserted or deleted text in characters.

2.8. Screen Reader Exit

When the screen reader exits normally, the system says:

  1. The localized exit announcement, following the format:

    LSR exiting

2.9. Example: Nautilus

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

A screenshot of a 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

When the nautlius window is raised to the foreground, the BasicSpeechPerk says:

parente             ❶
table               ❷
table cell          ❸
column Name         ❹
Desktop             ❺
cell 1, 1 of 17, 4  ❻
collapsed           
Title of the window.
Role of the focused widget.
Role of the active item.
Column header of the active item.
Text of the active item.
Row and column index of the item and extents of the widget.
State of the item.

Example 11. Nautilus row navigation

If the user next presses the Down arrow to move to the second item, the BasicSpeechPerk says:

Dissertation  ❶
cell 2, 1     ❷
collapsed     
Text of the active item.
Row and column index of the item.
State of the item.

Example 12. Nautlius fold and unfold

If the user then presses Shift-Right followed immediately by Shift-Left to unfold and refold the Dissertation folder, the BasicSpeechPerk says:

expanded  ❶
collapsed 
First state change.
Second state change.

Example 13. Nautilus column navigation

If the user then presses Left arrow once, the BasicSpeechPerk says:

column Date modified              ❶
Thu 28 Sep 2006 09:59:59 PM EDT   ❷
cell 1, 4                         
Column header of the active item.
Text of the active item.
Row and column index of the active item.

Example 14. Nautilus type-ahead find

Finally, if the user begins to type the string “music”, the gtk type-ahead search box appears and the BasicSpeechPerk says:

text  ❶
m     ❷
u
s
i
c
Role of the focused widget.
Text entered character by character.

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

Copyright © 2006, 2007 IBM