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 753738 - Usability: tapping ALT short doesn't show mnemonics, and it does on Windows and Qt-based desktops
Usability: tapping ALT short doesn't show mnemonics, and it does on Windows a...
Status: RESOLVED OBSOLETE
Product: gtk+
Classification: Platform
Component: .General
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2015-08-18 01:00 UTC by el
Modified: 2018-05-02 16:40 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description el 2015-08-18 01:00:39 UTC
This is my very unfavorable experience with current GTK3 menu mnemonics:

1. I press ALT. Initially, nothing happens. I'm confused.
If I wasn't a developer with some GTK+ experience knowing it supports mnemonics, I might already have concluded the application doesn't have any.

2. After like a full second of pressing ALT the menu bar finally shows underlined mnemonics. "oh, so it ISNT broken.. ?"

3. I click a menu item on the menu bar while still having alt pressed, opening the respective menu. No mnemonics in the menu. At this point I'm thinking: "what is going on, it's only working for HALF of the things? "

4. I smash ALT around hoping to get it to work and now the ones for the submenu turn up. It turns out you need to release ALT and press it again to have them on the submenu - why??


This goes contrary against how mnemonics historically work and if you're not prepared for it, it's just extremely confusing. This is how it should work instead:

1. The shortest press of ALT should instantly show mnemonics even if I release it again. (gtk3 right now has a notable delay of like 1-2 seconds which makes me initially think it's just entirely broken before they come up)

2. If I click a menu bar entry at this point to expand the submenu, it should have visible mnemonics as well. Requiring the user to press ALT again to bring it *all* up is just plain confusing.

Please note that's exactly like Mozilla Firefox does it on this system. So it's not that it'd be impossible or anything.

---
I tested this both with a minimal python 3.4/pygobject app and gedit and both have the same odd behavior, so it shouldn't be my test app's fault I hope.
Comment 1 el 2015-08-18 01:04:48 UTC
For what it's worth, I was just told on chat the delay is around 300ms. It just *feels* long though, and usually as an end user I just hit ALT shortly like a regular key press and expect mnemonics to show up. Again if I hadn't known my own test app definitely had mnemonics, I would just have concluded the app doesn't have any...
Comment 2 el 2015-08-18 01:17:57 UTC
After examining firefox, I think you really should trigger mnemonics on ALT release as well (in addition to the 300ms "key is still pressed" delay you are using right now) if no additional key like TAB has been pressed.

This would:
1. not break mnemonics for people that like to press ALT for a long time
2. not make them flash for alt+tab or alt+print
3. make it work for people that are used to hitting ALT just shortly like me
Comment 3 Matthias Clasen 2015-08-20 20:30:55 UTC
the problem with showing them on release is that then there's no natural place to get rid of them again
Comment 4 el 2015-08-21 11:50:54 UTC
If you considered that important, you could hide them after a few seconds. You could probably even flash them for just half a second, that would nicely indicate to the user that mnemonics are available and I think everyone with half a brain would press ALT again for a longer time to try to make them stay and have a good read as a reaction to this, wouldn't they?

Alternatively, IMHO just hiding them as soon as the user clicks or somehow passes input focus to another element (or the window loses focus) is also a very usable way.
Comment 5 Matthias Clasen 2015-08-21 13:44:11 UTC
It would be good to compare what Windows does nowadays
Comment 6 el 2015-08-26 04:47:52 UTC
FWIW, I checked Qt/KDE and they simply show the mnemonics all the time..
Comment 7 el 2015-09-07 20:14:11 UTC
I just checked Microsoft Windows 7 x64 with the simple notepad.exe.

The behavior is quite aggressive: pressing ALT will instantly show up mnemonics on key *down* already, and it will continue to show them even when alt was released until the user explicitly clicks somewhere else that is not the menu (so you can even mouse-navigate the menu without them disappearing if no longer pressing ALT).
Comment 8 el 2015-09-07 20:15:11 UTC
Oh and it also shows them during ALT+tab, windows doesn't care at all.
Comment 9 el 2016-02-09 22:18:16 UTC
Will this be fixed soon at least for the GTK+ windows port?

It is really confusing for users there because on Windows, in any app a short tap on ALT will *permanently* show up the mnemonics, while in GTK+ they won't even blink up short, so any user used to that approach will probably wonder if there are any at all.

As you asked me to, I checked on windows and indeed even the shortest tap on ALT brings them up. In contrast, GTK+ seems to go out of its way to hide them - and some "prettier screenshots" functionality seems way less important than using the applications regularly with mnemonics working as expected..
Comment 10 Matthias Clasen 2016-02-10 17:52:52 UTC
Thanks for checking the windows behavior.

The current behavior is not just about 'prettier screenshots', though. It is also meant to declutter the UI, and to avoid showing misleading information (ie only show mnemonics that are currently activatable).
Comment 11 el 2016-02-11 15:42:03 UTC
What do you mean by always activatable? I'm not complaining about only the active submenu showing them, that's an entirely different matter. As written above, the main problem is that just hitting ALT shortly should show them up in the main menu bar, simply because all the Microsoft Windows users, KDE users, * users from anywhere else than Gnome are used to that working, and therefore are potentially unnecessarily confused by the current behavior.
Comment 12 el 2016-02-11 15:47:46 UTC
Basically the following scneario should work because they are common expected mnemonics behavior and it doesn't:

1. Hit ALT shortly (like a regular short key press) and release it again
2. Mnemonics show up and stay visible
3. You can now press the isolated letter from the mnemonics and the according menu opens up (without doing anything with ALT at this point), unless you clicked something else before to give keyboard focus to something else than the menu mnemonics

This works on Microsoft Windows, in Firefox on Linux, and possibly most other sane applications, and in GTK+ it doesn't.
Comment 13 el 2016-04-15 11:01:47 UTC
Should I still investigate some other operating systems or do something else so this bug can go ahead?
Comment 14 el 2017-02-01 11:52:59 UTC
Did this actually get fixed? :-)

