ARIA button, link, and menuitem must have an accessible name

Rule ID: aria-command-name
Ruleset: axe-core 4.3
User Impact: Serious
Guidelines: WCAG 2.1 (A), WCAG 2.0 (A)

Squash more accessibility bugs with axe DevTools Pro

Find and fix more issues with Intelligent Guided Tests™ by answering a series of simple questions about your page content. Free trial. No credit card needed.

Compliance Data & Impact

User Impact

Serious
Minor
Critical

Disabilities Affected

  • Blind
  • Low Vision
  • Mobility

Standard(s)

  • WCAG 2.1 (A)
  • WCAG 2.0 (A)

WCAG Success Criteria [WCAG 2.1 (A)]

  • 4.1.2: MUST: Name, Role, Value

WCAG Success Criteria [WCAG 2.0 (A)]

  • 4.1.2: MUST: Name, Role, Value

How to Fix the Problem

Correct markup solutions

The aria-command-name rule has four markup patterns that pass test criteria:

<div role="link" id="al" aria-label="Name"></div>

<div role="button" id="alb" aria-labelledby="labeldiv"></div>

<div role="menuitem" id="combo" aria-label="Aria Name">Name</div>

<div role="link" id="title" title="Title"></div>
  1. Ensure that each element with role="link", role="button", or role="menuitem" has one of the following characteristics:

    • Inner text that is discernible to screen reader users.
    • Non-empty aria-label attribute.
    • aria-labelledby pointing to element with text which is discernible to screen reader users.

Incorrect markup solutions

The aria-command-name rule has four markup patterns that fail testing criteria:

<div role="link" id="empty"></div>

<div role="button" id="alempty" aria-label=""></div>

<div role="menuitem" id="albmissing" aria-labelledby="nonexistent"></div>

<div role="link" id="albempty" aria-labelledby="emptydiv"></div>
<div id="emptydiv"></div>

Why it Matters

Screen reader users are not able to discern the purpose of elements with role="link", role="button", or role="menuitem" that do not have an accessible name.

Rule Description

ARIA command elements must have discernible text that clearly describes the destination, purpose, function, or action for screen reader users.

The Algorithm (in simple terms)

Checks all elements with role="link", role="button", or role="menuitem" to ensure that they have a discernable, accessible name.

Resources

Refer to the complete list of axe 4.3 rules.

Was this information helpful?

You have already given your feedback, thank you..

Your response was as follows:

Was this information helpful?
Date/Time feedback was submitted: