ARIA progressbar elements have accessible names

Progress bars have labels so screen readers can describe their status.

On this page

Impact

ScanGov impact ratings

About

When a progressbar element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn how to label progressbar elements](https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name).

Risks

Screen readers cannot tell users what a progress bar is tracking.

Why it's important

Ensures assistive technologies like screen readers can correctly interpret and announce page elements to users with disabilities.

User stories

As a screen reader user, I want ARIA attributes to be correctly implemented so that I can understand the purpose and state of interactive elements.

Code

Failing pattern:

<!-- Fail: progress bar with no accessible name -->
<div role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div>

Passing pattern:

<!-- Pass: aria-label names the progress bar -->
<div role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100" aria-label="Upload progress">50%</div>

Error

ScanGov messaging when a site fails a standard:

Failed: ARIA progressbar elements have accessible names

Guidance

Indicators

On this page