How to build an accessible Steps in React

Rendered as an ordered list (<ol>) with aria-label; the active item carries aria-current="step" to communicate progress to screen readers

When to use a Steps

When not to use it

Accessibility

Role list, verified at WCAG 2.2-AA.

Common mistakes

Avoid: Using Steps as a replacement for Tabs for non-sequential navigation

Prefer: <Tabs> for switching between independent views

Steps imply a linear sequence and derive complete/pending state from position

Example

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

See the full Steps reference →