Back to reviews and guides

WCAG 1.4.6 Contrast (Enhanced): Understanding the WCAG AAA Contrast Standard

WCAG 1.4.6 Contrast (Enhanced) is the Level AAA rule requiring a 7:1 contrast ratio for normal text and 4.5:1 for large text. This article explains requirements, testing steps, practical fixes and a decision framework for when to aim for AAA versus AA.

What is WCAG 1.4.6 Contrast (Enhanced)?

WCAG 1.4.6 Contrast (Enhanced) is a Level AAA success criterion that requires stronger colour contrast for text and images of text than the AA rule. This article explains what 1.4.6 demands, how it differs from 1.4.3, how to test for it, and practical fixes you can apply.

Requirements — what 1.4.6 actually requires

WCAG 1.4.6 requires a minimum contrast ratio of 7:1 between text (or images of text) and its background for normal text. For large text the required ratio is 4.5:1. Large text is defined in WCAG as text at least 18 point or 14 point if bold.

Scope and exceptions

  • Applies to visible text and images of text.
  • Does not apply to logos and incidental text, where text is part of an image for branding and not used to convey page content.
  • Does not cover non-text UI components; that is covered by a different WCAG criterion.

How WCAG 1.4.6 differs from 1.4.3 Contrast (Minimum)

Both are contrast rules for text. 1.4.3 is Level AA and requires 4.5:1 for normal text and 3:1 for large text. 1.4.6 raises the bar to 7:1 for normal text and 4.5:1 for large text. Aim for 1.4.6 only when you need AAA conformance or a higher accessibility target.

How contrast ratio is calculated

Contrast ratio is a number between 1:1 and 21:1. It is computed from the relative luminance of foreground and background colours using the formula (L1 + 0.05) / (L2 + 0.05), where L1 is the lighter luminance and L2 is the darker. Tools calculate this for you when you supply the two colours.

Step-by-step testing for WCAG 1.4.6

Test manually and with tools. Follow these steps for reliable results.

  1. Identify the text or image of text to test. Include hover and focus states and any dynamic text that appears over images.
  2. Capture the computed foreground and background colours from the page. Use the browser inspector or a colour picker on the rendered pixels, not the designer palette file alone.
  3. Use a contrast checker to get the exact ratio. Test both normal and large sizes against the appropriate ratio target (7:1 normal, 4.5:1 large).
  4. Test text over images by sampling the actual pixel area behind the text. If the background varies, test the worst case with the lowest contrast.
  5. Verify with keyboard focus and at different zoom levels. Some combinations that pass at 100% can fail when zoomed.
  6. Log failures, include screenshots and exact colour values, then prioritise fixes by frequency and user impact.

Tools and methods

  • Browser developer tools for computed colour values and simulated zoom.
  • Colour contrast analysers that report precise contrast ratios and pass/fail for 1.4.6.
  • Automated accessibility scanners for bulk checks. Use these only as a first pass because they can miss context-specific failures.
  • Manual testing with assistive technologies and real users, especially for complex layouts and images.

Practical remediation checklist for failures

When text fails 1.4.6, follow this checklist in order. Each step is fast to try and often fixes the problem without altering the brand palette much.

  1. Darken the foreground text colour. Small darkening often yields large gains in contrast.
  2. Lighten the background, or add a solid or semi-opaque background behind the text.
  3. Increase the text size to reach the large-text threshold or make the text bold so it counts as large for the lower 4.5:1 requirement.
  4. Move text off busy images or place it on a panel with a solid background.
  5. Use borders, outlines or text-shadow sparingly to increase perceived contrast when colour changes are impossible. Test carefully, because some shadow techniques fail at small sizes.
  6. As a last resort, provide an alternative version of the content that meets AAA contrast for users who need it. Note that offering an alternative does not excuse inaccessible primary content for many compliance regimes.

Decision framework: when to aim for WCAG 1.4.6 (AAA)

Not every project must reach AAA. Use this simple framework to decide.

  • Aim for 1.4.6 when the organisation specifies AAA conformance or when content is critical for users with low vision and colour deficiencies.
  • If legal or procurement rules require AAA, treat 1.4.6 as mandatory for the affected pages.
  • When resources are limited, make the site meet AA first, then fix the highest traffic pages for AAA.
  • Prefer design decisions that meet AA by default and raise contrast further for components used by the widest range of users.

Common mistakes and how to avoid them

  • Testing colours from design files instead of rendered pixels. The rendered result can differ because of CSS, opacity or layering.
  • Overlooking dynamic states. Hover, active and focus states often change contrast.
  • Sampling the wrong background on images. Always test the exact pixel area under the text and the darkest portion it may sit on.
  • Confusing UI component contrast rules with text contrast rules. Non-text contrast is a different criterion.

Practical example: fixing a hero banner with text on an image

Scenario: headline text over a photo fails 7:1 because the photo has bright highlights under the text. Apply these steps in order until the ratio passes.

  1. Add a semi-opaque dark overlay between the image and the text. Typical starting opacity is 40 to 60 percent and adjust until contrast passes.
  2. If overlay alone is not enough, increase the font weight or size so the text qualifies as large text for the 4.5:1 target.
  3. Move the headline to a solid-colour container placed over the image.
  4. If brand rules prevent colour changes, provide a version of the banner with a high-contrast background for users who select an accessibility mode.

QA checklist for releases

  • All new text elements tested for 1.4.6 where AAA is required.
  • Images of text sampled at the actual overlay positions.
  • Hover, focus and active states included in automated checks or manual test cases.
  • Documentation of exceptions such as logos with reason and screenshots.
  • Evidence attached to tickets: screenshot, colour values, contrast ratio and remediation steps.

Final notes

WCAG 1.4.6 Contrast (Enhanced) raises the contrast requirement to better serve users with low vision. Use automated tools to find likely failures, but validate each case manually. When full AAA is not feasible, prioritise high-traffic and critical content for the stronger contrast target.