HTML / Element / Initial coverage

The <meter> Element

Status: Initial coverage Scope: HTML Living Standard Specification reviewed: 2026-09-20

Technical Summary

The meter element represents a scalar measurement within a known range, or a fractional value, as a gauge. Examples include disk usage, a rating, and voter turnout.

meter is not a task-progress element. Use progress for completed work and output for a calculation or user-action result.

Definition / Categories

ItemDefinition
MeaningA gauge representing a scalar measurement within a known range or a fractional value
CategoriesFlow content, phrasing content, labelable, palpable
ContextWhere phrasing content is expected
Content modelPhrasing content, with no descendant meter element
Tag omissionNeither the start tag nor the end tag is omissible
Content attributesGlobal attributes, value, min, max, low, high, and optimum
DOM interfaceHTMLMeterElement

Meaning boundary: meter, progress, and output

ElementPrimary meaningSelection condition
meterA measurement within a rangeShow the current position of a bounded value
progressTask completionShow how much of a process is complete
outputA calculation or action resultShow a result produced from input or processing

A gauge-like appearance is not enough to choose the element. Separate whether the claim is about a bounded state, task completion, or a produced result.

Six attributes and their roles

AttributeSpecification role
minLower bound of the range; defaults to 0.
maxUpper bound of the range; defaults to 1.
valueMeasured value indicated by the gauge; it is an authoring requirement.
lowUpper boundary of the low range.
highLower boundary of the high range.
optimumOptimum point, used to determine whether lower, higher, or middle values are preferred.

The six attributes are parsed as valid floating-point numbers and resolved under range constraints. Units are not defined by a dedicated meter attribute; provide units in surrounding text or, where useful, the title attribute.

Value resolution

User agents parse the attributes as numbers and resolve the gauge points in the following order.

  1. Minimum: use a valid min, or 0 if it is absent.
  2. Maximum: use a valid max, or 1 if it is absent. If the candidate is below minimum, maximum becomes minimum.
  3. Actual value: use a valid value, or 0 if it is absent. Clamp it to the resolved range.
  4. Low boundary: use a valid low, or minimum if it is absent. Clamp it to the range.
  5. High boundary: use a valid high, or maximum if it is absent. Do not resolve it below low.
  6. Optimum point: use a valid optimum, or the midpoint between minimum and maximum if it is absent. Clamp it to the range.

The result satisfies minimum ≤ actual value ≤ maximum, minimum ≤ low boundary ≤ high boundary ≤ maximum, and minimum ≤ optimum point ≤ maximum. If min and max are absent, the range is 0–1.

Low, high, and optimum

If optimum is below low, the lower region is optimum. If it is above high, the higher region is optimum. Otherwise the middle region is optimum. User agents control the actual rendering, so color alone is not evidence of the meaning.

<label for="storage-meter">Storage usage</label>
<meter id="storage-meter" min="0" max="100" low="50" high="80" optimum="20" value="72" title="Usage">72 / 100</meter>

This example expresses that lower storage usage is preferred with optimum="20". A current value of 72 is in the high range, but it is not the optimum value.

Fallback text and labeling

The specification encourages authors to include a textual representation of the gauge state for user agents that do not use the native rendering. Explain what is being measured with label or another accessible name, and do not make the number, unit, or range depend on color alone.

<label for="quota-meter">API quota used</label>
<meter id="quota-meter" min="0" max="1000" value="640" title="requests">640 of 1000 requests</meter>

meter is labelable, but it is not a submittable form control. If a submission value is needed, synchronize a separate hidden input or another form control.

DOM Interface

APIMeaningBoundary
valueResolved actual value as a doubleInvalid and out-of-range values are exposed after resolution
min / maxResolved minimum and maximumIncludes correction when the candidate maximum is below minimum
low / highResolved low and high boundariesResolved so that low ≤ high
optimumResolved optimum pointOut-of-range candidates are clamped to the range
labelsReadonly NodeList of associated label elementsEntry point for observing the labelable relationship

Fact / Evidence

