Skip to main content
Back to Blog

Color Contrast Is Not a Design Preference

By Brent Passmore 3 min read

Updated

The ratio that matters

WCAG 2.1 AA requires a contrast ratio of at least 4.5:1 for normal text and 3:1 for large text. Large text means 24px regular weight or 18.66px bold. Those numbers aren't arbitrary. They're the threshold where text becomes reliably readable for people with moderately low vision.

Think of contrast like the lettering on a seed packet. If you can't read the label in the sunlight, the information is useless, no matter how well it was written.

Who this actually affects

Low vision affects roughly 1 in 12 people over age 65 and millions more at every age. Color vision deficiency (what most people call colorblindness) affects approximately 8% of men and 0.5% of women. Add in situational factors like screen glare, dim lighting, or an aging laptop display, and the population affected by poor contrast expands to include nearly everyone at some point.

Designing for contrast isn't designing for edge cases. It's designing for reality.

Where contrast fails most often

Placeholder text

Form placeholders are among the worst offenders. Browsers default to a light gray that fails contrast checks against white backgrounds. If your placeholder is your only label, you've got two problems, but the contrast failure is the one automated tools will catch first.

Disabled states

WCAG technically exempts disabled controls from contrast requirements, but that doesn't mean you should make them invisible. Users need to know a control exists even if they can't interact with it yet.

Text over images

Hero banners with white text over photographs are a gamble. Some areas of the image will provide enough contrast. Others won't. A semi-transparent overlay solves this, and it's the same technique we use in the Had A Farm footer when a background image is set.

Links within text

Links that rely solely on color to distinguish them from surrounding text need a 3:1 contrast ratio between the link color and the body text color, in addition to the 4.5:1 ratio against the background. An underline removes this requirement entirely, which is why we recommend keeping underlines on inline links.

Checking your work

You don't need to calculate contrast ratios by hand. Tools like eiSEO flag contrast failures automatically during site scans. Browser DevTools have built-in contrast checkers in the color picker. WebAIM's online contrast checker lets you test any two colors in seconds.

The important thing is to check early and check often. Catching a contrast failure in a design comp takes thirty seconds to fix. Catching it after the site launches takes a ticket, a developer, a deploy, and a whole lot of unnecessary back-and-forth.

Better contrast, better design

Here's the part that surprises people: improving contrast almost always improves the design. High-contrast text is more confident. It communicates hierarchy more clearly. It reads faster. The best typographic design in the world has always been high-contrast. Black text on white paper wasn't an accessibility accommodation, it was a design choice refined over centuries.

Your website deserves the same clarity. So do your readers.

Contrast requirements.

What are the WCAG color contrast requirements?

WCAG 2.1 Level AA requires a minimum contrast ratio of 4.5:1 for normal text and 3:1 for large text (18px bold or 24px regular). Level AAA raises the requirement to 7:1 for normal text and 4.5:1 for large text. These ratios ensure text remains readable for people with low vision or color vision deficiencies.

How many people are affected by low color contrast?

Approximately 4.6 million Americans have low vision, and roughly 300 million people worldwide have some form of color vision deficiency. Beyond permanent conditions, situational factors like bright sunlight on a screen, aging eyes, or screen glare make sufficient contrast important for a much larger audience.

How do I check color contrast on my website?

Tools like eiSEO scan your pages automatically for contrast failures. You can also use browser developer tools, the WebAIM Contrast Checker, or browser extensions that overlay contrast ratios directly on your page. Test both your default color scheme and any dark mode or alternate themes.

More from the field

Heading Hierarchy: The Rows in Your Garden

Headings aren't just big text. They're the structural skeleton of your page: the rows and furrows that tell both humans and machines where one section ends and another begins.

4 min read

Skip Links and Focus Management: Clear Paths Through the Field

Imagine walking through a farm where you have to open every gate in sequence before reaching the barn. That's what keyboard users experience without skip links and proper focus management.

4 min read