Skip to content

Search

Start typing to search.


Show all pages

Documentation

controls

Radio

A set of options where people pick exactly one.

CSS onlyPlain classes; no JavaScript in any stack.

Usage

Radios with the same name form one group. Wrap them in a <fieldset> with a <legend>.

Transmission
HTML

Examples

With a hint

Connect a hint to the whole group with aria-describedby on the fieldset.

Lesson plan

You can change the plan after each lesson.

HTML

Guidance and accessibility

When to use

  • Use radios when people pick one option from two to about six, and seeing them all helps the choice.
  • Check a sensible default when there is one, so the form can be sent as is.
  • With more options, use a select.

Accessibility

  • Native radios: Tab reaches the group, arrow keys move between options and screen readers announce the position, such as “2 of 3”.
  • The <legend> is read with each option, so keep it short and phrase it as the question.
  • On touch screens every row is at least 44 pixels tall.

Classes

Generated from the component contract. Parts use __, modifiers use --.

Classes of the radio component
ClassKindUse it for
ca-radioComponentThe <label> around the input and its text; the click and touch target.
ca-radio__inputPartA native <input type="radio">; the skin sets its size and color.

Skins

The same markup, dressed by each skin. Structure and behavior stay the same; only the look changes.

Base skin

Neutral grayscale starting point; product skins extend it and change what differs.

Transmission

Calaca skin

The Calaca UI brand: hueso paper and tinta ink, cempasúchil marigold, rosa and jade.

Transmission

Proof skin

Pilot skin pushed far from base: square, heavy, offset shadows, larger targets.

Transmission

Crossview skin

The CrossView proofing table: cool ground, bond-paper sheets, rule-grey hairlines, one red mark.

Transmission

Framework notes

Link the prebuilt stylesheet of your skin next to your brand theme. No build step.

HTML
<link rel="stylesheet" href="theme.css" />
<link rel="stylesheet" href="ca-base.css" />