Typedef Documentation

Enumeration Type Documentation

This enum defines the state bits returned by IAccessible2::states. The IAccessible2 state bits are in addition to those returned by MSAA.

Enumerator

IA2_STATE_ACTIVE

Indicates a window is currently the active window, or is an active subelement within a container or table.

This state can be used to indicate the current active item in a container, even if the container itself is not currently active. In other words this would indicate the item that will get focus if you tab to the container.

This information is important for knowing what to report for trees and potentially other containers in a virtual buffer.

Used to indicate that the control is "pressed" and will be invoked when the actuator, e.g. a mouse button, is "released". An AT which either monitors the mouse or synthesizes mouse events might need to know that, and possibly a talking interface would even let the user know about it. It could also potentially be useful to on screen keyboards or test tools since the information does indicate something about the state of the interface, for example, code operating asynchronously might need to wait for the armed state to change before doing something else.

IA2_STATE_DEFUNCT

Indicates the user interface object corresponding to this object no longer exists.

IA2_STATE_EDITABLE

An object with this state has a caret and implements the IAccessibleText interface.

Such fields may be read-only, so STATE_SYSTEM_READONLY is valid in combination with IA2_STATE_EDITABLE.

IA2_STATE_HORIZONTAL

Indicates the orientation of this object is horizontal.

IA2_STATE_ICONIFIED

Indicates this object is minimized and is represented only by an icon.

IA2_STATE_INVALID_ENTRY

Indicates an input validation failure.

IA2_STATE_MANAGES_DESCENDANTS

Indicates that this object manages its children.

Note: Due to the fact that MSAA's WinEvents don't allow the active child index to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event, the manages descendants scheme can't be used. Instead the active child object has to fire MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be added to provide for event specific data to be passed with the event. At that time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and IA2_STATE_MANAGES_DESCENDANTS state would be useful.

IA2_STATE_MODAL

Indicates that an object is modal.

Modal objects have the behavior that something must be done with the object before the user can interact with an object in a different window.

IA2_STATE_MULTI_LINE

Indicates this text object can contain multiple lines of text.

IA2_STATE_OPAQUE

Indicates this object paints every pixel within its rectangular region.

IA2_STATE_REQUIRED

Indicates that user interaction is required.

An example of when this state is used is when a field in a form must be filled before a form can be processed.

IA2_STATE_SELECTABLE_TEXT

Indicates an object which supports text selection.

Note: This is different than MSAA STATE_SYSTEM_SELECTABLE.

IA2_STATE_SINGLE_LINE

Indicates that this text object can contain only a single line of text.

IA2_STATE_STALE

Indicates that the accessible object is stale.

This state is used when the accessible object no longer accurately represents the state of the object which it is representing such as when an object is transient or when an object has been or is in the process of being destroyed or when the object's index in its parent has changed.

IA2_STATE_SUPPORTS_AUTOCOMPLETION

Indicates that the object implements autocompletion.

This state indicates that a text control will respond to the input of one ore more characters and cause a sub-item to become selected. The selection may also result in events fired on the parent object.

IA2_STATE_TRANSIENT

Indicates this object is transient.

An object has this state when its parent object has the state IA2_STATE_MANAGES_DESCENDANTS. For example, a list item object may be managed by its parent list object and may only exist as long as the object is actually rendered. Similarly a table cell's accessible object may exist only while the cell has focus. However, from the perspective of an assistive technology a transient object behaves like a non-transient object. As a result it is likely that this state is not of use to an assistive technology, but it is provided in case an assistive technology determines that knowledge of the transient nature of the object is useful and also for harmony with the Linux accessibility API.

The standard checkable objects are check boxes, radio buttons, check box menu items, radio menu items, and toggle buttons. Since assistive technology will determine that these objects are checkable via the object's role the checkable state is not required. However, this state is necessary in those cases where an object has a role which is not one of the previously mentioned roles. An example is a table cell which indicates whether or not an email has an attachment, whether or not an mail is considered spam, and whether or not an email has been read.

IA2_STATE_PINNED

Indicates this object is pinned.

This state indicates that an object is fixed at a certain location. One example is a browser tab that when pinned cannot be moved until unpinned. Another example is a movable or floating object that when pinned remains in its pinned location until being unpinned.