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

Side by Side Diff: content/browser/accessibility/browser_accessibility_cocoa.mm

Issue 9838042: Expose correct semantics for HTML5 footer element on mac and windows platforms, as per https://bugs… (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Rebaseline Windows test expectation (and remember to upload it) Created 8 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | content/browser/accessibility/browser_accessibility_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 { WebAccessibility::ROLE_DEFINITION_LIST_DEFINITION, 111 { WebAccessibility::ROLE_DEFINITION_LIST_DEFINITION,
112 NSAccessibilityGroupRole }, 112 NSAccessibilityGroupRole },
113 { WebAccessibility::ROLE_DEFINITION_LIST_TERM, NSAccessibilityGroupRole }, 113 { WebAccessibility::ROLE_DEFINITION_LIST_TERM, NSAccessibilityGroupRole },
114 { WebAccessibility::ROLE_DIALOG, NSAccessibilityGroupRole }, 114 { WebAccessibility::ROLE_DIALOG, NSAccessibilityGroupRole },
115 { WebAccessibility::ROLE_DIRECTORY, NSAccessibilityListRole }, 115 { WebAccessibility::ROLE_DIRECTORY, NSAccessibilityListRole },
116 { WebAccessibility::ROLE_DISCLOSURE_TRIANGLE, 116 { WebAccessibility::ROLE_DISCLOSURE_TRIANGLE,
117 NSAccessibilityDisclosureTriangleRole }, 117 NSAccessibilityDisclosureTriangleRole },
118 { WebAccessibility::ROLE_DOCUMENT, NSAccessibilityGroupRole }, 118 { WebAccessibility::ROLE_DOCUMENT, NSAccessibilityGroupRole },
119 { WebAccessibility::ROLE_DRAWER, NSAccessibilityDrawerRole }, 119 { WebAccessibility::ROLE_DRAWER, NSAccessibilityDrawerRole },
120 { WebAccessibility::ROLE_EDITABLE_TEXT, NSAccessibilityTextFieldRole }, 120 { WebAccessibility::ROLE_EDITABLE_TEXT, NSAccessibilityTextFieldRole },
121 { WebAccessibility::ROLE_FOOTER, NSAccessibilityGroupRole },
121 { WebAccessibility::ROLE_GRID, NSAccessibilityGridRole }, 122 { WebAccessibility::ROLE_GRID, NSAccessibilityGridRole },
122 { WebAccessibility::ROLE_GROUP, NSAccessibilityGroupRole }, 123 { WebAccessibility::ROLE_GROUP, NSAccessibilityGroupRole },
123 { WebAccessibility::ROLE_GROW_AREA, NSAccessibilityGrowAreaRole }, 124 { WebAccessibility::ROLE_GROW_AREA, NSAccessibilityGrowAreaRole },
124 { WebAccessibility::ROLE_HEADING, @"AXHeading" }, 125 { WebAccessibility::ROLE_HEADING, @"AXHeading" },
125 { WebAccessibility::ROLE_HELP_TAG, NSAccessibilityHelpTagRole }, 126 { WebAccessibility::ROLE_HELP_TAG, NSAccessibilityHelpTagRole },
126 { WebAccessibility::ROLE_IGNORED, NSAccessibilityUnknownRole }, 127 { WebAccessibility::ROLE_IGNORED, NSAccessibilityUnknownRole },
127 { WebAccessibility::ROLE_IMAGE, NSAccessibilityImageRole }, 128 { WebAccessibility::ROLE_IMAGE, NSAccessibilityImageRole },
128 { WebAccessibility::ROLE_IMAGE_MAP, NSAccessibilityGroupRole }, 129 { WebAccessibility::ROLE_IMAGE_MAP, NSAccessibilityGroupRole },
129 { WebAccessibility::ROLE_IMAGE_MAP_LINK, NSAccessibilityLinkRole }, 130 { WebAccessibility::ROLE_IMAGE_MAP_LINK, NSAccessibilityLinkRole },
130 { WebAccessibility::ROLE_INCREMENTOR, NSAccessibilityIncrementorRole }, 131 { WebAccessibility::ROLE_INCREMENTOR, NSAccessibilityIncrementorRole },
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 216
216 RoleMap BuildSubroleMap() { 217 RoleMap BuildSubroleMap() {
217 const MapEntry subroles[] = { 218 const MapEntry subroles[] = {
218 { WebAccessibility::ROLE_ALERT, @"AXApplicationAlert" }, 219 { WebAccessibility::ROLE_ALERT, @"AXApplicationAlert" },
219 { WebAccessibility::ROLE_ALERT_DIALOG, @"AXApplicationAlertDialog" }, 220 { WebAccessibility::ROLE_ALERT_DIALOG, @"AXApplicationAlertDialog" },
220 { WebAccessibility::ROLE_ARTICLE, @"AXDocumentArticle" }, 221 { WebAccessibility::ROLE_ARTICLE, @"AXDocumentArticle" },
221 { WebAccessibility::ROLE_DEFINITION_LIST_DEFINITION, @"AXDefinition" }, 222 { WebAccessibility::ROLE_DEFINITION_LIST_DEFINITION, @"AXDefinition" },
222 { WebAccessibility::ROLE_DEFINITION_LIST_TERM, @"AXTerm" }, 223 { WebAccessibility::ROLE_DEFINITION_LIST_TERM, @"AXTerm" },
223 { WebAccessibility::ROLE_DIALOG, @"AXApplicationDialog" }, 224 { WebAccessibility::ROLE_DIALOG, @"AXApplicationDialog" },
224 { WebAccessibility::ROLE_DOCUMENT, @"AXDocument" }, 225 { WebAccessibility::ROLE_DOCUMENT, @"AXDocument" },
226 { WebAccessibility::ROLE_FOOTER, @"AXLandmarkContentInfo" },
225 { WebAccessibility::ROLE_LANDMARK_APPLICATION, @"AXLandmarkApplication" }, 227 { WebAccessibility::ROLE_LANDMARK_APPLICATION, @"AXLandmarkApplication" },
226 { WebAccessibility::ROLE_LANDMARK_BANNER, @"AXLandmarkBanner" }, 228 { WebAccessibility::ROLE_LANDMARK_BANNER, @"AXLandmarkBanner" },
227 { WebAccessibility::ROLE_LANDMARK_COMPLEMENTARY, 229 { WebAccessibility::ROLE_LANDMARK_COMPLEMENTARY,
228 @"AXLandmarkComplementary" }, 230 @"AXLandmarkComplementary" },
229 { WebAccessibility::ROLE_LANDMARK_CONTENTINFO, @"AXLandmarkContentInfo" }, 231 { WebAccessibility::ROLE_LANDMARK_CONTENTINFO, @"AXLandmarkContentInfo" },
230 { WebAccessibility::ROLE_LANDMARK_MAIN, @"AXLandmarkMain" }, 232 { WebAccessibility::ROLE_LANDMARK_MAIN, @"AXLandmarkMain" },
231 { WebAccessibility::ROLE_LANDMARK_NAVIGATION, @"AXLandmarkNavigation" }, 233 { WebAccessibility::ROLE_LANDMARK_NAVIGATION, @"AXLandmarkNavigation" },
232 { WebAccessibility::ROLE_LANDMARK_SEARCH, @"AXLandmarkSearch" }, 234 { WebAccessibility::ROLE_LANDMARK_SEARCH, @"AXLandmarkSearch" },
233 { WebAccessibility::ROLE_LOG, @"AXApplicationLog" }, 235 { WebAccessibility::ROLE_LOG, @"AXApplicationLog" },
234 { WebAccessibility::ROLE_MARQUEE, @"AXApplicationMarquee" }, 236 { WebAccessibility::ROLE_MARQUEE, @"AXApplicationMarquee" },
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 for (size_t i = 0; i < htmlAttributes.size(); ++i) { 548 for (size_t i = 0; i < htmlAttributes.size(); ++i) {
547 const std::pair<string16, string16>& htmlAttribute = htmlAttributes[i]; 549 const std::pair<string16, string16>& htmlAttribute = htmlAttributes[i];
548 if (htmlAttribute.first == ASCIIToUTF16("role")) { 550 if (htmlAttribute.first == ASCIIToUTF16("role")) {
549 // TODO(dtseng): This is not localized; see crbug/84814. 551 // TODO(dtseng): This is not localized; see crbug/84814.
550 return base::SysUTF16ToNSString(htmlAttribute.second); 552 return base::SysUTF16ToNSString(htmlAttribute.second);
551 } 553 }
552 } 554 }
553 } 555 }
554 } 556 }
555 557
558 if (static_cast<WebAccessibility::Role>( browserAccessibility_->role()) ==
559 WebAccessibility::ROLE_FOOTER) {
560 return base::SysUTF16ToNSString(content_client->GetLocalizedString(
561 IDS_AX_ROLE_FOOTER));
562 }
563
556 return NSAccessibilityRoleDescription(role, nil); 564 return NSAccessibilityRoleDescription(role, nil);
557 } 565 }
558 566
559 - (NSArray*)rows { 567 - (NSArray*)rows {
560 NSMutableArray* ret = [[[NSMutableArray alloc] init] autorelease]; 568 NSMutableArray* ret = [[[NSMutableArray alloc] init] autorelease];
561 for (BrowserAccessibilityCocoa* child in [self children]) { 569 for (BrowserAccessibilityCocoa* child in [self children]) {
562 if ([[child role] isEqualToString:NSAccessibilityRowRole]) 570 if ([[child role] isEqualToString:NSAccessibilityRowRole])
563 [ret addObject:child]; 571 [ret addObject:child];
564 } 572 }
565 573
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 return [super hash]; 1043 return [super hash];
1036 return browserAccessibility_->renderer_id(); 1044 return browserAccessibility_->renderer_id();
1037 } 1045 }
1038 1046
1039 - (BOOL)accessibilityShouldUseUniqueId { 1047 - (BOOL)accessibilityShouldUseUniqueId {
1040 return YES; 1048 return YES;
1041 } 1049 }
1042 1050
1043 @end 1051 @end
1044 1052
OLDNEW
« no previous file with comments | « no previous file | content/browser/accessibility/browser_accessibility_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698