diff options
Diffstat (limited to 'accessible/interfaces/nsIAccessibleRole.idl')
-rw-r--r-- | accessible/interfaces/nsIAccessibleRole.idl | 802 |
1 files changed, 802 insertions, 0 deletions
diff --git a/accessible/interfaces/nsIAccessibleRole.idl b/accessible/interfaces/nsIAccessibleRole.idl new file mode 100644 index 0000000000..e8024063c1 --- /dev/null +++ b/accessible/interfaces/nsIAccessibleRole.idl @@ -0,0 +1,802 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" + +/** + * Defines cross platform (Gecko) roles. + */ +[scriptable, builtinclass, uuid(ad7f32a5-6d5f-4154-a5b8-0fa7aed48936)] +interface nsIAccessibleRole : nsISupports +{ + /** + * Used when the accessible has no strongly-defined role. + */ + const unsigned long ROLE_NOTHING = 0; + + /** + * Represents the menu bar (positioned beneath the title bar of a window) + * from which menus are selected by the user. The role is used by + * xul:menubar or role="menubar". + */ + const unsigned long ROLE_MENUBAR = 1; + + /** + * Represents a vertical or horizontal scroll bar, which is part of the client + * area or used in a control. + */ + const unsigned long ROLE_SCROLLBAR = 2; + + /** + * Represents an alert or a condition that a user should be notified about. + * Assistive Technologies typically respond to the role by reading the entire + * onscreen contents of containers advertising this role. Should be used for + * warning dialogs, etc. The role is used by xul:browsermessage, + * role="alert". + */ + const unsigned long ROLE_ALERT = 3; + + /** + * A sub-document (<frame> or <iframe>) + */ + const unsigned long ROLE_INTERNAL_FRAME = 4; + + /** + * Represents a menu, which presents a list of options from which the user can + * make a selection to perform an action. It is used for role="menu". + */ + const unsigned long ROLE_MENUPOPUP = 5; + + /** + * Represents a menu item, which is an entry in a menu that a user can choose + * to carry out a command, select an option. It is used for xul:menuitem, + * role="menuitem". + */ + const unsigned long ROLE_MENUITEM = 6; + + /** + * Represents a ToolTip that provides helpful hints. + */ + const unsigned long ROLE_TOOLTIP = 7; + + /** + * Represents a main window for an application. It is used for + * role="application". Also refer to ROLE_APP_ROOT + */ + const unsigned long ROLE_APPLICATION = 8; + + /** + * Represents a document window. A document window is always contained within + * an application window. For role="document", see NON_NATIVE_DOCUMENT. + */ + const unsigned long ROLE_DOCUMENT = 9; + + /** + * Represents a pane within a frame or document window. Users can navigate + * between panes and within the contents of the current pane, but cannot + * navigate between items in different panes. Thus, panes represent a level + * of grouping lower than frame windows or documents, but above individual + * controls. It is used for the first child of a <frame> or <iframe>. + */ + const unsigned long ROLE_PANE = 10; + + /** + * Represents a dialog box or message box. It is used for xul:dialog, + * role="dialog". + */ + const unsigned long ROLE_DIALOG = 11; + + /** + * Logically groups other objects. There is not always a parent-child + * relationship between the grouping object and the objects it contains. It + * is used for html:textfield, xul:groupbox, role="group". + */ + const unsigned long ROLE_GROUPING = 12; + + /** + * Used to visually divide a space into two regions, such as a separator menu + * item or a bar that divides split panes within a window. It is used for + * xul:separator, html:hr, role="separator". + */ + const unsigned long ROLE_SEPARATOR = 13; + + /** + * Represents a toolbar, which is a grouping of controls (push buttons or + * toggle buttons) that provides easy access to frequently used features. It + * is used for xul:toolbar, role="toolbar". + */ + const unsigned long ROLE_TOOLBAR = 14; + + /** + * Represents a status bar, which is an area at the bottom of a window that + * displays information about the current operation, state of the application, + * or selected object. The status bar has multiple fields, which display + * different kinds of information. It is used for xul:statusbar. + */ + const unsigned long ROLE_STATUSBAR = 15; + + /** + * Represents a table that contains rows and columns of cells, and optionally, + * row headers and column headers. It is used for html:table, + * role="grid". Also refer to the following roles: ROLE_COLUMNHEADER, + * ROLE_ROWHEADER, ROLE_ROW, ROLE_CELL. + */ + const unsigned long ROLE_TABLE = 16; + + /** + * Represents a column header, providing a visual label for a column in + * a table. It is used for XUL tree column headers, html:th, + * role="colheader". Also refer to ROLE_TABLE. + */ + const unsigned long ROLE_COLUMNHEADER = 17; + + /** + * Represents a row header, which provides a visual label for a table row. + * It is used for role="rowheader". Also, see ROLE_TABLE. + */ + const unsigned long ROLE_ROWHEADER = 18; + + /** + * Represents a row of cells within a table. Also, see ROLE_TABLE. + */ + const unsigned long ROLE_ROW = 19; + + /** + * Represents a cell within a table. It is used for html:td and xul:tree cell. + * Also, see ROLE_TABLE. + */ + const unsigned long ROLE_CELL = 20; + + /** + * Represents a link to something else. This object might look like text or + * a graphic, but it acts like a button. It is used for + * xul:label@class="text-link", html:a, html:area. + */ + const unsigned long ROLE_LINK = 21; + + /** + * Represents a list box, allowing the user to select one or more items. It + * is used for xul:listbox, html:select@size, role="list". See also + * ROLE_LIST_ITEM. + */ + const unsigned long ROLE_LIST = 22; + + /** + * Represents an item in a list. See also ROLE_LIST. + */ + const unsigned long ROLE_LISTITEM = 23; + + /** + * Represents an outline or tree structure, such as a tree view control, + * that displays a hierarchical list and allows the user to expand and + * collapse branches. Is is used for role="tree". + */ + const unsigned long ROLE_OUTLINE = 24; + + /** + * Represents an item in an outline or tree structure. It is used for + * role="treeitem". + */ + const unsigned long ROLE_OUTLINEITEM = 25; + + /** + * Represents a page tab, it is a child of a page tab list. It is used for + * xul:tab, role="treeitem". Also refer to ROLE_PAGETABLIST. + */ + const unsigned long ROLE_PAGETAB = 26; + + /** + * Represents a property sheet. It is used for xul:tabpanel, + * role="tabpanel". + */ + const unsigned long ROLE_PROPERTYPAGE = 27; + + /** + * Represents a picture. Is is used for xul:image, html:img. + */ + const unsigned long ROLE_GRAPHIC = 28; + + /** + * Represents read-only text, such as labels for other controls or + * instructions in a dialog box. Static text cannot be modified or selected. + * Is is used for xul:label, xul:description, html:label, role="label". + */ + const unsigned long ROLE_STATICTEXT = 29; + + /** + * Represents selectable text that allows edits or is designated read-only. + */ + const unsigned long ROLE_TEXT_LEAF = 30; + + /** + * Represents a push button control. It is used for xul:button, html:button, + * role="button". + */ + const unsigned long ROLE_PUSHBUTTON = 31; + + /** + * Represents a check box control. It is used for xul:checkbox, + * html:input@type="checkbox", role="checkbox". + */ + const unsigned long ROLE_CHECKBUTTON = 32; + + /** + * Represents an option button, also called a radio button. It is one of a + * group of mutually exclusive options. All objects sharing a single parent + * that have this attribute are assumed to be part of single mutually + * exclusive group. It is used for xul:radio, html:input@type="radio", + * role="radio". + */ + const unsigned long ROLE_RADIOBUTTON = 33; + + /** + * Represents a combo box; a popup button with an associated list box that + * provides a set of predefined choices. It is used for html:select with a + * size of 1 and xul:menulist. See also ROLE_EDITCOMBOBOX. + */ + const unsigned long ROLE_COMBOBOX = 34; + + /** + * Represents a progress bar, dynamically showing the user the percent + * complete of an operation in progress. It is used for html:progress, + * role="progressbar". + */ + const unsigned long ROLE_PROGRESSBAR = 35; + + /** + * Represents a slider, which allows the user to adjust a setting in given + * increments between minimum and maximum values. It is used by xul:scale, + * role="slider". + */ + const unsigned long ROLE_SLIDER = 36; + + /** + * Represents a spin box, which is a control that allows the user to increment + * or decrement the value displayed in a separate "buddy" control associated + * with the spin box. It is used for input[type=number] spin buttons. + */ + const unsigned long ROLE_SPINBUTTON = 37; + + /** + * Represents a graphical image used to diagram data. It is used for svg:svg. + */ + const unsigned long ROLE_DIAGRAM = 38; + + /** + * Represents an animation control, which contains content that changes over + * time, such as a control that displays a series of bitmap frames. + */ + const unsigned long ROLE_ANIMATION = 39; + + /** + * Represents a button that drops down a list of items. + */ + const unsigned long ROLE_BUTTONDROPDOWN = 40; + + /** + * Represents a button that drops down a menu. + */ + const unsigned long ROLE_BUTTONMENU = 41; + + /** + * Represents blank space between other objects. + */ + const unsigned long ROLE_WHITESPACE = 42; + + /** + * Represents a container of page tab controls. Is it used for xul:tabs, + * DHTML: role="tabs". Also refer to ROLE_PAGETAB. + */ + const unsigned long ROLE_PAGETABLIST = 43; + + /** + * Represents a control that can be drawn into and is used to trap events. + * It is used for html:canvas. + */ + const unsigned long ROLE_CANVAS = 44; + + /** + * Represents a menu item with a check box. + */ + const unsigned long ROLE_CHECK_MENU_ITEM = 45; + + /** + * Represents control whose purpose is to allow a user to edit a date. + */ + const unsigned long ROLE_DATE_EDITOR = 46; + + /** + * Frame role. A top level window with a title bar, border, menu bar, etc. + * It is often used as the primary window for an application. + */ + const unsigned long ROLE_CHROME_WINDOW = 47; + + /** + * Presents an icon or short string in an interface. + */ + const unsigned long ROLE_LABEL = 48; + + /** + * A text object uses for passwords, or other places where the text content + * is not shown visibly to the user. + */ + const unsigned long ROLE_PASSWORD_TEXT = 49; + + /** + * A radio button that is a menu item. + */ + const unsigned long ROLE_RADIO_MENU_ITEM = 50; + + /** + * Collection of objects that constitute a logical text entity. + */ + const unsigned long ROLE_TEXT_CONTAINER = 51; + + /** + * A toggle button. A specialized push button that can be checked or + * unchecked, but does not provide a separate indicator for the current state. + */ + const unsigned long ROLE_TOGGLE_BUTTON = 52; + + /** + * Representas a control that is capable of expanding and collapsing rows as + * well as showing multiple columns of data. + * XXX: it looks like this role is dupe of ROLE_OUTLINE. + */ + const unsigned long ROLE_TREE_TABLE = 53; + + /** + * A paragraph of text. + */ + const unsigned long ROLE_PARAGRAPH = 54; + + /** + * An control whose textual content may be entered or modified by the user. + */ + const unsigned long ROLE_ENTRY = 55; + + /** + * A caption describing another object. + */ + const unsigned long ROLE_CAPTION = 56; + + /** + * An element containing content that assistive technology users may want to + * browse in a reading mode, rather than a focus/interactive/application mode. + * This role is used for role="document". For the container which holds the + * content of a web page, see ROLE_DOCUMENT. + */ + const unsigned long ROLE_NON_NATIVE_DOCUMENT = 57; + + /** + * Heading. + */ + const unsigned long ROLE_HEADING = 58; + + /** + * A container of document content. An example of the use of this role is to + * represent an html:div. + */ + const unsigned long ROLE_SECTION = 59; + + /** + * A container of form controls. An example of the use of this role is to + * represent an html:form. + */ + const unsigned long ROLE_FORM = 60; + + /** + * XXX: document this. + */ + const unsigned long ROLE_APP_ROOT = 61; + + /** + * Represents a menu item, which is an entry in a menu that a user can choose + * to display another menu. + */ + const unsigned long ROLE_PARENT_MENUITEM = 62; + + /** + * A list of items that is shown by combobox. + */ + const unsigned long ROLE_COMBOBOX_LIST = 63; + + /** + * A item of list that is shown by combobox; + */ + const unsigned long ROLE_COMBOBOX_OPTION = 64; + + /** + * An image map -- has child links representing the areas + */ + const unsigned long ROLE_IMAGE_MAP = 65; + + /** + * An option in a listbox + */ + const unsigned long ROLE_OPTION = 66; + + /** + * A rich option in a listbox, it can have other widgets as children + */ + const unsigned long ROLE_RICH_OPTION = 67; + + /** + * A list of options + */ + const unsigned long ROLE_LISTBOX = 68; + + /** + * Represents a mathematical equation in the accessible name + */ + const unsigned long ROLE_FLAT_EQUATION = 69; + + /** + * Represents a cell within a grid. It is used for role="gridcell". Unlike + * ROLE_CELL, it allows the calculation of the accessible name from subtree. + * Also, see ROLE_TABLE. + */ + const unsigned long ROLE_GRID_CELL = 70; + + /** + * A note. Originally intended to be hidden until activated, but now also used + * for things like html 'aside'. + */ + const unsigned long ROLE_NOTE = 71; + + /** + * A figure. Used for things like HTML5 figure element. + */ + const unsigned long ROLE_FIGURE = 72; + + /** + * Represents a rich item with a check box. + */ + const unsigned long ROLE_CHECK_RICH_OPTION = 73; + + /** + * An HTML definition list <dl> + */ + const unsigned long ROLE_DEFINITION_LIST = 74; + + /** + * An HTML definition term <dt> + */ + const unsigned long ROLE_TERM = 75; + + /** + * An HTML definition <dd> + */ + const unsigned long ROLE_DEFINITION = 76; + + /** + * A keyboard or keypad key. + */ + const unsigned long ROLE_KEY = 77; + + /** + * A switch control widget. + */ + const unsigned long ROLE_SWITCH = 78; + + /** + * A block of MathML code (math). + */ + const unsigned long ROLE_MATHML_MATH = 79; + + /** + * A MathML identifier (mi in MathML). + */ + const unsigned long ROLE_MATHML_IDENTIFIER = 80; + + /** + * A MathML number (mn in MathML). + */ + const unsigned long ROLE_MATHML_NUMBER = 81; + + /** + * A MathML operator (mo in MathML). + */ + const unsigned long ROLE_MATHML_OPERATOR = 82; + + /** + * A MathML text (mtext in MathML). + */ + const unsigned long ROLE_MATHML_TEXT = 83; + + /** + * A MathML string literal (ms in MathML). + */ + const unsigned long ROLE_MATHML_STRING_LITERAL = 84; + + /** + * A MathML glyph (mglyph in MathML). + */ + const unsigned long ROLE_MATHML_GLYPH = 85; + + /** + * A MathML row (mrow in MathML). + */ + const unsigned long ROLE_MATHML_ROW = 86; + + /** + * A MathML fraction (mfrac in MathML). + */ + const unsigned long ROLE_MATHML_FRACTION = 87; + + /** + * A MathML square root (msqrt in MathML). + */ + const unsigned long ROLE_MATHML_SQUARE_ROOT = 88; + + /** + * A MathML root (mroot in MathML). + */ + const unsigned long ROLE_MATHML_ROOT = 89; + + /** + * A MathML enclosed element (menclose in MathML). + */ + const unsigned long ROLE_MATHML_ENCLOSED = 90; + + /** + * A MathML styling element (mstyle in MathML). + */ + const unsigned long ROLE_MATHML_STYLE = 91; + + /** + * A MathML subscript (msub in MathML). + */ + const unsigned long ROLE_MATHML_SUB = 92; + + /** + * A MathML superscript (msup in MathML). + */ + const unsigned long ROLE_MATHML_SUP = 93; + + /** + * A MathML subscript and superscript (msubsup in MathML). + */ + const unsigned long ROLE_MATHML_SUB_SUP = 94; + + /** + * A MathML underscript (munder in MathML). + */ + const unsigned long ROLE_MATHML_UNDER = 95; + + /** + * A MathML overscript (mover in MathML). + */ + const unsigned long ROLE_MATHML_OVER = 96; + + /** + * A MathML underscript and overscript (munderover in MathML). + */ + const unsigned long ROLE_MATHML_UNDER_OVER = 97; + + /** + * A MathML multiple subscript and superscript element (mmultiscripts in + * MathML). + */ + const unsigned long ROLE_MATHML_MULTISCRIPTS = 98; + + /** + * A MathML table (mtable in MathML). + */ + const unsigned long ROLE_MATHML_TABLE = 99; + + /** + * A MathML labelled table row (mlabeledtr in MathML). + */ + const unsigned long ROLE_MATHML_LABELED_ROW = 100; + + /** + * A MathML table row (mtr in MathML). + */ + const unsigned long ROLE_MATHML_TABLE_ROW = 101; + + /** + * A MathML table entry or cell (mtd in MathML). + */ + const unsigned long ROLE_MATHML_CELL = 102; + + /** + * A MathML interactive element (maction in MathML). + */ + const unsigned long ROLE_MATHML_ACTION = 103; + + /** + * A MathML error message (merror in MathML). + */ + const unsigned long ROLE_MATHML_ERROR = 104; + + /** + * A MathML stacked (rows of numbers) element (mstack in MathML). + */ + const unsigned long ROLE_MATHML_STACK = 105; + + /** + * A MathML long division element (mlongdiv in MathML). + */ + const unsigned long ROLE_MATHML_LONG_DIVISION = 106; + + /** + * A MathML stack group (msgroup in MathML). + */ + const unsigned long ROLE_MATHML_STACK_GROUP = 107; + + /** + * A MathML stack row (msrow in MathML). + */ + const unsigned long ROLE_MATHML_STACK_ROW = 108; + + /** + * MathML carries, borrows, or crossouts for a row (mscarries in MathML). + */ + const unsigned long ROLE_MATHML_STACK_CARRIES = 109; + + /** + * A MathML carry, borrow, or crossout for a column (mscarry in MathML). + */ + const unsigned long ROLE_MATHML_STACK_CARRY = 110; + + /** + * A MathML line in a stack (msline in MathML). + */ + const unsigned long ROLE_MATHML_STACK_LINE = 111; + + /** + * A group containing radio buttons + */ + const unsigned long ROLE_RADIO_GROUP = 112; + + /** + * A text container exposing brief amount of information. See related + * TEXT_CONTAINER role. + */ + const unsigned long ROLE_TEXT = 113; + + /** + * A text container exposing brief amount of information. See related + * DETAILS role. + */ + const unsigned long ROLE_DETAILS = 114; + + /** + * A text container exposing brief amount of information. See related + * SUMMARY role. + */ + const unsigned long ROLE_SUMMARY = 115; + + /** + * An ARIA landmark. See related NAVIGATION role. + */ + const unsigned long ROLE_LANDMARK = 116; + + /** + * A specific type of ARIA landmark. The ability to distinguish navigation + * landmarks from other types of landmarks is needed because macOS has a + * specific AXSubrole and AXRoleDescription for navigation landmarks. + */ + const unsigned long ROLE_NAVIGATION = 117; + + /** + * An object that contains the text of a footnote. + */ + const unsigned long ROLE_FOOTNOTE = 118; + + /** + * A complete or self-contained composition in a document, page, application, + * or site and that is, in principle, independently distributable or reusable, + * e.g. in syndication. + */ + const unsigned long ROLE_ARTICLE = 119; + + /** + * A perceivable section containing content that is relevant to a specific, + * author-specified purpose and sufficiently important that users will likely + * want to be able to navigate to the section easily and to have it listed in + * a summary of the page. + */ + const unsigned long ROLE_REGION = 120; + + /** + * Represents a control with a text input and a popup with a set of predefined + * choices. It is used for ARIA's combobox role. See also ROLE_COMBOBOX. + */ + const unsigned long ROLE_EDITCOMBOBOX = 121; + + /** + * A section of content that is quoted from another source. + */ + const unsigned long ROLE_BLOCKQUOTE = 122; + + /** + * Content previously deleted or proposed for deletion, e.g. in revision + * history or a content view providing suggestions from reviewers. + */ + const unsigned long ROLE_CONTENT_DELETION = 123; + + /** + * Content previously inserted or proposed for insertion, e.g. in revision + * history or a content view providing suggestions from reviewers. + */ + const unsigned long ROLE_CONTENT_INSERTION = 124; + + /** + * An html:form element with a label provided by WAI-ARIA. + * This may also be used if role="form" with a label should be exposed + * differently in the future. + */ + const unsigned long ROLE_FORM_LANDMARK = 125; + + /** + * The html:mark element. + * May also be used if WAI-ARIA gets an equivalent role. + */ + const unsigned long ROLE_MARK = 126; + + /** + * The WAI-ARIA suggestion role. + */ + const unsigned long ROLE_SUGGESTION = 127; + + /** + * The WAI-ARIA comment role. + */ + const unsigned long ROLE_COMMENT = 128; + + /** + * A snippet of program code. ATs might want to treat this differently. + */ + const unsigned long ROLE_CODE = 129; + + /** + * Represents control whose purpose is to allow a user to edit a time. + */ + const unsigned long ROLE_TIME_EDITOR = 130; + + /** + * Represents the marker associated with a list item. In unordered lists, + * this is a bullet, while in ordered lists this is a number. + */ + const unsigned long ROLE_LISTITEM_MARKER = 131; + + /** + * Essentially, this is a progress bar with a contextually defined + * scale, ex. the strength of a password entered in an input. + */ + const unsigned long ROLE_METER = 132; + + /** + * Represents phrasing content that is presented with vertical alignment + * lower than the baseline and a smaller font size. For example, the "2" in + * the chemical formula H2O. + */ + const unsigned long ROLE_SUBSCRIPT = 133; + + /** + * Represents phrasing content that is presented with vertical alignment + * higher than the baseline and a smaller font size. For example, the + * exponent in a math expression. + */ + const unsigned long ROLE_SUPERSCRIPT = 134; + + /** + * Represents one or more emphasized characters. Use this role to stress or + * emphasize content. + */ + const unsigned long ROLE_EMPHASIS = 135; + + /** + * Represents content that is important, serious, or urgent. + */ + const unsigned long ROLE_STRONG = 136; + + /** + * Represents a specific point in time. + */ + const unsigned long ROLE_TIME = 137; +}; |