Contact [email protected]<mailto:[email protected]>, 
[email protected]<mailto:[email protected]>, 
[email protected]<mailto:[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

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

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

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:
     *
Frontend Focus Issue 732: March 11, 2026<https://frontendfoc.us/issues/732>
     *
 https://adactio.com/journal/22445
     *
https://bsky.app/profile/tabatkins.com/post/3mgggxjsa3c24
     *
 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

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.

Reply via email to