Skip to main content
WCAGrules
Quick navigation

Guides · Design and visual

What Helps Readability, What is Folklore, and What WCAG Says

There is no official list of accessible fonts, and anyone selling you one is guessing. What matters is a handful of letterform properties and the sizes you set them at.

Last reviewed August 30, 2026

Clear the biggest misconception first, because it is what people arrive here looking for.

WCAG names no fonts. Not one. There is no approved list, no certified typeface, and no such thing as a WCAG compliant font. A vendor selling you one is selling a design opinion with a compliance label stuck on it.

It does describe letterforms, once, in a note attached to its definition of large text. Fonts with extraordinarily thin strokes, or unusual features that reduce the familiarity of their letterforms, are harder to read, especially at lower contrast levels. That sentence is the whole of what the standard says about typeface choice, and two of the six properties below come straight out of it.

The Six Properties That Actually Matter

None of these is a rule. All six are the things that decide whether somebody can read your page at the size you set it.

  1. Distinguishable characters. Capital I, lowercase l, and the digit 1 should not be the same shape. Zero and capital O should not either.
  2. Open apertures. The gaps in c, e, s and a stay open rather than closing up. Closed apertures blur together at small sizes and low contrast.
  3. Generous x-height. The lowercase letters sit tall relative to the capitals, which is one of the strongest predictors of readability at small sizes.
  4. Real weight difference. Bold has to look clearly bolder. Thin and light weights are where low-vision readers lose text entirely, and this is the property the standard itself names.
  5. Unambiguous letter pairs. rn should not read as m. cl should not read as d.
  6. Consistent spacing. Tight tracking hurts people with dyslexia and anybody reading at speed.

The thirty-second font test

Set your candidate font at 16px and type Illegal1 0O rn/m cl/d. If any pair is hard to separate at a glance, it will be worse for somebody with low vision, worse on a phone in sunlight, and worse at speed. This is our own shortcut rather than anything the standard asks for, and it tells you more than any list of font names.

What About Dyslexia Fonts?

Fonts marketed specifically for dyslexia are popular and the evidence for them is weaker than the marketing. The largest study we can point to tested 170 children with dyslexia reading text set in a dyslexia-specific font against the same text in Arial, and found no advantage in speed or accuracy. Most of the children preferred reading in Arial, and their preference had nothing to do with how well they read. A second experiment across 147 children, with and without dyslexia, reading word lists in three typefaces reached the same conclusion. The font neither helped nor hindered.

The things that do reliably help are duller and cheaper. Adequate size. Generous line spacing. Left-aligned text rather than justified. Shorter line lengths. And letting people override your styles, which is not a preference at all but the Level AA text spacing rule two sections down.

The British Dyslexia Association publishes figures worth having if you are setting type for a general audience. Body text at 12 to 14 point, roughly 16 to 19 pixels. Headings at least 20 percent larger than body text. Line spacing at 1.5. Inter-letter spacing around 35 percent of the average letter width, with inter-word spacing at least three and a half times that. Left aligned, never justified. Avoid pairing green with red or pink. And a cream or soft pastel background rather than white, because white can be dazzling.

One honest divergence. That guidance recommends sans serif typefaces by name, and we do not, for the reason in the next section. We think the category matters much less than the size and the spacing, and it is fair to say we are disagreeing with a source we otherwise cite.

Serif or Sans Serif?

This argument has run for decades and the honest answer is that it matters far less than size, spacing and contrast. A well-set serif at 18px with generous leading is easier to read than a cramped sans at 13px, every time. Pick for clarity at the sizes you actually use, and stop worrying about the category.

The Sizes and Spacing to Set

SettingWhat we would useThe rule behind it
Body text size16px minimum, 18px is betterNo WCAG minimum at all. What 1.4.4 requires is that 200% resize works
Line height1.5 for body text, because it reads better1.4.12 asks that your layout survive 1.5 applied by the user, which is a different thing from shipping it
Paragraph spacingMust survive 2 times the font size applied by the user1.4.12 Text Spacing
Letter spacingMust survive 0.12 times the font size applied by the user1.4.12 Text Spacing
Word spacingMust survive 0.16 times the font size applied by the user1.4.12 Text Spacing, the metric most often left off a table
Line lengthAround 80 characters or fewer, and 40 for Chinese, Japanese and Korean1.4.8 at Level AAA, and good practice below it
AlignmentLeft aligned, never justifiedA documented failure technique, and the criterion that bars it outright sits at AAA
Unitsrem or em for text sizesNot a rule. Pixels zoom fine and pass 1.4.4
Typography settings, what we would use, and the rule behind each

The unit row is the one that has quietly turned into folklore, so it is worth stating plainly. Text sized in pixels scales with browser zoom exactly like everything else, and no failure technique exists for using pixels. What pixel text does not do is respond to the browser's own default font-size preference, which is a real and much narrower problem than never use px. Relative units are still what we would use, and sizing text in em is a published sufficient technique. Viewport units are the ones with a documented failure attached, because text sized in vw does not respond to zoom at all.

The One Size Threshold WCAG Does Define

It is not a minimum, it is a boundary, and it decides which contrast ratio applies to your text. Large text means 18 point, or 14 point when it is bold, which converts to roughly 24 pixels and 18.5 pixels, or about 1.5em and 1.2em against a default body size. Text at or above that needs 3:1 contrast. Everything below it needs 4.5:1.

One catch closes the loophole people reach for. Font size means the size as delivered, not the size after somebody zooms. A reader magnifying your 16px body text to 200 percent has not turned it into large text, and the 3:1 threshold does not become available to you.

The Three Typography Rules You Have to Meet

Everything above is judgment. These three are requirements.

  • 1.4.4 Resize Text. Text has to work at 200 percent with no loss of content or functionality. Captions and images of text are excepted.
  • 1.4.12 Text Spacing. Your layout has to survive the reader applying all four metrics, not you shipping them. Images of text are excluded, and so are captions burned into video frames.
  • 1.4.5 Images of Text. Use real text rather than a picture of text, unless the presentation is essential or the user can customize it.

That third one is where the most common mistake on this subject lives, and it is worth being exact, because the obvious fix does not work. An image of text can be read aloud, since that is what alt text does. Writing the words into the alt attribute satisfies the non-text content rule and leaves the images-of-text rule failed, because that rule wants real text somebody can resize, restyle and reflow. The remedy is real text styled with CSS, which is a published technique, or a control letting the user swap the image for text. At Level AAA there is a stricter version which removes the customizable-presentation escape entirely.

Note also what does not apply to an image of text, because two of the reasons people usually give come from criteria that carve the case out. The resize rule excepts images of text. The spacing rule excludes them. So the argument for real text is that a picture of words cannot be reflowed, recolored or selected, not that it fails those two.

Logos are exempt, and the exemption is wider than most people know. Text that is part of a logo or brand name has no contrast requirement at all, and W3C's own tutorial adds that logos are also outside the minimum text-size expectations that apply to other images of text.

Text spacing is the rule that catches people out, and the test has to be run properly to mean anything. The criterion asks that no content or functionality is lost when the user sets all four metrics at once and changes nothing else. Line height at 1.5 times the font size, spacing after paragraphs at 2 times, letter spacing at 0.12 times and word spacing at 0.16 times. Apply them one at a time in developer tools and a layout can survive each and break under all four together. Note the language exception too, since a script that does not use one of those properties, such as Japanese and paragraph spacing, conforms using only the ones that apply.

Contrast Is a Typography Decision Too

The most common typography failure we find is not the typeface. It is light grey body text on white, chosen because it looks calm in the design file. Whether it fails depends entirely on the grey, and there is one number worth memorizing. #767676 is the lightest neutral grey that clears 4.5:1 on white. Anything lighter than that does not, and W3C uses the same value in its own worked examples.

Thin weights make it worse in a way a ratio cannot see, and that is not our opinion either. The standard's own note says fonts with extraordinarily thin strokes are harder to read especially at lower contrast levels. A 200-weight font at exactly 4.5:1 is harder to read than a 400-weight at the same ratio, and the calculator will call both of them a pass. So check your pairs to catch the ones that fail outright, then look at the result at the weight you are actually shipping. Our contrast guide has the ratios in full.

One place this bites that designers rarely check. Placeholder text is inside the contrast rule, and browsers usually render it in a color that does not meet the minimum, so a form left at the default is failing before anybody types anything.

One honest limit

No typeface makes a site accessible, and no typeface makes it inaccessible. If you want one change that helps more readers than any font swap, raise your body text to 18px and your line height to 1.5, then check your greys.

Common questions

What is the most accessible font?
There is not one, and WCAG names none. What matters is whether the letterforms are distinguishable at the size you set them, whether the weight is strong enough, and whether the spacing is generous. Arial, Verdana, Tahoma, Open Sans, Source Sans, Georgia and Charter are all perfectly good choices. So are hundreds of others.
What is the minimum font size for accessibility?
WCAG sets none. What it requires is that text works at 200 percent zoom. We would set body text at 16px minimum and prefer 18px, which is judgment rather than a rule. The one size the standard does define is the boundary for large text, at 18 point or 14 point bold, and that decides which contrast ratio applies rather than whether the size is allowed.
Do dyslexia fonts actually help?
The evidence says no. A study of 170 children with dyslexia found no advantage in reading speed or accuracy over Arial, and most of them preferred Arial. What does help is size, line spacing, left alignment, shorter lines, and letting people override your styles, which is the text spacing rule at Level AA rather than a nicety.
Is serif or sans serif more accessible?
Neither, at the sizes real websites use. It matters far less than size, spacing and contrast. A well-set serif at 18px beats a cramped sans at 13px. Some dyslexia guidance recommends sans serif specifically, and that is a reasonable default rather than a requirement.
Should I use px, em, or rem for font sizes?
We would use rem or em, and pixels do not fail anything. Pixel text zooms exactly like everything else and there is no failure technique for it. What it does not do is follow the browser's own default font-size preference, which is a narrower problem than the folklore suggests. Viewport units are the ones to avoid, because text sized in vw has a documented failure attached to it.
Does alt text satisfy the images-of-text rule?
No, and this is the most common mistake in this whole subject. Writing the words into the alt attribute satisfies the non-text content rule and leaves the images-of-text rule failed, because that rule wants real text somebody can resize, restyle and reflow. The remedy is real text styled with CSS, or a control letting the user swap the image for text.

Sources

Keep reading

More on design and visual

Reading about it is the cheap part.

Find out where your site actually stands. The free scan checks 10 pages in a real browser against all 90 supported automated rules, keeps its 27 best-practice checks separate from WCAG findings, and names the rule behind every finding. The full audit adds an expert review and a real blind screen-reader user. From $499, with the report in 5 business days on Rapid and 10 on Standard, and the clock starting at cleared payment.

Go somewhere useful

Find tools, resources and your workspace.

29 destinations