| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <execinfo.h> | 5 #include <execinfo.h> |
| 6 | 6 |
| 7 #import "content/browser/accessibility/browser_accessibility_cocoa.h" | 7 #import "content/browser/accessibility/browser_accessibility_cocoa.h" |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 | 10 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 const MapEntry roles[] = { | 57 const MapEntry roles[] = { |
| 58 { AccessibilityNodeData::ROLE_ALERT, NSAccessibilityGroupRole }, | 58 { AccessibilityNodeData::ROLE_ALERT, NSAccessibilityGroupRole }, |
| 59 { AccessibilityNodeData::ROLE_ALERT_DIALOG, NSAccessibilityGroupRole }, | 59 { AccessibilityNodeData::ROLE_ALERT_DIALOG, NSAccessibilityGroupRole }, |
| 60 { AccessibilityNodeData::ROLE_ANNOTATION, NSAccessibilityUnknownRole }, | 60 { AccessibilityNodeData::ROLE_ANNOTATION, NSAccessibilityUnknownRole }, |
| 61 { AccessibilityNodeData::ROLE_APPLICATION, NSAccessibilityGroupRole }, | 61 { AccessibilityNodeData::ROLE_APPLICATION, NSAccessibilityGroupRole }, |
| 62 { AccessibilityNodeData::ROLE_ARTICLE, NSAccessibilityGroupRole }, | 62 { AccessibilityNodeData::ROLE_ARTICLE, NSAccessibilityGroupRole }, |
| 63 { AccessibilityNodeData::ROLE_BROWSER, NSAccessibilityBrowserRole }, | 63 { AccessibilityNodeData::ROLE_BROWSER, NSAccessibilityBrowserRole }, |
| 64 { AccessibilityNodeData::ROLE_BUSY_INDICATOR, | 64 { AccessibilityNodeData::ROLE_BUSY_INDICATOR, |
| 65 NSAccessibilityBusyIndicatorRole }, | 65 NSAccessibilityBusyIndicatorRole }, |
| 66 { AccessibilityNodeData::ROLE_BUTTON, NSAccessibilityButtonRole }, | 66 { AccessibilityNodeData::ROLE_BUTTON, NSAccessibilityButtonRole }, |
| 67 { AccessibilityNodeData::ROLE_CANVAS, NSAccessibilityImageRole }, |
| 68 { AccessibilityNodeData::ROLE_CANVAS_WITH_FALLBACK_CONTENT, |
| 69 NSAccessibilityGroupRole }, |
| 67 { AccessibilityNodeData::ROLE_CELL, @"AXCell" }, | 70 { AccessibilityNodeData::ROLE_CELL, @"AXCell" }, |
| 68 { AccessibilityNodeData::ROLE_CHECKBOX, NSAccessibilityCheckBoxRole }, | 71 { AccessibilityNodeData::ROLE_CHECKBOX, NSAccessibilityCheckBoxRole }, |
| 69 { AccessibilityNodeData::ROLE_COLOR_WELL, NSAccessibilityColorWellRole }, | 72 { AccessibilityNodeData::ROLE_COLOR_WELL, NSAccessibilityColorWellRole }, |
| 70 { AccessibilityNodeData::ROLE_COLUMN, NSAccessibilityColumnRole }, | 73 { AccessibilityNodeData::ROLE_COLUMN, NSAccessibilityColumnRole }, |
| 71 { AccessibilityNodeData::ROLE_COLUMN_HEADER, @"AXCell" }, | 74 { AccessibilityNodeData::ROLE_COLUMN_HEADER, @"AXCell" }, |
| 72 { AccessibilityNodeData::ROLE_DEFINITION_LIST_DEFINITION, | 75 { AccessibilityNodeData::ROLE_DEFINITION_LIST_DEFINITION, |
| 73 NSAccessibilityGroupRole }, | 76 NSAccessibilityGroupRole }, |
| 74 { AccessibilityNodeData::ROLE_DEFINITION_LIST_TERM, | 77 { AccessibilityNodeData::ROLE_DEFINITION_LIST_TERM, |
| 75 NSAccessibilityGroupRole }, | 78 NSAccessibilityGroupRole }, |
| 76 { AccessibilityNodeData::ROLE_DIALOG, NSAccessibilityGroupRole }, | 79 { AccessibilityNodeData::ROLE_DIALOG, NSAccessibilityGroupRole }, |
| 77 { AccessibilityNodeData::ROLE_DIRECTORY, NSAccessibilityListRole }, | 80 { AccessibilityNodeData::ROLE_DIRECTORY, NSAccessibilityListRole }, |
| 78 { AccessibilityNodeData::ROLE_DISCLOSURE_TRIANGLE, | 81 { AccessibilityNodeData::ROLE_DISCLOSURE_TRIANGLE, |
| 79 NSAccessibilityDisclosureTriangleRole }, | 82 NSAccessibilityDisclosureTriangleRole }, |
| 80 { AccessibilityNodeData::ROLE_DOCUMENT, NSAccessibilityGroupRole }, | 83 { AccessibilityNodeData::ROLE_DOCUMENT, NSAccessibilityGroupRole }, |
| 81 { AccessibilityNodeData::ROLE_DRAWER, NSAccessibilityDrawerRole }, | 84 { AccessibilityNodeData::ROLE_DRAWER, NSAccessibilityDrawerRole }, |
| 82 { AccessibilityNodeData::ROLE_EDITABLE_TEXT, NSAccessibilityTextFieldRole }, | 85 { AccessibilityNodeData::ROLE_EDITABLE_TEXT, NSAccessibilityTextFieldRole }, |
| 83 { AccessibilityNodeData::ROLE_FOOTER, NSAccessibilityGroupRole }, | 86 { AccessibilityNodeData::ROLE_FOOTER, NSAccessibilityGroupRole }, |
| 87 { AccessibilityNodeData::ROLE_FORM, NSAccessibilityGroupRole }, |
| 84 { AccessibilityNodeData::ROLE_GRID, NSAccessibilityGridRole }, | 88 { AccessibilityNodeData::ROLE_GRID, NSAccessibilityGridRole }, |
| 85 { AccessibilityNodeData::ROLE_GROUP, NSAccessibilityGroupRole }, | 89 { AccessibilityNodeData::ROLE_GROUP, NSAccessibilityGroupRole }, |
| 86 { AccessibilityNodeData::ROLE_GROW_AREA, NSAccessibilityGrowAreaRole }, | 90 { AccessibilityNodeData::ROLE_GROW_AREA, NSAccessibilityGrowAreaRole }, |
| 87 { AccessibilityNodeData::ROLE_HEADING, @"AXHeading" }, | 91 { AccessibilityNodeData::ROLE_HEADING, @"AXHeading" }, |
| 88 { AccessibilityNodeData::ROLE_HELP_TAG, NSAccessibilityHelpTagRole }, | 92 { AccessibilityNodeData::ROLE_HELP_TAG, NSAccessibilityHelpTagRole }, |
| 93 { AccessibilityNodeData::ROLE_HORIZONTAL_RULE, NSAccessibilityGroupRole }, |
| 89 { AccessibilityNodeData::ROLE_IGNORED, NSAccessibilityUnknownRole }, | 94 { AccessibilityNodeData::ROLE_IGNORED, NSAccessibilityUnknownRole }, |
| 90 { AccessibilityNodeData::ROLE_IMAGE, NSAccessibilityImageRole }, | 95 { AccessibilityNodeData::ROLE_IMAGE, NSAccessibilityImageRole }, |
| 91 { AccessibilityNodeData::ROLE_IMAGE_MAP, NSAccessibilityGroupRole }, | 96 { AccessibilityNodeData::ROLE_IMAGE_MAP, NSAccessibilityGroupRole }, |
| 92 { AccessibilityNodeData::ROLE_IMAGE_MAP_LINK, NSAccessibilityLinkRole }, | 97 { AccessibilityNodeData::ROLE_IMAGE_MAP_LINK, NSAccessibilityLinkRole }, |
| 93 { AccessibilityNodeData::ROLE_INCREMENTOR, NSAccessibilityIncrementorRole }, | 98 { AccessibilityNodeData::ROLE_INCREMENTOR, NSAccessibilityIncrementorRole }, |
| 99 { AccessibilityNodeData::ROLE_LABEL, NSAccessibilityGroupRole }, |
| 94 { AccessibilityNodeData::ROLE_LANDMARK_APPLICATION, | 100 { AccessibilityNodeData::ROLE_LANDMARK_APPLICATION, |
| 95 NSAccessibilityGroupRole }, | 101 NSAccessibilityGroupRole }, |
| 96 { AccessibilityNodeData::ROLE_LANDMARK_BANNER, NSAccessibilityGroupRole }, | 102 { AccessibilityNodeData::ROLE_LANDMARK_BANNER, NSAccessibilityGroupRole }, |
| 97 { AccessibilityNodeData::ROLE_LANDMARK_COMPLEMENTARY, | 103 { AccessibilityNodeData::ROLE_LANDMARK_COMPLEMENTARY, |
| 98 NSAccessibilityGroupRole }, | 104 NSAccessibilityGroupRole }, |
| 99 { AccessibilityNodeData::ROLE_LANDMARK_CONTENTINFO, | 105 { AccessibilityNodeData::ROLE_LANDMARK_CONTENTINFO, |
| 100 NSAccessibilityGroupRole }, | 106 NSAccessibilityGroupRole }, |
| 101 { AccessibilityNodeData::ROLE_LANDMARK_MAIN, NSAccessibilityGroupRole }, | 107 { AccessibilityNodeData::ROLE_LANDMARK_MAIN, NSAccessibilityGroupRole }, |
| 102 { AccessibilityNodeData::ROLE_LANDMARK_NAVIGATION, | 108 { AccessibilityNodeData::ROLE_LANDMARK_NAVIGATION, |
| 103 NSAccessibilityGroupRole }, | 109 NSAccessibilityGroupRole }, |
| 104 { AccessibilityNodeData::ROLE_LANDMARK_SEARCH, NSAccessibilityGroupRole }, | 110 { AccessibilityNodeData::ROLE_LANDMARK_SEARCH, NSAccessibilityGroupRole }, |
| 105 { AccessibilityNodeData::ROLE_LINK, NSAccessibilityLinkRole }, | 111 { AccessibilityNodeData::ROLE_LINK, NSAccessibilityLinkRole }, |
| 106 { AccessibilityNodeData::ROLE_LIST, NSAccessibilityListRole }, | 112 { AccessibilityNodeData::ROLE_LIST, NSAccessibilityListRole }, |
| 107 { AccessibilityNodeData::ROLE_LIST_ITEM, NSAccessibilityGroupRole }, | 113 { AccessibilityNodeData::ROLE_LIST_ITEM, NSAccessibilityGroupRole }, |
| 108 { AccessibilityNodeData::ROLE_LIST_MARKER, @"AXListMarker" }, | 114 { AccessibilityNodeData::ROLE_LIST_MARKER, @"AXListMarker" }, |
| 109 { AccessibilityNodeData::ROLE_LISTBOX, NSAccessibilityListRole }, | 115 { AccessibilityNodeData::ROLE_LISTBOX, NSAccessibilityListRole }, |
| 110 { AccessibilityNodeData::ROLE_LISTBOX_OPTION, NSAccessibilityGroupRole }, | 116 { AccessibilityNodeData::ROLE_LISTBOX_OPTION, NSAccessibilityGroupRole }, |
| 111 { AccessibilityNodeData::ROLE_LOG, NSAccessibilityGroupRole }, | 117 { AccessibilityNodeData::ROLE_LOG, NSAccessibilityGroupRole }, |
| 112 { AccessibilityNodeData::ROLE_MARQUEE, NSAccessibilityGroupRole }, | 118 { AccessibilityNodeData::ROLE_MARQUEE, NSAccessibilityGroupRole }, |
| 113 { AccessibilityNodeData::ROLE_MATH, NSAccessibilityGroupRole }, | 119 { AccessibilityNodeData::ROLE_MATH, NSAccessibilityGroupRole }, |
| 114 { AccessibilityNodeData::ROLE_MATTE, NSAccessibilityMatteRole }, | 120 { AccessibilityNodeData::ROLE_MATTE, NSAccessibilityMatteRole }, |
| 115 { AccessibilityNodeData::ROLE_MENU, NSAccessibilityMenuRole }, | 121 { AccessibilityNodeData::ROLE_MENU, NSAccessibilityMenuRole }, |
| 116 { AccessibilityNodeData::ROLE_MENU_ITEM, NSAccessibilityMenuItemRole }, | 122 { AccessibilityNodeData::ROLE_MENU_ITEM, NSAccessibilityMenuItemRole }, |
| 117 { AccessibilityNodeData::ROLE_MENU_BUTTON, NSAccessibilityButtonRole }, | 123 { AccessibilityNodeData::ROLE_MENU_BUTTON, NSAccessibilityButtonRole }, |
| 118 { AccessibilityNodeData::ROLE_MENU_LIST_OPTION, | 124 { AccessibilityNodeData::ROLE_MENU_LIST_OPTION, |
| 119 NSAccessibilityMenuItemRole }, | 125 NSAccessibilityMenuItemRole }, |
| 120 { AccessibilityNodeData::ROLE_MENU_LIST_POPUP, NSAccessibilityUnknownRole }, | 126 { AccessibilityNodeData::ROLE_MENU_LIST_POPUP, NSAccessibilityUnknownRole }, |
| 121 { AccessibilityNodeData::ROLE_NOTE, NSAccessibilityGroupRole }, | 127 { AccessibilityNodeData::ROLE_NOTE, NSAccessibilityGroupRole }, |
| 122 { AccessibilityNodeData::ROLE_OUTLINE, NSAccessibilityOutlineRole }, | 128 { AccessibilityNodeData::ROLE_OUTLINE, NSAccessibilityOutlineRole }, |
| 129 { AccessibilityNodeData::ROLE_PARAGRAPH, NSAccessibilityGroupRole }, |
| 123 { AccessibilityNodeData::ROLE_POPUP_BUTTON, | 130 { AccessibilityNodeData::ROLE_POPUP_BUTTON, |
| 124 NSAccessibilityPopUpButtonRole }, | 131 NSAccessibilityPopUpButtonRole }, |
| 132 { AccessibilityNodeData::ROLE_PRESENTATIONAL, NSAccessibilityGroupRole }, |
| 125 { AccessibilityNodeData::ROLE_PROGRESS_INDICATOR, | 133 { AccessibilityNodeData::ROLE_PROGRESS_INDICATOR, |
| 126 NSAccessibilityProgressIndicatorRole }, | 134 NSAccessibilityProgressIndicatorRole }, |
| 127 { AccessibilityNodeData::ROLE_RADIO_BUTTON, | 135 { AccessibilityNodeData::ROLE_RADIO_BUTTON, |
| 128 NSAccessibilityRadioButtonRole }, | 136 NSAccessibilityRadioButtonRole }, |
| 129 { AccessibilityNodeData::ROLE_RADIO_GROUP, NSAccessibilityRadioGroupRole }, | 137 { AccessibilityNodeData::ROLE_RADIO_GROUP, NSAccessibilityRadioGroupRole }, |
| 130 { AccessibilityNodeData::ROLE_REGION, NSAccessibilityGroupRole }, | 138 { AccessibilityNodeData::ROLE_REGION, NSAccessibilityGroupRole }, |
| 131 { AccessibilityNodeData::ROLE_ROOT_WEB_AREA, @"AXWebArea" }, | 139 { AccessibilityNodeData::ROLE_ROOT_WEB_AREA, @"AXWebArea" }, |
| 132 { AccessibilityNodeData::ROLE_ROW, NSAccessibilityRowRole }, | 140 { AccessibilityNodeData::ROLE_ROW, NSAccessibilityRowRole }, |
| 133 { AccessibilityNodeData::ROLE_ROW_HEADER, @"AXCell" }, | 141 { AccessibilityNodeData::ROLE_ROW_HEADER, @"AXCell" }, |
| 134 { AccessibilityNodeData::ROLE_RULER, NSAccessibilityRulerRole }, | 142 { AccessibilityNodeData::ROLE_RULER, NSAccessibilityRulerRole }, |
| 135 { AccessibilityNodeData::ROLE_RULER_MARKER, | 143 { AccessibilityNodeData::ROLE_RULER_MARKER, |
| 136 NSAccessibilityRulerMarkerRole }, | 144 NSAccessibilityRulerMarkerRole }, |
| 137 // TODO(dtseng): we don't correctly support the attributes for these roles. | 145 // TODO(dtseng): we don't correctly support the attributes for these roles. |
| 138 // { AccessibilityNodeData::ROLE_SCROLLAREA, | 146 // { AccessibilityNodeData::ROLE_SCROLLAREA, |
| 139 // NSAccessibilityScrollAreaRole }, | 147 // NSAccessibilityScrollAreaRole }, |
| 140 // { AccessibilityNodeData::ROLE_SCROLLBAR, NSAccessibilityScrollBarRole }, | 148 // { AccessibilityNodeData::ROLE_SCROLLBAR, NSAccessibilityScrollBarRole }, |
| 141 { AccessibilityNodeData::ROLE_SHEET, NSAccessibilitySheetRole }, | 149 { AccessibilityNodeData::ROLE_SHEET, NSAccessibilitySheetRole }, |
| 142 { AccessibilityNodeData::ROLE_SLIDER, NSAccessibilitySliderRole }, | 150 { AccessibilityNodeData::ROLE_SLIDER, NSAccessibilitySliderRole }, |
| 143 { AccessibilityNodeData::ROLE_SLIDER_THUMB, NSAccessibilityGroupRole }, | 151 { AccessibilityNodeData::ROLE_SLIDER_THUMB, NSAccessibilityGroupRole }, |
| 152 { AccessibilityNodeData::ROLE_SPIN_BUTTON, NSAccessibilityTextFieldRole }, |
| 144 { AccessibilityNodeData::ROLE_SPLITTER, NSAccessibilitySplitterRole }, | 153 { AccessibilityNodeData::ROLE_SPLITTER, NSAccessibilitySplitterRole }, |
| 145 { AccessibilityNodeData::ROLE_SPLIT_GROUP, NSAccessibilitySplitGroupRole }, | 154 { AccessibilityNodeData::ROLE_SPLIT_GROUP, NSAccessibilitySplitGroupRole }, |
| 146 { AccessibilityNodeData::ROLE_STATIC_TEXT, NSAccessibilityStaticTextRole }, | 155 { AccessibilityNodeData::ROLE_STATIC_TEXT, NSAccessibilityStaticTextRole }, |
| 147 { AccessibilityNodeData::ROLE_STATUS, NSAccessibilityGroupRole }, | 156 { AccessibilityNodeData::ROLE_STATUS, NSAccessibilityGroupRole }, |
| 148 { AccessibilityNodeData::ROLE_SYSTEM_WIDE, NSAccessibilityUnknownRole }, | 157 { AccessibilityNodeData::ROLE_SYSTEM_WIDE, NSAccessibilityUnknownRole }, |
| 149 { AccessibilityNodeData::ROLE_TAB, NSAccessibilityRadioButtonRole }, | 158 { AccessibilityNodeData::ROLE_TAB, NSAccessibilityRadioButtonRole }, |
| 150 { AccessibilityNodeData::ROLE_TAB_LIST, NSAccessibilityTabGroupRole }, | 159 { AccessibilityNodeData::ROLE_TAB_LIST, NSAccessibilityTabGroupRole }, |
| 151 { AccessibilityNodeData::ROLE_TAB_PANEL, NSAccessibilityGroupRole }, | 160 { AccessibilityNodeData::ROLE_TAB_PANEL, NSAccessibilityGroupRole }, |
| 152 { AccessibilityNodeData::ROLE_TABLE, NSAccessibilityTableRole }, | 161 { AccessibilityNodeData::ROLE_TABLE, NSAccessibilityTableRole }, |
| 153 { AccessibilityNodeData::ROLE_TABLE_HEADER_CONTAINER, | 162 { AccessibilityNodeData::ROLE_TABLE_HEADER_CONTAINER, |
| 154 NSAccessibilityGroupRole }, | 163 NSAccessibilityGroupRole }, |
| 155 { AccessibilityNodeData::ROLE_TAB_GROUP_UNUSED, | 164 { AccessibilityNodeData::ROLE_TAB_GROUP_UNUSED, |
| 156 NSAccessibilityTabGroupRole }, | 165 NSAccessibilityTabGroupRole }, |
| 157 { AccessibilityNodeData::ROLE_TEXTAREA, NSAccessibilityTextAreaRole }, | 166 { AccessibilityNodeData::ROLE_TEXTAREA, NSAccessibilityTextAreaRole }, |
| 158 { AccessibilityNodeData::ROLE_TEXT_FIELD, NSAccessibilityTextFieldRole }, | 167 { AccessibilityNodeData::ROLE_TEXT_FIELD, NSAccessibilityTextFieldRole }, |
| 159 { AccessibilityNodeData::ROLE_TIMER, NSAccessibilityGroupRole }, | 168 { AccessibilityNodeData::ROLE_TIMER, NSAccessibilityGroupRole }, |
| 169 { AccessibilityNodeData::ROLE_TOGGLE_BUTTON, NSAccessibilityButtonRole }, |
| 160 { AccessibilityNodeData::ROLE_TOOLBAR, NSAccessibilityToolbarRole }, | 170 { AccessibilityNodeData::ROLE_TOOLBAR, NSAccessibilityToolbarRole }, |
| 161 { AccessibilityNodeData::ROLE_TOOLTIP, NSAccessibilityGroupRole }, | 171 { AccessibilityNodeData::ROLE_TOOLTIP, NSAccessibilityGroupRole }, |
| 162 { AccessibilityNodeData::ROLE_TREE, NSAccessibilityOutlineRole }, | 172 { AccessibilityNodeData::ROLE_TREE, NSAccessibilityOutlineRole }, |
| 163 { AccessibilityNodeData::ROLE_TREE_GRID, NSAccessibilityTableRole }, | 173 { AccessibilityNodeData::ROLE_TREE_GRID, NSAccessibilityTableRole }, |
| 164 { AccessibilityNodeData::ROLE_TREE_ITEM, NSAccessibilityRowRole }, | 174 { AccessibilityNodeData::ROLE_TREE_ITEM, NSAccessibilityRowRole }, |
| 165 { AccessibilityNodeData::ROLE_VALUE_INDICATOR, | 175 { AccessibilityNodeData::ROLE_VALUE_INDICATOR, |
| 166 NSAccessibilityValueIndicatorRole }, | 176 NSAccessibilityValueIndicatorRole }, |
| 167 { AccessibilityNodeData::ROLE_WEBCORE_LINK, NSAccessibilityLinkRole }, | 177 { AccessibilityNodeData::ROLE_WEBCORE_LINK, NSAccessibilityLinkRole }, |
| 168 { AccessibilityNodeData::ROLE_WEB_AREA, @"AXWebArea" }, | 178 { AccessibilityNodeData::ROLE_WEB_AREA, @"AXWebArea" }, |
| 169 { AccessibilityNodeData::ROLE_WINDOW, NSAccessibilityUnknownRole }, | 179 { AccessibilityNodeData::ROLE_WINDOW, NSAccessibilityUnknownRole }, |
| (...skipping 905 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1075 return [super hash]; | 1085 return [super hash]; |
| 1076 return browserAccessibility_->renderer_id(); | 1086 return browserAccessibility_->renderer_id(); |
| 1077 } | 1087 } |
| 1078 | 1088 |
| 1079 - (BOOL)accessibilityShouldUseUniqueId { | 1089 - (BOOL)accessibilityShouldUseUniqueId { |
| 1080 return YES; | 1090 return YES; |
| 1081 } | 1091 } |
| 1082 | 1092 |
| 1083 @end | 1093 @end |
| 1084 | 1094 |
| OLD | NEW |