component
Step indicator
also called steps (ant-design), progress steps (community), wizard steps (community), progress tracker (community)
A row or column of numbered stages showing where you are in a multi step flow and what remains.
A step indicator is the map above a long form. Checkout, onboarding, a tax return, a multi part upload: any flow chopped into named stages needs to say three things at once, and this component says all three. Where am I, what did I already finish, and how much is left. The third one is why people accept the flow at all. A form that reveals its length up front is a form someone will start, and a sequence of pages that could end at any moment is one they abandon.
The stages are discrete and named, which is the difference from a plain percentage. “Step 2 of 4: Shipping” tells you what is coming; “50%” does not. That also sets the limit on when the component works: it needs a fixed, ordered, knowable set of stages. Flows that branch, loop, or run to an unknown length either need the branch collapsed into one nominal step or should not claim a count at all, because a tracker that grows a fifth step while you are on the fourth is worse than none.
Mark up the stages as an ordered list, since that is what they are, and mark the
one you are on with aria-current="step". Each stage needs its state announced
in words, not only in colour: completed, current, and not started should all be
distinguishable in a screenshot printed in black and white. Completed stages may
be links back, which is a kindness in a checkout, but stages ahead should stay
inert, because letting someone jump to payment before entering an address only
moves the error later. On narrow screens the horizontal row usually collapses to
a single line (“Step 2 of 4”) rather than shrinking the labels into nothing.
The naming here is a genuine mess. Material UI and Ant Design both call this component a Stepper, while Apple, HTML, and this dictionary use “stepper” for the plus and minus number control, which is a completely different thing. Carbon calls it a progress indicator, a phrase most people hear as a progress bar, and in everyday usage it answers to progress steps and progress tracker as well. When precision matters, say “step indicator” or “wizard steps” and expect to translate for whichever library is in the room.
Which word?
| If you want | say |
|---|---|
| showing progress through a numbered flow | step indicator |
| adjusting a number by small known increments | stepper |
| showing how far through a task you are | progress bar |
| the dots under a swipeable set of screens | page indicator |
| a setup list you can leave and come back to | onboarding checklist |
| showing which nav item is the page you are on | current page indicator |
| the flow says step 2 of 5 | steps left |
Related
See also: Wizard
Implementations
Specimens illustrate the concept; for production use, start here.
| carbon | Progress indicator |