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
diff options
context:
space:
mode:
authorMykyta Bondarenko <32954580+mykyta-bondarenko@users.noreply.github.com>2019-12-02 16:46:18 +0300
committermonojenkins <jo.shields+jenkins@xamarin.com>2019-12-12 12:42:18 +0300
commit3353c0810a0c66a075046944a4f2caa79ff42be7 (patch)
tree67c108dac4010ffba2d06cb6ee09307ae08b719e /main/src/addins
parent1679a6aff1586a8512f9ff7be18594542793b4c1 (diff)
[753577][StatusBar] announce changed status
Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/753577
Diffstat (limited to 'main/src/addins')
-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)