| Index: content/browser/accessibility/browser_accessibility_cocoa.mm
|
| diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm
|
| index 8285e9da909c4a573d5f8f09094bdaeb8a071ab3..be9ff5b329df1404dec89c851af00ec0b2e8236d 100644
|
| --- a/content/browser/accessibility/browser_accessibility_cocoa.mm
|
| +++ b/content/browser/accessibility/browser_accessibility_cocoa.mm
|
| @@ -40,149 +40,129 @@ NSString* NSStringForStringAttribute(
|
| }
|
|
|
| struct MapEntry {
|
| - AccessibilityNodeData::Role webKitValue;
|
| + WebKit::WebAXRole webKitValue;
|
| NSString* nativeValue;
|
| };
|
|
|
| -typedef std::map<AccessibilityNodeData::Role, NSString*> RoleMap;
|
| +typedef std::map<WebKit::WebAXRole, NSString*> RoleMap;
|
|
|
| // GetState checks the bitmask used in AccessibilityNodeData to check
|
| // if the given state was set on the accessibility object.
|
| -bool GetState(BrowserAccessibility* accessibility, int state) {
|
| +bool GetState(BrowserAccessibility* accessibility, WebKit::WebAXState state) {
|
| return ((accessibility->state() >> state) & 1);
|
| }
|
|
|
| RoleMap BuildRoleMap() {
|
| const MapEntry roles[] = {
|
| - { AccessibilityNodeData::ROLE_ALERT, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_ALERT_DIALOG, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_ANNOTATION, NSAccessibilityUnknownRole },
|
| - { AccessibilityNodeData::ROLE_APPLICATION, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_ARTICLE, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_BROWSER, NSAccessibilityBrowserRole },
|
| - { AccessibilityNodeData::ROLE_BUSY_INDICATOR,
|
| - NSAccessibilityBusyIndicatorRole },
|
| - { AccessibilityNodeData::ROLE_BUTTON, NSAccessibilityButtonRole },
|
| - { AccessibilityNodeData::ROLE_CANVAS, NSAccessibilityImageRole },
|
| - { AccessibilityNodeData::ROLE_CANVAS_WITH_FALLBACK_CONTENT,
|
| - NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_CELL, @"AXCell" },
|
| - { AccessibilityNodeData::ROLE_CHECKBOX, NSAccessibilityCheckBoxRole },
|
| - { AccessibilityNodeData::ROLE_COLOR_WELL, NSAccessibilityColorWellRole },
|
| - { AccessibilityNodeData::ROLE_COMBO_BOX, NSAccessibilityComboBoxRole },
|
| - { AccessibilityNodeData::ROLE_COLUMN, NSAccessibilityColumnRole },
|
| - { AccessibilityNodeData::ROLE_COLUMN_HEADER, @"AXCell" },
|
| - { AccessibilityNodeData::ROLE_DEFINITION, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_DESCRIPTION_LIST_DETAIL,
|
| - NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_DESCRIPTION_LIST_TERM,
|
| - NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_DIALOG, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_DIRECTORY, NSAccessibilityListRole },
|
| - { AccessibilityNodeData::ROLE_DISCLOSURE_TRIANGLE,
|
| - NSAccessibilityDisclosureTriangleRole },
|
| - { AccessibilityNodeData::ROLE_DIV, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_DOCUMENT, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_DRAWER, NSAccessibilityDrawerRole },
|
| - { AccessibilityNodeData::ROLE_EDITABLE_TEXT, NSAccessibilityTextFieldRole },
|
| - { AccessibilityNodeData::ROLE_FOOTER, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_FORM, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_GRID, NSAccessibilityGridRole },
|
| - { AccessibilityNodeData::ROLE_GROUP, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_GROW_AREA, NSAccessibilityGrowAreaRole },
|
| - { AccessibilityNodeData::ROLE_HEADING, @"AXHeading" },
|
| - { AccessibilityNodeData::ROLE_HELP_TAG, NSAccessibilityHelpTagRole },
|
| - { AccessibilityNodeData::ROLE_HORIZONTAL_RULE, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_IGNORED, NSAccessibilityUnknownRole },
|
| - { AccessibilityNodeData::ROLE_IMAGE, NSAccessibilityImageRole },
|
| - { AccessibilityNodeData::ROLE_IMAGE_MAP, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_IMAGE_MAP_LINK, NSAccessibilityLinkRole },
|
| - { AccessibilityNodeData::ROLE_INCREMENTOR, NSAccessibilityIncrementorRole },
|
| - { AccessibilityNodeData::ROLE_LABEL, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_LANDMARK_APPLICATION,
|
| - NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_LANDMARK_BANNER, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_LANDMARK_COMPLEMENTARY,
|
| - NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_LANDMARK_CONTENTINFO,
|
| - NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_LANDMARK_MAIN, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_LANDMARK_NAVIGATION,
|
| - NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_LANDMARK_SEARCH, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_LINK, NSAccessibilityLinkRole },
|
| - { AccessibilityNodeData::ROLE_LIST, NSAccessibilityListRole },
|
| - { AccessibilityNodeData::ROLE_LIST_ITEM, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_LIST_MARKER, @"AXListMarker" },
|
| - { AccessibilityNodeData::ROLE_LISTBOX, NSAccessibilityListRole },
|
| - { AccessibilityNodeData::ROLE_LISTBOX_OPTION,
|
| - NSAccessibilityStaticTextRole },
|
| - { AccessibilityNodeData::ROLE_LOG, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_MARQUEE, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_MATH, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_MATTE, NSAccessibilityMatteRole },
|
| - { AccessibilityNodeData::ROLE_MENU, NSAccessibilityMenuRole },
|
| - { AccessibilityNodeData::ROLE_MENU_BAR, NSAccessibilityMenuBarRole },
|
| - { AccessibilityNodeData::ROLE_MENU_ITEM, NSAccessibilityMenuItemRole },
|
| - { AccessibilityNodeData::ROLE_MENU_BUTTON, NSAccessibilityButtonRole },
|
| - { AccessibilityNodeData::ROLE_MENU_LIST_OPTION,
|
| - NSAccessibilityMenuItemRole },
|
| - { AccessibilityNodeData::ROLE_MENU_LIST_POPUP, NSAccessibilityUnknownRole },
|
| - { AccessibilityNodeData::ROLE_NOTE, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_OUTLINE, NSAccessibilityOutlineRole },
|
| - { AccessibilityNodeData::ROLE_PARAGRAPH, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_POPUP_BUTTON,
|
| - NSAccessibilityPopUpButtonRole },
|
| - { AccessibilityNodeData::ROLE_PRESENTATIONAL, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_PROGRESS_INDICATOR,
|
| - NSAccessibilityProgressIndicatorRole },
|
| - { AccessibilityNodeData::ROLE_RADIO_BUTTON,
|
| - NSAccessibilityRadioButtonRole },
|
| - { AccessibilityNodeData::ROLE_RADIO_GROUP, NSAccessibilityRadioGroupRole },
|
| - { AccessibilityNodeData::ROLE_REGION, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_ROOT_WEB_AREA, @"AXWebArea" },
|
| - { AccessibilityNodeData::ROLE_ROW, NSAccessibilityRowRole },
|
| - { AccessibilityNodeData::ROLE_ROW_HEADER, @"AXCell" },
|
| - { AccessibilityNodeData::ROLE_RULER, NSAccessibilityRulerRole },
|
| - { AccessibilityNodeData::ROLE_RULER_MARKER,
|
| - NSAccessibilityRulerMarkerRole },
|
| + { WebKit::WebAXRoleAlert, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleAlertDialog, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleAnnotation, NSAccessibilityUnknownRole },
|
| + { WebKit::WebAXRoleApplication, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleArticle, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleBrowser, NSAccessibilityBrowserRole },
|
| + { WebKit::WebAXRoleBusyIndicator, NSAccessibilityBusyIndicatorRole },
|
| + { WebKit::WebAXRoleButton, NSAccessibilityButtonRole },
|
| + { WebKit::WebAXRoleCanvas, NSAccessibilityImageRole },
|
| + { WebKit::WebAXRoleCell, @"AXCell" },
|
| + { WebKit::WebAXRoleCheckBox, NSAccessibilityCheckBoxRole },
|
| + { WebKit::WebAXRoleColorWell, NSAccessibilityColorWellRole },
|
| + { WebKit::WebAXRoleComboBox, NSAccessibilityComboBoxRole },
|
| + { WebKit::WebAXRoleColumn, NSAccessibilityColumnRole },
|
| + { WebKit::WebAXRoleColumnHeader, @"AXCell" },
|
| + { WebKit::WebAXRoleDefinition, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleDescriptionListDetail, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleDescriptionListTerm, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleDialog, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleDirectory, NSAccessibilityListRole },
|
| + { WebKit::WebAXRoleDisclosureTriangle,
|
| + NSAccessibilityDisclosureTriangleRole },
|
| + { WebKit::WebAXRoleDiv, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleDocument, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleDrawer, NSAccessibilityDrawerRole },
|
| + { WebKit::WebAXRoleEditableText, NSAccessibilityTextFieldRole },
|
| + { WebKit::WebAXRoleFooter, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleForm, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleGrid, NSAccessibilityGridRole },
|
| + { WebKit::WebAXRoleGroup, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleGrowArea, NSAccessibilityGrowAreaRole },
|
| + { WebKit::WebAXRoleHeading, @"AXHeading" },
|
| + { WebKit::WebAXRoleHelpTag, NSAccessibilityHelpTagRole },
|
| + { WebKit::WebAXRoleHorizontalRule, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleIgnored, NSAccessibilityUnknownRole },
|
| + { WebKit::WebAXRoleImage, NSAccessibilityImageRole },
|
| + { WebKit::WebAXRoleImageMap, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleImageMapLink, NSAccessibilityLinkRole },
|
| + { WebKit::WebAXRoleIncrementor, NSAccessibilityIncrementorRole },
|
| + { WebKit::WebAXRoleLabel, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleApplication, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleBanner, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleComplementary, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleContentInfo, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleMain, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleNavigation, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleSearch, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleLink, NSAccessibilityLinkRole },
|
| + { WebKit::WebAXRoleList, NSAccessibilityListRole },
|
| + { WebKit::WebAXRoleListItem, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleListMarker, @"AXListMarker" },
|
| + { WebKit::WebAXRoleListBox, NSAccessibilityListRole },
|
| + { WebKit::WebAXRoleListBoxOption, NSAccessibilityStaticTextRole },
|
| + { WebKit::WebAXRoleLog, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleMarquee, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleMath, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleMatte, NSAccessibilityMatteRole },
|
| + { WebKit::WebAXRoleMenu, NSAccessibilityMenuRole },
|
| + { WebKit::WebAXRoleMenuBar, NSAccessibilityMenuBarRole },
|
| + { WebKit::WebAXRoleMenuItem, NSAccessibilityMenuItemRole },
|
| + { WebKit::WebAXRoleMenuButton, NSAccessibilityButtonRole },
|
| + { WebKit::WebAXRoleMenuListOption, NSAccessibilityMenuItemRole },
|
| + { WebKit::WebAXRoleMenuListPopup, NSAccessibilityUnknownRole },
|
| + { WebKit::WebAXRoleNote, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleOutline, NSAccessibilityOutlineRole },
|
| + { WebKit::WebAXRoleParagraph, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRolePopUpButton, NSAccessibilityPopUpButtonRole },
|
| + { WebKit::WebAXRolePresentational, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleProgressIndicator,
|
| + NSAccessibilityProgressIndicatorRole },
|
| + { WebKit::WebAXRoleRadioButton, NSAccessibilityRadioButtonRole },
|
| + { WebKit::WebAXRoleRadioGroup, NSAccessibilityRadioGroupRole },
|
| + { WebKit::WebAXRoleRegion, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleRootWebArea, @"AXWebArea" },
|
| + { WebKit::WebAXRoleRow, NSAccessibilityRowRole },
|
| + { WebKit::WebAXRoleRowHeader, @"AXCell" },
|
| + { WebKit::WebAXRoleRuler, NSAccessibilityRulerRole },
|
| + { WebKit::WebAXRoleRulerMarker, NSAccessibilityRulerMarkerRole },
|
| // TODO(dtseng): we don't correctly support the attributes for these roles.
|
| - // { AccessibilityNodeData::ROLE_SCROLLAREA,
|
| - // NSAccessibilityScrollAreaRole },
|
| - { AccessibilityNodeData::ROLE_SCROLLBAR, NSAccessibilityScrollBarRole },
|
| - { AccessibilityNodeData::ROLE_SHEET, NSAccessibilitySheetRole },
|
| - { AccessibilityNodeData::ROLE_SLIDER, NSAccessibilitySliderRole },
|
| - { AccessibilityNodeData::ROLE_SLIDER_THUMB,
|
| - NSAccessibilityValueIndicatorRole },
|
| - { AccessibilityNodeData::ROLE_SPIN_BUTTON, NSAccessibilitySliderRole },
|
| - { AccessibilityNodeData::ROLE_SPLITTER, NSAccessibilitySplitterRole },
|
| - { AccessibilityNodeData::ROLE_SPLIT_GROUP, NSAccessibilitySplitGroupRole },
|
| - { AccessibilityNodeData::ROLE_STATIC_TEXT, NSAccessibilityStaticTextRole },
|
| - { AccessibilityNodeData::ROLE_STATUS, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_SVG_ROOT, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_SYSTEM_WIDE, NSAccessibilityUnknownRole },
|
| - { AccessibilityNodeData::ROLE_TAB, NSAccessibilityRadioButtonRole },
|
| - { AccessibilityNodeData::ROLE_TAB_LIST, NSAccessibilityTabGroupRole },
|
| - { AccessibilityNodeData::ROLE_TAB_PANEL, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_TABLE, NSAccessibilityTableRole },
|
| - { AccessibilityNodeData::ROLE_TABLE_HEADER_CONTAINER,
|
| - NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_TAB_GROUP_UNUSED,
|
| - NSAccessibilityTabGroupRole },
|
| - { AccessibilityNodeData::ROLE_TEXTAREA, NSAccessibilityTextAreaRole },
|
| - { AccessibilityNodeData::ROLE_TEXT_FIELD, NSAccessibilityTextFieldRole },
|
| - { AccessibilityNodeData::ROLE_TIMER, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_TOGGLE_BUTTON, NSAccessibilityButtonRole },
|
| - { AccessibilityNodeData::ROLE_TOOLBAR, NSAccessibilityToolbarRole },
|
| - { AccessibilityNodeData::ROLE_TOOLTIP, NSAccessibilityGroupRole },
|
| - { AccessibilityNodeData::ROLE_TREE, NSAccessibilityOutlineRole },
|
| - { AccessibilityNodeData::ROLE_TREE_GRID, NSAccessibilityTableRole },
|
| - { AccessibilityNodeData::ROLE_TREE_ITEM, NSAccessibilityRowRole },
|
| - { AccessibilityNodeData::ROLE_VALUE_INDICATOR,
|
| - NSAccessibilityValueIndicatorRole },
|
| - { AccessibilityNodeData::ROLE_WEBCORE_LINK, NSAccessibilityLinkRole },
|
| - { AccessibilityNodeData::ROLE_WEB_AREA, @"AXWebArea" },
|
| - { AccessibilityNodeData::ROLE_WINDOW, NSAccessibilityWindowRole },
|
| + // { WebKit::WebAXRoleScrollArea, NSAccessibilityScrollAreaRole },
|
| + { WebKit::WebAXRoleScrollBar, NSAccessibilityScrollBarRole },
|
| + { WebKit::WebAXRoleSheet, NSAccessibilitySheetRole },
|
| + { WebKit::WebAXRoleSlider, NSAccessibilitySliderRole },
|
| + { WebKit::WebAXRoleSliderThumb, NSAccessibilityValueIndicatorRole },
|
| + { WebKit::WebAXRoleSpinButton, NSAccessibilitySliderRole },
|
| + { WebKit::WebAXRoleSplitter, NSAccessibilitySplitterRole },
|
| + { WebKit::WebAXRoleSplitGroup, NSAccessibilitySplitGroupRole },
|
| + { WebKit::WebAXRoleStaticText, NSAccessibilityStaticTextRole },
|
| + { WebKit::WebAXRoleStatus, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleSVGRoot, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleSystemWide, NSAccessibilityUnknownRole },
|
| + { WebKit::WebAXRoleTab, NSAccessibilityRadioButtonRole },
|
| + { WebKit::WebAXRoleTabList, NSAccessibilityTabGroupRole },
|
| + { WebKit::WebAXRoleTabPanel, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleTable, NSAccessibilityTableRole },
|
| + { WebKit::WebAXRoleTableHeaderContainer, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleTextArea, NSAccessibilityTextAreaRole },
|
| + { WebKit::WebAXRoleTextField, NSAccessibilityTextFieldRole },
|
| + { WebKit::WebAXRoleTimer, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleToggleButton, NSAccessibilityButtonRole },
|
| + { WebKit::WebAXRoleToolbar, NSAccessibilityToolbarRole },
|
| + { WebKit::WebAXRoleUserInterfaceTooltip, NSAccessibilityGroupRole },
|
| + { WebKit::WebAXRoleTree, NSAccessibilityOutlineRole },
|
| + { WebKit::WebAXRoleTreeGrid, NSAccessibilityTableRole },
|
| + { WebKit::WebAXRoleTreeItem, NSAccessibilityRowRole },
|
| + { WebKit::WebAXRoleValueIndicator, NSAccessibilityValueIndicatorRole },
|
| + { WebKit::WebAXRoleLink, NSAccessibilityLinkRole },
|
| + { WebKit::WebAXRoleWebArea, @"AXWebArea" },
|
| + { WebKit::WebAXRoleWindow, NSAccessibilityWindowRole },
|
| };
|
|
|
| RoleMap role_map;
|
| @@ -193,7 +173,7 @@ RoleMap BuildRoleMap() {
|
|
|
| // A mapping of webkit roles to native roles.
|
| NSString* NativeRoleFromAccessibilityNodeDataRole(
|
| - const AccessibilityNodeData::Role& role) {
|
| + const WebKit::WebAXRole& role) {
|
| CR_DEFINE_STATIC_LOCAL(RoleMap, web_accessibility_to_native_role,
|
| (BuildRoleMap()));
|
| RoleMap::iterator it = web_accessibility_to_native_role.find(role);
|
| @@ -205,36 +185,32 @@ NSString* NativeRoleFromAccessibilityNodeDataRole(
|
|
|
| RoleMap BuildSubroleMap() {
|
| const MapEntry subroles[] = {
|
| - { AccessibilityNodeData::ROLE_ALERT, @"AXApplicationAlert" },
|
| - { AccessibilityNodeData::ROLE_ALERT_DIALOG, @"AXApplicationAlertDialog" },
|
| - { AccessibilityNodeData::ROLE_ARTICLE, @"AXDocumentArticle" },
|
| - { AccessibilityNodeData::ROLE_DEFINITION, @"AXDefinition" },
|
| - { AccessibilityNodeData::ROLE_DESCRIPTION_LIST_DETAIL, @"AXDescription" },
|
| - { AccessibilityNodeData::ROLE_DESCRIPTION_LIST_TERM, @"AXTerm" },
|
| - { AccessibilityNodeData::ROLE_DIALOG, @"AXApplicationDialog" },
|
| - { AccessibilityNodeData::ROLE_DOCUMENT, @"AXDocument" },
|
| - { AccessibilityNodeData::ROLE_FOOTER, @"AXLandmarkContentInfo" },
|
| - { AccessibilityNodeData::ROLE_LANDMARK_APPLICATION,
|
| - @"AXLandmarkApplication" },
|
| - { AccessibilityNodeData::ROLE_LANDMARK_BANNER, @"AXLandmarkBanner" },
|
| - { AccessibilityNodeData::ROLE_LANDMARK_COMPLEMENTARY,
|
| - @"AXLandmarkComplementary" },
|
| - { AccessibilityNodeData::ROLE_LANDMARK_CONTENTINFO,
|
| - @"AXLandmarkContentInfo" },
|
| - { AccessibilityNodeData::ROLE_LANDMARK_MAIN, @"AXLandmarkMain" },
|
| - { AccessibilityNodeData::ROLE_LANDMARK_NAVIGATION,
|
| - @"AXLandmarkNavigation" },
|
| - { AccessibilityNodeData::ROLE_LANDMARK_SEARCH, @"AXLandmarkSearch" },
|
| - { AccessibilityNodeData::ROLE_LOG, @"AXApplicationLog" },
|
| - { AccessibilityNodeData::ROLE_MARQUEE, @"AXApplicationMarquee" },
|
| - { AccessibilityNodeData::ROLE_MATH, @"AXDocumentMath" },
|
| - { AccessibilityNodeData::ROLE_NOTE, @"AXDocumentNote" },
|
| - { AccessibilityNodeData::ROLE_REGION, @"AXDocumentRegion" },
|
| - { AccessibilityNodeData::ROLE_STATUS, @"AXApplicationStatus" },
|
| - { AccessibilityNodeData::ROLE_TAB_PANEL, @"AXTabPanel" },
|
| - { AccessibilityNodeData::ROLE_TIMER, @"AXApplicationTimer" },
|
| - { AccessibilityNodeData::ROLE_TOOLTIP, @"AXUserInterfaceTooltip" },
|
| - { AccessibilityNodeData::ROLE_TREE_ITEM, NSAccessibilityOutlineRowSubrole },
|
| + { WebKit::WebAXRoleAlert, @"AXApplicationAlert" },
|
| + { WebKit::WebAXRoleAlertDialog, @"AXApplicationAlertDialog" },
|
| + { WebKit::WebAXRoleArticle, @"AXDocumentArticle" },
|
| + { WebKit::WebAXRoleDefinition, @"AXDefinition" },
|
| + { WebKit::WebAXRoleDescriptionListDetail, @"AXDescription" },
|
| + { WebKit::WebAXRoleDescriptionListTerm, @"AXTerm" },
|
| + { WebKit::WebAXRoleDialog, @"AXApplicationDialog" },
|
| + { WebKit::WebAXRoleDocument, @"AXDocument" },
|
| + { WebKit::WebAXRoleFooter, @"AXLandmarkContentInfo" },
|
| + { WebKit::WebAXRoleApplication, @"AXLandmarkApplication" },
|
| + { WebKit::WebAXRoleBanner, @"AXLandmarkBanner" },
|
| + { WebKit::WebAXRoleComplementary, @"AXLandmarkComplementary" },
|
| + { WebKit::WebAXRoleContentInfo, @"AXLandmarkContentInfo" },
|
| + { WebKit::WebAXRoleMain, @"AXLandmarkMain" },
|
| + { WebKit::WebAXRoleNavigation, @"AXLandmarkNavigation" },
|
| + { WebKit::WebAXRoleSearch, @"AXLandmarkSearch" },
|
| + { WebKit::WebAXRoleLog, @"AXApplicationLog" },
|
| + { WebKit::WebAXRoleMarquee, @"AXApplicationMarquee" },
|
| + { WebKit::WebAXRoleMath, @"AXDocumentMath" },
|
| + { WebKit::WebAXRoleNote, @"AXDocumentNote" },
|
| + { WebKit::WebAXRoleRegion, @"AXDocumentRegion" },
|
| + { WebKit::WebAXRoleStatus, @"AXApplicationStatus" },
|
| + { WebKit::WebAXRoleTabPanel, @"AXTabPanel" },
|
| + { WebKit::WebAXRoleTimer, @"AXApplicationTimer" },
|
| + { WebKit::WebAXRoleUserInterfaceTooltip, @"AXUserInterfaceTooltip" },
|
| + { WebKit::WebAXRoleTreeItem, NSAccessibilityOutlineRowSubrole },
|
| };
|
|
|
| RoleMap subrole_map;
|
| @@ -245,7 +221,7 @@ RoleMap BuildSubroleMap() {
|
|
|
| // A mapping of webkit roles to native subroles.
|
| NSString* NativeSubroleFromAccessibilityNodeDataRole(
|
| - const AccessibilityNodeData::Role& role) {
|
| + const WebKit::WebAXRole& role) {
|
| CR_DEFINE_STATIC_LOCAL(RoleMap, web_accessibility_to_native_subrole,
|
| (BuildSubroleMap()));
|
| RoleMap::iterator it = web_accessibility_to_native_subrole.find(role);
|
| @@ -421,8 +397,8 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| }
|
|
|
| - (NSArray*)columnHeaders {
|
| - if ([self internalRole] != AccessibilityNodeData::ROLE_TABLE &&
|
| - [self internalRole] != AccessibilityNodeData::ROLE_GRID) {
|
| + if ([self internalRole] != WebKit::WebAXRoleTable &&
|
| + [self internalRole] != WebKit::WebAXRoleGrid) {
|
| return nil;
|
| }
|
|
|
| @@ -434,14 +410,14 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| int id = uniqueCellIds[i];
|
| BrowserAccessibility* cell =
|
| browserAccessibility_->manager()->GetFromRendererID(id);
|
| - if (cell && cell->role() == AccessibilityNodeData::ROLE_COLUMN_HEADER)
|
| + if (cell && cell->role() == WebKit::WebAXRoleColumnHeader)
|
| [ret addObject:cell->ToBrowserAccessibilityCocoa()];
|
| }
|
| return ret;
|
| }
|
|
|
| - (NSValue*)columnIndexRange {
|
| - if ([self internalRole] != AccessibilityNodeData::ROLE_CELL)
|
| + if ([self internalRole] != WebKit::WebAXRoleCell)
|
| return nil;
|
|
|
| int column = -1;
|
| @@ -499,9 +475,9 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| }
|
|
|
| - (NSNumber*)disclosing {
|
| - if ([self internalRole] == AccessibilityNodeData::ROLE_TREE_ITEM) {
|
| + if ([self internalRole] == WebKit::WebAXRoleTreeItem) {
|
| return [NSNumber numberWithBool:
|
| - GetState(browserAccessibility_, AccessibilityNodeData::STATE_EXPANDED)];
|
| + GetState(browserAccessibility_, WebKit::WebAXStateExpanded)];
|
| } else {
|
| return nil;
|
| }
|
| @@ -514,9 +490,9 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| }
|
|
|
| - (NSNumber*)disclosureLevel {
|
| - AccessibilityNodeData::Role role = [self internalRole];
|
| - if (role == AccessibilityNodeData::ROLE_ROW ||
|
| - role == AccessibilityNodeData::ROLE_TREE_ITEM) {
|
| + WebKit::WebAXRole role = [self internalRole];
|
| + if (role == WebKit::WebAXRoleRow ||
|
| + role == WebKit::WebAXRoleTreeItem) {
|
| int level = browserAccessibility_->GetIntAttribute(
|
| AccessibilityNodeData::ATTR_HIERARCHICAL_LEVEL);
|
| // Mac disclosureLevel is 0-based, but web levels are 1-based.
|
| @@ -535,8 +511,7 @@ NSDictionary* attributeToMethodNameMap = nil;
|
|
|
| - (NSNumber*)enabled {
|
| return [NSNumber numberWithBool:
|
| - !GetState(browserAccessibility_,
|
| - AccessibilityNodeData::STATE_UNAVAILABLE)];
|
| + GetState(browserAccessibility_, WebKit::WebAXStateEnabled)];
|
| }
|
|
|
| - (NSNumber*)focused {
|
| @@ -548,14 +523,14 @@ NSDictionary* attributeToMethodNameMap = nil;
|
|
|
| - (id)header {
|
| int headerElementId = -1;
|
| - if ([self internalRole] == AccessibilityNodeData::ROLE_TABLE ||
|
| - [self internalRole] == AccessibilityNodeData::ROLE_GRID) {
|
| + if ([self internalRole] == WebKit::WebAXRoleTable ||
|
| + [self internalRole] == WebKit::WebAXRoleGrid) {
|
| browserAccessibility_->GetIntAttribute(
|
| AccessibilityNodeData::ATTR_TABLE_HEADER_ID, &headerElementId);
|
| - } else if ([self internalRole] == AccessibilityNodeData::ROLE_COLUMN) {
|
| + } else if ([self internalRole] == WebKit::WebAXRoleColumn) {
|
| browserAccessibility_->GetIntAttribute(
|
| AccessibilityNodeData::ATTR_TABLE_COLUMN_HEADER_ID, &headerElementId);
|
| - } else if ([self internalRole] == AccessibilityNodeData::ROLE_ROW) {
|
| + } else if ([self internalRole] == WebKit::WebAXRoleRow) {
|
| browserAccessibility_->GetIntAttribute(
|
| AccessibilityNodeData::ATTR_TABLE_ROW_HEADER_ID, &headerElementId);
|
| }
|
| @@ -575,11 +550,11 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| }
|
|
|
| - (NSNumber*)index {
|
| - if ([self internalRole] == AccessibilityNodeData::ROLE_COLUMN) {
|
| + if ([self internalRole] == WebKit::WebAXRoleColumn) {
|
| int columnIndex = browserAccessibility_->GetIntAttribute(
|
| AccessibilityNodeData::ATTR_TABLE_COLUMN_INDEX);
|
| return [NSNumber numberWithInt:columnIndex];
|
| - } else if ([self internalRole] == AccessibilityNodeData::ROLE_ROW) {
|
| + } else if ([self internalRole] == WebKit::WebAXRoleRow) {
|
| int rowIndex = browserAccessibility_->GetIntAttribute(
|
| AccessibilityNodeData::ATTR_TABLE_ROW_INDEX);
|
| return [NSNumber numberWithInt:rowIndex];
|
| @@ -631,10 +606,10 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| - (NSString*)orientation {
|
| // We present a spin button as a vertical slider, with a role description
|
| // of "spin button".
|
| - if ([self internalRole] == AccessibilityNodeData::ROLE_SPIN_BUTTON)
|
| + if ([self internalRole] == WebKit::WebAXRoleSpinButton)
|
| return NSAccessibilityVerticalOrientationValue;
|
|
|
| - if (GetState(browserAccessibility_, AccessibilityNodeData::STATE_VERTICAL))
|
| + if (GetState(browserAccessibility_, WebKit::WebAXStateVertical))
|
| return NSAccessibilityVerticalOrientationValue;
|
| else
|
| return NSAccessibilityHorizontalOrientationValue;
|
| @@ -672,18 +647,23 @@ NSDictionary* attributeToMethodNameMap = nil;
|
|
|
| - (NSNumber*)required {
|
| return [NSNumber numberWithBool:
|
| - GetState(browserAccessibility_, AccessibilityNodeData::STATE_REQUIRED)];
|
| + GetState(browserAccessibility_, WebKit::WebAXStateRequired)];
|
| }
|
|
|
| // Returns an enum indicating the role from browserAccessibility_.
|
| -- (AccessibilityNodeData::Role)internalRole {
|
| - return static_cast<AccessibilityNodeData::Role>(
|
| - browserAccessibility_->role());
|
| +- (WebKit::WebAXRole)internalRole {
|
| + return static_cast<WebKit::WebAXRole>(browserAccessibility_->role());
|
| }
|
|
|
| // Returns a string indicating the NSAccessibility role of this object.
|
| - (NSString*)role {
|
| - return NativeRoleFromAccessibilityNodeDataRole([self internalRole]);
|
| + WebKit::WebAXRole role = [self internalRole];
|
| + if (role == WebKit::WebAXRoleCanvas &&
|
| + browserAccessibility_->GetBoolAttribute(
|
| + AccessibilityNodeData::ATTR_CANVAS_HAS_FALLBACK)) {
|
| + return NSAccessibilityGroupRole;
|
| + }
|
| + return NativeRoleFromAccessibilityNodeDataRole(role);
|
| }
|
|
|
| // Returns a string indicating the role description of this object.
|
| @@ -712,11 +692,10 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| [role isEqualToString:NSAccessibilityRadioButtonRole]) {
|
| std::string role;
|
| if (browserAccessibility_->GetHtmlAttribute("role", &role)) {
|
| - AccessibilityNodeData::Role internalRole =
|
| - [self internalRole];
|
| - if ((internalRole != AccessibilityNodeData::ROLE_GROUP &&
|
| - internalRole != AccessibilityNodeData::ROLE_LIST_ITEM) ||
|
| - internalRole == AccessibilityNodeData::ROLE_TAB) {
|
| + WebKit::WebAXRole internalRole = [self internalRole];
|
| + if ((internalRole != WebKit::WebAXRoleGroup &&
|
| + internalRole != WebKit::WebAXRoleListItem) ||
|
| + internalRole == WebKit::WebAXRoleTab) {
|
| // TODO(dtseng): This is not localized; see crbug/84814.
|
| return base::SysUTF8ToNSString(role);
|
| }
|
| @@ -724,10 +703,10 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| }
|
|
|
| switch([self internalRole]) {
|
| - case AccessibilityNodeData::ROLE_FOOTER:
|
| + case WebKit::WebAXRoleFooter:
|
| return base::SysUTF16ToNSString(content_client->GetLocalizedString(
|
| IDS_AX_ROLE_FOOTER));
|
| - case AccessibilityNodeData::ROLE_SPIN_BUTTON:
|
| + case WebKit::WebAXRoleSpinButton:
|
| // This control is similar to what VoiceOver calls a "stepper".
|
| return base::SysUTF16ToNSString(content_client->GetLocalizedString(
|
| IDS_AX_ROLE_STEPPER));
|
| @@ -739,8 +718,8 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| }
|
|
|
| - (NSArray*)rowHeaders {
|
| - if ([self internalRole] != AccessibilityNodeData::ROLE_TABLE &&
|
| - [self internalRole] != AccessibilityNodeData::ROLE_GRID) {
|
| + if ([self internalRole] != WebKit::WebAXRoleTable &&
|
| + [self internalRole] != WebKit::WebAXRoleGrid) {
|
| return nil;
|
| }
|
|
|
| @@ -752,14 +731,14 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| int id = uniqueCellIds[i];
|
| BrowserAccessibility* cell =
|
| browserAccessibility_->manager()->GetFromRendererID(id);
|
| - if (cell && cell->role() == AccessibilityNodeData::ROLE_ROW_HEADER)
|
| + if (cell && cell->role() == WebKit::WebAXRoleRowHeader)
|
| [ret addObject:cell->ToBrowserAccessibilityCocoa()];
|
| }
|
| return ret;
|
| }
|
|
|
| - (NSValue*)rowIndexRange {
|
| - if ([self internalRole] != AccessibilityNodeData::ROLE_CELL)
|
| + if ([self internalRole] != WebKit::WebAXRoleCell)
|
| return nil;
|
|
|
| int row = -1;
|
| @@ -776,13 +755,13 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| - (NSArray*)rows {
|
| NSMutableArray* ret = [[[NSMutableArray alloc] init] autorelease];
|
|
|
| - if ([self internalRole] == AccessibilityNodeData::ROLE_TABLE||
|
| - [self internalRole] == AccessibilityNodeData::ROLE_GRID) {
|
| + if ([self internalRole] == WebKit::WebAXRoleTable||
|
| + [self internalRole] == WebKit::WebAXRoleGrid) {
|
| for (BrowserAccessibilityCocoa* child in [self children]) {
|
| if ([[child role] isEqualToString:NSAccessibilityRowRole])
|
| [ret addObject:child];
|
| }
|
| - } else if ([self internalRole] == AccessibilityNodeData::ROLE_COLUMN) {
|
| + } else if ([self internalRole] == WebKit::WebAXRoleColumn) {
|
| const std::vector<int32>& indirectChildIds =
|
| browserAccessibility_->GetIntListAttribute(
|
| AccessibilityNodeData::ATTR_INDIRECT_CHILD_IDS);
|
| @@ -806,16 +785,16 @@ NSDictionary* attributeToMethodNameMap = nil;
|
|
|
| // Returns a subrole based upon the role.
|
| - (NSString*) subrole {
|
| - AccessibilityNodeData::Role browserAccessibilityRole = [self internalRole];
|
| - if (browserAccessibilityRole == AccessibilityNodeData::ROLE_TEXT_FIELD &&
|
| - GetState(browserAccessibility_, AccessibilityNodeData::STATE_PROTECTED)) {
|
| + WebKit::WebAXRole browserAccessibilityRole = [self internalRole];
|
| + if (browserAccessibilityRole == WebKit::WebAXRoleTextField &&
|
| + GetState(browserAccessibility_, WebKit::WebAXStateProtected)) {
|
| return @"AXSecureTextField";
|
| }
|
|
|
| NSString* htmlTag = NSStringForStringAttribute(
|
| browserAccessibility_, AccessibilityNodeData::ATTR_HTML_TAG);
|
|
|
| - if (browserAccessibilityRole == AccessibilityNodeData::ROLE_LIST) {
|
| + if (browserAccessibilityRole == WebKit::WebAXRoleList) {
|
| if ([htmlTag isEqualToString:@"ul"] ||
|
| [htmlTag isEqualToString:@"ol"]) {
|
| return @"AXContentList";
|
| @@ -831,7 +810,7 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| - (NSArray*)tabs {
|
| NSMutableArray* tabSubtree = [[[NSMutableArray alloc] init] autorelease];
|
|
|
| - if ([self internalRole] == AccessibilityNodeData::ROLE_TAB)
|
| + if ([self internalRole] == WebKit::WebAXRoleTab)
|
| [tabSubtree addObject:self];
|
|
|
| for (uint i=0; i < [[self children] count]; ++i) {
|
| @@ -886,9 +865,9 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| [role isEqualToString:NSAccessibilityRadioButtonRole]) {
|
| int value = 0;
|
| value = GetState(
|
| - browserAccessibility_, AccessibilityNodeData::STATE_CHECKED) ? 1 : 0;
|
| + browserAccessibility_, WebKit::WebAXStateChecked) ? 1 : 0;
|
| value = GetState(
|
| - browserAccessibility_, AccessibilityNodeData::STATE_SELECTED) ?
|
| + browserAccessibility_, WebKit::WebAXStateSelected) ?
|
| 1 :
|
| value;
|
|
|
| @@ -956,7 +935,7 @@ NSDictionary* attributeToMethodNameMap = nil;
|
|
|
| - (NSNumber*)visited {
|
| return [NSNumber numberWithBool:
|
| - GetState(browserAccessibility_, AccessibilityNodeData::STATE_TRAVERSED)];
|
| + GetState(browserAccessibility_, WebKit::WebAXStateVisited)];
|
| }
|
|
|
| - (id)window {
|
| @@ -1054,8 +1033,8 @@ NSDictionary* attributeToMethodNameMap = nil;
|
|
|
| if ([attribute isEqualToString:
|
| NSAccessibilityCellForColumnAndRowParameterizedAttribute]) {
|
| - if ([self internalRole] != AccessibilityNodeData::ROLE_TABLE &&
|
| - [self internalRole] != AccessibilityNodeData::ROLE_GRID) {
|
| + if ([self internalRole] != WebKit::WebAXRoleTable &&
|
| + [self internalRole] != WebKit::WebAXRoleGrid) {
|
| return nil;
|
| }
|
| if (![parameter isKindOfClass:[NSArray self]])
|
| @@ -1075,7 +1054,7 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| i < browserAccessibility_->child_count();
|
| ++i) {
|
| BrowserAccessibility* child = browserAccessibility_->GetChild(i);
|
| - if (child->role() != AccessibilityNodeData::ROLE_ROW)
|
| + if (child->role() != WebKit::WebAXRoleRow)
|
| continue;
|
| int rowIndex;
|
| if (!child->GetIntAttribute(
|
| @@ -1090,7 +1069,7 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| j < child->child_count();
|
| ++j) {
|
| BrowserAccessibility* cell = child->GetChild(j);
|
| - if (cell->role() != AccessibilityNodeData::ROLE_CELL)
|
| + if (cell->role() != WebKit::WebAXRoleCell)
|
| continue;
|
| int colIndex;
|
| if (!cell->GetIntAttribute(
|
| @@ -1363,7 +1342,7 @@ NSDictionary* attributeToMethodNameMap = nil;
|
|
|
| if ([attribute isEqualToString:NSAccessibilityFocusedAttribute])
|
| return GetState(browserAccessibility_,
|
| - AccessibilityNodeData::STATE_FOCUSABLE);
|
| + WebKit::WebAXStateFocusable);
|
| if ([attribute isEqualToString:NSAccessibilityValueAttribute]) {
|
| return browserAccessibility_->GetBoolAttribute(
|
| AccessibilityNodeData::ATTR_CAN_SET_VALUE);
|
|
|