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

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

Issue 829883002: ARIA role menuitemcheckbox, menuitemradio should have AXMenuItemMarkChar ✓. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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 // 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 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 { @"AXARIAAtomic", @"ariaAtomic" }, 108 { @"AXARIAAtomic", @"ariaAtomic" },
109 { @"AXARIABusy", @"ariaBusy" }, 109 { @"AXARIABusy", @"ariaBusy" },
110 { @"AXARIALive", @"ariaLive" }, 110 { @"AXARIALive", @"ariaLive" },
111 { @"AXARIARelevant", @"ariaRelevant" }, 111 { @"AXARIARelevant", @"ariaRelevant" },
112 { @"AXDropEffects", @"dropeffect" }, 112 { @"AXDropEffects", @"dropeffect" },
113 { @"AXGrabbed", @"grabbed" }, 113 { @"AXGrabbed", @"grabbed" },
114 { @"AXInvalid", @"invalid" }, 114 { @"AXInvalid", @"invalid" },
115 { @"AXLoaded", @"loaded" }, 115 { @"AXLoaded", @"loaded" },
116 { @"AXLoadingProgress", @"loadingProgress" }, 116 { @"AXLoadingProgress", @"loadingProgress" },
117 { @"AXPlaceholder", @"placeholder" }, 117 { @"AXPlaceholder", @"placeholder" },
118 { @"AXMenuItemMarkChar", @"menuItemMarkChar"},
118 { @"AXRequired", @"required" }, 119 { @"AXRequired", @"required" },
119 { @"AXSortDirection", @"sortDirection" }, 120 { @"AXSortDirection", @"sortDirection" },
120 { @"AXVisited", @"visited" }, 121 { @"AXVisited", @"visited" },
121 }; 122 };
122 123
123 NSMutableDictionary* dict = [[NSMutableDictionary alloc] init]; 124 NSMutableDictionary* dict = [[NSMutableDictionary alloc] init];
124 const size_t numAttributes = sizeof(attributeToMethodNameContainer) / 125 const size_t numAttributes = sizeof(attributeToMethodNameContainer) /
125 sizeof(attributeToMethodNameContainer[0]); 126 sizeof(attributeToMethodNameContainer[0]);
126 for (size_t i = 0; i < numAttributes; ++i) { 127 for (size_t i = 0; i < numAttributes; ++i) {
127 [dict setObject:attributeToMethodNameContainer[i].methodName 128 [dict setObject:attributeToMethodNameContainer[i].methodName
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 488
488 - (NSString*)orientation { 489 - (NSString*)orientation {
489 if (GetState(browserAccessibility_, ui::AX_STATE_VERTICAL)) 490 if (GetState(browserAccessibility_, ui::AX_STATE_VERTICAL))
490 return NSAccessibilityVerticalOrientationValue; 491 return NSAccessibilityVerticalOrientationValue;
491 else if (GetState(browserAccessibility_, ui::AX_STATE_HORIZONTAL)) 492 else if (GetState(browserAccessibility_, ui::AX_STATE_HORIZONTAL))
492 return NSAccessibilityHorizontalOrientationValue; 493 return NSAccessibilityHorizontalOrientationValue;
493 494
494 return @""; 495 return @"";
495 } 496 }
496 497
498 - (NSString*)menuItemMarkChar {
499 if (GetState(browserAccessibility_, ui::AX_STATE_CHECKED))
500 return @"\u2713";
501 else
502 return @"nil";
503 }
504
497 - (NSNumber*)numberOfCharacters { 505 - (NSNumber*)numberOfCharacters {
498 std::string value = browserAccessibility_->GetStringAttribute( 506 std::string value = browserAccessibility_->GetStringAttribute(
499 ui::AX_ATTR_VALUE); 507 ui::AX_ATTR_VALUE);
500 return [NSNumber numberWithInt:value.size()]; 508 return [NSNumber numberWithInt:value.size()];
501 } 509 }
502 510
503 // The origin of this accessibility object in the page's document. 511 // The origin of this accessibility object in the page's document.
504 // This is relative to webkit's top-left origin, not Cocoa's 512 // This is relative to webkit's top-left origin, not Cocoa's
505 // bottom-left origin. 513 // bottom-left origin.
506 - (NSPoint)origin { 514 - (NSPoint)origin {
(...skipping 874 matching lines...) Expand 10 before | Expand all | Expand 10 after
1381 [ret addObjectsFromArray:[NSArray arrayWithObjects: 1389 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1382 NSAccessibilityIndexAttribute, 1390 NSAccessibilityIndexAttribute,
1383 nil]]; 1391 nil]];
1384 } 1392 }
1385 } 1393 }
1386 } else if ([role isEqualToString:NSAccessibilityListRole]) { 1394 } else if ([role isEqualToString:NSAccessibilityListRole]) {
1387 [ret addObjectsFromArray:[NSArray arrayWithObjects: 1395 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1388 NSAccessibilitySelectedChildrenAttribute, 1396 NSAccessibilitySelectedChildrenAttribute,
1389 NSAccessibilityVisibleChildrenAttribute, 1397 NSAccessibilityVisibleChildrenAttribute,
1390 nil]]; 1398 nil]];
1399 } else if ([role isEqualToString:NSAccessibilityMenuItemRole]) {
1400 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1401 @"AXMenuItemMarkChar",
1402 nil]];
1391 } 1403 }
1392 1404
1393 // Add the url attribute only if it has a valid url. 1405 // Add the url attribute only if it has a valid url.
1394 if ([self url] != nil) { 1406 if ([self url] != nil) {
1395 [ret addObjectsFromArray:[NSArray arrayWithObjects: 1407 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1396 NSAccessibilityURLAttribute, 1408 NSAccessibilityURLAttribute,
1397 nil]]; 1409 nil]];
1398 } 1410 }
1399 1411
1400 // Live regions. 1412 // Live regions.
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
1615 if (!browserAccessibility_) 1627 if (!browserAccessibility_)
1616 return [super hash]; 1628 return [super hash];
1617 return browserAccessibility_->GetId(); 1629 return browserAccessibility_->GetId();
1618 } 1630 }
1619 1631
1620 - (BOOL)accessibilityShouldUseUniqueId { 1632 - (BOOL)accessibilityShouldUseUniqueId {
1621 return YES; 1633 return YES;
1622 } 1634 }
1623 1635
1624 @end 1636 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698