On this page

Stepper

Overview

A stepper keeps users informed about their progress in a multi-step process by indicating what step they are on, what has been done and what is waiting to be completed.

Usage

When to use:

  • Users need to accomplish a larger goal through manageable steps that would otherwise be overwhelming to do it in one go.
  • Users need to go through a sequence of logical and numbered steps with smaller goals.
  • Users need to track the progress of a process (e.g. delivery, service, …).

When not to use:

  • Users need to be informed of their current location during navigation, consider using breadcrumbs instead.

Anatomy

Properties

From the design point of view, each component has a number of options. These options and their names are platform agnostic, and each implementation should adapt these to fit into their framework. In Figma, these are defined as properties that help define each variant.

◇❖ Component: Stepper

PropertyValuesDefault
sizesmall / medium / largemedium
directionhorizontal / verticalhorizontal
steps3 / 4 / 5 / 63
stylenumber / icon / dotnumber
captiontrue / falsetrue
textPosition (horizontal)right / bottomright
content (vertical)true / falsefalse

❖ Sub-Component: Step horizontal

PropertyValuesDefault
sizesmall / medium / largemedium
statuswaiting / current / done / errorwaiting
statedefault / hover / focused / pressed / disableddefault
stylenumber / icon / dotnumber
textPositionbottom / rightright
labeltext“step”
showCaptiontrue / falsetrue
captiontext“caption”
tracktrue / falsetrue

❖ Sub-Component: Step vertical

PropertyValuesDefault
sizesmall / medium / largemedium
statuswaiting / current / done / errorwaiting
statedefault / hover / focused / pressed / disableddefault
stylenumber / icon / dotnumber
labeltext“step”
showCaptiontrue / falsetrue
captiontext“caption”
contenttrue / falsetrue
tracktrue / falsetrue

Behaviour

Direction

Steppers are available in two different directions depending of the space of the screen and the user’s needs.

For smaller devices, horizontal steppers can be implemented with a horizontal scroll. Or vertical steppers can be used with minimal adjustments required.

Sizes

Steppers are available in three sizes to cater for the diverse range of use cases and devices that our business uses.

By default, the medium stepper is used typically for desktop/tablet devices. But for mobile devices, it is advised that you upscale the stepper, to increase the touch area.

For more information about target size, check out W3’s website.

Status

To keep the user engaged in different tasks, step status give an indication of where in the process they are, what has been done, and what are the next steps.

Waiting: This shows an upcoming step that isn’t completed yet by the user.

Current: This shows the step that the user is currently on.

Done: This shows a step the user has already completed.

Error: This shows a step the user has not finished

Step styles

Depending of the goal of the stepper, different styles can be used :

Number: Indicating the step number, making it easier for the user to keep of where they are in a process. This is recommended when used to display a fixed linear process that requires information from the previous step.

Icon: Icons can be used to enhance the step’s goal, in addition to the label and the caption. This is recommended for use when the linear process can be navigated back and forth with no fixed direction.

Dot: A dot can be used to simplify the stepper for narrower screens, such as mobiles or a complex desktop design.

Linear stepper

Linear steppers require users to complete tasks step-by-step in order to move to the next one. Users can only navigate forward, or backward to the adjacent steps.

Non-linear stepper

Non-linear steppers allow users to complete any step in a random order. Users can also navigate to another non-adjacent step.

Horizontal - Text position

Depending of the density of your screen, text position can be placed either at the left or the bottom of the indicator. For processes with many steps and a narrow screen, bottom text helps improving readability across steps.

Vertical - Adding content

When using a horizontal stepper, content associated to the step can be added. To swap the default content with your own, follow these simple steps:

  1. Create your composition in a frame and apply Auto layout to it.
  2. Create a local component with this frame.
  3. Drag-and-drop the local component from your assets panel while pressing CMD+OPT (CTRL+ALT for Windows) to swap the default content.
  4. Make sure you apply the correct resizing constraints for the content area so that it hugs the next contents in the stepper.

Vertical - Make the stepper fluid

By default, the vertical stepper has a fixed height with all steps set to “Hug contents”.

In order to make the vertical stepper fluid, non-current steps excepting the last one can be set to “Fill container”.

Usage Guidelines

Keep step labels short and concise

  • Don’t: Use long names for steps
  • Do: Use labels that clearly indicate the purpose of the step. You can also use the labels to enumerate the step, and use the caption as step label.

Consistent use of nouns or verbs throughout all steps

  • Don’t: Mix nouns and verbs
  • Do: Use the same naming type through all steps

Avoid using multiple steppers on one page

  • Don’t: Use multiple steppers on one page.
  • Do: Organize content by theme within one step to avoid decision fatigue.

Use between 3 and 6 steps

  • Don’t: Use the stepper for processes with fewer than 3 or more than 6 steps.
  • Do: Simplify the process by organizing your content by theme or breaking up into multiple tasks.

Component Architecture

Link to Figma file