Back to Learn
Pulseaccessibility
Command Elements Have Accessible Names
What This Audit Checks
This audit verifies that elements with role="link", role="button", or role="menuitem" have a discernible accessible name. These are ARIA command roles, and every command must announce itself to assistive technology users.
Why It Matters
A command without a name is a silent button. Screen reader users encounter an unlabeled interactive element and have no way to know what it does, forcing them to guess or skip it entirely.
How to Fix It
- Add inner text to the element. The simplest accessible name source is visible text content.
- Use
aria-labelwhen the element has no visible text, such as an icon-only button. - Use
aria-labelledbyto reference another element that contains the label text.
<!-- Bad: no accessible name -->
<div role="button">
<svg><!-- icon --></svg>
</div>
<!-- Good: aria-label provides the name -->
<div role="button" aria-label="Close dialog">
<svg><!-- icon --></svg>
</div>
- Prefer native elements. A
<button>with text content gets its name automatically.
How Pulse Tracks This
Pulse flags this audit in your Lighthouse accessibility score. When the audit fails, Pulse shows which elements triggered it so you can fix them directly.
Resources
- Deque: aria-command-name
- Related: /learn/pulse/button-name
- Related: /learn/pulse/link-name