Skip to main content
Perceivly: Perceivly home

1.4.11 Non-text Contrast

Level AA · added in WCAG 2.1

The visual parts you need to identify controls, their states, and key parts of graphics must have at least 3:1 contrast against adjacent colors.

Who it helps

People with low vision need to see where a text field is, whether a checkbox is checked, and what has focus. Faint borders and pale icons can make controls invisible to them.

How to meet it

Examples

Fails:A text input border of #ccc on #fff is 1.61:1, below 3:1
input[type="text"] {
  background: #fff;
  border: 1px solid #ccc;
}
Fails:The default focus outline is replaced with a pale ring: #e0e0e0 on #fff is 1.32:1
button:focus {
  outline: none;
  box-shadow: 0 0 0 2px #e0e0e0;
}
Passes:A darker border: #767676 on #fff is 4.54:1
input[type="text"] {
  background: #fff;
  border: 1px solid #767676;
}
Passes:A solid focus outline: #1a5fb4 on #fff is 6.29:1
button:focus-visible {
  outline: 2px solid #1a5fb4;
  outline-offset: 2px;
}

Can a scanner detect this?

No

axe-core has no rule for non-text contrast. Deciding which borders, icons and graphic parts matter takes human judgment. Check each component, in each state, with a color contrast checker.

No automated rule tests this criterion. Check it by hand.

Common mistakes

Official W3C explanation of 1.4.11

Check your own page

See which automated WCAG checks your page fails, with the failing elements and how to fix them.

Enter a page address, for example example.com/shop.

Reviewed November 2, 2026