Accessibility on Linux

Published Tuesday August 23rd, 2011 | by

We are happy to give you a release of the Qt Accessiblity bridge for Linux. The bridge provides the platform integration with the platform’s accessibility interface. It is still tagged as alpha but works surprisingly well here, so we’d like to get feedback from you.

The biggest change compared to earlier version is improvements in the way DBus is used. This leads to huge improvements when it comes to memory and cpu.

In order to play nice and make Qt applications accessible we chose to implement AT-SPI2 which is used by GNOME so that Qt, KDE and GNOME applications will be accessible in the same way with the same tools. The first goal is to get a nice experience with Orca, the GNOME screen reader.

Get it:
You need a working AT-SPI2 stack on your distro of choice. Chances are that there are packages. You probably need packages like at-spi2-core, at-spi2-atk, python-pyatspi2 and Orca (screen reader).

It may be required to tell GNOME to switch over to using at-spi2 instead of 1.

gconftool-2 --set /desktop/gnome/interface/at-spi-dbus --type bool true
gconftool-2 --set /desktop/gnome/interface/at-spi-corba --type bool false

For GNOME apps to be accessible you may need:

export GTK_MODULES=gail:atk-bridge

Once you have the GNOME apps working, get Qt up and running:
Use Qt from gitorious and make sure to use the 4.8 branch.
Install the bridge from gitorious, use the master branch.

In order to let Qt load the bridge you need to export an environment variable:

export QT_ACCESSIBILITY=1

And voila! Orca should now happily read Qt applications :)

If you find things that don’t quite work yet (such as expanding tree cells being rather not very reliable), head over to bugreports.qt.nokia.com and file a bug.

Did you like this? Share it:

Posted in Accessibility

12 comments to Accessibility on Linux

sebsauer says:

Congratulations for that achievement. Amazing work!

Juanjo Marin says:

Good job Frederick ! It’s a step forward for having a freedesktop accesible :-)

Peter Grasch says:

Awesome work! Can’t wait to get support for this into simon as well!

David says:

bla bla bla. I wish I could see any progress toward windows development improvement :(

Frederik Gladhorn says:

@David: There were several Windows fixes due to this work on Linux. We are getting this to work on all platforms. Consider that accessibility was not there on Linux at all. I think this is a great improvement for Qt Accessibility which will work on all platforms now. Of course there is some Windows work left to do :)

David says:

@Frederik, sorry friend, we have nothing to say except thanks for your work (which we get for free :) ). I just feel a bit discomfort for the fact that Windows, which has the largest market share, users and devs gets the least attention from Qt devs.
Forget it, just my thoughts :(

BTW, I acknowledge that, unfortunatelly I have never commited any kind of work to Qt, but not because I’m too lazy, but because I lack required C++ skills.

Heiko says:

Improving the accessibility on Linux is allways a good thing. David is right in that QT is still quite inaccessible on Windows. e.g. we were unable to get a table control to work properly with NVDA. Maybe I could help improving accessibility in QT but how?

Frederik Gladhorn says:

@Heiko yes, we would love to improve table support on windows. I implemented IAccessible2 table2 for Linux. We started an experimental IAccessible2 implementation for Windows which needs more work. If you are interested in contributing and checking out this work send me a mail or join #qt-labs on freenode (my nick is fregl).

Rezza says:

Great work, thanks!
Where can we expect proper release (and not only git snapshots)?

Laszlo Papp says:

Hi Frederik!
Let me say: great job! =)

1) I have been developing a dictionary application where I would like to use text-to-speech functionality.
Are there plans for text-to-speech classes in the Qt Accessibility project ? It would be a better approach than using low-level festival, espeak and other libraries.

2) Are there any plans to get things merged back from the KDE accessibility project ?

Thank you again! :)

Frederik Gladhorn says:

@Rezza: the bridge currently depends on Qt 4.8. So a release makes more sense when we will also release 4.8. Also there are issues to be expected, so I would like to not say this is the official final release.

@Laszlo: currently there are no plans for text to speech. We coordinate with KDE though and they have Jovie as text to speech solution and Simon for speech to text. Also speech dispatcher is a project to abstract the different synthesizer apis.
What would you like to see merged from KDE Accessibility?

gUY sCHLOSSER says:

This is an awesome step forward for Linux accessibility. I cannot wait to use apps like Virtualbox, and not have to depend on the command line. Good work Frederick.

Commenting closed.