Skip to content

This is an early unpublished editor's draft; content is incomplete and subject to change.

Multi-step process identification conveys structure or count

The identification of a multi-step process conveys either the number of steps or the structure of the process.

Applicability

This rule applies to pages/views that are part of a multi-step process where steps are identified, except when the total number of steps is unknown or the sequence of steps depends on user input.

Expectation 1

The identification of steps conveys at least one of the following:

Expectation 2

This indication is:

Assumptions

Examples

Passed example 1

The total number of steps is explicitly conveyed.

<p>Step 2 of 4</p>
<h1>Billing Information</h1>

Passed example 2

The current position and total number of steps are indicated.

<p>2 / 5</p>
<h1>Payment</h1>

Passed example 3

The ordered list conveys the structure of a multi-step process.

<ol aria-label="Checkout steps">
  <li>Shipping</li>
  <li>Billing</li>
  <li>Review</li>
</ol>

Passed example 4

The ordered sequence of labeled steps conveys the structure of a multi-step process.

<ul>
  <li>Shipping</li>
  <li>Billing</li>
  <li>Review</li>
</ul>

Passed example 5

The progress indicator conveys position within a defined multi-step structure.

<style>
  .progress-container {
  width: 100%;
  height: 8px;
  background-color: #e0e0e0;
  border-radius: 4px;
  overflow: hidden;
}

.progress-bar {
  height: 100%;
  width: 66.6%;
  background-color: #4caf50;
  transition: width 0.3s ease;
}
</style>
<div class="progress-container">
  <div class="progress-bar" role="progressbar" aria-valuenow="2" aria-valuemin="1" aria-valuemax="3" aria-label="Checkout progress"></div>
</div>

Failed example 1

No information is provided about steps or process structure.

<h1>Billing Information</h1>
<form>...</form>

Failed example 2

The content does not convey number of steps or process structure.

<h1>Checkout</h1>

Failed example 3

The step structure is not programmatically determinable.

<div class="steps">
  <span class="active"></span>
  <span></span>
  <span></span>
</div>

Failed example 4

The progress indicator does not provide sufficient information about total steps or structure.

<div role="progressbar" aria-valuenow="2"></div>

Inapplicable example 1

The homepage of a website is not a multi-step process; therefore, it contains no steps and, consequently, no active step.

Inapplicable example 2

On a retail website, the checkout flow is implemented as a single-page process; therefore, there is no sequence and no designated active step.

Inapplicable example 3

A contact form is a single-step process; therefore, there is only one step and no need to indicate an active step.