Accessibility/Comparisons:Events

From MozillaWiki
Jump to: navigation, search

Accessibility Events Comparison

This is a comparison between the events available in each architecture.

Mac comparison in process

Please note, the colors represent the level of compatibility UA has with the rest. This is an aid for the ongoing Mac Accessibility effort.

Please leave comments to the newsgroup. Thanks! --HakanW 12:26, 9 May 2006 (PDT)

Legend

Legend
[OK] UA seems compatible
[MAYBE] UA probably compatible
[NOT NEEDED] Irrelevant
Not yet sure; TBD

Comparison Table

MSAA 1.3 event (EVENT_OBJECT_ *) Closest ATK Object Event(s) or Signals and the ATK Interface Closest UA Notification (NSAccessibility*Notification) Description
CREATE, DESTROY text-caret-moved (AtkText) [OK] UIElementDestroyed, WindowCreated, Created An object has been created or destroyed. The system sends this event for the following user interface elements: caret, header, list view, tab, tree view, toolbar, and window objects.
ATK: The character offset of the text caret (visible or notional) within this object has changed. Events of this type may also be generated when an onscreen text caret appears or disappears.
SHOW text-caret-moved (AtkText) [OK] ApplicationShown (for whole app), DrawerCreated (for drawers), SheetCreated, Created for all UI elements A hidden object is shown. The system sends this event for the following user interface elements: caret, cursor, and window object. Hidden objects do not set the ATK_STATE_VISIBLE flag; shown objects do set this flag. The SHOW event also indicates that the ATK_STATE_VISIBLE flag is set.
ATK: The character offset of the text caret (visible or notional) within this object has changed. Events of this type may also be generated when an onscreen text caret appears or disappears.
HIDE text-caret-moved (AtkText) [NOT NEEDED] With attributes, it's possible to know whether the current position of the caret is a visible range. An object is hidden. The system sends this event for the following user interface elements: caret and cursor.
ATK: The character offset of the text caret (visible or notional) within this object has changed. Events of this type may also be generated when an onscreen text caret appears or disappears.
REORDER children-changed (AtkObject) active-descendant-changed (AtkObject) [NOT NEEDED] RowCountChanged is fired for tables/outliners in UA. A container object has been added, removed, or reordered its children. The system sends this event for the following user interface elements: header control, list view control, toolbar control, and window object. For example, this event is generated by a list view object when the number of child elements or the order of the elements changes. This event is also sent by a parent window when the z order for the child windows changes.
ATK: The number or identity of an object's children has changed.
FOCUS [OK] FocusedUIElementChanged, FocusedWindowChanged An object has received the keyboard focus. The system sends this event for the following user interface elements: list view control, menu bar, pop-up menu, switch window, tab control, tree view control, and window object.
SELECTION selection-changed (AtkSelection) [OK] SelectedRowsChanged for lists/outliners, SelectedChildrenChanged for other child elements The selection within a container object has changed. The system sends this event for the following user interface elements: list view control, tab control, tree view control, and window object.
ATK: An instance of Selection has undergone a change in the 'selected-ness' of its children, i.e. had a selection added, removed, and/or modified. Usually accompanied by corresponding "object:state-changed:selected" events from the corresponding children, unless the children are previously un-queried via AT-SPI and the Selection instance has STATE_MANAGES_DESCENDANTS.
SELECTIONADD, SELECTIONREMOVE, SELECTIONWITHIN selection-changed (AtkSelection) [OK] Same as above An item within a container object has been added to or removed from the selection. The system sends these events for the following user interface elements: list box, list view control, and tree view control. For SELECTIONWITHIN, numerous selection changes have occurred within a container object. The system sends this event for list boxes. Used instead of sending several SELECTIONADD or SELECTIONREMOVE events.
ATK: An instance of Selection has undergone a change in the 'selected-ness' of its children, i.e. had a selection added, removed, and/or modified. Usually accompanied by corresponding "object:state-changed:selected" events from the corresponding children, unless the children are previously un-queried via AT-SPI and the Selection instance has STATE_MANAGES_DESCENDANTS.
STATECHANGE state-changed (AtkObject) AtkObject::atk_object_notify_state_change [OK] No such notification. There's FocusedUIElementChanged for when focus changes, and other more specific events, like TitleChanged, but for things An object's state has changed. The system sends this event for the following user interface elements: check box, combo box, header control, push button, radio button, scroll bar, toolbar control, tree view control, up-down control, and window object. For example, a state change occurs when a button object is pressed or released, or when an object is enabled or disabled.
ATK: The object's StateSet has had a state added or removed.
LOCATIONCHANGE bounds-changed (AtkComponent) text-bounds-changed (proposed - AtkText) text-caret-moved (AtkText) [OK] WindowResized An object has changed location, shape, or size. The system sends this event for the following user interface elements: caret and window object. Server applications send this event for their accessible objects. This event is generated in response to the top-level object within the object hierarchy that has changed, not for any children it might contain. For example, if the user resizes a window, the system sends this notification for the window, but not for the menu bar, title bar, scroll bars, or other objects that have also changed. The system does not send this event for every non-floating child window when the parent moves. However, if an application explicitly resizes child windows as a result of resizing, the system sends multiple events for the resized children.
ATK: The 'bounds-changed" signal is emitted when the bposition or size of the a component changes.
The character bounds of a text object have changed, for instance in response to a reformatting or reflow operation.
The character offset of the text caret (visible or notional) within this object has changed. Events of this type may also be generated when an onscreen text caret appears or disappears.
NAMECHANGE property-change::accessible-name (AtkObject) AtkObject::atk_object_connect_property_change_handler atk_object_remove_property_change_handler [OK] TitleChanged An object's name property has changed. The system sends this event for the following user interface elements: check box, cursor, list view control, push button, radio button, status bar control, tree view control, and window object.
ATK: A base (strongly-typed) object attribute has changed, for instance "object:property-change:accessible-name". Notifed property subtypes include accessible-name, accessible-description, and accessible-parent.
DESCRIPTIONCHANGE property-change::accessible-description (AtkObject) [NOT NEEDED] don't use An object's description property has changed.
ATK: A base (strongly-typed) object attribute has changed, for instance "object:property-change:accessible-name". Notifed property subtypes include accessible-name, accessible-description, and accessible-parent.
VALUECHANGE visible-data-changed (AtkObject) text-changed (AtkText) value-changed (proposed - AtkObject?) property-change::accessible-value (AtkObject) [OK] ValueChanged An object's value property has changed. The system sends this event for the following user interface elements: edit control, header control, hot key control, progress bar control, scroll bar, slider control, and up-down control.
ATK: The visible data, text content, or value of this object has changed.
PARENTCHANGE property-change::accessible-parent (AtkObject) [NOT NEEDED] don't use An object has a new parent object.
ATK: A base (strongly-typed) object attribute has changed, for instance "object:property-change:accessible-name". Notifed property subtypes include accessible-name, accessible-description, and accessible-parent.
Other property-change:: signals in AtkObject:
accessible-component-layer
accessible-component-mdi-zorder
accessible-hypertext-nlinks
accessible-role
accessible-table-caption
accessible-table-caption-object
accessible-table-column-description
accessible-table-column-header
accessible-table-row-description
accessible-table-row-header
accessible-table-summary
Other property-change:: signals in AtkHyperlink:
end-index
number-of-anchors
selected-link
start-index
HELPCHANGE [OK] HelpTagCreated (new tooltip) An object's help property has changed.
ACCELERATORCHANGE [NOT NEEDED] don't use An object's key bindings has changed.
DEFACTIONCHANGE [NOT NEEDED] don't use An object's default action property has changed. The system sends this event for dialog boxes.
active-descendant-changed (AtkObject) [NOT NEEDED] don't use If the object includes STATE_MANAGES_DESCENDANTS, this event is fired to indicate that the descendant having STATE_ACTIVE has changed; this corresponds to "micro" keyboard focus when the containing/emitting object has "macro" or technical keyboard focus. For instance, this event is usually emitted while traversing tables and/or spreadsheet cells.
attribute-change (AtkObject - proposed) A weakly-typed property has changed in value, been added, or been removed from the object. (attribute-change notifications were added in AT-SPI 1.7.0) Still need a way to register weakly-typed properties in AtkObject .
load-complete (AtkDocument - proposed) A pending (static) document content load has completed.
reload (AtkDocument - proposed) A reload of the document content has been initiated.
load-stopped (AtkDocument - proposed) Loading of the document content has been interrupted.
content-changed (AtkDocument - proposed) The contents of the Document container has changed.
attributes-changed (AtkDocument - proposed) The global attributes (i.e. document-wide attributes) of the Document have changed.
text-attributes-changed (AtkText) The attributes of a range of text, or the range over which attributes apply, has changed.
text-selection-changed (AtkText) [OK] SelectedTextChanged The range or number of text selections within this text object has changed
link-activated (AtkHyperlink)

The signal link-activated is emitted when a link is activated.

link-selected (AtkHypertext) [OK] FocusedUIElement changed

The "link-selected" signal is emitted by an AtkHyperText object when one of the hyperlinks associated with the object is selected.

column-deleted (AtkTable)

The "column-deleted" signal is emitted by an object which implements the AtkTable interface when a column is deleted.

column-inserted (AtkTable) The "column-inserted" signal is emitted by an object which implements the AtkTable interface when a column is inserted.
column-reordered (AtkTable) The "column-reordered" signal is emitted by an object which implements the AtkTable interface when columns are reordered.
row-deleted (AtkTable) [OK] RowCountChanged

The "row-deleted" signal is emitted by an object which implements the AtkTable interface when a row is deleted.

row-inserted (AtkTable) [OK] RowCountChanged The "row-inserted" signal is emitted by an object which implements the AtkTable interface when a row is inserted.
row-reordered (AtkTable) The "row-reordered" signal is emitted by an object which implements the AtkTable interface when rows are reordered.
model-changed (AtkTable)

The "model-changed" signal is emitted by an object which implements the AtkTable interface when the model displayed by the table changes.