Skip to main content Home
About About the Design SystemRoadmap
Get started OverviewDesignersDevelopers
Foundations OverviewColorGridIconographyInteractionsSpacingTypography
Tokens Overview Global colorbox shadowTypographyborderopacityspacelengthIconBreakpointsMedia Queries
Elements All elements Accordion Alert Announcement Audio player Avatar Back to top Badge Blockquote Breadcrumb Button Card Chip Code block Call to action Dialog Disclosure Footer Health index Icon Jump links Navigation (primary) Navigation (secondary) Pagination PopoverPlanned Progress stepper Scheme toggle Site status Skeleton Skip link Spinner Statistic Subnavigation Surface Switch Table Tabs Tag Tile Timestamp Tooltip Video embed
Theming OverviewColor PalettesCustomizingDevelopers
Patterns All PatternsCardFilterFormLink with iconLogo wallSearch barSticky bannerSticky cardTabsTagTile
Personalization All Personalization PatternsAnnouncement
Accessibility FundamentalsAccessibility toolsAssistive technologiesCI/CDContentContributorsDesignDevelopmentManual testingResourcesScreen readers
Design/code status Release notes Get support

Progress stepper

OverviewStyleGuidelinesCodeAccessibilityDemos
General usageBehaviorWriting contentResponsive designBest practicesStretching the compact sizeGeneral usageBehaviorWriting contentResponsive designBest practicesStretching the compact size

General usage

Use a progress stepper to communicate to users how many steps are required to complete a process or task. This reduces uncertainty for users as they complete each screen.

Number of steps

A progress stepper should have as few steps as possible in order to reduce cognitive load. A best practice is displaying 3 - 5 steps maximum.

Behavior

Progression

A progress stepper is designed to complement standard previous/next navigation in a linear sequence, not to be a navigation of its own.

A progress stepper above a box indicating extra content should appear there. Below this box are previous and next buttons.

Error validation

If a user attempts to move to another step without resolving any errors first, an inline alert will appear.

A progress stepper with the components listed above plus an rh-alert above the stepper indicating an error occurred.

Completion

When a process or task is completed, users are not able to go back. They must start the process all over again.

A progress stepper with all completed steps, a box for placeholder content below it, and an rh-button that says 'Start over'.

Writing content

When writing text, include minimal content by doing the following:

  • Keep the title and description short and specific
  • Use between 1 - 3 words for the title and a few words for the description
  • Use verbs that clearly communicate each step of the process
  • Do not punctuate the title or description because they are fragments and not full sentences
Step Verb tense Example
In progress Present participle
  • Installing cluster
  • Creating cache
Error Past
  • Could not install cluster
  • Could not validate account credentials
Cluster installed Past
  • Cluster installed
  • Account credentials validated

Responsive design

A horizontal progress stepper can be a fixed width or stretch to fill a container.

Two progress steppers. One 50% width and one 100% width. Each has four steps.

If space becomes an issue with the horizontal size, switch to the compact size or the vertical orientation.

Three progress steppers at varying viewport sizes. One horizontal, one compact horizontal, and one vertical.

Best practices

No title or description

A four step progress stepper where each step has a title and description.

Always include at least a title so users know what step they are on.

A four step progress stepper without any text labels.

Never remove the title because it will be confusing for users.

Stretching the compact size

Two compact steppers. One horizontal and one vertical.

Maintain the compact size, it was designed to have less visual prominence.

Two compact steppers like above; however, space has been added between each step's icon making it look more like a normal stepper without labels instead of a compact stepper.

Do not stretch the compact size. Switch back to the default size or use another orientation.

© 2025 Red Hat Deploys by Netlify