The contrast ratios that actually matter for accessibility
Color contrast is one of the more measurable, testable parts of accessibility, and also one of the most commonly failed on client sites we audit, usually not from indifference but from designers not knowing where the actual numeric thresholds sit.
The two numbers that matter for WCAG AA
Normal-sized text needs a contrast ratio of at least 4.5:1 against its background. Large text, 18-point regular or 14-point bold and above, needs at least 3:1. These are the two thresholds we design against by default, since WCAG AA is the level most accessibility audits and legal standards actually reference.
Where designs fail this most often
Light gray text on a white background, a design trend that reads as clean and modern, routinely fails contrast requirements, sometimes by a wide margin. We see this most often on secondary text: captions, metadata, placeholder text, exactly the elements designers deprioritize but users with low vision still need to read.
You don't need harsh, high-contrast design to pass
Meeting contrast requirements doesn't mean abandoning a refined, muted palette. A slate gray at the right darkness against a warm off-white background can comfortably pass 4.5:1 while still reading as considered and soft rather than stark. We check contrast ratios during palette selection, not as a compliance pass after the design is finalized, specifically to avoid this false trade-off.
Test with a real tool, not by eye
Contrast that looks fine to a designer with typical vision can still fail the numeric threshold; the ratio isn't reliably judgeable by eye. We check every text and background color pairing with a contrast checking tool during design review, which takes minutes and catches issues before they reach development.
Don't forget non-text contrast requirements
WCAG also sets a 3:1 contrast requirement for meaningful UI elements and graphical components, like icons, form field borders, and button outlines, a category designers check far less consistently than text contrast. A ghost button with a barely-visible border is a common, easily overlooked failure of this specific requirement.
It's also just good design practice beyond compliance
Sufficient contrast helps every user in bright sunlight, on a lower-quality screen, or simply tired at the end of a long day, not only users with diagnosed low vision. We frame contrast compliance to clients as a usability improvement for the entire audience, not a narrow accessibility checkbox, because that's genuinely what it is.
Sufficient contrast helps every user in bright sunlight, on a lower-quality screen, or simply tired at the end of a long day, not only users with diagnosed low vision.
WCAG AAA is worth understanding even if you're targeting AA
The stricter AAA standard requires 7:1 for normal text and 4.5:1 for large text, and while we don't push every client to hit AAA across the board, knowing where those thresholds sit helps prioritize which specific elements deserve the extra contrast margin. Primary body copy and any text conveying critical information, error messages, legal disclosures, are the places we most often recommend exceeding AA and reaching for AAA where the design allows it.
The gap between AA and AAA is bigger than the numbers alone suggest, since 7:1 rules out a lot of the mid-tone color pairings that comfortably clear 4.5:1, which means aiming for AAA on specific high-stakes text often pushes a design toward genuinely darker or lighter values than a designer would otherwise choose. We treat this as a deliberate, selective decision rather than an all-or-nothing standard applied uniformly across a whole page.
Dark mode needs its own contrast pass, not an inverted assumption
A color pairing that passes contrast comfortably in light mode doesn't automatically pass once colors are inverted or adjusted for a dark theme, since the actual luminance relationship between text and background changes in ways that aren't always intuitive. We run a full separate contrast check for dark mode palettes rather than assuming an inversion preserves the same ratios.
Placeholder text is a contrast failure hiding in plain sight
Placeholder text inside form fields is one of the most consistently under-contrasted elements we find in audits, since default browser and framework styling often renders it in a pale gray that fails contrast requirements outright, and because it's easy to mentally categorize as decorative rather than as content a user actually needs to read. We check placeholder contrast specifically as a standing item on every design review, since it's exactly the kind of detail that's easy to overlook until it's flagged directly.
Contrast on images and gradients needs its own manual check
Text placed over a photographic background or a gradient is one of the harder contrast cases to audit automatically, since the effective background color shifts across the image and a single contrast check against one sampled pixel doesn't capture the full picture. We check the darkest and lightest realistic points behind any overlaid text, and where an image varies too much to guarantee contrast reliably everywhere, we add a solid or gradient scrim behind the text specifically to guarantee the ratio holds regardless of what's happening in the image underneath.
This check matters most on hero sections and marketing banners, exactly the highest-visibility parts of a site where a designer is most tempted to prioritize a striking visual over a guaranteed-legible text treatment. We've caught real failures here on otherwise well-designed sites, a headline that reads perfectly against the top-left of a hero image and becomes nearly invisible once real content pushes it toward a brighter section of the same photo.
Building contrast checks into the design system pays off long after launch
Once we've established a compliant color palette for a client, we document the pairings and their exact ratios directly in the design system, so any future team member adding a new UI element can reference an already-verified pairing rather than picking a new color combination and needing a fresh manual check. This turns a one-time audit into an ongoing safeguard rather than a compliance snapshot that quietly decays as the design evolves. We've seen this documentation pay for itself within months on client teams that add new marketing pages regularly, since it removes contrast from the list of things a non-designer needs to guess at when they're building a page without design review.