/* * AT-SPI - Assistive Technology Service Provider Interface * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) * * Copyright 2001 Sun Microsystems Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef _ACCESSIBILITY_ROLE_IDL #define _ACCESSIBILITY_ROLE_IDL 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 */ ROLE_ACCELERATOR_LABEL, /** Object is used to alert the user about something */ ROLE_ALERT, /** Object contains a dynamic or moving image of some kind */ ROLE_ANIMATION, /** Object is a 2d directional indicator */ ROLE_ARROW, /** 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 */ 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) */ ROLE_CHECK_MENU_ITEM, /** A specialized dialog that lets the user choose a color. */ ROLE_COLOR_CHOOSER, /** The header for a column of data */ ROLE_COLUMN_HEADER, /** A list of choices the user can select from */ ROLE_COMBO_BOX, /** An object which allows entry of a date */ ROLE_DATE_EDITOR, /** 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 */ 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 use, reserved for future use. */ ROLE_FOCUS_TRAVERSABLE, /** Allows selection of a display font */ ROLE_FONT_CHOOSER, /** 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 */ 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 */ ROLE_ICON, /** An image, typically static. */ ROLE_IMAGE, /** 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 */ 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. */ 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 */ ROLE_OPTION_PANE, /** 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. */ 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. */ 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) */ 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 */ ROLE_ROW_HEADER, /** * An object usually used to allow a user to incrementally view a large * 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. 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 */ ROLE_SLIDER, /** * An object which allows one of a set of choices to be selected, * 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. */ ROLE_SPLIT_PANE, /** 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. */ 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. */ ROLE_TEAROFF_MENU_ITEM, /** An object that emulates a terminal */ ROLE_TERMINAL, /** 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. */ ROLE_TREE, /** 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. */ ROLE_UNKNOWN, /** 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. */ ROLE_WINDOW, /** * 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. */ ROLE_LAST_DEFINED }; }; #endif