Accessibility

Chrome 150 Ships focusgroup: Adrian Roselli's Tests Find Role Bugs

Chrome 150 ships Open-UI's focusgroup attribute; Adrian Roselli's script-free ARIA widget demos expose role-exposure behaviors he reads as bugs, plus fixes already merged.

  • AuthorPriya Raman
  • ChannelAccessibility
  • Filed
  • Read3 min
Focusgroup Tests
Focusgroup TestsAI-generated
  • Chrome 150 shipped the Open-UI focusgroup attribute, still only a WHATWG feature request (issue 11641).
  • Roselli published script-free demos for six composite ARIA widgets: listbox, menu, menubar, radiogroup, tablist, toolbar.
  • Tests found role="presentation" and role="none" have no effect on focusgroup role exposure in the accessibility tree.
  • Luke Warlow replaced the explainer's site-navigation menu example with a toolbar example on 14 July (PR 1475).
  • Microsoft's Edge team is drafting a related focuslandmark explainer, discussed at Open-UI issue 1472.

Chrome 150 shipped support for focusgroup, an attribute that maps six composite ARIA widgets to keyboard behavior with zero scripting — and Adrian Roselli's first-pass tests have already surfaced role-exposure behaviors that read like bugs.

The feature comes from Open-UI, where Google and Microsoft staff hold outsized representation, which explains why Chrome implemented it first. WHATWG HTML has nothing beyond a feature request (issue 11641). The Open-UI explainer is currently the only documentation, inside or outside any spec.

Roselli built script-free CodePen demos for listbox, menu, menubar, radiogroup, tablist, and toolbar, each linked to the ARIA spec rather than the APG and mapped to behaviors drawn from APG keyboard guidance. The only styles honor dark and light mode, make focus visible, and set text defaults. Nothing works. Labels are nonsense.

What do the tests expose?

In quick testing across all patterns, Roselli found:

  • A button carrying focusgroup="none", plus its flanking buttons, still accept Tab focus — presenting as three focusable buttons where you might expect one excluded.
  • An interactive child with focusgroup="none" keeps its element role instead of the required accessibility child role. That surprises you if you expected a disabled-state effect. It isn't one.
  • role="presentation" and role="none" on a focusgroup node have no effect; the focusgroup role still lands in the accessibility tree and AAPIs. You cannot un-role a focusgroup to keep the interaction while dodging the role's other requirements.

Roselli also logged a default-behavior table: listbox and menu move on the block axis, menubar, tablist, and toolbar on the inline axis, radiogroup on both. Only toolbar gets no default accessibility child role.

He corrected one earlier claim after James Scholes pushed back on his reading of NVDA and JAWS virtual-cursor behavior.

Is the explainer itself clean?

No. Roselli is frustrated it leans on APG patterns as if they were the standard while pointing to MDN instead of the ARIA spec. The menu example originally used site navigation, an anti-pattern with years of evidence against it; on 14 July, Luke Warlow swapped it for a toolbar example (issue 1474, PR 1475). One explainer menu example also failed to strip roles from lists — issue 1476, filed 14 July, should address it.

A 6 July fork of his 2019 link-and-disclosure navigation prototype added focusgroup="menubar". Used alone, no roles change. Combined with role="menubar", child <li> elements lose their roles and buttons role-up to menuitems. Possibly a bug. Certainly a place where developers will confuse where ARIA roles belong.

His larger worry: developers will role-up standard HTML just to get free arrow-key interactions. He is also watching the CSS Working Group, unimpressed by its record on accessibility concerns, though relieved focusgroup landed in HTML territory rather than CSS.

Microsoft is already building on the momentum: the Edge team is drafting a focuslandmark explainer for declarative landmark focus navigation, discussed at Open-UI issue 1472, and has published its own undated focusgroup demos that predate Chrome's release. Roselli's demos need Chrome 150 today but stay useful as other browsers follow — and as accessibility practitioners document gaps before the spec ossifies code that can't be readily changed later.

Original: developer.chrome.com

Share this article:

More from Priya Raman

Priya Raman

Show full bio

Market editor covering technology and product news in Product and interaction design, design systems at Interface Wire.

44 articles

Related articles

  1. CSS Focus States as an Accessibility Interface, Not an Afterthought

  2. Native HTML Popover Cuts Script and ARIA From Site Navigation

  3. Google's Modern Web Guidance Fails Its Own Accessibility Promises

  4. SitePoint Asks Whether AI Can Write Accessible Code

« Previous articleNext article »