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