Re: gtk accessibility on win32



OOO, neat graphs in MIDI?  Is your app available anywhere to play with?

I wrote a program in college for Blazie Engineering called Graphit that printed Braille graphs of equations and also allowed you to hear them as a rising and falling tone. Fun stuff!

Yes, Peter's suggestion would also work, but if you're gonna do a bridge from something to something, I'd recommend MSAA, since all the screen readers support that in some fashion. Note that not all the screen readers support Java. But if you're targetting JAWS, it does support Java.

If you made either a self-voicing app or ported one of the screen readers to Windows, then you would have some contention issues between them and JAWS/Window Eyes. the self voicing approach would be simpler in this regard, since I think all screen readers have the ability to go to sleep while certain applications have focus.

Peter's GTK module approach does in fact work. You simply write a GTK module that listens to various GTK events, and uses Flite or Microsoft SAPI to speak something relevant like the menu item that got focus, etc. You could reasonably do something like this in three weeks. I've done it before. I'd forgotten about it...

If you're mainly focussing on menus, then there's nothing too complicated to be done with any of these approaches.

Marc


At 10:54 PM 9/15/2004, Allin Cottrell wrote:
On Wed, 15 Sep 2004, Marc Mulcahy wrote:

Currently, GTK+ apps aren't accessible on Win32, because the GTKWidgets do not use standard Windows controls, and so screen readers can not identify them or make any sense of the information they contain.

OK, thanks, that's what I was guessing.

Basically, I guess what you'd need would be an ATK to MSAA bridge. You would need Gail installed, since it provides the ATK implementations for all the standard GTK+ widgets. You wouldn't need libgail-gnome.

Sounds good so far.

Creating an ATK to MSAA bridge wouldn't be trivial-- you'd have to create MSAA proxy objects that proxy for ATK objects. Not insurmountable, but not trivial either.

Thank you for the realistic appraisal. I'll have to do a little more investigating to see whether this looks doable within my time constraints.

I guess the other issue is how complex is your app. If it has some simple text controls and menus, then making it accessible on Win32 using the methods I described above is probably doable in a few weeks.

The most important thing for me is getting simple textual menu items read, so that a visually impaired user can make menu selections. So this sounds quite hopeful.

I already have some "custom" code that bypasses the whole ATK arena, which enables a user to press 'a' for audio over certain kinds of output windows and get a nice audio rendition of the content (using either the Windows Speech API or Flite under linux). And also (this is a data analysis program) a mechanism for rendering graphs in audio by generating MIDI files.

Allin Cottrell






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]