Accerciser Manual v0.2.0

1. Introduction

Accerciser is an interactive Python accessibility explorer for the GNOME desktop. It uses AT-SPI to inspect and control widgets, allowing you to check if an application is providing correct information to assistive technologies and automated test frameworks. Accerciser has a simple plugin framework which you can use to create custom views of accessibility information.

In essence, Accerciser is a next generation at-poke tool.

2. Getting Started

2.1. To Start Accerciser

You can start Accerciser in the following ways:

Applications menu

Choose the Programming ▸ Accerciser menu item.

Command line

Type the following command in a console window then press Return:

accerciser

2.2. When You Start Accerciser

When you start Accerciser, the following window is displayed.

Figure 1Accerciser Main Window

The main Accerciser window contains the following elements:

Menubar

The menu bar contains commands for managing plugins, managing and using bookmarks, refreshing the accessible tree view, and accessing this help system.

Accessible tree view

The accessible tree view allows to view all of the accessibles starting at the desktop level. Selecting an accessible makes it available for further inspection using the loaded plugins.

Right plugin view

This is one of the two default plugin views. When Accerciser is first run, most plugins will reside here. You can drag plugin tabs to the bottom plugin view or to the desktop to show two or more plugins simultaneously.

Bottom plugin view

You can drag plugins to or from this area just like the right plugin view.

2.3. Plugin View Management

Accerciser has two modes for viewing plugins. The current view mode could be toggled with View ▸ Single plugin view or by pressing Control+t. When single mode is enabled, all plugins will be put in the top-right plugin view and ordered alphabetically; this could be useful for screen reader users who have no use for Accerciser's flexible plugin spacial layout scheme. When single view mode is disabled plugin tabs could be dragged and dropped in to different plugin views, or could be dragged to the desktop to put the given plugin in a new view. The placement of plugins could also be manipulated with the plugin context menu that could be brought up either from the plugin tab, or the plugin preferences dialogue.

3. Usage

You can use Accerciser to inspect any accessible widget shown in the tree view using the available plugins. The first step is to select an accessible to inspect using one of the following methods:

3.1. Select an accessible through the tree view.

Use the tree view to navigate the hierarchy of accessible objects rooted at desktop. Unfolding a tree node reveals its immediate children while folding it hides them. Each node shows an icon for its associated application or widget role and its accessible name, if available. The second column lists how many nodes will be shown if the item is unfolded.

3.2. Using bookmarks

Accerciser allows bookmarking selected accessibles for later examining. This could be helpful if the target application must be restarted, for example after rebuilding it. To bookmark the currently-selected accessible do Bookmarks ▸ Add Bookmark... or press Control+d.

Bookmarks to accessibles in Accerciser are defined by an application name and a "path" in the application's internal accessible hierarchy to the bookmarked accessible. When the target application is in a different state (i.e. multiple top level frames) the path might not be correct.

Bookmarks could be managed by accessing the bookmark editing dialogue through Bookmarks ▸ Edit Bookmarks....

4. Default Plugins

Accerciser comes with several default plugins. These plugins allow you to view a variety of information about the currently-selected accessible in the tree view and its neighbours. The default plugins available in 0.1.5 are the following:

4.1. Interface Viewer

This plugin displays information about the available interfaces for the selected tree view accessible. Unsupported interfaces are greyed out. Various instruments for viewing and controlling an interface are available under each expander.

Figure 2Interface Viewer

4.2. Event Monitor

This plugin monitors the selected types of events from the selected tree view accessible, from the selected tree view application, or the entire desktop.

Figure 3Event Monitor

By pressing Control+Alt+l anywhere on the desktop, the last logged event will be highlighted for later reference. See Section 5.2 ― Global Hotkey Configuration for how to change this key combination.

4.3. IPython Console

This plugin is a fully-fledged IPython console. Press Tab to show completions for the current command. Press Enter to execute any valid Python code. Commands at the console have access to the currently-selected accessible in the accessible tree by way of the acc variable. In addition, all functions and constants from the pyatspi package are available as locals in the console. The most important of these are the functions for querying to other accessibility interfaces. For example, to query to the Text interface: t = acc.queryText() . Imports from the current working directory or Python path are also allowed.

4.4. API Browser

This plugin shows the interfaces, methods, and attributes supported by the accessible selected in the tree view.

Figure 4API Browser

4.5. Script recorder

Accerciser's script recorder allows users to record keyboard interaction with other desktop applications for the purpose of authoring UI test scripts. Currently the plugin supports the generation of scripts for three platforms: Dogtail, LDTP, and an Accerciser's built-in API. Once you press the Record button every keyboard interaction will be recorded in to a script that could be executed later as a stand-alone script.

Figure 5Script Recorder

4.6. Quick select

This plugin provides global hotkeys for allowing quick selection of accessibles through the target application's UI. Pressing Control+Alt+a will select the last focused widget's accessible in Accerciser. Pressing Control+Alt+t will select the accessible of the widget that is under the pointer.

4.7. Validation

This plugin checks applications for accessibility problems and generates a report including the severity and description of the problems. The report links errors to documentation about how to remedy common problems. The plugin is extensible with test schemas that define rules for validation.

To run the validator, first select an item in the accessibility tree. The plugin will test the selected accessible and all of its descendants. Next select a schema to use for the test. Then click the Validate button to start the test. While the test is running, click the button again to cancel it.

When the test completes, the report table shows the severity and description of all errors. Double-click a row in the table to show the associated accessible in the tree. With an item selected, click the Help to get information about how to resolve the problem.

5. Preferences

There are some elements in Accerciser that are configurable:

5.1. Plugin Layout

There are two methods for configuring plugin layout in Accerciser. First you may choose Edit ▸ Preferences to activate the Preferences dialogue. This dialogue contains tabs for each section, select the Plugins tab. Under this section you will find a list view of all the available plugins. Right-click on any of the plugins listed to configure its view.

You may bypass the Preferences dialogue by using drag and drop to move plugin tabs. Dragging a plugin tab to the bottom or right plugin area in the main window will move the plugin. Dragging a tab to the desktop will create a new plugin window and drop the plugin in it.

5.2. Global Hotkey Configuration

Some elements in Accerciser may enable certain functionality via hotkeys. The hotkey combination could be changed via the Preferences dialogue, to do so you may select Edit ▸ Preferences to activate the Preferences dialogue. This dialogue contains tabs for each section, select the Global Hotkeys tab. Under this section you will find a list view of all the available hotkey features. Change the key bindings to your liking.

6. About Accerciser

Accerciser was written by Eitan Isaacson (). To find more information about Accerciser, please visit the Accerciser GNOME Live! page.

To report a bug or make a suggestion regarding this application or this manual, follow the directions in this document.

Redistribution and use in source and binary forms, with or without modification, are permitted under the terms of the BSD Licence.