Free scan

October 24, 2026

Target Size Minimum 24px in WCAG: How Success Criterion 2.5.8 Works

The WCAG target size minimum is set by Success Criterion 2.5.8, "Target Size (Minimum)", at Level AA. The rule fits in one sentence: the size of the target for pointer inputs (mouse, pen or touch contact) must be at least 24 by 24 CSS pixels. Five exceptions allow you to go below that: spacing, equivalent, inline targets in a sentence, controls whose size is determined by the user agent and not modified by the author, and cases where a particular presentation is essential or legally required. This guide walks through the 24px rule as the W3C explains it, how to measure a target, the 24px circle method behind the spacing exception, and how to fix your interface.

What WCAG 2.5.8 says about target size

The W3C states the goal plainly: make controls easier to activate. The intent is to ensure targets can be activated easily without accidentally activating an adjacent target. People with dexterity limitations or difficulty with fine motor movement find it hard to accurately activate small targets when other targets are too close.

The W3C explicitly lists hand tremors, spasticity and quadriplegia among the disabilities addressed. Some people also use specialized input devices instead of a mouse or trackpad, and these typically provide less accuracy than mainstream pointing devices. Meeting the requirement also makes touchscreen interfaces easier to use.

One nuance matters: the criterion defines a minimum size and, if that cannot be met, a minimum spacing. It is therefore still possible to have very small targets and pass, provided no adjacent target is too close. The W3C nonetheless recommends, as a best practice, meeting at least the minimum size regardless of spacing, and considering the stricter 2.5.5 Target Size (Enhanced) for important links and controls.

Users who benefit include, but are not limited to:

How to measure a 24 by 24 CSS pixel target

For a target to be "at least 24 by 24 CSS pixels", it must be possible to draw a solid 24 by 24 CSS pixel square, aligned to the horizontal and vertical axes, completely within the target. The target itself may be skewed; it is the square that must stay aligned with the page. Watch out for rounded corners: on a small button they can leave too little room for the square, in which case the target counts as undersized.

A CSS pixel is the canonical unit of measure for lengths in CSS. It is density-independent and distinct from the hardware pixels of the display. Crucially, the requirement is independent of zoom: when users zoom in, the CSS pixel size of elements does not change. You cannot argue that a target will become large enough once the user zooms.

A few measurement rules from the W3C documentation are worth knowing before any audit:

The spacing exception: the 24px circle method

A target smaller than 24 by 24 CSS pixels is undersized. It can still pass thanks to spacing: center an imaginary circle with a 24 CSS pixel diameter on the target's bounding box, and that circle must not intersect another target or the circle of another undersized target. For a rectangular target, the bounding box is the target itself. For a clipped or rounded shape, or a complex clickable SVG, first determine the bounding box and then its center, which can even fall outside the target for a concave shape.

The W3C explains that touchscreen devices and user agents generally have internal heuristics to identify the link or control closest to a touch, so sufficient spacing can work as effectively as a larger target. The W3C's examples help you calibrate your own controls:

The other four exceptions: equivalent, inline, user agent, essential

Beyond spacing, the criterion provides four exceptions. Each has a precise scope, so document it in your audit rather than applying it by default.

For the essential exception, the W3C strongly encourages authors to provide equivalent functionality through alternative means to the extent practical.

Fixing it in CSS: sufficient technique C42

The W3C lists one sufficient technique for this criterion: C42, using min-height and min-width on the target container to ensure sufficient target spacing. The example below applies these properties to an icon toolbar. Remember that the target is the region of the display that accepts a pointer action: if the container is not clickable itself, its minimum dimensions are meant to ensure spacing around a smaller target rather than enlarging the target. To actually enlarge the active area, apply min-width and min-height to the clickable element itself (the button or link).

The documentation also notes that it can be beneficial to provide an option to increase the active target area without increasing the visible target size, or to provide a mechanism to control the density of the layout. Needs vary: users with visual field loss may prefer a more condensed layout with smaller controls, while users with other forms of low vision may prefer large controls.

/* Technique C42: min-width / min-height on the target
   container, to ensure sufficient spacing around
   a smaller button */
.toolbar li {
  min-width: 24px;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Alternative: enlarge the active area itself
   by sizing the clickable element */
.toolbar button {
  min-width: 24px;
  min-height: 24px;
}

Target size audit checklist

To review the criterion on a page, work through the steps below, starting with dense areas such as toolbars, pagination, menus, close buttons and icons placed over images. If you work with the French RGAA framework, see our pages on RGAA 5 and on the difference between RGAA and WCAG, then run a free test of your pages and set up continuous monitoring to catch regressions.

Frequently asked questions

What is the minimum target size in WCAG?

Success Criterion 2.5.8 (Level AA) requires the target for pointer inputs to be at least 24 by 24 CSS pixels, unless one of five exceptions applies: spacing, equivalent, inline, user agent control or essential.

Does a 20px icon button pass WCAG 2.5.8?

It can, through the spacing exception. In the W3C example, 20 by 20 CSS pixel buttons with 4 pixels between them pass, while the same buttons placed side by side with no space fail because their 24 pixel circles intersect.

Do links in a paragraph need to be 24 by 24px?

No. Links within a sentence, or whose size is constrained by the line-height of surrounding text, fall under the inline exception. The W3C explains that text reflow makes it impossible to anticipate where links will be positioned relative to one another.

Can browser zoom be used to meet the target size requirement?

No. The requirement is independent of the zoom factor: when users zoom in, the CSS pixel size of elements does not change. You cannot justify an undersized target by pointing to zoom.

Does WCAG target size apply to mouse users too?

Yes. It applies to pointer inputs, such as mouse, pen or touch contact. It primarily helps touch users, but it also reduces the chances of erroneous activation for mouse or pen users with a tremor or reduced precision.

Does a cookie banner covering buttons fail WCAG 2.5.8?

Targets obscured by content displayed as a result of a user interaction or a script are out of scope while they are obscured. The targets in the banner itself, like all targets in new content shown on top of the page, must meet the criterion.

Further reading on Conformly

Sources

This article relies on the official sources listed at the end of the page.