Ubuntu – What are the accessibility problems of Qt

accessibilityqtunity-2d

Jonathan Ridell said in a blog post that there were accessibility problems with Qt. I would just like to know what those problems are. Thank you very much and keep up the excelent work. Ubuntu Rocks!

Best Answer

I haven't done any development in Qt, but my gloss on the subject of accessibility there is that the concern might be a bit overblown. My understanding is that while GTK has built-in ATK support, Qt has to use a 'bridge' component to tie its native system to the accepted Linux accessibility framework.

Update -- I might have been premature in calling this issue overblown. For instance, as user9237 says, it doesn't look like AT-SPI was really ever implemented. So the trolltech doc quoted looks to be a bit "optimistic" . Here is an interesting blog post, unfortunately still a bit old, covering a lot of these issues : Qt/KDE and the state of free accessibility.

Here's Mark Doffman's code site for Qt AT-SPI. Of which he says,

This project is a Qt plugin that bridges the QAccessible API’s to the AT-SPI 2 protocol enabling Qt applications to be used with Orca, Accerciser, and GOK.

The possibly bogus Trolltech/Nokia link:

Here's what Qt docs say about Qt accessibility (from trolltech/nokia):

Accessibility support in Qt consists of a generic interface, implemented for a technology >on each platform: MSAA on Windows, Mac OS X accessibility on the Mac, and Unix/X11 AT-SPI >on Linux. Qt's accessibility interface closely follows the MSAA (Microsoft Active >Accessibility) standard, which most clients support. Other technologies used by Qt >provide similar functionality.*

A slightly newer document gives an overview of Qt accessibility.

By contrast, here's a quick run-down on accessibility interfaces from the Gnome project:
GAIL (GNOME Accessibility Implementation Library) is an implementation of the accessibility interfaces defined by ATK. GTK is a toolkit which is already mapped to ATK by the GAIL module. License, download and other information can be found here. The GAIL source code also serves as an excellent tutorial for advanced ATK usage. In addition, you may be interested in the GAIL Reference Manual.