Source code

Revision control

Copy as Markdown

Other Tools

/* 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/. */
// clang-format off
/**
* Usage: declare the macro ROLE()with the following arguments:
* ROLE(geckoRole, stringRole, ariaRole, atkRole, macRole, macSubrole, msaaRole, ia2Role, iosIsElement, uiaControlType, nameRule)
*/
ROLE(NOTHING,
"nothing",
nullptr,
ATK_ROLE_UNKNOWN,
NSAccessibilityUnknownRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_CLIENT,
IA2_ROLE_UNKNOWN,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::No,
UIA_CustomControlTypeId,
eNameFromSubtreeIfReqRule)
ROLE(MENUBAR,
"menubar",
nsGkAtoms::menubar,
ATK_ROLE_MENU_BAR,
NSAccessibilityMenuBarRole, //Irrelevant on OS X; the menubar will always be native and on the top of the screen.
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_MENUBAR,
ROLE_SYSTEM_MENUBAR,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_MenuBarControlTypeId,
eNoNameRule)
ROLE(SCROLLBAR,
"scrollbar",
nsGkAtoms::scrollbar,
ATK_ROLE_SCROLL_BAR,
NSAccessibilityScrollBarRole, //We might need to make this its own mozAccessible, to support the children objects (valueindicator, down/up buttons).
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_SCROLLBAR,
ROLE_SYSTEM_SCROLLBAR,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_ScrollBarControlTypeId,
eNameFromValueRule)
ROLE(ALERT,
"alert",
nsGkAtoms::alert,
ATK_ROLE_ALERT,
NSAccessibilityGroupRole,
@"AXApplicationAlert",
ROLE_SYSTEM_ALERT,
ROLE_SYSTEM_ALERT,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_GroupControlTypeId,
eNameFromSubtreeIfReqRule)
ROLE(INTERNAL_FRAME,
"internal frame",
nullptr,
ATK_ROLE_INTERNAL_FRAME,
NSAccessibilityScrollAreaRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_GROUPING,
IA2_ROLE_INTERNAL_FRAME,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_PaneControlTypeId,
eNoNameRule)
ROLE(MENUPOPUP,
"menupopup",
nsGkAtoms::menu,
ATK_ROLE_MENU,
NSAccessibilityMenuRole, //The parent of menuitems.
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_MENUPOPUP,
ROLE_SYSTEM_MENUPOPUP,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_MenuControlTypeId,
eNoNameRule)
ROLE(MENUITEM,
"menuitem",
nsGkAtoms::menuitem,
ATK_ROLE_MENU_ITEM,
NSAccessibilityMenuItemRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_MENUITEM,
ROLE_SYSTEM_MENUITEM,
java::SessionAccessibility::CLASSNAME_MENUITEM,
IsAccessibilityElementRule::Yes,
UIA_MenuItemControlTypeId,
eNameFromSubtreeRule)
ROLE(TOOLTIP,
"tooltip",
nsGkAtoms::tooltip,
ATK_ROLE_TOOL_TIP,
NSAccessibilityGroupRole,
@"AXUserInterfaceTooltip",
ROLE_SYSTEM_TOOLTIP,
ROLE_SYSTEM_TOOLTIP,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::Yes,
UIA_ToolTipControlTypeId,
eNameFromSubtreeRule)
ROLE(APPLICATION,
"application",
nsGkAtoms::application,
ATK_ROLE_EMBEDDED,
NSAccessibilityGroupRole, //Unused on OS X. the system will take care of this.
@"AXLandmarkApplication",
ROLE_SYSTEM_APPLICATION,
ROLE_SYSTEM_APPLICATION,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_PaneControlTypeId,
eNoNameRule)
ROLE(DOCUMENT,
"document",
nsGkAtoms::document,
ATK_ROLE_DOCUMENT_WEB,
@"AXWebArea",
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_DOCUMENT,
ROLE_SYSTEM_DOCUMENT,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_DocumentControlTypeId,
eNoNameRule)
/**
* msaa comment:
* We used to map to ROLE_SYSTEM_PANE, but JAWS would
* not read the accessible name for the contaning pane.
* However, JAWS will read the accessible name for a groupbox.
* By mapping a PANE to a GROUPING, we get no undesirable effects,
* but fortunately JAWS will then read the group's label,
* when an inner control gets focused.
*/
ROLE(PANE,
"pane",
nullptr,
ATK_ROLE_PANEL,
NSAccessibilityGroupRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_GROUPING,
ROLE_SYSTEM_GROUPING,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_PaneControlTypeId,
eNoNameRule)
ROLE(DIALOG,
"dialog",
nsGkAtoms::dialog,
ATK_ROLE_DIALOG,
NSAccessibilityGroupRole, //There's a dialog subrole.
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_DIALOG,
ROLE_SYSTEM_DIALOG,
java::SessionAccessibility::CLASSNAME_DIALOG,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_PaneControlTypeId,
eNoNameRule)
ROLE(GROUPING,
"grouping",
nsGkAtoms::group,
ATK_ROLE_PANEL,
NSAccessibilityGroupRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_GROUPING,
ROLE_SYSTEM_GROUPING,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_GroupControlTypeId,
eNameFromSubtreeIfReqRule)
ROLE(SEPARATOR,
"separator",
nsGkAtoms::separator_,
ATK_ROLE_SEPARATOR,
NSAccessibilitySplitterRole,
@"AXContentSeparator",
ROLE_SYSTEM_SEPARATOR,
ROLE_SYSTEM_SEPARATOR,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::Yes,
UIA_SeparatorControlTypeId,
eNoNameRule)
ROLE(TOOLBAR,
"toolbar",
nsGkAtoms::toolbar,
ATK_ROLE_TOOL_BAR,
NSAccessibilityToolbarRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_TOOLBAR,
ROLE_SYSTEM_TOOLBAR,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_ToolBarControlTypeId,
eNoNameRule)
ROLE(STATUSBAR,
"statusbar",
nsGkAtoms::status,
ATK_ROLE_STATUSBAR,
NSAccessibilityGroupRole,
@"AXApplicationStatus",
ROLE_SYSTEM_STATUSBAR,
ROLE_SYSTEM_STATUSBAR,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_GroupControlTypeId,
eNoNameRule)
ROLE(TABLE,
"table",
nsGkAtoms::table,
ATK_ROLE_TABLE,
NSAccessibilityTableRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_TABLE,
ROLE_SYSTEM_TABLE,
java::SessionAccessibility::CLASSNAME_GRIDVIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_TableControlTypeId,
eNameFromSubtreeIfReqRule)
ROLE(COLUMNHEADER,
"columnheader",
nsGkAtoms::columnheader,
ATK_ROLE_COLUMN_HEADER,
NSAccessibilityCellRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_COLUMNHEADER,
ROLE_SYSTEM_COLUMNHEADER,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_DataItemControlTypeId,
eNameFromSubtreeRule)
ROLE(ROWHEADER,
"rowheader",
nsGkAtoms::rowheader,
ATK_ROLE_ROW_HEADER,
NSAccessibilityCellRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_ROWHEADER,
ROLE_SYSTEM_ROWHEADER,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_HeaderItemControlTypeId,
eNameFromSubtreeRule)
ROLE(ROW,
"row",
nsGkAtoms::row,
ATK_ROLE_TABLE_ROW,
NSAccessibilityRowRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_ROW,
ROLE_SYSTEM_ROW,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_DataItemControlTypeId,
eNameFromSubtreeRule)
ROLE(CELL,
"cell",
nsGkAtoms::cell,
ATK_ROLE_TABLE_CELL,
NSAccessibilityCellRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_CELL,
ROLE_SYSTEM_CELL,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_DataItemControlTypeId,
eNameFromSubtreeIfReqRule)
ROLE(LINK,
"link",
nsGkAtoms::link,
ATK_ROLE_LINK,
NSAccessibilityLinkRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_LINK,
ROLE_SYSTEM_LINK,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfBrokenUp,
UIA_HyperlinkControlTypeId,
eNameFromSubtreeRule)
ROLE(LIST,
"list",
nsGkAtoms::list_,
ATK_ROLE_LIST,
NSAccessibilityListRole,
NSAccessibilityContentListSubrole,
ROLE_SYSTEM_LIST,
ROLE_SYSTEM_LIST,
java::SessionAccessibility::CLASSNAME_LISTVIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_ListControlTypeId,
eNameFromSubtreeIfReqRule)
ROLE(LISTITEM,
"listitem",
nsGkAtoms::listitem,
ATK_ROLE_LIST_ITEM,
NSAccessibilityGroupRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_LISTITEM,
ROLE_SYSTEM_LISTITEM,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_ListItemControlTypeId,
eNameFromSubtreeRule)
ROLE(OUTLINE,
"outline",
nsGkAtoms::tree,
ATK_ROLE_TREE,
NSAccessibilityOutlineRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_OUTLINE,
ROLE_SYSTEM_OUTLINE,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_TreeControlTypeId,
eNoNameRule)
ROLE(OUTLINEITEM,
"outlineitem",
nsGkAtoms::treeitem,
ATK_ROLE_TREE_ITEM,
NSAccessibilityRowRole,
NSAccessibilityOutlineRowSubrole,
ROLE_SYSTEM_OUTLINEITEM,
ROLE_SYSTEM_OUTLINEITEM,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_TreeItemControlTypeId,
eNameFromSubtreeRule)
ROLE(PAGETAB,
"pagetab",
nsGkAtoms::tab,
ATK_ROLE_PAGE_TAB,
NSAccessibilityRadioButtonRole,
@"AXTabButton", // Can be upgraded to NSAccessibilityTabButtonSubrole in 10.13
ROLE_SYSTEM_PAGETAB,
ROLE_SYSTEM_PAGETAB,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::Yes,
UIA_TabItemControlTypeId,
eNameFromSubtreeRule)
ROLE(PROPERTYPAGE,
"propertypage",
nsGkAtoms::tabpanel,
ATK_ROLE_SCROLL_PANE,
NSAccessibilityGroupRole,
@"AXTabPanel",
ROLE_SYSTEM_PROPERTYPAGE,
ROLE_SYSTEM_PROPERTYPAGE,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_PaneControlTypeId,
eNoNameRule)
ROLE(GRAPHIC,
"graphic",
nsGkAtoms::image,
ATK_ROLE_IMAGE,
NSAccessibilityImageRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_GRAPHIC,
ROLE_SYSTEM_GRAPHIC,
java::SessionAccessibility::CLASSNAME_IMAGE,
IsAccessibilityElementRule::Yes,
UIA_ImageControlTypeId,
eNoNameRule)
ROLE(STATICTEXT,
"statictext",
nullptr,
ATK_ROLE_UNKNOWN,
NSAccessibilityStaticTextRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_STATICTEXT,
ROLE_SYSTEM_STATICTEXT,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfParentIsntElementWithName,
UIA_TextControlTypeId,
eNoNameRule)
ROLE(TEXT_LEAF,
"text leaf",
nullptr,
ATK_ROLE_UNKNOWN,
NSAccessibilityStaticTextRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_TEXT,
ROLE_SYSTEM_TEXT,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfParentIsntElementWithName,
UIA_TextControlTypeId,
eNoNameRule)
ROLE(PUSHBUTTON,
"pushbutton",
nsGkAtoms::button,
ATK_ROLE_PUSH_BUTTON,
NSAccessibilityButtonRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_PUSHBUTTON,
ROLE_SYSTEM_PUSHBUTTON,
java::SessionAccessibility::CLASSNAME_BUTTON,
IsAccessibilityElementRule::Yes,
UIA_ButtonControlTypeId,
eNameFromSubtreeRule)
ROLE(CHECKBUTTON,
"checkbutton",
nsGkAtoms::checkbox,
ATK_ROLE_CHECK_BOX,
NSAccessibilityCheckBoxRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_CHECKBUTTON,
ROLE_SYSTEM_CHECKBUTTON,
java::SessionAccessibility::CLASSNAME_CHECKBOX,
IsAccessibilityElementRule::Yes,
UIA_CheckBoxControlTypeId,
eNameFromSubtreeRule)
ROLE(RADIOBUTTON,
"radiobutton",
nsGkAtoms::radio,
ATK_ROLE_RADIO_BUTTON,
NSAccessibilityRadioButtonRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_RADIOBUTTON,
ROLE_SYSTEM_RADIOBUTTON,
java::SessionAccessibility::CLASSNAME_RADIOBUTTON,
IsAccessibilityElementRule::Yes,
UIA_RadioButtonControlTypeId,
eNameFromSubtreeRule)
// Equivalent of HTML select element with size="1". See also EDITCOMBOBOX.
ROLE(COMBOBOX,
"combobox",
nsGkAtoms::combobox,
ATK_ROLE_COMBO_BOX,
NSAccessibilityPopUpButtonRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_COMBOBOX,
ROLE_SYSTEM_COMBOBOX,
java::SessionAccessibility::CLASSNAME_SPINNER,
IsAccessibilityElementRule::Yes,
UIA_ComboBoxControlTypeId,
eNameFromValueRule)
ROLE(PROGRESSBAR,
"progressbar",
nsGkAtoms::progressbar,
ATK_ROLE_PROGRESS_BAR,
NSAccessibilityProgressIndicatorRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_PROGRESSBAR,
ROLE_SYSTEM_PROGRESSBAR,
java::SessionAccessibility::CLASSNAME_PROGRESSBAR,
IsAccessibilityElementRule::Yes,
UIA_ProgressBarControlTypeId,
eNameFromValueRule)
ROLE(SLIDER,
"slider",
nsGkAtoms::slider,
ATK_ROLE_SLIDER,
NSAccessibilitySliderRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_SLIDER,
ROLE_SYSTEM_SLIDER,
java::SessionAccessibility::CLASSNAME_SEEKBAR,
IsAccessibilityElementRule::Yes,
UIA_SliderControlTypeId,
eNameFromValueRule)
ROLE(SPINBUTTON,
"spinbutton",
nsGkAtoms::spinbutton,
ATK_ROLE_SPIN_BUTTON,
NSAccessibilityIncrementorRole, //Subroles: Increment/Decrement.
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_SPINBUTTON,
ROLE_SYSTEM_SPINBUTTON,
java::SessionAccessibility::CLASSNAME_EDITTEXT,
IsAccessibilityElementRule::Yes,
UIA_SpinnerControlTypeId,
eNameFromValueRule)
ROLE(DIAGRAM,
"diagram",
nsGkAtoms::graphicsDocument,
ATK_ROLE_IMAGE,
NSAccessibilityImageRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_DIAGRAM,
ROLE_SYSTEM_DIAGRAM,
java::SessionAccessibility::CLASSNAME_IMAGE,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_ImageControlTypeId,
eNoNameRule)
ROLE(ANIMATION,
"animation",
nsGkAtoms::marquee,
ATK_ROLE_ANIMATION,
NSAccessibilityUnknownRole,
@"AXApplicationMarquee",
ROLE_SYSTEM_ANIMATION,
ROLE_SYSTEM_ANIMATION,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_GroupControlTypeId,
eNoNameRule)
ROLE(BUTTONDROPDOWN,
"buttondropdown",
nullptr,
ATK_ROLE_PUSH_BUTTON,
NSAccessibilityPopUpButtonRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_BUTTONDROPDOWN,
ROLE_SYSTEM_BUTTONDROPDOWN,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::Yes,
UIA_SplitButtonControlTypeId,
eNameFromSubtreeRule)
ROLE(BUTTONMENU,
"buttonmenu",
nsGkAtoms::button,
ATK_ROLE_PUSH_BUTTON,
NSAccessibilityMenuButtonRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_BUTTONMENU,
ROLE_SYSTEM_BUTTONMENU,
java::SessionAccessibility::CLASSNAME_SPINNER,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_ButtonControlTypeId,
eNameFromSubtreeRule)
ROLE(WHITESPACE,
"whitespace",
nullptr,
ATK_ROLE_UNKNOWN,
NSAccessibilityUnknownRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_WHITESPACE,
ROLE_SYSTEM_WHITESPACE,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::No,
UIA_TextControlTypeId,
eNoNameRule)
ROLE(PAGETABLIST,
"pagetablist",
nsGkAtoms::tablist,
ATK_ROLE_PAGE_TAB_LIST,
NSAccessibilityTabGroupRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_PAGETABLIST,
ROLE_SYSTEM_PAGETABLIST,
java::SessionAccessibility::CLASSNAME_TABWIDGET,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_TabControlTypeId,
eNoNameRule)
ROLE(CANVAS,
"canvas",
nullptr,
ATK_ROLE_CANVAS,
NSAccessibilityImageRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_GRAPHIC,
IA2_ROLE_CANVAS,
java::SessionAccessibility::CLASSNAME_IMAGE,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_ImageControlTypeId,
eNoNameRule)
ROLE(CHECK_MENU_ITEM,
"check menu item",
nsGkAtoms::menuitemcheckbox,
ATK_ROLE_CHECK_MENU_ITEM,
NSAccessibilityMenuItemRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_MENUITEM,
IA2_ROLE_CHECK_MENU_ITEM,
java::SessionAccessibility::CLASSNAME_MENUITEM,
IsAccessibilityElementRule::Yes,
UIA_MenuItemControlTypeId,
eNameFromSubtreeRule)
ROLE(DATE_EDITOR,
"date editor",
nullptr,
ATK_ROLE_DATE_EDITOR,
@"AXGroup",
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_GROUPING,
IA2_ROLE_DATE_EDITOR,
java::SessionAccessibility::CLASSNAME_SPINNER,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_GroupControlTypeId,
eNoNameRule)
ROLE(CHROME_WINDOW,
"chrome window",
nullptr,
ATK_ROLE_FRAME,
NSAccessibilityGroupRole, //Contains the main Firefox UI
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_APPLICATION,
IA2_ROLE_FRAME,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_WindowControlTypeId,
eNoNameRule)
ROLE(LABEL,
"label",
nullptr,
ATK_ROLE_LABEL,
NSAccessibilityGroupRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_STATICTEXT,
IA2_ROLE_LABEL,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_GroupControlTypeId,
eNameFromSubtreeRule)
ROLE(PASSWORD_TEXT,
"password text",
nullptr,
ATK_ROLE_PASSWORD_TEXT,
NSAccessibilityTextFieldRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_TEXT,
ROLE_SYSTEM_TEXT,
java::SessionAccessibility::CLASSNAME_EDITTEXT,
IsAccessibilityElementRule::Yes,
UIA_EditControlTypeId,
eNoNameRule)
ROLE(RADIO_MENU_ITEM,
"radio menu item",
nsGkAtoms::menuitemradio,
ATK_ROLE_RADIO_MENU_ITEM,
NSAccessibilityMenuItemRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_MENUITEM,
IA2_ROLE_RADIO_MENU_ITEM,
java::SessionAccessibility::CLASSNAME_MENUITEM,
IsAccessibilityElementRule::Yes,
UIA_MenuItemControlTypeId,
eNameFromSubtreeRule)
ROLE(TEXT_CONTAINER,
"text container",
nsGkAtoms::generic,
ATK_ROLE_SECTION,
NSAccessibilityGroupRole,
NSAccessibilityUnknownSubrole,
ROLE_SYSTEM_GROUPING,
IA2_ROLE_TEXT_FRAME,
java::SessionAccessibility::CLASSNAME_VIEW,
IsAccessibilityElementRule::IfChildlessWithNameAndFocusable,
UIA_GroupControlTypeId,
eNameFromSubtreeIfReqRule)