Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(437)

Side by Side Diff: Source/testing/runner/AccessibilityUIElementChromium.cpp

Issue 22331005: Clean up accessibility enums for use in Chromium. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Update failing tests, add one missing role Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 17 matching lines...) Expand all
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #include "AccessibilityUIElementChromium.h" 31 #include "AccessibilityUIElementChromium.h"
32 32
33 #include "TestCommon.h" 33 #include "TestCommon.h"
34 #include "public/platform/WebCString.h" 34 #include "public/platform/WebCString.h"
35 #include "public/platform/WebPoint.h" 35 #include "public/platform/WebPoint.h"
36 #include "public/platform/WebRect.h" 36 #include "public/platform/WebRect.h"
37 #include "public/platform/WebString.h" 37 #include "public/platform/WebString.h"
38 #include "public/web/WebAXTypes.h"
38 #include "public/web/WebAccessibilityObject.h" 39 #include "public/web/WebAccessibilityObject.h"
39 40
40 using namespace WebKit; 41 using namespace WebKit;
41 using namespace std; 42 using namespace std;
42 43
43 namespace WebTestRunner { 44 namespace WebTestRunner {
44 45
45 namespace { 46 namespace {
46 47
47 // Map role value to string, matching Safari/Mac platform implementation to 48 // Map role value to string, matching Safari/Mac platform implementation to
48 // avoid rebaselining layout tests. 49 // avoid rebaselining layout tests.
49 string roleToString(WebAccessibilityRole role) 50 string roleToString(WebAXTypes::Role role)
50 { 51 {
51 string result = "AXRole: AX"; 52 string result = "AXRole: AX";
52 switch (role) { 53 switch (role) {
53 case WebAccessibilityRoleButton: 54 case WebAXTypes::AlertDialogRole:
55 return result.append("AlertDialog");
56 case WebAXTypes::AlertRole:
57 return result.append("Alert");
58 case WebAXTypes::AnnotationRole:
59 return result.append("Annotation");
60 case WebAXTypes::ApplicationRole:
61 return result.append("Application");
62 case WebAXTypes::ArticleRole:
63 return result.append("Article");
64 case WebAXTypes::BannerRole:
65 return result.append("Banner");
66 case WebAXTypes::BrowserRole:
67 return result.append("Browser");
68 case WebAXTypes::BusyIndicatorRole:
69 return result.append("BusyIndicator");
70 case WebAXTypes::ButtonRole:
54 return result.append("Button"); 71 return result.append("Button");
55 case WebAccessibilityRoleRadioButton: 72 case WebAXTypes::CanvasRole:
73 return result.append("Canvas");
74 case WebAXTypes::CellRole:
75 return result.append("Cell");
76 case WebAXTypes::CheckBoxRole:
77 return result.append("CheckBox");
78 case WebAXTypes::ColorWellRole:
79 return result.append("ColorWell");
80 case WebAXTypes::ColumnHeaderRole:
81 return result.append("ColumnHeader");
82 case WebAXTypes::ColumnRole:
83 return result.append("Column");
84 case WebAXTypes::ComboBoxRole:
85 return result.append("ComboBox");
86 case WebAXTypes::ComplementaryRole:
87 return result.append("Complementary");
88 case WebAXTypes::ContentInfoRole:
89 return result.append("ContentInfo");
90 case WebAXTypes::DefinitionRole:
91 return result.append("Definition");
92 case WebAXTypes::DescriptionListDetailRole:
93 return result.append("DescriptionListDetail");
94 case WebAXTypes::DescriptionListTermRole:
95 return result.append("DescriptionListTerm");
96 case WebAXTypes::DialogRole:
97 return result.append("Dialog");
98 case WebAXTypes::DirectoryRole:
99 return result.append("Directory");
100 case WebAXTypes::DisclosureTriangleRole:
101 return result.append("DisclosureTriangle");
102 case WebAXTypes::DivRole:
103 return result.append("Div");
104 case WebAXTypes::DocumentRole:
105 return result.append("Document");
106 case WebAXTypes::DrawerRole:
107 return result.append("Drawer");
108 case WebAXTypes::EditableTextRole:
109 return result.append("EditableText");
110 case WebAXTypes::FooterRole:
111 return result.append("Footer");
112 case WebAXTypes::FormRole:
113 return result.append("Form");
114 case WebAXTypes::GridRole:
115 return result.append("Grid");
116 case WebAXTypes::GroupRole:
117 return result.append("Group");
118 case WebAXTypes::GrowAreaRole:
119 return result.append("GrowArea");
120 case WebAXTypes::HeadingRole:
121 return result.append("Heading");
122 case WebAXTypes::HelpTagRole:
123 return result.append("HelpTag");
124 case WebAXTypes::HorizontalRuleRole:
125 return result.append("HorizontalRule");
126 case WebAXTypes::IgnoredRole:
127 return result.append("Ignored");
128 case WebAXTypes::ImageMapLinkRole:
129 return result.append("ImageMapLink");
130 case WebAXTypes::ImageMapRole:
131 return result.append("ImageMap");
132 case WebAXTypes::ImageRole:
133 return result.append("Image");
134 case WebAXTypes::IncrementorRole:
135 return result.append("Incrementor");
136 case WebAXTypes::LabelRole:
137 return result.append("Label");
138 case WebAXTypes::LegendRole:
139 return result.append("Legend");
140 case WebAXTypes::LinkRole:
141 return result.append("Link");
142 case WebAXTypes::ListBoxOptionRole:
143 return result.append("ListBoxOption");
144 case WebAXTypes::ListBoxRole:
145 return result.append("ListBox");
146 case WebAXTypes::ListItemRole:
147 return result.append("ListItem");
148 case WebAXTypes::ListMarkerRole:
149 return result.append("ListMarker");
150 case WebAXTypes::ListRole:
151 return result.append("List");
152 case WebAXTypes::LogRole:
153 return result.append("Log");
154 case WebAXTypes::MainRole:
155 return result.append("Main");
156 case WebAXTypes::MarqueeRole:
157 return result.append("Marquee");
158 case WebAXTypes::MathElementRole:
159 return result.append("MathElement");
160 case WebAXTypes::MathRole:
161 return result.append("Math");
162 case WebAXTypes::MatteRole:
163 return result.append("Matte");
164 case WebAXTypes::MenuBarRole:
165 return result.append("MenuBar");
166 case WebAXTypes::MenuButtonRole:
167 return result.append("MenuButton");
168 case WebAXTypes::MenuItemRole:
169 return result.append("MenuItem");
170 case WebAXTypes::MenuListOptionRole:
171 return result.append("MenuListOption");
172 case WebAXTypes::MenuListPopupRole:
173 return result.append("MenuListPopup");
174 case WebAXTypes::MenuRole:
175 return result.append("Menu");
176 case WebAXTypes::NavigationRole:
177 return result.append("Navigation");
178 case WebAXTypes::NoteRole:
179 return result.append("Note");
180 case WebAXTypes::OutlineRole:
181 return result.append("Outline");
182 case WebAXTypes::ParagraphRole:
183 return result.append("Paragraph");
184 case WebAXTypes::PopUpButtonRole:
185 return result.append("PopUpButton");
186 case WebAXTypes::PresentationalRole:
187 return result.append("Presentational");
188 case WebAXTypes::ProgressIndicatorRole:
189 return result.append("ProgressIndicator");
190 case WebAXTypes::RadioButtonRole:
56 return result.append("RadioButton"); 191 return result.append("RadioButton");
57 case WebAccessibilityRoleCheckBox: 192 case WebAXTypes::RadioGroupRole:
58 return result.append("CheckBox"); 193 return result.append("RadioGroup");
59 case WebAccessibilityRoleSlider: 194 case WebAXTypes::RegionRole:
195 return result.append("Region");
196 case WebAXTypes::RootWebAreaRole:
197 return result.append("RootWebArea");
198 case WebAXTypes::RowHeaderRole:
199 return result.append("RowHeader");
200 case WebAXTypes::RowRole:
201 return result.append("Row");
202 case WebAXTypes::RulerMarkerRole:
203 return result.append("RulerMarker");
204 case WebAXTypes::RulerRole:
205 return result.append("Ruler");
206 case WebAXTypes::SVGRootRole:
207 return result.append("SVGRoot");
208 case WebAXTypes::ScrollAreaRole:
209 return result.append("ScrollArea");
210 case WebAXTypes::ScrollBarRole:
211 return result.append("ScrollBar");
212 case WebAXTypes::SeamlessWebAreaRole:
213 return result.append("SeamlessWebArea");
214 case WebAXTypes::SearchRole:
215 return result.append("Search");
216 case WebAXTypes::SheetRole:
217 return result.append("Sheet");
218 case WebAXTypes::SliderRole:
60 return result.append("Slider"); 219 return result.append("Slider");
61 case WebAccessibilityRoleTabGroup: 220 case WebAXTypes::SliderThumbRole:
221 return result.append("SliderThumb");
222 case WebAXTypes::SpinButtonPartRole:
223 return result.append("SpinButtonPart");
224 case WebAXTypes::SpinButtonRole:
225 return result.append("SpinButton");
226 case WebAXTypes::SplitGroupRole:
227 return result.append("SplitGroup");
228 case WebAXTypes::SplitterRole:
229 return result.append("Splitter");
230 case WebAXTypes::StaticTextRole:
231 return result.append("StaticText");
232 case WebAXTypes::StatusRole:
233 return result.append("Status");
234 case WebAXTypes::SystemWideRole:
235 return result.append("SystemWide");
236 case WebAXTypes::TabGroupRole:
62 return result.append("TabGroup"); 237 return result.append("TabGroup");
63 case WebAccessibilityRoleTextField: 238 case WebAXTypes::TabListRole:
239 return result.append("TabList");
240 case WebAXTypes::TabPanelRole:
241 return result.append("TabPanel");
242 case WebAXTypes::TabRole:
243 return result.append("Tab");
244 case WebAXTypes::TableHeaderContainerRole:
245 return result.append("TableHeaderContainer");
246 case WebAXTypes::TableRole:
247 return result.append("Table");
248 case WebAXTypes::TextAreaRole:
249 return result.append("TextArea");
250 case WebAXTypes::TextFieldRole:
64 return result.append("TextField"); 251 return result.append("TextField");
65 case WebAccessibilityRoleStaticText: 252 case WebAXTypes::TimerRole:
66 return result.append("StaticText"); 253 return result.append("Timer");
67 case WebAccessibilityRoleTextArea: 254 case WebAXTypes::ToggleButtonRole:
68 return result.append("TextArea"); 255 return result.append("ToggleButton");
69 case WebAccessibilityRoleScrollArea: 256 case WebAXTypes::ToolbarRole:
70 return result.append("ScrollArea"); 257 return result.append("Toolbar");
71 case WebAccessibilityRolePopUpButton: 258 case WebAXTypes::TreeGridRole:
72 return result.append("PopUpButton"); 259 return result.append("TreeGrid");
73 case WebAccessibilityRoleMenuButton: 260 case WebAXTypes::TreeItemRole:
74 return result.append("MenuButton"); 261 return result.append("TreeItem");
75 case WebAccessibilityRoleTable: 262 case WebAXTypes::TreeRole:
76 return result.append("Table"); 263 return result.append("Tree");
77 case WebAccessibilityRoleApplication: 264 case WebAXTypes::UnknownRole:
78 return result.append("Application"); 265 return result.append("Unknown");
79 case WebAccessibilityRoleGroup: 266 case WebAXTypes::UserInterfaceTooltipRole:
80 return result.append("Group"); 267 return result.append("UserInterfaceTooltip");
81 case WebAccessibilityRoleRadioGroup: 268 case WebAXTypes::ValueIndicatorRole:
82 return result.append("RadioGroup");
83 case WebAccessibilityRoleList:
84 return result.append("List");
85 case WebAccessibilityRoleScrollBar:
86 return result.append("ScrollBar");
87 case WebAccessibilityRoleValueIndicator:
88 return result.append("ValueIndicator"); 269 return result.append("ValueIndicator");
89 case WebAccessibilityRoleImage: 270 case WebAXTypes::WebAreaRole:
90 return result.append("Image"); 271 return result.append("WebArea");
91 case WebAccessibilityRoleMenuBar: 272 case WebAXTypes::WindowRole:
92 return result.append("MenuBar");
93 case WebAccessibilityRoleMenu:
94 return result.append("Menu");
95 case WebAccessibilityRoleMenuItem:
96 return result.append("MenuItem");
97 case WebAccessibilityRoleColumn:
98 return result.append("Column");
99 case WebAccessibilityRoleRow:
100 return result.append("Row");
101 case WebAccessibilityRoleToolbar:
102 return result.append("Toolbar");
103 case WebAccessibilityRoleBusyIndicator:
104 return result.append("BusyIndicator");
105 case WebAccessibilityRoleProgressIndicator:
106 return result.append("ProgressIndicator");
107 case WebAccessibilityRoleWindow:
108 return result.append("Window"); 273 return result.append("Window");
109 case WebAccessibilityRoleDrawer:
110 return result.append("Drawer");
111 case WebAccessibilityRoleSystemWide:
112 return result.append("SystemWide");
113 case WebAccessibilityRoleOutline:
114 return result.append("Outline");
115 case WebAccessibilityRoleIncrementor:
116 return result.append("Incrementor");
117 case WebAccessibilityRoleBrowser:
118 return result.append("Browser");
119 case WebAccessibilityRoleComboBox:
120 return result.append("ComboBox");
121 case WebAccessibilityRoleSplitGroup:
122 return result.append("SplitGroup");
123 case WebAccessibilityRoleSplitter:
124 return result.append("Splitter");
125 case WebAccessibilityRoleColorWell:
126 return result.append("ColorWell");
127 case WebAccessibilityRoleGrowArea:
128 return result.append("GrowArea");
129 case WebAccessibilityRoleSheet:
130 return result.append("Sheet");
131 case WebAccessibilityRoleHelpTag:
132 return result.append("HelpTag");
133 case WebAccessibilityRoleMatte:
134 return result.append("Matte");
135 case WebAccessibilityRoleRuler:
136 return result.append("Ruler");
137 case WebAccessibilityRoleRulerMarker:
138 return result.append("RulerMarker");
139 case WebAccessibilityRoleLink:
140 return result.append("Link");
141 case WebAccessibilityRoleDisclosureTriangle:
142 return result.append("DisclosureTriangle");
143 case WebAccessibilityRoleGrid:
144 return result.append("Grid");
145 case WebAccessibilityRoleCell:
146 return result.append("Cell");
147 case WebAccessibilityRoleColumnHeader:
148 return result.append("ColumnHeader");
149 case WebAccessibilityRoleRowHeader:
150 return result.append("RowHeader");
151 case WebAccessibilityRoleWebCoreLink:
152 // Maps to Link role.
153 return result.append("Link");
154 case WebAccessibilityRoleImageMapLink:
155 return result.append("ImageMapLink");
156 case WebAccessibilityRoleImageMap:
157 return result.append("ImageMap");
158 case WebAccessibilityRoleListMarker:
159 return result.append("ListMarker");
160 case WebAccessibilityRoleWebArea:
161 return result.append("WebArea");
162 case WebAccessibilityRoleHeading:
163 return result.append("Heading");
164 case WebAccessibilityRoleListBox:
165 return result.append("ListBox");
166 case WebAccessibilityRoleListBoxOption:
167 return result.append("ListBoxOption");
168 case WebAccessibilityRoleTableHeaderContainer:
169 return result.append("TableHeaderContainer");
170 case WebAccessibilityRoleDefinition:
171 return result.append("Definition");
172 case WebAccessibilityRoleDescriptionListTerm:
173 return result.append("DescriptionListTerm");
174 case WebAccessibilityRoleDescriptionListDetail:
175 return result.append("DescriptionListDetail");
176 case WebAccessibilityRoleAnnotation:
177 return result.append("Annotation");
178 case WebAccessibilityRoleSliderThumb:
179 return result.append("SliderThumb");
180 case WebAccessibilityRoleLandmarkApplication:
181 return result.append("LandmarkApplication");
182 case WebAccessibilityRoleLandmarkBanner:
183 return result.append("LandmarkBanner");
184 case WebAccessibilityRoleLandmarkComplementary:
185 return result.append("LandmarkComplementary");
186 case WebAccessibilityRoleLandmarkContentInfo:
187 return result.append("LandmarkContentInfo");
188 case WebAccessibilityRoleLandmarkMain:
189 return result.append("LandmarkMain");
190 case WebAccessibilityRoleLandmarkNavigation:
191 return result.append("LandmarkNavigation");
192 case WebAccessibilityRoleLandmarkSearch:
193 return result.append("LandmarkSearch");
194 case WebAccessibilityRoleApplicationLog:
195 return result.append("ApplicationLog");
196 case WebAccessibilityRoleApplicationMarquee:
197 return result.append("ApplicationMarquee");
198 case WebAccessibilityRoleApplicationStatus:
199 return result.append("ApplicationStatus");
200 case WebAccessibilityRoleApplicationTimer:
201 return result.append("ApplicationTimer");
202 case WebAccessibilityRoleDocument:
203 return result.append("Document");
204 case WebAccessibilityRoleDocumentArticle:
205 return result.append("DocumentArticle");
206 case WebAccessibilityRoleDocumentNote:
207 return result.append("DocumentNote");
208 case WebAccessibilityRoleDocumentRegion:
209 return result.append("DocumentRegion");
210 case WebAccessibilityRoleUserInterfaceTooltip:
211 return result.append("UserInterfaceTooltip");
212 case WebAccessibilityRoleToggleButton:
213 return result.append("ToggleButton");
214 case WebAccessibilityRoleCanvas:
215 return result.append("Canvas");
216 case WebAccessibilityRoleParagraph:
217 return result.append("Paragraph");
218 case WebAccessibilityRoleDiv:
219 return result.append("Div");
220 case WebAccessibilityRoleLabel:
221 return result.append("Label");
222 case WebAccessibilityRoleForm:
223 return result.append("Form");
224 case WebAccessibilityRoleHorizontalRule:
225 return result.append("HorizontalRule");
226 case WebAccessibilityRoleLegend:
227 return result.append("Legend");
228 case WebAccessibilityRoleApplicationAlert:
229 return result.append("Alert");
230 case WebAccessibilityRoleApplicationAlertDialog:
231 return result.append("AlertDialog");
232 case WebAccessibilityRoleApplicationDialog:
233 return result.append("ApplicationDialog");
234 case WebAccessibilityRoleDirectory:
235 return result.append("Directory");
236 case WebAccessibilityRoleDocumentMath:
237 return result.append("Math");
238 case WebAccessibilityRoleEditableText:
239 return result.append("EditableText");
240 case WebAccessibilityRoleFooter:
241 return result.append("Footer");
242 case WebAccessibilityRoleIgnored:
243 return result.append("Ignored");
244 case WebAccessibilityRoleListItem:
245 return result.append("ListItem");
246 case WebAccessibilityRoleMenuListPopup:
247 return result.append("MenuListPopup");
248 case WebAccessibilityRoleMenuListOption:
249 return result.append("MenuListOption");
250 case WebAccessibilityRolePresentational:
251 return result.append("Presentational");
252 case WebAccessibilityRoleSpinButton:
253 return result.append("SpinButton");
254 case WebAccessibilityRoleSpinButtonPart:
255 return result.append("SpinButtonPart");
256 case WebAccessibilityRoleTabList:
257 return result.append("TabList");
258 case WebAccessibilityRoleTabPanel:
259 return result.append("TabPanel");
260 case WebAccessibilityRoleTab:
261 return result.append("Tab");
262 case WebAccessibilityRoleTreeRole:
263 return result.append("Tree");
264 case WebAccessibilityRoleTreeGrid:
265 return result.append("TreeGrid");
266 case WebAccessibilityRoleTreeItemRole:
267 return result.append("TreeItem");
268 case WebAccessibilityRoleUnknown:
269 default: 274 default:
270 return result.append("Unknown"); 275 return result.append("Unknown");
271 } 276 }
272 } 277 }
273 278
274 string getDescription(const WebAccessibilityObject& object) 279 string getDescription(const WebAccessibilityObject& object)
275 { 280 {
276 string description = object.accessibilityDescription().utf8(); 281 string description = object.accessibilityDescription().utf8();
277 return description.insert(0, "AXDescription: "); 282 return description.insert(0, "AXDescription: ");
278 } 283 }
(...skipping 13 matching lines...) Expand all
292 object.colorValue(r, g, b); 297 object.colorValue(r, g, b);
293 snprintf(buffer, sizeof(buffer), "rgb %7.5f %7.5f %7.5f 1", r / 255., g / 255., b / 255.); 298 snprintf(buffer, sizeof(buffer), "rgb %7.5f %7.5f %7.5f 1", r / 255., g / 255., b / 255.);
294 value = buffer; 299 value = buffer;
295 } else 300 } else
296 value = object.stringValue().utf8(); 301 value = object.stringValue().utf8();
297 return value.insert(0, "AXValue: "); 302 return value.insert(0, "AXValue: ");
298 } 303 }
299 304
300 string getRole(const WebAccessibilityObject& object) 305 string getRole(const WebAccessibilityObject& object)
301 { 306 {
302 string roleString = roleToString(object.roleValue()); 307 string roleString = roleToString(object.role());
303 308
304 // Special-case canvas with fallback content because Chromium wants to 309 // Special-case canvas with fallback content because Chromium wants to
305 // treat this as essentially a separate role that it can map differently dep ending 310 // treat this as essentially a separate role that it can map differently dep ending
306 // on the platform. 311 // on the platform.
307 if (object.roleValue() == WebAccessibilityRoleCanvas && object.canvasHasFall backContent()) 312 if (object.roleValue() == WebAccessibilityRoleCanvas && object.canvasHasFall backContent())
308 roleString += "WithFallbackContent"; 313 roleString += "WithFallbackContent";
309 314
310 return roleString; 315 return roleString;
311 } 316 }
312 317
(...skipping 759 matching lines...) Expand 10 before | Expand all | Expand 10 after
1072 } 1077 }
1073 1078
1074 AccessibilityUIElement* AccessibilityUIElementList::createRoot(const WebAccessib ilityObject& object) 1079 AccessibilityUIElement* AccessibilityUIElementList::createRoot(const WebAccessib ilityObject& object)
1075 { 1080 {
1076 AccessibilityUIElement* element = new RootAccessibilityUIElement(object, thi s); 1081 AccessibilityUIElement* element = new RootAccessibilityUIElement(object, thi s);
1077 m_elements.push_back(element); 1082 m_elements.push_back(element);
1078 return element; 1083 return element;
1079 } 1084 }
1080 1085
1081 } 1086 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698