Skip to main content

HTML Standards: The Progress Tag

SimpleAccess.io Elements Series

Elements Index

The <progress> Element

As defined in the HTML Living Standard, the <progress> element displays an indicator showing the completion progress of a task, typically represented as a bar.

Visual Examples:

70%

30%
<label for="upload">Uploading...</label> <progress id="upload" value="45" max="100">45%</progress> View HTML Living Standard: The progress element

Technical Attributes

WCAG Requirement: Info and Relationships

Success Criterion 1.3.1 (Level A): Information, structure, and relationships conveyed through presentation can be programmatically determined.

A progress bar created with a <div> and CSS width is invisible to screen readers. The <progress> element provides a native role (progressbar) that tells the user exactly what the element is and how much progress has been made.

Understand SC 1.3.1: Info and Relationships

Progress vs. Meter

It is a common mistake to use these two elements interchangeably.

A11y Tip: Indeterminate State

When the value attribute is missing, the progress bar is "indeterminate." This is useful when you know a task is happening but don't know how long it will take. Ensure you provide a text description (e.g., "Loading, please wait...") so the user knows the application hasn't frozen.

© 2026 SimpleAccess.io — Native Standards for Everyone.