WCAG 1.4.11 Non-text Contrast: Understanding Contrast for UI Components and Graphics
WCAG 1.4.11 (WCAG 2.1, Level AA) requires non-text user-interface components and graphical objects that convey information to have a contrast ratio of at least 3:1 against adjacent colours. This article explains what elements it covers, how to measure contrast for states and layered backgrounds, common failures, practical fixes, and a testing checklist.
WCAG 1.4.11 Non-text Contrast: what it is
WCAG 1.4.11 is a Level AA success criterion introduced in WCAG 2.1. It requires that non-text content used to identify user interface components or to convey information has sufficient contrast against adjacent colours. The required contrast ratio is at least 3:1.
Which elements does 1.4.11 cover?
There are two categories covered by the criterion.
- User interface components: visual parts that identify a control or show its state. Examples include buttons, icons used as controls, focus rings, and visible boundaries for form fields.
- Graphical objects: non-text images that are required to understand content. Examples include charts, icons that carry meaning, and diagram elements. Logos are explicitly excluded.
Contrast threshold and key exceptions
The numerical threshold is a contrast ratio of 3:1 between the component or graphical object and the adjacent colour that determines its visibility. Not every decorative visual is covered. Common exceptions are purely decorative elements and logos. Also, if the visual is not required to identify a component or to understand content, 1.4.11 does not apply.
How to measure non-text contrast
Measuring non-text contrast requires identifying the relevant visual and the adjacent area that sets its background. Use this step-by-step process.
Step 1 — Identify what to test
- List interactive components and graphical objects that communicate function or information. Include states such as hover, focus, active, disabled and selected.
- Exclude decorative images and logos.
Step 2 — Determine the visual feature to measure
Measure the feature that provides the visual cue. That could be a fill colour, a stroke width, an icon colour, a focus outline, or the line colour in a chart. If the visual uses multiple layers, test the layer responsible for the perceived edge or shape.
Step 3 — Choose the adjacent colour
The adjacent colour is the colour immediately next to the visual that the eye uses to distinguish it. For components with a bounding box or background, measure against that box. For icon-only controls placed on a page background, measure the icon against the page background or the immediate painted surface behind it.
Step 4 — Use a contrast tool and test all states
- Measure with a contrast calculator that supports non-text measurements. Include alpha/transparency and layered backgrounds when testing. Test hover, focus, pressed and disabled states separately.
- When elements sit on complex backgrounds such as images or gradients, test against representative background areas users will see.
Common failures and why they happen
- Icon-only buttons without a backing: The icon colour meets text contrast but fails against the page background because there is no distinct bounding area.
- Thin strokes and hairlines: A 1 pixel stroke may be visible to some users but still fail the 3:1 requirement.
- Focus indicators ignored: Custom focus rings are sometimes too faint or rely on low-contrast shadows. Focus must meet 3:1 so keyboard users can see it.
- Transparency and overlays: Semi-transparent overlays change effective contrast. Designers measure colours without factoring alpha, which underestimates failures.
- Charts and data visuals: Lines, markers and fills that encode data are often below 3:1, making the data hard to read for low-vision users.
How to fix failures
Use one of these approaches depending on the element and visual design goals.
- Increase the foreground contrast: Use a darker colour for icons or lines, or a lighter colour when on a dark surface.
- Add a visible backing: Give icon-only controls a filled shape or a solid background that contrasts 3:1 with the page background and with the icon.
- Use thicker strokes or larger markers: Increase stroke width or marker size so the visible edge is easier to see and to measure.
- Provide an alternative visual indicator: For state changes, add text, a high-contrast outline, or a distinct shape in addition to colour.
- Adjust focus styles: Ensure focus outlines or rings are not purely low-contrast shadows. A solid outline or contrasting ring that meets 3:1 is safer.
Practical decision flow for designers
When you find a failing element, run this quick flow.
- Can you change the foreground colour without harming the brand? If yes, pick a colour that raises contrast to 3:1.
- If not, can you add a backing or a border behind the element? If yes, make sure the backing contrasts 3:1 with the background and the element contrasts 3:1 with the backing.
- If neither is possible, add a non-colour cue such as a shape change or visible text label for the state.
Testing checklist for developers and QA
- Identify all interactive components and data visuals on the page.
- Test every state: default, hover, focus, active, disabled, selected.
- Include real backgrounds: images, gradients, and patterned surfaces used in production.
- Measure strokes and outlines, not only fills.
- Account for alpha transparency and composited colours.
- Document fixes with screenshots and measured ratios for audit purposes.
Special notes for SVGs and canvas graphics
SVG shapes, strokes and text converted to graphics still fall under 1.4.11 when they convey meaning. Measure the rendered pixels, including stroke widths and any CSS-applied filters. For canvas, capture representative states and measure against the immediate background.
When 1.4.11 still does not solve the problem
There are cases where meeting 3:1 is not sufficient for real-world legibility. Low-vision users may need larger targets, stronger focus management, or text alternatives. Combine contrast improvements with these other accessibility practices.
Quick reference summary
| Requirement | Visual parts of UI components and graphical objects required for understanding must have 3:1 contrast with adjacent colours |
| Scope | UI controls, icons, focus indicators, charts, diagrams. Logos excluded. |
| Test | Measure rendered pixels for every state, including alpha and complex backgrounds |
Final practical tips
- Start accessibility checks early. Fixing contrast in components is cheaper than redesigning a finished UI.
- Keep a small set of approved accent colours that meet contrast when used in icons and controls.
- Include non-colour state indicators so users who cannot perceive colour differences still get the information.
- Automate checks where possible, but always include manual visual testing for complex backgrounds and focus states.
Following WCAG 1.4.11 makes UI components and graphics reliably visible to more users. Use the checklist above to find failures and apply the fixes that fit your design constraints.