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

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

Issue 1308153012: Uses isEditable and isRichlyEditable to determine which attributes to expose on Mac and how to repr… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed unit test by adding EDITABLE role manually. Created 5 years, 3 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 1544 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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
OLDNEW
« no previous file with comments | « content/browser/accessibility/browser_accessibility.cc ('k') | content/browser/accessibility/browser_accessibility_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698