After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 746487 - Improve accessibility of legacy tray
Improve accessibility of legacy tray
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2015-03-19 22:26 UTC by Florian Müllner
Modified: 2015-03-22 08:34 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
legacyTray: Try to set an accessible name for status icons (1.44 KB, patch)
2015-03-19 22:26 UTC, Florian Müllner
none Details | Review
legacyTray: Handle StWidget::popup-menu (1.13 KB, patch)
2015-03-19 22:26 UTC, Florian Müllner
none Details | Review
legacyTray: Try to set an accessible name for status icons (1.54 KB, patch)
2015-03-20 16:30 UTC, Florian Müllner
committed Details | Review
legacyTray: Pass on keyboard events to the icon (1.19 KB, patch)
2015-03-20 16:31 UTC, Florian Müllner
committed Details | Review

Description Florian Müllner 2015-03-19 22:26:22 UTC
See patches. The results are mixed at best, by I don't think we can do any better than that ...
Comment 1 Florian Müllner 2015-03-19 22:26:27 UTC
Created attachment 299882 [details] [review]
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.
Comment 2 Florian Müllner 2015-03-19 22:26:33 UTC
Created attachment 299883 [details] [review]
legacyTray: Handle StWidget::popup-menu

There is currently no way to trigger an icon's right-click menu by
keyboard. While there's a good chance that the event corresponding
to the 'popup-menu' shortcut will just be ignored, passing it on
will at least work for some icons ...
Comment 3 Rui Matos 2015-03-20 15:13:02 UTC
Review of attachment 299883 [details] [review]:

why not connect to key event signals and send them all down? seems like it would maximize our chances of success? any downsides?
Comment 4 Rui Matos 2015-03-20 15:19:21 UTC
Review of attachment 299882 [details] [review]:

Why not Shell.WindowTracker.get_window_app() ?
Comment 5 Florian Müllner 2015-03-20 15:46:34 UTC
(In reply to Rui Matos from comment #3)
> why not connect to key event signals and send them all down? seems like it
> would maximize our chances of success? any downsides?

No, good point - changed locally.
Comment 6 Florian Müllner 2015-03-20 15:47:10 UTC
(In reply to Rui Matos from comment #4)
> Why not Shell.WindowTracker.get_window_app() ?

For which window?
Comment 7 Rui Matos 2015-03-20 15:56:33 UTC
(In reply to Florian Müllner from comment #6)
> For which window?

Ah, right. We could export the associated MetaWindow as a prop from ShellGtkEmbed but that's probably too much trouble for this.

Still, we could at least make the logic here be the same as in FdoNotificationDaemonSource._getApp(), i.e. try with the pid first?
Comment 8 Jasper St. Pierre (not reading bugmail) 2015-03-20 15:58:14 UTC
I'm also quite sure that ShellWindowTracker considers embedded windows uninteresting.
Comment 9 Florian Müllner 2015-03-20 16:30:50 UTC
Created attachment 299960 [details] [review]
legacyTray: Try to set an accessible name for status icons

(In reply to Rui Matos from comment #7)
> Still, we could at least make the logic here be the same as in
> FdoNotificationDaemonSource._getApp(), i.e. try with the pid first?

Sure.
Comment 10 Florian Müllner 2015-03-20 16:31:56 UTC
Created attachment 299961 [details] [review]
legacyTray: Pass on keyboard events to the icon

(In reply to Florian Müllner from comment #5)
> (In reply to Rui Matos from comment #3)
> > why not connect to key event signals and send them all down? seems like it
> > would maximize our chances of success? any downsides?
> 
> No, good point - changed locally.

I was speaking too quickly here - passing on the key-release event apparently interferes with the screen reader reading out the name of some icons. The key-press event appears to work in testing though.
Comment 11 Rui Matos 2015-03-20 16:38:43 UTC
Review of attachment 299960 [details] [review]:

ok
Comment 12 Rui Matos 2015-03-20 16:43:38 UTC
Review of attachment 299961 [details] [review]:

Ok, let's go with this then
Comment 13 Florian Müllner 2015-03-22 08:34:42 UTC
Freeze break request was approved, pushing.

Attachment 299960 [details] pushed as 28ef889 - legacyTray: Try to set an accessible name for status icons
Attachment 299961 [details] pushed as f2c1a41 - legacyTray: Pass on keyboard events to the icon