accessible/src/base/Role.h

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

michael@0 1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
michael@0 2 /* vim: set ts=2 et sw=2 tw=80: */
michael@0 3 /* This Source Code Form is subject to the terms of the Mozilla Public
michael@0 4 * License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
michael@0 6
michael@0 7 #ifndef _role_h_
michael@0 8 #define _role_h_
michael@0 9
michael@0 10 /**
michael@0 11 * @note Make sure to update the localized role names when changing the list.
michael@0 12 * @note When adding a new role, be sure to also add it to base/RoleMap.h and
michael@0 13 * update nsIAccessibleRole.
michael@0 14 */
michael@0 15
michael@0 16 namespace mozilla {
michael@0 17 namespace a11y {
michael@0 18 namespace roles {
michael@0 19
michael@0 20 enum Role {
michael@0 21 /**
michael@0 22 * Used when accessible hans't strong defined role.
michael@0 23 */
michael@0 24 NOTHING = 0,
michael@0 25
michael@0 26 /**
michael@0 27 * Represents a title or caption bar for a window. It is used by MSAA only,
michael@0 28 * supported automatically by MS Windows.
michael@0 29 */
michael@0 30 TITLEBAR = 1,
michael@0 31
michael@0 32 /**
michael@0 33 * Represents the menu bar (positioned beneath the title bar of a window)
michael@0 34 * from which menus are selected by the user. The role is used by
michael@0 35 * xul:menubar or role="menubar".
michael@0 36 */
michael@0 37 MENUBAR = 2,
michael@0 38
michael@0 39 /**
michael@0 40 * Represents a vertical or horizontal scroll bar, which is part of the client
michael@0 41 * area or used in a control.
michael@0 42 */
michael@0 43 SCROLLBAR = 3,
michael@0 44
michael@0 45 /**
michael@0 46 * Represents a special mouse pointer, which allows a user to manipulate user
michael@0 47 * interface elements such as windows. For example, a user clicks and drags
michael@0 48 * a sizing grip in the lower-right corner of a window to resize it.
michael@0 49 */
michael@0 50 GRIP = 4,
michael@0 51
michael@0 52 /**
michael@0 53 * Represents a system sound, which is associated with various system events.
michael@0 54 */
michael@0 55 SOUND = 5,
michael@0 56
michael@0 57 /**
michael@0 58 * Represents the system mouse pointer.
michael@0 59 */
michael@0 60 CURSOR = 6,
michael@0 61
michael@0 62 /**
michael@0 63 * Represents the system caret. The role is supported for caret.
michael@0 64 */
michael@0 65 CARET = 7,
michael@0 66
michael@0 67 /**
michael@0 68 * Represents an alert or a condition that a user should be notified about.
michael@0 69 * Assistive Technologies typically respond to the role by reading the entire
michael@0 70 * onscreen contents of containers advertising this role. Should be used for
michael@0 71 * warning dialogs, etc. The role is used by xul:browsermessage,
michael@0 72 * role="alert".
michael@0 73 */
michael@0 74 ALERT = 8,
michael@0 75
michael@0 76 /**
michael@0 77 * Represents the window frame, which contains child objects such as
michael@0 78 * a title bar, client, and other objects contained in a window. The role
michael@0 79 * is supported automatically by MS Windows.
michael@0 80 */
michael@0 81 WINDOW = 9,
michael@0 82
michael@0 83 /**
michael@0 84 * A sub-document (<frame> or <iframe>)
michael@0 85 */
michael@0 86 INTERNAL_FRAME = 10,
michael@0 87
michael@0 88 /**
michael@0 89 * Represents a menu, which presents a list of options from which the user can
michael@0 90 * make a selection to perform an action. It is used for role="menu".
michael@0 91 */
michael@0 92 MENUPOPUP = 11,
michael@0 93
michael@0 94 /**
michael@0 95 * Represents a menu item, which is an entry in a menu that a user can choose
michael@0 96 * to carry out a command, select an option. It is used for xul:menuitem,
michael@0 97 * role="menuitem".
michael@0 98 */
michael@0 99 MENUITEM = 12,
michael@0 100
michael@0 101 /**
michael@0 102 * Represents a ToolTip that provides helpful hints.
michael@0 103 */
michael@0 104 TOOLTIP = 13,
michael@0 105
michael@0 106 /**
michael@0 107 * Represents a main window for an application. It is used for
michael@0 108 * role="application". Also refer to APP_ROOT
michael@0 109 */
michael@0 110 APPLICATION = 14,
michael@0 111
michael@0 112 /**
michael@0 113 * Represents a document window. A document window is always contained within
michael@0 114 * an application window. It is used for role="document".
michael@0 115 */
michael@0 116 DOCUMENT = 15,
michael@0 117
michael@0 118 /**
michael@0 119 * Represents a pane within a frame or document window. Users can navigate
michael@0 120 * between panes and within the contents of the current pane, but cannot
michael@0 121 * navigate between items in different panes. Thus, panes represent a level
michael@0 122 * of grouping lower than frame windows or documents, but above individual
michael@0 123 * controls. It is used for the first child of a <frame> or <iframe>.
michael@0 124 */
michael@0 125 PANE = 16,
michael@0 126
michael@0 127 /**
michael@0 128 * Represents a graphical image used to represent data.
michael@0 129 */
michael@0 130 CHART = 17,
michael@0 131
michael@0 132 /**
michael@0 133 * Represents a dialog box or message box. It is used for xul:dialog,
michael@0 134 * role="dialog".
michael@0 135 */
michael@0 136 DIALOG = 18,
michael@0 137
michael@0 138 /**
michael@0 139 * Represents a window border.
michael@0 140 */
michael@0 141 BORDER = 19,
michael@0 142
michael@0 143 /**
michael@0 144 * Logically groups other objects. There is not always a parent-child
michael@0 145 * relationship between the grouping object and the objects it contains. It
michael@0 146 * is used for html:textfield, xul:groupbox, role="group".
michael@0 147 */
michael@0 148 GROUPING = 20,
michael@0 149
michael@0 150 /**
michael@0 151 * Used to visually divide a space into two regions, such as a separator menu
michael@0 152 * item or a bar that divides split panes within a window. It is used for
michael@0 153 * xul:separator, html:hr, role="separator".
michael@0 154 */
michael@0 155 SEPARATOR = 21,
michael@0 156
michael@0 157 /**
michael@0 158 * Represents a toolbar, which is a grouping of controls (push buttons or
michael@0 159 * toggle buttons) that provides easy access to frequently used features. It
michael@0 160 * is used for xul:toolbar, role="toolbar".
michael@0 161 */
michael@0 162 TOOLBAR = 22,
michael@0 163
michael@0 164 /**
michael@0 165 * Represents a status bar, which is an area at the bottom of a window that
michael@0 166 * displays information about the current operation, state of the application,
michael@0 167 * or selected object. The status bar has multiple fields, which display
michael@0 168 * different kinds of information. It is used for xul:statusbar.
michael@0 169 */
michael@0 170 STATUSBAR = 23,
michael@0 171
michael@0 172 /**
michael@0 173 * Represents a table that contains rows and columns of cells, and optionally,
michael@0 174 * row headers and column headers. It is used for html:table,
michael@0 175 * role="grid". Also refer to the following role: COLUMNHEADER,
michael@0 176 * ROWHEADER, COLUMN, ROW, CELL.
michael@0 177 */
michael@0 178 TABLE = 24,
michael@0 179
michael@0 180 /**
michael@0 181 * Represents a column header, providing a visual label for a column in
michael@0 182 * a table. It is used for XUL tree column headers, html:th,
michael@0 183 * role="colheader". Also refer to TABLE.
michael@0 184 */
michael@0 185 COLUMNHEADER = 25,
michael@0 186
michael@0 187 /**
michael@0 188 * Represents a row header, which provides a visual label for a table row.
michael@0 189 * It is used for role="rowheader". Also, see TABLE.
michael@0 190 */
michael@0 191 ROWHEADER = 26,
michael@0 192
michael@0 193 /**
michael@0 194 * Represents a column of cells within a table. Also, see TABLE.
michael@0 195 */
michael@0 196 COLUMN = 27,
michael@0 197
michael@0 198 /**
michael@0 199 * Represents a row of cells within a table. Also, see TABLE.
michael@0 200 */
michael@0 201 ROW = 28,
michael@0 202
michael@0 203 /**
michael@0 204 * Represents a cell within a table. It is used for html:td,
michael@0 205 * xul:tree cell and xul:listcell. Also, see TABLE.
michael@0 206 */
michael@0 207 CELL = 29,
michael@0 208
michael@0 209 /**
michael@0 210 * Represents a link to something else. This object might look like text or
michael@0 211 * a graphic, but it acts like a button. It is used for
michael@0 212 * xul:label@class="text-link", html:a, html:area.
michael@0 213 */
michael@0 214 LINK = 30,
michael@0 215
michael@0 216 /**
michael@0 217 * Displays a Help topic in the form of a ToolTip or Help balloon.
michael@0 218 */
michael@0 219 HELPBALLOON = 31,
michael@0 220
michael@0 221 /**
michael@0 222 * Represents a cartoon-like graphic object, such as Microsoft Office
michael@0 223 * Assistant, which is displayed to provide help to users of an application.
michael@0 224 */
michael@0 225 CHARACTER = 32,
michael@0 226
michael@0 227 /**
michael@0 228 * Represents a list box, allowing the user to select one or more items. It
michael@0 229 * is used for xul:listbox, html:select@size, role="list". See also
michael@0 230 * LIST_ITEM.
michael@0 231 */
michael@0 232 LIST = 33,
michael@0 233
michael@0 234 /**
michael@0 235 * Represents an item in a list. See also LIST.
michael@0 236 */
michael@0 237 LISTITEM = 34,
michael@0 238
michael@0 239 /**
michael@0 240 * Represents an outline or tree structure, such as a tree view control,
michael@0 241 * that displays a hierarchical list and allows the user to expand and
michael@0 242 * collapse branches. Is is used for role="tree".
michael@0 243 */
michael@0 244 OUTLINE = 35,
michael@0 245
michael@0 246 /**
michael@0 247 * Represents an item in an outline or tree structure. It is used for
michael@0 248 * role="treeitem".
michael@0 249 */
michael@0 250 OUTLINEITEM = 36,
michael@0 251
michael@0 252 /**
michael@0 253 * Represents a page tab, it is a child of a page tab list. It is used for
michael@0 254 * xul:tab, role="treeitem". Also refer to PAGETABLIST.
michael@0 255 */
michael@0 256 PAGETAB = 37,
michael@0 257
michael@0 258 /**
michael@0 259 * Represents a property sheet. It is used for xul:tabpanel,
michael@0 260 * role="tabpanel".
michael@0 261 */
michael@0 262 PROPERTYPAGE = 38,
michael@0 263
michael@0 264 /**
michael@0 265 * Represents an indicator, such as a pointer graphic, that points to the
michael@0 266 * current item.
michael@0 267 */
michael@0 268 INDICATOR = 39,
michael@0 269
michael@0 270 /**
michael@0 271 * Represents a picture. Is is used for xul:image, html:img.
michael@0 272 */
michael@0 273 GRAPHIC = 40,
michael@0 274
michael@0 275 /**
michael@0 276 * Represents read-only text, such as labels for other controls or
michael@0 277 * instructions in a dialog box. Static text cannot be modified or selected.
michael@0 278 * Is is used for xul:label, xul:description, html:label, role="label".
michael@0 279 */
michael@0 280 STATICTEXT = 41,
michael@0 281
michael@0 282 /**
michael@0 283 * Represents selectable text that allows edits or is designated read-only.
michael@0 284 */
michael@0 285 TEXT_LEAF = 42,
michael@0 286
michael@0 287 /**
michael@0 288 * Represents a push button control. It is used for xul:button, html:button,
michael@0 289 * role="button".
michael@0 290 */
michael@0 291 PUSHBUTTON = 43,
michael@0 292
michael@0 293 /**
michael@0 294 * Represents a check box control. It is used for xul:checkbox,
michael@0 295 * html:input@type="checkbox", role="checkbox".
michael@0 296 */
michael@0 297 CHECKBUTTON = 44,
michael@0 298
michael@0 299 /**
michael@0 300 * Represents an option button, also called a radio button. It is one of a
michael@0 301 * group of mutually exclusive options. All objects sharing a single parent
michael@0 302 * that have this attribute are assumed to be part of single mutually
michael@0 303 * exclusive group. It is used for xul:radio, html:input@type="radio",
michael@0 304 * role="radio".
michael@0 305 */
michael@0 306 RADIOBUTTON = 45,
michael@0 307
michael@0 308 /**
michael@0 309 * Represents a combo box; an edit control with an associated list box that
michael@0 310 * provides a set of predefined choices. It is used for html:select,
michael@0 311 * xul:menulist, role="combobox".
michael@0 312 */
michael@0 313 COMBOBOX = 46,
michael@0 314
michael@0 315 /**
michael@0 316 * Represents the calendar control.
michael@0 317 */
michael@0 318 DROPLIST = 47,
michael@0 319
michael@0 320 /**
michael@0 321 * Represents a progress bar, dynamically showing the user the percent
michael@0 322 * complete of an operation in progress. It is used for xul:progressmeter,
michael@0 323 * role="progressbar".
michael@0 324 */
michael@0 325 PROGRESSBAR = 48,
michael@0 326
michael@0 327 /**
michael@0 328 * Represents a dial or knob whose purpose is to allow a user to set a value.
michael@0 329 */
michael@0 330 DIAL = 49,
michael@0 331
michael@0 332 /**
michael@0 333 * Represents a hot-key field that allows the user to enter a combination or
michael@0 334 * sequence of keystrokes.
michael@0 335 */
michael@0 336 HOTKEYFIELD = 50,
michael@0 337
michael@0 338 /**
michael@0 339 * Represents a slider, which allows the user to adjust a setting in given
michael@0 340 * increments between minimum and maximum values. It is used by xul:scale,
michael@0 341 * role="slider".
michael@0 342 */
michael@0 343 SLIDER = 51,
michael@0 344
michael@0 345 /**
michael@0 346 * Represents a spin box, which is a control that allows the user to increment
michael@0 347 * or decrement the value displayed in a separate "buddy" control associated
michael@0 348 * with the spin box. It is used for xul:spinbuttons.
michael@0 349 */
michael@0 350 SPINBUTTON = 52,
michael@0 351
michael@0 352 /**
michael@0 353 * Represents a graphical image used to diagram data. It is used for svg:svg.
michael@0 354 */
michael@0 355 DIAGRAM = 53,
michael@0 356
michael@0 357 /**
michael@0 358 * Represents an animation control, which contains content that changes over
michael@0 359 * time, such as a control that displays a series of bitmap frames.
michael@0 360 */
michael@0 361 ANIMATION = 54,
michael@0 362
michael@0 363 /**
michael@0 364 * Represents a mathematical equation. It is used by MATHML, where there is a
michael@0 365 * rich DOM subtree for an equation. Use FLAT_EQUATION for <img role="math" alt="[TeX]"/>
michael@0 366 */
michael@0 367 EQUATION = 55,
michael@0 368
michael@0 369 /**
michael@0 370 * Represents a button that drops down a list of items.
michael@0 371 */
michael@0 372 BUTTONDROPDOWN = 56,
michael@0 373
michael@0 374 /**
michael@0 375 * Represents a button that drops down a menu.
michael@0 376 */
michael@0 377 BUTTONMENU = 57,
michael@0 378
michael@0 379 /**
michael@0 380 * Represents a button that drops down a grid. It is used for xul:colorpicker.
michael@0 381 */
michael@0 382 BUTTONDROPDOWNGRID = 58,
michael@0 383
michael@0 384 /**
michael@0 385 * Represents blank space between other objects.
michael@0 386 */
michael@0 387 WHITESPACE = 59,
michael@0 388
michael@0 389 /**
michael@0 390 * Represents a container of page tab controls. Is it used for xul:tabs,
michael@0 391 * DHTML: role="tabs". Also refer to PAGETAB.
michael@0 392 */
michael@0 393 PAGETABLIST = 60,
michael@0 394
michael@0 395 /**
michael@0 396 * Represents a control that displays time.
michael@0 397 */
michael@0 398 CLOCK = 61,
michael@0 399
michael@0 400 /**
michael@0 401 * Represents a button on a toolbar that has a drop-down list icon directly
michael@0 402 * adjacent to the button.
michael@0 403 */
michael@0 404 SPLITBUTTON = 62,
michael@0 405
michael@0 406 /**
michael@0 407 * Represents an edit control designed for an Internet Protocol (IP) address.
michael@0 408 * The edit control is divided into sections for the different parts of the
michael@0 409 * IP address.
michael@0 410 */
michael@0 411 IPADDRESS = 63,
michael@0 412
michael@0 413 /**
michael@0 414 * Represents a label control that has an accelerator.
michael@0 415 */
michael@0 416 ACCEL_LABEL = 64,
michael@0 417
michael@0 418 /**
michael@0 419 * Represents an arrow in one of the four cardinal directions.
michael@0 420 */
michael@0 421 ARROW = 65,
michael@0 422
michael@0 423 /**
michael@0 424 * Represents a control that can be drawn into and is used to trap events.
michael@0 425 * It is used for html:canvas.
michael@0 426 */
michael@0 427 CANVAS = 66,
michael@0 428
michael@0 429 /**
michael@0 430 * Represents a menu item with a check box.
michael@0 431 */
michael@0 432 CHECK_MENU_ITEM = 67,
michael@0 433
michael@0 434 /**
michael@0 435 * Represents a specialized dialog that lets the user choose a color.
michael@0 436 */
michael@0 437 COLOR_CHOOSER = 68,
michael@0 438
michael@0 439 /**
michael@0 440 * Represents control whose purpose is to allow a user to edit a date.
michael@0 441 */
michael@0 442 DATE_EDITOR = 69,
michael@0 443
michael@0 444 /**
michael@0 445 * An iconified internal frame in an DESKTOP_PANE. Also refer to
michael@0 446 * INTERNAL_FRAME.
michael@0 447 */
michael@0 448 DESKTOP_ICON = 70,
michael@0 449
michael@0 450 /**
michael@0 451 * A desktop pane. A pane that supports internal frames and iconified
michael@0 452 * versions of those internal frames.
michael@0 453 */
michael@0 454 DESKTOP_FRAME = 71,
michael@0 455
michael@0 456 /**
michael@0 457 * A directory pane. A pane that allows the user to navigate through
michael@0 458 * and select the contents of a directory. May be used by a file chooser.
michael@0 459 * Also refer to FILE_CHOOSER.
michael@0 460 */
michael@0 461 DIRECTORY_PANE = 72,
michael@0 462
michael@0 463 /**
michael@0 464 * A file chooser. A specialized dialog that displays the files in the
michael@0 465 * directory and lets the user select a file, browse a different directory,
michael@0 466 * or specify a filename. May use the directory pane to show the contents of
michael@0 467 * a directory. Also refer to DIRECTORY_PANE.
michael@0 468 */
michael@0 469 FILE_CHOOSER = 73,
michael@0 470
michael@0 471 /**
michael@0 472 * A font chooser. A font chooser is a component that lets the user pick
michael@0 473 * various attributes for fonts.
michael@0 474 */
michael@0 475 FONT_CHOOSER = 74,
michael@0 476
michael@0 477 /**
michael@0 478 * Frame role. A top level window with a title bar, border, menu bar, etc.
michael@0 479 * It is often used as the primary window for an application.
michael@0 480 */
michael@0 481 CHROME_WINDOW = 75,
michael@0 482
michael@0 483 /**
michael@0 484 * A glass pane. A pane that is guaranteed to be painted on top of all
michael@0 485 * panes beneath it. Also refer to ROOT_PANE.
michael@0 486 */
michael@0 487 GLASS_PANE = 76,
michael@0 488
michael@0 489 /**
michael@0 490 * A document container for HTML, whose children represent the document
michael@0 491 * content.
michael@0 492 */
michael@0 493 HTML_CONTAINER = 77,
michael@0 494
michael@0 495 /**
michael@0 496 * A small fixed size picture, typically used to decorate components.
michael@0 497 */
michael@0 498 ICON = 78,
michael@0 499
michael@0 500 /**
michael@0 501 * Presents an icon or short string in an interface.
michael@0 502 */
michael@0 503 LABEL = 79,
michael@0 504
michael@0 505 /**
michael@0 506 * A layered pane. A specialized pane that allows its children to be drawn
michael@0 507 * in layers, providing a form of stacking order. This is usually the pane
michael@0 508 * that holds the menu bar as well as the pane that contains most of the
michael@0 509 * visual components in a window. Also refer to GLASS_PANE and
michael@0 510 * ROOT_PANE.
michael@0 511 */
michael@0 512 LAYERED_PANE = 80,
michael@0 513
michael@0 514 /**
michael@0 515 * A specialized pane whose primary use is inside a dialog.
michael@0 516 */
michael@0 517 OPTION_PANE = 81,
michael@0 518
michael@0 519 /**
michael@0 520 * A text object uses for passwords, or other places where the text content
michael@0 521 * is not shown visibly to the user.
michael@0 522 */
michael@0 523 PASSWORD_TEXT = 82,
michael@0 524
michael@0 525 /**
michael@0 526 * A temporary window that is usually used to offer the user a list of
michael@0 527 * choices, and then hides when the user selects one of those choices.
michael@0 528 */
michael@0 529 POPUP_MENU = 83,
michael@0 530
michael@0 531 /**
michael@0 532 * A radio button that is a menu item.
michael@0 533 */
michael@0 534 RADIO_MENU_ITEM = 84,
michael@0 535
michael@0 536 /**
michael@0 537 * A root pane. A specialized pane that has a glass pane and a layered pane
michael@0 538 * as its children. Also refer to GLASS_PANE and LAYERED_PANE.
michael@0 539 */
michael@0 540 ROOT_PANE = 85,
michael@0 541
michael@0 542 /**
michael@0 543 * A scroll pane. An object that allows a user to incrementally view a large
michael@0 544 * amount of information. Its children can include scroll bars and a
michael@0 545 * viewport. Also refer to VIEW_PORT.
michael@0 546 */
michael@0 547 SCROLL_PANE = 86,
michael@0 548
michael@0 549 /**
michael@0 550 * A split pane. A specialized panel that presents two other panels at the
michael@0 551 * same time. Between the two panels is a divider the user can manipulate to
michael@0 552 * make one panel larger and the other panel smaller.
michael@0 553 */
michael@0 554 SPLIT_PANE = 87,
michael@0 555
michael@0 556 /**
michael@0 557 * The header for a column of a table.
michael@0 558 * XXX: it looks this role is dupe of COLUMNHEADER.
michael@0 559 */
michael@0 560 TABLE_COLUMN_HEADER = 88,
michael@0 561
michael@0 562 /**
michael@0 563 * The header for a row of a table.
michael@0 564 * XXX: it looks this role is dupe of ROWHEADER
michael@0 565 */
michael@0 566 TABLE_ROW_HEADER = 89,
michael@0 567
michael@0 568 /**
michael@0 569 * A menu item used to tear off and reattach its menu.
michael@0 570 */
michael@0 571 TEAR_OFF_MENU_ITEM = 90,
michael@0 572
michael@0 573 /**
michael@0 574 * Represents an accessible terminal.
michael@0 575 */
michael@0 576 TERMINAL = 91,
michael@0 577
michael@0 578 /**
michael@0 579 * Collection of objects that constitute a logical text entity.
michael@0 580 */
michael@0 581 TEXT_CONTAINER = 92,
michael@0 582
michael@0 583 /**
michael@0 584 * A toggle button. A specialized push button that can be checked or
michael@0 585 * unchecked, but does not provide a separate indicator for the current state.
michael@0 586 */
michael@0 587 TOGGLE_BUTTON = 93,
michael@0 588
michael@0 589 /**
michael@0 590 * Represent a control that is capable of expanding and collapsing rows as
michael@0 591 * well as showing multiple columns of data.
michael@0 592 */
michael@0 593 TREE_TABLE = 94,
michael@0 594
michael@0 595 /**
michael@0 596 * A viewport. An object usually used in a scroll pane. It represents the
michael@0 597 * portion of the entire data that the user can see. As the user manipulates
michael@0 598 * the scroll bars, the contents of the viewport can change. Also refer to
michael@0 599 * SCROLL_PANE.
michael@0 600 */
michael@0 601 VIEWPORT = 95,
michael@0 602
michael@0 603 /**
michael@0 604 * Header of a document page. Also refer to FOOTER.
michael@0 605 */
michael@0 606 HEADER = 96,
michael@0 607
michael@0 608 /**
michael@0 609 * Footer of a document page. Also refer to HEADER.
michael@0 610 */
michael@0 611 FOOTER = 97,
michael@0 612
michael@0 613 /**
michael@0 614 * A paragraph of text.
michael@0 615 */
michael@0 616 PARAGRAPH = 98,
michael@0 617
michael@0 618 /**
michael@0 619 * A ruler such as those used in word processors.
michael@0 620 */
michael@0 621 RULER = 99,
michael@0 622
michael@0 623 /**
michael@0 624 * A text entry having dialog or list containing items for insertion into
michael@0 625 * an entry widget, for instance a list of words for completion of a
michael@0 626 * text entry. It is used for xul:textbox@autocomplete
michael@0 627 */
michael@0 628 AUTOCOMPLETE = 100,
michael@0 629
michael@0 630 /**
michael@0 631 * An editable text object in a toolbar.
michael@0 632 */
michael@0 633 EDITBAR = 101,
michael@0 634
michael@0 635 /**
michael@0 636 * An control whose textual content may be entered or modified by the user.
michael@0 637 */
michael@0 638 ENTRY = 102,
michael@0 639
michael@0 640 /**
michael@0 641 * A caption describing another object.
michael@0 642 */
michael@0 643 CAPTION = 103,
michael@0 644
michael@0 645 /**
michael@0 646 * A visual frame or container which contains a view of document content.
michael@0 647 * Document frames may occur within another Document instance, in which case
michael@0 648 * the second document may be said to be embedded in the containing instance.
michael@0 649 * HTML frames are often DOCUMENT_FRAME. Either this object, or a
michael@0 650 * singleton descendant, should implement the Document interface.
michael@0 651 */
michael@0 652 DOCUMENT_FRAME = 104,
michael@0 653
michael@0 654 /**
michael@0 655 * Heading.
michael@0 656 */
michael@0 657 HEADING = 105,
michael@0 658
michael@0 659 /**
michael@0 660 * An object representing a page of document content. It is used in documents
michael@0 661 * which are accessed by the user on a page by page basis.
michael@0 662 */
michael@0 663 PAGE = 106,
michael@0 664
michael@0 665 /**
michael@0 666 * A container of document content. An example of the use of this role is to
michael@0 667 * represent an html:div.
michael@0 668 */
michael@0 669 SECTION = 107,
michael@0 670
michael@0 671 /**
michael@0 672 * An object which is redundant with another object in the accessible
michael@0 673 * hierarchy. ATs typically ignore objects with this role.
michael@0 674 */
michael@0 675 REDUNDANT_OBJECT = 108,
michael@0 676
michael@0 677 /**
michael@0 678 * A container of form controls. An example of the use of this role is to
michael@0 679 * represent an html:form.
michael@0 680 */
michael@0 681 FORM = 109,
michael@0 682
michael@0 683 /**
michael@0 684 * An object which is used to allow input of characters not found on a
michael@0 685 * keyboard, such as the input of Chinese characters on a Western keyboard.
michael@0 686 */
michael@0 687 IME = 110,
michael@0 688
michael@0 689 /**
michael@0 690 * XXX: document this.
michael@0 691 */
michael@0 692 APP_ROOT = 111,
michael@0 693
michael@0 694 /**
michael@0 695 * Represents a menu item, which is an entry in a menu that a user can choose
michael@0 696 * to display another menu.
michael@0 697 */
michael@0 698 PARENT_MENUITEM = 112,
michael@0 699
michael@0 700 /**
michael@0 701 * A calendar that allows the user to select a date.
michael@0 702 */
michael@0 703 CALENDAR = 113,
michael@0 704
michael@0 705 /**
michael@0 706 * A list of items that is shown by combobox.
michael@0 707 */
michael@0 708 COMBOBOX_LIST = 114,
michael@0 709
michael@0 710 /**
michael@0 711 * A item of list that is shown by combobox.
michael@0 712 */
michael@0 713 COMBOBOX_OPTION = 115,
michael@0 714
michael@0 715 /**
michael@0 716 * An image map -- has child links representing the areas
michael@0 717 */
michael@0 718 IMAGE_MAP = 116,
michael@0 719
michael@0 720 /**
michael@0 721 * An option in a listbox
michael@0 722 */
michael@0 723 OPTION = 117,
michael@0 724
michael@0 725 /**
michael@0 726 * A rich option in a listbox, it can have other widgets as children
michael@0 727 */
michael@0 728 RICH_OPTION = 118,
michael@0 729
michael@0 730 /**
michael@0 731 * A list of options
michael@0 732 */
michael@0 733 LISTBOX = 119,
michael@0 734
michael@0 735 /**
michael@0 736 * Represents a mathematical equation in the accessible name
michael@0 737 */
michael@0 738 FLAT_EQUATION = 120,
michael@0 739
michael@0 740 /**
michael@0 741 * Represents a cell within a grid. It is used for role="gridcell". Unlike
michael@0 742 * CELL, it allows the calculation of the accessible name from subtree.
michael@0 743 * Also, see TABLE.
michael@0 744 */
michael@0 745 GRID_CELL = 121,
michael@0 746
michael@0 747 /**
michael@0 748 * Represents an embedded object. It is used for html:object or html:embed.
michael@0 749 */
michael@0 750 EMBEDDED_OBJECT = 122,
michael@0 751
michael@0 752 /**
michael@0 753 * A note. Originally intended to be hidden until activated, but now also used
michael@0 754 * for things like html 'aside'.
michael@0 755 */
michael@0 756 NOTE = 123,
michael@0 757
michael@0 758 /**
michael@0 759 * A figure. Used for things like HTML5 figure element.
michael@0 760 */
michael@0 761 FIGURE = 124,
michael@0 762
michael@0 763 /**
michael@0 764 * Represents a rich item with a check box.
michael@0 765 */
michael@0 766 CHECK_RICH_OPTION = 125,
michael@0 767
michael@0 768 /**
michael@0 769 * Represent a definition list (dl in HTML).
michael@0 770 */
michael@0 771 DEFINITION_LIST = 126,
michael@0 772
michael@0 773 /**
michael@0 774 * Represent a term in a definition list (dt in HTML).
michael@0 775 */
michael@0 776 TERM = 127,
michael@0 777
michael@0 778 /**
michael@0 779 * Represent a definition in a definition list (dd in HTML)
michael@0 780 */
michael@0 781 DEFINITION = 128,
michael@0 782
michael@0 783 /**
michael@0 784 * Represent a keyboard or keypad key (ARIA role "key").
michael@0 785 */
michael@0 786 KEY = 129
michael@0 787 };
michael@0 788
michael@0 789 } // namespace role
michael@0 790
michael@0 791 typedef enum mozilla::a11y::roles::Role role;
michael@0 792
michael@0 793 } // namespace a11y
michael@0 794 } // namespace mozilla
michael@0 795
michael@0 796 #endif

mercurial