Skip to main content
Perceivly: Perceivly home

2.4.13 Focus Appearance

Level AAA · added in WCAG 2.2

A visible focus indicator must be at least as large as a 2 CSS pixel thick perimeter around the element. Its pixels must also change by a contrast ratio of at least 3:1 between the focused and unfocused states.

Who it helps

People with low vision and keyboard users with attention difficulties need a focus indicator that is big and bold enough to spot quickly. A thin or faint ring is easy to lose on a busy page.

How to meet it

Examples

Fails:A 1px outline is only half the area of a 2px perimeter
.button:focus-visible {
  outline: 1px solid #1a5fb4;
}
Fails:A faint background change: #fff to #f0f0f0 is about 1.1:1
.menu-item {
  background: #fff;
}
.menu-item:focus-visible {
  outline: none;
  background: #f0f0f0;
}
Passes:A 2px solid outline: white to #1a5fb4 is a 6.29:1 change
body { background: #fff; }
.button:focus-visible {
  outline: 2px solid #1a5fb4;
  outline-offset: 2px;
}
Passes:A 3px inset outline in #111 on white menu items, an 18.9:1 change
.menu-item {
  background: #fff;
}
.menu-item:focus-visible {
  outline: 3px solid #111;
  outline-offset: -3px;
}

Can a scanner detect this?

No

axe-core has no rule for focus appearance. Measuring indicator area and comparing focused and unfocused pixels needs screenshots of each state. You need to tab to each control and check the indicator's thickness and contrast by hand.

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

Common mistakes

Official W3C explanation of 2.4.13

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