Bug 467437, bump automation config for fx2.0.0.19 build 2, r=bhearsum
[mozilla-1.9.git] / other-licenses / ia2 / AccessibleRole.idl
blobb0f2ab1bcd0e61ce9e076d914ea44dcb75da2340
1 /*************************************************************************
3 * File Name (AccessibleRole.idl)
5 * IAccessible2 IDL Specification
7 * Copyright (c) IBM Corp. 2007
8 * Copyright (c) Sun Microsystems, Inc. 2000, 2006
10 * This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU Lesser General Public
12 * License version 2.1, as published by the Free Software Foundation; either
13 * version 2.1 of the License, or (at your option) any later version.
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * Lesser General Public License for more details.
20 * You should have received a copy of the GNU Lesser General Public
21 * License along with this library; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA
24 ************************************************************************/
26 import "objidl.idl";
28 /** Collection of roles.
30 This enumerator defines the set of possible roles of objects implementing the
31 IAccessible2 interface. The role of an object describes its generic function
32 like 'button', 'menu', or 'text'. You can obtain an object's role by calling
33 the get_accRole method of the IAccessible interface.
35 enum IA2Role {
37 /** Unknown role. The object contains some Accessible information, but its
38 role is not known.
40 IA2_ROLE_UNKNOWN = 0,
42 /** An object that can be drawn into and to manage events from the objects
43 drawn into it. Also refer to ::IA2_ROLE_FRAME,
44 ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_LAYERED_PANE.
46 IA2_ROLE_CANVAS = 0x401,
48 /// A caption describing another object.
49 IA2_ROLE_CAPTION,
51 /// Used for check buttons that are menu items.
52 IA2_ROLE_CHECK_MENU_ITEM,
54 /// A specialized dialog that lets the user choose a color.
55 IA2_ROLE_COLOR_CHOOSER,
57 /// A date editor.
58 IA2_ROLE_DATE_EDITOR,
60 /** An iconified internal frame in an ::IA2_ROLE_DESKTOP_PANE.
61 Also refer to ::IA2_ROLE_INTERNAL_FRAME.
63 IA2_ROLE_DESKTOP_ICON,
65 /** A desktop pane. A pane that supports internal frames and iconified
66 versions of those internal frames. Also refer to ::IA2_ROLE_INTERNAL_FRAME.
68 IA2_ROLE_DESKTOP_PANE,
70 /** A directory pane. A pane that allows the user to navigate through
71 and select the contents of a directory. May be used by a file chooser.
72 Also refer to ::IA2_ROLE_FILE_CHOOSER.
74 IA2_ROLE_DIRECTORY_PANE,
76 /// An editable text object in a toolbar.
77 IA2_ROLE_EDITBAR,
79 /// Embeded (OLE) object.
80 IA2_ROLE_EMBEDDED_OBJECT,
82 /// Text that is used as an endnote (footnote at the end of a chapter or section).
83 IA2_ROLE_ENDNOTE,
85 /** A file chooser. A specialized dialog that displays the files in the
86 directory and lets the user select a file, browse a different directory,
87 or specify a filename. May use the directory pane to show the contents of
88 a directory.
89 Also refer to ::IA2_ROLE_DIRECTORY_PANE.
91 IA2_ROLE_FILE_CHOOSER,
93 /** A font chooser. A font chooser is a component that lets the user pick
94 various attributes for fonts.
96 IA2_ROLE_FONT_CHOOSER,
98 /** Footer of a document page.
99 Also refer to ::IA2_ROLE_HEADER.
101 IA2_ROLE_FOOTER,
103 /// Text that is used as a footnote. Also refer to ::IA2_ROLE_ENDNOTE.
104 IA2_ROLE_FOOTNOTE,
106 /** A container of form controls. An example of the use of this role is to
107 represent an HTML FORM tag.
109 IA2_ROLE_FORM,
111 /** Frame role. A top level window with a title bar, border, menu bar, etc.
112 It is often used as the primary window for an application. Also refer to
113 ::IA2_ROLE_CANVAS and the MSAA roles of dialog and window.
115 IA2_ROLE_FRAME,
117 /** A glass pane. A pane that is guaranteed to be painted on top of all panes
118 beneath it. Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_INTERNAL_FRAME, and
119 ::IA2_ROLE_ROOT_PANE.
121 IA2_ROLE_GLASS_PANE,
123 /** Header of a document page.
124 Also refer to ::IA2_ROLE_FOOTER.
126 IA2_ROLE_HEADER,
128 /// Heading. Use the IAccessible2::attributes heading-level attribute to determine the heading level.
129 IA2_ROLE_HEADING,
131 /// A small fixed size picture, typically used to decorate components.
132 IA2_ROLE_ICON,
134 /** An image map object. Usually a graphic with multiple hotspots, where
135 each hotspot can be activated resulting in the loading of another document
136 or section of a document.
138 IA2_ROLE_IMAGE_MAP,
140 /** An object which is used to allow input of characters not found on a keyboard,
141 such as the input of Chinese characters on a Western keyboard.
143 IA2_ROLE_INPUT_METHOD_WINDOW,
145 /** An internal frame. A frame-like object that is clipped by a desktop pane.
146 The desktop pane, internal frame, and desktop icon objects are often used to
147 create multiple document interfaces within an application.
148 Also refer to ::IA2_ROLE_DESKTOP_ICON, ::IA2_ROLE_DESKTOP_PANE, and ::IA2_ROLE_FRAME.
150 IA2_ROLE_INTERNAL_FRAME,
152 /// An object used to present an icon or short string in an interface.
153 IA2_ROLE_LABEL,
155 /** A layered pane. A specialized pane that allows its children to be drawn
156 in layers, providing a form of stacking order. This is usually the pane that
157 holds the menu bar as well as the pane that contains most of the visual
158 components in a window.
159 Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_ROOT_PANE.
161 IA2_ROLE_LAYERED_PANE,
163 /// An embedded note which is not visible until activated.
164 IA2_ROLE_NOTE,
166 /** A specialized pane whose primary use is inside a dialog.
167 Also refer to MSAA's dialog role.
169 IA2_ROLE_OPTION_PANE,
171 /** An object representing a page of document content. It is used in documents
172 which are accessed by the user on a page by page basis.
174 IA2_ROLE_PAGE,
176 /// A paragraph of text.
177 IA2_ROLE_PARAGRAPH,
179 /** A radio button that is a menu item.
180 Also refer to MSAA's button and menu item roles.
182 IA2_ROLE_RADIO_MENU_ITEM,
184 /** An object which is redundant with another object in the accessible hierarchy.
185 ATs typically ignore objects with this role.
187 IA2_ROLE_REDUNDANT_OBJECT,
189 /** A root pane. A specialized pane that has a glass pane and a layered pane
190 as its children.
191 Also refer to ::IA2_ROLE_GLASS_PANE and ::IA2_ROLE_LAYERED_PANE
193 IA2_ROLE_ROOT_PANE,
195 /** A ruler such as those used in word processors.
197 IA2_ROLE_RULER,
199 /** A scroll pane. An object that allows a user to incrementally view a large
200 amount of information. Its children can include scroll bars and a viewport.
201 Also refer to ::IA2_ROLE_VIEW_PORT and MSAA's scroll bar role.
203 IA2_ROLE_SCROLL_PANE,
205 /** A container of document content. An example of the use of this role is to
206 represent an HTML DIV tag.
208 A section may be used as a region. A region is a group of elements that
209 together form a perceivable unit. A region does not necessarily follow the
210 logical structure of the content, but follows the perceivable structure of
211 the page. A region may have an attribute in the set of
212 IAccessible2::attributes which indicates that it is "live". A live region
213 is content that is likely to change in response to a timed change, a user
214 event, or some other programmed logic or event.
216 IA2_ROLE_SECTION,
218 /// Object with graphical representation used to represent content on draw pages.
219 IA2_ROLE_SHAPE,
221 /** A split pane. A specialized panel that presents two other panels at the
222 same time. Between the two panels is a divider the user can manipulate to make
223 one panel larger and the other panel smaller.
225 IA2_ROLE_SPLIT_PANE,
227 /** An object that forms part of a menu system but which can be "undocked"
228 from or "torn off" the menu system to exist as a separate window.
230 IA2_ROLE_TEAR_OFF_MENU,
232 /// An object used as a terminal emulator.
233 IA2_ROLE_TERMINAL,
235 /// Collection of objects that constitute a logical text entity.
236 IA2_ROLE_TEXT_FRAME,
238 /** A toggle button. A specialized push button that can be checked or unchecked,
239 but does not provide a separate indicator for the current state.
240 Also refer to MSAA's roles of push button, check box, and radio button.
241 <BR><B>Note:</B> IA2_ROLE_TOGGLE_BUTTON should not be used. Instead, use MSAA's
242 ROLE_SYSTEM_PUSHBUTTON and STATE_SYSTEM_PRESSED.
244 IA2_ROLE_TOGGLE_BUTTON,
246 /** A viewport. An object usually used in a scroll pane. It represents the
247 portion of the entire data that the user can see. As the user manipulates
248 the scroll bars, the contents of the viewport can change.
249 Also refer to ::IA2_ROLE_SCROLL_PANE.
251 IA2_ROLE_VIEW_PORT