OLD | NEW |
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 1191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1202 - (NSArray*)accessibilityParameterizedAttributeNames { | 1202 - (NSArray*)accessibilityParameterizedAttributeNames { |
1203 if (!browserAccessibility_) | 1203 if (!browserAccessibility_) |
1204 return nil; | 1204 return nil; |
1205 | 1205 |
1206 if ([[self role] isEqualToString:NSAccessibilityTableRole] || | 1206 if ([[self role] isEqualToString:NSAccessibilityTableRole] || |
1207 [[self role] isEqualToString:NSAccessibilityGridRole]) { | 1207 [[self role] isEqualToString:NSAccessibilityGridRole]) { |
1208 return [NSArray arrayWithObjects: | 1208 return [NSArray arrayWithObjects: |
1209 NSAccessibilityCellForColumnAndRowParameterizedAttribute, | 1209 NSAccessibilityCellForColumnAndRowParameterizedAttribute, |
1210 nil]; | 1210 nil]; |
1211 } | 1211 } |
1212 if ([[self role] isEqualToString:NSAccessibilityTextFieldRole] || | 1212 if ([[self role] isEqualToString:NSAccessibilityTextFieldRole]) { |
1213 [[self role] isEqualToString:NSAccessibilityTextAreaRole]) { | |
1214 return [NSArray arrayWithObjects: | 1213 return [NSArray arrayWithObjects: |
1215 NSAccessibilityLineForIndexParameterizedAttribute, | 1214 NSAccessibilityLineForIndexParameterizedAttribute, |
1216 NSAccessibilityRangeForLineParameterizedAttribute, | 1215 NSAccessibilityRangeForLineParameterizedAttribute, |
1217 NSAccessibilityStringForRangeParameterizedAttribute, | 1216 NSAccessibilityStringForRangeParameterizedAttribute, |
1218 NSAccessibilityRangeForPositionParameterizedAttribute, | 1217 NSAccessibilityRangeForPositionParameterizedAttribute, |
1219 NSAccessibilityRangeForIndexParameterizedAttribute, | 1218 NSAccessibilityRangeForIndexParameterizedAttribute, |
1220 NSAccessibilityBoundsForRangeParameterizedAttribute, | 1219 NSAccessibilityBoundsForRangeParameterizedAttribute, |
1221 NSAccessibilityRTFForRangeParameterizedAttribute, | 1220 NSAccessibilityRTFForRangeParameterizedAttribute, |
1222 NSAccessibilityAttributedStringForRangeParameterizedAttribute, | 1221 NSAccessibilityAttributedStringForRangeParameterizedAttribute, |
1223 NSAccessibilityStyleRangeForIndexParameterizedAttribute, | 1222 NSAccessibilityStyleRangeForIndexParameterizedAttribute, |
(...skipping 10 matching lines...) Expand all Loading... |
1234 // Returns an array of action names that this object will respond to. | 1233 // Returns an array of action names that this object will respond to. |
1235 - (NSArray*)accessibilityActionNames { | 1234 - (NSArray*)accessibilityActionNames { |
1236 if (!browserAccessibility_) | 1235 if (!browserAccessibility_) |
1237 return nil; | 1236 return nil; |
1238 | 1237 |
1239 NSMutableArray* ret = | 1238 NSMutableArray* ret = |
1240 [NSMutableArray arrayWithObject:NSAccessibilityShowMenuAction]; | 1239 [NSMutableArray arrayWithObject:NSAccessibilityShowMenuAction]; |
1241 NSString* role = [self role]; | 1240 NSString* role = [self role]; |
1242 // TODO(dtseng): this should only get set when there's a default action. | 1241 // TODO(dtseng): this should only get set when there's a default action. |
1243 if (![role isEqualToString:NSAccessibilityStaticTextRole] && | 1242 if (![role isEqualToString:NSAccessibilityStaticTextRole] && |
1244 ![role isEqualToString:NSAccessibilityTextAreaRole] && | |
1245 ![role isEqualToString:NSAccessibilityTextFieldRole]) { | 1243 ![role isEqualToString:NSAccessibilityTextFieldRole]) { |
1246 [ret addObject:NSAccessibilityPressAction]; | 1244 [ret addObject:NSAccessibilityPressAction]; |
1247 } | 1245 } |
1248 | 1246 |
1249 return ret; | 1247 return ret; |
1250 } | 1248 } |
1251 | 1249 |
1252 // Returns a sub-array of values for the given attribute value, starting at | 1250 // 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, | 1251 // 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. | 1252 // 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 Loading... |
1339 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1337 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
1340 NSAccessibilityColumnIndexRangeAttribute, | 1338 NSAccessibilityColumnIndexRangeAttribute, |
1341 NSAccessibilityRowIndexRangeAttribute, | 1339 NSAccessibilityRowIndexRangeAttribute, |
1342 @"AXSortDirection", | 1340 @"AXSortDirection", |
1343 nil]]; | 1341 nil]]; |
1344 } else if ([role isEqualToString:@"AXWebArea"]) { | 1342 } else if ([role isEqualToString:@"AXWebArea"]) { |
1345 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1343 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
1346 @"AXLoaded", | 1344 @"AXLoaded", |
1347 @"AXLoadingProgress", | 1345 @"AXLoadingProgress", |
1348 nil]]; | 1346 nil]]; |
1349 } else if ([role isEqualToString:NSAccessibilityTextFieldRole] || | 1347 } else if ([role isEqualToString:NSAccessibilityTextFieldRole]) { |
1350 [role isEqualToString:NSAccessibilityTextAreaRole]) { | |
1351 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1348 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
1352 NSAccessibilityInsertionPointLineNumberAttribute, | 1349 NSAccessibilityInsertionPointLineNumberAttribute, |
1353 NSAccessibilityNumberOfCharactersAttribute, | 1350 NSAccessibilityNumberOfCharactersAttribute, |
1354 NSAccessibilitySelectedTextAttribute, | 1351 NSAccessibilitySelectedTextAttribute, |
1355 NSAccessibilitySelectedTextRangeAttribute, | 1352 NSAccessibilitySelectedTextRangeAttribute, |
1356 NSAccessibilityVisibleCharacterRangeAttribute, | 1353 NSAccessibilityVisibleCharacterRangeAttribute, |
1357 nil]]; | 1354 nil]]; |
1358 } else if ([role isEqualToString:NSAccessibilityTabGroupRole]) { | 1355 } else if ([role isEqualToString:NSAccessibilityTabGroupRole]) { |
1359 [ret addObject:NSAccessibilityTabsAttribute]; | 1356 [ret addObject:NSAccessibilityTabsAttribute]; |
1360 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] || | 1357 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] || |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1506 return NO; | 1503 return NO; |
1507 | 1504 |
1508 if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) | 1505 if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) |
1509 return GetState(browserAccessibility_, | 1506 return GetState(browserAccessibility_, |
1510 ui::AX_STATE_FOCUSABLE); | 1507 ui::AX_STATE_FOCUSABLE); |
1511 if ([attribute isEqualToString:NSAccessibilityValueAttribute]) { | 1508 if ([attribute isEqualToString:NSAccessibilityValueAttribute]) { |
1512 return browserAccessibility_->GetBoolAttribute( | 1509 return browserAccessibility_->GetBoolAttribute( |
1513 ui::AX_ATTR_CAN_SET_VALUE); | 1510 ui::AX_ATTR_CAN_SET_VALUE); |
1514 } | 1511 } |
1515 if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute] && | 1512 if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute] && |
1516 ([[self role] isEqualToString:NSAccessibilityTextFieldRole] || | 1513 ([[self role] isEqualToString:NSAccessibilityTextFieldRole])) |
1517 [[self role] isEqualToString:NSAccessibilityTextAreaRole])) | |
1518 return YES; | 1514 return YES; |
1519 | 1515 |
1520 return NO; | 1516 return NO; |
1521 } | 1517 } |
1522 | 1518 |
1523 // Returns whether or not this object should be ignored in the accessibility | 1519 // Returns whether or not this object should be ignored in the accessibility |
1524 // tree. | 1520 // tree. |
1525 - (BOOL)accessibilityIsIgnored { | 1521 - (BOOL)accessibilityIsIgnored { |
1526 if (!browserAccessibility_) | 1522 if (!browserAccessibility_) |
1527 return true; | 1523 return true; |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1624 if (!browserAccessibility_) | 1620 if (!browserAccessibility_) |
1625 return [super hash]; | 1621 return [super hash]; |
1626 return browserAccessibility_->GetId(); | 1622 return browserAccessibility_->GetId(); |
1627 } | 1623 } |
1628 | 1624 |
1629 - (BOOL)accessibilityShouldUseUniqueId { | 1625 - (BOOL)accessibilityShouldUseUniqueId { |
1630 return YES; | 1626 return YES; |
1631 } | 1627 } |
1632 | 1628 |
1633 @end | 1629 @end |
OLD | NEW |