Willie Walker wrote:
I guess making sure GAIL (& other ATK implementations), atk-bridge and AT not to do unnecessary ref is important. And un-ref all accessible peers when AT is quiting.I think there's a few things to consider: 1) How to delay the creation of the accessible peers - we don't want to create them if nobody is interested. Related to this, how to delete any accessible peers if all assistive technologies go away.
If we don't create objects, the signals will not be emitted. And if objects are gone, there is also no signals. And of course we can tell atk-bridge not to emit all signals also.2) How to delay the emission of events - we don't want to emit them if nobody is interested. As with #1, how to stop the emission of events if all event-driven assistive technologies go away.
I think we can do this by a initialize function which only register the application.3) How to do the above, yet also ensure that applications are discoverable to assistive technologies and vice versa.
Li
In order to accomplish this, I think *some* level of a11y support needs to be on, but it could be a simple rendezvous mechanism that doesn't require peers to be created for all objects in an application. Will On Sat, 2008-11-01 at 16:36 +0000, Steve Lee wrote:2008/10/27 Li Yuan <Li Yuan sun com>:A way to do this in my mind is to create functions in atkmisc, to tell gail and other accessibility implementations to send out signal or not. If an AT is started, at-spi-registryd will call the function to tell applications "now it is time to send out the signals". But this require modification in all accessibility implementations (Firefix, OpenOffice, Gtk+ applications, Java applications).What if that gets pushed down the stack a bit so the decision to actually send on the wire is made even though ATK/FFx etc still call and look for events? Would the over head of the function calls that test and return with no a11y be too much to bear? It would be localosed in one place and all appswould behave the same.