フォーム

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)を満たすよう作っています。