フォーム
Segmented Control
横に並んだ選択肢からひとつだけ選ぶ、トグル式の切り替え。矢印キーで選択肢を移動できます。
ReactVueWeb Components
Storybook で見る プレイグラウンド
使用例
<SegmentedControl
aria-label="表示"
options={[{ value: 'list', label: 'リスト' }, { value: 'grid', label: 'グリッド' }]}
defaultValue="list"
/> 設定できる項目
| 名前 | 型 | 既定値 | 説明 |
|---|---|---|---|
options 必須 | SegmentedOption[] | — | The segments. |
value | string | — | Controlled selected value. |
defaultValue | string | — | Initial value when uncontrolled. |
onChange | (value: string) => void | — | Called with the newly selected value. |
name | string | — | Radio-group name (auto-generated if omitted). |
size | 'sm' | 'md' | 'lg' | md | Control size. @default 'md' |
block | boolean | false | Stretch to fill the container width. @default false |
アクセシビリティ
- 文字と背景の明るさの差をしっかり取り、読みやすくしています。ライトでもダークでも、見やすさの国際基準 WCAG の最高ランク AAA(明るさの差が 7:1 以上)を満たします。
- マウスがなくても、キーボードだけですべての操作ができます。
- いまどこを操作しているかを示す枠(フォーカスの囲み)が、常にはっきり見えます。
- 利用者が「画面の動きを減らす」設定にしているときは、過剰なアニメーションを止めます。
どのコンポーネントも、だれにとっても使いやすいように、見やすさの国際基準 WCAG の最高ランク AAA(WCAG 2.1 AAA)を満たすよう作っています。