- Home
- Design system
- Elements
- Progress steps
Progress Steps
Shows a user's position in a known sequence of steps.
Overview
ds-progress-steps shows a user’s position in a fixed, ordered workflow, such as account setup or checkout. Use it when the total number and order of steps are known. For continuous, percentage-based progress, use Scale.
The component only presents progress. The application must update the current-step modifier and accessible state when the user moves through the workflow.
Options
Basic usage
Use an ordered list (<ol>) for workflows because the steps must be completed in sequence. An unordered list (<ul>) is also supported, but does not communicate the sequence as clearly. Each step must be an <li> directly inside the list. The component supports a maximum of 10 steps.
Indicating progress
Add a numbered modifier from --1 to --10 to identify the current step. Steps before the selected step are displayed as completed, and steps after it are displayed as incomplete. The modifier must correspond to an existing list item.
When the current step changes, also move aria-current="step" to the matching list item. See Accessibility for the recommended markup.
ds-progress-steps --3Indent
Use global --indent-* modifiers to add padding around the progress steps. Use --v-indent-* and --h-indent-* to control each axis independently. The --no-indent, --no-v-indent, and --no-h-indent modifiers remove the corresponding padding.
ds-progress-steps --3Gap
Use global --gap-* modifiers to control spacing in both directions. Use --v-gap-* to change the space between indicators and labels, or --h-gap-* to change the horizontal space between steps.
ds-progress-steps --3Label alignment
Add --middle to vertically center labels when their heights differ.
ds-progress-steps --3Add --bottom to align the bottom edge of the labels instead.
ds-progress-steps --3Component colors
Apply an SDS --color-* modifier to the list to change the completed progress line and current-step indicator and label.
ds-progress-steps --3Apply a color modifier to an individual <li> to override the color when that item is the current step. Item colors can be combined with a list color to provide a default and step-specific overrides.
ds-progress-steps --3Do not use color alone to communicate the current or completed state.
Icons
Apply an SDS --icon-* modifier to an <li> to replace its standard indicator with an icon. Keep the step label visible so the icon is supplementary.
ds-progress-steps --3Apply an icon size modifier to the list to set the default size for every icon indicator. A size modifier on an individual <li> overrides that default.
ds-progress-steps --3Styles
Custom styles exist for specific use cases.
Striped
Add --striped to display incomplete progress lines with a 3px striped style. Completed lines remain solid.
ds-progress-steps --3Vertical
Add --vertical to arrange the steps vertically. Use this style when horizontal space is limited or step labels need more room.
ds-progress-steps --3The vertical style can be combined with icon modifiers.
ds-progress-steps --3Accessibility
See the W3C guidance for multi-page form progress indicators and aria-current.
Manifest
The component manifest describes this component's API: its modifiers, structure, data attributes, CSS custom properties, accessibility notes, and example markup. It is consumed by tooling such as AI assistants and code generators.
Latest version: https://assets.soracom.io/sds/3.39.12/ds-progress-steps/manifest.json?v=3.39.12