I am seeing different behavior now: pressing ALT shortly will make mnemonics permanently appear in gedit until the window loses focus. While that seems a bit excessive in the other direction (Microsoft Windows application do hide them again when clicking a button or a menu entry, assuming the user has probably finished reading with what they wanted to read) I certainly think this is a considerable improvement.

Should I close this ticket then?
Comment 15 Daniel Boles 2017-08-14 23:51:13 UTC
(In reply to Jonas Thiem from comment #14)
> Did this actually get fixed? :-)

It's unclear what "this" is since you have discussed so many things. ;)

Since you're talking about mnemonics in menus, note that Alt is not intended to activate them; that seems like a side-effect of weird keyboard-mode transitions; see https://bugzilla.gnome.org/show_bug.cgi?id=784610 In reality, pressing any key then moving the mouse (or maybe forcing redraw in some other way; idk) results in the underlines suddenly appearing.

But that doesn't seem intentional. The real way to see them is to open the menu with the keyboard.

Then, afaict, if the menu is independent (doesn't have a parent menubar), they seem to stay around forever for that menu; whereas GtkMenu source code indicates that will be dropped once out of keyboard mode, I couldn't seem to make that happen (again in the linked bug).
Comment 16 el 2017-08-15 00:03:56 UTC
(In reply to Daniel Boles from comment #15)
> It's unclear what "this" is since you have discussed so many things. ;)

I only mentioned two:

1. "The shortest press of ALT should instantly show mnemonics even if I release it again."

2. "If I click a menu bar entry at this point to expand the submenu, it should have visible mnemonics as well."

The first point (which is much more grave IMHO) worked briefly in a gedit version a few months ago for some reason, and maybe it was unintentional as you said.

Anyway, now it's broken again so I'll leave this issue open, hoping this will finally get addressed.
Comment 17 GNOME Infrastructure Team 2018-05-02 16:40:57 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gtk/issues/567.