1/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- 2/* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6#include "nsISupports.idl" 7 8interface nsIAccessible; 9interface nsIAccessibleDocument; 10 11webidl Node; 12 13%{C++ 14#define NS_ACCESSIBLE_EVENT_TOPIC "accessible-event" 15%} 16 17/** 18 * An interface for accessibility events listened to 19 * by in-process accessibility clients, which can be used 20 * to find out how to get accessibility and DOM interfaces for 21 * the event and its target. To listen to in-process accessibility invents, 22 * make your object an nsIObserver, and listen for accessible-event by 23 * using code something like this: 24 * nsCOMPtr<nsIObserverService> observerService = 25 * do_GetService("@mozilla.org/observer-service;1", &rv); 26 * if (NS_SUCCEEDED(rv)) 27 * rv = observerService->AddObserver(this, "accessible-event", PR_TRUE); 28 */ 29[scriptable, builtinclass, uuid(20c69a40-6c2c-42a3-a578-6f4473aab9dd)] 30interface nsIAccessibleEvent : nsISupports 31{ 32 /** 33 * An object has been created. 34 */ 35 const unsigned long EVENT_SHOW = 0x0001; 36 37 /** 38 * An object has been destroyed. 39 */ 40 const unsigned long EVENT_HIDE = 0x0002; 41 42 /** 43 * An object's children have changed 44 */ 45 const unsigned long EVENT_REORDER = 0x0003; 46 47 /** 48 * The active descendant of a component has changed. The active descendant 49 * is used in objects with transient children. 50 */ 51 const unsigned long EVENT_ACTIVE_DECENDENT_CHANGED = 0x0004; 52 53 /** 54 * An object has received the keyboard focus. 55 */ 56 const unsigned long EVENT_FOCUS = 0x0005; 57 58 /** 59 * An object's state has changed. 60 */ 61 const unsigned long EVENT_STATE_CHANGE = 0x0006; 62 63 /** 64 * An object has changed location, shape, or size. 65 */ 66 const unsigned long EVENT_LOCATION_CHANGE = 0x0007; 67 68 /** 69 * An object's Name property has changed. 70 */ 71 const unsigned long EVENT_NAME_CHANGE = 0x0008; 72 73 /** 74 * An object's Description property has changed. 75 */ 76 const unsigned long EVENT_DESCRIPTION_CHANGE = 0x0009; 77 78 /** 79 * An object's numeric Value has changed. 80 */ 81 const unsigned long EVENT_VALUE_CHANGE = 0x000A; 82 83 /** 84 * An object's help has changed. 85 */ 86 const unsigned long EVENT_HELP_CHANGE = 0x000B; 87 88 /** 89 * An object's default action has changed. 90 */ 91 const unsigned long EVENT_DEFACTION_CHANGE = 0x000C; 92 93 /** 94 * An object's action has changed. 95 */ 96 const unsigned long EVENT_ACTION_CHANGE = 0x000D; 97 98 /** 99 * An object's keyboard shortcut has changed. 100 */ 101 const unsigned long EVENT_ACCELERATOR_CHANGE = 0x000E; 102 103 /** 104 * The selection within a container object has changed. 105 */ 106 const unsigned long EVENT_SELECTION = 0x000F; 107 108 /** 109 * An item within a container object has been added to the selection. 110 */ 111 const unsigned long EVENT_SELECTION_ADD = 0x0010; 112 113 /** 114 * An item within a container object has been removed from the selection. 115 */ 116 const unsigned long EVENT_SELECTION_REMOVE = 0x0011; 117 118 /** 119 * Numerous selection changes have occurred within a container object. 120 */ 121 const unsigned long EVENT_SELECTION_WITHIN = 0x0012; 122 123 /** 124 * An alert has been generated. Server applications send this event when a 125 * user needs to know that a user interface element has changed. 126 */ 127 const unsigned long EVENT_ALERT = 0x0013; 128 129 /** 130 * The foreground window has changed. 131 */ 132 const unsigned long EVENT_FOREGROUND = 0x0014; 133 134 /** 135 * A menu item on the menu bar has been selected. 136 */ 137 const unsigned long EVENT_MENU_START = 0x0015; 138 139 /** 140 * A menu from the menu bar has been closed. 141 */ 142 const unsigned long EVENT_MENU_END = 0x0016; 143 144 /** 145 * A pop-up menu has been displayed. 146 */ 147 const unsigned long EVENT_MENUPOPUP_START = 0x0017; 148 149 /** 150 * A pop-up menu has been closed. 151 */ 152 const unsigned long EVENT_MENUPOPUP_END = 0x0018; 153 154 /** 155 * A window has received mouse capture. 156 */ 157 const unsigned long EVENT_CAPTURE_START = 0x0019; 158 159 /** 160 * A window has lost mouse capture. 161 */ 162 const unsigned long EVENT_CAPTURE_END = 0x001A; 163 164 /** 165 * A window is being moved or resized. 166 */ 167 const unsigned long EVENT_MOVESIZE_START = 0x001B; 168 169 /** 170 * The movement or resizing of a window has finished 171 */ 172 const unsigned long EVENT_MOVESIZE_END = 0x001C; 173 174 /** 175 * A window has entered context-sensitive Help mode 176 */ 177 const unsigned long EVENT_CONTEXTHELP_START = 0x001D; 178 179 /** 180 * A window has exited context-sensitive Help mode 181 */ 182 const unsigned long EVENT_CONTEXTHELP_END = 0x001E; 183 184 /** 185 * An application is about to enter drag-and-drop mode 186 */ 187 const unsigned long EVENT_DRAGDROP_START = 0x001F; 188 189 /** 190 * An application is about to exit drag-and-drop mode 191 */ 192 const unsigned long EVENT_DRAGDROP_END = 0x0020; 193 194 /** 195 * A dialog box has been displayed 196 */ 197 const unsigned long EVENT_DIALOG_START = 0x0021; 198 199 /** 200 * A dialog box has been closed 201 */ 202 const unsigned long EVENT_DIALOG_END = 0x0022; 203 204 /** 205 * Scrolling has started on a scroll bar 206 */ 207 const unsigned long EVENT_SCROLLING_START = 0x0023; 208 209 /** 210 * Scrolling has ended on a scroll bar 211 */ 212 const unsigned long EVENT_SCROLLING_END = 0x0024; 213 214 /** 215 * A window object is about to be minimized or maximized 216 */ 217 const unsigned long EVENT_MINIMIZE_START = 0x0025; 218 219 /** 220 * A window object has been minimized or maximized 221 */ 222 const unsigned long EVENT_MINIMIZE_END = 0x0026; 223 224 /** 225 * The loading of the document has completed. 226 */ 227 const unsigned long EVENT_DOCUMENT_LOAD_COMPLETE = 0x0027; 228 229 /** 230 * The document contents are being reloaded. 231 */ 232 const unsigned long EVENT_DOCUMENT_RELOAD = 0x0028; 233 234 /** 235 * The loading of the document was interrupted. 236 */ 237 const unsigned long EVENT_DOCUMENT_LOAD_STOPPED = 0x0029; 238 239 /** 240 * The document wide attributes of the document object have changed. 241 */ 242 const unsigned long EVENT_DOCUMENT_ATTRIBUTES_CHANGED = 0x002A; 243 244 /** 245 * The contents of the document have changed. 246 */ 247 const unsigned long EVENT_DOCUMENT_CONTENT_CHANGED = 0x002B; 248 249 const unsigned long EVENT_PROPERTY_CHANGED = 0x002C; 250 251 /** 252 * A slide changed in a presentation document or a page boundary was 253 * crossed in a word processing document. 254 */ 255 const unsigned long EVENT_PAGE_CHANGED = 0x002D; 256 257 /** 258 * A text object's attributes changed. 259 * Also see EVENT_OBJECT_ATTRIBUTE_CHANGED. 260 */ 261 const unsigned long EVENT_TEXT_ATTRIBUTE_CHANGED = 0x002E; 262 263 /** 264 * The caret has moved to a new position. 265 */ 266 const unsigned long EVENT_TEXT_CARET_MOVED = 0x002F; 267 268 /** 269 * This event indicates general text changes, i.e. changes to text that is 270 * exposed through the IAccessibleText and IAccessibleEditableText interfaces. 271 */ 272 const unsigned long EVENT_TEXT_CHANGED = 0x0030; 273 274 /** 275 * Text was inserted. 276 */ 277 const unsigned long EVENT_TEXT_INSERTED = 0x0031; 278 279 /** 280 * Text was removed. 281 */ 282 const unsigned long EVENT_TEXT_REMOVED = 0x0032; 283 284 /** 285 * Text was updated. 286 */ 287 const unsigned long EVENT_TEXT_UPDATED = 0x0033; 288 289 /** 290 * The text selection changed. 291 */ 292 const unsigned long EVENT_TEXT_SELECTION_CHANGED = 0x0034; 293 294 /** 295 * A visibile data event indicates the change of the visual appearance 296 * of an accessible object. This includes for example most of the 297 * attributes available via the IAccessibleComponent interface. 298 */ 299 const unsigned long EVENT_VISIBLE_DATA_CHANGED = 0x0035; 300 301 /** 302 * The caret moved from one column to the next. 303 */ 304 const unsigned long EVENT_TEXT_COLUMN_CHANGED = 0x0036; 305 306 /** 307 * The caret moved from one section to the next. 308 */ 309 const unsigned long EVENT_SECTION_CHANGED = 0x0037; 310 311 /** 312 * A table caption changed. 313 */ 314 const unsigned long EVENT_TABLE_CAPTION_CHANGED = 0x0038; 315 316 /** 317 * A table's data changed. 318 */ 319 const unsigned long EVENT_TABLE_MODEL_CHANGED = 0x0039; 320 321 /** 322 * A table's summary changed. 323 */ 324 const unsigned long EVENT_TABLE_SUMMARY_CHANGED = 0x003A; 325 326 /** 327 * A table's row description changed. 328 */ 329 const unsigned long EVENT_TABLE_ROW_DESCRIPTION_CHANGED = 0x003B; 330 331 /** 332 * A table's row header changed. 333 */ 334 const unsigned long EVENT_TABLE_ROW_HEADER_CHANGED = 0x003C; 335 336 const unsigned long EVENT_TABLE_ROW_INSERT = 0x003D; 337 const unsigned long EVENT_TABLE_ROW_DELETE = 0x003E; 338 const unsigned long EVENT_TABLE_ROW_REORDER = 0x003F; 339 340 /** 341 * A table's column description changed. 342 */ 343 const unsigned long EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED = 0x0040; 344 345 /** 346 * A table's column header changed. 347 */ 348 const unsigned long EVENT_TABLE_COLUMN_HEADER_CHANGED = 0x0041; 349 350 const unsigned long EVENT_TABLE_COLUMN_INSERT = 0x0042; 351 const unsigned long EVENT_TABLE_COLUMN_DELETE = 0x0043; 352 const unsigned long EVENT_TABLE_COLUMN_REORDER = 0x0044; 353 354 const unsigned long EVENT_WINDOW_ACTIVATE = 0x0045; 355 const unsigned long EVENT_WINDOW_CREATE = 0x0046; 356 const unsigned long EVENT_WINDOW_DEACTIVATE = 0x0047; 357 const unsigned long EVENT_WINDOW_DESTROY = 0x0048; 358 const unsigned long EVENT_WINDOW_MAXIMIZE = 0x0049; 359 const unsigned long EVENT_WINDOW_MINIMIZE = 0x004A; 360 const unsigned long EVENT_WINDOW_RESIZE = 0x004B; 361 const unsigned long EVENT_WINDOW_RESTORE = 0x004C; 362 363 /** 364 * The ending index of this link within the containing string has changed. 365 */ 366 const unsigned long EVENT_HYPERLINK_END_INDEX_CHANGED = 0x004D; 367 368 /** 369 * The number of anchors assoicated with this hyperlink object has changed. 370 */ 371 const unsigned long EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED = 0x004E; 372 373 /** 374 * The hyperlink selected state changed from selected to unselected or 375 * from unselected to selected. 376 */ 377 const unsigned long EVENT_HYPERLINK_SELECTED_LINK_CHANGED = 0x004F; 378 379 /** 380 * One of the links associated with the hypertext object has been activated. 381 */ 382 const unsigned long EVENT_HYPERTEXT_LINK_ACTIVATED = 0x0050; 383 384 /** 385 * One of the links associated with the hypertext object has been selected. 386 */ 387 const unsigned long EVENT_HYPERTEXT_LINK_SELECTED = 0x0051; 388 389 /** 390 * The starting index of this link within the containing string has changed. 391 */ 392 const unsigned long EVENT_HYPERLINK_START_INDEX_CHANGED = 0x0052; 393 394 /** 395 * Focus has changed from one hypertext object to another, or focus moved 396 * from a non-hypertext object to a hypertext object, or focus moved from a 397 * hypertext object to a non-hypertext object. 398 */ 399 const unsigned long EVENT_HYPERTEXT_CHANGED = 0x0053; 400 401 /** 402 * The number of hyperlinks associated with a hypertext object changed. 403 */ 404 const unsigned long EVENT_HYPERTEXT_NLINKS_CHANGED = 0x0054; 405 406 /** 407 * An object's attributes changed. Also see EVENT_TEXT_ATTRIBUTE_CHANGED. 408 */ 409 const unsigned long EVENT_OBJECT_ATTRIBUTE_CHANGED = 0x0055; 410 411 /** 412 * A cursorable's virtual cursor has changed. 413 */ 414 const unsigned long EVENT_VIRTUALCURSOR_CHANGED = 0x0056; 415 416 /** 417 * An object's text Value has changed. 418 */ 419 const unsigned long EVENT_TEXT_VALUE_CHANGE = 0x0057; 420 421 /** 422 * An accessible's viewport is scrolling. 423 */ 424 const unsigned long EVENT_SCROLLING = 0x0058; 425 426 /** 427 * An accessible is making an explicit announcement. 428 */ 429 const unsigned long EVENT_ANNOUNCEMENT = 0x0059; 430 431 /** 432 * A live region has been introduced. Mac only. 433 */ 434 const unsigned long EVENT_LIVE_REGION_ADDED = 0x005A; 435 436 /** 437 * A live region has been removed (aria-live attribute changed). Mac Only. 438 */ 439 const unsigned long EVENT_LIVE_REGION_REMOVED = 0x005B; 440 441 /** 442 * A style change has occured on a table that may cause it to 443 * change from data to layout table, or the reverse. 444 */ 445 const unsigned long EVENT_TABLE_STYLING_CHANGED = 0x005C; 446 447 /** 448 * Help make sure event map does not get out-of-line. 449 */ 450 const unsigned long EVENT_LAST_ENTRY = 0x005D; 451 452 /** 453 * The type of event, based on the enumerated event values 454 * defined in this interface. 455 */ 456 readonly attribute unsigned long eventType; 457 458 /** 459 * The nsIAccessible associated with the event. 460 * May return null if no accessible is available 461 */ 462 readonly attribute nsIAccessible accessible; 463 464 /** 465 * The nsIAccessibleDocument that the event target nsIAccessible 466 * resides in. This can be used to get the DOM window, 467 * the DOM document and the window handler, among other things. 468 */ 469 readonly attribute nsIAccessibleDocument accessibleDocument; 470 471 /** 472 * The Node associated with the event 473 * May return null if accessible for event has been shut down 474 */ 475 readonly attribute Node DOMNode; 476 477 /** 478 * Returns true if the event was caused by explicit user input, 479 * as opposed to purely originating from a timer or mouse movement 480 */ 481 readonly attribute boolean isFromUserInput; 482}; 483