|
1 /************************************************************************* |
|
2 * |
|
3 * File Name (AccessibleRole.idl) |
|
4 * |
|
5 * IAccessible2 IDL Specification |
|
6 * |
|
7 * Copyright (c) 2007, 2013 Linux Foundation |
|
8 * Copyright (c) 2006 IBM Corporation |
|
9 * Copyright (c) 2000, 2006 Sun Microsystems, Inc. |
|
10 * All rights reserved. |
|
11 * |
|
12 * |
|
13 * Redistribution and use in source and binary forms, with or without |
|
14 * modification, are permitted provided that the following conditions |
|
15 * are met: |
|
16 * |
|
17 * 1. Redistributions of source code must retain the above copyright |
|
18 * notice, this list of conditions and the following disclaimer. |
|
19 * |
|
20 * 2. Redistributions in binary form must reproduce the above |
|
21 * copyright notice, this list of conditions and the following |
|
22 * disclaimer in the documentation and/or other materials |
|
23 * provided with the distribution. |
|
24 * |
|
25 * 3. Neither the name of the Linux Foundation nor the names of its |
|
26 * contributors may be used to endorse or promote products |
|
27 * derived from this software without specific prior written |
|
28 * permission. |
|
29 * |
|
30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND |
|
31 * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, |
|
32 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
|
33 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
34 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
|
35 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
36 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
|
37 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
38 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
|
39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
40 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
|
41 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, |
|
42 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
43 * |
|
44 * This BSD License conforms to the Open Source Initiative "Simplified |
|
45 * BSD License" as published at: |
|
46 * http://www.opensource.org/licenses/bsd-license.php |
|
47 * |
|
48 * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 |
|
49 * mark may be used in accordance with the Linux Foundation Trademark |
|
50 * Policy to indicate compliance with the IAccessible2 specification. |
|
51 * |
|
52 ************************************************************************/ |
|
53 |
|
54 import "objidl.idl"; |
|
55 |
|
56 /** Collection of roles |
|
57 |
|
58 This enumerator defines an extended set of accessible roles of objects implementing |
|
59 the %IAccessible2 interface. These roles are in addition to the MSAA roles obtained |
|
60 through the MSAA get_accRole method. Examples are 'footnote', 'heading', and |
|
61 'label'. You obtain an object's %IAccessible2 roles by calling IAccessible2::role. |
|
62 */ |
|
63 enum IA2Role { |
|
64 |
|
65 /** Unknown role. The object contains some Accessible information, but its |
|
66 role is not known. |
|
67 */ |
|
68 IA2_ROLE_UNKNOWN = 0, |
|
69 |
|
70 /** An object that can be drawn into and to manage events from the objects |
|
71 drawn into it. Also refer to ::IA2_ROLE_FRAME, |
|
72 ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_LAYERED_PANE. |
|
73 */ |
|
74 IA2_ROLE_CANVAS = 0x401, |
|
75 |
|
76 /// A caption describing another object. |
|
77 IA2_ROLE_CAPTION, |
|
78 |
|
79 /// Used for check buttons that are menu items. |
|
80 IA2_ROLE_CHECK_MENU_ITEM, |
|
81 |
|
82 /// A specialized dialog that lets the user choose a color. |
|
83 IA2_ROLE_COLOR_CHOOSER, |
|
84 |
|
85 /// A date editor. |
|
86 IA2_ROLE_DATE_EDITOR, |
|
87 |
|
88 /** An iconified internal frame in an ::IA2_ROLE_DESKTOP_PANE. |
|
89 Also refer to ::IA2_ROLE_INTERNAL_FRAME. |
|
90 */ |
|
91 IA2_ROLE_DESKTOP_ICON, |
|
92 |
|
93 /** A desktop pane. A pane that supports internal frames and iconified |
|
94 versions of those internal frames. Also refer to ::IA2_ROLE_INTERNAL_FRAME. |
|
95 */ |
|
96 IA2_ROLE_DESKTOP_PANE, |
|
97 |
|
98 /** A directory pane. A pane that allows the user to navigate through |
|
99 and select the contents of a directory. May be used by a file chooser. |
|
100 Also refer to ::IA2_ROLE_FILE_CHOOSER. |
|
101 */ |
|
102 IA2_ROLE_DIRECTORY_PANE, |
|
103 |
|
104 /** An editable text object in a toolbar. <b>Deprecated.</b> |
|
105 The edit bar role was meant for a text area in a tool bar. However, to detect |
|
106 a text area in a tool bar the AT can query the parent. |
|
107 */ |
|
108 IA2_ROLE_EDITBAR, |
|
109 |
|
110 /// Embedded (OLE) object. |
|
111 IA2_ROLE_EMBEDDED_OBJECT, |
|
112 |
|
113 /// Text that is used as an endnote (footnote at the end of a chapter or section). |
|
114 IA2_ROLE_ENDNOTE, |
|
115 |
|
116 /** A file chooser. A specialized dialog that displays the files in the |
|
117 directory and lets the user select a file, browse a different directory, |
|
118 or specify a filename. May use the directory pane to show the contents of |
|
119 a directory. |
|
120 Also refer to ::IA2_ROLE_DIRECTORY_PANE. |
|
121 */ |
|
122 IA2_ROLE_FILE_CHOOSER, |
|
123 |
|
124 /** A font chooser. A font chooser is a component that lets the user pick |
|
125 various attributes for fonts. |
|
126 */ |
|
127 IA2_ROLE_FONT_CHOOSER, |
|
128 |
|
129 /** Footer of a document page. |
|
130 Also refer to ::IA2_ROLE_HEADER. |
|
131 */ |
|
132 IA2_ROLE_FOOTER, |
|
133 |
|
134 /// Text that is used as a footnote. Also refer to ::IA2_ROLE_ENDNOTE. |
|
135 IA2_ROLE_FOOTNOTE, |
|
136 |
|
137 /** A container of form controls. An example of the use of this role is to |
|
138 represent an HTML FORM tag. |
|
139 */ |
|
140 IA2_ROLE_FORM, |
|
141 |
|
142 /** Frame role. A top level window with a title bar, border, menu bar, etc. |
|
143 It is often used as the primary window for an application. Also refer to |
|
144 ::IA2_ROLE_CANVAS and the MSAA roles of dialog and window. |
|
145 */ |
|
146 IA2_ROLE_FRAME, |
|
147 |
|
148 /** A glass pane. A pane that is guaranteed to be painted on top of all panes |
|
149 beneath it. Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_INTERNAL_FRAME, and |
|
150 ::IA2_ROLE_ROOT_PANE. |
|
151 */ |
|
152 IA2_ROLE_GLASS_PANE, |
|
153 |
|
154 /** Header of a document page. |
|
155 Also refer to ::IA2_ROLE_FOOTER. |
|
156 */ |
|
157 IA2_ROLE_HEADER, |
|
158 |
|
159 /// Heading. Use the IAccessible2::attributes level attribute to determine the heading level. |
|
160 IA2_ROLE_HEADING, |
|
161 |
|
162 /// A small fixed size picture, typically used to decorate components. |
|
163 IA2_ROLE_ICON, |
|
164 |
|
165 /** An image map object. Usually a graphic with multiple hotspots, where |
|
166 each hotspot can be activated resulting in the loading of another document |
|
167 or section of a document. |
|
168 */ |
|
169 IA2_ROLE_IMAGE_MAP, |
|
170 |
|
171 /** An object which is used to allow input of characters not found on a keyboard, |
|
172 such as the input of Chinese characters on a Western keyboard. |
|
173 */ |
|
174 IA2_ROLE_INPUT_METHOD_WINDOW, |
|
175 |
|
176 /** An internal frame. A frame-like object that is clipped by a desktop pane. |
|
177 The desktop pane, internal frame, and desktop icon objects are often used to |
|
178 create multiple document interfaces within an application. |
|
179 Also refer to ::IA2_ROLE_DESKTOP_ICON, ::IA2_ROLE_DESKTOP_PANE, and ::IA2_ROLE_FRAME. |
|
180 */ |
|
181 IA2_ROLE_INTERNAL_FRAME, |
|
182 |
|
183 /// An object used to present an icon or short string in an interface. |
|
184 IA2_ROLE_LABEL, |
|
185 |
|
186 /** A layered pane. A specialized pane that allows its children to be drawn |
|
187 in layers, providing a form of stacking order. This is usually the pane that |
|
188 holds the menu bar as well as the pane that contains most of the visual |
|
189 components in a window. |
|
190 Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_ROOT_PANE. |
|
191 */ |
|
192 IA2_ROLE_LAYERED_PANE, |
|
193 |
|
194 /** A section whose content is parenthetic or ancillary to the main content |
|
195 of the resource. |
|
196 */ |
|
197 IA2_ROLE_NOTE, |
|
198 |
|
199 /** A specialized pane whose primary use is inside a dialog. |
|
200 Also refer to MSAA's dialog role. |
|
201 */ |
|
202 IA2_ROLE_OPTION_PANE, |
|
203 |
|
204 /** An object representing a page of document content. It is used in documents |
|
205 which are accessed by the user on a page by page basis. |
|
206 */ |
|
207 IA2_ROLE_PAGE, |
|
208 |
|
209 /// A paragraph of text. |
|
210 IA2_ROLE_PARAGRAPH, |
|
211 |
|
212 /** A radio button that is a menu item. |
|
213 Also refer to MSAA's button and menu item roles. |
|
214 */ |
|
215 IA2_ROLE_RADIO_MENU_ITEM, |
|
216 |
|
217 /** An object which is redundant with another object in the accessible hierarchy. |
|
218 ATs typically ignore objects with this role. |
|
219 */ |
|
220 IA2_ROLE_REDUNDANT_OBJECT, |
|
221 |
|
222 /** A root pane. A specialized pane that has a glass pane and a layered pane |
|
223 as its children. |
|
224 Also refer to ::IA2_ROLE_GLASS_PANE and ::IA2_ROLE_LAYERED_PANE |
|
225 */ |
|
226 IA2_ROLE_ROOT_PANE, |
|
227 |
|
228 /** A ruler such as those used in word processors. |
|
229 */ |
|
230 IA2_ROLE_RULER, |
|
231 |
|
232 /** A scroll pane. An object that allows a user to incrementally view a large |
|
233 amount of information. Its children can include scroll bars and a viewport. |
|
234 Also refer to ::IA2_ROLE_VIEW_PORT and MSAA's scroll bar role. |
|
235 */ |
|
236 IA2_ROLE_SCROLL_PANE, |
|
237 |
|
238 /** A container of document content. An example of the use of this role is to |
|
239 represent an HTML DIV tag. A section may be used as a region. A region is a |
|
240 group of elements that together form a perceivable unit. A region does not |
|
241 necessarily follow the logical structure of the content, but follows the |
|
242 perceivable structure of the page. A region may have an attribute in the set |
|
243 of IAccessible2::attributes which indicates that it is "live". A live region |
|
244 is content that is likely to change in response to a timed change, a user |
|
245 event, or some other programmed logic or event. |
|
246 */ |
|
247 IA2_ROLE_SECTION, |
|
248 |
|
249 /// Object with graphical representation used to represent content on draw pages. |
|
250 IA2_ROLE_SHAPE, |
|
251 |
|
252 /** A split pane. A specialized panel that presents two other panels at the |
|
253 same time. Between the two panels is a divider the user can manipulate to make |
|
254 one panel larger and the other panel smaller. |
|
255 */ |
|
256 IA2_ROLE_SPLIT_PANE, |
|
257 |
|
258 /** An object that forms part of a menu system but which can be "undocked" |
|
259 from or "torn off" the menu system to exist as a separate window. |
|
260 */ |
|
261 IA2_ROLE_TEAR_OFF_MENU, |
|
262 |
|
263 /// An object used as a terminal emulator. |
|
264 IA2_ROLE_TERMINAL, |
|
265 |
|
266 /// Collection of objects that constitute a logical text entity. |
|
267 IA2_ROLE_TEXT_FRAME, |
|
268 |
|
269 /** A toggle button. A specialized push button that can be checked or unchecked, |
|
270 but does not provide a separate indicator for the current state. |
|
271 Also refer to MSAA's roles of push button, check box, and radio button. |
|
272 <BR><B>Note:</B> IA2_ROLE_TOGGLE_BUTTON should not be used. Instead, use MSAA's |
|
273 ROLE_SYSTEM_PUSHBUTTON and STATE_SYSTEM_PRESSED. |
|
274 */ |
|
275 IA2_ROLE_TOGGLE_BUTTON, |
|
276 |
|
277 /** A viewport. An object usually used in a scroll pane. It represents the |
|
278 portion of the entire data that the user can see. As the user manipulates |
|
279 the scroll bars, the contents of the viewport can change. |
|
280 Also refer to ::IA2_ROLE_SCROLL_PANE. |
|
281 */ |
|
282 IA2_ROLE_VIEW_PORT, |
|
283 |
|
284 /** An object containing content which is complementary to the main content of |
|
285 a document, but remains meaningful when separated from the main content. There |
|
286 are various types of content that would appropriately have this role. For example, |
|
287 in the case where content is delivered via a web portal to a web browser, this may |
|
288 include but not be limited to show times, current weather, related articles, or |
|
289 stocks to watch. The complementary role indicates that contained content is relevant |
|
290 to the main content. If the complementary content is completely separable main |
|
291 content, it may be appropriate to use a more general role. |
|
292 */ |
|
293 IA2_ROLE_COMPLEMENTARY_CONTENT |
|
294 |
|
295 }; |