Object Roles

The following values, defined in oleacc.h, describe the roles of objects within an application. Use only the values from the following list; do not add custom roles or roles that are not predfined. Prior to using these object roles, client applications should use Inspect to verify that the object role is used by UI elements.

Clients retrieve an object's role by calling IAccessible::get_accRole, which returns either a string or one of the following values. Clients call GetRoleText with the role value to retrieve a localized string that describes the object's role. The localized strings for the role values are in the file oleaccrc.dll.

  • ROLE_SYSTEM_ALERT
    The object represents an alert or a condition that a user should be notified about. This role is used only for objects that embody an alert but are not associated with another user interface element such as a message box, graphic, text, or sound.
  • ROLE_SYSTEM_ANIMATION
    The object represents an animation control, which contains content that changes over time, such as a control that displays a series of bitmap frames. Animation controls are displayed when files are copied, or when some other time-consuming task is performed.
  • ROLE_SYSTEM_APPLICATION
    The object represents a main window for an application.
  • ROLE_SYSTEM_BORDER
    The object represents a window border. The entire border is represented by a single object rather than by separate objects for each side.
  • ROLE_SYSTEM_BUTTONDROPDOWN
    The object represents a button that drops down a list of items.
  • ROLE_SYSTEM_BUTTONDROPDOWNGRID
    The object represents a button that drops down a grid.
  • ROLE_SYSTEM_BUTTONMENU
    The object represents a button that drops down a menu.
  • ROLE_SYSTEM_CARET
    The object represents the system caret.
  • ROLE_SYSTEM_CELL
    The object represents a cell within a table.
  • ROLE_SYSTEM_CHARACTER
    The object represents a cartoon-like graphic object, such as Microsoft Office Assistant, which is displayed to provide help to users of an application.
  • ROLE_SYSTEM_CHART
    The object represents a graphical image used to represent data.
  • ROLE_SYSTEM_CHECKBUTTON
    The object represents a check box control, an option that is turned on or off independently of other options.
  • ROLE_SYSTEM_CLIENT
    The object represents a window's client area. Active Accessibility uses this role as a default if there is a question about the role of a UI element.
  • ROLE_SYSTEM_CLOCK
    The object represents a control that displays time.
  • ROLE_SYSTEM_COLUMN
    The object represents a column of cells within a table.
  • ROLE_SYSTEM_COLUMNHEADER
    The object represents a column header, providing a visual label for a column in a table.
  • ROLE_SYSTEM_COMBOBOX
    The object represents a combo box; an edit control with an associated list box that provides a set of predefined choices.
  • ROLE_SYSTEM_CURSOR
    The object represents the system mouse pointer.
  • ROLE_SYSTEM_DIAGRAM
    The object represents a graphical image used to diagram data.
  • ROLE_SYSTEM_DIAL
    The object represents a dial or knob.
  • ROLE_SYSTEM_DIALOG
    The object represents a dialog box or message box.
  • ROLE_SYSTEM_DOCUMENT
    The object represents a document window. A document window is always contained within an application window. This role applies only to multiple-document interface (MDI) windows and refers to the object that contains the MDI title bar.
  • ROLE_SYSTEM_DROPLIST
    The object represents the calendar control, SysDateTimePick32. Oleacc uses this role to indicate that Active Accessibility has found either a date or a calendar control.
  • ROLE_SYSTEM_EQUATION
    The object represents a mathematical equation.
  • ROLE_SYSTEM_GRAPHIC
    The object represents a picture.
  • ROLE_SYSTEM_GRIP
    The object represents a special mouse pointer, which allows a user to manipulate user interface elements such as windows. For example, a user clicks and drags a sizing grip in the lower-right corner of a window to resize it.
  • ROLE_SYSTEM_GROUPING
    The object logically groups other objects. There is not always a parent-child relationship between the grouping object and the objects it contains.
  • ROLE_SYSTEM_HELPBALLOON
    The object displays a Help topic in the form of a ToolTip or Help balloon.
  • ROLE_SYSTEM_HOTKEYFIELD
    The object represents a hot-key field that allows the user to enter a combination or sequence of keystrokes.
  • ROLE_SYSTEM_INDICATOR
    The object represents an indicator, such as a pointer graphic, that points to the current item.
  • ROLE_SYSTEM_IPADDRESS
    The object represents an edit control designed for an Internet Protocol (IP) address. The edit control is divided into sections for the different parts of the IP address.
  • ROLE_SYSTEM_LINK
    The object represents a link to something else. This object might look like text or a graphic, but it acts like a button.
  • ROLE_SYSTEM_LIST
    The object represents a list box, allowing the user to select one or more items.
  • ROLE_SYSTEM_LISTITEM
    The object represents an item in a list box or the list portion of a combo box, drop-down list box, or drop-down combo box.
  • ROLE_SYSTEM_MENUBAR
    The object represents the menu bar (positioned beneath the title bar of a window) from which menus are selected by the user.
  • ROLE_SYSTEM_MENUITEM
    The object represents a menu item, which is an entry in a menu that a user can choose to carry out a command, select an option, or display another menu. Functionally, a menu item is equivalent to a push button, radio button, check box, or menu.
  • ROLE_SYSTEM_MENUPOPUP
    The object represents a menu, which presents a list of options from which the user can make a selection to perform an action. All menu types must have this role, including drop-down menus that are displayed by selecting from a menu bar, and shortcut menus that are displayed by clicking the right mouse button.
  • ROLE_SYSTEM_OUTLINE
    The object represents an outline or tree structure, such as a tree view control, that displays a hierarchical list and allows the user to expand and collapse branches.
  • ROLE_SYSTEM_OUTLINEBUTTON
    The object represents items that navigate like an outline item. You can use the up and down arrows to move through the outline. However, instead of expanding and collapsing the menus by using left and right arrow keys, these menus expand or collapse when the space bar or enter key is pressed and the item has focus.
  • ROLE_SYSTEM_OUTLINEITEM
    The object represents an item in an outline or tree structure.
  • ROLE_SYSTEM_PAGETAB
    The object represents a page tab. The only child of a page tab control is a ROLE_SYSTEM_GROUPING object that contains the contents of the associated page.
  • ROLE_SYSTEM_PAGETABLIST
    The object represents a container of page tab controls.
  • ROLE_SYSTEM_PANE
    The object represents a pane within a frame or document window. Users can navigate between panes and within the contents of the current pane, but cannot navigate between items in different panes. Thus, panes represent a level of grouping lower than frame windows or documents, but above individual controls. The user navigates between panes by pressing TAB, F6, or CTRL+TAB, depending on the context.
  • ROLE_SYSTEM_PROGRESSBAR
    The object represents a progress bar, dynamically showing the user the percent complete of an operation in progress. This control takes no user input.
  • ROLE_SYSTEM_PROPERTYPAGE
    The object represents a property sheet.
  • ROLE_SYSTEM_PUSHBUTTON
    The object represents a push button control.
  • ROLE_SYSTEM_RADIOBUTTON
    The object represents an option button, also called a radio button. It is one of a group of mutually exclusive options. All objects sharing a single parent that have this attribute are assumed to be part of single mutually exclusive group. Use ROLE_SYSTEM_GROUPING objects to divide them into separate groups.
  • ROLE_SYSTEM_ROW
    The object represents a row of cells within a table.
  • ROLE_SYSTEM_ROWHEADER
    The object represents a row header, which provides a visual label for a table row.
  • ROLE_SYSTEM_SCROLLBAR
    The object represents a vertical or horizontal scroll bar, which is part of the client area or used in a control.
  • ROLE_SYSTEM_SEPARATOR
    The object is used to visually divide a space into two regions, such as a separator menu item or a bar that divides split panes within a window.
  • ROLE_SYSTEM_SLIDER
    The object represents a slider, which allows the user to adjust a setting in given increments between minimum and maximum values.
  • ROLE_SYSTEM_SOUND
    The object represents a system sound, which is associated with various system events.
  • ROLE_SYSTEM_SPINBUTTON
    The object represents a spin box, which is a control that allows the user to increment or decrement the value displayed in a separate "buddy" control associated with the spin box.
  • ROLE_SYSTEM_SPLITBUTTON
    The role represents a button on a toolbar that has a drop-down list icon directly adjacent to the button.
  • ROLE_SYSTEM_STATICTEXT
    The object represents read-only text, such as labels for other controls or instructions in a dialog box. Static text cannot be modified or selected.
  • ROLE_SYSTEM_STATUSBAR
    The object represents a status bar, which is an area at the bottom of a window that displays information about the current operation, state of the application, or selected object. The status bar has multiple fields, which display different kinds of information.
  • ROLE_SYSTEM_TABLE
    The object represents a table that contains rows and columns of cells, and optionally, row headers and column headers.
  • ROLE_SYSTEM_TEXT
    The object represents selectable text that allows edits or is designated read-only.
  • ROLE_SYSTEM_TITLEBAR
    The object represents a title or caption bar for a window.
  • ROLE_SYSTEM_TOOLBAR
    The object represents a toolbar, which is a grouping of controls that provides easy access to frequently used features.
  • ROLE_SYSTEM_TOOLTIP
    The object represents a ToolTip that provides helpful hints.
  • ROLE_SYSTEM_WHITESPACE
    The object represents blank space between other objects.
  • ROLE_SYSTEM_WINDOW
    The object represents the window frame, which contains child objects such as a title bar, client, and other objects contained in a window.