Accessibility and KDE Sessions

Frederik Gladhorn gladhorn at kde.org
Tue May 10 12:00:25 BST 2011


Hi,
currently there is good stuff happening when it comes to Accessibility and KDE.

I have lately spend some time improving the qt-at-spi bridge and it is getting 
a lot better, I hope we will have something sensibly working with Qt 4.8 and 
correspondingly one of the next KDE releases.

On thing that came up with the Gnome accessibility people is how we enable 
accessibility in a cross-desktop way. There are two sides to this: 1) when 
should Qt load the accessibility plugins on Linux and 2) how to make a KDE 
session accessible on log in.

1) Making Qt load accessibility plugins:
One possible solution is to query a X-Atom to check if the accessibility dbus 
is running. The downside is that this only works for newly started 
applications. It requires no changes to the existing infra structure and can 
be handled inside Qt with no changes in other places.
(for comparison, on Windows we get a system call NotifyWinEvent which signifies 
that now the accessibility should be activated... the current reality is that 
you need to have QT_ACCESSIBILITY=1 set in your environment when starting a Qt 
app)

2) Activating accessibility for a KDE Session
I have no idea about how to handle this in KDM.
For KDE in general, we could again persue a similar way to what Gnome does.
There is the at-spi-dbus-bus.desktop file included in at-spi-2-core which takes 
care of starting a dbus registry and setting up the session as needed 
(starting Orca for example)
The desktop file checks for a gconf setting. [1] I guess there is some 
equivalent way to do this in KDE and the maintainers are happy to extend this 
for us.

I would be interested to get feedback how to tackle these issues and making 
them a cross desktop standard. I bet there are nicer solutions than what I 
posted above.

Cheers,
Frederik


[1]
[Desktop Entry]
Type=Application
Name=AT SPI D-Bus Bus
Exec=/usr/libexec/at-spi-bus-launcher --launch-immediately
OnlyShowIn=GNOME;
NoDisplay=true
AutostartCondition=GSETTINGS org.gnome.desktop.interface toolkit-accessibility
X-GNOME-AutoRestart=true




More information about the kde-core-devel mailing list