Accessibility/Comparisons:Roles
Jump to navigation
Jump to search
| MSAA 1.3 Role (ROLE_SYSTEM_ *) | Closest ATK Role(s) (ATK_ROLE_*) | Closest UA Role (NSAccessibility*Role) | Description |
|---|---|---|---|
| ALERT | ALERT | Window with SystemDialog subrole? | An error, warning, or informational message |
| ANIMATION | ANIMATION | A dynamic or moving image that changes over time. | |
| APPLICATION | APPLICATION | Application | Toplevel accessible object of an application, which may contain frame objects or other accessible objects. |
| BORDER | don't use | don't use | Window border as an object |
| BUTTONDROPDOWN | add custom role | No such standard widget on mac. (If needed, roll our own.) | Button that drops down a list of items |
| BUTTONDROPDOWNGRID | add custom role | No such standard widget on mac. (If needed, roll our own.) | Button that drops down a grid |
| BUTTONMENU | add custom role | MenuButton | Button that drops down a menu |
| CARET | don't use | don't use | System caret |
| CELL | TABLE_CELL | Cell in a table | |
| CHARACTER | don't use | don't use | Paperclip character. |
| CHART | CHART (proposed) | Image with a special DescriptionAttribute? | Graphical depiction of quantitative data |
| CHECKBUTTON | CHECK_BOX, CHECK_MENU_ITEM, TOGGLE_BUTTON | CheckBox | Choice that can be checked or unchecked. A checkbox and check menu item have a separate indicator for the state. A toggle button is a specialized push button that does not have a separate indicator for the state. |
| CLOCK | add custom role | don't use | Clock object. |
| COLUMN | don't use | Column | Column of table cells. |
| COLUMNHEADER | TABLE_COLUMN_HEADER, COLUMN_HEADER | Get the NSAccessibilityHeaderAttribute on a Table | Header which labels a column of data, or more specifically a column of data in a table. |
| COMBOBOX | COMBO_BOX | ComboBox | Edit control with a drop-down list of selections |
| CURSOR | don't use | don't use | Mouse pointer. |
| DIAGRAM | IMAGE, DRAWING_AREA, or add custom role | Image | Image is a generic graphic. Diagram is a specific type of a drawn graphic. Drawing area is used for creating custom user interface elements. |
| DIAL | DIAL | Really useful? | Control with value changes using a rotating visual indicator |
| DIALOG | DIALOG, COLOR_CHOOSER, FILE_CHOOSER | Window with dialog subrole (sometimes Sheet) | Top level window with a title bar and border. A file chooser is a specialized dialog that displays files in a directory and allows file selection, directory browsing, and filename specification. A color chooser is a specialized dialog for choosing a color. |
| DOCUMENT | HTML_CONTAINER or DOCUMENT_FRAME (proposed) | Use custom role WebArea like Safari for the actual web browser view? Window for the actual window. | For MSAA, a document is a window that corresponds to MDI document. An HTML container or document frame is an HTML document or a frame containing a view of document content. |
| DROPLIST | add custom role or COMBO_BOX | ComboBox? | Drop down list but not a combo box |
| EQUATION | add custom role | Image/StaticText + special DescriptionAttribute probably sufficient. | Math and chemistry equations |
| GRAPHIC | IMAGE, DESKTOP_ICON | Image | Graphic or an icon |
| GRIP | add custom role | SplitterBar | Mouse pointer used for resizing windows. |
| GROUPING | PANEL, PAGE (proposed), SECTION (proposed) | Group | Container used to group objects, like a group box or a FIELDSET in HTML. A page is defined for documents. A section is a generic container of content within a document, such as a navigation bar, table of contents, main content section, content between headings, etc. |
| HELPBALLOON | add custom role | Button with DescriptionAttribute="Help" | Help icon to click on to get tooltip help |
| HOTKEYFIELD | add custom role | Really needed? | Editable field for assigning keys |
| INDICATOR | ARROW or add custom role | Too vague. Can we really have a role to indicate "something"? Image + RoleDescription/DescriptionAttribute? | An indicator is a graphic, like an arrow, used to indicate something. Arrow is a 2D directional indicator. |
| LINK | LINK (proposed) | TextLink |
Hypertext link in a document that can be an image or text |
| LIST | LIST, FONT_CHOOSER | List | List of objects that allows one or more selections. A font chooser allows selection of a display font. |
| LISTITEM | LISTITEM | Row? | Element in a selectable list |
| MENUBAR | MENU_BAR | MenuBar | Object drawn at the top of the primary window or dialog box of an application ((just below the title bar)) that contains a list of menus. |
| MENUITEM | MENU_ITEM, RADIO_MENU_ITEM, CHECK_MENU_ITEM | MenuItem, MenuBarItem | Element in a menu that presents a selectable action. A radio menu item is both a radio button and a menu item. A check menu item is both a check box and a menu item. |
| MENUPOPUP | MENU, POPUP_MENU, TEAROFF_MENU_ITEM | Menu, MenuButton (button with icon that pops up a menu when clicked) or PopupButton (regular popupmenu showing the current choice) | A menu is a list of actions from which the user can choose. A pop-up menu is a temporary window that offers the user a list of choices, then hides itself once the user selects one of those choices. A tearoff menu item is a is a menu that can be removed from the menubar and shown in its own window. |
| OUTLINE | TREE, TREE_TABLE | Outline | A tree or an outline is an object used to present hierarchical information to the user, usually with expandable/collapsable elements. A tree table presents both tabular and hierarchical information to the user. |
| OUTLINEITEM | use custom role | Row and subrole OutlineRow | A tree item. |
| PAGETAB | PAGE_TAB | Just a Group child inside a TabGroup | A tab that usually contains a label or title for a page or panel of a notebook container. |
| PAGETABLIST | PAGE_TAB_LIST | TabGroup | A tabbed notebook container, or a series of panels presented as tabbed pages. |
| PANE | FRAME, INTERNAL_FRAME, GLASS_PANE, LAYERED_PANE, OPTION_PANE, SCROLL_PANE, DIRECTORY_PANE, DESKTOP_FRAME, ROOT_PANE, SPLIT_PANE, VIEWPORT | Window (subroles StandardWindow), ScrollArea, SplitGroup (two adjacent "views" with a splitter bar), Browser (horizontal tree-like view often used for nagivating in the filesystem) | A pane or frame in the current window. A frame is a top level window with a title bar, border, menubar, etc. An internal frame is a frame clipped by a desktop pane. A glass pane is painted on top of all panes beneath it. A layered pane allows its children to be drawn in layers based on a stacking order. An option pane is a pane inside of a dialog. A scroll pane contains scroll bars. A directory pane contains selections (icons, lists, trees) for the content of a directory. A desktop frame is a pane that supports internal frames and icons for those internal frames. A root pane has a glass pane and a layered pane as its children. A split pane is a panel that presents two other panels at the same time. A viewport is a container of content, usually used in a scroll pane, that represents a clipped version of that pane that is onscreen (visible). |
| PROGRESSBAR | PROGRESS_BAR | ProgressIndicator | Object that shows the percentage of a task that has completed. |
| PROPERTYPAGE | PAGE (proposed) or add custom role | Group with DescriptionAttribute describing special purpose? | Page showing properties of something. |
| PUSHBUTTON | PUSH_BUTTON, TOGGLE_BUTTON | Button (see also subrole ToolbarButton) | A push button tells the application to do something when it is activated. A toggle button is a specialized push button that does not have a separate indicator for the state. |
| RADIOBUTTON | RADIO_BUTTON, RADIO_MENU_ITEM | RadioButton (grouped together using RadioGroup) | Usually in a group, only one radio button in a group can be "checked". Check one radio button causes all others in the group to be unchecked. A radio menu item is both a radio button and a menu item. |
| ROW | add custom control | Row (see subroles OutlineRow, TableRow) | Row in a table. |
| ROWHEADER | ROW_HEADER, TABLE_ROW_HEADER | Header attribute of a table/outliner/browser. | Header which labels a row of data, or more specifically a row of data in a table. |
| SCROLLBAR | SCROLL_BAR | ScrollBar, see children ValueIndicator (the draggable thumb), and arrows: IncrementPage, DecrementPage subroles | Object which allows a user to incrementally view a large amount of data by moving the bounds of a viewport along a one-dimensional axis. |
| SEPARATOR | SEPARATOR | A Splitter that is disabled/static? | Object that provides a visual separation of contents in a menu or between 2 areas/panes. |
| SLIDER | SLIDER | Slider | Object that allows the user to select or adjust a value in increments from a bounded range of minimum to maximum values. |
| SOUND | IMAGE, ICON, or add custom control | System sound object. | |
| SPINBUTTON | SPIN_BUTTON | Incrementor ("Stepper"), (Increment/Decrement subroles). | Object that allows the user to select a value from a set of choices. |
| STATICTEXT | LABEL, ACCELERATOR_LABEL | StaticText | A label presents text that provides a short name or description associated with another object, like a text entry field. An accelerator label indicates the keyboard accelerators for its parent, like a menu item. |
| STATUSBAR | STATUS_BAR | We could use BusyIndicator here for indeterminate progress and ProgressIndicator for determinate progress | Display non-quantitative status information, in contrast to a progress bar which displays quantitative status. |
| TABLE | TABLE, CALENDAR, TREE_TABLE | Table | Presents information in terms of rows and columns. A calendar contains one or more dates, usually arranged in a tabular format, but not always. A tree table presents information in both a tabular and hierarchical format. |
| TEXT | TEXT, DATE_EDITOR, PASSWORD_TEXT, AUTOCOMPLETE, ENTRY (proposed), PARAGRAPH, HEADING (proposed), HEADER, FOOTER, CAPTION (proposed) | StaticText, TextField, TextArea are the actual text widgets. See various text attributes for describing text content. There's also SecureTextField for password boxes. | Text information in general. A date editor allows entry of a date. A password text entry object shows nothing or an alternative character, like an asterisk, when the password text is typed. Autocomplete is a dialog or list containing items for insertion into an entry widget, such as a list of words or characters for completion of a text entry. Entry is a text entry field which may be editable or read-only depending on the STATE_EDITABLE attribute. A paragraph is a paragraph of text in a document. A heading is the title for a section in a document. A header is a section at the top of a document, or the top of each page in a document. A footer is a section at the bottom of a document, or the bottom of each page of a document. A caption is descriptive information, usually textual, about another user interface element such as a table, chart, or image. |
| TITLEBAR | add custom role | title attribute of Window role | Title or caption of a window or dialog. |
| TOOLBAR | TOOL_BAR | Toolbar (see also toolbar button subrole of Button) | A bar or palette usually comprised of push buttons or toggle buttons. |
| TOOLTIP | TOOL_TIP | HelpTag (same as "Help Balloon") | An object that provides descriptive or helpful information about another object, often when the help key is pressed or the mouse moves over an object. |
| WHITESPACE | FILLER | Really needed? | Object that takes up space in a user interface. |
| WINDOW | WINDOW | Window | A top level window with no title or border. |
| RULER | Ruler, RulerMarker | Object that describes margins and tab stops. | |
| EMBEDDED | Unknown + smart RoleDescription/DescriptionAttribute? | Object that is an embedded component container in a document. | |
| EDITBAR | Basically same as textfield, or similar to whatever we'd do for an inline textfield in a table? | Object that is an editable text object in a toolbar. | |
| CANVAS | Object that can be drawn into and used to trap events. | ||
| INVALID | An error condition, such as an uninitialized role. | ||
| UNKNOWN | Unknown | Object contains accessible information but its role is not known. | |
| ColorWell | Button for invoking a color inspector, where you can choose colors. | ||
| SearchField | Textfield used for searching |