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]