kaze風
Stepper
複数ステップの進行状況を表示するステッパーコンポーネント。ウィザードやフォームに最適。
プレビュー
- 完了アカウント情報
- 完了プロフィール設定
- 3確認
- 4完了
使いどころ
使う場面
- 登録、購入、セットアップなど、順番に進める手順の現在地を示す
- steps に { label } を並べ、step に現在の位置を 0 始まりで渡す。それより前は完了として表示する
- ステップ数は 3〜5 個が目安
使わない場面
- ステップをクリックして自由に行き来する操作。Stepper は表示専用。Tabs を使う
- 作業の進み具合の割合。Progress を使う
- 順番のない切り替え。Tabs か SegmentedControl を使う
- ステップが 6 個を超えるとき。手順を分けるか、Progress に切り替える
使い方
<Stepper
step={2}
steps={[
{ label: "アカウント情報" },
{ label: "プロフィール設定" },
{ label: "確認" },
{ label: "完了" },
]}
/>プロパティ
| 名前 | 型 | デフォルト | 説明 |
|---|---|---|---|
steps必須 | StepperStep[] | なし | ステップの配列 { label } |
step | number | なし | 現在のステップ番号(0始まり。旧 currentStep) |
型と必須かどうかはソースの型定義から自動で生成しています。表にない HTML 標準の属性(className や aria-* など)も、ルート要素にそのまま渡せます。
アクセシビリティ
- <ol> のリストで、現在のステップには aria-current="step" が付く
- 完了したステップは、チェックアイコンに加えて「完了」が読み上げ用に入る
- ステップが変わったときの通知はない。画面遷移か見出しの更新で、現在地が伝わるようにする
文言
- label は 1〜3 語の名詞にする(「情報入力」「確認」「完了」)
- 手順の最後は「完了」で終える