Progress stepper
On this page
Overview
A progress stepper conveys the steps necessary to complete a process or task, and the status of each step. Steps have titles and descriptions; and each step can be in one of a number of possible states:
- inactive (yet to be performed)
- active (currently being performed)
- warn (succeeded, but with warnings)
- fail (failed to occur)
Or a custom state, set using the
iconattribute.
Usage guidelines
- Use 3-5 steps maximum to reduce cognitive load
- Designed to complement standard previous/next navigation. Avoid using as the only navigation.
- When process is completed, users cannot go back and must start over
Accessibility
- Communicates list structure and step states to screen readers
- Supports keyboard navigation for linked step titles
- Maintains logical focus order (left to right, top to bottom)
- Provides aria-current for the active step
Edit element properties
import '@rhds/elements/rh-progress-stepper/rh-progress-stepper.js';
<rh-progress-stepper>
<rh-progress-step state="complete" description="This step has been completed successfully">
Complete Step
</rh-progress-step>
<rh-progress-step state="warn" description="This step has a warning that needs attention">
Warning Step
</rh-progress-step>
<rh-progress-step state="fail" description="This step has failed and needs to be retried">
Failed Step
</rh-progress-step>
<rh-progress-step state="active" description="Currently working on this step">
Active Step
</rh-progress-step>
<rh-progress-step description="This step is not yet started">
Inactive Step
</rh-progress-step>
</rh-progress-stepper>
Makes the element vertical at various container query based breakpoints.
Breakpoints available 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'
Use when horizontal space becomes limited. The element automatically changes to vertical orientation at screen sizes of <768px.
Sets the orientation of the progress stepper.
horizontal- Steps are displayed in a horizontal row (default)vertical- Steps are displayed in a vertical column
Responsive behavior
-
992px: Padding between steps is set to --rh-space-5xl
- ≤992px: Padding reduces to --rh-space-2xl
- <768px: Orientation automatically changes to vertical
Use vertical orientation when horizontal space is limited or when you need to display more detailed step information.
Makes element display as compact.
Usage guidelines
- Use when there is limited space and less visual prominence is needed
- Maintain the compact size as designed - do not stretch spacing between steps
- Switch to default size or different orientation instead of stretching compact
- Always include step titles even in compact mode for accessibility
Status
- Figma library:
-
Ready - RH Elements:
-
Ready - RH Shared Libs:
-
In Progress
When to use
- Keep users informed about how much time or effort a task will take to complete
- Track progress in a step-by-step linear process on a single page
- Display the total number of steps at all times
Status checklist
| Property | Status | Meaning |
|---|---|---|
| Figma library |
|
Component is available in the Figma library |
| RH Elements |
|
Component is available in RH Elements |
| RH Shared Libs |
|
Component is being developed for RH Shared Libs |
Other libraries
To learn more about our other libraries, visit this page.
Feedback
To give feedback about anything on this page, contact us.