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

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

Issue 2712153002: Mac accessibility: Add support for AXDOMIdentifier (Closed)
Patch Set: Revert clang-format Created 3 years, 9 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 #import "content/browser/accessibility/browser_accessibility_cocoa.h" 5 #import "content/browser/accessibility/browser_accessibility_cocoa.h"
6 6
7 #include <execinfo.h> 7 #include <execinfo.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 #include <string.h> 10 #include <string.h>
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 NSString* const NSAccessibilityARIABusyAttribute = @"AXARIABusy"; 53 NSString* const NSAccessibilityARIABusyAttribute = @"AXARIABusy";
54 NSString* const NSAccessibilityARIAColumnCountAttribute = @"AXARIAColumnCount"; 54 NSString* const NSAccessibilityARIAColumnCountAttribute = @"AXARIAColumnCount";
55 NSString* const NSAccessibilityARIAColumnIndexAttribute = @"AXARIAColumnIndex"; 55 NSString* const NSAccessibilityARIAColumnIndexAttribute = @"AXARIAColumnIndex";
56 NSString* const NSAccessibilityARIALiveAttribute = @"AXARIALive"; 56 NSString* const NSAccessibilityARIALiveAttribute = @"AXARIALive";
57 NSString* const NSAccessibilityARIAPosInSetAttribute = @"AXARIAPosInSet"; 57 NSString* const NSAccessibilityARIAPosInSetAttribute = @"AXARIAPosInSet";
58 NSString* const NSAccessibilityARIARelevantAttribute = @"AXARIARelevant"; 58 NSString* const NSAccessibilityARIARelevantAttribute = @"AXARIARelevant";
59 NSString* const NSAccessibilityARIARowCountAttribute = @"AXARIARowCount"; 59 NSString* const NSAccessibilityARIARowCountAttribute = @"AXARIARowCount";
60 NSString* const NSAccessibilityARIARowIndexAttribute = @"AXARIARowIndex"; 60 NSString* const NSAccessibilityARIARowIndexAttribute = @"AXARIARowIndex";
61 NSString* const NSAccessibilityARIASetSizeAttribute = @"AXARIASetSize"; 61 NSString* const NSAccessibilityARIASetSizeAttribute = @"AXARIASetSize";
62 NSString* const NSAccessibilityAccessKeyAttribute = @"AXAccessKey"; 62 NSString* const NSAccessibilityAccessKeyAttribute = @"AXAccessKey";
63 NSString* const NSAccessibilityDOMIdentifierAttribute = @"AXDOMIdentifier";
63 NSString* const NSAccessibilityDropEffectsAttribute = @"AXDropEffects"; 64 NSString* const NSAccessibilityDropEffectsAttribute = @"AXDropEffects";
64 NSString* const NSAccessibilityGrabbedAttribute = @"AXGrabbed"; 65 NSString* const NSAccessibilityGrabbedAttribute = @"AXGrabbed";
65 NSString* const NSAccessibilityInvalidAttribute = @"AXInvalid"; 66 NSString* const NSAccessibilityInvalidAttribute = @"AXInvalid";
66 NSString* const NSAccessibilityIsMultiSelectableAttribute = 67 NSString* const NSAccessibilityIsMultiSelectableAttribute =
67 @"AXIsMultiSelectable"; 68 @"AXIsMultiSelectable";
68 NSString* const NSAccessibilityLoadingProgressAttribute = @"AXLoadingProgress"; 69 NSString* const NSAccessibilityLoadingProgressAttribute = @"AXLoadingProgress";
69 NSString* const 70 NSString* const
70 NSAccessibilityUIElementCountForSearchPredicateParameterizedAttribute = 71 NSAccessibilityUIElementCountForSearchPredicateParameterizedAttribute =
71 @"AXUIElementCountForSearchPredicate"; 72 @"AXUIElementCountForSearchPredicate";
72 NSString* const 73 NSString* const
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
545 {NSAccessibilityColumnsAttribute, @"columns"}, 546 {NSAccessibilityColumnsAttribute, @"columns"},
546 {NSAccessibilityColumnHeaderUIElementsAttribute, @"columnHeaders"}, 547 {NSAccessibilityColumnHeaderUIElementsAttribute, @"columnHeaders"},
547 {NSAccessibilityColumnIndexRangeAttribute, @"columnIndexRange"}, 548 {NSAccessibilityColumnIndexRangeAttribute, @"columnIndexRange"},
548 {NSAccessibilityContentsAttribute, @"contents"}, 549 {NSAccessibilityContentsAttribute, @"contents"},
549 {NSAccessibilityDescriptionAttribute, @"description"}, 550 {NSAccessibilityDescriptionAttribute, @"description"},
550 {NSAccessibilityDisclosingAttribute, @"disclosing"}, 551 {NSAccessibilityDisclosingAttribute, @"disclosing"},
551 {NSAccessibilityDisclosedByRowAttribute, @"disclosedByRow"}, 552 {NSAccessibilityDisclosedByRowAttribute, @"disclosedByRow"},
552 {NSAccessibilityDisclosureLevelAttribute, @"disclosureLevel"}, 553 {NSAccessibilityDisclosureLevelAttribute, @"disclosureLevel"},
553 {NSAccessibilityDisclosedRowsAttribute, @"disclosedRows"}, 554 {NSAccessibilityDisclosedRowsAttribute, @"disclosedRows"},
554 {NSAccessibilityDropEffectsAttribute, @"dropEffects"}, 555 {NSAccessibilityDropEffectsAttribute, @"dropEffects"},
556 {NSAccessibilityDOMIdentifierAttribute, @"domIdentifier"},
555 {NSAccessibilityEnabledAttribute, @"enabled"}, 557 {NSAccessibilityEnabledAttribute, @"enabled"},
556 {NSAccessibilityEndTextMarkerAttribute, @"endTextMarker"}, 558 {NSAccessibilityEndTextMarkerAttribute, @"endTextMarker"},
557 {NSAccessibilityExpandedAttribute, @"expanded"}, 559 {NSAccessibilityExpandedAttribute, @"expanded"},
558 {NSAccessibilityFocusedAttribute, @"focused"}, 560 {NSAccessibilityFocusedAttribute, @"focused"},
559 {NSAccessibilityGrabbedAttribute, @"grabbed"}, 561 {NSAccessibilityGrabbedAttribute, @"grabbed"},
560 {NSAccessibilityHeaderAttribute, @"header"}, 562 {NSAccessibilityHeaderAttribute, @"header"},
561 {NSAccessibilityHelpAttribute, @"help"}, 563 {NSAccessibilityHelpAttribute, @"help"},
562 {NSAccessibilityIndexAttribute, @"index"}, 564 {NSAccessibilityIndexAttribute, @"index"},
563 {NSAccessibilityInsertionPointLineNumberAttribute, 565 {NSAccessibilityInsertionPointLineNumberAttribute,
564 @"insertionPointLineNumber"}, 566 @"insertionPointLineNumber"},
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
937 if (![self instanceActive]) 939 if (![self instanceActive])
938 return nil; 940 return nil;
939 941
940 std::string dropEffects; 942 std::string dropEffects;
941 if (browserAccessibility_->GetHtmlAttribute("aria-dropeffect", &dropEffects)) 943 if (browserAccessibility_->GetHtmlAttribute("aria-dropeffect", &dropEffects))
942 return base::SysUTF8ToNSString(dropEffects); 944 return base::SysUTF8ToNSString(dropEffects);
943 945
944 return nil; 946 return nil;
945 } 947 }
946 948
949 - (NSString*)domIdentifier {
950 if (![self instanceActive])
951 return nil;
952
953 std::string id;
954 if (browserAccessibility_->GetHtmlAttribute("id", &id))
955 return base::SysUTF8ToNSString(id);
956
957 return nil;
958 }
959
947 - (NSNumber*)enabled { 960 - (NSNumber*)enabled {
948 if (![self instanceActive]) 961 if (![self instanceActive])
949 return nil; 962 return nil;
950 return [NSNumber numberWithBool: 963 return [NSNumber numberWithBool:
951 !GetState(browserAccessibility_, ui::AX_STATE_DISABLED)]; 964 !GetState(browserAccessibility_, ui::AX_STATE_DISABLED)];
952 } 965 }
953 966
954 // Returns a text marker that points to the last character in the document that 967 // Returns a text marker that points to the last character in the document that
955 // can be selected with VoiceOver. 968 // can be selected with VoiceOver.
956 - (id)endTextMarker { 969 - (id)endTextMarker {
(...skipping 1591 matching lines...) Expand 10 before | Expand all | Expand 10 after
2548 // Returns the list of accessibility attributes that this object supports. 2561 // Returns the list of accessibility attributes that this object supports.
2549 - (NSArray*)accessibilityAttributeNames { 2562 - (NSArray*)accessibilityAttributeNames {
2550 if (![self instanceActive]) 2563 if (![self instanceActive])
2551 return nil; 2564 return nil;
2552 2565
2553 // General attributes. 2566 // General attributes.
2554 NSMutableArray* ret = [NSMutableArray 2567 NSMutableArray* ret = [NSMutableArray
2555 arrayWithObjects:NSAccessibilityAccessKeyAttribute, 2568 arrayWithObjects:NSAccessibilityAccessKeyAttribute,
2556 NSAccessibilityChildrenAttribute, 2569 NSAccessibilityChildrenAttribute,
2557 NSAccessibilityDescriptionAttribute, 2570 NSAccessibilityDescriptionAttribute,
2571 NSAccessibilityDOMIdentifierAttribute,
2558 NSAccessibilityEnabledAttribute, 2572 NSAccessibilityEnabledAttribute,
2559 NSAccessibilityEndTextMarkerAttribute, 2573 NSAccessibilityEndTextMarkerAttribute,
2560 NSAccessibilityFocusedAttribute, 2574 NSAccessibilityFocusedAttribute,
2561 NSAccessibilityHelpAttribute, 2575 NSAccessibilityHelpAttribute,
2562 NSAccessibilityInvalidAttribute, 2576 NSAccessibilityInvalidAttribute,
2563 NSAccessibilityLinkedUIElementsAttribute, 2577 NSAccessibilityLinkedUIElementsAttribute,
2564 NSAccessibilityParentAttribute, 2578 NSAccessibilityParentAttribute,
2565 NSAccessibilityPositionAttribute, 2579 NSAccessibilityPositionAttribute,
2566 NSAccessibilityRoleAttribute, 2580 NSAccessibilityRoleAttribute,
2567 NSAccessibilityRoleDescriptionAttribute, 2581 NSAccessibilityRoleDescriptionAttribute,
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
2872 } 2886 }
2873 2887
2874 - (BOOL)accessibilityNotifiesWhenDestroyed { 2888 - (BOOL)accessibilityNotifiesWhenDestroyed {
2875 // Indicate that BrowserAccessibilityCocoa will post a notification when it's 2889 // Indicate that BrowserAccessibilityCocoa will post a notification when it's
2876 // destroyed (see -detach). This allows VoiceOver to do some internal things 2890 // destroyed (see -detach). This allows VoiceOver to do some internal things
2877 // more efficiently. 2891 // more efficiently.
2878 return YES; 2892 return YES;
2879 } 2893 }
2880 2894
2881 @end 2895 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698