Perceivable · 1.4 Distinguishable

Use of Color WCAG 1.4.1 · Level A

Color must not be the only visual means of conveying information, indicating an action, prompting a response or distinguishing an element. Color can still be used, as long as text, a pattern, an icon or an underline carries the same meaning.

Level
A
Since
WCAG 2.0
Principle
Perceivable
Guideline
1.4 Distinguishable

Live demo

Read the chart without color

The same task, done two ways: switch between the version that passes and the one that fails, or put them side by side. Everything in the box is live, so try it with a keyboard, a pointer or a screen reader.

Turn on the grayscale, protanopia or deuteranopia filter, then try to answer the question in each version.

Live example

Passes

Orders per month

In which month were there more orders in store than online?

  • Online
  • In store

What happened

    Why it passes

    The in-store bars have stripes, in the chart and in the key, so you can tell the two series apart in grayscale or with red-green color blindness.

    Why it fails

    The two series differ only in red and green of the same lightness. In grayscale or with red-green color blindness they look the same, so you cannot tell which bar is online and which is in store.

    Examples

    Code that fails, and the fix

    Five examples, each one running: the usual ways this criterion fails, and code that passes. Listen to them, measure them, or copy the code.

    01What changes + (required)

    Fails

    Required field shown only in red

    Live preview

    HTML
    <label for="email" style="color: #c62828">Email</label><input id="email" name="email" type="email" required><label for="phone">Phone</label><input id="phone" name="phone" type="tel">

    Only the red label color shows that Email is required, so people who cannot tell red from dark text miss it. The required attribute helps screen readers, not sighted users.

    Passes

    Required field marked with a word

    Live preview

    HTML
    <label for="email" style="color: #c62828">Email (required)</label><input id="email" name="email" type="email" required><label for="phone">Phone</label><input id="phone" name="phone" type="tel">

    The word "required" carries the meaning without color, so the red is only extra emphasis (technique G14).

    02What changes − none + underline

    Fails

    Links set apart only by color

    Live preview

    CSS
    p { color: #333333; }p a { color: #2a6db0; text-decoration: none; }

    The link blue is only 2.35:1 against the #333333 body text and has no underline, so many people cannot see which words are links.

    Passes

    Underlined links in body text

    Live preview

    CSS
    p { color: #333333; }p a { color: #2a6db0; text-decoration: underline; }

    The underline marks each link without relying on color. The link color still has 5.37:1 contrast with a white background.

    Passes

    Link contrast plus a hover and focus cue

    Live preview

    CSS
    p { color: #000000; }p a { color: #2a6db0; text-decoration: none; }p a:hover,p a:focus { text-decoration: underline; }

    Links without an underline need 3:1 contrast with the surrounding text and a non-color cue on hover and focus. #2a6db0 is 3.91:1 against black text and 5.37:1 against white (technique G183).

    Why it matters

    Who it helps

    People with color vision deficiencies, low vision or monochrome displays may not see color differences, so a second cue gives them the same information.

    W3C: Understanding 1.4.1
    • Level A

      Level A is the minimum: failing it can shut some people out completely.

    • In WCAG versions

      Part of WCAG 2.0 since December 2008, and of every version after it.

      WCAG 1.0 checkpoints: 2.1

    • Where it is required

      Required where the law names WCAG 2.0 or later at this level: the United States, Canada, the European Union, the United Kingdom, France, Germany, Italy, Spain, the Netherlands, Ireland, Norway, Switzerland, India, Japan, Australia, New Zealand and Israel.

    How to test

    Checking it

    A few concrete steps. Automated tools find some failures; most need a person.

    1. Find information carried by color, such as required fields, errors, chart series and status labels, and confirm a non-color cue also marks it.
    2. View the page in grayscale or through a color-blindness simulator and confirm nothing important is lost.
    3. For links set apart from body text only by color, check for 3:1 contrast with that text plus a non-color cue on hover and focus.

    Common failures

    Where it breaks

    • Required or invalid form fields are marked only with a red border or red label text.
    • Links in a paragraph differ from the body text only by color, with no underline and less than 3:1 contrast against that text.
    • A chart or map distinguishes series or regions only by color, with no labels or patterns.