[Kde-accessibility] Re: [Issue N25746] Qt Accessibility

vohi at trolltech.com vohi at trolltech.com
Wed Jul 2 15:08:12 CEST 2003

On Wednesday, 02. Jul 2003 10:49 Olaf Jan Schmidt wrote:
> Hash: SHA1
> Hi!
> The KDE Accessibility Project has written some documents about the Qt
> Accessibility features and how they can be made useful on Unix.
> We contacted Matthias Ettrich and Volker Hilsheimer about a week ago,
> but got no response.
> Could someone please look into
> http://accessibility.kde.org/developer/
> at check that the information is correct?
> Thanks,
> Olaf.

Hi Olaf,

I'm sorry, I didn't have time to look into mail on this list for quite a
while. I just read the documentation on your page, and it's very good.

We are currently working on extending our interface with functions that
make it possible for us to integrate with the Mac-OS-X Accessibility
infrastructure, as they have a standard already. We will at the same
time try to approximate the ATK/AT-SPI requirements with our interface
as well; your documentation will certainly be a very good help here
(the ATK documentation is a nightmare).

Note that the design behind QAccessibleInterface is very close to the
COM interface of Microsoft's MSAA. The idea here is that the client
only knows about objects of a certain "level", e.g. window handles. The
client looking into a window has of course no idea that that window
actually displays QListViewItems, so he cannot ask for anything for
those items; this is why MSAA has a parent-child navigation API, and an
interface either provides another interface for it's children (e.g.
that's what the default implementation does, using Qt's object
hierarchy), or provides the relevant information for the children
itself (e.g. that's what the implementation of QAccessibleListView
does). This way the accessibility client doesn't really have to care
about object structures - he just asks the for the accessible interface
for a given widget (at a given spot, which is easy to find for every
accessible client), asks that interface if there is a child object at
that spot, and then asks the interface for the relevant information
about that child (child == 0 if it's the object itself).

All in all I came to the conclusion that the MSAA interface design is
very well thought through and easy to implement and use both for the
application (providing information) and for the client developer
(requesting information), even though the interface is really too basic
to be able to use it without falling back on the complementary


Volker Hilsheimer, Support Manager
Trolltech AS, Waldemar Thranes gate 98, NO-0175 Oslo, Norway

Trolltech tip:
To explore how Qt applications can be made scriptable by using QSA,
visit http://www.trolltech.com/products/qsa

More information about the kde-accessibility mailing list