+ /**
+ * means that the role for this item is known, but not included in the
+ * core enumeration
+ */
+ ROLE_EXTENDED,
+ /** 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. */