Re: [g-a-devel] [Accessibility] Re: [Accessibility-atspi] D-Bus AT-SPI - The way forward
- From: Willie Walker <William Walker Sun COM>
- To: Rob Taylor <rob taylor codethink co uk>
- Cc: gnome-accessibility-devel <gnome-accessibility-devel gnome org>, accessibility-atspi-linux-foundation <accessibility-atspi lists linux-foundation org>, Mark Doffman <mark doffman codethink co uk>, kde-accessibility <kde-accessibility kde org>, accessibility-linux-foundation <accessibility lists linux-foundation org>, michael meeks novell com
- Subject: Re: [g-a-devel] [Accessibility] Re: [Accessibility-atspi] D-Bus AT-SPI - The way forward
- Date: Mon, 17 Dec 2007 11:08:51 -0500
Hi All:
I still need to catch up on all this mail. It's all good stuff, and I'm
excited to see intelligent and cooperative conversation going on. In
the meantime...
Having said that, it'd be great to build an understanding of what
people do synchronously during event emission & can't do elsewhere: to
add to the events themselves.
Yes! Please let us know, AT coders of the world!
I think there are a couple things to consider: 1) is there a need for an
AT to process events synchronously, and 2) what other information can be
sent in an event to avoid extra round tripping?
For the first question, Orca pretty much queue's all events and
processes them on the gidle thread. There are a few exceptions, but I'm
not sure they require synchronous handling.
When it gets an event, a lot of what Orca does is:
o Determine which application the event came from. This is important
because Orca allows scripting per application. Luckily, most toolkits
support putting the application in the event, so we're pretty good with
that.
o Look at the role of the event source. Passing this along in the event
would prevent a round trip.
o If Orca decides it needs to present something about the event source,
we also typically look at the ancestry of the event source. The main
reason for this is to compare the ancestry of the current object with
focus to the ancestry of the object that previously had focus so that
Orca can present contextual changes in location. I'm not sure sending a
complete ancestry with every event would be desirable, though.
o The profiling work at
http://live.gnome.org/GAP/AtSpiDbusInvestigation/OrcaExtraProfiling can
also be used to give more insight.
Having said that, the main area where handling events synchronously is
desired is with testing. With this, we have a better chance at
repeatable test results since the application's state will essentially
block until we process the event in a synchronous manner. A notable
example of where asynchronous event handling can yield different results
is typing in text areas.
Will
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]