AccessibleRole.idl (13281B)
1 /************************************************************************* 2 * 3 * File Name (AccessibleRole.idl) 4 * 5 * IAccessible2 IDL Specification 6 * 7 * Copyright (c) 2007-2018 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 /** An object representing a navigational landmark, a region on a page to 296 which the user may want quick access, such as a navigation area, a search 297 facility or the main content of a page. 298 */ 299 IA2_ROLE_LANDMARK, 300 301 /** 302 * A bar that serves as a level indicator to, for instance, show 303 * the strength of a password or the charge of a battery. 304 */ 305 IA2_ROLE_LEVEL_BAR, 306 307 /** Content previously deleted or proposed for deletion, e.g. in revision 308 history or a content view providing suggestions from reviewers. 309 */ 310 IA2_ROLE_CONTENT_DELETION, 311 312 /** Content previously inserted or proposed for insertion, e.g. in revision 313 history or a content view providing suggestions from reviewers. 314 */ 315 IA2_ROLE_CONTENT_INSERTION, 316 317 /// A section of content that is quoted from another source. 318 IA2_ROLE_BLOCK_QUOTE, 319 320 /** A run of content that is marked or highlighted, such as for reference 321 purposes, or to call it out as having a special purpose that is clear from 322 context. If the mark is used in conjuction with a related content section 323 in the document, then IA2_RELATION_DETAILS should be used to link the 324 related content (and the reverse relation IA2_RELATION_DETAILS_FOR should 325 link back to the IA2_ROLE_MARK object). If the mark has related information 326 in a tooltip, or as hidden text, then accDescription should be used to 327 provide this information. 328 */ 329 IA2_ROLE_MARK, 330 331 /** A grouping for content that is called out as a proposed change from the 332 current version of the document, such as by a reviewer of the content. 333 Should include as children one or both of: 334 IA2_ROLE_CONTENT_DELETION and IA2_ROLE_CONTENT_INSERTION, in any order, 335 to indicate what the actual change is. 336 If the suggestion is accepted, the implementation should change the role to 337 a generic one such as IA2_ROLE_SECTION or IA2_ROLE_TEXT_FRAME. 338 */ 339 IA2_ROLE_SUGGESTION, 340 341 /** A single comment, typically user-generated content. Supports reply 342 hierarchies via descendant structure, e.g. a child comment is a reply 343 to the parent comment. Supports groupPosition() method to determine 344 reply level (top comment is 1), as well as set size and position in set 345 within that level. 346 */ 347 IA2_ROLE_COMMENT 348 };