playbook.ebay.com

Progress stepper

v4.1

Progress steppers are visual indicators of progression through a process or experience.

Stylized artwork of a progress stepper.

On this page

Considerations

Glanceable

Progress steppers are immediately understandable at a glance.

Minimal

Progress steppers use minimal visual UI to allow for quick identification.

Informative

Progress steppers focus on key milestones.

Anatomy

Properties

Title

Required. The title tells the user the most recent and meaningful update at a glance. Write from the user’s POV.

  • Use sentence case
  • No ending punctuation

A section title sits above a progress stepper.

Labels

Labels communicate the key milestones of a flow.

Primary label

Required. The primary label names the milestone and helps users understand their place in the flow. Describe the user-facing event, not the system's state.

  • Use sentence case
  • No ending punctuation
  • Keep to 1–3 words
  • Use parallel structure across all steps

Secondary label

Optional. The secondary label adds supporting context below the primary label, such as a completion date or short status note.

  • Use sentence case
  • No ending punctuation
  • Keep to 1 line

An incomplete progress stepper with a primary and secondary label sits above a latest progress stepper with a primary and secondary label.

Horizontal orientation

Use horizontal steppers when saving vertical space is important. They allow for scrolling if the content extends off screen, but we recommend avoiding this behavior where possible.

A horizontal progress stepper with a section title and three progress steps.

Vertical orientation

The vertical orientation is available when vertical space isn’t an issue. This is the preferred orientation on smaller screens with more steps.

A vertical progress stepper with a section title and four progress steps.

Incomplete state

Steps that have not been completed use the incomplete state. Incomplete steps indicate what is expected to occur, and only changes state when completed or when an issue occurs.

A progress stepper in an incomplete state.

Latest state

A checkmark and bold title means this was the most recent completed step and the following step is in process. This state doesn’t apply to the last step in the stepper.

A progress stepper in a latest state.

Completed state

A checkmark and non-bold label means this step is complete and the process has moved on. The final step of the stepper enters this state by default when completed.

A progress stepper in a completed state.

Blocked state

The outlined error icon indicates that a blocking issue has occurred and requires user attention before the process can continue. Errors should be paired with an alert banner or notice providing more information about what happened and how to resolve the issue, if possible.

A progress stepper in a blocked state.

Behavior

Errors

When an error occurs, use a section or alert notice to display an error message.

Example title

Description

An example showing progress stepper component with three steps each with a different state: buyer paid, alert, available

Number of steps

Steppers have a minimum of 3 steps and maximum of 7 steps. Use the fewest steps needed to avoid overwhelming the user. Only add a step if it represents a distinct milestone.

A three stepped progress stepper sits above a five stepped progress stepper.

Minimum height

For vertical steppers, the minimum gap height between step icons is 24px.

A vertical progress stepper with three steps. The gaps between steps have a height of 24px.

Minimum step width

For horizontal steps, the minimum gap width between step icons is 104px.

A horizontal progress stepper with three steps. The gaps between steps have a width of 104px.

Maximum stepper width

If there are enough steps, steppers will stretch to fill their parent container. Aim to keep steppers to a reasonable width according to the number of steps. Overly wide steppers can reduce the stepper’s readability.

Three horizontal progress steppers with different widths. A progress stepper with an overall width of 536px, and individual stepper widths of 140px for the first and last step and 256px for the middle step sits below a progress stepper with an overall width of 792px. The individual stepper widths are 140px for the first and last step, and 256px for the middle steps as well. That sits below a progress stepper with an overall width of 960px.

Scroll behavior

The stepper component behaves similar to a carousel when the content extends beyond the screen. The latest step is scrolled into view by default.

A horizontal progress stepper sits on a mobile screen with the progress stepper extending beyond the screen edge.

Label overflow

Longer labels wrap to a new line when wider than the step’s width.

An example progress stepper component with four steps demonstrating how the label text can wrap instead of truncating.

Best practices

Specs

Read the original on playbook.ebay.com ↗