Making the accessibility stack enabled by default
Hello,
As discussed during DebConf15, we target enabling the accessibility
stack by default. I've studied that a bit more, here are my thoughts:
In the end, it boils down to a few things (there are a lot of ways
to get them done, but in the end, that's what actually triggers the
accessibility layers in toolkits):
- For gtk3, this is already done actually, whatever the desktop.
- For Qt4, qt-at-spi has to be installed and the environment variable
QT_ACCESSIBILITY has to be set to 1.
- For Qt5, the environment variable QT_LINUX_ACCESSIBILITY_ALWAYS_ON has
to be set to 1.
- For gtk2, libgail-common and libatk-adaptor have to be installed and
the gail and atk-bridge modules be loaded.
qt-at-spi, libgail-common and libatk-adaptor are already pulled by
pyatspi, which is used by gnome-orca to implement accessibility, so we
can consider this done.
The gnomish way of getting the gail and atk-bridge modules loaded
is using a gsettings schema. That will however only work if
gnome-settings-daemon is running, which will not be the case in a lot
of desktop environments. The other way is to just set the environment
variable GTK_MODULES to gail:atk-bridge.
So in the end, I'd say it boils down to defining these three variables.
A standard way of getting this done for graphical desktops is adding a
script to /etc/X11/Xsession.d/90accessibility which does that.
That will work when the graphical desktop is started from a display
manager (e.g. gdm, etc.), as well as when the user runs startx without
specifying an X client and without a ~/.xinitrc script.
The case which will not work, however, is when the user runs e.g. startx
/usr/bin/fvwm or when she runs startx and she has a ~/.xinitrc script.
A way to work around this would be to define the environment variables
directly in /etc/environment, but this perhaps looks overkill?
Once that done, check-a11y's make check works fine by default under fvwm
for instance.
Samuel
Reply to: