Users with dyslexia, low vision, and other cognitive and learning disabilities apply browser extensions and user stylesheets that override line height, paragraph spacing, letter spacing, and word spacing -- layouts built around fixed-height containers and overflow: hidden clip the enlarged text and break the page.
1.4.12 Text Spacing
In Plain Language
1.4.12 Text Spacing (Level AA, new in WCAG 2.1) requires that no content or functionality is lost when a user overrides text spacing to the following minimums: line-height at 1.5 times the font size, spacing following paragraphs at 2 times the font size, letter-spacing at 0.12 times the font size, and word-spacing at 0.16 times the font size[1]. All four values must be tolerated at once.
Why It Matters
- Users with cognitive and learning disabilities (dyslexia in particular) and users with low vision install browser extensions or user stylesheets that apply the 1.4.12 spacing tokens. If the layout cannot absorb the taller line boxes and wider tracking, the text they rely on is the text that breaks.
- Fixed-height text containers (
height: 60px) plusoverflow: hiddenclip the enlarged content -- sentences end mid-word, buttons lose their labels, modal copy disappears below the fold of a capped panel. - Pixel-locked
line-height(line-height: 20px) refuses to grow when the user raises the ratio to 1.5, so descenders collide with the next line and letters with tracking applied overlap the container edge. - 1.4.12 is distinct from 1.4.8 Visual Presentation (Level AAA), which asks authors to ship those spacing defaults. 1.4.12 is the Level AA version: authors do not have to apply the spacing, but they must not break when the user applies it[2].
Examples
This card uses flexible sizing. The container grows as text spacing increases.
No content is clipped or hidden.
✔ Container uses min-height, not fixed height -- text reflows naturally
/* Good: container grows with content, line-height is unit-less */
.card {
padding: 1rem;
min-height: 0; /* no fixed height */
overflow: visible; /* never clip text */
}
/* These overrides must not break the layout: */
p {
line-height: 1.5; /* 1.5x font size, unit-less */
letter-spacing: 0.12em; /* 0.12x font size */
word-spacing: 0.16em; /* 0.16x font size */
}
p + p {
margin-top: 2em; /* 2x font size */
}
This card has a fixed height of 60px and overflow hidden. When spacing increases, the text is clipped and users cannot read it.
✘ Fixed height + overflow: hidden clips text when spacing is overridden
✔ Button uses white-space: normal -- text wraps if needed at wider spacing
✘ white-space: nowrap in a constrained container -- text is cut off
How to Fix It
- Replace fixed heights with
min-height. Any container that holds user-facing text should be free to grow vertically. Pair this withoverflow: visibleon text containers --overflow: hiddenon a text block is almost always a 1.4.12 failure waiting for a user stylesheet. - Use unit-less
line-height. Writeline-height: 1.5, notline-height: 24px. Unit-less values inherit as a multiplier and scale with any font-size the user applies; pixel values stay locked and collide with taller glyph boxes. - Test with the W3C spacing overrides. Paste a stylesheet that sets
line-height: 1.5,letter-spacing: 0.12em,word-spacing: 0.16em, and paragraphmargin-bottom: 2eminto your browser's user CSS (or a bookmarklet) and walk the page. If anything clips, overlaps, or disappears, that is the failure[1]. - Let text wrap. Avoid
white-space: nowrapon buttons, tabs, and menu items that carry real words. If a label has to stay on one line, give the container enough room to absorb the widerletter-spacingandword-spacing. - Verify interactive controls. Buttons, links, tabs, and form labels must stay fully visible and operable after the overrides. A clipped button label is both a 1.4.12 failure and a 2.5.3 Label in Name risk if screen-reader users hear a name the sighted user cannot read.
References
- [1] W3C (2023). Understanding Success Criterion 1.4.12: Text Spacing. W3C, Accessed 2026-04-07. https://www.w3.org/WAI/WCAG22/Understanding/text-spacing.html ↩ ↩
- [2] W3C (2023). Understanding Success Criterion 1.4.8: Visual Presentation. W3C, Accessed 2026-04-07. https://www.w3.org/WAI/WCAG22/Understanding/visual-presentation.html ↩