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 1544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1555 @"AXUIElementCountForSearchPredicate", | 1555 @"AXUIElementCountForSearchPredicate", |
1556 @"AXUIElementsForSearchPredicate", | 1556 @"AXUIElementsForSearchPredicate", |
1557 nil]; | 1557 nil]; |
1558 | 1558 |
1559 if ([[self role] isEqualToString:NSAccessibilityTableRole] || | 1559 if ([[self role] isEqualToString:NSAccessibilityTableRole] || |
1560 [[self role] isEqualToString:NSAccessibilityGridRole]) { | 1560 [[self role] isEqualToString:NSAccessibilityGridRole]) { |
1561 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1561 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
1562 NSAccessibilityCellForColumnAndRowParameterizedAttribute, | 1562 NSAccessibilityCellForColumnAndRowParameterizedAttribute, |
1563 nil]]; | 1563 nil]]; |
1564 } | 1564 } |
1565 if ([[self role] isEqualToString:NSAccessibilityTextFieldRole] || | 1565 if (browserAccessibility_->IsEditableText()) { |
1566 [[self role] isEqualToString:NSAccessibilityTextAreaRole]) { | |
1567 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1566 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
1568 NSAccessibilityLineForIndexParameterizedAttribute, | 1567 NSAccessibilityLineForIndexParameterizedAttribute, |
1569 NSAccessibilityRangeForLineParameterizedAttribute, | 1568 NSAccessibilityRangeForLineParameterizedAttribute, |
1570 NSAccessibilityStringForRangeParameterizedAttribute, | 1569 NSAccessibilityStringForRangeParameterizedAttribute, |
1571 NSAccessibilityRangeForPositionParameterizedAttribute, | 1570 NSAccessibilityRangeForPositionParameterizedAttribute, |
1572 NSAccessibilityRangeForIndexParameterizedAttribute, | 1571 NSAccessibilityRangeForIndexParameterizedAttribute, |
1573 NSAccessibilityBoundsForRangeParameterizedAttribute, | 1572 NSAccessibilityBoundsForRangeParameterizedAttribute, |
1574 NSAccessibilityRTFForRangeParameterizedAttribute, | 1573 NSAccessibilityRTFForRangeParameterizedAttribute, |
1575 NSAccessibilityAttributedStringForRangeParameterizedAttribute, | 1574 NSAccessibilityAttributedStringForRangeParameterizedAttribute, |
1576 NSAccessibilityStyleRangeForIndexParameterizedAttribute, | 1575 NSAccessibilityStyleRangeForIndexParameterizedAttribute, |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1692 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1691 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
1693 NSAccessibilityColumnIndexRangeAttribute, | 1692 NSAccessibilityColumnIndexRangeAttribute, |
1694 NSAccessibilityRowIndexRangeAttribute, | 1693 NSAccessibilityRowIndexRangeAttribute, |
1695 @"AXSortDirection", | 1694 @"AXSortDirection", |
1696 nil]]; | 1695 nil]]; |
1697 } else if ([role isEqualToString:@"AXWebArea"]) { | 1696 } else if ([role isEqualToString:@"AXWebArea"]) { |
1698 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1697 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
1699 @"AXLoaded", | 1698 @"AXLoaded", |
1700 @"AXLoadingProgress", | 1699 @"AXLoadingProgress", |
1701 nil]]; | 1700 nil]]; |
1702 } else if ([role isEqualToString:NSAccessibilityTextFieldRole] || | |
1703 [role isEqualToString:NSAccessibilityTextAreaRole]) { | |
1704 [ret addObjectsFromArray:[NSArray arrayWithObjects: | |
1705 NSAccessibilityInsertionPointLineNumberAttribute, | |
1706 NSAccessibilityNumberOfCharactersAttribute, | |
1707 NSAccessibilitySelectedTextAttribute, | |
1708 NSAccessibilitySelectedTextRangeAttribute, | |
1709 NSAccessibilityVisibleCharacterRangeAttribute, | |
1710 nil]]; | |
1711 } else if ([role isEqualToString:NSAccessibilityTabGroupRole]) { | 1701 } else if ([role isEqualToString:NSAccessibilityTabGroupRole]) { |
1712 [ret addObject:NSAccessibilityTabsAttribute]; | 1702 [ret addObject:NSAccessibilityTabsAttribute]; |
1713 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] || | 1703 } else if ([role isEqualToString:NSAccessibilityProgressIndicatorRole] || |
1714 [role isEqualToString:NSAccessibilitySliderRole] || | 1704 [role isEqualToString:NSAccessibilitySliderRole] || |
1715 [role isEqualToString:NSAccessibilityIncrementorRole] || | 1705 [role isEqualToString:NSAccessibilityIncrementorRole] || |
1716 [role isEqualToString:NSAccessibilityScrollBarRole]) { | 1706 [role isEqualToString:NSAccessibilityScrollBarRole]) { |
1717 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1707 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
1718 NSAccessibilityMaxValueAttribute, | 1708 NSAccessibilityMaxValueAttribute, |
1719 NSAccessibilityMinValueAttribute, | 1709 NSAccessibilityMinValueAttribute, |
1720 NSAccessibilityValueDescriptionAttribute, | 1710 NSAccessibilityValueDescriptionAttribute, |
(...skipping 24 matching lines...) Expand all Loading... |
1745 nil]]; | 1735 nil]]; |
1746 } | 1736 } |
1747 } | 1737 } |
1748 } else if ([role isEqualToString:NSAccessibilityListRole]) { | 1738 } else if ([role isEqualToString:NSAccessibilityListRole]) { |
1749 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1739 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
1750 NSAccessibilitySelectedChildrenAttribute, | 1740 NSAccessibilitySelectedChildrenAttribute, |
1751 NSAccessibilityVisibleChildrenAttribute, | 1741 NSAccessibilityVisibleChildrenAttribute, |
1752 nil]]; | 1742 nil]]; |
1753 } | 1743 } |
1754 | 1744 |
| 1745 // Caret navigation and text selection attributes. |
| 1746 if (browserAccessibility_->IsEditableText()) { |
| 1747 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
| 1748 NSAccessibilityInsertionPointLineNumberAttribute, |
| 1749 NSAccessibilityNumberOfCharactersAttribute, |
| 1750 NSAccessibilitySelectedTextAttribute, |
| 1751 NSAccessibilitySelectedTextRangeAttribute, |
| 1752 NSAccessibilityVisibleCharacterRangeAttribute, |
| 1753 nil]]; |
| 1754 } |
| 1755 |
1755 // Add the url attribute only if it has a valid url. | 1756 // Add the url attribute only if it has a valid url. |
1756 if ([self url] != nil) { | 1757 if ([self url] != nil) { |
1757 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1758 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
1758 NSAccessibilityURLAttribute, | 1759 NSAccessibilityURLAttribute, |
1759 nil]]; | 1760 nil]]; |
1760 } | 1761 } |
1761 | 1762 |
1762 // Position in set and Set size | 1763 // Position in set and Set size |
1763 if (browserAccessibility_->HasIntAttribute(ui::AX_ATTR_POS_IN_SET)) { | 1764 if (browserAccessibility_->HasIntAttribute(ui::AX_ATTR_POS_IN_SET)) { |
1764 [ret addObjectsFromArray:[NSArray arrayWithObjects: | 1765 [ret addObjectsFromArray:[NSArray arrayWithObjects: |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1985 if (!browserAccessibility_) | 1986 if (!browserAccessibility_) |
1986 return [super hash]; | 1987 return [super hash]; |
1987 return browserAccessibility_->GetId(); | 1988 return browserAccessibility_->GetId(); |
1988 } | 1989 } |
1989 | 1990 |
1990 - (BOOL)accessibilityShouldUseUniqueId { | 1991 - (BOOL)accessibilityShouldUseUniqueId { |
1991 return YES; | 1992 return YES; |
1992 } | 1993 } |
1993 | 1994 |
1994 @end | 1995 @end |
OLD | NEW |