A11.03.1Minimum font size and user-adjustable text scalingdesign

Text needs both a floor size that never shrinks and room to scale up further

Aliases: dynamic type · text scaling · minimum body text size

What it is

Adapting text size for older users requires two separate moves, neither of which substitutes for the other: setting a floor below which body text size never drops, and letting users scale text up further from that floor to whatever multiplier they personally need — without the layout breaking when they do (truncated text, overlapping controls, unexpected horizontal scrolling). The floor guarantees a usable baseline; adjustability covers the individual variance the floor cannot.

Why it happens

A fixed font size can only target one assumed average level of vision, but the actual population's vision spans a wide range — no single fixed value, however large, will be enough for everyone, and any value large enough for the low end will feel oversized and hurt reading efficiency for others. Adjustable scaling hands the "how big is big enough" judgment back to each user instead of asking the designer to guess a universal number. But if enlarging text truncates or occludes content, the "choice" collapses into "give up readability or break the layout" — adjustable scaling only works if paired with a layout that flexes with content (wrapping, containers that grow with their contents); without that pairing, the scaling control is nominal.

Where it stops holding

Not every older user needs larger text — a substantial share have fully corrected vision and read comfortably at standard sizes. Forcing a larger default size for everyone sacrifices information density and scanning efficiency for that group. The value of adjustable scaling lies in making enlargement available on demand, not in raising the default simply because the primary audience skews older — the product should guarantee the scaling path exists and works, not assume everyone needs it turned on.

Applying it

  • Keep body text at or above roughly 16px (about 12pt), with line height at least 1.4–1.5 times the font size to avoid crowded lines that cause line-tracking errors.
  • Support scaling text up to at least 200%, either through system settings or an in-app control, with no screen showing truncated text, control labels overflowing their containers, or a need for horizontal scrolling to see full content.
  • Extend the scalable range to all body content and key action labels across the interface — not just some text while buttons and status messages stay fixed and equally in need of reading.
  • Verification: set the system font scale to its maximum step and check every screen in the product; log any screen that shows truncation, occlusion, or forced horizontal scrolling — the target is zero. For every screen that fails, record the specific element and fix the layout until it flexes to accommodate the scale.

Related

  • Same group: A11.03.2 simultaneous target size and spacing enlargement · A11.03.8 modern interface metaphor unfamiliarity causing icon ambiguity
  • Nearby: A1.04 contrast sensitivity and spatial frequency channels
  • Search terms: dynamic type · text scaling · minimum font size

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/A11.03.1