Index: content/browser/accessibility/browser_accessibility_cocoa.mm |
diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm |
index 140af1c12c1b55b668033d5ba839a0b4506254e9..b05d0d16ede874e7436265935710cd667a7de5d9 100644 |
--- a/content/browser/accessibility/browser_accessibility_cocoa.mm |
+++ b/content/browser/accessibility/browser_accessibility_cocoa.mm |
@@ -44,9 +44,13 @@ namespace { |
// Private WebKit accessibility attributes. |
NSString* const NSAccessibilityARIAAtomicAttribute = @"AXARIAAtomic"; |
NSString* const NSAccessibilityARIABusyAttribute = @"AXARIABusy"; |
+NSString* const NSAccessibilityARIAColumnCountAttribute = @"AXARIAColumnCount"; |
+NSString* const NSAccessibilityARIAColumnIndexAttribute = @"AXARIAColumnIndex"; |
NSString* const NSAccessibilityARIALiveAttribute = @"AXARIALive"; |
NSString* const NSAccessibilityARIAPosInSetAttribute = @"AXARIAPosInSet"; |
NSString* const NSAccessibilityARIARelevantAttribute = @"AXARIARelevant"; |
+NSString* const NSAccessibilityARIARowCountAttribute = @"AXARIARowCount"; |
+NSString* const NSAccessibilityARIARowIndexAttribute = @"AXARIARowIndex"; |
NSString* const NSAccessibilityARIASetSizeAttribute = @"AXARIASetSize"; |
NSString* const NSAccessibilityAccessKeyAttribute = @"AXAccessKey"; |
NSString* const NSAccessibilityDropEffectsAttribute = @"AXDropEffects"; |
@@ -513,9 +517,13 @@ NSString* const NSAccessibilityRequiredAttribute = @"AXRequired"; |
} attributeToMethodNameContainer[] = { |
{NSAccessibilityARIAAtomicAttribute, @"ariaAtomic"}, |
{NSAccessibilityARIABusyAttribute, @"ariaBusy"}, |
+ {NSAccessibilityARIAColumnCountAttribute, @"ariaColumnCount"}, |
+ {NSAccessibilityARIAColumnIndexAttribute, @"ariaColumnIndex"}, |
{NSAccessibilityARIALiveAttribute, @"ariaLive"}, |
{NSAccessibilityARIAPosInSetAttribute, @"ariaPosInSet"}, |
{NSAccessibilityARIARelevantAttribute, @"ariaRelevant"}, |
+ {NSAccessibilityARIARowCountAttribute, @"ariaRowCount"}, |
+ {NSAccessibilityARIARowIndexAttribute, @"ariaRowIndex"}, |
{NSAccessibilityARIASetSizeAttribute, @"ariaSetSize"}, |
{NSAccessibilityAccessKeyAttribute, @"accessKey"}, |
{NSAccessibilityChildrenAttribute, @"children"}, |
@@ -632,6 +640,26 @@ NSString* const NSAccessibilityRequiredAttribute = @"AXRequired"; |
GetState(browserAccessibility_, ui::AX_STATE_BUSY)]; |
} |
+- (NSNumber*)ariaColumnCount { |
+ if (!browserAccessibility_->IsTableOrGridOrTreeGridRole()) |
+ return nil; |
+ int count = -1; |
+ if (!browserAccessibility_->GetIntAttribute( |
+ ui::AX_ATTR_ARIA_COL_COUNT, &count)) |
+ return nil; |
+ return [NSNumber numberWithInt:count]; |
+} |
+ |
+- (NSNumber*)ariaColumnIndex { |
+ if (!browserAccessibility_->IsCellOrTableHeaderRole()) |
+ return nil; |
+ int index = -1; |
+ if (!browserAccessibility_->GetIntAttribute( |
+ ui::AX_ATTR_ARIA_COL_INDEX, &index)) |
+ return nil; |
+ return [NSNumber numberWithInt:index]; |
+} |
+ |
- (NSString*)ariaLive { |
if (![self instanceActive]) |
return nil; |
@@ -653,6 +681,26 @@ NSString* const NSAccessibilityRequiredAttribute = @"AXRequired"; |
ui::AX_ATTR_LIVE_RELEVANT); |
} |
+- (NSNumber*)ariaRowCount { |
+ if (!browserAccessibility_->IsTableOrGridOrTreeGridRole()) |
+ return nil; |
+ int count = -1; |
+ if (!browserAccessibility_->GetIntAttribute( |
+ ui::AX_ATTR_ARIA_ROW_COUNT, &count)) |
+ return nil; |
+ return [NSNumber numberWithInt:count]; |
+} |
+ |
+- (NSNumber*)ariaRowIndex { |
+ if (!browserAccessibility_->IsCellOrTableHeaderRole()) |
+ return nil; |
+ int index = -1; |
+ if (!browserAccessibility_->GetIntAttribute( |
+ ui::AX_ATTR_ARIA_ROW_INDEX, &index)) |
+ return nil; |
+ return [NSNumber numberWithInt:index]; |
+} |
+ |
- (NSNumber*)ariaSetSize { |
if (![self instanceActive]) |
return nil; |