Skip to main content

Progress

Progress bars are used to indicate the progress of a task or the completion of a process. They are commonly used in forms, such as in file uploads or in the loading of content. Progress bars can also be used to indicate reading progress for content such as blogs, articles, documentation, or other text-based content.

Design Hints
Progress bars are a great way to provide users with a visual representation of the progress of a task or the completion of a process. They can be used in a variety of contexts like forms, loading indicators, and progress bars for reading content. It gives the user a clear visual indication of the current progress of a task.
Accessiblity Hints
For accessibility, we assign the `progressbar` role to the div and use the `aria-valuemin`, `aria-valuemax`, and `aria-valuenow` attributes to indicate the current progress of the task. To provide more information about the progress bar, we can use the aria-label attribute on the div to provide a description of the task or the process.

Note: While the examples below are static, you will most likely want to use javascript to update the progress bar as the task progresses.

Simple Progress Bars

A few styles of progress bars which can be used to indicate the progress of a task or the completion of a process.

25% Complete
25% Complete
Current Progress 50%
Current Progress 50%

Alternate Progress Bars

Alternate style for progress bars with a subtle gradient.

25% Complete
25% Complete
Current Progress 50%
Current Progress 50%

Accessibility Testing Status

ComponentNVDAWindows NarratorWAVEAxeIBM Equal Access
Simple Progress BarsYesYesYesYesYes
Alternate Progress BarsYesYesYesYesYes

For knowing more about the progressbar role used in the examples above, you can read the w3c WAI-ARIA 1.3 documentation about progressbar role

It is important to test the components with assistive technologies to ensure that they are accessible in the context of its usage. For example, if the progress bar is used in a form, you will have to use appropriate labels and textual information to help users understand the purpose of the progress bar and how it relates to the form.