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

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

Issue 1046883002: Use multiline attribute to check for IA2_STATE_MULTILINE. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing automation test unit 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 564 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 bool isAriaPressedDefined; 575 bool isAriaPressedDefined;
576 bool isMixed; 576 bool isMixed;
577 browserAccessibility_->GetAriaTristate("aria-pressed", 577 browserAccessibility_->GetAriaTristate("aria-pressed",
578 &isAriaPressedDefined, 578 &isAriaPressedDefined,
579 &isMixed); 579 &isMixed);
580 if (isAriaPressedDefined) 580 if (isAriaPressedDefined)
581 return NSAccessibilityCheckBoxRole; 581 return NSAccessibilityCheckBoxRole;
582 else 582 else
583 return NSAccessibilityButtonRole; 583 return NSAccessibilityButtonRole;
584 } 584 }
585 if (role == ui::AX_ROLE_TEXT_FIELD &&
586 browserAccessibility_->HasState(ui::AX_STATE_MULTILINE)) {
dmazzoni 2015/04/07 16:12:34 nit: indent 4 spaces when continuing a previous li
587 return NSAccessibilityTextAreaRole;
588 }
585 589
586 // If this is a web area for a presentational iframe, give it a role of 590 // If this is a web area for a presentational iframe, give it a role of
587 // something other than WebArea so that the fact that it's a separate doc 591 // something other than WebArea so that the fact that it's a separate doc
588 // is not exposed to AT. 592 // is not exposed to AT.
589 if (browserAccessibility_->IsWebAreaForPresentationalIframe()) 593 if (browserAccessibility_->IsWebAreaForPresentationalIframe())
590 return NSAccessibilityGroupRole; 594 return NSAccessibilityGroupRole;
591 595
592 return [AXPlatformNodeCocoa nativeRoleFromAXRole:role]; 596 return [AXPlatformNodeCocoa nativeRoleFromAXRole:role];
593 } 597 }
594 598
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after
1202 - (NSArray*)accessibilityParameterizedAttributeNames { 1206 - (NSArray*)accessibilityParameterizedAttributeNames {
1203 if (!browserAccessibility_) 1207 if (!browserAccessibility_)
1204 return nil; 1208 return nil;
1205 1209
1206 if ([[self role] isEqualToString:NSAccessibilityTableRole] || 1210 if ([[self role] isEqualToString:NSAccessibilityTableRole] ||
1207 [[self role] isEqualToString:NSAccessibilityGridRole]) { 1211 [[self role] isEqualToString:NSAccessibilityGridRole]) {
1208 return [NSArray arrayWithObjects: 1212 return [NSArray arrayWithObjects:
1209 NSAccessibilityCellForColumnAndRowParameterizedAttribute, 1213 NSAccessibilityCellForColumnAndRowParameterizedAttribute,
1210 nil]; 1214 nil];
1211 } 1215 }
1212 if ([[self role] isEqualToString:NSAccessibilityTextFieldRole] || 1216 if ([[self role] isEqualToString:NSAccessibilityTextFieldRole]) {
1213 [[self role] isEqualToString:NSAccessibilityTextAreaRole]) {
1214 return [NSArray arrayWithObjects: 1217 return [NSArray arrayWithObjects:
1215 NSAccessibilityLineForIndexParameterizedAttribute, 1218 NSAccessibilityLineForIndexParameterizedAttribute,
1216 NSAccessibilityRangeForLineParameterizedAttribute, 1219 NSAccessibilityRangeForLineParameterizedAttribute,
1217 NSAccessibilityStringForRangeParameterizedAttribute, 1220 NSAccessibilityStringForRangeParameterizedAttribute,
1218 NSAccessibilityRangeForPositionParameterizedAttribute, 1221 NSAccessibilityRangeForPositionParameterizedAttribute,
1219 NSAccessibilityRangeForIndexParameterizedAttribute, 1222 NSAccessibilityRangeForIndexParameterizedAttribute,
1220 NSAccessibilityBoundsForRangeParameterizedAttribute, 1223 NSAccessibilityBoundsForRangeParameterizedAttribute,
1221 NSAccessibilityRTFForRangeParameterizedAttribute, 1224 NSAccessibilityRTFForRangeParameterizedAttribute,
1222 NSAccessibilityAttributedStringForRangeParameterizedAttribute, 1225 NSAccessibilityAttributedStringForRangeParameterizedAttribute,
1223 NSAccessibilityStyleRangeForIndexParameterizedAttribute, 1226 NSAccessibilityStyleRangeForIndexParameterizedAttribute,
(...skipping 10 matching lines...) Expand all
1234 // Returns an array of action names that this object will respond to. 1237 // Returns an array of action names that this object will respond to.
1235 - (NSArray*)accessibilityActionNames { 1238 - (NSArray*)accessibilityActionNames {
1236 if (!browserAccessibility_) 1239 if (!browserAccessibility_)
1237 return nil; 1240 return nil;
1238 1241
1239 NSMutableArray* ret = 1242 NSMutableArray* ret =
1240 [NSMutableArray arrayWithObject:NSAccessibilityShowMenuAction]; 1243 [NSMutableArray arrayWithObject:NSAccessibilityShowMenuAction];
1241 NSString* role = [self role]; 1244 NSString* role = [self role];
1242 // TODO(dtseng): this should only get set when there's a default action. 1245 // TODO(dtseng): this should only get set when there's a default action.
1243 if (![role isEqualToString:NSAccessibilityStaticTextRole] && 1246 if (![role isEqualToString:NSAccessibilityStaticTextRole] &&
1244 ![role isEqualToString:NSAccessibilityTextAreaRole] &&
1245 ![role isEqualToString:NSAccessibilityTextFieldRole]) { 1247 ![role isEqualToString:NSAccessibilityTextFieldRole]) {
1246 [ret addObject:NSAccessibilityPressAction]; 1248 [ret addObject:NSAccessibilityPressAction];
1247 } 1249 }
1248 1250
1249 return ret; 1251 return ret;
1250 } 1252 }
1251 1253
1252 // Returns a sub-array of values for the given attribute value, starting at 1254 // Returns a sub-array of values for the given attribute value, starting at
1253 // index, with up to maxCount items. If the given index is out of bounds, 1255 // index, with up to maxCount items. If the given index is out of bounds,
1254 // or there are no values for the given attribute, it will return nil. 1256 // or there are no values for the given attribute, it will return nil.
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
1339 [ret addObjectsFromArray:[NSArray arrayWithObjects: 1341 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1340 NSAccessibilityColumnIndexRangeAttribute, 1342 NSAccessibilityColumnIndexRangeAttribute,
1341 NSAccessibilityRowIndexRangeAttribute, 1343 NSAccessibilityRowIndexRangeAttribute,
1342 @"AXSortDirection", 1344 @"AXSortDirection",
1343 nil]]; 1345 nil]];
1344 } else if ([role isEqualToString:@"AXWebArea"]) { 1346 } else if ([role isEqualToString:@"AXWebArea"]) {
1345 [ret addObjectsFromArray:[NSArray arrayWithObjects: 1347 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1346 @"AXLoaded", 1348 @"AXLoaded",
1347 @"AXLoadingProgress", 1349 @"AXLoadingProgress",
1348 nil]]; 1350 nil]];
1349 } else if ([role isEqualToString:NSAccessibilityTextFieldRole] || 1351 } else if ([role isEqualToString:NSAccessibilityTextFieldRole]) {
1350 [role isEqualToString:NSAccessibilityTextAreaRole]) {
1351 [ret addObjectsFromArray:[NSArray arrayWithObjects: 1352 [ret addObjectsFromArray:[NSArray arrayWithObjects:
1352 NSAccessibilityInsertionPointLineNumberAttribute, 1353 NSAccessibilityInsertionPointLineNumberAttribute,
1353 NSAccessibilityNumberOfCharactersAttribute, 1354 NSAccessibilityNumberOfCharactersAttribute,
1354 NSAccessibilitySelectedTextAttribute, 1355 NSAccessibilitySelectedTextAttribute,
1355 NSAccessibilitySelectedTextRangeAttribute, 1356 NSAccessibilitySelectedTextRangeAttribute,
1356 NSAccessibilityVisibleCharacterRangeAttribute, 1357 NSAccessibilityVisibleCharacterRangeAttribute,
1357 nil]]; 1358 nil]];
1358 } else if ([role isEqualToString:NSAccessibilityTabGroupRole]) { 1359 } else if ([role isEqualToString:NSAccessibilityTabGroupRole]) {
1359 [ret addObject:NSAccessibilityTabsAttribute]; 1360 [ret addObject:NSAccessibilityTabsAttribute];
1360 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] || 1361 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] ||
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1506 return NO; 1507 return NO;
1507 1508
1508 if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) 1509 if ([attribute isEqualToString:NSAccessibilityFocusedAttribute])
1509 return GetState(browserAccessibility_, 1510 return GetState(browserAccessibility_,
1510 ui::AX_STATE_FOCUSABLE); 1511 ui::AX_STATE_FOCUSABLE);
1511 if ([attribute isEqualToString:NSAccessibilityValueAttribute]) { 1512 if ([attribute isEqualToString:NSAccessibilityValueAttribute]) {
1512 return browserAccessibility_->GetBoolAttribute( 1513 return browserAccessibility_->GetBoolAttribute(
1513 ui::AX_ATTR_CAN_SET_VALUE); 1514 ui::AX_ATTR_CAN_SET_VALUE);
1514 } 1515 }
1515 if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute] && 1516 if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute] &&
1516 ([[self role] isEqualToString:NSAccessibilityTextFieldRole] || 1517 ([[self role] isEqualToString:NSAccessibilityTextFieldRole]))
1517 [[self role] isEqualToString:NSAccessibilityTextAreaRole]))
1518 return YES; 1518 return YES;
1519 1519
1520 return NO; 1520 return NO;
1521 } 1521 }
1522 1522
1523 // Returns whether or not this object should be ignored in the accessibility 1523 // Returns whether or not this object should be ignored in the accessibility
1524 // tree. 1524 // tree.
1525 - (BOOL)accessibilityIsIgnored { 1525 - (BOOL)accessibilityIsIgnored {
1526 if (!browserAccessibility_) 1526 if (!browserAccessibility_)
1527 return true; 1527 return true;
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
1624 if (!browserAccessibility_) 1624 if (!browserAccessibility_)
1625 return [super hash]; 1625 return [super hash];
1626 return browserAccessibility_->GetId(); 1626 return browserAccessibility_->GetId();
1627 } 1627 }
1628 1628
1629 - (BOOL)accessibilityShouldUseUniqueId { 1629 - (BOOL)accessibilityShouldUseUniqueId {
1630 return YES; 1630 return YES;
1631 } 1631 }
1632 1632
1633 @end 1633 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698