Checkbox

Checkboxは、ユーザーが複数の選択肢の中から複数の値を選択するために使用されるコンポーネントです。

使い方

import { Checkbox, CheckboxGroup } from "@yamada-ui/react"
<Checkbox />
<CheckboxGroup.Root>
  <CheckboxGroup.Item />
</CheckboxGroup.Root>

グループ化する

itemsを使う

バリアントを変更する

サイズを変更する

デフォルト値を設定する

デフォルト値を設定する場合は、defaultValueに値を設定します。

デフォルトで選択済みにする

デフォルトで選択済みにする場合は、defaultCheckedをtrueに設定します。

中間状態にする

中間状態にする場合は、indeterminateをtrueに設定します。

選択数を制限する

選択数を制限する場合は、maxに数値を設定します。

方向を変更する

方向を変更する場合は、orientationに"horizontal"または"vertical"を設定します。デフォルトは"vertical"です。

形を変更する

形を変更する場合は、shapeに"rounded"または"square"を設定します。デフォルトは"rounded"です。

無効にする

無効にする場合は、disabledをtrueに設定します。

読み取り専用にする

読み取り専用にする場合は、readOnlyをtrueに設定します。

無効な入力にする

無効な入力にする場合は、invalidをtrueに設定します。

ボーダーの色を変更する

ボーダーの色を変更する場合は、focusBorderColorまたはerrorBorderColorに値を設定します。

アイコンをカスタマイズする

アイコンをカスタマイズする場合は、checkedIconにReactNodeを設定します。

カスタムコンポーネントを使う

制御する

Props

アクセシビリティ

Checkboxは、アクセシビリティに関してWAI-ARIA - Checkbox Patternに従います。

Field.Rootを使用しない場合は、CheckboxGroup.Rootにaria-labelまたはaria-labelledbyを設定します。

<CheckboxGroup.Root aria-label="キャラクター">
  <CheckboxGroup.Item value="sora">ソラ</CheckboxGroup.Item>
  <CheckboxGroup.Item value="riku">リク</CheckboxGroup.Item>
  <CheckboxGroup.Item value="kairi">カイリ</CheckboxGroup.Item>
</CheckboxGroup.Root>
<VStack gap="sm">
  <Text as="h3" id="label">
    キャラクター
  </Text>

  <CheckboxGroup.Root aria-labelledby="label">
    <CheckboxGroup.Item value="sora">ソラ</CheckboxGroup.Item>
    <CheckboxGroup.Item value="riku">リク</CheckboxGroup.Item>
    <CheckboxGroup.Item value="kairi">カイリ</CheckboxGroup.Item>
  </CheckboxGroup.Root>
</VStack>

キーボード操作

キー説明状態
Spaceフォーカスされたチェックボックスのチェック状態を切り替えます。-

ARIAロールと属性

要素ロールと属性使い方
div.ui-checkbox__grouprole="group"グループであることを示します。
aria-labelledbyCheckboxGroup.RootがField.Root内にあり、Field.RootにlabelまたはField.Labelが設定されている場合は、そのidを設定します。
aria-describedbyCheckboxGroup.RootがField.Root内にあり、Field.RootにerrorMessageまたはhelperMessage、もしくはField.ErrorMessageまたはField.HelperMessageが設定されている場合は、そのidを設定します。
label.ui-checkbox__root > inputaria-checkedチェックボックスがチェックされている場合は"true"を設定し、チェックされていない場合は"false"を設定し、indeterminateが設定されている場合は"mixed"を設定します。
aria-describedbyCheckboxがField.Root内にあり、Field.RootにerrorMessageまたはhelperMessage、もしくはField.ErrorMessageまたはField.HelperMessageが設定されている場合は、そのidを設定します。
aria-disabledreadOnlyが設定されている場合、またはチェックボックスが未選択でグループのmaxに達した場合に"true"を設定します。disabledはネイティブのdisabled属性で表現されます。
aria-invalidinvalidが設定されている場合は"true"を設定します。
aria-requiredrequiredが設定されている場合は"true"を設定します。
div.ui-checkbox__indicatoraria-hidden要素をアクセシビリティツリーから除外します。

類似のコンポーネント

NativeSelect

NativeSelectは、ユーザーがオプションのリストから1つの値を選択するために使用されるコンポーネントです。ブラウザ(ユーザーエージェント)によって提供されるネイティブなドロップダウンリストを表示します。

Radio

Radioは、ユーザーが複数の選択肢の中から1つの値を選択するために使用されるコンポーネントです。

Rating

Ratingは、ユーザーが評価を行うために使用させるコンポーネントです。

SegmentedControl

SegmentedControlは、ユーザーが複数の選択肢の中から1つを選択するために使用されるコンポーネントです。

Switch

Switchは、オンとオフの状態を切り替えるために使用されるコンポーネントです。

CheckboxCard

CheckboxCardは、ユーザーが複数の選択肢の中から複数の値を選択するために使用されるコンポーネントです。

RadioCard

RadioCardは、ユーザーが複数の選択肢の中から1つの値を選択するために使用されるコンポーネントです。

Toggle

Toggleは、オンまたはオフの2つの状態を持つコンポーネントです。

使用しているコンポーネント・フック

使用されているコンポーネント・フック