On 4/24/26 9:54 p.m., 'Jacques Newman' via blink-dev wrote:
*Contact emails*[email protected], [email protected],
[email protected]
*Explainer*
https://open-ui.org/components/scoped-focusgroup.explainer
*Specification*
https://github.com/whatwg/html/pull/11723
*Summary*
The focusgroup HTML attribute gives composite widgets native arrow key
navigation, a guaranteed tab stop, and last-focused memory, replacing
hand-coded roving tabindex scripts. Authors set one attribute and the
browser handles focus movement, axis constraints, and wrap behavior.
In the following example, no JS is needed to provide arrow-key
navigation across the toolbar:
```
<div focusgroup="toolbar wrap" aria-label="Formatting”>
<button>Bold</button>
<button>Italic</button>
<button>Underline</button>
</div>
```
*Blink component*
Blink>DOM
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EDOM%22>
*Web Feature ID*
*/n/a/*
I don't know how complete it is, or if you've hooked things up
internally, but
https://web-platform-dx.github.io/web-features-explorer/features/focusgroup/
does exist. Can you confirm that things are hooked up as expected (WPT
mappings, WebDXFeature use counters) ?
*Motivation*
By providing this primitive built-in the browser, authors will be able
to provide this functionality without relying on custom solutions that
often lead to a lack of consistency, accessibility, and interoperability.
*Initial public proposal*
_MSEdgeExplainers/Focusgroup/explainer.md at main ·
MicrosoftEdge/MSEdgeExplainers_
<https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Focusgroup/explainer.md>*(initial
proposal is now outdated)*
*TAG review*
_https://github.com/w3ctag/design-reviews/issues/1152_
<https://github.com/w3ctag/design-reviews/issues/1152>
*TAG review status*
Pending
TAG review is open with positive engagement from reviewers
<https://github.com/w3ctag/design-reviews/issues/1152#issuecomment-3711298217>;
Mozilla's standards position is now positive, and WebKit's
device-independence and testability concerns have either been
addressed or are being explored.
*Origin Trial Name*
focusgroup
*Goals for experimentation*
Test out the new design of the "focusgroup" attribute and get feedback
from developers.
*Chromium Trial Name*
Focusgroup
*Origin Trial documentation link*
_https://open-ui.org/components/scoped-focusgroup.explainer_
<https://open-ui.org/components/scoped-focusgroup.explainer>
*WebFeature UseCounter name*
kFocusgroup, see: _Chrome Platform Status_
<https://chromestatus.com/metrics/feature/timeline/popularity/4243>
*Risks*
*Interoperability and Compatibility*
Since the behavior can be polyfilled, compatibility risk is reduced.
When not supported on a given platform, developers can fall back to
the polyfill implementation.
/Gecko/:
Positive (https://github.com/mozilla/standards-positions/issues/1348)
/WebKit/: No
signal (https://github.com/WebKit/standards-positions/issues/171)
/Web developers/: Positive
/Other signals/:
*
The polyfill
(https://www.npmjs.com/package/@microsoft/focusgroup-polyfill) has
had about 400 weekly downloads since it was first released two
weeks ago.
*
Various blogs and publications have shown positivity towards the
feature:
o
_Frontend Focus Issue 732: March 11, 2026_
<https://frontendfoc.us/issues/732>
o
_https://adactio.com/journal/22445_
<https://adactio.com/journal/22445>
o
_https://bsky.app/profile/tabatkins.com/post/3mgggxjsa3c24_
<https://bsky.app/profile/tabatkins.com/post/3mgggxjsa3c24>
o
_https://youtu.be/fAmQy5v2KeE?t=1073&si=jUM9X6GZ-E1KZPLz_
<https://youtu.be/fAmQy5v2KeE?t=1073&si=jUM9X6GZ-E1KZPLz>
*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, it is a new API.
*Debuggability*
Dev tools error logging is supported for various invalid combinations
of focusgroup values in HTML.
*Will this feature be supported on all six Blink platforms (Windows,
Mac, Linux, ChromeOS, Android, and Android WebView)?*
Yes
Supported on all platforms but requires a keyboard or other device
with directional arrows.
*Is this feature fully tested by **web-platform-tests*
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>*?*
Yes
https://wpt.fyi/results/html/interaction/focus/focusgroup?label=experimental&label=master&aligned
<https://wpt.fyi/results/html/interaction/focus/focusgroup?label=experimental&label=master&aligned>
*Flag name on about://flags*
n/a
*Finch feature name*
Focusgroup
*Rollout plan*
Will ship enabled for all users
*Requires code in //chrome?*
False
*Tracking bug*
https://bugs.chromium.org/p/chromium/issues/detail?id=1286127
*Availability expectation*
Mozilla has a positive standards position (April 2026) but hasn't
announced implementation plans. WebKit has testability concerns that
are being addressed.
*Adoption expectation*
The maintainers of Fluent UI Web Components are integrating this
feature to be used in their next major version (V3), which is expected
to ship in the coming months.
*Adoption plan*
The polyfill
(https://www.npmjs.com/package/@microsoft/focusgroup-polyfill) will
aid adoption for developers who want to start using the feature before
wide availability.
https://developer.chrome.com/blog/focusgroup-rfc was published to both
request for feedback and to raise awareness of the feature.
*Non-OSS dependencies*
/Does the feature depend on any code or APIs outside the Chromium open
source repository and its open-source dependencies to function?/
No
*Estimated milestones*
Shipping on desktop
150
Origin trial desktop first
146
Origin trial desktop last
149
DevTrial on desktop
146
Shipping on Android
150
Origin trial Android first
146
Origin trial Android last
149
DevTrial on Android
146
Shipping on WebView
150
*Anticipated spec changes*
/
/
Additional behavior tokens for additional functionality may be added
later, but this is designed to be possible in a fully
backwards-compatible way, see: Full list of Open-UI issues with the
<https://github.com/openui/open-ui/issues?q=is%3Aissue%20state%3Aopen%20label%3Afocusgroup>focusgroup
tag
<https://github.com/openui/open-ui/issues?q=is%3Aissue%20state%3Aopen%20label%3Afocusgroup>
*Link to entry on the Chrome Platform Status*
https://chromestatus.com/feature/5637601087193088?gate=6096246914154496
*Links to previous Intent discussions*
Intent to Prototype:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/BL0PR00MB0820DFE66371FEA5743EA92F9B529%40BL0PR00MB0820.namprd00.prod.outlook.com
Intent to Experiment:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DS0PR00MB23684A74F74CB036E7C24BD58B9EA%40DS0PR00MB2368.namprd00.prod.outlook.com
This intent message was generated by Chrome Platform Status
<https://chromestatus.com/>.
--
You received this message because you are subscribed to the Google
Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected].
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DS0PR00MB2368D5081266F56956C672998B282%40DS0PR00MB2368.namprd00.prod.outlook.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DS0PR00MB2368D5081266F56956C672998B282%40DS0PR00MB2368.namprd00.prod.outlook.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/db5a2e46-ea56-431e-9654-8ad94a158d9a%40chromium.org.