4. Graphical Dialogs

4.1. Settings Chooser
4.1.1. Perk Settings
4.1.2. Device Settings
4.1.3. System Settings
4.1.4. Profile Settings
4.2. Help Chooser
4.2.1. Control Help
4.2.2. Accessibility Info
4.2.3. Command Help
4.2.4. Application Info
4.3. Search Chooser
4.4. Perk Chooser
4.5. Developer Dialogs
4.5.1. Event Monitor
4.5.2. Task Monitor
4.5.3. I/O Monitor

Not all interactions with the user can effectively occur via automatic event reporting and keyboard commands. For instance, having keys to configure all Perk and device settings is untenable, especially since each Perk can define new user options. Instead, the screen reader interface has GUI dialogs to enable more complex interactions with users.

4.1. Settings Chooser

The settings chooser allows the user to configure options for Perks, devices, the LSR platform, and the current user profile. The chooser has four tab panels that display the settings in each of these areas. The widgets of the first three panels are generated dynamically based on the options exposed by Perks, devices, and the LSR platform. The structure of the fourth panel is fixed at design time to show the contents of the active user profile.

All changes to settings take affect immediately in the user interface. Setting values are made permanent by activation of the Apply or OK buttons. Setting values are discarded on activation of the Cancel button. The dialog closes immediately when OK is activated.

Two hotkeys are defined to enable quick navigation of the dialog. Alt-1 gives focus to the row of tabs for navigating to the four configuration panels. Alt-2 gives focus to the first focusable control in the current panel.

4.1.1. Perk Settings

The Perk Settings tab panel has two primary areas. On the left, a list box shows the localized names of Perks that are either currently loaded or associated with the active user profile. Only Perks that have user configurable settings are shown. Selecting one of the names in the list causes the scroll panel on the right to update. This panel displays widgets for configuring the settings for the selected Perk. See Section 5.1, “Perk Settings” for a list of the settings provided by the core screen reader Perks.

The settings for a given Perk name effect all instances of that Perk. In other words, the settings are global.

Figure 2. Perk settings panel

A screen shot of the Perk settings panel in the settings chooser.

4.1.2. Device Settings

The Device Settings tab panel also has two primary areas. The root level of the tree on the left shows the localized names of devices that are currently loaded. Selecting one of the names in the list causes the panel on the right to update. The panel contains widgets for configuring the default settings for the selected device.

If a device supports fine-grained configuration of output, a second level of tree nodes appears under the device name. The second level items have localized names for the semantic tags supported by LSR. When selected, the panel to the right updates with widgets for configuring settings for the selected tag. For instance, say a user selects the Color node under a speech device. The panel on the right should show options for changing the voice characteristics used when speaking color information.

[Note]Note

Semantic tags are not configurable, only default device settings.

The available settings are defined by the capabilities of the device being configured. See Section 5.2, “Device Settings” for a list of the settings provided by typical screen reader devices.

Figure 3. Device settings panel

A screen shot of the device settings panel in the settings chooser.

4.1.3. System Settings

The System Settings tab panel shows widgets for options made available by the LSR platform itself, independent of any Perks or devices. These options are typically for developers or advanced users, and effect how the LSR platform scripting API methods behave. See Section 5.3, “System Settings” for a list of the settings provided by the LSR platform.

Figure 4. System settings panel

A screen shot of the system settings panel in the settings chooser.

4.1.4. Profile Settings

The profile tab panel shows the available extensions which the user can set to load automatically. The tab is labeled with the name of the active profile for reference (e.g. user). The profile panel has four sub-tab panels representing the four kinds of LSR extensions: Perks, devices, monitors, and choosers.

Figure 5. Profile panel

A screen shot of the profile panel in the settings chooser. The Perks sub-panel is currently visible.

4.1.4.1. Installing Extensions

