Progress Bars

Progress indicators inform users about the status of ongoing processes.

20%
40%
60%
80%

Variations

Basic

25%copydone
50%copydone
75%copydone
100%copydone

Progress bars with labels above

20%
copydone
40%
copydone
60%
copydone
80%
copydone

Progress bars with labels inside

25%
copydone
50%
copydone
75%
copydone
100%
copydone

Progress bars with trailing labels

25%
copydone
50%
copydone
75%
copydone
100%
copydone

Progress bars with trailing icons

25%
copydone
50%
copydone
75%
copydone
100%
copydone

Colored progress bars

40%copydone
60%copydone
80%copydone
100%copydone

Size Variation

20%copydone
40%copydone
60%copydone
80%copydone

Usage

Progress indicators inform users about the status of ongoing processes, such as loading an app, submitting a form, or saving updates. They communicate an app’s state and indicate available actions, such as whether users can navigate away from the current screen.

Specs

Progress bars using the native <progress> HTML element should include the following attributes:

  • max: corresponds to the maximum value of the progress.
  • value: corresponds to the active value of the progress.

The progress component can contain the following elements:

  • Progress bar: the bar has a 1rem (16px) height for the base size, 1.5rem (24px) for the large size, 0.5rem (8px) for the small size and 0.25rem (4px) height in the extra small size.
  • Label: 0.75rem (12px) font size and can be positioned above or inside (on base and large sizes) the progress bar.
  • Icon: 1rem (16px) width and height.

Accessibility notes

Since the native HTML <progress> is utilized no extra roles are required. In most cases, you should provide an accessible label when using this element.