| 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 #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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |