5 ms·
Because in those contexts, the Space key is being used as a physical mirror of the on-screen button, and on-screen buttons are UX'd to perform action when relea
by Rygian 17d ago
Because in those contexts, the Space key is being used as a physical mirror of the on-screen button, and on-screen buttons are UX'd to perform action when released.
These two interactions should behave identically:
- Hover over a button, press mouse button 1, release button 1.
- Tab over to a button, press spacebar, release spacebar.
Why on-screen buttons are UX'd to behave this way is a logical follow-up question. I'd wager that it gives a means to bail out of the clicking (e.g. by moving the mouse out of the on-screen button before releasing mousebutton 1, or by pressing Esc while having spacebar still depressed).
- regularfry 17d agoYes, the bailing-out explanation is right. With a mouse it's intentional that you should be able to push the pointer off the button with the mouse button still pressed to cancel.
- chrismorgan 17d ago(Esc while Space is held doesn’t cancel, but Tab does.) You’re only answering half of the inconsistency: because Enter activates buttons like any other key, on keydown.
- b112 16d agoJust diving in without full context, but, enter is often a completion action. Historically often a full carriage return. It often means "submit data". So this could be the oddity
- Rygian 16d agoWhile spacebar is depressed: Qt: Esc cancels. Tab cancels. Gtk-4: Spacebar auto-clicks before keyup (probably due to auto-repeat). Win32: Esc sends Esc to the window. Tab cancels. Firefox: Esc does nothing. Tab cancels. So, mileage does vary. Re. Enter key, that's a different key, so different discussion.
- chrismorgan 16d agoUnder Linux, Firefox, Chromium and GNOME Web (which is WebKit-based; a.k.a. Epiphany) all have Tab cancel but not Esc. The GTK 4 behaviour feels very much like a bug. I can reproduce it in gtk4-demo and in gtk3-demo. It leads to obviously-nonsensical behaviour, including messed up window focus. I’m tempted to file a bug report, but haven’t had such productive experiences with filing things on GNOME historically as with Firefox or even Chromium. Why should Enter being a different key be a different discussion? They’re both used to activate buttons, and one is behaving like every single other keyboard interaction, while the other isn’t. (Related: if a link is focused, Enter activates it, Space doesn’t, just doing the normal scroll-down-one-page.)
- Rygian 15d ago> Why should Enter being a different key be a different discussion? > if a link is focused, Enter activates it, Space doesn’t It seems that you answered your own question: different keys, different purposes. Enter is for "execute the focused action". Spacebar is for "operate the button".