ARIA progressbar nodes must have an accessible name
How to Fix the Problem
Correct markup solutions
The aria-progressbar-name
rule has three markup patterns that
pass test criteria:
<div role="progressbar" id="alb" aria-labelledby="labeldiv"></div>
<div role="progressbar" id="combo" aria-label="Aria Name">Name</div>
<div role="progressbar" id="title" title="Title"></div>
-
Ensure that each element with
role="progressbar"
has one of the following characteristics:- Non-empty
aria-label
attribute. -
aria-labelledby
pointing to element with text which is discernible to screen reader users.
- Non-empty
Incorrect markup solutions
The aria-progressbar-name
rule has four markup patterns that
fail testing criteria:
<div role="progressbar" id="empty"></div>
<div role="progressbar" id="alempty" aria-label=""></div>
<div role="progressbar" id="albmissing" aria-labelledby="nonexistent"></div>
<div role="progressbar" 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="progressbar"
that do not have an accessible name.
Rule Description
Aria progressbar 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="progressbar"
to ensure that they
have a discernable, accessible name.