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

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

Issue 1063383005: Chromium side Implementation to expose aria properties - setsize & posinset (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: updating expectations on android Created 5 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
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 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 { NSAccessibilityVisibleCharacterRangeAttribute, @"visibleCharacterRange" }, 101 { NSAccessibilityVisibleCharacterRangeAttribute, @"visibleCharacterRange" },
102 { NSAccessibilityVisibleCellsAttribute, @"visibleCells" }, 102 { NSAccessibilityVisibleCellsAttribute, @"visibleCells" },
103 { NSAccessibilityVisibleChildrenAttribute, @"visibleChildren" }, 103 { NSAccessibilityVisibleChildrenAttribute, @"visibleChildren" },
104 { NSAccessibilityVisibleColumnsAttribute, @"visibleColumns" }, 104 { NSAccessibilityVisibleColumnsAttribute, @"visibleColumns" },
105 { NSAccessibilityVisibleRowsAttribute, @"visibleRows" }, 105 { NSAccessibilityVisibleRowsAttribute, @"visibleRows" },
106 { NSAccessibilityWindowAttribute, @"window" }, 106 { NSAccessibilityWindowAttribute, @"window" },
107 { @"AXAccessKey", @"accessKey" }, 107 { @"AXAccessKey", @"accessKey" },
108 { @"AXARIAAtomic", @"ariaAtomic" }, 108 { @"AXARIAAtomic", @"ariaAtomic" },
109 { @"AXARIABusy", @"ariaBusy" }, 109 { @"AXARIABusy", @"ariaBusy" },
110 { @"AXARIALive", @"ariaLive" }, 110 { @"AXARIALive", @"ariaLive" },
111 { @"AXARIASetSize", @"ariaSetSize" },
112 { @"AXARIAPosInSet", @"ariaPosInSet" },
111 { @"AXARIARelevant", @"ariaRelevant" }, 113 { @"AXARIARelevant", @"ariaRelevant" },
112 { @"AXDropEffects", @"dropeffect" }, 114 { @"AXDropEffects", @"dropeffect" },
113 { @"AXGrabbed", @"grabbed" }, 115 { @"AXGrabbed", @"grabbed" },
114 { @"AXInvalid", @"invalid" }, 116 { @"AXInvalid", @"invalid" },
115 { @"AXLoaded", @"loaded" }, 117 { @"AXLoaded", @"loaded" },
116 { @"AXLoadingProgress", @"loadingProgress" }, 118 { @"AXLoadingProgress", @"loadingProgress" },
117 { @"AXPlaceholder", @"placeholder" }, 119 { @"AXPlaceholder", @"placeholder" },
118 { @"AXRequired", @"required" }, 120 { @"AXRequired", @"required" },
119 { @"AXSortDirection", @"sortDirection" }, 121 { @"AXSortDirection", @"sortDirection" },
120 { @"AXVisited", @"visited" }, 122 { @"AXVisited", @"visited" },
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 - (NSString*)ariaLive { 165 - (NSString*)ariaLive {
164 return NSStringForStringAttribute( 166 return NSStringForStringAttribute(
165 browserAccessibility_, ui::AX_ATTR_LIVE_STATUS); 167 browserAccessibility_, ui::AX_ATTR_LIVE_STATUS);
166 } 168 }
167 169
168 - (NSString*)ariaRelevant { 170 - (NSString*)ariaRelevant {
169 return NSStringForStringAttribute( 171 return NSStringForStringAttribute(
170 browserAccessibility_, ui::AX_ATTR_LIVE_RELEVANT); 172 browserAccessibility_, ui::AX_ATTR_LIVE_RELEVANT);
171 } 173 }
172 174
175 - (NSNumber*)ariaPosInSet {
176 return [NSNumber numberWithInt:
177 browserAccessibility_->GetIntAttribute(ui::AX_ATTR_POS_IN_SET)];
178 }
179
180 - (NSNumber*)ariaSetSize {
181 return [NSNumber numberWithInt:
182 browserAccessibility_->GetIntAttribute(ui::AX_ATTR_SET_SIZE)];
183 }
184
173 // Returns an array of BrowserAccessibilityCocoa objects, representing the 185 // Returns an array of BrowserAccessibilityCocoa objects, representing the
174 // accessibility children of this object. 186 // accessibility children of this object.
175 - (NSArray*)children { 187 - (NSArray*)children {
176 if (!children_) { 188 if (!children_) {
177 uint32 childCount = browserAccessibility_->PlatformChildCount(); 189 uint32 childCount = browserAccessibility_->PlatformChildCount();
178 children_.reset([[NSMutableArray alloc] initWithCapacity:childCount]); 190 children_.reset([[NSMutableArray alloc] initWithCapacity:childCount]);
179 for (uint32 index = 0; index < childCount; ++index) { 191 for (uint32 index = 0; index < childCount; ++index) {
180 BrowserAccessibilityCocoa* child = 192 BrowserAccessibilityCocoa* child =
181 browserAccessibility_->PlatformGetChild(index)-> 193 browserAccessibility_->PlatformGetChild(index)->
182 ToBrowserAccessibilityCocoa(); 194 ToBrowserAccessibilityCocoa();
(...skipping 1217 matching lines...) Expand 10 before | Expand all | Expand 10 after
1400 nil]]; 1412 nil]];
1401 } 1413 }
1402 1414
1403 // Add the url attribute only if it has a valid url. 1415 // Add the url attribute only if it has a valid url.
1404 if ([self url] != nil) { 1416 if ([self url] != nil) {
1405 [ret addObjectsFromArray:[NSArray arrayWithObjects: 1417 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1406 NSAccessibilityURLAttribute, 1418 NSAccessibilityURLAttribute,
1407 nil]]; 1419 nil]];
1408 } 1420 }
1409 1421
1422 // Position in set and Set size
1423 if (browserAccessibility_->HasIntAttribute(ui::AX_ATTR_POS_IN_SET)) {
1424 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1425 @"AXARIAPosInSet",
1426 nil]];
1427 }
1428 if (browserAccessibility_->HasIntAttribute(ui::AX_ATTR_SET_SIZE)) {
1429 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1430 @"AXARIASetSize",
1431 nil]];
1432 }
1433
1410 // Live regions. 1434 // Live regions.
1411 if (browserAccessibility_->HasStringAttribute( 1435 if (browserAccessibility_->HasStringAttribute(
1412 ui::AX_ATTR_LIVE_STATUS)) { 1436 ui::AX_ATTR_LIVE_STATUS)) {
1413 [ret addObjectsFromArray:[NSArray arrayWithObjects: 1437 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1414 @"AXARIALive", 1438 @"AXARIALive",
1415 nil]]; 1439 nil]];
1416 } 1440 }
1417 if (browserAccessibility_->HasStringAttribute( 1441 if (browserAccessibility_->HasStringAttribute(
1418 ui::AX_ATTR_LIVE_RELEVANT)) { 1442 ui::AX_ATTR_LIVE_RELEVANT)) {
1419 [ret addObjectsFromArray:[NSArray arrayWithObjects: 1443 [ret addObjectsFromArray:[NSArray arrayWithObjects:
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
1624 if (!browserAccessibility_) 1648 if (!browserAccessibility_)
1625 return [super hash]; 1649 return [super hash];
1626 return browserAccessibility_->GetId(); 1650 return browserAccessibility_->GetId();
1627 } 1651 }
1628 1652
1629 - (BOOL)accessibilityShouldUseUniqueId { 1653 - (BOOL)accessibilityShouldUseUniqueId {
1630 return YES; 1654 return YES;
1631 } 1655 }
1632 1656
1633 @end 1657 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698