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
This commit is contained in:
parent
e2161f385d
commit
28ef88911c
@ -147,6 +147,17 @@ const LegacyTray = new Lang.Class({
|
|||||||
St.ButtonMask.THREE,
|
St.ButtonMask.THREE,
|
||||||
can_focus: true,
|
can_focus: true,
|
||||||
x_fill: true, y_fill: 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',
|
button.connect('clicked',
|
||||||
function() {
|
function() {
|
||||||
icon.click(Clutter.get_current_event());
|
icon.click(Clutter.get_current_event());
|
||||||
|
Loading…
Reference in New Issue
Block a user