[gnome-shell] legacyTray: Try to set an accessible name for status icons



commit 28ef88911c5e1ae37a98dc0519173f2cb04d5aaf
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu Mar 19 22:54:21 2015 +0100

    legacyTray: Try to set an accessible name for status icons
    
    While legacy status icons lack a proper accessible name of their own,
    we can try to find the corresponding application or the icon's window
    title - hopefully most status icons provide at least one, so they
    don't show up completely "blank" in screen readers.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=746487

 js/ui/legacyTray.js |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/js/ui/legacyTray.js b/js/ui/legacyTray.js
index 6e8953b..57a756a 100644
--- a/js/ui/legacyTray.js
+++ b/js/ui/legacyTray.js
@@ -147,6 +147,17 @@ const LegacyTray = new Lang.Class({
                                                   St.ButtonMask.THREE,
                                      can_focus: true,
                                      x_fill: true, y_fill: true });
+
+        let app = Shell.WindowTracker.get_default().get_app_from_pid(icon.pid);
+        if (!app)
+            app = Shell.AppSystem.get_default().lookup_startup_wmclass(wmClass);
+        if (!app)
+            app = Shell.AppSystem.get_default().lookup_desktop_wmclass(wmClass);
+        if (app)
+            button.accessible_name = app.get_name();
+        else
+            button.accessible_name = icon.title;
+
         button.connect('clicked',
             function() {
                 icon.click(Clutter.get_current_event());


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]