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 b6b08ea2cbeb08e40b5e1f663b5defdee4223ecf..9ba206b13b83c4628fcbebb6ff0cb1b2171cd6c3 100644 |
--- a/content/browser/accessibility/browser_accessibility_cocoa.mm |
+++ b/content/browser/accessibility/browser_accessibility_cocoa.mm |
@@ -16,6 +16,10 @@ |
#include "grit/webkit_strings.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebRect.h" |
+// See http://openradar.appspot.com/9896491. This has been tested on 10.5, |
+// 10.6, and 10.7. |
+extern "C" void NSAccessibilityUnregisterUniqueIdForUIElement(id element); |
+ |
typedef WebAccessibility::IntAttribute IntAttribute; |
typedef WebAccessibility::StringAttribute StringAttribute; |
@@ -247,6 +251,7 @@ NSDictionary* attributeToMethodNameMap = nil; |
// Deletes our associated BrowserAccessibilityMac. |
- (void)dealloc { |
if (browserAccessibility_) { |
+ NSAccessibilityUnregisterUniqueIdForUIElement(self); |
delete browserAccessibility_; |
browserAccessibility_ = NULL; |
} |
@@ -830,5 +835,9 @@ NSDictionary* attributeToMethodNameMap = nil; |
return browserAccessibility_->renderer_id(); |
} |
+- (BOOL)accessibilityShouldUseUniqueId { |
+ return YES; |
+} |
+ |
@end |