We'd like to set Google Analytics cookies to learn how people use the Knowledge Base, so we can improve it. We set them only if you accept.

Skip to main content
Digital Accessibility Knowledge Base

aria-meter-name

Web validation

ARIA meter elements must have an accessible name.

A role="meter" conveys a live measurement, such as battery charge or remaining storage. Without an accessible name, assistive technology announces only a raw number, leaving people who use screen readers guessing what the value means. Adding a programmatic name gives the necessary context so every user can understand the purpose of the meter.

Pass Patterns

Using aria-label attribute

The meter exposes a programmatic name with aria-label.

HTML
<div
    role="meter"
    aria-valuemin="0"
    aria-valuemax="100"
    aria-valuenow="76"
    aria-label="Battery level">
</div>

Using aria-labelledby attribute

The meter is labelled by visible text via aria-labelledby.

HTML
<div id="remaining-storage-label">Remaining storage&nbsp;(GB)</div>


<div
    role="meter"
    aria-valuemin="0"
    aria-valuemax="512"
    aria-valuenow="128"
    aria-labelledby="remaining-storage-label">
</div>

Fail Patterns

No name at all

Assistive technologies announce only a generic role.

HTML
<div
    role="meter"
    aria-valuemin="0"
    aria-valuemax="100"
    aria-valuenow="76">
</div>

Empty aria-label

The aria-label attribute is empty, so the meter has no accessible name.

HTML
<div
    role="meter"
    aria-valuemin="0"
    aria-valuemax="100"
    aria-valuenow="76"
    aria-label="">
</div>

Broken aria-labelledby reference

The aria-labelledby attribute points to an element that does not exist, so the meter has no accessible name.

HTML
<div
    role="meter"
    aria-valuemin="0"
    aria-valuemax="40"
    aria-valuenow="35"
    aria-labelledby="fuel-tank-label">
</div>
<!-- fuel-tank-label element is missing -->

WCAG techniques

Sufficient techniques

Try It Yourself

Using a screen reader

New to screen reader testing, or need a refresher?
Review this article first: Practical guides for using screen readers

  1. Load the page, open a screen reader.
  2. Navigate to the meter element.
  3. Listen to what the screen reader announces.

Expected result: The screen reader announces the accessible name (for example, “Battery level, 76 percent”).

Actual result: The screen reader announces only “meter, 76 percent,” giving no clue what the number means.

Inspecting the browser dev-tools

  1. Open the Accessibility Tree panel.
  2. Select the meter element.

Expected result: The Name field shows the text supplied by aria-label or aria-labelledby.

Actual result: If unnamed, Name is empty.

FAQ

How does this issue relate to 1.1.1 Non-text Content?

SC 1.1.1 requires every non-text item that conveys information such as a meter to have a text alternative that describes its purpose. An accessible name satisfies that requirement.

Why is this issue marked as Serious?

Without a descriptive name, users who rely on screen readers cannot tell what the meter measures. This creates a significant barrier to understanding current system status, which may block important tasks such as monitoring battery life or storage capacity across modern browsers and assistive technologies.

Standards and Regulations

StandardSuccess CriterionReference
WCAG 2.21.1.1 Non-text Content (A)All non-text content that is presented to the user has a text alternative that serves the equivalent purpose, except for controls/input, time-based media, tests, sensory experiences, CAPTCHA, and decoration/formatting/invisible content.
EN 301 5499.1.1.1 Non-text ContentSame as the WCAG text.

Personas impacted by this issue