What This Rule Checks
Elements with the role=”meter” are used to display measurable values, like progress or temperature. These elements must have a clear and accessible name so that assistive technology users, such as those relying on screen readers, can understand their purpose and current state.
Who Is Affected
This issue primarily affects: Blind users, who rely entirely on screen readers or braille displays to navigate and interact with content; Low Vision users, who may use screen magnification, custom fonts, or high-contrast modes; Mobility users, who navigate using keyboards, switches, voice control, or other assistive input devices.
Why This Matters
Meter elements display measurable values like progress or capacity. Without an accessible name, screen reader users hear only “meter, 75 percent” with no context about what is being measured. This violates WCAG 1.1.1 (Non-text Content).
How to Fix
Make sure every role=”meter” element has one of the following characteristics to provide an accessible name:
A non-empty aria-label attribute.
The aria-labelledby attribute pointing to an element that contains readable text for screen reader users.
Code Examples
<!-- Meter with no accessible name -->
<div
role="meter"
aria-valuenow="75"
aria-valuemin="0"
aria-valuemax="100">
</div>
Copy
<!-- Meter with descriptive name -->
<div
role="meter"
aria-valuenow="75"
aria-valuemin="0"
aria-valuemax="100"
aria-label="Battery level: 75%">
</div>
<!-- Or using aria-labelledby -->
<span id="disk-label">Disk usage</span>
<div
role="meter"
aria-valuenow="45"
aria-valuemin="0"
aria-valuemax="100"
aria-labelledby="disk-label">
</div>
Copy
Common Mistakes to Avoid
- Forgetting that role=”meter” requires an accessible name just like form inputs.
- Providing only a visual indicator (color, width) without a text name.
- Using aria-label that describes the value but not the purpose (e.g., “75%” instead of “Battery level”).
AI Auto-Fix Available
This rule supports ACE™ AI Auto-Fix. When a violation is detected, ACE can automatically generate a code fix for review. The AI analyzes the specific element in context and proposes a targeted remediation that preserves your existing markup and styling. You can preview, modify, and approve the fix before it is applied.
Tip: Remember the first rule of ARIA: don’t use ARIA if a native HTML element can provide the same semantics. Native elements come with built-in keyboard handling and screen reader support that ARIA cannot replicate.
Related WCAG Criteria
- 1.1.1: Non-text Content