Steps

Visual progress indicator for multi-step flows with horizontal and vertical orientations

Category: navigation · WCAG 2.2-AA · steps, wizard, stepper, progress, navigation, onboarding, checkout

States

Props

PropTypeDefaultDescription
ariaLabelstringAccessible label for the steps navigation; defaults to the built-in i18n string.
stepsStep[]Array of step objects with label and optional explicit state
activeStepnumber0Index of the currently active step (0-based)
orientation'horizontal' | 'vertical''horizontal'Layout direction of the steps
classNamestringAdditional CSS class names merged onto the root element.

Design tokens

When to use

When not to use

How to build an accessible Steps in React →

Examples

Horizontal (default)

Standard checkout or onboarding progress tracker

<Steps
  steps={[
    { label: 'Cart' },
    { label: 'Shipping' },
    { label: 'Payment' },
    { label: 'Confirm' },
  ]}
  activeStep={1}
/>

Vertical

Sidebar-style progress for tall forms

<Steps
  orientation="vertical"
  steps={[
    { label: 'Account info' },
    { label: 'Profile details' },
    { label: 'Preferences' },
  ]}
  activeStep={0}
/>

With explicit error state

Override derived state on a specific step

<Steps
  steps={[
    { label: 'Upload' },
    { label: 'Validate', state: 'error' },
    { label: 'Process' },
  ]}
  activeStep={1}
/>

Related components

← Back to docs