Skip to content

步骤条 Stepper

展示有先后顺序的流程与当前所处位置。纯 HTML,状态由业务代码写入。

侧栏步骤条

多步骤表单(公司注册、开通收单)的桌面端侧栏:进度百分比 + 进度条 + 步骤列表。

examples/stepper/sidebar.html
状态写法效果
已完成普通 <button>,序号换成 check 图标 + sr-only「已完成:」可点击返回修改
当前aria-current="step"深蓝底白字
未开始disabled次要色、不可点击

样式全部由 aria-[current=step]:*disabled:*group-aria-[current=step]:* 表达,改状态只需要改属性。

横向步骤条

移动端或页面顶部,空间不足时横向滚动。

examples/stepper/horizontal.html

v2 的做法是同一份列表在 lg 以下切换为横向:flex gap-1 overflow-x-auto lg:flex-col lg:overflow-visible,并在切换步骤时把当前项滚动到可见区域。

流程说明

营销页中介绍服务流程,不表示进度。

examples/stepper/process.html

使用建议

推荐

  • 步骤 3–5 个;步骤名用名词或动宾短语:「填写资料」「付款」
  • 允许返回已完成的步骤修改,不允许跳到未开始的步骤

避免

  • 用颜色作为唯一的状态区分(已完成项加图标,当前项加 aria-current

无障碍

  • 步骤列表使用 <ol>
  • 进度条:role="progressbar" + aria-valuenow / aria-valuemin / aria-valuemax

与 v2 的差异

v2 现状规范
当前步骤只靠背景色区分,没有 aria-currentaria-current="step"
已完成与未开始的序号样式相同已完成显示对勾
进度条没有 ARIA 语义role="progressbar"