This is an archived page. It's not actively maintained.

MSAA States

« AT APIs Support Page


The table below shows how MSAA states are mapped to Gecko roles. There are MSAA states mismapped to Gecko states because in the past we reuse them to map to more important states. Now that IAccessible2 states are used this is no longer necessary (see IAccessible2 states). In fact, it is better to use IAccessible2 states because this system may change at some point in the future.

However, for now the old system of reusing some MSAA states to have more useful meanings is still currently used to support older screen readers. The MSAA states that have been recast as different Gecko states are:

  • STATE_SYSTEM_ALERT_HIGH (means invalid)
  • STATE_SYSTEM_ALERT_LOW (means required)
  • STATE_SYSTEM_MARQUEED (means checkable)

States List

State Description Gecko State
STATE_SYSTEM_ALERT_HIGH (This object state constant is not supported.) STATE_INVALID
STATE_SYSTEM_ALERT_MEDIUM (This object state constant is not supported.) STATE_IMPORTANT
STATE_SYSTEM_ALERT_LOW (This object state constant is not supported.) STATE_REQUIRED
STATE_SYSTEM_ANIMATED The object's appearance changes rapidly or constantly. Graphics that are occasionally animated are described as ROLE_SYSTEM_GRAPHIC with the State property set to STATE_SYSTEM_ANIMATED. This state is used to indicate that the object's location is changing. STATE_ANIMATED
STATE_SYSTEM_BUSY The control cannot accept input at this time. STATE_BUSY
STATE_SYSTEM_CHECKED The object's check box is selected. STATE_CHECKED
STATE_SYSTEM_COLLAPSED Children of this object that have the ROLE_SYSTEM_OUTLINEITEM role are hidden. STATE_COLLAPSED
STATE_SYSTEM_DEFAULT This state represents the default button in a window. STATE_DEFAULT
STATE_SYSTEM_EXPANDED Children of this object that have the ROLE_SYSTEM_OUTLINEITEM role are displayed. STATE_EXPANDED
STATE_SYSTEM_EXTSELECTABLE Indicates that an object extends its selection using SELFLAG_EXTENDSELECTION in the IAccessible::accSelect method. STATE_EXTSELECTABLE
STATE_SYSTEM_FLOATING (This object state constant is not supported.) STATE_FLOATING
STATE_SYSTEM_FOCUSABLE The object is on the active window and is ready to receive keyboard focus. STATE_FOCUSABLE
STATE_SYSTEM_FOCUSED The object has the keyboard focus. STATE_FOCUSED
STATE_SYSTEM_HASPOPUP Object displays a pop-up menu or window when invoked. STATE_HASPOPUP
STATE_SYSTEM_HOTTRACKED The object is hot-tracked by the mouse, which means that its appearance has changed to indicate that the mouse pointer is located over it. STATE_HOTTRACKED
STATE_SYSTEM_INVISIBLE The object is programmatically hidden. For example, menu itmes are programmatically hidden until a user activates the menu. Because objects with this state are not available to users, client applications should not communicate information about the object to users. However, if client applications find an object with this state, they should check to see if STATE_SYSTEM_OFFSCREEN is also set. If this second state is defined, then clients can communicate the information about the object to users. For example, a list box can have both STATE_SYSTEM_INVISIBLE and STATE_SYSTEM_OFFSCREEN set. In this case, the client application can communicate all items in the list to users. STATE_INVISIBLE
STATE_SYSTEM_LINKED Indicates that the object is formatted as a hyperlink. The object role will usually be ROLE_SYSTEM_TEXT. STATE_LINKED
STATE_SYSTEM_MARQUEED Indicates scrolling or moving text or graphics. STATE_CHECKABLE
STATE_SYSTEM_MIXED Indicates that the state of a three-state check box or toolbar button is not determined. The check box is neither checked nor unchecked and is therefore in the third or mixed state. STATE_MIXED
STATE_SYSTEM_MOVEABLE Indicates that the object can be moved. For example, a user can click on the titlebar for the object and drag the object to a new location. STATE_MOVEABLE
STATE_SYSTEM_MULTISELECTABLE Indicates that the object accepts multiple selected items; SELFLAG_ADDSELECTION for the IAccessible::accSelect method is valid. STATE_MULTISELECTABLE
STATE_SYSTEM_NORMAL Indicates that the object does not have another state assigned to it. no
STATE_SYSTEM_OFFSCREEN The object is clipped, or scrolled out of view, but not programmatically hidden. If the user makes the viewport larger, more of the object will be visible on the computer screen. STATE_OFFSCREEN
STATE_SYSTEM_PROTECTED The object is a password-protected edit control. STATE_PROTECTED
STATE_SYSTEM_READONLY The object is designated read-only. STATE_READONLY
STATE_SYSTEM_SELFVOICING The object or child uses text-to-speech (TTS) technology for description purposes. A speech-based accessibility aid does not announce information when an object with this state has the focus because the object automatically announces information. STATE_SELFVOICING
STATE_SYSTEM_SIZEABLE The object can be resized. For example, a user could change the size of a window by clicking the border with a mouse and dragging the mouse. STATE_SIZEABLE
STATE_SYSTEM_TRAVERSED The object is a hyperlink that has been visited (previously clicked) by a user. STATE_TRAVERSED