From f0d96e1932ec3b567ba43b96409a04b892326413 Mon Sep 17 00:00:00 2001 From: Dmytro Ovcharov Date: Tue, 1 Aug 2017 14:35:31 +0300 Subject: #53783 --- .../AtkCocoaHelperMac.cs | 13 +++++++++++++ .../AtkCocoaHelperNoOp.cs | 4 ++++ .../GtkNewProjectDialogBackend.cs | 18 ++---------------- 3 files changed, 19 insertions(+), 16 deletions(-) (limited to 'main/src/core/MonoDevelop.Ide') diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AtkCocoaHelper/AtkCocoaHelperMac.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AtkCocoaHelper/AtkCocoaHelperMac.cs index 6dedc4b8d9..bcdbbe7101 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AtkCocoaHelper/AtkCocoaHelperMac.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AtkCocoaHelper/AtkCocoaHelperMac.cs @@ -523,6 +523,19 @@ namespace MonoDevelop.Components.AtkCocoaHelper nsa.AccessibilityLinkedUIElements = newLinkedElements; } + + public static void MakeAccessibilityAnnouncement (this Atk.Object o, string message) + { + if (o == null) + return; + var nsObject = AtkCocoaMacExtensions.GetNSAccessibilityElement (o) as NSObject; + if (nsObject == null) + return; + var dictionary = + new NSDictionary (NSAccessibilityNotificationUserInfoKeys.AnnouncementKey, new NSString (message), + NSAccessibilityNotificationUserInfoKeys.PriorityKey, NSAccessibilityPriorityLevel.High); + NSAccessibility.PostNotification (nsObject, NSAccessibilityNotifications.AnnouncementRequestedNotification, dictionary); + } } public class AccessibilityElementProxy : IAccessibilityElementProxy diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AtkCocoaHelper/AtkCocoaHelperNoOp.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AtkCocoaHelper/AtkCocoaHelperNoOp.cs index 6843a55a72..bc2fc262f3 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AtkCocoaHelper/AtkCocoaHelperNoOp.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AtkCocoaHelper/AtkCocoaHelperNoOp.cs @@ -153,6 +153,10 @@ namespace MonoDevelop.Components.AtkCocoaHelper public static void AddLinkedUIElement (this Atk.Object o, params Atk.Object [] linked) { } + + public static void MakeAccessibilityAnnouncement (this Atk.Object o, string message) + { + } } public class AccessibilityElementProxy : IAccessibilityElementProxy diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/GtkNewProjectDialogBackend.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/GtkNewProjectDialogBackend.cs index f8be581b11..e7c07455b0 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/GtkNewProjectDialogBackend.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/GtkNewProjectDialogBackend.cs @@ -83,24 +83,10 @@ namespace MonoDevelop.Ide.Projects { var projectTemplate = controller.SelectedTemplate; var messageText = GettextCatalog.GetString (hasError ? "{0} creation fail" : "{0} successfully created", - projectTemplate.Name); - ShowAccessibityNotification (messageText); + projectTemplate.Name); + this.Accessible.MakeAccessibilityAnnouncement (messageText); } - void ShowAccessibityNotification (string message) - { - var accessibleObject = this.Accessible; - if (accessibleObject == null) - return; - var nsObject = AtkCocoaMacExtensions.GetNSAccessibilityElement (accessibleObject) as NSObject; - if (nsObject == null) - return; - var dictionary = - new NSDictionary (NSAccessibilityNotificationUserInfoKeys.AnnouncementKey, new NSString (message), - NSAccessibilityNotificationUserInfoKeys.PriorityKey, NSAccessibilityPriorityLevel.High); - NSAccessibility.PostNotification (nsObject, NSAccessibilityNotifications.AnnouncementRequestedNotification, dictionary); - } - public void ShowDialog () { MessageService.ShowCustomDialog (this); -- cgit v1.2.3