Skip to content
SkillCodex
Menu

Stepper

Stepper

A progress summary that distinguishes completed, current, and upcoming stages in a meaningful linear process.

Try the component
Context, sources and actions
Sources and revision
Updated
Version
v1.0.26 · r1
Sources
5 sources
Status
Published
Read the sources

You may have searched for: show which form step I am onstep three of fivemark earlier steps as completed

All phrasings
Save and share

Recognize

Orient within a journey

Try it

Should this locate the page in a hierarchy, move across result pages, or show a process stage?

Stepper

Shared trial context

A person needs to understand where they are and what kind of movement is available without confusing site hierarchy, result pages, and process stages.

Stepper

Mission

Stepper

Use the separate Next and Back actions, verifying step statuses and the screen heading after every change.

  1. Details completed
  2. Documents current
  3. Review upcoming

2 / 3 — Documents

Segments communicate status; separate buttons control the workflow.

Live result

Step 2 of 3: Documents.

Step 1 of 3

Try

Try the component. Your live result appears just above. Move on at your own pace.

Behavior and edge case
What to observe
Documents is current, Details is complete, and Review is upcoming.
Edge case
Returning to a completed step preserves entered data and recomputes statuses without making decorative segments clickable.

What this example shows

Stepper summarizes ordered business stages; Pagination moves among peer content pages, while Progress bar measures completion amount.

Which fits your need?

Stepper

A stable linear process has at least three meaningful sections

Breadcrumbs

Pages belong to a hierarchy several levels deep

Which component will you use here?
Difference and sources

Stepper summarizes ordered business stages; Pagination moves among peer content pages, while Progress bar measures completion amount.

