Resonance Logo

Radio Button

Radio buttons let users select exactly one option from a mutually exclusive set, grouped under a shared question or prompt conveyed through a fieldset and legend.

Demo

Tab into the radio group and use the arrow keys to move between options. Notice how selecting one option automatically deselects the others. Confirm that the group label and each option label are both announced by a screen reader when navigating.

Select your pizza size
Serves 8 people
Serves 6 people
Serves 4 people
Serves 1 person

What to Observe

Anatomy

[Anatomy image placeholder — will be added when assets are available]

  1. Fieldset: The grouping element that wraps all radio options and their shared legend.
  2. Legend: The visible group label that describes the question or category the radio options answer.
  3. Radio input: The native input element of type radio that handles selection, keyboard navigation, and assistive technology announcements.
  4. Option label: The visible text label associated with each radio input via a for/id pairing.
  5. Focus indicator: The visible outline or highlight that appears on the currently focused radio control.

Accessibility Behavior

Common Mistakes

Why This Matters

Radio buttons appear in surveys, settings panels, and checkout flows where choosing the wrong option can have real consequences. When the group question is missing, a screen reader user hears a list of options with no understanding of what they are deciding. When native inputs are replaced with styled divs, the entire keyboard and screen reader experience breaks down. Using native HTML inputs inside a properly labeled fieldset costs nothing extra and guarantees robust, cross-platform support for all users.

Accessibility Validation

This component is validated against internal accessibility criteria aligned with WCAG standards, using our internally developed system, Resonance Specs.

To learn more, please contact us.

Code

Reference Implementation