Intent to Ship: Focus's focusVisible option

77 views
Skip to first unread message

Chromestatus

unread,
Nov 20, 2025, 1:24:28 PM (2 days ago) Nov 20
to blin...@chromium.org, d...@chromium.org, mas...@chromium.org
Contact emails
d...@chromium.org

Specification
https://html.spec.whatwg.org/#dom-focusoptions-focusvisible

Summary
When calling the `focus()` method, developers can supply a `focusVisible` boolean in the FocusOptions dictionary. When true, a focus ring will always be painted around the newly-focused element and it will match the `:focus-visible` pseudo-class. When false, the focus ring will not be painted and `:focus-visible` will not match. When missing, the user agent make its own determination as to whether the focus ring should be painted, and the :focus-visible pseudo-class matches accordingly.

Blink component
Blink>HTML>Focus

Web Feature ID
Missing feature

Motivation
No information provided

Initial public proposal
No information provided

TAG review
No information provided

TAG review status
Not applicable

Risks


Interoperability and Compatibility
No risks, the feature is opt-in and both WebKit and Gecko already ship this feature. See https://wpt.fyi/results/html/interaction/focus/processing-model/focusVisible.html?label=master&label=experimental&aligned&q=html%2Finteraction%2Ffocus%2Fprocessing-model%2Ffocusvisible.html

Gecko: Shipped/Shipping (https://github.com/whatwg/html/pull/8087)

WebKit: Shipped/Shipping (https://github.com/whatwg/html/pull/8087)

Web developers: No signals

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

No information provided


Debuggability
No information provided

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
No

Is this feature fully tested by web-platform-tests?
Yes


Flag name on about://flags
No information provided

Finch feature name
No information provided

Non-finch justification
Per https://chromium.googlesource.com/chromium/src/+/main/docs/flag_guarding_guidelines.md#When-is-a-flag-not-required, this falls under the "Simple parameters change" exemption.

Rollout plan
Will ship enabled for all users

Requires code in //chrome?
False

Tracking bug
https://issues.chromium.org/issues/462191849

Estimated milestones
Shipping on desktop144


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).

No information provided

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5612989944299520?gate=6722722252062720

This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages