Re: [g-a-devel] ATK - Signal indicating new AtkObject creation.
- From: Michael Meeks <michael meeks novell com>
- To: Willie Walker <William Walker Sun COM>
- Cc: gnome-accessibility-devel gnome org, Mark Doffman <mark doffman codethink co uk>
- Subject: Re: [g-a-devel] ATK - Signal indicating new AtkObject creation.
- Date: Tue, 20 Jan 2009 11:20:05 +0000
Hi Willie,
On Thu, 2009-01-15 at 13:29 -0500, Willie Walker wrote:
> Thanks for the response, and nice hearing from you. :-)
Ah - good to shake some of the dust off, (and verily, the ivy that
groweth over me ;-) [ or something ].
> If we limit the a11y hierarchy to what is burning phosphorous on the
> screen, then we definitely can reduce the number of accessible objects
> quite a bit, agreed. But, I have a lot of questions... :-)
Ah yes - so, if we do that we also suck quite a lot ;-) I propose
instead some "near the screen" - metric. ie. anything that is a limited
set and has a well bounded lifetime should be immediately at hand, and
consistent in the AT's local tree representation.
> I'm scratching my head about things such as NODE_CHILD_OF,
> LABEL_FOR/LABELED_BY, CONTROLLER_FOR/CONTROLLED_BY, FLOWS_FROM/FLOWS_TO,
> etc., relations where the related accessible is not on the screen.
Yep - these are great cases with the 'near-to' stuff - I'd also like to
have all menus, and toolbar items exposed: regardless of whether they
are popped up and down, and of course, partial occlusion of a window
should have no bearing on what is exposed :-)
> Or, imagine we have a large list that is a few items larger than the
> screen. Does the child count of the large list only include the objects
> on the screen (that would be odd) ?
So - this is basically a variant of the MANAGES_DESCENDANTS thing - if
the list is staggeringly big, we need to have a different behaviour from
if it is say 20 elements: if the latter, I'd advocate exposing them all,
if the former even to expose them to a non-impaired person presents
challenges.
> I'd guess maybe what you're proposing is that the app always dumps the
> a11y hierarchy for only the stuff that's burning phosphorous, and that
> references/queries to stuff off screen ends up being created lazily.
> Seems like it might be workable.
Nah - lets dump everything on, or 'near' the phosphorous to the AT.
> In this new world order, however, will an AT still be able to hang onto
> the handle of an accessible for the purposes of identity/equality
> comparison across events? An example use case is where a screen reader
> wants to gather information about where focus used to be and where it is
> now. It does so by listening for focus events and saving the event
> source away.
Sure - of course, while the object that got focus and retained it is
still near/visible. However, the lifecycle of that object will be clear
- when it is not useful [ie. destroyed ], it will be gone. Currently I
believe we can save an accessible handle away for focus handling with a
ref count for an object that is long destroyed and defunct - and this
will retain state in the application itself ;-) Of course, AT's should
still be able to keep & compare the handle in future, but there will
just be no app-side resource associated.
> One obvious use case related to this is a "Say All" feature for a screen
> reader such as Orca. In this mode, the user presses a key and Orca
> starts reading the document until Orca reaches the end of the document
> or the user presses a key to stop the operation. While doing this, Orca
> may also highlight the words as they are being spoken.
Yep - we need an API like that anyway IMHO.
> The API needs to be able to provide Orca with the ability to get the
> information in the document in sequence, preferably by grammatical
> structure (e.g., sentence by sentence, paragraph by paragraph, etc.),
> and also make sure the text is visible on the screen.
Sure; sounds good to me.
> Also related to this would be what we would need to do in cases where a
> large text object is partially on/off the screen. Gedit, for example,
> has a single text object that visually shows a window of what could be a
> very large text document. What happens with the text that is not on the
> screen? Does all of its accessible text get sent along with the hierarchy?
Again - I'd say near screen: whatever makes sense here. Wrt. sending
all of the accessible text - that's an open question: clearly for static
items, it makes a lot of sense [ IMHO ] to have as much data instantly
accessible to the AT as possible, without any round-trips.
> I believe the Collections API is supposed to help with this, but I think
> it has some implementation issues that can cause it to actually behave
> slower in some cases. :-(
;-)
> It's definitely good to have these discussions. I was mostly on the
> provider side of things (i.e., the infrastructure side) for many years
> prior to working on Orca. I've now been on the consumer side for
> several years. Life is much different on the consumer side. :-)
Sure - and I love your feedback :-)
Mark - is this still hanging together for you ?
Regards,
Michael.
--
michael meeks novell com <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]