Accessibility/Comparisons:Roles

From MozillaWiki
Jump to: navigation, search

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

TBD

MSAA 1.3 Role (ROLE_SYSTEM_ *)

Closest ATK Role(s) (ATK_ROLE_*)

Closest UA Role (NSAccessibility*Role)

Description

ALERT

ALERT

TBD

An error, warning, or informational message

APPLICATION

APPLICATION

[OK]

Application

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]

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.

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?

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]

ComboBox

Drop down list but not a combo box

EQUATION

add custom role

TBD

Math and chemistry equations

GRAPHIC

IMAGE, DESKTOP_ICON

[OK]

Image

Graphic or an icon

GRIP

add custom role

[OK]

SplitterBar

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]

TextLink

Hypertext link in a document that can be an image or text

LIST

LIST, FONT_CHOOSER

[OK]

List

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]

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

[OK]

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

[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]

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

[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]

ProgressIndicator

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]

Slider

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]

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

[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]

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)

[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]

Toolbar (see also toolbar button subrole of Button)

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]

Window

A top level window with no title or border.

RULER

[OK]

Ruler, RulerMarker

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]

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

Firefox-specific Roles

MSAAATKUADescription
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.