User Progress Trackers

Displays the user's current location within a linear task flow, such as a wizard.

Progress trackers are positioned beneath the page title and above the rest of the content.

All progress trackers require a minimum of 2 steps.

Standard User Progress Trackers are represented with a linear bar and can have a maximum of 6 steps.

Dropdown User Progress Trackers are used when there are more than 6 steps.

Typically, users have the option to navigate backwards in their workflow by clicking on any previous tracker step that is not disabled.

Disabled steps are used when backward navigation is not possible to those steps.

For linear bar trackers, the link-label beneath each step is replaced with a show-hide on smaller breakpoints.

Reverse the direction of a progress tracker for right-to-left languages.

If possible, the first step of a form should explain how many steps will follow. Each step should inform the user about the progress they are making.

Do's and Don'ts

Types

Common Button Labels and Usage

Title case, 2-3 words maximum.
Do not combine actions in a label (exception: "Customize & Buy").
If standard labels don't fit the button's purpose, align label with the task the user is attempting.

Please refer to the Dell Technologies branding website, https://brand.delltechnologies.com/faq/#voice, for further information regarding call-to-action labels and usage.

Button Label:
Corresponding Action:
Add to Cart
Search
Cancel
Save
Edit
Delete
Continue
Next/Previous
Submit
Select
Sign In/Sign Out
View Details
Ok/Cancel
Learn More
Close
Takes users to Cart page, with item added
Used for search buttons
Takes users back to entry point for a task
Used to save an item
Navigates users to change an item
Deletes an item on the page, usually with a verification step
Used as progression
Used as forward and backward navigation (Next is primary, Previous is secondary)
Used to submit a task or info
Used for choosing items in a task flow
Authentication standard, for consistency do not use Log In/Log Out or Signin/Signout
Used instead of “Select” in cases of product details or within learn content
For use in modal verification steps when more specific CTAs will not fit due to space
Used to link users to more learning content or contextual help
Used within modal windows

User Progress Trackers

Standard User Progress Tracker

<nav class="dds__progress" aria-label="Progress Tracker"> <ol> <li> <a href="https://www.dell.com" class="dds__d-flex dds__flex-column"> <div class="dds__progress-bar dds__bar-complete dds__check" aria-hidden="true"></div> <div class="dds__btn-link dds__font-weight-bold">Step 1</div> </a> </li> <li> <a class="dds__d-flex dds__flex-column"> <div class="dds__progress-bar dds__bar-disabled dds__check" aria-hidden="true"></div> <div class="dds__progress-bar-text dds__font-weight-bold">Step 2</div> </a> </li> <li> <a href="https://www.dell.com" class="dds__d-flex dds__flex-column"> <div class="dds__progress-bar dds__bar-complete dds__check" aria-hidden="true"></div> <div class="dds__btn-link dds__font-weight-bold">Step 3</div> </a> </li> <li aria-current="step"> <a class="dds__d-flex dds__flex-column dds__disabled"> <div class="dds__progress-bar dds__bar-in-progress" aria-hidden="true"></div> <div class="dds__btn-link dds__font-weight-bold">Step 4</div> </a> </li> <li> <a class="dds__d-flex dds__flex-column dds__disabled"> <div class="dds__progress-bar dds__bar-not-started" aria-hidden="true"></div> <div class="dds__btn-link">Step 5</div> </a> </li> <li> <a class="dds__d-flex dds__flex-column dds__disabled"> <div class="dds__progress-bar dds__bar-not-started" aria-hidden="true"></div> <div class="dds__btn-link">Step 6</div> </a> </li> </ol>
</nav>

Disabled User Progress Tracker

<nav class="dds__progress" aria-label="Progress Tracker"> <ol> <li> <div class="dds__d-flex dds__flex-column"> <div class="dds__progress-bar dds__bar-disabled" aria-hidden="true"></div> <div class="dds__progress-bar-text dds__font-weight-bold">Step 1</div> </div> </li> <li aria-current="step"> <div class="dds__d-flex dds__flex-column"> <div class="dds__progress-bar dds__bar-progress-disabled" aria-hidden="true"></div> <div class="dds__progress-bar-text dds__font-weight-bold">Step 2</div> </div> </li> <li> <div class="dds__d-flex dds__flex-column"> <div class="dds__progress-bar dds__bar-not-started" aria-hidden="true"></div> <div class="dds__progress-bar-text">Step 3</div> </div> </li> </ol> </nav>

No items found.

No items found.

No items found.

To be determined.

Multi-Step Trackers

Ensure that overall instructions are visible from every step.

The progressbar role should be used for an element that displays the progress status for a task that consists of several steps.

The progress element, like other form elements, is a component from the operating system rendered directly on the website. Those components are animated in some operating systems, which would violate WCAG 2.0’s 2.2.2 Pause, Stop, Hide success criteria (requires that users are able to disable an animation that starts automatically, lasts more than 5 seconds and is presented in parallel with other content). The animation can be stopped by using custom styling with browser-specific CSS.

Each step should identify progress in relation to the total number of steps (e.g. "Step 1 of 4").

Leverage the h1 page title for disclosing progress (e.g. "Dell Cart - Sign In (Step 2 of 6)").

Make it easy to recognize and skip optional steps, such as purchasing add-ons.

Don't set a time limit to complete the workflow. If a time limit is required (as with auto-logout), then provide a feature for extending the time limit.

Make use of the HTML5 "progress" element.

Save changes as they're made within each step in case progress is lost.

Add an ".sr-only" helper class that is only readable by screen readers (and invisible for all other users).

Related Resources

Success Criteria

1.3.1 Info and Relationships: Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text. (Level A)

2.2.1 Timing Adjustable: For each time limit that is set by the content, at least one of the following is true: (Level A)

  • Turn off: The user is allowed to turn off the time limit before encountering it; or
  • Adjust: The user is allowed to adjust the time limit before encountering it over a wide range that is at least ten times the length of the default setting; or
  • Extend: The user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action (for example, "press the space bar"), and the user is allowed to extend the time limit at least ten times; or
  • Real-time Exception: The time limit is a required part of a real-time event (for example, an auction), and no alternative to the time limit is possible; or
  • Essential Exception: The time limit is essential and extending it would invalidate the activity; or
  • 20 Hour Exception: The time limit is longer than 20 hours.

3.3.2 Labels or Instructions: Labels or instructions are provided when content requires user input. (Level A)

Techniques