1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=2 et sw=2 tw=80: */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef _role_h_ 8 #define _role_h_ 9 10 /** 11 * @note Make sure to update the localized role names when changing the list. 12 * @note When adding a new role, be sure to also add it to base/RoleMap.h and 13 * update nsIAccessibleRole. 14 */ 15 16 namespace mozilla { 17 namespace a11y { 18 namespace roles { 19 20 enum Role { 21 /** 22 * Used when accessible hans't strong defined role. 23 */ 24 NOTHING = 0, 25 26 /** 27 * Represents a title or caption bar for a window. It is used by MSAA only, 28 * supported automatically by MS Windows. 29 */ 30 TITLEBAR = 1, 31 32 /** 33 * Represents the menu bar (positioned beneath the title bar of a window) 34 * from which menus are selected by the user. The role is used by 35 * xul:menubar or role="menubar". 36 */ 37 MENUBAR = 2, 38 39 /** 40 * Represents a vertical or horizontal scroll bar, which is part of the client 41 * area or used in a control. 42 */ 43 SCROLLBAR = 3, 44 45 /** 46 * Represents a special mouse pointer, which allows a user to manipulate user 47 * interface elements such as windows. For example, a user clicks and drags 48 * a sizing grip in the lower-right corner of a window to resize it. 49 */ 50 GRIP = 4, 51 52 /** 53 * Represents a system sound, which is associated with various system events. 54 */ 55 SOUND = 5, 56 57 /** 58 * Represents the system mouse pointer. 59 */ 60 CURSOR = 6, 61 62 /** 63 * Represents the system caret. The role is supported for caret. 64 */ 65 CARET = 7, 66 67 /** 68 * Represents an alert or a condition that a user should be notified about. 69 * Assistive Technologies typically respond to the role by reading the entire 70 * onscreen contents of containers advertising this role. Should be used for 71 * warning dialogs, etc. The role is used by xul:browsermessage, 72 * role="alert". 73 */ 74 ALERT = 8, 75 76 /** 77 * Represents the window frame, which contains child objects such as 78 * a title bar, client, and other objects contained in a window. The role 79 * is supported automatically by MS Windows. 80 */ 81 WINDOW = 9, 82 83 /** 84 * A sub-document (<frame> or <iframe>) 85 */ 86 INTERNAL_FRAME = 10, 87 88 /** 89 * Represents a menu, which presents a list of options from which the user can 90 * make a selection to perform an action. It is used for role="menu". 91 */ 92 MENUPOPUP = 11, 93 94 /** 95 * Represents a menu item, which is an entry in a menu that a user can choose 96 * to carry out a command, select an option. It is used for xul:menuitem, 97 * role="menuitem". 98 */ 99 MENUITEM = 12, 100 101 /** 102 * Represents a ToolTip that provides helpful hints. 103 */ 104 TOOLTIP = 13, 105 106 /** 107 * Represents a main window for an application. It is used for 108 * role="application". Also refer to APP_ROOT 109 */ 110 APPLICATION = 14, 111 112 /** 113 * Represents a document window. A document window is always contained within 114 * an application window. For role="document", see NON_NATIVE_DOCUMENT. 115 */ 116 DOCUMENT = 15, 117 118 /** 119 * Represents a pane within a frame or document window. Users can navigate 120 * between panes and within the contents of the current pane, but cannot 121 * navigate between items in different panes. Thus, panes represent a level 122 * of grouping lower than frame windows or documents, but above individual 123 * controls. It is used for the first child of a <frame> or <iframe>. 124 */ 125 PANE = 16, 126 127 /** 128 * Represents a graphical image used to represent data. 129 */ 130 CHART = 17, 131 132 /** 133 * Represents a dialog box or message box. It is used for xul:dialog, 134 * role="dialog". 135 */ 136 DIALOG = 18, 137 138 /** 139 * Represents a window border. 140 */ 141 BORDER = 19, 142 143 /** 144 * Logically groups other objects. There is not always a parent-child 145 * relationship between the grouping object and the objects it contains. It 146 * is used for html:textfield, xul:groupbox, role="group". 147 */ 148 GROUPING = 20, 149 150 /** 151 * Used to visually divide a space into two regions, such as a separator menu 152 * item or a bar that divides split panes within a window. It is used for 153 * xul:separator, html:hr, role="separator". 154 */ 155 SEPARATOR = 21, 156 157 /** 158 * Represents a toolbar, which is a grouping of controls (push buttons or 159 * toggle buttons) that provides easy access to frequently used features. It 160 * is used for xul:toolbar, role="toolbar". 161 */ 162 TOOLBAR = 22, 163 164 /** 165 * Represents a status bar, which is an area at the bottom of a window that 166 * displays information about the current operation, state of the application, 167 * or selected object. The status bar has multiple fields, which display 168 * different kinds of information. It is used for xul:statusbar. 169 */ 170 STATUSBAR = 23, 171 172 /** 173 * Represents a table that contains rows and columns of cells, and optionally, 174 * row headers and column headers. It is used for html:table, 175 * role="grid". Also refer to the following role: COLUMNHEADER, 176 * ROWHEADER, COLUMN, ROW, CELL. 177 */ 178 TABLE = 24, 179 180 /** 181 * Represents a column header, providing a visual label for a column in 182 * a table. It is used for XUL tree column headers, html:th, 183 * role="colheader". Also refer to TABLE. 184 */ 185 COLUMNHEADER = 25, 186 187 /** 188 * Represents a row header, which provides a visual label for a table row. 189 * It is used for role="rowheader". Also, see TABLE. 190 */ 191 ROWHEADER = 26, 192 193 /** 194 * Represents a column of cells within a table. Also, see TABLE. 195 */ 196 COLUMN = 27, 197 198 /** 199 * Represents a row of cells within a table. Also, see TABLE. 200 */ 201 ROW = 28, 202 203 /** 204 * Represents a cell within a table. It is used for html:td and xul:tree cell. 205 * Also, see TABLE. 206 */ 207 CELL = 29, 208 209 /** 210 * Represents a link to something else. This object might look like text or 211 * a graphic, but it acts like a button. It is used for 212 * xul:label@class="text-link", html:a, html:area. 213 */ 214 LINK = 30, 215 216 /** 217 * Displays a Help topic in the form of a ToolTip or Help balloon. 218 */ 219 HELPBALLOON = 31, 220 221 /** 222 * Represents a cartoon-like graphic object, such as Microsoft Office 223 * Assistant, which is displayed to provide help to users of an application. 224 */ 225 CHARACTER = 32, 226 227 /** 228 * Represents a list box, allowing the user to select one or more items. It 229 * is used for xul:listbox, html:select@size, role="list". See also 230 * LIST_ITEM. 231 */ 232 LIST = 33, 233 234 /** 235 * Represents an item in a list. See also LIST. 236 */ 237 LISTITEM = 34, 238 239 /** 240 * Represents an outline or tree structure, such as a tree view control, 241 * that displays a hierarchical list and allows the user to expand and 242 * collapse branches. Is is used for role="tree". 243 */ 244 OUTLINE = 35, 245 246 /** 247 * Represents an item in an outline or tree structure. It is used for 248 * role="treeitem". 249 */ 250 OUTLINEITEM = 36, 251 252 /** 253 * Represents a page tab, it is a child of a page tab list. It is used for 254 * xul:tab, role="treeitem". Also refer to PAGETABLIST. 255 */ 256 PAGETAB = 37, 257 258 /** 259 * Represents a property sheet. It is used for xul:tabpanel, 260 * role="tabpanel". 261 */ 262 PROPERTYPAGE = 38, 263 264 /** 265 * Represents an indicator, such as a pointer graphic, that points to the 266 * current item. 267 */ 268 INDICATOR = 39, 269 270 /** 271 * Represents a picture. Is is used for xul:image, html:img. 272 */ 273 GRAPHIC = 40, 274 275 /** 276 * Represents read-only text, such as labels for other controls or 277 * instructions in a dialog box. Static text cannot be modified or selected. 278 * Is is used for xul:label, xul:description, html:label, role="label". 279 */ 280 STATICTEXT = 41, 281 282 /** 283 * Represents selectable text that allows edits or is designated read-only. 284 */ 285 TEXT_LEAF = 42, 286 287 /** 288 * Represents a push button control. It is used for xul:button, html:button, 289 * role="button". 290 */ 291 PUSHBUTTON = 43, 292 293 /** 294 * Represents a check box control. It is used for xul:checkbox, 295 * html:input@type="checkbox", role="checkbox". 296 */ 297 CHECKBUTTON = 44, 298 299 /** 300 * Represents an option button, also called a radio button. It is one of a 301 * group of mutually exclusive options. All objects sharing a single parent 302 * that have this attribute are assumed to be part of single mutually 303 * exclusive group. It is used for xul:radio, html:input@type="radio", 304 * role="radio". 305 */ 306 RADIOBUTTON = 45, 307 308 /** 309 * Represents a combo box; a popup button with an associated list box that 310 * provides a set of predefined choices. It is used for html:select with a 311 * size of 1 and xul:menulist. See also ROLE_EDITCOMBOBOX. 312 */ 313 COMBOBOX = 46, 314 315 /** 316 * Represents the calendar control. 317 */ 318 DROPLIST = 47, 319 320 /** 321 * Represents a progress bar, dynamically showing the user the percent 322 * complete of an operation in progress. It is used for html:progress, 323 * role="progressbar". 324 */ 325 PROGRESSBAR = 48, 326 327 /** 328 * Represents a dial or knob whose purpose is to allow a user to set a value. 329 */ 330 DIAL = 49, 331 332 /** 333 * Represents a hot-key field that allows the user to enter a combination or 334 * sequence of keystrokes. 335 */ 336 HOTKEYFIELD = 50, 337 338 /** 339 * Represents a slider, which allows the user to adjust a setting in given 340 * increments between minimum and maximum values. It is used by xul:scale, 341 * role="slider". 342 */ 343 SLIDER = 51, 344 345 /** 346 * Represents a spin box, which is a control that allows the user to increment 347 * or decrement the value displayed in a separate "buddy" control associated 348 * with the spin box. It is used for input[type=number] spin buttons. 349 */ 350 SPINBUTTON = 52, 351 352 /** 353 * Represents a graphical image used to diagram data. It is used for svg:svg. 354 */ 355 DIAGRAM = 53, 356 357 /** 358 * Represents an animation control, which contains content that changes over 359 * time, such as a control that displays a series of bitmap frames. 360 */ 361 ANIMATION = 54, 362 363 /** 364 * Represents a mathematical equation. It is used by MATHML, where there is a 365 * rich DOM subtree for an equation. Use FLAT_EQUATION for <img role="math" 366 * alt="[TeX]"/> 367 */ 368 EQUATION = 55, 369 370 /** 371 * Represents a button that drops down a list of items. 372 */ 373 BUTTONDROPDOWN = 56, 374 375 /** 376 * Represents a button that drops down a menu. 377 */ 378 BUTTONMENU = 57, 379 380 /** 381 * Represents a button that drops down a grid. It is used for xul:colorpicker. 382 */ 383 BUTTONDROPDOWNGRID = 58, 384 385 /** 386 * Represents blank space between other objects. 387 */ 388 WHITESPACE = 59, 389 390 /** 391 * Represents a container of page tab controls. Is it used for xul:tabs, 392 * DHTML: role="tabs". Also refer to PAGETAB. 393 */ 394 PAGETABLIST = 60, 395 396 /** 397 * Represents a control that displays time. 398 */ 399 CLOCK = 61, 400 401 /** 402 * Represents a button on a toolbar that has a drop-down list icon directly 403 * adjacent to the button. 404 */ 405 SPLITBUTTON = 62, 406 407 /** 408 * Represents an edit control designed for an Internet Protocol (IP) address. 409 * The edit control is divided into sections for the different parts of the 410 * IP address. 411 */ 412 IPADDRESS = 63, 413 414 /** 415 * Represents a label control that has an accelerator. 416 */ 417 ACCEL_LABEL = 64, 418 419 /** 420 * Represents an arrow in one of the four cardinal directions. 421 */ 422 ARROW = 65, 423 424 /** 425 * Represents a control that can be drawn into and is used to trap events. 426 * It is used for html:canvas. 427 */ 428 CANVAS = 66, 429 430 /** 431 * Represents a menu item with a check box. 432 */ 433 CHECK_MENU_ITEM = 67, 434 435 /** 436 * Represents a specialized dialog that lets the user choose a color. 437 */ 438 COLOR_CHOOSER = 68, 439 440 /** 441 * Represents control whose purpose is to allow a user to edit a date. 442 */ 443 DATE_EDITOR = 69, 444 445 /** 446 * An iconified internal frame in an DESKTOP_PANE. Also refer to 447 * INTERNAL_FRAME. 448 */ 449 DESKTOP_ICON = 70, 450 451 /** 452 * A desktop pane. A pane that supports internal frames and iconified 453 * versions of those internal frames. 454 */ 455 DESKTOP_FRAME = 71, 456 457 /** 458 * A directory pane. A pane that allows the user to navigate through 459 * and select the contents of a directory. May be used by a file chooser. 460 * Also refer to FILE_CHOOSER. 461 */ 462 DIRECTORY_PANE = 72, 463 464 /** 465 * A file chooser. A specialized dialog that displays the files in the 466 * directory and lets the user select a file, browse a different directory, 467 * or specify a filename. May use the directory pane to show the contents of 468 * a directory. Also refer to DIRECTORY_PANE. 469 */ 470 FILE_CHOOSER = 73, 471 472 /** 473 * A font chooser. A font chooser is a component that lets the user pick 474 * various attributes for fonts. 475 */ 476 FONT_CHOOSER = 74, 477 478 /** 479 * Frame role. A top level window with a title bar, border, menu bar, etc. 480 * It is often used as the primary window for an application. 481 */ 482 CHROME_WINDOW = 75, 483 484 /** 485 * A glass pane. A pane that is guaranteed to be painted on top of all 486 * panes beneath it. Also refer to ROOT_PANE. 487 */ 488 GLASS_PANE = 76, 489 490 /** 491 * A document container for HTML, whose children represent the document 492 * content. 493 */ 494 HTML_CONTAINER = 77, 495 496 /** 497 * A small fixed size picture, typically used to decorate components. 498 */ 499 ICON = 78, 500 501 /** 502 * Presents an icon or short string in an interface. 503 */ 504 LABEL = 79, 505 506 /** 507 * A layered pane. A specialized pane that allows its children to be drawn 508 * in layers, providing a form of stacking order. This is usually the pane 509 * that holds the menu bar as well as the pane that contains most of the 510 * visual components in a window. Also refer to GLASS_PANE and 511 * ROOT_PANE. 512 */ 513 LAYERED_PANE = 80, 514 515 /** 516 * A specialized pane whose primary use is inside a dialog. 517 */ 518 OPTION_PANE = 81, 519 520 /** 521 * A text object uses for passwords, or other places where the text content 522 * is not shown visibly to the user. 523 */ 524 PASSWORD_TEXT = 82, 525 526 /** 527 * A temporary window that is usually used to offer the user a list of 528 * choices, and then hides when the user selects one of those choices. 529 */ 530 POPUP_MENU = 83, 531 532 /** 533 * A radio button that is a menu item. 534 */ 535 RADIO_MENU_ITEM = 84, 536 537 /** 538 * A root pane. A specialized pane that has a glass pane and a layered pane 539 * as its children. Also refer to GLASS_PANE and LAYERED_PANE. 540 */ 541 ROOT_PANE = 85, 542 543 /** 544 * A scroll pane. An object that allows a user to incrementally view a large 545 * amount of information. Its children can include scroll bars and a 546 * viewport. Also refer to VIEW_PORT. 547 */ 548 SCROLL_PANE = 86, 549 550 /** 551 * A split pane. A specialized panel that presents two other panels at the 552 * same time. Between the two panels is a divider the user can manipulate to 553 * make one panel larger and the other panel smaller. 554 */ 555 SPLIT_PANE = 87, 556 557 /** 558 * The header for a column of a table. 559 * XXX: it looks this role is dupe of COLUMNHEADER. 560 */ 561 TABLE_COLUMN_HEADER = 88, 562 563 /** 564 * The header for a row of a table. 565 * XXX: it looks this role is dupe of ROWHEADER 566 */ 567 TABLE_ROW_HEADER = 89, 568 569 /** 570 * A menu item used to tear off and reattach its menu. 571 */ 572 TEAR_OFF_MENU_ITEM = 90, 573 574 /** 575 * Represents an accessible terminal. 576 */ 577 TERMINAL = 91, 578 579 /** 580 * Collection of objects that constitute a logical text entity. 581 */ 582 TEXT_CONTAINER = 92, 583 584 /** 585 * A toggle button. A specialized push button that can be checked or 586 * unchecked, but does not provide a separate indicator for the current state. 587 */ 588 TOGGLE_BUTTON = 93, 589 590 /** 591 * Represent a control that is capable of expanding and collapsing rows as 592 * well as showing multiple columns of data. 593 */ 594 TREE_TABLE = 94, 595 596 /** 597 * A viewport. An object usually used in a scroll pane. It represents the 598 * portion of the entire data that the user can see. As the user manipulates 599 * the scroll bars, the contents of the viewport can change. Also refer to 600 * SCROLL_PANE. 601 */ 602 VIEWPORT = 95, 603 604 /** 605 * Header of a document page. Also refer to FOOTER. 606 */ 607 HEADER = 96, 608 609 /** 610 * Footer of a document page. Also refer to HEADER. 611 */ 612 FOOTER = 97, 613 614 /** 615 * A paragraph of text. 616 */ 617 PARAGRAPH = 98, 618 619 /** 620 * A ruler such as those used in word processors. 621 */ 622 RULER = 99, 623 624 /** 625 * A text entry having dialog or list containing items for insertion into 626 * an entry widget, for instance a list of words for completion of a 627 * text entry. It is used for xul:textbox@autocomplete 628 */ 629 AUTOCOMPLETE = 100, 630 631 /** 632 * An editable text object in a toolbar. 633 */ 634 EDITBAR = 101, 635 636 /** 637 * An control whose textual content may be entered or modified by the user. 638 */ 639 ENTRY = 102, 640 641 /** 642 * A caption describing another object. 643 */ 644 CAPTION = 103, 645 646 /** 647 * An element containing content that assistive technology users may want to 648 * browse in a reading mode, rather than a focus/interactive/application mode. 649 * This role is used for role="document". For the container which holds the 650 * content of a web page, see DOCUMENT. 651 */ 652 NON_NATIVE_DOCUMENT = 104, 653 654 /** 655 * Heading. 656 */ 657 HEADING = 105, 658 659 /** 660 * An object representing a page of document content. It is used in documents 661 * which are accessed by the user on a page by page basis. 662 */ 663 PAGE = 106, 664 665 /** 666 * A container of document content. An example of the use of this role is to 667 * represent an html:div. 668 */ 669 SECTION = 107, 670 671 /** 672 * An object which is redundant with another object in the accessible 673 * hierarchy. ATs typically ignore objects with this role. 674 */ 675 REDUNDANT_OBJECT = 108, 676 677 /** 678 * A container of form controls. An example of the use of this role is to 679 * represent an html:form. 680 */ 681 FORM = 109, 682 683 /** 684 * An object which is used to allow input of characters not found on a 685 * keyboard, such as the input of Chinese characters on a Western keyboard. 686 */ 687 IME = 110, 688 689 /** 690 * XXX: document this. 691 */ 692 APP_ROOT = 111, 693 694 /** 695 * Represents a menu item, which is an entry in a menu that a user can choose 696 * to display another menu. 697 */ 698 PARENT_MENUITEM = 112, 699 700 /** 701 * A calendar that allows the user to select a date. 702 */ 703 CALENDAR = 113, 704 705 /** 706 * A list of items that is shown by combobox. 707 */ 708 COMBOBOX_LIST = 114, 709 710 /** 711 * A item of list that is shown by combobox. 712 */ 713 COMBOBOX_OPTION = 115, 714 715 /** 716 * An image map -- has child links representing the areas 717 */ 718 IMAGE_MAP = 116, 719 720 /** 721 * An option in a listbox 722 */ 723 OPTION = 117, 724 725 /** 726 * A rich option in a listbox, it can have other widgets as children 727 */ 728 RICH_OPTION = 118, 729 730 /** 731 * A list of options 732 */ 733 LISTBOX = 119, 734 735 /** 736 * Represents a mathematical equation in the accessible name 737 */ 738 FLAT_EQUATION = 120, 739 740 /** 741 * Represents a cell within a grid. It is used for role="gridcell". Unlike 742 * CELL, it allows the calculation of the accessible name from subtree. 743 * Also, see TABLE. 744 */ 745 GRID_CELL = 121, 746 747 /** 748 * Represents an embedded object. It is used for html:object or html:embed. 749 */ 750 EMBEDDED_OBJECT = 122, 751 752 /** 753 * A note. Originally intended to be hidden until activated, but now also used 754 * for things like html 'aside'. 755 */ 756 NOTE = 123, 757 758 /** 759 * A figure. Used for things like HTML5 figure element. 760 */ 761 FIGURE = 124, 762 763 /** 764 * Represents a rich item with a check box. 765 */ 766 CHECK_RICH_OPTION = 125, 767 768 /** 769 * Represent a definition list (dl in HTML). 770 */ 771 DEFINITION_LIST = 126, 772 773 /** 774 * Represent a term in a definition list (dt in HTML). 775 */ 776 TERM = 127, 777 778 /** 779 * Represent a definition in a definition list (dd in HTML) 780 */ 781 DEFINITION = 128, 782 783 /** 784 * Represent a keyboard or keypad key (ARIA role "key"). 785 */ 786 KEY = 129, 787 788 /** 789 * Represent a switch control widget (ARIA role "switch"). 790 */ 791 SWITCH = 130, 792 793 /** 794 * A block of MathML code (math). 795 */ 796 MATHML_MATH = 131, 797 798 /** 799 * A MathML identifier (mi in MathML). 800 */ 801 MATHML_IDENTIFIER = 132, 802 803 /** 804 * A MathML number (mn in MathML). 805 */ 806 MATHML_NUMBER = 133, 807 808 /** 809 * A MathML operator (mo in MathML). 810 */ 811 MATHML_OPERATOR = 134, 812 813 /** 814 * A MathML text (mtext in MathML). 815 */ 816 MATHML_TEXT = 135, 817 818 /** 819 * A MathML string literal (ms in MathML). 820 */ 821 MATHML_STRING_LITERAL = 136, 822 823 /** 824 * A MathML glyph (mglyph in MathML). 825 */ 826 MATHML_GLYPH = 137, 827 828 /** 829 * A MathML row (mrow in MathML). 830 */ 831 MATHML_ROW = 138, 832 833 /** 834 * A MathML fraction (mfrac in MathML). 835 */ 836 MATHML_FRACTION = 139, 837 838 /** 839 * A MathML square root (msqrt in MathML). 840 */ 841 MATHML_SQUARE_ROOT = 140, 842 843 /** 844 * A MathML root (mroot in MathML). 845 */ 846 MATHML_ROOT = 141, 847 848 /** 849 * A MathML fenced element (mfenced in MathML). 850 */ 851 MATHML_FENCED = 142, 852 853 /** 854 * A MathML enclosed element (menclose in MathML). 855 */ 856 MATHML_ENCLOSED = 143, 857 858 /** 859 * A MathML styling element (mstyle in MathML). 860 */ 861 MATHML_STYLE = 144, 862 863 /** 864 * A MathML subscript (msub in MathML). 865 */ 866 MATHML_SUB = 145, 867 868 /** 869 * A MathML superscript (msup in MathML). 870 */ 871 MATHML_SUP = 146, 872 873 /** 874 * A MathML subscript and superscript (msubsup in MathML). 875 */ 876 MATHML_SUB_SUP = 147, 877 878 /** 879 * A MathML underscript (munder in MathML). 880 */ 881 MATHML_UNDER = 148, 882 883 /** 884 * A MathML overscript (mover in MathML). 885 */ 886 MATHML_OVER = 149, 887 888 /** 889 * A MathML underscript and overscript (munderover in MathML). 890 */ 891 MATHML_UNDER_OVER = 150, 892 893 /** 894 * A MathML multiple subscript and superscript element (mmultiscripts in 895 * MathML). 896 */ 897 MATHML_MULTISCRIPTS = 151, 898 899 /** 900 * A MathML table (mtable in MathML). 901 */ 902 MATHML_TABLE = 152, 903 904 /** 905 * A MathML labelled table row (mlabeledtr in MathML). 906 */ 907 MATHML_LABELED_ROW = 153, 908 909 /** 910 * A MathML table row (mtr in MathML). 911 */ 912 MATHML_TABLE_ROW = 154, 913 914 /** 915 * A MathML table entry or cell (mtd in MathML). 916 */ 917 MATHML_CELL = 155, 918 919 /** 920 * A MathML interactive element (maction in MathML). 921 */ 922 MATHML_ACTION = 156, 923 924 /** 925 * A MathML error message (merror in MathML). 926 */ 927 MATHML_ERROR = 157, 928 929 /** 930 * A MathML stacked (rows of numbers) element (mstack in MathML). 931 */ 932 MATHML_STACK = 158, 933 934 /** 935 * A MathML long division element (mlongdiv in MathML). 936 */ 937 MATHML_LONG_DIVISION = 159, 938 939 /** 940 * A MathML stack group (msgroup in MathML). 941 */ 942 MATHML_STACK_GROUP = 160, 943 944 /** 945 * A MathML stack row (msrow in MathML). 946 */ 947 MATHML_STACK_ROW = 161, 948 949 /** 950 * MathML carries, borrows, or crossouts for a row (mscarries in MathML). 951 */ 952 MATHML_STACK_CARRIES = 162, 953 954 /** 955 * A MathML carry, borrow, or crossout for a column (mscarry in MathML). 956 */ 957 MATHML_STACK_CARRY = 163, 958 959 /** 960 * A MathML line in a stack (msline in MathML). 961 */ 962 MATHML_STACK_LINE = 164, 963 964 /** 965 * A group containing radio buttons 966 */ 967 RADIO_GROUP = 165, 968 969 /** 970 * A text container exposing brief amount of information. See related 971 * TEXT_CONTAINER role. 972 */ 973 TEXT = 166, 974 975 /** 976 * The html:details element. 977 */ 978 DETAILS = 167, 979 980 /** 981 * The html:summary element. 982 */ 983 SUMMARY = 168, 984 985 /** 986 * An ARIA landmark. See related NAVIGATION role. 987 */ 988 LANDMARK = 169, 989 990 /** 991 * A specific type of ARIA landmark. The ability to distinguish navigation 992 * landmarks from other types of landmarks is, for example, needed on macOS 993 * where specific AXSubrole and AXRoleDescription for navigation landmarks 994 * are used. 995 */ 996 NAVIGATION = 170, 997 998 /** 999 * An object that contains the text of a footnote. 1000 */ 1001 FOOTNOTE = 171, 1002 1003 /** 1004 * A complete or self-contained composition in a document, page, application, 1005 * or site and that is, in principle, independently distributable or reusable, 1006 * e.g. in syndication. 1007 */ 1008 ARTICLE = 172, 1009 1010 /** 1011 * A perceivable section containing content that is relevant to a specific, 1012 * author-specified purpose and sufficiently important that users will likely 1013 * want to be able to navigate to the section easily and to have it listed in 1014 * a summary of the page. 1015 */ 1016 REGION = 173, 1017 1018 /** 1019 * Represents a control with a text input and a popup with a set of predefined 1020 * choices. It is used for ARIA's combobox role. See also COMBOBOX. 1021 */ 1022 EDITCOMBOBOX = 174, 1023 1024 /** 1025 * A section of content that is quoted from another source. 1026 */ 1027 BLOCKQUOTE = 175, 1028 1029 /** 1030 * Content previously deleted or proposed for deletion, e.g. in revision 1031 * history or a content view providing suggestions from reviewers. 1032 */ 1033 CONTENT_DELETION = 176, 1034 1035 /** 1036 * Content previously inserted or proposed for insertion, e.g. in revision 1037 * history or a content view providing suggestions from reviewers. 1038 */ 1039 CONTENT_INSERTION = 177, 1040 1041 /** 1042 * An html:form element with a label provided by WAI-ARIA. 1043 * This may also be used if role="form" with a label should be exposed 1044 * differently in the future. 1045 */ 1046 FORM_LANDMARK = 178, 1047 1048 /** 1049 * The html:mark element. 1050 * This is also used for the equivalent WAI-ARIA role. 1051 */ 1052 MARK = 179, 1053 1054 /** 1055 * The WAI-ARIA suggestion role. 1056 */ 1057 SUGGESTION = 180, 1058 1059 /** 1060 * The WAI-ARIA comment role. 1061 */ 1062 COMMENT = 181, 1063 1064 /** 1065 * A snippet of program code. ATs might want to treat this differently. 1066 */ 1067 CODE = 182, 1068 1069 /** 1070 * Represents control whose purpose is to allow a user to edit a time. 1071 */ 1072 TIME_EDITOR = 183, 1073 1074 /** 1075 * Represents the marker associated with a list item. In unordered lists, 1076 * this is a bullet, while in ordered lists this is a number. 1077 */ 1078 LISTITEM_MARKER = 184, 1079 1080 /** 1081 * Essentially, this is a progress bar with a contextually defined 1082 * scale, ex. the strength of a password entered in an input. 1083 */ 1084 METER = 185, 1085 1086 LAST_ROLE = METER 1087 }; 1088 1089 } // namespace roles 1090 1091 typedef enum mozilla::a11y::roles::Role role; 1092 1093 } // namespace a11y 1094 } // namespace mozilla 1095 1096 #endif 1097