This page gathers useful information about accessibility for package maintainers in general. For more details about accessibility development, please look at the accessibility devel page. For user documentation on accessibility in Debian, please look at the accessibility page.

Desktop environments

Desktop environments can have varying levels of support for accessibility:

Details are explained at the debconf15 talk Thanks for maintaing a desktop environment. But is it accessible?, with the slides (pdf, html, odp), the video and the transcript.

Accessibility stack working

For graphical desktop accessibility to work, three things are needed:

The first two points, described in details on the accessibility devel page, can be checked automatically on any desktop with

$ git clone git://git.debian.org/git/pkg-a11y/check-a11y
$ sudo apt-get install build-essential pkg-config libdbus-1-dev libatspi2.0-dev libgtk2.0-dev libgtk-3-dev libqt4-dev qtbase5-dev 
$ cd check-a11y
$ source env.sh
$ make check

sourcing env.sh enables the various accessibility layers, and then make check can be used to check that the various toolkits are accessible.

One can also run orca -l to check that the screen reader does manage to get the list of applications, and thus probably also all the rest.

Starting the screen reader should be achievable by hand, through a keyboard shortcut (gnome uses super-alt-s), or automatically at login when enabled by the user (desktop-dependent).

Desktop bits being accessible

If the desktop is based on gtk or qt, it is relatively easy, you just need to make sure that the information is available, e.g. by running orca -e braille-monitor and work as usual.

Desktop being actually accessible

To be really usable, a desktop should notably be usable with only the keyboard.

A crash-test is to run orca, enable speech, switch off the screen, and try to work...

Gnome provides a good guide for developping accessible applications

https://developer.gnome.org/accessibility-devel-guide/stable/

Display Managers

Display Managers basically need the same as Desktop Managers. The same scripts can be used to test for accessibility, and the same requirement for starting accessibility is needed.

Applications

Accessibility of applications is essentially implemented in the toolkit. gtk2, gtk3, qt4, qt5 are the only accessible toolkits.

Gnome provides a good guide for developping accessible applications

https://developer.gnome.org/accessibility-devel-guide/stable/