AT-SPI events
Data logged from AT-SPI 1.7.0, gail 1.8.11
The following table details the AT-SPI events generated by the gail bridge. Events marked in a gray background have not been observed by the author at present. The data these events provide is unknown.
The class, major, minor, and detail columns are the four parts of an AT-SPI event name. For instance, focus: only has a class specified while object:text-changed:inserted has class, major, and minor. Detail1, detail2, and any_data are extra data carried by the event object. Every event carries the source object of the event (not depicted in the table).
N.B. - Other AT-SPI bridge implementations may choose to include additional or different information in each event. Standardization is preferred for the sanity of AT-SPI clients, but is not currently enforced.
Class |
Major |
Minor |
Detail |
detail1 |
detail2 |
any_data |
focus |
|
|
|
|
|
|
window |
create |
|
|
|
|
string: title |
close |
|
|
|
|
string: title |
|
minimize |
|
|
|
|
string: title |
|
maximize |
|
|
|
|
string: title |
|
restore |
|
|
|
|
string: title |
|
reparent |
|
|
|
|
|
|
desktop-create |
|
|
|
|
|
|
desktop-destroy |
|
|
|
|
|
|
activate |
|
|
|
|
string: title |
|
deactivate |
|
|
|
|
string: title |
|
raise |
|
|
|
|
string: title |
|
lower |
|
|
|
|
string: title |
|
move |
|
|
|
|
string: title |
|
resize |
|
|
|
|
string: title |
|
shade |
|
|
|
|
string: title |
|
unshade |
|
|
|
|
string: title |
|
restyle |
|
|
|
|
string: title |
|
object |
text-caret-moved |
|
|
int: new caret index |
|
|
text-changed |
inserted |
|
int: start of inserted text |
int: end of inserted text |
string: inserted text |
|
removed |
|
int: start of deleted text |
int: end of deleted text |
string: deleted text |
||
text-selection-changed |
|
|
|
|
|
|
text-attributes-changed |
|
|
|
|
|
|
property-change |
accessible-parent |
|
|
|
object: new parent |
|
accessible-name |
|
|
|
string: new name |
||
accessible-description |
|
|
|
string: new description |
||
accessible-value |
|
|
|
|
||
accessible-role |
|
|
|
|
||
accessible-table-caption |
|
|
|
|
||
accessible-table-column-description |
|
|
|
|
||
accessible-table-column-header |
|
|
|
|
||
accessible-table-row-description |
|
|
|
|
||
accessible-table-row-header |
|
|
|
|
||
accessible-table-summary |
|
|
|
|
||
state-changed |
* |
|
bool: state set or state unset |
|
|
|
children-changed |
add |
|
int: child index ** |
|
object: added child ** |
|
remove |
|
int: child index ** |
|
object: added child ** |
||
visible-data-changed |
|
|
|
|
|
|
bounds-changed |
|
|
|
|
|
|
selection-changed |
|
|
|
|
|
|
row-inserted |
|
|
int: index of first row |
int: number of rows |
|
|
row-reordered |
|
|
|
|
|
|
row-deleted |
|
|
int: index of first row |
int: number of rows |
|
|
column-inserted |
|
|
int: index of first column |
int: number of columns |
|
|
column-reordered |
|
|
|
|
|
|
column-deleted |
|
|
int: index of first column |
int: number of columns |
|
|
model-changed |
|
|
|
|
|
|
active-descendant-changed |
|
|
int: descendant index |
|
object: descendant |
|
attributes-changed |
|
|
|
|
|
|
link-selected |
|
|
|
|
|
|
document |
load-complete |
|
|
|
|
|
reload |
|
|
|
|
|
|
load-stopped |
|
|
|
|
|
|
content-changed |
|
|
|
|
|
|
attributes-changed |
|
|
|
|
|
|
terminal |
line-changed |
|
|
|
|
|
columncount-changed |
|
|
|
|
|
|
linecount-changed |
|
|
|
|
|
|
application-changed |
|
|
|
|
|
|
charwidth-changed |
|
|
|
|
|
|
mouse |
abs |
|
|
int: x |
int: y |
|
rel |
|
|
int: delta x |
int: delta y |
|
|
button |
1p |
|
int: x |
int: y |
|
|
1r |
|
int: x |
int: y |
|
||
2p |
|
int: x |
int: y |
|
||
2r |
|
int: x |
int: y |
|
||
3p |
|
int: x |
int: y |
|
||
3r |
|
int: x |
int: y |
|
- Listeners for keyboard press and release events are only available using device listeners, not the global event listeners like the events about. pyLinAcc in LSR unifies the two event models.
object:state-changed events have the untranslated name of the state that changed in the minor part of the event name. For instance, object:state-changed:enabled or object:state-changed:focused are valid event names. The minor fields are omitted from this table in order to avoid getting out of sync with the current AT-SPI specification. The current list of AT-SPI states can be found at http://gnome.org/~billh/at-spi-new-idl/html/html/namespaceAccessibility.html#a213
- Two implementations of this event have been observed. In the common case, the event carries the added or removed child object in the any_data field and the detail1 field is empty. In rare cases, the any_data field is empty and detail1 contains the index of the added or removed child.