2 * AT-SPI - Assistive Technology Service Provider Interface
3 * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
5 * Copyright 2001 Sun Microsystems Inc.
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details.
17 * You should have received a copy of the GNU Library General Public
18 * License along with this library; if not, write to the
19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
23 #ifndef _ACCESSIBILITY_ROLE_IDL
24 #define _ACCESSIBILITY_ROLE_IDL
26 module Accessibility {
30 /* Object is a label indicating the keyboard accelerators for the parent */
31 ROLE_ACCELERATOR_LABEL,
32 /* Object is used to alert the user about something */
34 /* Object contains a dynamic or moving image of some kind */
36 /* Object is a 2d directional indicator */
38 /* Object contains one or more dates, usually arranged into a 2d list */
40 /* Object that can be drawn into and is used to trap events */
43 * A choice that can be checked or unchecked and provides a separate
44 * indicator for the current state.
47 /* A menu item that behaves like a check box (see ROLE_CHECK_BOX) */
49 /* A specialized dialog that lets the user choose a color. */
51 /* The header for a column of data */
53 /* A list of choices the user can select from */
55 /* An object which allows entry of a date */
57 /* An inconifed internal frame within a DESKTOP_PANE */
60 * A pane that supports internal frames and iconified versions of those
65 * An object that allows a value to be changed via rotating a visual element,
66 * or which displays a value via such a rotating element.
69 /* A top level window with title bar and a border */
72 * A pane that allows the user to navigate through and select the contents
77 * A specialized dialog that displays the files in the directory and lets
78 * the user select a file, browse a different directory, or specify a
83 * An object used for drawing custom user interface elements.
87 * A object that fills up space in a user interface
90 /* XXX Don't know sure about this. */
91 ROLE_FOCUS_TRAVERSABLE,
92 /* Allows selection of a display font */
94 /* A top level window with a title bar, border, menubar, etc. */
96 /* A pane that is guaranteed to be painted on top of all panes beneath it */
99 * A document container for HTML, whose children
100 * represent the document content.
103 /* A small fixed size picture, typically used to decorate components */
105 /* An image, typically static. */
107 /* A frame-like object that is clipped by a desktop pane. */
109 /* An object used to present an icon or short string in an interface */
112 * A specialized pane that allows its children to be drawn in layers,
113 * providing a form of stacking order.
117 * An object that presents a list of objects to the user and allows the
118 * user to select one or more of them.
121 /* An object that represents an element of a list. */
124 * An object usually found inside a menu bar that contains a list of
125 * actions the user can choose from.
129 * An object usually drawn at the top of the primary dialog box of an
130 * application that contains a list of menus the user can choose from.
134 * An object usually contained in a menu that presents an action the
138 /* A specialized pane whose primary use is inside a DIALOG */
140 /* An object that is a child of a page tab list */
143 * An object that presents a series of panels (or page tabs), one at a time,
144 * through some mechanism provided by the object.
147 /* A generic container that is often used to group objects. */
150 * A text object uses for passwords, or other places where the text
151 * content is not shown visibly to the user.
155 * A temporary window that is usually used to offer the user a list of
156 * choices, and then hides when the user selects one of those choices.
159 /* An object used to indicate how much of a task has been completed. */
162 * An object the user can manipulate to tell the application to do
167 * A specialized check box that will cause other radio buttons in the
168 * same group to become uncghecked when this one is checked.
171 /* Object is both a menu item and a "radio button" (see ROLE_RADIO_BUTTON) */
172 ROLE_RADIO_MENU_ITEM,
174 * A specialized pane that has a glass pane and a layered pane as its
178 /* The header for a row of data */
181 * An object usually used to allow a user to incrementally view a large
186 * An object that allows a user to incrementally view a large amount
191 * An object usually contained in a menu to provide a visible and
192 * logical separation of the contents in a menu.
195 /* An object that allows the user to select from a bounded range */
198 * An object which allows one of a set of choices to be selected,
199 * and which displays the current choice.
202 /* A specialized panel that presents two other panels at the same time. */
204 /* Object displays non-quantitative status information (c.f. ROLE_PROGRESS_BAR) */
206 /* An object used to repesent information in terms of rows and columns. */
209 ROLE_TABLE_COLUMN_HEADER,
210 ROLE_TABLE_ROW_HEADER,
211 /* Object allows menu to be removed from menubar and shown in its own window. */
212 ROLE_TEAROFF_MENU_ITEM,
213 /* An object that emulates a terminal */
215 /* An object that presents text to the user */
218 * A specialized push button that can be checked or unchecked, but does
219 * not procide a separate indicator for the current state.
223 * A bar or palette usually composed of push buttons or toggle buttons
227 * An object that provides information about another object
230 /* An object used to repsent hierarchical information to the user. */
232 /* An object that presents both tabular and hierarchical info to the user */
235 * The object contains some Accessible information, but its role is
239 /* An object usually used in a scroll pane. */
241 /* A top level window with no title or border */
244 * means that the role for this item is known, but not included in the
248 /* An object that serves as a document header. */
250 /* An object that serves as a document footer. */
252 /* An object which is contains a paragraph of text content. */
255 * An object which describes margins and tab stops, etc.
256 * for text objects which it controls
257 * (should have CONTROLLER_FOR relation to such).
261 * An object corresponding to the toplevel accessible of an
262 * application, which may contain ROLE_FRAME objects or other
263 * accessible objects. Children of AccessibleDesktop objects
264 * are generally ROLE_APPLICATION objects.
268 * The object is a dialog or list containing items for insertion
269 * into an entry widget, for instance a list of words for completion
274 * The object is an editable text object in a toolbar.
277 /* not a valid role, used for finding end of enumeration. */