[Kde-accessibility] Fwd: KDE Accessibility

Volker Hilsheimer vohi@trolltech.com
Wed, 27 Nov 2002 18:28:44 +0100


This is a multi-part message in MIME format.

------=_NextPart_000_0857_01C29642.D1709720
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

> Hello Volker!
>
> Thank you very much for your quick reply.
>
> > One of the issues mentioned that the Qt API for accessibility
support
> > was not versatile enough to be used by KDE, and that the
implementation
> > we have would need to be extended (and implemented on UNIX).
>
> That was our impression, we might be wrong.
>
> Everything we were saying was based on our unclear understanding of
the
> online documentation.

Read: On our understanding of the unclear online documentation ;-)
I guess that there is much we can improve on that...

> > - Qt receives the WM_GETOBJECT message
> > Qt uses the static function QAccessible::queryAccessibleInterface(
> > QObject*, QAccessibleInterface ** ) to get hold of the accessibility
> > implementation for the widget that the WM_GETOBJECT message had been
> > sent to.
>
> How does this static function know about KDE subclasses of Qt Objects?
Is
> there a way to extend this functionality for all KObjects as well?

A plugin implements a factory interface, and this factory interface
returns a stringlist that lists all widget classes the factory can
generate an accessibility-implementation for. I don't know if our plugin
is part of the X11 distribution, so I've attached a zip with the
sources. The factory is implemented in main.cpp.

Now the plugin manager that handles the plugin stuff for Qt loads all
the plugins it finds, asks for their list of "features", creates a map
and uses this map to provide a factory suitable for the classname of the
QWidget you ask for in the static function. If there is no plugin that
provides e.g. KPushButton as a widget it will go up the class hierarchy,
end up with QPushButton, find the Qt default plugin, and use the factory
in that plugin. Assuming that KPushButton has the same behaviour as
QPushButton (at least from an accessibility point of view) it will be
unnecessary to provide special implementations for most subclasses. If
it's necessary you just drop in another plugin.

> > - Additionally to that, Active Accessibility provides a notification
> > mechanism that allows applications to tell accessibility clients
that
> > something important has changed or happend (e.g. a checkbox changed
> > it's state). The static QAccessible::updateAccessibility() is
provided
> > for that, and a large set of "event types" (e.g. ValueChanged) is
> > defined in an enum (the enum values are identical to the respective
> > values in Windows, but can easily be mapped to something else).
>
> That's good. I couldn't figure out how this works from the QAccessible
> class documentation.

I don't know how it works either - I just call NotifyWinEvent ;-)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msaa/ms
aaccrf_76gk.asp

> We would also need information about simple things like a moved
cursor.

Note that QWidget has a function setMicroFocusHint() which we use for
that; on Windows, we position the caret in that function, and
communicate with whatever IME is running, and this is all we need to do
here (Windows generates the accessibility events from that on it's own).
The X11 implementation is communicating with XIM it seems, I don't know
if this is useful enough and if there is anything else we could or
should do, but we can certainly add whatever is necessary to this
implementation (or add another event to the event enum).

> > If it is not sufficient it is trivial to add another interface and
> > implement that as well in the plugins
>
> Great! To be honest, we are not sure ourselves what would be needed.
The
> standard accessibility solution on Linux is coming from Gnome, so we
have
> to learn both Qt and Gnome stuff to figure out the best way how we can
> use existing code best.

Yep; Gnome and Sun have been pushing this rather successfully, and from
what I've seen their interfaces are not much better than the Microsoft
stuff (just more complicated).

> > Any RPC will do for that, and we would definitely be interested in
> > putting some efforts into this (e.g. implement the server side for
the
> > RPC in Qt). Naturally, we would prefer this to be independent of
e.g.
> > CORBA ;-)
>
> That's our interest as well. We don't use CORBA in KDE. :-)
>
> > Well, please fwd. this to the respective lists/people. I would of
> > course like to know more details about what parts seem to be
> > insufficient or not flexible enough, so that we can add some fu in
Qt.
>
> We are still very much in a discussion phase and learning what Sun and
the
> Gnome Accessibility Project exaclty did with their AT-SPI. It would be
of
> great help if you could join the kde-accessibility mailing list
> (http://mail.kde.org/mailman/listinfo/kde-accessibility).

I just subscribed; I'll try to participate, but I cannot promise to be
of great help.


Cheers,
Volker


------=_NextPart_000_0857_01C29642.D1709720
Content-Type: application/x-zip-compressed;
	name="accwidgets.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="accwidgets.zip"

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
AJA8AAAAAA==

------=_NextPart_000_0857_01C29642.D1709720--