Exercising Your Application With Accerciser
Eitan Isaacson introduces Accerciser, a Python-based accessibility testing tool which allows testers and developers to assure that their applications are accessible.
GNOME enjoys the benefit of being accessible. A computer program is accessible when it provides the necessary means for people with disabilities to access it’s user interface. GNOME and GTK+ provide the infrastructure for this to be possible.
As an application developer, your GNOME application is probably largely accessible, even with no effort on your part. Like every other feature in your program, it’s accessibility could be enhanced, and made more usable to people with disabilities.
In order to do this, the accessibility of your application must be exercised. Accerciser is the accessibility exerciser you were looking for.
Accerciser is a Python-based accessibility testing tool. Like a Swiss Army Knife, it has many uses. The primary use of Accerciser is to allow testers and developers to assure that their application is accessible.
Some of Accerciser’s key features include:
- Accessible – Accerciser’s User Interface is accessible. An LSR extension in planned for the future to make Accerciser more usable via LSR.
- ORBit, not cspi, based – Like the modern LSR and Orca screen readers, Accerciser uses pyORBit to talk AT-SPI with other applications. The legacy cspi module is avoided. In fact, Accerciser 0.1.2 will be the first application to adopt the new Python AT-SPI bindings that will ship with the next version of AT-SPI.
- Customizable UI layout – Move tabs to different panels or even separate windows to view them concurrently.
- Quick accessible selection – Besides navigating through the tree view of the accessible applications on the desktop. A user could quickly select any visual accessible object on the desktop by pointing at it with the mouse cursor and pressing a hot key.
- Plug-in architecture – Accerciser has an easy and simple plug-in architecture. A user with a specific test case could quickly create a plug-in that provides the needed controls and information.
In the following sections we will review some of Accerciser’s default plug-ins.
The interface viewer plug-in gives the basic information and controls that are provided by the various interfaces each accessible object has. When accessible objects are selected in Accerciser, the Interface viewer will allow the tester to quickly review the supported interfaces of the examined accessible, to retrieve the information the interface provides, and to manipulate the accessible object through each of the interface’s methods. For example, when a button accessible is selected, it is possible to view the provided text in the Text interface view, and to have the button clicked in the Action interface view.
Assistive technologies rely heavily on the events that desktop applications emit via AT-SPI. Accerciser provides an event monitor plug-in that allows the user to view AT-SPI events as they occur. Furthermore, a user could filter the output to show only the types and sources of events that she is interested in.
Since Accerciser is a tool for the technically inclined, it must provide an easy method for allowing users to peak under the hood and explore AT-SPI. In the IPython console users could do just that, with the benefit of tab auto-completion, command history, and pretty output. When an accessible is selected in Accerciser’s tree view it could automatically be manipulated in the console.
Accerciser’s script recorder allows users to record keyboard interaction with other desktop applications for the purpose of authoring UI test scripts. Currently the plug-in 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.
While Accerciser might not wash the dishes piling up in your kitchen sink, it has a bit of everything for GNOME application developers and testers. Give it a try. Who knows? You might discover some facts about your application you never knew.
- Accerciser Wiki Page: http://live.gnome.org/Accerciser
- Gnome Accessibility Project: http://developer.gnome.org/projects/gap
About the author
Eitan Isaacson currently lives in Seattle. Besides other random GNOME contributions, he is the developer and maintainer of Accerciser. Eitan’s passions include sipping high-mountain oolong tea and talking politics.