module Accessibility {
enum Role {
+ /** A Role indicating an error condition, such as uninitialized Role data. */
ROLE_INVALID,
- /* Object is a label indicating the keyboard accelerators for the parent */
+ /** Object is a label indicating the keyboard accelerators for the parent */
ROLE_ACCELERATOR_LABEL,
- /* Object is used to alert the user about something */
+ /** Object is used to alert the user about something */
ROLE_ALERT,
- /* Object contains a dynamic or moving image of some kind */
+ /** Object contains a dynamic or moving image of some kind */
ROLE_ANIMATION,
- /* Object is a 2d directional indicator */
+ /** Object is a 2d directional indicator */
ROLE_ARROW,
- /* Object contains one or more dates, usually arranged into a 2d list */
+ /** Object contains one or more dates, usually arranged into a 2d list */
ROLE_CALENDAR,
- /* Object that can be drawn into and is used to trap events */
+ /** Object that can be drawn into and is used to trap events */
ROLE_CANVAS,
- /*
+ /**
* A choice that can be checked or unchecked and provides a separate
* indicator for the current state.
*/
ROLE_CHECK_BOX,
- /* A menu item that behaves like a check box (see ROLE_CHECK_BOX) */
+ /** A menu item that behaves like a check box (see ROLE_CHECK_BOX) */
ROLE_CHECK_MENU_ITEM,
- /* A specialized dialog that lets the user choose a color. */
+ /** A specialized dialog that lets the user choose a color. */
ROLE_COLOR_CHOOSER,
- /* The header for a column of data */
+ /** The header for a column of data */
ROLE_COLUMN_HEADER,
- /* A list of choices the user can select from */
+ /** A list of choices the user can select from */
ROLE_COMBO_BOX,
- /* An object which allows entry of a date */
+ /** An object which allows entry of a date */
ROLE_DATE_EDITOR,
- /* An inconifed internal frame within a DESKTOP_PANE */
+ /** An inconifed internal frame within a DESKTOP_PANE */
ROLE_DESKTOP_ICON,
- /*
+ /**
* A pane that supports internal frames and iconified versions of those
* internal frames.
*/
ROLE_DESKTOP_FRAME,
- /*
+ /**
* An object that allows a value to be changed via rotating a visual element,
* or which displays a value via such a rotating element.
*/
ROLE_DIAL,
- /* A top level window with title bar and a border */
+ /** A top level window with title bar and a border */
ROLE_DIALOG,
- /*
+ /**
* A pane that allows the user to navigate through and select the contents
* of a directory
*/
ROLE_DIRECTORY_PANE,
- /*
+ /**
* A specialized dialog that displays the files in the directory and lets
* the user select a file, browse a different directory, or specify a
* filename.
*/
+ ROLE_DRAWING_AREA,
+ /**
+ * An object used for drawing custom user interface elements.
+ */
ROLE_FILE_CHOOSER,
- /*
+ /**
* A object that fills up space in a user interface
*/
ROLE_FILLER,
- /* XXX Don't know sure about this. */
+ /** XXX Don't use, reserved for future use. */
ROLE_FOCUS_TRAVERSABLE,
- /* Allows selection of a display font */
+ /** Allows selection of a display font */
ROLE_FONT_CHOOSER,
- /* A top level window with a title bar, border, menubar, etc. */
+ /** A top level window with a title bar, border, menubar, etc. */
ROLE_FRAME,
- /* A pane that is guaranteed to be painted on top of all panes beneath it */
+ /** A pane that is guaranteed to be painted on top of all panes beneath it */
ROLE_GLASS_PANE,
- /*
+ /**
* A document container for HTML, whose children
* represent the document content.
*/
ROLE_HTML_CONTAINER,
- /* A small fixed size picture, typically used to decorate components */
+ /** A small fixed size picture, typically used to decorate components */
ROLE_ICON,
- /* An image, typically static. */
+ /** An image, typically static. */
ROLE_IMAGE,
- /* A frame-like object that is clipped by a desktop pane. */
+ /** A frame-like object that is clipped by a desktop pane. */
ROLE_INTERNAL_FRAME,
- /* An object used to present an icon or short string in an interface */
+ /** An object used to present an icon or short string in an interface */
ROLE_LABEL,
- /*
+ /**
* A specialized pane that allows its children to be drawn in layers,
* providing a form of stacking order.
*/
ROLE_LAYERED_PANE,
- /*
+ /**
* An object that presents a list of objects to the user and allows the
* user to select one or more of them.
*/
ROLE_LIST,
- /* An object that represents an element of a list. */
+ /** An object that represents an element of a list. */
ROLE_LIST_ITEM,
- /*
+ /**
* An object usually found inside a menu bar that contains a list of
* actions the user can choose from.
*/
ROLE_MENU,
- /*
+ /**
* An object usually drawn at the top of the primary dialog box of an
* application that contains a list of menus the user can choose from.
*/
ROLE_MENU_BAR,
- /*
+ /**
* An object usually contained in a menu that presents an action the
* user can choose.
*/
ROLE_MENU_ITEM,
- /* A specialized pane whose primary use is inside a DIALOG */
+ /** A specialized pane whose primary use is inside a DIALOG */
ROLE_OPTION_PANE,
- /* An object that is a child of a page tab list */
+ /** An object that is a child of a page tab list */
ROLE_PAGE_TAB,
- /*
+ /**
* An object that presents a series of panels (or page tabs), one at a time,
* through some mechanism provided by the object.
*/
ROLE_PAGE_TAB_LIST,
- /* A generic container that is often used to group objects. */
+ /** A generic container that is often used to group objects. */
ROLE_PANEL,
- /*
+ /**
* A text object uses for passwords, or other places where the text
* content is not shown visibly to the user.
*/
ROLE_PASSWORD_TEXT,
- /*
+ /**
* A temporary window that is usually used to offer the user a list of
* choices, and then hides when the user selects one of those choices.
*/
ROLE_POPUP_MENU,
- /* An object used to indicate how much of a task has been completed. */
+ /** An object used to indicate how much of a task has been completed. */
ROLE_PROGRESS_BAR,
- /*
+ /**
* An object the user can manipulate to tell the application to do
* something.
*/
ROLE_PUSH_BUTTON,
- /*
+ /**
* A specialized check box that will cause other radio buttons in the
* same group to become uncghecked when this one is checked.
*/
ROLE_RADIO_BUTTON,
- /* Object is both a menu item and a "radio button" (see ROLE_RADIO_BUTTON) */
+ /** Object is both a menu item and a "radio button" (see ROLE_RADIO_BUTTON) */
ROLE_RADIO_MENU_ITEM,
- /*
+ /**
* A specialized pane that has a glass pane and a layered pane as its
* children.
*/
ROLE_ROOT_PANE,
- /* The header for a row of data */
+ /** The header for a row of data */
ROLE_ROW_HEADER,
- /*
+ /**
* An object usually used to allow a user to incrementally view a large
- * amount of data.
+ * amount of data by moving the bounds of a viewport along a one-dimensional axis.
*/
ROLE_SCROLL_BAR,
- /*
+ /**
* An object that allows a user to incrementally view a large amount
- * of information.
+ * of information. ROLE_SCROLL_PANE objects are usually accompanied by
+ * ROLE_SCROLL_BAR controllers, on which the RELATION_CONTROLLER_FOR and
+ * RELATION_CONTROLLED_BY reciprocal relations are set; \see
+ * Accessibility::RelationSet.
*/
ROLE_SCROLL_PANE,
- /*
+ /**
* An object usually contained in a menu to provide a visible and
* logical separation of the contents in a menu.
*/
ROLE_SEPARATOR,
- /* An object that allows the user to select from a bounded range */
+ /** An object that allows the user to select from a bounded range */
ROLE_SLIDER,
- /*
+ /**
* An object which allows one of a set of choices to be selected,
- * and which displays the current choice.
+ * and which displays the current choice. Unlike ROLE_SCROLL_BAR,
+ * ROLE_SLIDER objects need not control 'viewport'-like objects.
*/
ROLE_SPIN_BUTTON,
- /* A specialized panel that presents two other panels at the same time. */
+ /** A specialized panel that presents two other panels at the same time. */
ROLE_SPLIT_PANE,
- /* Object displays non-quantitative status information (c.f. ROLE_PROGRESS_BAR) */
+ /** Object displays non-quantitative status information (c.f. ROLE_PROGRESS_BAR) */
ROLE_STATUS_BAR,
- /* An object used to repesent information in terms of rows and columns. */
+ /** An object used to repesent information in terms of rows and columns. */
ROLE_TABLE,
+ /** A 'cell' or discrete child within a Table. \note Table cells need not have ROLE_TABLE_CELL,
+ * other RoleType values are valid as well. */
ROLE_TABLE_CELL,
+ /** An object which labels a particular column in a Table. */
ROLE_TABLE_COLUMN_HEADER,
+ /** An object which labels a particular row in a Table. Table rows and columns may also be
+ * labelled via the RELATION_LABEL_FOR/RELATION_LABELLED_BY relationships;
+ * \see Accessibility::RelationSet. */
ROLE_TABLE_ROW_HEADER,
- /* Object allows menu to be removed from menubar and shown in its own window. */
+ /** Object allows menu to be removed from menubar and shown in its own window. */
ROLE_TEAROFF_MENU_ITEM,
- /* An object that emulates a terminal */
+ /** An object that emulates a terminal */
ROLE_TERMINAL,
- /* An object that presents text to the user */
+ /** An object that presents text to the user, of nonspecific type. */
ROLE_TEXT,
- /*
+ /**
* A specialized push button that can be checked or unchecked, but does
* not procide a separate indicator for the current state.
*/
ROLE_TOGGLE_BUTTON,
- /*
+ /**
* A bar or palette usually composed of push buttons or toggle buttons
*/
ROLE_TOOL_BAR,
- /*
+ /**
* An object that provides information about another object
*/
ROLE_TOOL_TIP,
- /* An object used to repsent hierarchical information to the user. */
+ /** An object used to repsent hierarchical information to the user. */
ROLE_TREE,
- /* An object that presents both tabular and hierarchical info to the user */
+ /** An object that presents both tabular and hierarchical info to the user */
ROLE_TREE_TABLE,
- /*
+ /**
* The object contains some Accessible information, but its role is
- * not known.
+ * not known.
*/
ROLE_UNKNOWN,
- /* An object usually used in a scroll pane. */
+ /** An object usually used in a scroll pane, or to otherwise clip a larger object or
+ * content renderer to a specific onscreen viewport. */
ROLE_VIEWPORT,
- /* A top level window with no title or border */
+ /** A ¨top level window¨ with no title or border. */
ROLE_WINDOW,
- /*
+ /**
* means that the role for this item is known, but not included in the
* core enumeration
*/
ROLE_EXTENDED,
- /* not a valid role, used for finding end of enumeration. */
+ /** An object that serves as a document header. */
+ ROLE_HEADER,
+ /** An object that serves as a document footer. */
+ ROLE_FOOTER,
+ /** An object which is contains a single paragraph of text content. \see also ROLE_TEXT. */
+ ROLE_PARAGRAPH,
+ /**
+ * An object which describes margins and tab stops, etc.
+ * for text objects which it controls
+ * (should have CONTROLLER_FOR relation to such).
+ */
+ ROLE_RULER,
+ /**
+ * An object corresponding to the toplevel accessible of an
+ * application, which may contain ROLE_FRAME objects or other
+ * accessible objects. Children of AccessibleDesktop objects
+ * are generally ROLE_APPLICATION objects.
+ */
+ ROLE_APPLICATION,
+ /**
+ * The object is a dialog or list containing items for insertion
+ * into an entry widget, for instance a list of words for completion
+ * of a text entry.
+ */
+ ROLE_AUTOCOMPLETE,
+ /**
+ * The object is an editable text object in a toolbar.
+ */
+ ROLE_EDITBAR,
+ /**
+ * The object is an embedded component container. This role is a
+ * "grouping" hint that the contained objects share a context which is
+ * different from the container in which this accessible is embedded.
+ * In particular, it is used for some kinds of document embedding, and
+ * for embedding of out-of-process component, "panel applets", etc.
+ */
+ ROLE_EMBEDDED,
+
+ /**
+ * The object is a component whose textual content may be entered or modified by the user,
+ * provided STATE_EDITABLE is present.
+ * @note a readonly ROLE_ENTRY object (i.e. where STATE_EDITABLE is not present) implies a
+ * read-only ¨text field¨ in a form, as opposed to a title, label, or caption.
+ *
+ * @since AT-SPI 1.7.0
+ */
+ ROLE_ENTRY,
+ /**
+ * The object is a graphical depiction of quantitative data. It may contain multiple
+ * subelements whose attributes and/or description may be queried to obtain both the
+ * quantitative data and information about how the data is being presented.
+ * The LABELLED_BY relation is particularly important in interpreting objects of this type,
+ * as is the accessible-description property.
+ * @see ROLE_CAPTION
+ *
+ * @since AT-SPI 1.7.0
+ */
+ ROLE_CHART,
+ /**
+ * The object contains descriptive information, usually textual, about another user interface
+ * element such as a table, chart, or image.
+ *
+ * @since AT-SPI 1.7.0
+ */
+ ROLE_CAPTION,
+ /**
+ * The object is a visual frame or container which contains a view of document content.
+ * Document frames may occur within another Document instance, in which case the second
+ * document may be said to be embedded in the containing instance. HTML frames are
+ * often ROLE_DOCUMENT_FRAME. Either this object, or a singleton descendant, should implement
+ * the Document interface.
+ *
+ * @since AT-SPI 1.7.0
+ */
+ ROLE_DOCUMENT_FRAME,
+ /**
+ * The object serves as a heading for content which follows it in a document.
+ * The 'heading level' of the heading, if availabe, may be obtained by
+ * querying the object's attributes.
+ *
+ * @since AT-SPI 1.7.0
+ */
+ ROLE_HEADING,
+ /**
+ * The object is a containing instance which encapsulates a page of
+ * information. ROLE_PAGE is used in documents and content which support
+ * a paginated navigation model.
+ *
+ * @since AT-SPI 1.7.0
+ */
+ ROLE_PAGE,
+ /**
+ * The object is a containing instance of document content which constitutes
+ * a particular 'logical' section of the document. The type of content within
+ * a section, and the nature of the section division itself, may be obtained
+ * by querying the object's attributes. Sections may be nested.
+ *
+ * @since AT-SPI 1.7.0
+ */
+ ROLE_SECTION,
+ /**
+ * The object is redundant with another object in the hierarchy,
+ * and is exposed for purely technical reasons. Objects of this role
+ * should be ignored by clients, if they are encountered at all.
+ *
+ * @since AT-SPI 1.7.6
+ */
+ ROLE_REDUNDANT_OBJECT,
+ /**
+ * The object is a containing instance of document content which
+ * has within it components with which the user can interact in order to
+ * input information; i.e. the object is a container for pushbuttons,
+ * comboboxes, text input fields, and other 'GUI' components.
+ * ROLE_FORM should not, in general, be used for toplevel GUI containers
+ * or dialogs, but should be reserved for 'GUI' containers which occur within
+ * document content, for instance within Web documents, presentations, or
+ * text documents. Unlike other GUI containers and dialogs which occur inside
+ * application instances, ROLE_FORM containers' components are associated with
+ * the current document, rather than the current foreground application or
+ * viewer instance.
+ *
+ * @since AT-SPI 1.7.6
+ */
+ ROLE_FORM,
+ /**
+ * The object is a hypertext anchor, i.e. a "link" in a
+ * hypertext document. Such objects are distinct from 'inline'
+ * content which may also use the Hypertext/Hyperlink interfaces
+ * to indicate the range/location within a text object where
+ * an inline or embedded object lies.
+ *
+ * @since AT-SPI 1.7.6
+ */
+ ROLE_LINK,
+ /**
+ * The object is a window or similar viewport which is used
+ * to allow composition or input of a 'complex character',
+ * in other words it is an "input method window."
+ *
+ * @since AT-SPI 1.7.6
+ */
+ ROLE_INPUT_METHOD_WINDOW,
+
+ /** not a valid role, used for finding end of enumeration. */
ROLE_LAST_DEFINED
};
};