Novi UI
コンポーネント一覧

Radio

選択肢が5つを超えるなら Select を検討する。並べると縦に長くなりすぎる。

デモ

使い分け

こうする

  • 2〜5 個の排他的な選択肢に使う。全部が一度に見える
  • 既定値を置く。未選択のまま送られる事故が減る

こうしない

  • 1 つだけの Radio を置かない。オン / オフなら Checkbox か Switch
  • 選択肢が 6 つを超えたら Select か ComboBox にする

Props

RadioGroup の props 一覧
名前型説明
size'sm' | 'md' | 'lg'
color'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger'
labelReactNode
descriptionReactNode
errorMessageReactNode
namestring
valuestring
defaultValuestring
onChange(value: string) => void
orientation'horizontal' | 'vertical'
isDisabledboolean
isReadOnlyboolean
isRequiredboolean
isInvalidboolean
childrenReactNode
classNamesClassNames<typeof radioGroupSlots>

Slot

構成部位に data-slot が出力されます。 CSS の上書きやテストはこれを狙ってください。

  • root必須
  • label
  • list必須
  • description
  • errorMessage

アクセシビリティ

キーボード操作
キー動作
↑ ↓ ← →項目を移動して選ぶ
Tabグループの外へ
  • radiogroup として提示され、矢印キーで項目間を移動する。Tab はグループ単位で出入りする
  • キーボードだけで操作できます。フォーカスリングはコントラスト比 3:1 以上です。
  • 本文のコントラスト比は light / dark とも 4.5:1 以上を検査で保証しています。
  • prefers-reduced-motion が有効なときはアニメーションを行いません。