Closed Bug 1579311 Opened 5 years ago Closed 5 years ago

Order of Save/Cancel buttons should be based on the OS

Categories

(Firefox :: about:logins, enhancement, P2)

70 Branch
enhancement

Tracking

()

VERIFIED FIXED
Firefox 71
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox69 --- disabled
firefox70 --- verified
firefox71 --- verified

People

(Reporter: ddurst, Assigned: jaws)

References

Details

(Whiteboard: [passwords:management] [skyline])

Attachments

(1 file)

Order of Save/Cancel buttons based on OS: macOS has primary/default button on the right, Windows has it on the left.

Whiteboard: [passwords:management] [skyline]
Priority: -- → P2

If we do this using CSS (with display: flex and the order properties), it would be nice to place the buttons inside the DOM according to the correct tabbing order, so we can get rid of the custom tabindex values on them.

Assignee: nobody → jaws
Status: NEW → ASSIGNED

Ryan also wants the default-selected button changed (see bug 1579920) and since that can be an implementation detail of the order that should be addressed at the same time.

Pushed by jwein@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9253d5d4148f Adjust the order of the buttons in the confirmation dialog based on OS and focus the confirmation button by default. r=MattN

Backed out changeset 9253d5d4148f for causing failures in test_confirm_delete_dialog.html

Backout link: https://hg.mozilla.org/integration/autoland/rev/e756e70d1fd6d29d7aa7ef6da0a95c9bcbc9db52

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=success%2Cpending%2Crunning%2Ctestfailed%2Cbusted%2Cexception&classifiedState=unclassified&searchStr=linux%2Cx64%2Casan%2Cmochitests%2Cwithout%2Ce10s%2Ctest-linux64-asan%2Fopt-mochitest-chrome-1proc-1%2Cm-1proc%28c1%29&fromchange=fa3d10d81e6464ce82af7947144699aea61d15ed&tochange=e756e70d1fd6d29d7aa7ef6da0a95c9bcbc9db52&selectedJob=266633174

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=266633171&repo=autoland&lineNumber=1744