Specification meaning, value resolution, DOM APIs, and accessibility mappings are recorded separately from browser observations. Implementation observations are registered below.

Primary facts and evidence locations
TypeFactConditions and scopeStateEvidence
SPECmeter represents a scalar measurement within a known range or a fractional value, not task progress.The measurement needs a meaningful lower and upper bound; use progress for task completion.ReviewedHTML Standard: the meter element
SPECmin, max, value, low, high, and optimum determine the gauge semantics.Each attribute is parsed as a valid floating-point number and resolved under range and ordering constraints.ReviewedHTML Standard: attributes and gauge semantics
SPECOmitted min and max resolve to 0 and 1, and the actual value is clamped to the range.If the candidate maximum is below minimum, maximum becomes minimum; value is then resolved against that range.ReviewedHTML Standard: value resolution
SPECHTMLMeterElement exposes six double attributes and a readonly labels attribute.value, min, max, low, high, optimum, and labels.ReviewedHTML Standard: HTMLMeterElement
AAMmeter maps to the meter role in HTML-AAM, and value attributes participate in accessibility API value mappings.HTML-AAM element and attribute mappings; actual browser accessibility trees, platform APIs, and assistive technologies require separate observation.Specification reviewedHTML-AAM: meter

Evidence

  1. HTML Standard: The meter element — meaning, categories, attributes, value resolution, and DOM interface
  2. HTML Accessibility API Mappings: meter — element role and value/min/max mapping entry points
  3. Web Platform Tests: HTML forms — entry point for selecting meter-related specification tests

Implementation Evidence

This section records what a browser actually showed. It keeps the written standard separate from observations in one browser, and names the areas that still need checking.

Fixture used: meter-v1 checked default values, invalid values, out-of-range values, values available to JavaScript, and the association with each label. It also includes range-boundary attributes.

Implementation evidence registry for meter
TypeReproduction scopeRecord conditionsState
IMPL Default values, out-of-range and invalid values, values read by the browser, and label associations Chrome 154.0.0.0 / Windows (Win32), 2026-10-04. The meter-v1 fixture confirmed defaults, clamping, invalid-value defaults, and one associated label for each meter. Changing the value through the button and other browsers were not measured Partially checked
WPT Meter element, attribute parsing, boundary values, and DOM API tests Chrome 154.0.0.0 / Windows (Win32), 2026-10-04. meter.html: 50/50 passed; meter-leading-plus-sign.html: 12/12 passed. Total: 62 passed. Other WPTs and browsers were not run

The test version used was not recorded. The linked test may change, so this result cannot be repeated with certainty against the same version.

62/62 selected tests passed
AAM The meter kind (role), label-derived name, current value, and range values exposed to assistive technology Chrome 154.0.0.0 browser accessibility tree showed the role, label-derived name, and current value for four meters. The tree did not expose separate min/max values; Windows UIA, assistive technology, and low/high/optimum exposure remain unverified Browser tree checked in part

An observation in one environment is not registered as a result common to all browsers, platform APIs, or assistive technologies.

Coverage / Open Issues

  • ReviewedMeaning, categories, context, content model, tag omission, and content attributes
  • ReviewedSpecification roles and value-resolution model for min, max, value, low, high, and optimum
  • ReviewedMain HTMLMeterElement APIs and the HTML-AAM meter mapping entry point
  • OpenChrome, Firefox, and Safari comparisons for attributes, IDL, rendering, and low/high/optimum
  • OpenRemaining WPT coverage and cross-browser differences for boundary, invalid, and dynamic values
  • OpenComplete HTML-AAM mapping, platform APIs, assistive-technology output, and unit/title implementation differences

These results cover one Chrome 154 environment and two selected WPT files. Other browsers, Windows UI Automation, assistive technology, and value changes after interaction remain unchecked.

Related surface

For a beginner-friendly explanation of measurements, form submission boundaries, and the distinction from progress and output, see the meter element page in Yugien. For task completion, see the progress element; for calculation results, see the output element.