The user may install any kind of extension by activating the Install button. The table of extensions of the given type is automatically updated to show the newly installed item. However, the actual install does not happen unless the user activates the OK or Apply button. The new extension is available only to the current user, not to all users of the operating system. It defaults to loading automatically in the current user profile.

The user may uninstall any extension previously installed by this user only by activating the Uninstall button. The table of extensions of the given type is automatically updated to show the newly installed item. However, the actual uninstall does not happen unless the user activates the OK or Apply button.

The user may activate the Reset button to restore the current profile to a reasonable default state. All extensions packaged with the LSR platform will be returned to their default configuration. Extensions installed by the user will not be uninstalled.

[Tip]Tip

The install, uninstall, and reset buttons are disabled.

4.1.4.2. Associating Extensions

The Profile Perks sub-panel shows a table of installed Perks. The names of the Perks are given in the first column along with their descriptions in the second column. Perks with check marks next to their names are loaded automatically either when every application starts or when a particular application starts. Exactly when a Perk should load is determined by its author.

[Note]Note

The user can override the author's association at the command prompt. See man lsr for more information.

The Profile Devices sub-panel shows a table of installed devices. The first column enumerates their names and the second column their descriptions. LSR attempts to load devices with check marks next to their names at start-up, in top-to-bottom order. The user can change the attempted load order using the Raise and Lower buttons. The load order is executed immediately when either of the Apply or OK buttons is activated.

[Important]Important

A device loads only if all of the services it provides are not already provided by one or more devices earlier in the load order. For instance, even if three speech devices are checked, only the first device to successfully initialize will be loaded.

The Profile Monitors sub-panel shows a table of installed monitors and their descriptions. Monitors with check marks next to their names are automatically loaded at start-up. Monitors are immediately loaded or unloaded when either of the Apply or OK buttons is activated.

The Profile Choosers sub-panel shows a table of installed choosers and their descriptions. The table is read-only since choosers do not load automatically, only under the direction of an accompanying Perk.

4.2. Help Chooser

The help chooser gives usage and accessibility information about the widget at the pointer POR and a description of the features provided by all Perks currently loaded for the active application. This information is separated into the four tab panels described below.

[Tip]Tip

The help chooser is not implemented.

4.2.1. Control Help

This panel displays instructions on how to use a known GUI control in a standard text box along with an example of the control. For example, if the pointer is on a check box when the help dialog is shown, something like the following text is provided:

A check box represents a setting that is either true or false. When it is "checked," it is true. When it is "unchecked," it is false. Press the Spacebar to switch between checked and unchecked. Press Tab or Shift-Tab to navigate to the next or previous control outside of the check box.

If the control is of an unknown type, the panel shows text stating this fact. In this case, the panel contains no example widget.

4.2.2. Accessibility Info

This panel shows a text description of the accessibility information available for a GUI widget in a standard text box along with an example of the control. For example, if the pointer is on a radio button belonging to a group of three, something like the following text is given:

The role of this widget is radio button. Its accessible name is blank. Its description is blank. It has the state checked. It has a label "Two" and is a member of a group of three radio buttons.

If the control is inaccessible, the panel contains text stating this fact.

4.2.3. Command Help

The commands panel contains a table describing the commands provided by the Perks loaded on the current application and their bindings to input gestures (e.g. keyboard combos, Braille device buttons). The first column of bindings is generated automatically by querying the loaded Perks. The second column of descriptions is generated by accessing the descriptions of the Tasks registered in the loaded Perks and bound to input gestures.

4.2.4. Application Info

This panel contains a table with the names of the Perks loaded for the active application and help on using the features of those Perks in the active application. The first column is populated with the names of Perks having help strings. The second column shows the help strings obtained by querying the loaded Perks. Perks not having help strings are not listed. For example, a Perk for the Firefox web browser might suggest the user read the page using the review keys, and also explain how to navigate by elements like headers, form controls, links, and so on.

4.3. Search Chooser

