Accessibility/Comparisons:Roles
Contents
Accessibility Role Comparison
This is a comparison between the roles available in each architecture.
Mac comparison in process
Please note, the colors represent the level of compatibility UA has with the rest. This is an aid for the ongoing Mac Accessibility effort.
Please leave comments to the newsgroup. Thanks! --HakanW 12:24, 9 May 2006 (PDT)
Legend
Legend |
---|
[OK] UA seems compatible |
[MAYBE] UA probably compatible |
[NOT NEEDED] Irrelevant |
Not yet sure; TBD |
Comparison Table
MSAA 1.3 Role (ROLE_SYSTEM_ *) |
Closest ATK Role(s) (ATK_ROLE_*) |
Closest UA Role (NSAccessibility*Role) |
Description |
---|---|---|---|
ALERT |
ALERT |
TBD |
TBD
An error, warning, or informational message |
APPLICATION |
APPLICATION |
[OK] |
Toplevel accessible object of an application, which may contain frame objects or other accessible objects. |
BUTTONMENU |
add custom role |
[OK]
MenuButton |
Button that drops down a menu |
CELL |
TABLE_CELL |
TBD |
Cell in a table |
CHART |
CHART (proposed) |
TBD |
Graphical depiction of quantitative data |
CHECKBUTTON |
CHECK_BOX, CHECK_MENU_ITEM, TOGGLE_BUTTON |
[OK] |
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. |
COLUMN |
don't use |
[OK]
Column |
Column of table cells. |
COLUMNHEADER |
TABLE_COLUMN_HEADER, COLUMN_HEADER |
[OK]
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 |
[OK]
ComboBox |
Edit control with a drop-down list of selections |
DIAGRAM |
IMAGE, DRAWING_AREA, or add custom role |
[OK] |
Image is a generic graphic. Diagram is a specific type of a drawn graphic. Drawing area is used for creating custom user interface elements. |
DIALOG |
DIALOG, COLOR_CHOOSER, FILE_CHOOSER |
[OK]
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) |
[OK]
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 |
[OK] |
Drop down list but not a combo box |
EQUATION |
add custom role |
TBD |
Math and chemistry equations |
GRAPHIC |
IMAGE, DESKTOP_ICON |
[OK] |
Graphic or an icon |
GRIP |
add custom role |
[OK] |
Mouse pointer used for resizing windows. |
GROUPING |
PANEL, PAGE (proposed), SECTION (proposed) |
[OK]
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 |
[OK]
Button with DescriptionAttribute="Help" |
Help icon to click on to get tooltip help |
LINK |
LINK (proposed) |
[OK] |
Hypertext link in a document that can be an image or text |
LIST |
LIST, FONT_CHOOSER |
[OK] |
List of objects that allows one or more selections. A font chooser allows selection of a display font. |
LISTITEM |
LISTITEM |
[OK]
Row? |
Element in a selectable list |
MENUBAR |
MENU_BAR |
[OK] |
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 |
[OK] |
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 |
[OK]
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 |
[OK] |
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 |
[OK]
Row and subrole OutlineRow |
A tree item. |
PAGETAB |
PAGE_TAB |
[OK] Use TabGroup and friends. We'll try to do this similarly to how XUL structures tabboxes, but since that will be different from how TabGroups normally are represented in UA, we'll need to make sure VoiceOver and everything still works. |
A tab that usually contains a label or title for a page or panel of a notebook container. |
PAGETABLIST |
PAGE_TAB_LIST |
[OK]
See TabGroup above. |
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 |
[OK]
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 |
[OK] |
Object that shows the percentage of a task that has completed. |
PROPERTYPAGE |
PAGE (proposed) or add custom role |
[OK]
Group with DescriptionAttribute describing special purpose? |
Page showing properties of something. |
PUSHBUTTON |
PUSH_BUTTON, TOGGLE_BUTTON |
[OK]
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 |
[OK]
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 |
[OK]
Row (see subroles OutlineRow, TableRow) |
Row in a table. |
ROWHEADER |
ROW_HEADER, TABLE_ROW_HEADER |
[OK]
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 |
[OK]
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 |
TBD |
Object that provides a visual separation of contents in a menu or between 2 areas/panes. |
SLIDER |
SLIDER |
[OK] |
Object that allows the user to select or adjust a value in increments from a bounded range of minimum to maximum values. |
SPINBUTTON |
SPIN_BUTTON |
[OK]
Incrementor ("Stepper"), (Increment/Decrement subroles). |
Object that allows the user to select a value from a set of choices. |
STATICTEXT |
LABEL, ACCELERATOR_LABEL |
[OK] |
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 |
[OK]
Represented as its individual parts; the status text is text, the progressbar is a ProgressBar, etc. |
Display non-quantitative status information, in contrast to a progress bar which displays quantitative status. |
TABLE |
TABLE, CALENDAR, TREE_TABLE |
[OK] |
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) |
[OK]
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 |
[OK]
title attribute of Window role |
Title or caption of a window or dialog. |
TOOLBAR |
TOOL_BAR |
[OK] |
A bar or palette usually comprised of push buttons or toggle buttons. |
TOOLTIP |
TOOL_TIP |
[OK]
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. |
WINDOW |
WINDOW |
[OK] |
A top level window with no title or border. |
RULER |
[OK] |
Object that describes margins and tab stops. |
|
EMBEDDED |
TBD |
Object that is an embedded component container in a document. |
|
EDITBAR |
[OK]
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 |
TBD |
Object that can be drawn into and used to trap events. |
|
INVALID |
[OK]
Unknown |
An error condition, such as an uninitialized role. |
|
UNKNOWN |
[OK] |
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 |
Firefox-specific Roles
MSAA | ATK | UA | Description |
---|---|---|---|
h1, h2, h3, h4, h5, h6 | |||
iframe | |||
q | |||
tbody, thead, tfoot |
Roles We Don't Implement
Here are roles that we, for one reason or the other, have decided to not implement. Most of them can be represented in some other way, and so we deem them irrelevant.
MSAA 1.3 Role (ROLE_SYSTEM_ *) |
Closest ATK Role(s) (ATK_ROLE_*) |
Closest UA Role (NSAccessibility*Role) |
Description |
---|---|---|---|
BORDER |
don't use |
don't use |
Window border as an object |
BUTTONDROPDOWN |
add custom role |
Button that drops down a list of items |
|
BUTTONDROPDOWNGRID |
add custom role |
Button that drops down a grid |
|
CARET |
don't use |
don't use |
System caret |
CHARACTER |
don't use |
don't use |
Paperclip character. |
CLOCK |
add custom role |
don't use |
Clock object. |
CURSOR |
don't use |
don't use |
Mouse pointer. |
DIAL |
DIAL |
Control with value changes using a rotating visual indicator |
|
ANIMATION |
ANIMATION |
A dynamic or moving image that changes over time. |
|
HOTKEYFIELD |
add custom role |
Editable field for assigning keys |
|
INDICATOR |
ARROW or add custom role |
An indicator is a graphic, like an arrow, used to indicate something. Arrow is a 2D directional indicator. |
|
SOUND |
IMAGE, ICON, or add custom control |
System sound object. |
|
WHITESPACE |
FILLER |
Object that takes up space in a user interface. |