Comparison: Native vs. Focusgroup

Side-by-side comparison showing that a focusgroup radio group can behave comparably to native <input type="radio">.

Try it: Use to navigate in both groups. Selection-follows-focus is on by default (matching native radio behavior). Toggle the switch to disable it and see how arrow keys move focus without selecting.
focusgroup="radiogroup block wrap nomemory"

Native Radio Buttons

Favorite color

Focusgroup Radio Group

Red Green Blue Purple
View source
<div focusgroup="radiogroup block wrap nomemory"
     aria-label="Favorite color" class="radio-group radio-group-column">
    <span aria-checked="true" tabindex="0"
          class="radio-option checked" focusgroupstart>Red</span>
    <span aria-checked="false" tabindex="0"
          class="radio-option">Green</span>
    <span aria-checked="false" tabindex="0"
          class="radio-option">Blue</span>
    <span aria-checked="false" tabindex="0"
          class="radio-option">Purple</span>
</div>

Key Point: Navigation vs. Selection

With native <input type="radio">, moving focus with arrows also selects the option (selection-follows-focus). The APG Radio Group pattern normatively requires this behavior for role="radio". With focusgroup, selection-follows-focus is implemented in JavaScript and is on by default in this demo. The toggle above can disable it to show the non-conformant "deferred selection" mode (where Enter/Space confirms selection). It is provided for comparison only.