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
Cards in the same group
- A11.03.2Enlarging target size and target spacing together
- A11.03.3Timeouts that can be extended or turned off
- A11.03.4Breaking flows into steps with one task per screen
- A11.03.5A persistently visible undo affordance to reduce operation anxiety
- A11.03.6Error messages that don't blame the user
- A11.03.7Handling hand tremor with touch debounce and mis-tap filtering
- A11.03.8Unfamiliarity with modern interface metaphors causing icon ambiguity
- A11.03.9Sometimes a caregiver operates the device for someone else, in person or remotely