The search chooser prompts the user to enter a string to locate in the active view. The dialog contains a single line text entry box, a Close button, and check boxes for matching case and wrapping search. When the dialog is shown for the first time, text entry field is empty. When shown again after a search, the text entry field contains the last string entered for this view. The text of the last search string is selected.

[Tip]Tip

The last search string is not presented when the dialog is opened again.

Figure 6. Search chooser

A screen shot of the search chooser shown for the gnome-terminal application.

4.4. Perk Chooser

The Perk chooser gives the user control over which scripts are currently loaded for the active application. The table lists the names and descriptions of all installed Perks. Perk names with a check next to them are set to load or remain loaded on the application named in the window title. Perk names without checks are set to unload or remain unloaded. The actual loading and unloading of Perks occurs when the OK or Apply button is activated.

The order of the Perks in the table determines the order in which loaded Perks handle events. The Perk at the top of the list handles events first while the Perk at the bottom of the list handles events last. The user can change the ordering of the Perks using the Raise and Lower buttons. Only Perks set to load may be raised and lowered. Moving unloaded Perks is meaningless.

When a Perk is checked, it is immediately raised to the top of the list. When it is unchecked, it is lowered below the last checked Perk.

The hotkey Alt-1 is defined to quickly give focus to the table of Perks from anywhere in the dialog.

Figure 7. Perk chooser window

A screen shot of the Perk chooser dialog shown for the gnome-terminal application.

4.5. Developer Dialogs

The developer dialogs are intended to assist LSR script writers in debugging their custom Perks. Three monitors provide a running log of important events while the view chooser gives a developer the chance to explore and test the accessible components of an application.

All three of the developer monitors have nearly the same layout. A large, read-only text area practically fills the window. All events are logged into this area in plain text. A check box for enabling and disabling logging resides above the text area. When unchecked, all log messages are discarded. Regardless of this setting, no events are logged when an event monitor window is active. The File menu has options for clearing and saving the current log. The View menu has checkable items for enabling or disabling the kinds of events that are logged.

4.5.1. Event Monitor

The event monitor logs the raw accessibility events occurring on the desktop. The View menu has items for all of the major event types that can be logged. The format of each entry in the log is the following:

%(event type)s(%(event data)s)
    source: [%(accessible name)s | %(accessible role)s]
    application: [%(accessible name)s | %(accessible role)s]

Figure 8. Event monitor window

A screen shot of the event monitor window containing information about the last few raw accessibility events.

[Note]Note

The raw event log never includes events generated from LSR itself.

4.5.2. Task Monitor

The task monitor logs the execution of Tasks registered in Perks to handle events. The View menu has items for all of the known Task types. The format of each entry in the log is the following:

%(task type)s(%(task layer)s):
    %(event specific data)s
    tier: %(tier name)s
    %(Task name)s in %(Perk name)s.
        propagate: %(propagate event)s
    ...

Additional reports of Tasks executing in response to events appear under the first one at the same indentation level. Tasks explicitly executed appear indented under the Task that executed them. Tasks that chain to other Tasks appear indented and in color when they are executed.

Figure 9. Task monitor window

A screen shot of the task monitor window showing information about the last few Tasks executed in response to events.

4.5.3. I/O Monitor

The I/O monitor logs all content, semantic tags, and commands sent to an output device as well as input gestures on input devices. The View menu has items for all of the known kinds of input and output commands. The format of the I/O log differs from that of the other monitors. In keeping with the natural flow of output utterances, all information is logged on a single line. Line breaks are inserted after stops or when I/O from a different device needs to be interleaved in the log.

Content sent to a device is written as plain text. Stop and talk commands, index markers, filenames, and input gestures are wrapped in braces. Talk commands also include the name of the semantic tag associated with the preceding content. The templates for each of these items are as follows:

Figure 10. IO monitor window

A screen shot of the input/output monitor window showing information about the last few utterances sent to an output device.

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

Copyright © 2006, 2007 IBM