🍙 Onigiri

The Crunchyroll design system, rendered live from its own tokens and components. It cannot drift from what ships.

Docs draft

Radio

When to use it

useOne choice among 2-5 visible options (audio language, video quality).
avoidMore than ~5 options, or options that need descriptions. select Planned.
avoidIndependent choices — radios are never solitary. checkbox

States

unchecked — Not selected; only the control boundary shows.

checked — Selected; the fill and glyph show the on state.

disabled — Not interactive; rendered with the lifted disabled tokens so it stays perceivable.

checked disabled — Selected and not interactive; the selection stays perceivable.

Design specifications

ring20px, radius.full, 2px stroke, inside a 44px touch target
dot12px, color.accent.base
border-restcolor.border.strong (3:1 contracted)
border-checkedcolor.accent.base
border-disabledcolor.border.subtle
dot-checked-disabledcolor.text.disabled
labeltype.body via the children slot

Accessibility

Arrow keys — Move selection within the group (native behavior; share the name attribute).

Tab — One stop per group; focus ring 2px text.primary offset 3.

color.border.strong on color.bg.primary — Contracted at ≥ 3:1 by the build gate.

Native input; grouping comes from the shared name attribute, never from ARIA improvisation.