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:
authorMatt Ward <matt.ward@microsoft.com>2019-11-28 00:01:35 +0300
committerMatt Ward <matt.ward@microsoft.com>2019-11-28 00:07:13 +0300
commite1fc91dacfbcbbbc8599a33eebad9829e6294cb4 (patch)
tree5f30714236615c8c28dcc04a009ed6bad2135e97 /main
parent3558f381b3de0997f57c7bd642fc496b08140cb3 (diff)
[Debugger] Add accessibility titles for buttons/images in cells
Added accessibility titles to the buttons and images that are displayed in the debugger tree view in the Exception Caught dialog and the Locals and Watch pad. The visualizer buttons now have a descriptive name read by Voice Over. Images now have a descriptive name read by Voice Over.
Diffstat (limited to 'main')
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Mac/MacDebuggerObjectNameView.cs4
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Mac/MacDebuggerObjectValueView.cs5
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/ObjectValueTreeViewController.cs42
3 files changed, 50 insertions, 1 deletions
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Mac/MacDebuggerObjectNameView.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Mac/MacDebuggerObjectNameView.cs
index 473857592d..21d85d89f5 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Mac/MacDebuggerObjectNameView.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Mac/MacDebuggerObjectNameView.cs
@@ -92,6 +92,7 @@ namespace MonoDevelop.Debugger
PreviewButton = new NSButton {
TranslatesAutoresizingMaskIntoConstraints = false,
+ AccessibilityTitle = GettextCatalog.GetString ("Open Preview Visualizer"),
Image = GetImage ("md-empty", Gtk.IconSize.Menu),
BezelStyle = NSBezelStyle.Inline,
Bordered = false
@@ -264,6 +265,9 @@ namespace MonoDevelop.Debugger
TextField.Editable = editable;
UpdateFont (TextField);
TextField.SizeToFit ();
+ ImageView.AccessibilityTitle = ObjectValueTreeViewController.GetAccessibilityTitleForIcon (
+ Node.Flags,
+ GettextCatalog.GetString ("Object Name"));
var value = editable && string.IsNullOrEmpty (name) ? placeholder : name;
var textWidth = GetWidthForString (TextField.Font, value);
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Mac/MacDebuggerObjectValueView.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Mac/MacDebuggerObjectValueView.cs
index ceef417d80..7ac7fd7e11 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Mac/MacDebuggerObjectValueView.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Mac/MacDebuggerObjectValueView.cs
@@ -82,6 +82,7 @@ namespace MonoDevelop.Debugger
int imageSize = treeView.CompactView ? CompactImageSize : ImageSize;
viewerButton = new NSButton {
+ AccessibilityTitle = GettextCatalog.GetString ("Open Value Visualizer"),
Image = GetImage (Gtk.Stock.Edit, imageSize, imageSize),
TranslatesAutoresizingMaskIntoConstraints = false
};
@@ -188,7 +189,9 @@ namespace MonoDevelop.Debugger
// First item: Status Icon -or- Spinner
if (evaluateStatusIcon != null) {
statusIcon.Image = GetImage (evaluateStatusIcon, Gtk.IconSize.Menu, selected);
-
+ statusIcon.AccessibilityTitle = ObjectValueTreeViewController.GetAccessibilityTitleForIcon (
+ evaluateStatusIcon,
+ GettextCatalog.GetString ("Object Value"));
if (!statusIconVisible) {
AddSubview (statusIcon);
statusIconVisible = true;
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/ObjectValueTreeViewController.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/ObjectValueTreeViewController.cs
index cee8afb4cd..aa5fe171d5 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/ObjectValueTreeViewController.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/ObjectValueTreeViewController.cs
@@ -964,6 +964,48 @@ namespace MonoDevelop.Debugger
return "md-" + access + global + source;
}
+ internal static string GetAccessibilityTitleForIcon (ObjectValueFlags flags, string defaultTitle = null)
+ {
+ if ((flags & ObjectValueFlags.Field) != 0 && (flags & ObjectValueFlags.ReadOnly) != 0)
+ return GettextCatalog.GetString ("Literal");
+
+ string global = (flags & ObjectValueFlags.Global) != 0 ? GettextCatalog.GetString ("Static") : string.Empty;
+ string source;
+
+ switch (flags & ObjectValueFlags.OriginMask) {
+ case ObjectValueFlags.Property: source = GettextCatalog.GetString ("Property"); break;
+ case ObjectValueFlags.Type: source = GettextCatalog.GetString ("Class"); global = string.Empty; break;
+ case ObjectValueFlags.Method: source = GettextCatalog.GetString ("Method"); break;
+ case ObjectValueFlags.Literal: return GettextCatalog.GetString ("Literal");
+ case ObjectValueFlags.Namespace: return GettextCatalog.GetString ("Namespace");
+ case ObjectValueFlags.Group: return GettextCatalog.GetString ("Open Resource Folder");
+ case ObjectValueFlags.Field: source = GettextCatalog.GetString ("Field"); break;
+ case ObjectValueFlags.Variable: return GettextCatalog.GetString ("Variable");
+ default: return defaultTitle;
+ }
+
+ string access;
+ switch (flags & ObjectValueFlags.AccessMask) {
+ case ObjectValueFlags.Private: access = GettextCatalog.GetString ("Private"); break;
+ case ObjectValueFlags.Internal: access = GettextCatalog.GetString ("Internal"); break;
+ case ObjectValueFlags.InternalProtected:
+ case ObjectValueFlags.Protected: access = GettextCatalog.GetString ("Protected"); break;
+ default: access = string.Empty; break;
+ }
+
+ return access + " " + global + " " + source;
+ }
+
+ internal static string GetAccessibilityTitleForIcon (string iconName, string defaultTitle)
+ {
+ switch (iconName) {
+ case "md-warning":
+ return GettextCatalog.GetString ("Warning");
+ default:
+ return defaultTitle;
+ }
+ }
+
static int GetKnownImageId (ObjectValueFlags flags)
{
var name = GetIcon (flags);