ARIA attributes help assistive technologies understand information that is not always obvious from a custom interface. The aria-labelledby attribute builds an accessible name from one or more existing element IDs.
What it communicates
Builds an accessible name from one or more existing element IDs. This information becomes part of the accessibility representation of the page, so it may help people using screen readers or other assistive tools.
An ARIA attribute does not usually change what you see on screen. It also does not automatically add keyboard handling, validation, or scripted state changes.
Example with accessible markup
<h2 id="faq-title">Frequently asked questions</h2>
<section aria-labelledby="faq-title">
<p>Questions and answers.</p>
</section>
Reading the example
Notice the aria-labelledby setting and the element or role it describes: region. If the value refers to another element, that other element needs a matching id.
The referenced ID must exist and the visible label should match what users hear.
When is it appropriate?
Use aria-labelledby when this information is genuinely needed and the chosen role supports it. Before adding ARIA, check whether a native HTML element already expresses the same meaning. Native buttons, forms, tables, and progress controls usually need less custom code.
If a script changes the state of the interface, update the ARIA state at the same time. The screen reader’s description and the visible behavior should always agree.
Quick accessibility test
Try the example using only your keyboard. Inspect the accessibility tree and check whether the role, name, and state are what you expect. For an interactive control, confirm that the actual behavior matches its announced state.
Common Beginner Mistakes
- The referenced ID must exist and the visible label should match what users hear.
- Adding ARIA to an element that already has the right native semantics, without a clear reason.
- Changing the visual state of an interface without updating its ARIA state.
Key Takeaways
aria-labelledbybuilds an accessible name from one or more existing element IDs.- The referenced ID must exist and the visible label should match what users hear.
- Correct native HTML comes first; ARIA fills gaps rather than replacing working behavior.