Re: [g-a-devel] Re: [Accessibility-atspi] AT-SPI enhancement proposal



Some notes about the AT-SPI enhancement APIs:

1) Terminal: my intention was to also provide a new event/signal, "line-changed". Clients interested only in terminals (for instance BrlTTY) can listen for "line-changed" events instead of the possibly more complex "test-changed:insert/delete/replace" events.
2) Collection: Someone has wondered how the Collection API is intended 
to enable the 'ADoc' use cases that Cathy, Andres, and others have 
mentioned.  The basic idea here is that the API can allow retrieval of 
any sort of 'subset' of a document (or user interface, if the GUI 
container itself implements Collection) that can be described via a 
combination of text-attributes, SPI_STATE, or interface information.  
The basic use case might look like this:
a) document containing object in at-spi hierarchy implements Document 
and Collection.  Collection can be used to retrieve all headers (via 
searching for text-attributes), or all objects containing (in whole or 
part) a certain set of text attributes.
b) The same Collection implementor can be queried for all changes to a 
previous revision (provided they are marked up with text attributes).  
It can find all footers, headers, or any other text-bearing object which 
can be identified by attribute or state; it can be used to retrieve all 
STATE_ENABLED implementors of Action within an interactive document, etc.
c) If a user interface container (as opposed to document content) 
implements Collection (for instance, a Table), Collection can be used to 
retrieve only the elements currently having STATE_ENABLED, STATE_VISIBLE 
and STATE_SHOWING, etc., or only the elements implementing Text, etc.
d) The data is returned as a sequence of Accessible object instances; 
the client can request the data to be ordered in 'canonical' (normal) 
index order, in TAB order, or in document-FLOW order.
e) The match rules are flexible enough to allow 'or', 'and', and 'not' 
sorts of relationships between the match criteria, and the meaning of an 
empty set in the match criteria can be controlled by the client via the 
MATCH_EMPTY rule.
regards

Bill





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