No indication of button focus when left and right arrow (cursor) keys are used in `Save Message` confirmation prompt
Categories
(Thunderbird :: Message Compose Window, defect, P1)
Tracking
(thunderbird_esr91 wontfix)
Tracking | Status | |
---|---|---|
thunderbird_esr91 | --- | wontfix |
People
(Reporter: mozilla, Assigned: emilio)
Details
(Keywords: dataloss, ux-error-prevention)
Attachments
(1 file)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
Steps to reproduce:
- Open Write dialog (File->New->Message) and begin to write a message.
- Close window to get the "Save Message" modal to pop up.
- Left- and right-arrow keys are inoperative, i.e. don't cycle between Save, Discard changes, and Close options as expected in any standard Windows native modal.
Actual results:
Arrow keys don't work to cycle between options; only tab key works.
Expected results:
Save, Discard changes, and Close options should have been highlighted as I cycled between them, just as with the tab key.
Updated•3 years ago
|
Comment 1•3 years ago
|
||
Indeed, tab works, arrow does not.
Thomas, is this by design?
Comment 2•3 years ago
•
|
||
(In reply to Wayne Mery (:wsmwk) from comment #1)
Indeed, tab works, arrow does not.
Thomas, is this by design?
Hell no! And it's much worse and more cunning than described: The cursor keys are functional, but there's zero visible indication that the focus has moved to another button. So if for whatever reason I change my mind and want to save the message anyway, invisible focus from arrow keys might be on Discard...
, and Enter
will discard, but Save
is the only button showing blue. Maybe it's this modern thing of showing focus ring only when keyboard is used, which fails to kick in here. Tab
shows the correct behaviour.
This is basic functionality seriously broken for keyboard use, and with unexpected danger of dataloss. Maybe a toolkit thing, so probably affects other dialogs, too.
Alex, can you make a plan or otherwise ask someone else?
Richard, any insights?
STR (on Windows 10, 91.4.0 (64-bit))
- compose msg
- close msg (Alt+F4, or [x] button)
- On
Save message
dialog, pressarrow right
exactly one time (sic! Ignore that there's no visual feedback per this bug! Do not pressTab
before you press arrows)
This assumes the button sequence on Windows:Save
,Discard changes
,Cancel
. Your OS might have different order, or bug may not occur on other OS. - Press
Enter
Actual
- After step 3, focus has correctly moved to
Discard...
button, but there's zero indication of the focus change, so onlySave
default button looks focused - Ater step 4,
Discard...
button is unexpectedly triggered even though it did not have any visible indication of focus, and I actually wantedSave
! - Dataloss! Message discarded against my will.
- Using arrow keys is now Russian roulette as user will never see which button really has focus.
Expected
- Using arrow keys must show and move the focus ring on buttons, not just move the focus without visible indication
- prevent unexpected dataloss and random unpredictable behaviour
Comment 3•3 years ago
|
||
Does anyone see this on Linux or Mac?
Updated•3 years ago
|
Comment 4•3 years ago
|
||
After pressing Tab
once (which shows the focus ring), this bug will no longer occur on the current dialog. Which seems to confirm my theory that cursor keys are somehow failing to trigger unhiding the focus ring which is only shown when keyboard gets used.
Comment 5•3 years ago
|
||
The same happens on Linux and Mac.
It's not a theme issue as with TAB the focus works. The arrow key move doesn't activate the focus show. When first using TAB and then the arrow keys the focus ring shows and moves until it reaches the end. Pressing the arrow key over the end of the chain disables the focus and nothing is shown further.
Comment 6•3 years ago
|
||
Uh, good find, this is indeed super weird.
Pinging emilio to see if he knows of any related m-c issue, and if he can redirect us to someone that manages that area to see if it's a toolkit issue, or an implementation issue on our end.
Assignee | ||
Comment 7•3 years ago
|
||
Relevant calls are here:
This makes sure to set the FLAG_BYKEY properly if needed, instead of passing
down raw flags to nsFocusManager. Clean up a bit while at it.
Let me know if you want a test for this, but we have tests for programmatic
focus and :focus-visible already, so my gut feeling is that testing this
particular XUL-specific change is not super-worth-it...
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Comment 9•3 years ago
|
||
Backed out changeset for causing failures at browser_searchbar_openpopup.js.
Backout link: https://hg.mozilla.org/integration/autoland/rev/9853a5b7bc55ed63e7cd586125ee43cc9f8828f4
Failure log: https://treeherder.mozilla.org/logviewer?job_id=361138283&repo=autoland&lineNumber=5332
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Comment 10•3 years ago
|
||
Comment 11•3 years ago
|
||
Backed out changeset 93b9da069dde (Bug 1735076) for causing failures in browser_searchbar_openpopup.js CLOSED TREE
Log: https://treeherder.mozilla.org/logviewer?job_id=362037134&repo=autoland&lineNumber=3231
Backout: https://hg.mozilla.org/integration/autoland/rev/1488c9d35203c0897ef425ab8196a4e7a7b9ff22
Assignee | ||
Updated•3 years ago
|
Comment 12•3 years ago
|
||
Comment 13•3 years ago
|
||
bugherder |
Updated•3 years ago
|
Description
•