Closed Bug 1432800 Opened 6 years ago Closed 6 years ago

On about:sessionrestore, the "Restore Session" button doesn't have a focus ring by default

Categories

(Toolkit :: Themes, defect, P3)

defect

Tracking

()

VERIFIED FIXED
mozilla63
Tracking Status
firefox63 --- verified
firefox64 --- verified

People

(Reporter: bwinton, Assigned: bugzilla)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

For some reason my computer is rebooting every night, and when I relaunch Firefox, it shows me about:sessionrestore instead of just automatically restoring my session, so I see the session restore page a lot, and it would be nice if I could just hit <enter> to restore my previous session, instead of having to move the mouse and click on it or hit <tab> twice before hitting <enter>.
Apology for the late reply! I'd take a patch for this tweak anytime!
Blocks: ss-feature
Priority: -- → P5
I was testing this on Mac and it seems as if the session restore button is focused by default as-is. What tripped me up is that <enter> doesn't select the button, only spacebar. I filed bug 1462127.
I tested across a few Windows+Mac machines and the problem appears to be one of clarity -- the Restore button is focused when the page is loaded, but <xul|button>s had no styling to indicate they were focused. This was a particular problem on Windows, when there wasn't even an outline around the button so it looked as if nothing was focused at all (but the button was focused -- pressing spacebar on page load would click it). I've submitted changes that mirrors various XUL element's :hover states with :focus states for clarity.
Attachment #8976700 - Flags: review?(mdeboer) → review?(dao+bmo)
Comment on attachment 8976700 [details]
Bug 1432800 - Mirror -focusring and |*button.primary:focus states.

https://reviewboard.mozilla.org/r/244790/#review252482

Buttons already have focus indicators:

Linux: https://searchfox.org/mozilla-central/rev/dc6d85680539cb7e5fe2843d38a30a0581bfefe1/toolkit/themes/linux/global/in-content/common.css#15
Windows: https://searchfox.org/mozilla-central/rev/dc6d85680539cb7e5fe2843d38a30a0581bfefe1/toolkit/themes/windows/global/button.css#35

But we're using :-moz-focusring, which is different from :focus in that, on Windows, it will only be visible after changing focus with the keyboard.

To address this, I think we should add a rule that sets the outline specifically for *|button.primary:focus.
Attachment #8976700 - Flags: review?(dao+bmo) → review-
Assignee: nobody → htwyford
Component: Session Restore → Themes
Priority: P5 → P3
Product: Firefox → Toolkit
Summary: On about:sessionrestore, the "Restore Session" button should be focused by default. → On about:sessionrestore, the "Restore Session" button doesn't have a focus ring by default
I'll add the rule for *|button.primary:focus. The current patch added focus states to a number of other XUL elements as well. Do you recommend I update them all with a :focus state to match their :-moz-focusring state in their toolkit/themes/*/global/*.css files? Or should I just leave them be? For instance checkbox:-moz-focusring.

If -moz-focusring is only visible after changing focus with the keyboard, would this bug replicate on any default-focused *:-moz-focusring element that doesn't have a :focus state styling?
Flags: needinfo?(dao+bmo)
(In reply to Harry Twyford [:harry] from comment #6)
> I'll add the rule for *|button.primary:focus. The current patch added focus
> states to a number of other XUL elements as well. Do you recommend I update
> them all with a :focus state to match their :-moz-focusring state in their
> toolkit/themes/*/global/*.css files? Or should I just leave them be? For
> instance checkbox:-moz-focusring.

They should stay as they are. If we used :focus there, just clicking these elements with the mouse would show the focus ring. Mouse users don't really need that, and :-moz-focusring was introduced specifically to avoid the visual noise in that case.

> If -moz-focusring is only visible after changing focus with the keyboard,
> would this bug replicate on any default-focused *:-moz-focusring element
> that doesn't have a :focus state styling?

Yes, it would.
Flags: needinfo?(dao+bmo)
Comment on attachment 8976700 [details]
Bug 1432800 - Mirror -focusring and |*button.primary:focus states.

https://reviewboard.mozilla.org/r/244790/#review260398

::: toolkit/themes/windows/global/button.css:35
(Diff revision 2)
>    text-align: center;
>  }
>  
>  /* .......... focused state .......... */
>  
> +*|button.primary:focus,

Let's not put this in button.css but common.css / common.inc.css.
Attachment #8976700 - Flags: review?(dao+bmo)
Comment on attachment 8976700 [details]
Bug 1432800 - Mirror -focusring and |*button.primary:focus states.

https://reviewboard.mozilla.org/r/244790/#review261570
Attachment #8976700 - Flags: review?(dao+bmo) → review+
Pushed by dgottwald@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/270585226424
Mirror -focusring and |*button.primary:focus states. r=dao
https://hg.mozilla.org/mozilla-central/rev/270585226424
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Flags: qe-verify+
I have managed to reproduce this issue on an affected Firefox 60.0a1 (20180124220129) build using Windows 10 x64. 

This issue is verified fixed using Firefox 63.0b6 (20180913141435) and 64.0a1 (2018-09-13) on the following OSes: Windows 10 x64, Ubuntu 18.04.1 x64.
Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: