| 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 9781913557fe81c12b348564a5b04615cdbf4cb2..49883eefa65e65b4fbf81469addc8f273cc518e9 100644
|
| --- a/content/browser/accessibility/browser_accessibility_cocoa.mm
|
| +++ b/content/browser/accessibility/browser_accessibility_cocoa.mm
|
| @@ -108,6 +108,8 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| { @"AXARIAAtomic", @"ariaAtomic" },
|
| { @"AXARIABusy", @"ariaBusy" },
|
| { @"AXARIALive", @"ariaLive" },
|
| + { @"AXARIAPosInSet", @"ariaPosInSet" },
|
| + { @"AXARIASetSize", @"ariaSetSize" },
|
| { @"AXARIARelevant", @"ariaRelevant" },
|
| { @"AXDropEffects", @"dropeffect" },
|
| { @"AXGrabbed", @"grabbed" },
|
| @@ -170,6 +172,24 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| browserAccessibility_, ui::AX_ATTR_LIVE_RELEVANT);
|
| }
|
|
|
| +- (NSNumber*)ariaPosInSet {
|
| + if (browserAccessibility_->HasIntAttribute(ui::AX_ATTR_SET_SIZE))
|
| + int pos = browserAccessibility_->GetIntAttribute(ui::AX_ATTR_POS_IN_SET);
|
| + else
|
| + int pos = GetIndexInParent() + 1;
|
| +
|
| + return [NSNumber numberWithInt:pos];
|
| +}
|
| +
|
| +- (NSNumber*)ariaSetSize {
|
| + if (browserAccessibility_->HasIntAttribute(ui::AX_ATTR_SET_SIZE))
|
| + int size = browserAccessibility_->GetIntAttribute(ui::AX_ATTR_SET_SIZE);
|
| + else
|
| + int size = browserAccessibility_->PlatformChildCount();
|
| +
|
| + return [NSNumber numberWithInt:size];
|
| +}
|
| +
|
| // Returns an array of BrowserAccessibilityCocoa objects, representing the
|
| // accessibility children of this object.
|
| - (NSArray*)children {
|
| @@ -1406,6 +1426,15 @@ NSDictionary* attributeToMethodNameMap = nil;
|
| nil]];
|
| }
|
|
|
| + if (browserAccessibility_->GetRole() == ui::AX_ROLE_LIST_BOX_OPTION &&
|
| + browserAccessibility_->GetParent() &&
|
| + browserAccessibility_->GetParent()->GetRole() == ui::AX_ROLE_LIST_BOX) {
|
| + [ret addObjectsFromArray:[NSArray arrayWithObjects:
|
| + @"AXARIAPosInSet",
|
| + @"AXARIASetSize",
|
| + nil]];
|
| + }
|
| +
|
| // Live regions.
|
| if (browserAccessibility_->HasStringAttribute(
|
| ui::AX_ATTR_LIVE_STATUS)) {
|
|
|