U.S. flagA digital services project by Flexion

Step Indicator

processUSWDS-derived

A multi-step progress indicator showing completed, current, and remaining steps.

Reference: USWDS documentation ↗

Variants

Centered

  1. Personal information
  2. Household status
  3. Supporting documents

Step 2 of 3Household status

Counters

  1. Personal information
  2. Household status
  3. Supporting documents
  4. Signature
  5. Review and submit

Step 3 of 5Supporting documents

Default

  1. Personal information
  2. Household status
  3. Supporting documents

Step 2 of 3Household status

No Labels

  1. Personal information
  2. Household status
  3. Supporting documents

Step 2 of 3Household status

Small Counters

  1. Personal information
  2. Household status
  3. Supporting documents
  4. Signature
  5. Review and submit

Step 3 of 5Supporting documents

Contract

Class mapping

USWDSFlexNotes
usa-step-indicator.flex-step-indicatorBase step indicator
usa-step-indicator__segments.flex-step-indicator__segmentsSegments list container
usa-step-indicator__segment.flex-step-indicator__segmentIndividual segment
usa-step-indicator__segment--completedata-state="complete"Completed step segment
usa-step-indicator__segment--currentdata-state="current"Current step segment
usa-step-indicator__segment-label.flex-step-indicator__segment-labelSegment text label
usa-step-indicator__header.flex-step-indicator__headerHeader containing heading
usa-step-indicator__heading.flex-step-indicator__headingStep heading text
usa-step-indicator__current-step.flex-step-indicator__current-stepCurrent step counter badge
usa-step-indicator--no-labelsdata-variant="no-labels"Hide segment labels
usa-step-indicator--countersdata-variant="counters"Show numbered counters on segments
usa-step-indicator--counters-smdata-variant="small-counters"Show small numbered counters
usa-step-indicator--centerdata-variant="centered"Center-aligned labels

Verified properties

background-colorfont-family

Intentional differences

segment state: ours = data-state="complete|current", USWDS = BEM modifier classes (--complete, --current)

We use data attributes instead of BEM modifier classes for state, consistent with our design system conventions.

Behavior promises

  • ✓ Complete segments show dark navy bars
  • ✓ Current segment shows accent blue bar
  • ✓ Incomplete segments show gray bars
  • ✓ aria-current="step" on current segment
  • ✓ Accessibility audit passes

Source CSS