What is Accerciser?

Accerciser is an interactive Python accessibility explorer. It uses the AT-SPI library to inspect, examine, and interact with widgets, allowing you to check if an application is providing correct information to assistive technologies and automated testing frameworks. Accerciser comes with a set of plugins that you can use to create custom views of accessibility information.

By default, Accerciser's main interface is comprised of three sections: a tree view of the entire desktop accessible hierarchy, namely Application Tree View, and two plugin areas. If you prefer to see all plugins in a single area, dividing Accerciser's interface in two sections instead of three, type ctrl +t. To re-divide it in three sections, just press ctrl+t again.

Make sure that accessibility support is enabled in your desktop - otherwise, Accerciser will not work as expected.


        Accerciser's default interface.
Accerciser's default interface.

Accerciser's intended audience

Accerciser fits the needs of many different audiences. User interface developers use it to ensure that their applications are providing all of their features through AT-SPI. Assistive technology developers are able to see what AT-SPI is providing to their applications. Automated UI test developers find Accerciser beneficial since it exposes different events that could be expected from their target application.

Accerciser's plugin architecture

Accerciser has an extensible, plugin-based architecture. Its core code is fairly small and most of its features are part of default plugins:

  • Interface Viewer - A plugin that lets you explore the AT-SPI interfaces provided by each accessible widget of a target application.

  • AT-SPI Validator - A plugin that applies tests to verify the accessibility of a target application.

  • Event Monitor - A plugin that displays AT-SPI events emitted by a target application as they occur.

  • Quick Select - A plugin that provides global hotkeys for quickly selecting accessible widgets in Accerciser's Application Tree View.

  • API Browser - A plugin that shows the interfaces, methods, and attributes available on each accessible widget of a target application.

  • IPython Console - A plugin that provides a full, interactive Python shell with access to selected accessible widgets of a target application.

More about Accessibility

Accessibility is a core value that should touch all aspects of a Desktop Environment. To help achieve it in GNOME, some libraries were developed, such as ATK and AT-SPI. Though originated in GNOME, these libraries are now also used in other Desktop Environments. To learn more about Accessibility Libraries for GNU/UNIX systems, you can consult:

  • ATK Accessibility Toolkit - ATK provides the set of accessibility interfaces that are implemented by other toolkits and applications. Using the ATK interfaces, accessibility tools have full access to view and control running applications.

  • AT-SPI - AT-SPI is the primary service interface by which assistive technologies query and receive notifications from running applications. Additional material is available from the KDE Accessibility Development Community.

  • GNOME Desktop Accessibility Guide - A guide for anyone interested in how the GNOME Desktop supports the needs of users with disabilities.

  • GNOME Accessibility Developer's Guide - A guide for developers who want to ensure their applications are accessible to the widest audience of users.

  • GNOME Accessibility Project - The GNOME Accessibility Project includes the guides listed above along with many other useful links for users, developers and system administrators.