Skip to content
Inputs

RadioGroup

A group of radio buttons with keyboard navigation. The group handles arrow key navigation and value management.

LlmRadioGroup + LlmRadio
WCAG AA0 deps

Demo

Live PreviewReact
jsx
<LlmRadioGroup name="plan" value="free" onValueChange={(v) => console.log(v)}>
  <LlmRadio radioValue="free">Free</LlmRadio>
  <LlmRadio radioValue="pro">Pro</LlmRadio>
  <LlmRadio radioValue="enterprise">Enterprise</LlmRadio>
</LlmRadioGroup>

API (Angular)

PropTypeDefaultDescription
valuestring''Currently selected value
onValueChange(value: string) => voidCalled when selection changes
disabledbooleanfalseDisables all radios in the group
readonlybooleanfalseMakes all radios in the group read-only
invalidbooleanfalseApplies invalid/error styling
requiredbooleanfalseMarks field as required
namestring''HTML name attribute (propagated to radios)

Composition parts

RadioGroup is composed from the parts below. Each part is its own component — drop the ones you don't need.

LlmRadio

An individual radio button. Place inside LlmRadioGroup — the group manages the checked state.

PropTypeDefaultDescription
radioValuestringValue this radio contributes when selected (required).
disabledbooleanfalseDisable this radio only.

Import

ts
import { LlmRadioGroup, LlmRadio } from '@atelier-ui/angular';

Accessibility

ARIA roleradiogroup

KeyAction
TabMove focus into the group (to the checked radio, or the first radio if none is checked).
Arrow Up / LeftSelect the previous radio, wrapping to the last.
Arrow Down / RightSelect the next radio, wrapping to the first.
SpaceSelect the focused radio.
  • Only the currently selected radio is in the tab sequence (roving tabindex) — the whole group is one tab stop.
  • If you supply a label via <label> or aria-labelledby on the group, screen readers announce it when focus enters.