Accessibility/Comparisons:Roles: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(begone irrelevant roles)
 
(4 intermediate revisions by the same user not shown)
Line 8: Line 8:
--[[User:Hwaara|HakanW]] 12:24, 9 May 2006 (PDT)
--[[User:Hwaara|HakanW]] 12:24, 9 May 2006 (PDT)


=== Color legend ===
=== Legend ===
<table border="1"><tr><th>Color legend</th></tr>
<table border="1"><tr><th>Legend</th></tr>
<tr><td class="OK">UA seems compatible</td></tr>
<tr><td class="OK">[OK] UA seems compatible</td></tr>
<tr><td class="maybe">UA probably compatible</td></tr>
<tr><td class="maybe">[MAYBE] UA probably compatible</td></tr>
<tr><td class="irrelevant">Seems irrelevant?</td></tr>
<tr><td class="irrelevant">[NOT NEEDED] Irrelevant</td></tr>
<tr><td>Not yet done / Undecided (white).</td></tr>
<tr><td>Not yet sure; TBD</td></tr>
</table>
</table>


Line 33: Line 33:
</tr>
</tr>
<tr>
<tr>
<td class="maybe">
<td>
ALERT
ALERT
</td>
</td>
<td class="maybe">
<td>
ALERT
ALERT
</td>
</td>
<td class="maybe">
<td>
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_3.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_9 Window] with SystemDialog subrole?
TBD
</td>
</td>
<td class="maybe">
TBD
<td>
An error, warning, or informational message
An error, warning, or informational message
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="OK">
<td>
APPLICATION
APPLICATION
</td>
</td>
<td class="OK">
<td>
APPLICATION
APPLICATION
</td>
</td>
<td class="OK">
<td> [OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_2.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_8 Application]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_2.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_8 Application]
</td>
</td>
<td class="OK">
<td>
Toplevel accessible object of an application, which may contain frame objects or other accessible objects.
Toplevel accessible object of an application, which may contain frame objects or other accessible objects.
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="OK">
<td>
BUTTONMENU
BUTTONMENU
</td>
</td>
<td class="OK">
<td>
add custom role
add custom role
</td>
</td>
<td class="OK">
<td>[OK]
MenuButton
MenuButton
</td>
</td>
<td class="OK">
<td>
Button that drops down a menu
Button that drops down a menu
</td>
</td>
Line 82: Line 83:
</td>
</td>
<td>
<td>
TBD
</td>
</td>
<td>
<td>
Line 88: Line 90:
</tr>
</tr>
<tr>
<tr>
<td class="maybe">
<td>
CHART
CHART
</td>
</td>
<td class="maybe">
<td>
CHART (proposed)
CHART (proposed)
</td>
</td>
<td class="maybe">
<td>
Image with a special DescriptionAttribute?
TBD
</td>
</td>
<td class="maybe">
<td>
Graphical depiction of quantitative data
Graphical depiction of quantitative data
</td>
</td>
Line 108: Line 110:
CHECK_BOX, CHECK_MENU_ITEM, TOGGLE_BUTTON
CHECK_BOX, CHECK_MENU_ITEM, TOGGLE_BUTTON
</td>
</td>
<td class="OK">
<td class="OK">[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_10.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_15 CheckBox]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_10.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_15 CheckBox]
</td>
</td>
Line 122: Line 124:
don't use
don't use
</td>
</td>
<td class="OK">
<td class="OK">[OK]
Column
Column
</td>
</td>
Line 129: Line 131:
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="OK" normal="">
<td>
COLUMNHEADER
COLUMNHEADER
</td>
</td>
<td class="OK">
<td>
TABLE_COLUMN_HEADER, COLUMN_HEADER
TABLE_COLUMN_HEADER, COLUMN_HEADER
</td>
</td>
<td class="OK">
<td>[OK]
Get the NSAccessibilityHeaderAttribute on a&nbsp;[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_14.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_19 Table]
Get the NSAccessibilityHeaderAttribute on a&nbsp;[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_14.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_19 Table]
</td>
</td>
<td class="OK">
<td>
Header which labels a column of data, or more specifically a column of data in a table.
Header which labels a column of data, or more specifically a column of data in a table.
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="OK">
<td>
COMBOBOX
COMBOBOX
</td>
</td>
<td class="OK">
<td>
COMBO_BOX
COMBO_BOX
</td>
</td>
<td class="OK">
<td>[OK]
ComboBox
ComboBox
</td>
</td>
<td class="OK">
<td>
Edit control with a drop-down list of selections
Edit control with a drop-down list of selections
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="maybe">
<td>
DIAGRAM
DIAGRAM
</td>
</td>
<td class="maybe">
<td>
IMAGE, DRAWING_AREA, or add custom role
IMAGE, DRAWING_AREA, or add custom role
</td>
</td>
<td class="maybe">
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_7.html#//apple_ref/doc/uid/TPhttp://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_7.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_1340001078-CH211-DontLinkElementID_13 Image]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_7.html#//apple_ref/doc/uid/TPhttp://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_7.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_1340001078-CH211-DontLinkElementID_13 Image]?
</td>
</td>
<td class="maybe">
<td>
Image is a generic graphic. Diagram is a specific type of a drawn graphic. Drawing area is used for creating custom user interface elements.
Image is a generic graphic. Diagram is a specific type of a drawn graphic. Drawing area is used for creating custom user interface elements.
</td>
</td>
Line 178: Line 180:
DIALOG, COLOR_CHOOSER, FILE_CHOOSER
DIALOG, COLOR_CHOOSER, FILE_CHOOSER
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_3.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_9 Window] with dialog subrole (sometimes Sheet)
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_3.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_9 Window] with dialog subrole (sometimes Sheet)
</td>
</td>
Line 192: Line 194:
HTML_CONTAINER or DOCUMENT_FRAME (proposed)
HTML_CONTAINER or DOCUMENT_FRAME (proposed)
</td>
</td>
<td>
<td>[OK]
Use custom role WebArea like Safari for the actual web browser view? Window for the actual window.
Use custom role WebArea like Safari for the actual web browser view? Window for the actual window.
</td>
</td>
Line 199: Line 201:
</td>
</td>
</tr>
</tr>
<tr class="maybe">
<tr class="OK">
<td>
<td>
DROPLIST
DROPLIST
Line 206: Line 208:
add custom role or COMBO_BOX
add custom role or COMBO_BOX
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_23.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_28 ComboBox]?&nbsp;
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_23.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_28 ComboBox]?&nbsp;
</td>
</td>
Line 213: Line 215:
</td>
</td>
</tr>
</tr>
<tr class="maybe">
<tr>
<td>
<td>
EQUATION
EQUATION
Line 221: Line 223:
</td>
</td>
<td>
<td>
Image/StaticText + special DescriptionAttribute probably sufficient.
TBD
</td>
</td>
<td>
<td>
Line 234: Line 236:
IMAGE, DESKTOP_ICON
IMAGE, DESKTOP_ICON
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_7.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_13 Image]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_7.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_13 Image]
</td>
</td>
Line 248: Line 250:
add custom role
add custom role
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_39.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_42 SplitterBar]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_39.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_42 SplitterBar]
</td>
</td>
Line 262: Line 264:
PANEL, PAGE (proposed), SECTION (proposed)
PANEL, PAGE (proposed), SECTION (proposed)
</td>
</td>
<td>
<td>[OK]
Group
Group
</td>
</td>
Line 276: Line 278:
add custom role
add custom role
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_8.html#//apple_ref/doc/uid/TP40001078-CH211-CACDEHBG Button] with DescriptionAttribute="Help"
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_8.html#//apple_ref/doc/uid/TP40001078-CH211-CACDEHBG Button] with DescriptionAttribute="Help"
</td>
</td>
Line 290: Line 292:
LINK (proposed)
LINK (proposed)
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Protocols/NSAccessibility.html#//apple_ref/doc/c_ref/NSAccessibilityMarkerTypeAttribute TextLink]<span class="content_text">
[http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Protocols/NSAccessibility.html#//apple_ref/doc/c_ref/NSAccessibilityMarkerTypeAttribute TextLink]<span class="content_text">
<code>
<code>
Line 307: Line 309:
LIST, FONT_CHOOSER
LIST, FONT_CHOOSER
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_21.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_26 List]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_21.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_26 List]
</td>
</td>
Line 321: Line 323:
LISTITEM
LISTITEM
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_17.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_22 Row]?
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_17.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_22 Row]?
</td>
</td>
Line 335: Line 337:
MENU_BAR
MENU_BAR
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_34.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_37 MenuBar]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_34.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_37 MenuBar]
</td>
</td>
Line 342: Line 344:
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="OK">
<td>
MENUITEM
MENUITEM
</td>
</td>
<td class="OK">
<td>
MENU_ITEM, RADIO_MENU_ITEM, CHECK_MENU_ITEM
MENU_ITEM, RADIO_MENU_ITEM, CHECK_MENU_ITEM
</td>
</td>
<td class="OK">
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_37.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_40 MenuItem], [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_35.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_38 MenuBarItem]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_37.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_40 MenuItem], [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_35.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_38 MenuBarItem]
</td>
</td>
<td class="OK">
<td>
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.
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.
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="OK">
<td>
MENUPOPUP
MENUPOPUP
</td>
</td>
<td class="OK">
<td>
MENU, POPUP_MENU, TEAROFF_MENU_ITEM
MENU, POPUP_MENU, TEAROFF_MENU_ITEM
</td>
</td>
<td class="OK">
<td>[OK]
Menu, [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_12.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_17 MenuButton] (button with icon that pops up a menu when clicked) or [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_11.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_16 PopupButton] (regular popupmenu showing the current choice)
Menu, [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_12.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_17 MenuButton] (button with icon that pops up a menu when clicked) or [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_11.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_16 PopupButton] (regular popupmenu showing the current choice)
</td>
</td>
<td class="OK">
<td>
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.
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.
</td>
</td>
Line 377: Line 379:
TREE, TREE_TABLE
TREE, TREE_TABLE
</td>
</td>
<td class="OK">
<td class="OK">[OK]
[http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Protocols/NSAccessibility.html#//apple_ref/doc/c_ref/NSAccessibilityMarkerTypeAttribute Outline]
[http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Protocols/NSAccessibility.html#//apple_ref/doc/c_ref/NSAccessibilityMarkerTypeAttribute Outline]
</td>
</td>
Line 391: Line 393:
use custom role
use custom role
</td>
</td>
<td class="OK">
<td class="OK">[OK]
Row and subrole OutlineRow
Row and subrole OutlineRow
</td>
</td>
Line 398: Line 400:
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="OK">
<td>
PAGETAB
PAGETAB
</td>
</td>
<td class="OK">
<td>
PAGE_TAB
PAGE_TAB
</td>
</td>
<td class="OK">
<td>[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 [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_13.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_18 TabGroup]s normally are represented in UA, we'll need to make sure VoiceOver and everything still works.
Just a [http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Protocols/NSAccessibility.html#//apple_ref/doc/c_ref/NSAccessibilityMarkerTypeAttribute Group] child inside a&nbsp;[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_13.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_18 TabGroup]
</td>
</td>
<td class="OK">
<td>
A tab that usually contains a label or title for a page or panel of a notebook container.
A tab that usually contains a label or title for a page or panel of a notebook container.
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="OK">
<td>
PAGETABLIST
PAGETABLIST
</td>
</td>
<td class="OK">
<td>
PAGE_TAB_LIST
PAGE_TAB_LIST
</td>
</td>
<td class="OK">
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_13.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_18 TabGroup]
See TabGroup above.
</td>
</td>
<td class="OK">
<td>
A tabbed notebook container, or a series of panels presented as tabbed pages.
A tabbed notebook container, or a series of panels presented as tabbed pages.
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="OK">
<td>
PANE
PANE
</td>
</td>
<td class="OK">
<td>
FRAME, INTERNAL_FRAME, GLASS_PANE, LAYERED_PANE, OPTION_PANE, SCROLL_PANE, DIRECTORY_PANE, DESKTOP_FRAME, ROOT_PANE, SPLIT_PANE, VIEWPORT
FRAME, INTERNAL_FRAME, GLASS_PANE, LAYERED_PANE, OPTION_PANE, SCROLL_PANE, DIRECTORY_PANE, DESKTOP_FRAME, ROOT_PANE, SPLIT_PANE, VIEWPORT
</td>
</td>
<td class="OK">
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_3.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_9 Window]&nbsp;(subroles StandardWindow), ScrollArea, SplitGroup (two adjacent "views" with a splitter bar), Browser (horizontal tree-like view often used for nagivating in the filesystem)
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_3.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_9 Window]&nbsp;(subroles StandardWindow), ScrollArea, SplitGroup (two adjacent "views" with a splitter bar), Browser (horizontal tree-like view often used for nagivating in the filesystem)
</td>
</td>
<td class="OK">
<td>
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).
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).
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="OK">
<td>
PROGRESSBAR
PROGRESSBAR
</td>
</td>
<td class="OK">
<td>
PROGRESS_BAR
PROGRESS_BAR
</td>
</td>
<td class="OK">
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_27.html#//apple_ref/doc/uid/TP40001078-CH211-CACIAHEA ProgressIndicator]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_27.html#//apple_ref/doc/uid/TP40001078-CH211-CACIAHEA ProgressIndicator]
</td>
</td>
<td class="OK">
<td>
Object that shows the percentage of a task that has completed.
Object that shows the percentage of a task that has completed.
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="maybe">
<td>
PROPERTYPAGE
PROPERTYPAGE
</td>
</td>
<td class="maybe">
<td>
PAGE (proposed) or add custom role
PAGE (proposed) or add custom role
</td>
</td>
<td class="maybe">
<td>[OK]
Group with DescriptionAttribute describing special purpose?
Group with DescriptionAttribute describing special purpose?
</td>
</td>
<td class="maybe">
<td>
Page showing properties of something.
Page showing properties of something.
</td>
</td>
Line 475: Line 476:
PUSH_BUTTON, TOGGLE_BUTTON
PUSH_BUTTON, TOGGLE_BUTTON
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_8.html#//apple_ref/doc/uid/TP40001078-CH211-CACDEHBG Button] (see also subrole ToolbarButton)
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_8.html#//apple_ref/doc/uid/TP40001078-CH211-CACDEHBG Button] (see also subrole ToolbarButton)
</td>
</td>
Line 489: Line 490:
RADIO_BUTTON, RADIO_MENU_ITEM
RADIO_BUTTON, RADIO_MENU_ITEM
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_9.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_14 RadioButton] (grouped together using [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_20.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_25 RadioGroup])
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_9.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_14 RadioButton] (grouped together using [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_20.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_25 RadioGroup])
</td>
</td>
Line 496: Line 497:
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="OK">
<td>
ROW
ROW
</td>
</td>
<td class="OK">
<td>
add custom control
add custom control
</td>
</td>
<td class="OK">
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_17.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_22 Row] (see subroles OutlineRow, TableRow)
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_17.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_22 Row] (see subroles OutlineRow, TableRow)
</td>
</td>
<td class="OK">
<td>
Row in a table.
Row in a table.
</td>
</td>
Line 517: Line 518:
ROW_HEADER, TABLE_ROW_HEADER
ROW_HEADER, TABLE_ROW_HEADER
</td>
</td>
<td class="OK">
<td class="OK">[OK]
Header attribute of a table/outliner/browser.
Header attribute of a table/outliner/browser.
</td>
</td>
Line 531: Line 532:
SCROLL_BAR
SCROLL_BAR
</td>
</td>
<td class="OK">
<td class="OK">[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_19.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_24 ScrollBar], see children [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/index.html?http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXModel/chapter_4_section_3.html#//apple_ref/doc/uid/TP40001078-CH208-BEICBEEG ValueIndicator] (the draggable thumb), and arrows:&nbsp;IncrementPage, DecrementPage subroles
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_19.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_24 ScrollBar], see children [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/index.html?http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXModel/chapter_4_section_3.html#//apple_ref/doc/uid/TP40001078-CH208-BEICBEEG ValueIndicator] (the draggable thumb), and arrows:&nbsp;IncrementPage, DecrementPage subroles
</td>
</td>
Line 538: Line 539:
</td>
</td>
</tr>
</tr>
<tr class="maybe">
<tr>
<td>
<td>
SEPARATOR
SEPARATOR
Line 546: Line 547:
</td>
</td>
<td>
<td>
A Splitter that is disabled/static?
TBD
</td>
</td>
<td>
<td>
Line 559: Line 560:
SLIDER
SLIDER
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_24.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_29 Slider]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_24.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_29 Slider]
</td>
</td>
Line 566: Line 567:
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="OK">
<td>
SPINBUTTON
SPINBUTTON
</td>
</td>
<td class="OK">
<td>
SPIN_BUTTON
SPIN_BUTTON
</td>
</td>
<td class="OK">
<td>[OK]
Incrementor ("Stepper"), (Increment/Decrement subroles).
Incrementor ("Stepper"), (Increment/Decrement subroles).
</td>
</td>
<td class="OK">
<td>
Object that allows the user to select a value from a set of choices.
Object that allows the user to select a value from a set of choices.
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td class="OK">
<td>
STATICTEXT
STATICTEXT
</td>
</td>
<td class="OK">
<td>
LABEL, ACCELERATOR_LABEL
LABEL, ACCELERATOR_LABEL
</td>
</td>
<td class="OK">
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_33.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_36 StaticText]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_33.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_36 StaticText]
</td>
</td>
<td class="OK">
<td>
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.
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.
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td>
<td>
STATUSBAR
STATUSBAR
Line 601: Line 602:
STATUS_BAR
STATUS_BAR
</td>
</td>
<td>
<td>[OK]
We could use [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_26.html#//apple_ref/doc/uid/TP40001078-CH211-CACGDCAF BusyIndicator] here&nbsp;for indeterminate progress and [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_27.html#//apple_ref/doc/uid/TP40001078-CH211-CACIAHEA ProgressIndicator] for determinate progress
Represented as its individual parts; the status text is text, the progressbar is a ProgressBar, etc.
</td>
</td>
<td>
<td>
Line 615: Line 616:
TABLE, CALENDAR, TREE_TABLE
TABLE, CALENDAR, TREE_TABLE
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_14.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_19 Table]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_14.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_19 Table]
</td>
</td>
Line 629: Line 630:
TEXT, DATE_EDITOR, PASSWORD_TEXT, AUTOCOMPLETE, ENTRY (proposed), PARAGRAPH, HEADING (proposed), HEADER, FOOTER, CAPTION (proposed)
TEXT, DATE_EDITOR, PASSWORD_TEXT, AUTOCOMPLETE, ENTRY (proposed), PARAGRAPH, HEADING (proposed), HEADER, FOOTER, CAPTION (proposed)
</td>
</td>
<td>
<td>[OK]
StaticText, [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_31.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_34 TextField], [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_32.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_35 TextArea] are the actual text widgets. See various text attributes for describing text content. There's also SecureTextField for password boxes.
StaticText, [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_31.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_34 TextField], [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_32.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_35 TextArea] are the actual text widgets. See various text attributes for describing text content. There's also SecureTextField for password boxes.
</td>
</td>
Line 643: Line 644:
add custom role
add custom role
</td>
</td>
<td>
<td>[OK]
title attribute of [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_3.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_9 Window] role
title attribute of [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_3.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_9 Window] role
</td>
</td>
Line 657: Line 658:
TOOL_BAR
TOOL_BAR
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Protocols/NSAccessibility.html#//apple_ref/occ/instm/NSObject/accessibilityParameterizedAttributeNames Toolbar] (see also toolbar button subrole of [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_8.html#//apple_ref/doc/uid/TP40001078-CH211-CACDEHBG Button])
[http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Protocols/NSAccessibility.html#//apple_ref/occ/instm/NSObject/accessibilityParameterizedAttributeNames Toolbar] (see also toolbar button subrole of [http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_8.html#//apple_ref/doc/uid/TP40001078-CH211-CACDEHBG Button])
</td>
</td>
Line 671: Line 672:
TOOL_TIP
TOOL_TIP
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Protocols/NSAccessibility.html#//apple_ref/occ/instm/NSObject/accessibilityParameterizedAttributeNames HelpTag] (same as "Help Balloon")
[http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Protocols/NSAccessibility.html#//apple_ref/occ/instm/NSObject/accessibilityParameterizedAttributeNames HelpTag] (same as "Help Balloon")
</td>
</td>
Line 685: Line 686:
WINDOW
WINDOW
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_3.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_9 Window]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_3.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_9 Window]
</td>
</td>
Line 698: Line 699:
RULER
RULER
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Protocols/NSAccessibility.html#//apple_ref/doc/c_ref/NSAccessibilityMarkerTypeAttribute Ruler], [http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Protocols/NSAccessibility.html#//apple_ref/doc/c_ref/NSAccessibilityMarkerTypeAttribute RulerMarker]
[http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Protocols/NSAccessibility.html#//apple_ref/doc/c_ref/NSAccessibilityMarkerTypeAttribute Ruler], [http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Protocols/NSAccessibility.html#//apple_ref/doc/c_ref/NSAccessibilityMarkerTypeAttribute RulerMarker]
</td>
</td>
Line 705: Line 706:
</td>
</td>
</tr>
</tr>
<tr class="maybe">
<tr>
<td>
<td>
</td>
</td>
Line 712: Line 713:
</td>
</td>
<td>
<td>
Unknown + smart RoleDescription/DescriptionAttribute?
TBD
</td>
</td>
<td>
<td>
Line 718: Line 719:
</td>
</td>
</tr>
</tr>
<tr class="maybe">
<tr class="OK">
<td>
<td>
</td>
</td>
Line 724: Line 725:
EDITBAR
EDITBAR
</td>
</td>
<td>
<td>[OK]
Basically same as textfield, or similar to whatever we'd do for an inline textfield in a table?
Basically same as textfield, or similar to whatever we'd do for an inline textfield in a table?
</td>
</td>
Line 738: Line 739:
</td>
</td>
<td>
<td>
TBD
</td>
</td>
<td>
<td>
Line 743: Line 745:
</td>
</td>
</tr>
</tr>
<tr>
<tr class="OK">
<td>
<td>
</td>
</td>
Line 749: Line 751:
INVALID
INVALID
</td>
</td>
<td>
<td>[OK]
Unknown
</td>
</td>
<td>
<td>
Line 761: Line 764:
UNKNOWN
UNKNOWN
</td>
</td>
<td>
<td>[OK]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_42.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_45 Unknown]
[http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXRoleReference/chapter_7_section_42.html#//apple_ref/doc/uid/TP40001078-CH211-DontLinkElementID_45 Unknown]
</td>
</td>
Line 801: Line 804:
<tr><td colspan="4">q</td></tr>
<tr><td colspan="4">q</td></tr>
<tr><td colspan="4">tbody, thead, tfoot</td></tr>
<tr><td colspan="4">tbody, thead, tfoot</td></tr>
</table>
== 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.
<table border="1">
<tr>
<th>
MSAA 1.3 Role (ROLE_SYSTEM_ *)
</th>
<th>
Closest ATK Role(s) (ATK_ROLE_*)
</th>
<th>
Closest UA Role (NSAccessibility*Role)
</th>
<th>
Description
</th>
</tr>
<tr>
<td>
BORDER
</td>
<td>
don't use
</td>
<td>
don't use
</td>
<td>
Window border as an object
</td>
</tr>
<tr>
<td>
BUTTONDROPDOWN
</td>
<td>
add custom role
</td>
<td>
</td>
<td>
Button that drops down a list of items
</td>
</tr>
<tr>
<td>
BUTTONDROPDOWNGRID
</td>
<td>
add custom role
</td>
<td>
</td>
<td>
Button that drops down a grid
</td>
</tr>
<tr>
<td>
CARET
</td>
<td>
don't use
</td>
<td>
don't use
</td>
<td>
System caret
</td>
</tr>
<tr>
<td>
CHARACTER
</td>
<td>
don't use
</td>
<td>
don't use
</td>
<td>
Paperclip character.
</td>
</tr>
<tr>
<td>
CLOCK
</td>
<td>
add custom role
</td>
<td>
don't use
</td>
<td>
Clock object.
</td>
</tr>
<tr>
<td>
CURSOR
</td>
<td>
don't use
</td>
<td>
don't use
</td>
<td>
Mouse pointer.
</td>
</tr>
<tr>
<td>
DIAL
</td>
<td>
DIAL
</td>
<td>
</td>
<td>
Control with value changes using a rotating visual indicator
</td>
</tr>
<tr>
<td>
ANIMATION
</td>
<td>
ANIMATION
</td>
<td>
</td>
<td>
A dynamic or moving image that changes over time.
</td>
</tr>
<tr>
<td>
HOTKEYFIELD
</td>
<td>
add custom role
</td>
<td>
</td>
<td>
Editable field for assigning keys
</td>
</tr>
<tr>
<td>
INDICATOR
</td>
<td>
ARROW or add custom role
</td>
<td>
</td>
<td>
An indicator is a graphic, like an arrow, used to indicate something. Arrow is a 2D directional indicator.
</td>
</tr>
<tr>
<td>
SOUND
</td>
<td>
IMAGE, ICON, or add custom control
</td>
<td>
</td>
<td>
System sound object.
</td>
</tr>
<tr>
<td>
WHITESPACE
</td>
<td>
FILLER
</td>
<td>
</td>
<td>
Object that takes up space in a user interface.
</td>
</tr>
</table>
</table>

Latest revision as of 13:34, 26 May 2006

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.