Progress bar

Figma logo The guideline content on this page is synced with Figma and can be used as a source of truth. Open in Figma

This component visually communicates the status of a task and it shows users how much work remains.


Anatomy

  1. Label
  2. Progress line
  3. Progress bar container
  4. Progress label
Progress bar anatomy: 1 — label, 2 — progress line, 3 — progress bar container, 4 — progress label

Usage

Progress bars are best when placed on the edge of a container.

Always use the same type of progress indicator for a given process across the platform. For instance, if refreshing uses a circular indicator in one view, it must use a circular indicator everywhere.

Label 60%

Progress label

The progress label is supposed to match the progress line and have the same number value. You will have to do that manually.

Label 40%

Variants

We have two distinct colours for the progress bar component to clearly communicate the status and user context of the ongoing process.

Green
Usage: it signifies a normal, positive, or successful state.

Purple
Usage: it signifies a specific, non-standard, or emphasised process.

Label 40%
Label 40%

Accessibility

Keyboard interaction

All components should be reachable via Tab and Shift + Tab keys. The focused progress bar shows a 2 px focus ring.

Label 80%

Best practices

Label 80%

Do

Indicate to users the progress of a task, showing how much has been completed and what remains.

Loading

Do

If there is a task with a short loading time, use the Spinner component instead.

screen shot 15.png 80%

Do

Use the progress bar to show either a loading state or the status of a system process.

John Doe 40%
Anna Svensson 80%

Don't

Don't use the progress bar for data visualisation; use a custom component for that purpose instead.


Specs

Progress bar specifications: 8 px bar height with the label and value row below

Developer reference

The following sections describe supported functionality that is not part of the Figma design specification.


Basic design

A standalone progress bar without a label row. Set the fill width with an inline style="width: …%" and keep the role="progressbar" ARIA attributes on the .progress element in sync. The .progress-bar fill is presentational.


Content Security Policy

Setting the fill width inline relies on the style attribute.


Deprecated patterns

The following classes are deprecated by the Figma redesign and will be removed in v3.0.