The 24-pixel rule: WCAG 2.2 target size on WordPress

A new WCAG 2.2 criterion that catches almost every WordPress theme. What 24 by 24 actually requires, the exceptions, and how to fix it without redesigning.

Three squares side by side: a small 18 pixel square outlined in red and flagged, and two larger squares of 24 and 44 pixels outlined in green.

Clickable things must be at least 24 by 24 CSS pixels, or have enough clear space around them to amount to the same. That is WCAG 2.2 success criterion 2.5.8, Target Size (Minimum), and it is new enough that most WordPress themes have never been checked against it.

Social icon rows, pagination arrows, popup close buttons and footer links are the usual offenders.

Who this is for

Anybody with a tremor. Anybody with limited dexterity. Anybody with large fingers. Anybody using a phone one-handed on a moving bus, which is most people some of the time.

Small targets are not an edge case. They are a daily tax.

What the criterion actually says

The target — the clickable area, not the icon inside it — must be at least 24 by 24 CSS pixels.

Note that CSS pixels are not device pixels. A retina phone is still reasoning in CSS pixels, so this is the number in your stylesheet.

The exceptions

The criterion has real exceptions, and they matter:

Spacing. A smaller target passes if a 24-pixel circle centred on it does not overlap the circle of any neighbouring target. Two 16-pixel icons with plenty of space between them can pass.

Inline. A link inside a sentence is exempt. You are not expected to add padding to links in body copy.

Essential. Where the exact size is essential to the information, such as a point on a map.

User agent. Where the browser controls the size and you have not changed it.

Equivalent. Where the same action is available elsewhere on the page at a sufficient size.

Finding failures

You cannot find these by reading the markup. A target’s size is a product of CSS, layout, and what else is near it, so it needs measuring in a browser on a rendered page.

That is why target-too-small is one of the five browser-pass checks in Accessibility Remediation rather than a server-side one. The reasoning is in How scanning works.

To check by hand: open developer tools, inspect the element, and read the box model. The clickable box is the a or button, not the icon or the text inside it.

Fixing it

Padding, not font size

The instinct is to make the icon bigger. Usually you want the icon the same size and the hit area larger.

.social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 24px;
  padding: 8px;
}

min-width and min-height are better than fixed sizes because the control can still grow with its content.

Aim higher than 24

24 is the AA minimum. WCAG’s AAA criterion asks for 44, and the platform guidance from Apple and Google lands around 44 and 48. If you are touching the CSS anyway, 44 is a kinder number and costs nothing extra.

Watch inline-block collapse

An <a> wrapping only an SVG with display: inline will not take vertical padding properly. Set display: inline-flex or inline-block first. This is the single most common reason a padding fix appears to do nothing.

Pagination and arrows

Theme pagination is frequently bare numbers with a few pixels of padding. Give the links a min-width and min-height and centre the content.

Close buttons

A popup whose close button is a 14-pixel × is a trap: the hardest control to hit is the one that gets you out. Make these generously large.

Where the plugin can help

The browser pass measures real rendered targets and proposes a minimum size of 24 by 24 as a floor, written into your own Additional CSS, so the control can still grow. Where your theme styles the same element more specifically, it re-measures afterwards and tells you the fix was outranked rather than reporting success. See Applying and undoing fixes.

Questions people ask

Does this apply to desktop as well as mobile?

Yes. It is not a mobile criterion. Mice and trackpads are also operated by people with tremors.

No. Inline links in a sentence are exempt.

Is 24 the same as the old 44 guidance?

No. 44 by 44 is Apple’s platform guidance and WCAG’s AAA criterion 2.5.5. The AA requirement introduced in 2.2 is 24.

My icons are 20 pixels with lots of space. Do they fail?

Possibly not — check the spacing exception. If a 24-pixel circle on each does not overlap its neighbour, it passes.


To measure every target on your rendered pages, the plugin is free on WordPress.org.

Get new posts by email

Occasional notes on WordPress, accessibility and shipping small software. No sequence, no upsell, one click to leave.

We keep your address to send this and nothing else. See the privacy notice, or just email contact@wowstudio.dev instead.