What is Accerciser?
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.
- pyatspi, not cspi, based
- 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 a poke tool, 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 IPython.
- 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.
- Accerciser does not disable its own accessibility.
- Yelp documentation
- Included in the package.
- Python powered
- Brits, not serpents.
The most recent stable release of Accerciser is version 3.4.x, and 3.5.x is the development one. You can get both of them by browsing the gnome.org FTP site. Click here to browse the gnome.org FTP site.
Also, you can get and install the current master from git by using the following commands:
git clone git://git.gnome.org/accerciser cd accerciser ./autogen.sh # or ./configure for first time build make sudo make install # or make install as root accerciser
On a Red Hat based distro:
python >= 2.4
pygtk2 >= 2.8
gnome-python2 >= 2.12
gnome-python2-libwnck >= 2.14
On a Debian based distro:
python >= 2.4
python-gtk2 >= 2.8
python-gnome2 >= 2.14
To use the Python console plugin, you must have IPython installed.
Note: Accerciser version 3 or later depends on gsettings instead of gconf2.
Activate the Contents menu item in the Help menu to access the Yelp documentation in Accerciser.
View our series of Accerciser screencast tutorials.
See slides from talk at GUADEC 2007.
We now have a tutorial for authoring plugins.
The following screencast tutorials require Ogg Theora to view.
Series #1: Introducing Accerciser
Series #2: Debugging with Accerciser
In addition the introductory article Python Powered Accessibility has a tutorial on using Accercisor.
Why not improve at-poke?
- It's cspi based.
- It's not 3rd party extensible.
- We like Python.
Where's the console plugin?
Make sure you have IPython installed and have run it at the command line. You should now get an error message when a plugin is unable to load.
Why can't I relocate the console or other plug-in views?
Normally you can drag or right click the tabs to float or dock the plug-in views. Sometimes this just doesn't work. To solve it use conf-edit or gconftool to turn off /apps/accerciser/general/layout_single.
Why does Accerciser freeze my desktop when I put it to sleep?
The AT-SPI registry daemon delivers events synchronously to an AT-SPI client. When a client blocks, it blocks the registry, which blocks AT-SPI servers from posting new events. Thus the entire desktop freezes. See bug #326545.
Don't put your AT to sleep.
How does Accerciser talk AT-SPI?
Bugs and enhancements
To report an Accerciser bug or request an enhancement, please use this Bugzilla template.
Accessibility testing resources
RoadMap for Accerciser in GNOME 3.0 and beyond.
EitanIsaacson is responsible for nearly all of the code in the version of Accerciser you see today. PeterParente worked on the original prototype, some of the documentation, and some of the packaging.