Proposed module: Accerciser

== Purpose

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

In essence, Accerciser is a next generation at-poke tool
( The primary features of
Accerciser are the following:

* 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.

* Plugin architecture. Create a Python module, drop it in a folder,
and have it load as a plugin pane with full access to AT-SPI and the
selected element in the accessibility tree view.

* Interface browser and event monitor plugins. All the features you've
come to expect from at-poke, and then some.

* IPython console plugin. A full, interactive Python shell with access
to the accessible object selected in the tree view; all AT-SPI
interfaces, methods and attributes; and any other Python modules.
Supports autocompletion and a million other niceties thanks to

* API browser plugin. Shows the interfaces, methods, and attributes
available on the selected accessible object.

* Global hotkeys. Move the tree view quickly to the last focused
accessible or the one under the mouse pointer. Insert a marker into
the event monitor log for easy identification at a later time.

* Customizable UI layout. Move plugin tabs to different panels or even
separate windows to view them concurrently.

* Accessibility. Accerciser does not disable its own accessibility.

* Yelp documentation. Included in the package.

* Python powered.

Although the version number is only at 0.1.0, Accerciser is quite
usable for its intended purpose.

== Target

Accerciser is being proposed for the developer tools module set.

== Dependencies

Accerciser relies on modules already included in GNOME releases. There
are no new dependencies. The list of required modules includes the

python >= 2.4
gnome-python-desktop >= 2.14 (for libwnck)
bonobo >= 2.12
pyORBit >= 2.14
pygtk >= 2.8 (for gtk and libglade)
at-spi >= 1.7

== Resource usage

Accerciser is already hosted in GNOME's subversion repository. The
first tarball release is posted on GNOME's FTP server and future
releases will follow suit. We are currently tracking Accerciser bugs
in a component of the separate LSR project, but have requested an
independent module for Accerciser. All bugs will be transfered when
the new module becomes available.

== Adoption

Ubuntu has created a LaunchPad page at which seems
to indicate they are working on distribution of Accerciser in Feisty.

== GNOME-ness and community

= Internationalization

All human-readable strings are marked for translation. Our autotools
process is configured to build and install translations for strings in
the code as well as our Docbook help files (see below). We recently
contacted the GNOME i18n team to ask them to begin translations of the

= Documentation

We have created Docbook help following the template maintained by the
GNOME Documentation Project. The documentation is viewable with Yelp
and accessible from the Help menu in the Accerciser program.

In addition to the static help document, we are in the process of
creating a number of tutorial screencasts demonstrating the use of
Accerciser ( Written
tutorials about extending Accerciser with plugins will follow.

= Look and feel

Accerciser uses gtk+ widgets to fit in with the look and feel of the
desktop as a whole. At present, we use the icons installed with glade3
to represent the roles of widgets in the Accerciser tree view.
However, the available icons are not an exact match for the AT-SPI
widget roles (
nor do they cover all of the available roles.

A graphic artist is in the process of creating icons matching the
AT-SPI roles exactly. We have requested that he create the icons
following the Tango Desktop guidelines
( When complete,
the icons will be packaged with Accerciser.

= Preferences

Version 0.2.0 of Accerciser will store preferences using gconf.
Support for gconf is already in trunk.

= Accessibility

Developers with disabilities are part of our target audience for
Accerciser. We have taken initial steps to ensure the tool is
accessible with Linux Screen Reader ( We
have plans to more rigorously evaluate the use of Accerciser with LSR
in order to correct any accessibility problems
( We may also create
a script for LSR to make the core Accerciser plugins more usable with
this screen reader.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]