Index: ui/accessibility/platform/ax_platform_node_mac.mm |
diff --git a/ui/accessibility/platform/ax_platform_node_mac.mm b/ui/accessibility/platform/ax_platform_node_mac.mm |
index 620841889eae237edc5ee3a5a3f4f237f6de4a33..ac76cb71af5e5421f05f857c109219725602c676 100644 |
--- a/ui/accessibility/platform/ax_platform_node_mac.mm |
+++ b/ui/accessibility/platform/ax_platform_node_mac.mm |
@@ -8,6 +8,7 @@ |
#include <stddef.h> |
#include "base/macros.h" |
+#import "base/mac/sdk_forward_declarations.h" |
#include "base/strings/sys_string_conversions.h" |
#import "ui/accessibility/ax_node_data.h" |
#import "ui/accessibility/platform/ax_platform_node_delegate.h" |
@@ -335,7 +336,22 @@ gfx::NativeViewAccessible AXPlatformNodeMac::GetNativeViewAccessible() { |
} |
void AXPlatformNodeMac::NotifyAccessibilityEvent(ui::AXEvent event_type) { |
- // TODO(dmazzoni): implement this. http://crbug.com/396137 |
+ switch (event_type) { |
+ case ui::AX_EVENT_ALERT: { |
+ NSString* announcement = base::SysUTF8ToNSString( |
+ GetData().GetStringAttribute(ui::AX_ATTR_NAME)); |
+ NSDictionary* notification_info = @{ |
+ NSAccessibilityAnnouncementKey : announcement, |
+ NSAccessibilityPriorityKey : @(NSAccessibilityPriorityHigh) |
+ }; |
+ NSAccessibilityPostNotificationWithUserInfo( |
+ [NSApp mainWindow], NSAccessibilityAnnouncementRequestedNotification, |
+ notification_info); |
+ } break; |
+ default: |
+ // TODO(dmazzoni): implement this. http://crbug.com/396137 |
+ break; |
+ } |
} |
int AXPlatformNodeMac::GetIndexInParent() { |