Skip to content

Explain focus-visible intent and guidance. - #2481

Closed
robdodson wants to merge 3 commits into
w3c:masterfrom
robdodson:focus-visible-guidance
Closed

Explain focus-visible intent and guidance.#2481
robdodson wants to merge 3 commits into
w3c:masterfrom
robdodson:focus-visible-guidance

Conversation

@robdodson

Copy link
Copy Markdown
Contributor

@tabatkins — we wanted to more thoroughly explain the intent of the focus-visible pseudo, and improve the conformance guidelines. This is our first stab at it, any feedback you (or others) have is much appreciated.

cc @alice @bkardell

Comment thread selectors-4/Overview.bs
selectively, in order to encourage visible, usable focus styles, and
discourage the practice of disabling the default user agent focus style.

<div class=advisement>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this section be removed, as it's essentially duplicated below?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

Comment thread selectors-4/Overview.bs Outdated
use '':focus-visible''.
</div>
This pseudo-class is intended to give developers the ability to style focus
selectively, in order to encourage visible, usable focus styles, and

@triblondon triblondon Apr 7, 2018

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As a developer, personally I find the previous form of words more straightforward and easier to understand. I'm struggling particularly with the word 'selectively'. The purpose of :focus-visible is, as I understand it, to style the focus ring while not overriding the UA's discretion about whether to display it. Therefore this mechanism intentionally doesn't give the developer control over that discretion, whereas I'd interpret 'selectively' in this text as implying that it does.

I'm sorry not to be able to suggest an alternative form of words here but I don't think I have a strong enough understanding of the motivation for the change. Is there a desire to be less opinionated about developer behaviour?

@dbaron dbaron left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks reasonably good, but a few comments. (We're looking at this in the TAG meeting as part of processing w3ctag/design-reviews#233.)

Comment thread selectors-4/Overview.bs Outdated
* If a keyboard event occurs while an element is focused,
even if the element wasn't focused by a keyboard interaction,
apply '':focus-visible''.
Since part of the problem is user agents' default focus indicator behaviour,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please prefer US spelling of behavior.

Comment thread selectors-4/Overview.bs Outdated
* If a keyboard event occurs while an element is focused,
even if the element wasn't focused by a keyboard interaction,
apply '':focus-visible''.
Since part of the problem is user agents' default focus indicator behaviour,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if "the problem" should be spelled out in slightly more words, as well, since it doesn't seem tied to the previous paragraph.

Comment thread selectors-4/Overview.bs
</div>

<div class=advisement>
Page authors should follow these guidelines

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems a little disappointing to remove all of the advice for authors. It's not clear to me that the old advice was the best that could be offered, but this does seem like an area where it's worth offering some expert advice on what the right thing really is.

Comment thread selectors-4/Overview.bs Outdated
apply '':focus-visible''.
Since part of the problem is user agents' default focus indicator behaviour,
it is recommended that browsers implementing the `:focus-visible`
selector also use it in their user agent stylesheets to show the default focus

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think "show" is quite the right verb here. It's possible it could even be "explain", or perhaps "specify". It might also help to add an additional clarifying sentence saying that the point is that when :focus-visible matches should correspond to the UA's default behavior for when to show focus indicators. In fact, it might be worth stating that as a conformance requirement (and then saying that an easy way to implement that requirement may be by using :focus-visible in the UA style sheet.)

@robdodson

Copy link
Copy Markdown
Contributor Author

Thank you for the reviews @dbaron and @triblondon! I'll revise and ping the thread again when it's ready for another look.

Comment thread selectors-4/Overview.bs Outdated
selectively, in order to encourage visible, usable focus styles, and
discourage the practice of disabling the default user agent focus style.

When UAs choose to specially indicate focus on an element,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this paragraph confuses the issue about the problem we're trying to solve. The problem is the practice of disabling the default UA focus style, mentioned in the previous paragraph.

@alice

alice commented Jun 15, 2018

Copy link
Copy Markdown

Thanks for the feedback - we're going to close this PR for now while we figure out exactly what advice we want to give browser implementors and authors respectively.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

selectors-4 Current Work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants