• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: X11 and the accessibility API
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: X11 and the accessibility API


  • Subject: Re: X11 and the accessibility API
  • From: Ben Byer <email@hidden>
  • Date: Tue, 06 Nov 2007 04:36:44 -0800

On Nov 6, 2007, at 12:12 AM, Nathaniel Gray wrote:

Folks,

One of my long-standing annoyances with X11.app is that it doesn't
give *any* info to the accessibility API about its windows.  The
accessibility API is really handy for doing things like moving windows
programmatically, enabling useful apps like Witch and my own app
Forget-Me-Not.  Unfortunately, I have to special-case X11 and do a
bunch of Xlib hackery just to get my app to work with X11, and authors
of other programs generally can't be bothered to do the same.

Now that Apple seems willing to accept outside patches I would be
willing to try to add some accessibility support myself, if I knew
where to look.  Any thoughts or suggestions would be welcome.  My
concern in the past was that I might need the quartz-wm sources to
make this happen.  Does anybody know if that's the case or not?


Yup, still have <rdar://problem/4606472> X11.app should expose minimal accessibility information about its windows
in my queue :)


I asked the person in charge of quartz-wm that very question, and he said: "The X server owns the windows, so I think it would have to come from there - the X server has the same information that the WM has.."

I haven't had a chance to look further or to verify it. However, the 3-minute look says:

If we're going to content ourselves -- at least at the start -- to merely giving the Accessibility API the title of each window, then you should probably hook into the AppleWM handling path. Take a look at ProcAppleWMSetWindowMenu in hw/darwin/quartz/applewm.c, or X11ApplicationSetWindowMenu in hw/darwin/apple/X11Application.m. Then again, that will give you a list of titles of windows, but not a mapping between windows and titles.

So, maybe http://tronche.com/gui/x/xlib/ICC/client-to-window-manager/XGetWMName.html would be more appropriate? That's a client function, but it ends up caling XGetTextProperty, which will cause the server to execute ProcGetProperty in dix/property.c, so maybe you should look at how that's implemented.

Once we can map titles to windows, we can the start interfacing with the Mac OS X Accessibility protocol -- for those who haven't looked at it, see http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXModel/chapter_4_section_1.html

Going beyond that will be more difficult, and will likely involve http://www.linux-foundation.org/en/Accessibility
--
Ben Byer
CoreOS / BSD Technology Group, XDarwin maintainer

_______________________________________________
Do not post admin requests to the list. They will be ignored.
X11-users mailing list      (email@hidden)
This email sent to email@hidden


References: 
 >X11 and the accessibility API (From: "Nathaniel Gray" <email@hidden>)

  • Prev by Date: X11 source code: structure, building
  • Next by Date: Click-to-Front Problem
  • Previous by thread: X11 and the accessibility API
  • Next by thread: X11 source code: structure, building
  • Index(es):
    • Date
    • Thread