Re: atk <-> MSAA once more
- From: Peter Korn <Peter Korn Sun COM>
- To: Allin Cottrell <cottrell wfu edu>
- Cc: gnome-accessibility-list gnome org
- Subject: Re: atk <-> MSAA once more
- Date: Wed, 06 Oct 2004 23:01:24 -0700
Hi Allin,
I'm afraid I'm not that expert at MSAA; I left the Windows screen reader
business before MSAA was released. However, based on my work on the Java
Access Bridge for Windows, I'm guessing your going to need to translate a
Win32 WindowID (and HWND or some such) to the top level GNOME GTK+ object, and
from there use ATK to get the ATK_Accessible from that GTK+ top-level window.
Once you've done that, general code that you'll need to write would create
proxy MSAA objects for each ATK_Accessible you find, populating it as
appropriate (based on the sub-interfaces of ATK that are implemented, and
translating the subset of ATK that MSAA implements).
The initial HWND->GTK+->ATK magic may prove tricky however; and I know nothing
about the GTK+ port to Windows to help you further...
Regards,
Peter Korn
Sun Accessibility team
Allin Cottrell wrote:
I'm following up on an issue I raised a few weeks back. I got busy with
other things, but would still like to take a crack at bridging between
gtk/atk and MSAA to provide a measure of accessibility for gtk apps on
win32.
So far I have made a Windows DLL of libgail (though I'm not quite sure
what that buys me) and have done some reading on MSAA. I'd be grateful
if anyone could check my (still vague) understanding of what has to be
done.
From the MS docs, I gather than if Jaws (say) is to read the menus
from a gtk appplication, it proceeds by asking OLEACC to quiz the app.
OLEACC sends a WM_GETOBJECT message to the "server" (e.g. the gtk app).
The server either returns zero (in which case OLEACC attempts to
construct a proxy), or it returns an "Iaccessible object". I'm
supposing that if the gtk app returns zero, OLEACC is not going to make
much headway trying to construct a proxy, since the app is not composed
of standard Windows controls. Therefore (?), the app will have to build
and return an Iaccessible object.
I can sort of see from the MS docs how one might go about constructing
an Iaccessible object. What I'm very hazy on is how one would hook this
up with atk/gail. Or how one would receive and recognize OLEACC's
WM_GETOBJECT message in the first place.
Would this involve (something like) creating an intermediary process
which would listen for WM_GETOBJECT, and with which one's gtk app would
be "registered" in some way. Is this roughly what gail does on gnome
(or is it at-spi that does that)?
Sorry for all the questions. It may be that I'm simply out of my depth
here, but I'm still keen to try if I can get a better handle on what's
required.
Allin Cottrell
Department of Economics
Wake Forest University, NC
_______________________________________________
gnome-accessibility-list mailing list
gnome-accessibility-list gnome org
http://mail.gnome.org/mailman/listinfo/gnome-accessibility-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]