Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorMykyta Bondarenko <32954580+mykyta-bondarenko@users.noreply.github.com>2019-12-02 16:46:18 +0300
committerMykyta Bondarenko <32954580+mykyta-bondarenko@users.noreply.github.com>2019-12-02 18:56:11 +0300
commit76eef3633bbac8cb1a6d6d94f63372afc8e9b6eb (patch)
tree4d1dd92f1d8ffcec59e19db7d14610933a95bfdd /main
parentb55d3cabd91834c031b49d8af8deced0019b9cad (diff)
[753577][StatusBar] announce changed status
Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/753577
Diffstat (limited to 'main')
-rw-r--r--main/src/addins/MacPlatform/MainToolbar/StatusBar.cs16
1 files changed, 15 insertions, 1 deletions
diff --git a/main/src/addins/MacPlatform/MainToolbar/StatusBar.cs b/main/src/addins/MacPlatform/MainToolbar/StatusBar.cs
index 31412de471..1780680d9b 100644
--- a/main/src/addins/MacPlatform/MainToolbar/StatusBar.cs
+++ b/main/src/addins/MacPlatform/MainToolbar/StatusBar.cs
@@ -43,6 +43,7 @@ using System.Threading;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using MonoDevelop.MacInterop;
+using MonoDevelop.Components.AtkCocoaHelper;
namespace MonoDevelop.MacIntegration.MainToolbar
{
@@ -927,8 +928,21 @@ namespace MonoDevelop.MacIntegration.MainToolbar
bool changed = LoadText (message, isMarkup, statusType);
LoadPixbuf (image);
- if (changed)
+ if (changed) {
ReconstructString ();
+ // announce new status if vo/a11y is enabled
+ if (MonoDevelop.Ide.Desktop.PlatformService.AccessibilityInUse) {
+ MakeAccessibilityAnnouncement (text);
+ }
+ }
+ }
+
+ static void MakeAccessibilityAnnouncement (string text)
+ {
+ using var message = new NSString (text);
+ using var dictionary = new NSDictionary (NSAccessibilityNotificationUserInfoKeys.AnnouncementKey, message,
+ NSAccessibilityNotificationUserInfoKeys.PriorityKey, NSAccessibilityPriorityLevel.High);
+ NSAccessibility.PostNotification (NSApplication.SharedApplication.AccessibilityMainWindow, NSAccessibilityNotifications.AnnouncementRequestedNotification, dictionary);
}
bool LoadText (string message, bool isMarkup, MessageType statusType)