axe-core rule: duplicate-id-aria

ARIA references point at duplicated ids

What it is

The same id value is used on multiple elements, and ARIA attributes (such as aria-labelledby) or labels reference that id. Assistive technology resolves the reference to only the first element, which may be the wrong one.

Who it blocks

Screen reader users may hear the wrong label or description for a control, or none at all.

How to fix it

Make every id on the page unique, then re-check that aria-labelledby, aria-describedby, and label[for] references point at the intended element.

Example fix

<!-- Before: two elements share id="email-label" -->
<span id="email-label">Email</span>
<span id="email-label">We never share your email</span>
<input aria-labelledby="email-label">

<!-- After -->
<span id="email-label">Email</span>
<span id="email-hint">We never share your email</span>
<input aria-labelledby="email-label" aria-describedby="email-hint">

This is one of the barrier types BarrierScan checks for on every scan. Request a free accessibility scan to see whether it appears on your site, alongside the rest of the automated findings.