progressbar-name-present

Progress bars have an accessible name

automaticWCAG 1.1.1 (A)confidence: highseverity: seriousperceivable

Checks that elements with role="progressbar" expose a non-empty accessible name.

Applies to. Applies to elements carrying role="progressbar" (the attribute must name that role alone, not a fallback list) that are included in the accessibility tree. An element with the matching implicit role but no role attribute is out of scope.

Expectation. The element has a non-empty accessible name from aria-label, from an aria-labelledby that resolves to non-empty text, or from title. role="progressbar" is name-from-author-only, so subtree text is never accepted: text sitting inside a custom progressbar widget is not reliably exposed as its name.

Examples

pass
<div role="progressbar" aria-valuenow="50" aria-label="Upload progress"></div>

`aria-label` names the progress bar.

fail
<div role="progressbar" aria-valuenow="50"></div>

No accessible name from any supported mechanism.

View source