What it governs
Corner rounding on every surface: controls, cards, dialogs, chips, avatars. Five tokens.Vocabulary
The terms used on this page are descriptive rather than decided — the naming specification does not cover the radius scale (see Open issues).The scale
3px is a deliberate choice, not a default. It is one of the few structural values
Titan sets rather than inherits, which makes it a decision worth preserving — a component
that rounds to 4px is not making a small refinement, it is opting out of the system.
radius-pill uses 100px rather than a percentage deliberately. A large fixed radius clamps
to exactly half the height on any element shorter than 200px, producing true semicircular
ends at every control height. 50% on a non-square element produces an ellipse instead.
Choosing a token
Token reference
Constraints
Accessibility
Radius carries no direct accessibility requirement — it is not a contrast, target-size, or semantic property. Two indirect effects:- Radius reduces effective hit area at the corners. Negligible at 3px; real at
radius-pillon a small control, where the corners of the bounding box are outside the visible shape. Keep the target at the full control height rather than relying on the visible pill. - Shape is a weak but real differentiator for users who cannot rely on color. A pill chip and a square button being visually distinct is a small assist. It is not sufficient on its own and never substitutes for a label — see TITAN-COLOR-03.
Known issues
Radius: open issues
Divergences, open decisions, and undocumented gaps for Radius.
Related
10 core components consume this foundation — derived from token usage incomponents/core/src/components, not assumed:
Badge · Button · CircularProgress · DatePicker · Dropzone · Progress · Select · Slider · TextField · TextFieldWithSearchIcon
Why it works this way
Five values, and three of them are special cases.radius-sm, radius-base, and
radius-md are a scale; radius-pill and radius-circle are shapes. That split is what
keeps the scale small — a system that expresses “pill” as “radius-9” ends up with a dozen
steps nobody can choose between.
The default is small. 3px reads as finished rather than as styled. Titan’s surfaces
are dense, data-heavy, and numerous — a 12px radius on every cell, chip, and control in a
table produces visual noise that competes with the data. Rounding is meant to soften an
edge, not to be noticed.