Skip to main content
A Singapore Government Agency Website
TYP-2L1 · mandatorydeterministicTypography

Body text at least 14px; labels at least 12px; body line-height 1.5-1.6

Fails when: body copy below 14px · line-height under 1.5 on multi-line body text

Requirement

Set body copy at 14px or larger in the product's declared body typeface (TYP-1), UI labels at 12px or larger, and body line-height between 1.5 and 1.6. Sizes come from the type scale TYP-3 resolves: the product's DESIGN.md, else the codebase's, else Tailwind's default. This control sets the floors.

Rationale

Readability is kindness. People scan between tasks — already tired, already behind. Type below these floors trades their legibility for layout convenience, which inverts Utility by Default.

Passes when

  • All body copy is ≥ 14px (Body Small is the 14px floor; Body 16, Body Large 18).
  • Labels and captions are ≥ 12px (Label/Caption 12 styles).
  • Body text line-height computes to 1.5–1.6.

Fails when

  • Body copy below 14px — including "just this dense table".
  • UI labels below 12px.
  • Line-height under 1.5 on body copy.

How to verify

checks/type-scan.py: statically scan resolvable font-size and line-height declarations and report values below the floors with file and line. Verify rendered-only sizes and label/body applicability manually against the rendered output.

Also available as Markdown · catalog.yaml