The page navigation is complete. You may now navigate the page content as you wish.
Skip to main content

Stepper Indicator

Helps the user maintain context and directionality when advancing through a multi-step flow or feature; generally assembled as part of a larger stepper pattern.

When advancing through a multi-step flow or feature, a Stepper Indicator helps users maintain context and directionality. In certain circumstances, it could act as a navigational device between steps. It’s generally assembled as part of a larger Stepper pattern.

Usage

When to use

  • As a visual decorator to assist in the status and context of a multi-step flow.
  • Within a larger stepper or step item pattern paired with a label and description.

When not to use

  • In isolation, consider a standard icon.

Steps

Interactive steps

Interactive steps are part of a sequential flow and can be interacted with as a navigational device.

Non-interactive steps

Non-interactive steps are a part of a list of steps that can be completed sequentially, or asynchronously. They cannot be interacted with.

Tasks

Interactive tasks

Interactive tasks are part of a list of tasks that can be completed in any order. They can also be interacted with as a navigational device.

Non-interactive tasks

Non-interactive tasks are part of a list of tasks which can be completed in any order. They are not interactive but serve as a visual list item indicator.

The Stepper Indicator indicates the relational step value, helping users maintain context in a multi-step flow or sequence. It should be used in larger stepper item patterns with an appropriate label, description, and design language indicating directionality.

There are two kinds of indicator, set with type: a step indicator, which is a hexagon holding the step number, and a task indicator, which is the status mark on its own. They can be used together or separately, depending on how much hierarchy the flow needs.

The Stepper List and Stepper Nav draw their own indicators. Use this element when you are building the list yourself — a step inside a table row, or a checklist of your own.

The step indicator

Give it a text, which is the number in the hexagon, and a status.

<i80-stepper-indicator text="1" status="incomplete"></i80-stepper-indicator>

Adding interactivity

Indicators are generally assembled into a larger stepper item, so the hover, active and focus states belong to that item rather than to the indicator. Where the indicator itself is the thing being clicked, interactive gives it those styles. It does not make the indicator a control: put it inside your own <button> or <a>.

<i80-stepper-indicator text="1" status="incomplete" interactive></i80-stepper-indicator>

Indicating status

Four values: incomplete, progress, processing and complete. processing spins, for a step the server is still working on.

<i80-stepper-indicator text="1" status="progress" interactive></i80-stepper-indicator>
<i80-stepper-indicator text="1" status="processing" interactive></i80-stepper-indicator>
<i80-stepper-indicator text="1" status="complete" interactive></i80-stepper-indicator>

The task indicator

type="task" drops the hexagon and shows the status mark alone, for a list of tasks where a number would say nothing.

<i80-stepper-indicator type="task" status="incomplete"></i80-stepper-indicator>

Adding interactivity

As above, interactive adds the hover and active styles for an indicator inside something clickable.

<i80-stepper-indicator type="task" status="incomplete" interactive></i80-stepper-indicator>

Indicating status

The same four values.

<i80-stepper-indicator type="task" status="progress" interactive></i80-stepper-indicator>
<i80-stepper-indicator type="task" status="processing" interactive></i80-stepper-indicator>
<i80-stepper-indicator type="task" status="complete" interactive></i80-stepper-indicator>

Attributes

<i80-stepper-indicator> renders this component. Everything it understands:

Attribute Values Default Notes
type step · task step The hexagon with a number, or the status icon on its own.
status incomplete · progress · processing · complete incomplete
text text The step number in the hexagon.
interactive boolean Adds the hover and active styles, for an indicator inside something clickable.

The tag keeps any native element you write inside it, so a server-rendered form, link or button works as it is. See Web Components for loading i80.js and the reference for these examples running.

Anatomy

Step indicator

Element Usage
Text Required (indicates the step sequence)
Container Required

Task indicator

Element Usage
Icon indicator Required

States

Step indicator

Static step indicators only have one state for each of the statuses. Interactive step indicators have: default, hover, and active for all of the statuses.

Task indicator

Static task indicators only have one state for each of the statuses. Interactive task indicators have: default, hover, and active for all of the statuses.

General recommendations

The Step Indicator must be numerical (1, 2, 3) in its sequencing.

Conformance rating

Not conformant

<i80-stepper-indicator> is not WCAG-conformant on its own. It draws one step or task marker and nothing else: no list, no headings, no state for assistive technology.

Best practices

For practical accessibility purposes, consider a Stepper (the whole component) a list of items, with each step being a list item.

Applicable WCAG Success Criteria

There is no specific WCAG Success Criteria applicable to the Stepper Indicator on its own. Since we’re only providing the Stepper Indicator and not the entire stepper, product teams are responsible for ensuring WCAG conformance is met in any components they build.


Support

If any accessibility issues have been found within this component, let us know by submitting an issue.

0.1.0

Første i80-version (fork af upstream, se core/UPSTREAM.md).


Related