[task 2019-09-13T23:00:45.199Z] 23:00:45 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_confirm_delete_dialog.html | The dialog should be visible
[task 2019-09-13T23:00:45.200Z] 23:00:45 INFO - Buffered messages finished
[task 2019-09-13T23:00:45.201Z] 23:00:45 INFO - TEST-UNEXPECTED-FAIL | browser/components/aboutlogins/tests/chrome/test_confirm_delete_dialog.html | After initially opening the dialog, the cancel button should be focused - got [object HTMLButtonElement], expected [object HTMLButtonElement]
[task 2019-09-13T23:00:45.205Z] 23:00:45 INFO - SimpleTest.is@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:322:16
[task 2019-09-13T23:00:45.205Z] 23:00:45 INFO - test_initial_focus@chrome://mochitests/content/chrome/browser/components/aboutlogins/tests/chrome/test_confirm_delete_dialog.html:60:5
[task 2019-09-13T23:00:45.205Z] 23:00:45 INFO - nextTick/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1795:34
[task 2019-09-13T23:00:45.205Z] 23:00:45 INFO - asyncnextTick@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1811:11
[task 2019-09-13T23:00:45.206Z] 23:00:45 INFO - setTimeout handler
SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:686:43
[task 2019-09-13T23:00:45.206Z] 23:00:45 INFO - add_task@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1755:17
[task 2019-09-13T23:00:45.206Z] 23:00:45 INFO - @chrome://mochitests/content/chrome/browser/components/aboutlogins/tests/chrome/test_confirm_delete_dialog.html:34:9
[task 2019-09-13T23:00:45.206Z] 23:00:45 INFO - add_task | Leaving test test_initial_focus
[task 2019-09-13T23:00:45.207Z] 23:00:45 INFO - add_task | Entering test test_tab_focus
[task 2019-09-13T23:00:45.207Z] 23:00:45 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_confirm_delete_dialog.html | The dialog should be visible
[task 2019-09-13T23:00:45.207Z] 23:00:45 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-09-13T23:00:45.208Z] 23:00:45 INFO - TEST-UNEXPECTED-FAIL | browser/components/aboutlogins/tests/chrome/test_confirm_delete_dialog.html | After opening the dialog and tabbing once, the confirm delete button should be focused - got [object HTMLButtonElement], expected [object HTMLButtonElement]
[task 2019-09-13T23:00:45.208Z] 23:00:45 INFO - SimpleTest.is@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:322:16
[task 2019-09-13T23:00:45.208Z] 23:00:45 INFO - test_tab_focus@chrome://mochitests/content/chrome/browser/components/aboutlogins/tests/chrome/test_confirm_delete_dialog.html:69:5
[task 2019-09-13T23:00:45.208Z] 23:00:45 INFO - nextTick/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1795:34
[task 2019-09-13T23:00:45.209Z] 23:00:45 INFO - asyncnextTick@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1811:11
[task 2019-09-13T23:00:45.209Z] 23:00:45 INFO - setTimeout handler
SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:686:43
[task 2019-09-13T23:00:45.209Z] 23:00:45 INFO - add_task@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1755:17
[task 2019-09-13T23:00:45.210Z] 23:00:45 INFO - @chrome://mochitests/content/chrome/browser/components/aboutlogins/tests/chrome/test_confirm_delete_dialog.html:34:9
[task 2019-09-13T23:00:45.210Z] 23:00:45 INFO - add_task | Leaving test test_tab_focus
[task 2019-09-13T23:00:45.211Z] 23:00:45 INFO - add_task | Entering test test_enter_key_to_cancel
[task 2019-09-13T23:00:45.211Z] 23:00:45 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_confirm_delete_dialog.html | The dialog should be visible
[task 2019-09-13T23:00:45.212Z] 23:00:45 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-09-13T23:00:45.212Z] 23:00:45 INFO - TEST-UNEXPECTED-FAIL | browser/components/aboutlogins/tests/chrome/test_confirm_delete_dialog.html | The dialog Promise should not resolve after hitting Return with the cancel button focused
[task 2019-09-13T23:00:45.212Z] 23:00:45 INFO - SimpleTest.ok@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:277:18
[task 2019-09-13T23:00:45.213Z] 23:00:45 INFO - test_enter_key_to_cancel@chrome://mochitests/content/chrome/browser/components/aboutlogins/tests/chrome/test_confirm_delete_dialog.html:80:7
[task 2019-09-13T23:00:45.213Z] 23:00:45 INFO - asyncnextTick/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1795:34
[task 2019-09-13T23:00:45.213Z] 23:00:45 INFO - async
nextTick@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1811:11
[task 2019-09-13T23:00:45.214Z] 23:00:45 INFO - setTimeout handler*SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:686:43
[task 2019-09-13T23:00:45.214Z] 23:00:45 INFO - add_task@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1755:17
[task 2019-09-13T23:00:45.214Z] 23:00:45 INFO - @chrome://mochitests/content/chrome/browser/components/aboutlogins/tests/chrome/test_confirm_delete_dialog.html:34:9
[task 2019-09-13T23:00:45.215Z] 23:00:45 INFO - add_task | Leaving test test_enter_key_to_cancel
[task 2019-09-13T23:00:45.215Z] 23:00:45 INFO - add_task | Entering test test_enter_key_to_confirm
[task 2019-09-13T23:00:45.216Z] 23:00:45 INFO - TEST-PASS | browser/components/aboutlogins/tests/chrome/test_confirm_delete_dialog.html | The dialog should be visible
[task 2019-09-13T23:00:45.216Z] 23:00:45 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-09-13T23:00:45.217Z] 23:00:45 INFO - TEST-UNEXPECTED-FAIL | browser/components/aboutlogins/tests/chrome/test_confirm_delete_dialog.html | The dialog Promise should not reject after hitting Return with the confirm button focused

Flags: needinfo?(jaws)
Pushed by jwein@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0aaeca7f56b7 Adjust the order of the buttons in the confirmation dialog based on OS and focus the confirmation button by default. r=MattN
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
Flags: needinfo?(jaws)

I have verified this issue on the latest Nightly 71.0a1 (Build ID: 20190918100042) (64-bit) on Windows 7, MacOS 10.14 and Arch Linux 4.14.

  • The order of the buttons from the confirmation dialog is accordingly with the Windows and Mac OS ones.

  • The "Delete/Discard" button is correctly focused when the dialog is displayed.

  • However, it seems that on Linux the order of the buttons is not based on the OS ("Delete/Discard" button on the left part and the "Cancel" button on the right). I have logged this issue in bug 1582158.

Considering this I will mark this bug as verified - fixed and will track the Linux issue in bug 1582158.

I have verified this issue on the Firefox Beta 70.0b9 (Build ID: 20190923154733) (64-bit) on Windows 7, MacOS 10.14 and Arch 4.14.

  • The order of the buttons from the confirmation dialog is accordingly with the Windows and Mac OS ones.
  • The "Delete/Discard" button is correctly focused when the dialog is displayed.
Component: Password Manager → about:logins
Product: Toolkit → Firefox
Target Milestone: mozilla71 → Firefox 71
Version: unspecified → 70 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: