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

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

Issue 692643005: ARIA state/property(aria-relevant,aria-busy) are not exposed correctly on MAC. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 browserAccessibility_, ui::AX_ATTR_ACCESS_KEY); 144 browserAccessibility_, ui::AX_ATTR_ACCESS_KEY);
145 } 145 }
146 146
147 - (NSNumber*)ariaAtomic { 147 - (NSNumber*)ariaAtomic {
148 bool boolValue = browserAccessibility_->GetBoolAttribute( 148 bool boolValue = browserAccessibility_->GetBoolAttribute(
149 ui::AX_ATTR_LIVE_ATOMIC); 149 ui::AX_ATTR_LIVE_ATOMIC);
150 return [NSNumber numberWithBool:boolValue]; 150 return [NSNumber numberWithBool:boolValue];
151 } 151 }
152 152
153 - (NSNumber*)ariaBusy { 153 - (NSNumber*)ariaBusy {
154 bool boolValue = browserAccessibility_->GetBoolAttribute( 154 return [NSNumber numberWithBool:
155 ui::AX_ATTR_LIVE_BUSY); 155 GetState(browserAccessibility_, ui::AX_STATE_BUSY)];
156 return [NSNumber numberWithBool:boolValue];
157 } 156 }
158 157
159 - (NSString*)ariaLive { 158 - (NSString*)ariaLive {
160 return NSStringForStringAttribute( 159 return NSStringForStringAttribute(
161 browserAccessibility_, ui::AX_ATTR_LIVE_STATUS); 160 browserAccessibility_, ui::AX_ATTR_LIVE_STATUS);
162 } 161 }
163 162
164 - (NSString*)ariaRelevant { 163 - (NSString*)ariaRelevant {
165 return NSStringForStringAttribute( 164 return NSStringForStringAttribute(
166 browserAccessibility_, ui::AX_ATTR_LIVE_RELEVANT); 165 browserAccessibility_, ui::AX_ATTR_LIVE_RELEVANT);
(...skipping 1153 matching lines...) Expand 10 before | Expand all | Expand 10 after
1320 [ret addObjectsFromArray:[NSArray arrayWithObjects: 1319 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1321 NSAccessibilityURLAttribute, 1320 NSAccessibilityURLAttribute,
1322 nil]]; 1321 nil]];
1323 } 1322 }
1324 1323
1325 // Live regions. 1324 // Live regions.
1326 if (browserAccessibility_->HasStringAttribute( 1325 if (browserAccessibility_->HasStringAttribute(
1327 ui::AX_ATTR_LIVE_STATUS)) { 1326 ui::AX_ATTR_LIVE_STATUS)) {
1328 [ret addObjectsFromArray:[NSArray arrayWithObjects: 1327 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1329 @"AXARIALive", 1328 @"AXARIALive",
1329 nil]];
1330 }
1331 if (browserAccessibility_->HasStringAttribute(
1332 ui::AX_ATTR_LIVE_RELEVANT)) {
1333 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1330 @"AXARIARelevant", 1334 @"AXARIARelevant",
1331 nil]]; 1335 nil]];
1332 } 1336 }
1333 if (browserAccessibility_->HasStringAttribute( 1337 if (browserAccessibility_->HasBoolAttribute(
1334 ui::AX_ATTR_CONTAINER_LIVE_STATUS)) { 1338 ui::AX_ATTR_LIVE_ATOMIC)) {
1335 [ret addObjectsFromArray:[NSArray arrayWithObjects: 1339 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1336 @"AXARIAAtomic", 1340 @"AXARIAAtomic",
1341 nil]];
1342 }
1343 if (browserAccessibility_->HasBoolAttribute(
1344 ui::AX_ATTR_LIVE_BUSY)) {
1345 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1337 @"AXARIABusy", 1346 @"AXARIABusy",
1338 nil]]; 1347 nil]];
1339 } 1348 }
1340 1349
1341 //Add expanded attribute only if it has expanded or collapsed state. 1350 //Add expanded attribute only if it has expanded or collapsed state.
1342 if (GetState(browserAccessibility_,ui::AX_STATE_EXPANDED) || 1351 if (GetState(browserAccessibility_, ui::AX_STATE_EXPANDED) ||
1343 GetState(browserAccessibility_,ui::AX_STATE_COLLAPSED)) { 1352 GetState(browserAccessibility_, ui::AX_STATE_COLLAPSED)) {
1344 [ret addObjectsFromArray:[NSArray arrayWithObjects: 1353 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1345 NSAccessibilityExpandedAttribute, 1354 NSAccessibilityExpandedAttribute,
1346 nil]]; 1355 nil]];
1347 } 1356 }
1348 1357
1349 // Title UI Element. 1358 // Title UI Element.
1350 if (browserAccessibility_->HasIntAttribute(ui::AX_ATTR_TITLE_UI_ELEMENT) || 1359 if (browserAccessibility_->HasIntAttribute(ui::AX_ATTR_TITLE_UI_ELEMENT) ||
1351 (browserAccessibility_->HasIntListAttribute(ui::AX_ATTR_LABELLEDBY_IDS) && 1360 (browserAccessibility_->HasIntListAttribute(ui::AX_ATTR_LABELLEDBY_IDS) &&
1352 browserAccessibility_->GetIntListAttribute(ui::AX_ATTR_LABELLEDBY_IDS) 1361 browserAccessibility_->GetIntListAttribute(ui::AX_ATTR_LABELLEDBY_IDS)
1353 .size() == 1)) { 1362 .size() == 1)) {
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
1501 return [super hash]; 1510 return [super hash];
1502 return browserAccessibility_->GetId(); 1511 return browserAccessibility_->GetId();
1503 } 1512 }
1504 1513
1505 - (BOOL)accessibilityShouldUseUniqueId { 1514 - (BOOL)accessibilityShouldUseUniqueId {
1506 return YES; 1515 return YES;
1507 } 1516 }
1508 1517
1509 @end 1518 @end
1510 1519
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698