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

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: