
A progress bar or progress circle visualizes the progress of a process or operation.
Progress indicators are used to visualize the progress of a process or operation. They are commonly used in:
Use a progress indicator to communicate to the user that something is happening in the background. They can also be used in to communicate progress towards completion in a multi-step process like a form.




Design system components are published in a Figma library. Install the library and add it to your project to start using this component.
The design system provides two progress indicator components:
Progress indicators can be either:
Use a descriptive label to communicate what is happening. Do not display multiple progress indicators at the same time.
Detailed technical documentation, interactive previews and code samples are published in the B.C. Design System Storybook.
Reference implementations of the progress bar and progress circle components in React are published in the React components library. Install the package via npm to start using the components.
Both components are styled versions of the React Aria ProgressBar.
Refer to the React Aria documentation to understand its structure and API.
These summaries reflect the component used as provided. If you modify it, confirm that your changes comply with the Web Content Accessibility Guidelines (WCAG). B.C. government digital services are required to meet the WCAG Level AA standard.
| Requirement | WCAG Success Criterion | Validation |
|---|---|---|
| Make sure visual formatting is represented in the backend code | 1.3.1 (Level A) |
Label and progress bar/circle are automatically associated via an aria-labelledby attribute |
| Enhance visual contrast for user interface and graphics | 1.4.11 (Level A) | Contrast ratio between the progress bar track and fill exceeds 3:1 |
| Support user preferences for motion, and eliminate unnecessary motion effects | 2.3.3 (Level AAA) |
Indeterminate state respects prefers-reduced-motion, replacing the looping animation with an alternative slow fade/pulse |
| Make sure components can be read and used by assistive technology | 4.1.2 (Level A) |
The progress bar/circle is automatically associated to its label via an aria-labelledby attribute, and has the "progressbar" role |