Resting, checked, and
disabled. Slot any content — a bold title plus a
muted description reads best.
Default type="checkbox" toggles independently;
type="radio" with a shared
name single-selects. Add
hide-indicator for border-only selection.
Share a name across
type="radio" selectors to make them mutually
exclusive, and wrap them in a role="radiogroup"
container. Try clicking.
plan pickers, onboarding choices, or settings where each option benefits from a title, description, and a selected state. For a compact list, use a plain Radio or Checkbox instead.
type="radio" with a shared name when only one option may be chosen.<button> with role="checkbox" or role="radio" and reflects aria-checked.role="radiogroup" with an aria-label so the set is announced as one control.change event.disabled sets aria-disabled and blocks activation.