Read the sources

    Parts of the specimen

    Select a numbered marker on the schematic, or use the list below, to see its role. The schematic shows the concept's representative state.

    Step list

    The ordered stages that define the complete process.

    Position in the atlas

    Relationship map

    Locate the chapter, neighboring concepts, and the next useful decision.

    • Chapter

      Orient within a journey

      Stepper belongs to this comparison group.

    • Do not confuse

      Breadcrumbs

      Choose Stepper if a linear process has completed, current, and upcoming stages. Choose Breadcrumbs if pages have ancestors and the user may go up a level.

      Compare this pair
    • Do not confuse

      Pagination

      Choose Stepper if a linear process has at least three meaningful stages the user completes in order. Choose Pagination if the pages are equivalent slices of a collection and none must be completed before another.

      Compare this pair
    • Next step

      Compare the concepts in the chapter before choosing an implementation.

      Open the chapter

    In your own words

    Understand

    What people describe

    Documented aliases: step indicator, progress steps, multi-step progress

    • show which form step I am on
    • step three of five
    • mark earlier steps as completed
    • show the stages before submitting
    • track progress through a checkout
    • distinguish current and upcoming steps

    Choose

    Use it when

    • A stable linear process has at least three meaningful sections
    • People need overall progress context across screens

    Avoid it when

    • Steps can occur in any order or change conditionally
    • The process has fewer than three meaningful sections

    Compare

    Compare similar concepts

    Verification checklist

    Try these actions in the lab, then check the same behaviours in your agent’s result. Adapt the example names to your interface.

    1. 1. Do this

      Read the current step, complete it and use the separate Next action.

      Expected result

      While the flow is in progress, exactly one step is current; completed, current and upcoming steps are distinguishable beyond color.

    2. 2. Do this

      Use Back, then continue forward again; if your steps contain input, inspect it on returning.

      Expected result

      Step statuses stay consistent with the actual workflow, and returning to an input step preserves the draft.

    3. 3. Do this

      Follow the flow using only Tab, Enter and the Next and Back controls.

      Expected result

      Decorative step indicators do not add false actions; each change makes the new step clear through its heading or an announcement.

    Full contract
    1. 1Exactly one stage is current
    2. 2Status never depends on color alone
    3. 3Navigation controls remain separate
    4. 4The screen has a real heading
    5. 5Current and total step counts stay correct

    Understand → Recognize → Choose → Compare

    Pack for your agent

    Pre-written instructions to paste into your agent. Copying executes nothing.

    Implement correctly

    Build Stepper without breaking its behavior

    # Implement Stepper in your agent
    
    ## Objective
    Implement Stepper for this verified behavior: A progress summary that distinguishes completed, current, and upcoming stages in a meaningful linear process.
    
    ## Prerequisites
    - Inspect the repository, design system, and existing tests first.
    - Preserve unrelated changes and keep the file scope bounded.
    - Confirm that Stepper matches the need before writing code.
    
    ## Required behavior
    - The workflow marks earlier stages complete, one stage current, and later stages upcoming.
    - Pointer, Enter, or Space activation runs one named action exactly once.
    
    ## States to cover
    - Details current
    - Documents current
    - Review current
    - Process complete
    
    ## Accessibility
    - ARIA role: ol > li[aria-current=true] + heading
    - The primary control or named region for Stepper has a stable accessible name from visible text or an explicit programmatic label; placeholder text and tooltips are not names.
    - After an in-place stage change, focus the new step heading or use one documented equivalent; never focus a decorative segment.
    - The indicator is persistent workflow context and is not dismissible.
    - Expose Step N of M and the current heading, include completed and upcoming text, and mark only the current labeled step.
    - The indicator adds no tab stops by default
    - Separate Back and Next buttons use Tab and Enter or Space
    - Decorative segments do not intercept keys
    
    ## When not to use
    - Steps can occur in any order or change conditionally
    - The process has fewer than three meaningful sections
    
    ## Acceptance criteria
    - Exactly one stage is current
    - Status never depends on color alone
    - Navigation controls remain separate
    - The screen has a real heading
    - Current and total step counts stay correct
    
    ## Guardrails
    - Show the proposed changes before any external action.
    - Do not publish, send, delete, pay for, or change remote state without explicit authorization.
    - Preserve unrelated changes and stop if the scope becomes ambiguous.
    
    ## Output format
    - Outcome or verdict.
    - Files or actions involved.
    - Checks run and observable evidence.
    - Remaining blockers or limitations.
    
    • Web platform
    • Requires · Access to the repository, design system, and tests
    Why it works
    • The need is tied to canonical behavior before any technical choice.
    • States, accessibility, and non-goals prevent a merely visual implementation.
    • Acceptance criteria and the output format make verification observable.

    Try next

    Verify Stepper on a real journey

    # Verify Stepper after implementation
    
    ## Objective
    Audit the Stepper implementation against its behavior, states, and accessibility requirements without changing it automatically.
    
    ## Checks
    - Replay the smallest representative journey.
    - Check keyboard behavior, focus, accessible name, and announcements.
    - Tie each gap to a specific acceptance criterion.
    
    ## Guardrails
    - Show the proposed changes before any external action.
    - Do not publish, send, delete, pay for, or change remote state without explicit authorization.
    - Preserve unrelated changes and stop if the scope becomes ambiguous.
    
    ## Output format
    - Outcome or verdict.
    - Files or actions involved.
    - Checks run and observable evidence.
    - Remaining blockers or limitations.
    

    sha256:198c281be9e76b5e75ac002fc602222090af1ee3471296cf69fd230368cae7d7

    Diagnose a problem

    Find and fix the Stepper defect

    # Debug Stepper in your agent
    
    ## Observed symptom
    [DESCRIBE THE SYMPTOM HERE]
    
    ## Observable checks
    - Reproduce the issue with the smallest relevant journey.
    - Compare behavior with the documented states and transitions for Stepper.
    - Verify keyboard behavior, focus, accessible name, and announcements.
    
    ## Possible causes
    - The chosen primitive does not match the expected behavior.
    - A state, transition, or focus return is missing.
    - A neighboring component captures an event or hides an accessible signal.
    
    ## Bounded corrections
    - Fix the reproduced cause without recreating neighboring components.
    - Preserve the public contract and add a focused regression test.
    - Do not install dependencies or change remote state without authorization.
    
    ## Final verification
    - Exactly one stage is current
    - Status never depends on color alone
    - Navigation controls remain separate
    - The screen has a real heading
    - Current and total step counts stay correct
    
    ## Guardrails
    - Show the proposed changes before any external action.
    - Do not publish, send, delete, pay for, or change remote state without explicit authorization.
    - Preserve unrelated changes and stop if the scope becomes ambiguous.
    
    ## Output format
    - Outcome or verdict.
    - Files or actions involved.
    - Checks run and observable evidence.
    - Remaining blockers or limitations.
    
    • Web platform
    • Requires · Access to the repository, design system, and tests
    Why it works
    • The explicit symptom prevents starting from an assumed fix.
    • Checks separate behavior, accessibility, and neighboring interference.
    • The fix stays bounded and must produce regression evidence.

    Try next

    Lock in the Stepper fix

    # Prevent the Stepper regression
    
    ## Objective
    Turn the reproduced cause into a focused regression test and compare Stepper with neighboring concepts before widening the fix.
    
    ## Checks
    - Prove that the test fails before the fix.
    - Prove that it passes after the bounded fix.
    - Verify that no neighboring component changed behavior.
    
    ## Guardrails
    - Show the proposed changes before any external action.
    - Do not publish, send, delete, pay for, or change remote state without explicit authorization.
    - Preserve unrelated changes and stop if the scope becomes ambiguous.
    
    ## Output format
    - Outcome or verdict.
    - Files or actions involved.
    - Checks run and observable evidence.
    - Remaining blockers or limitations.
    

    sha256:43fbe9b70cd7ea4116e5071c6b2a5b306aeb3205f562c502955b613b2c721291

    Full entry, saving and provenance

    Pre-written instruction by SkillCodex — your request is neither sent nor used to adapt this text; no content is generated, and copying executes nothing.

    Pack digest: sha256:b4467aa37792b052761fdf92cddc1606b1b04533b6b1866974155ead979c0d85

    In code

    TechnologyPrimitiveVersionCaveat
    Web platform

    ol with status text and optional a[href]

    NativeAn ordered list communicates status. Steps are not controls unless the workflow genuinely permits navigation to them.

    Technical details

    Behaviors

    • Update process stage

      The workflow marks earlier stages complete, one stage current, and later stages upcoming.

    • Run an action

      Pointer, Enter, or Space activation runs one named action exactly once.

    States

    • Details current

      Details current

    • Documents current

      Documents current

    • Review current

      Review current

    • Process complete

      Process complete

    State transitions

    • Details current → Documents current

      Activating the separate Next action advances to Documents.

    • Documents current → Review current

      Activating the separate Next action advances to Review.

    • Review current → Documents current

      Activating the separate Back action returns to Documents.

    • Review current → Process complete

      Activating Submit completes the process and exposes completion.

    Test scenarios

    Context
    A three-step account application moves from Details to Documents to Review.
    Mission
    Use the separate Next and Back actions, verifying step statuses and the screen heading after every change.
    Primary state
    Documents is current, Details is complete, and Review is upcoming.
    Edge case
    Returning to a completed step preserves entered data and recomputes statuses without making decorative segments clickable.

    Visual signals

    • Ordered completed, current, and upcoming segments
    • Current segment is most prominent
    • Step count is paired with the screen heading

    Behavioral signals

    • The indicator mirrors workflow state
    • Navigation uses separate Back and Next actions
    • Earlier and later statuses update together

    Accessibility

    Role
    ol > li[aria-current=true] + heading
    Accessible name
    The primary control or named region for Stepper has a stable accessible name from visible text or an explicit programmatic label; placeholder text and tooltips are not names.
    Focus
    After an in-place stage change, focus the new step heading or use one documented equivalent; never focus a decorative segment.
    Dismissal
    The indicator is persistent workflow context and is not dismissible.
    Scroll
    The current location stays visible when possible. Navigation or workflow changes land at a meaningful heading without an unexpected scroll jump.
    Announcement
    Expose Step N of M and the current heading, include completed and upcoming text, and mark only the current labeled step.
    Keyboard
    • The indicator adds no tab stops by default
    • Separate Back and Next buttons use Tab and Enter or Space
    • Decorative segments do not intercept keys

    Bindings

    Open the HTML, ARIA, Radix, and shadcn matrix
    • ol with status text and optional a[href]

      implementationKind
      custom
      nativeElement
      ol with status text and optional a[href]
      ariaPattern
      ordered process stages with aria-current=step or true
      radixPrimitive
      Not applicable
      shadcnRecipe
      Not applicable
      runtimeDependency
      Not applicable
      packageName
      Not applicable
      exportName
      Not applicable
      exactVersion
      Not applicable
      status
      exception
      sourceId
      source-ui-uswds-step-indicator
      deprecationStatus
      active
      replacement
      Not applicable
      validFrom
      Not applicable
      validUntil
      Not applicable

      Equivalence caveat: An ordered list communicates status. Steps are not controls unless the workflow genuinely permits navigation to them.

      Verify binding source

    Sources

    • U.S. Web Design System: Step indicator
      sourceId
      source-ui-uswds-step-indicator
      kind
      documentation
      canonicalUrl
      https://designsystem.digital.gov/components/step-indicator/
      publisher
      U.S. Web Design System
      sourceRevision
      http-etag:W/"ffdfcdbbb6e587a1528d85d8269a3434"
      consultedAt
      2026-08-10
      license
      Not stated
      contentDigest
      sha256:97e887de022a2aa2727694a055eb52754dcc35648a30df701697e873aff02344
      status
      verified

      Claim covered: Stepper: documented parts, state APIs, interaction behavior, and implementation limits for USWDS Step indicator.

    • WHATWG HTML: The ol element
      sourceId
      source-ui-html-ordered-list
      kind
      standard
      canonicalUrl
      https://html.spec.whatwg.org/multipage/grouping-content.html#the-ol-element
      publisher
      WHATWG
      sourceRevision
      http-etag:"6a5dd5e8-34d05"
      consultedAt
      2026-08-10
      license
      Not stated
      contentDigest
      sha256:4e0627672499c1cfdcd9525e54080baafee74ab80e97b8b446737bfe97d146a5
      status
      verified

      Claim covered: Stepper: normative native semantics, states, attributes, and browser behavior for ol and li.

    • WAI-ARIA 1.2: Roles Model
      sourceId
      source-ui-wai-aria-roles
      kind
      standard
      canonicalUrl
      https://www.w3.org/TR/wai-aria-1.2/#roles
      publisher
      W3C WAI
      sourceRevision
      W3C-REC-wai-aria-1.2-20230606
      consultedAt
      2026-07-19
      license
      Not stated
      contentDigest
      sha256:c0fea16fc747779569ab754d2d25bca3e2b7e8a673b8ef5362aeb9ebc73a4849
      status
      verified

      Claim covered: Stepper: normative ARIA role definitions and constraints for the stated accessible role.

    • WCAG 2.2: Focus Appearance
      sourceId
      source-ui-wcag-understanding-focus-appearance
      kind
      documentation
      canonicalUrl
      https://www.w3.org/WAI/WCAG22/Understanding/focus-appearance.html
      publisher
      W3C WAI
      sourceRevision
      http-last-modified:2026-07-02T10:07:49Z
      consultedAt
      2026-07-19
      license
      Not stated
      contentDigest
      sha256:fdcf316a1f0e3cc758eda9618322d132862124ff0a3f3b1a3acbf20daf804ff0
      status
      verified

      Claim covered: Stepper: informative WCAG guidance for evaluating visible keyboard focus appearance.

    • WCAG 2.2: Status Messages
      sourceId
      source-ui-wcag-understanding-status-messages
      kind
      documentation
      canonicalUrl
      https://www.w3.org/WAI/WCAG22/Understanding/status-messages.html
      publisher
      W3C WAI
      sourceRevision
      http-last-modified:2026-07-02T10:07:49Z
      consultedAt
      2026-07-19
      license
      Not stated
      contentDigest
      sha256:cf2a8c16b20c1a94164c9a37e2b3f15d9a7d3f47d88385d47432d6a29655609e
      status
      verified

      Claim covered: Stepper: informative WCAG guidance for status messages announced without moving focus.