v150 · HTML · Accessibility · demo
Toolbar Demo
Tab into the toolbar, use ← → arrows to navigate between buttons, Tab again to reach the editor. All keyboard behaviour comes from the focusgroup attribute — no JavaScript focus management.
Chrome 150+ — requires focusgroup attribute. In unsupported browsers the toolbar still works via Tab; arrow navigation is the new part.
1 · Click into the toolbar area (or Tab to it) | 2 · Use ← → to move between buttons | 3 · Press Tab to move to the editor
Click here or Tab from the toolbar to edit. The focusgroup attribute above gives the toolbar its arrow-key navigation — inspect the HTML to see how simple it is.
<!-- The entire keyboard navigation behaviour —
arrow keys, single tab stop, last-focus memory —
comes from ONE attribute -->
<div role="toolbar" focusgroup="toolbar wrap">
<button>B</button>
<button>I</button>
<button>U</button>
<!-- no tabindex juggling, no keydown handlers -->
</div>
<!-- focusgroup values:
"toolbar" — toolbar behavior; inline arrows by default
"toolbar block" — vertical toolbar override
"toolbar wrap" — wrap from end to start and start to end
"toolbar nomemory" — do not restore the last-focused item
-->
see also
implementation reference
Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