Select
Selectは、ユーザーがオプションのリストから1つを選択するために使用されるコンポーネントです。
Selectは、アクセシビリティに関してWAI-ARIA - Combobox Patternに従います。
FormControlを使用しない場合は、Selectにaria-labelまたはaria-labelledbyを設定します。
<Select placeholder="キャラクターを選択" aria-label="キャラクター"><Option value="孫悟空">孫悟空</Option><Option value="ベジータ">ベジータ</Option><Option value="フリーザ">フリーザ</Option></Select>
<VStack gap="sm"><Heading as="h3" id="label">キャラクター</Heading><Select placeholder="キャラクターを選択" aria-labelledby="label"><Option value="孫悟空">孫悟空</Option><Option value="ベジータ">ベジータ</Option><Option value="フリーザ">フリーザ</Option></Select></VStack>
キーボード操作
| キー | 説明 | 状態 |
|---|---|---|
ArrowUp | 無効ではない前の項目をフォーカスします。最初の項目の場合は無効ではない最後の項目をフォーカスします。 | - |
ArrowDown | 無効ではない次の項目をフォーカスします。最後の項目の場合は無効ではない最初の項目をフォーカスします。 | - |
Home | 無効ではない最初の項目をフォーカスします。 | - |
End | 無効ではない最後の項目をフォーカスします。 | - |
Space, Enter | フォーカスされている項目を選択し、リストボックスを閉じます。 | closeOnSelect={true} |
Escape | リストボックスを閉じます。 | closeOnEsc={true} |
ARIAロールと属性
| コンポーネント | ロールと属性 | 使い方 |
|---|---|---|
SelectField 内部 | role="combobox" | コンボボックスであることを示します。 |
aria-haspopup="listbox" | リストボックスが存在することを示します。 | |
aria-activedescendant | フォーカスされた項目のidを設定します。 | |
aria-expanded | リストボックスが開いている場合は"true"を設定し、閉じている場合は"false"を設定します。 | |
aria-controls | リストボックスが開いている場合は関連したSelectListのidを設定し、閉じている場合はundefinedを設定します。 | |
aria-readonly | isReadOnlyが設定されている場合は"true"を設定します。 | |
aria-disabled | isDisabledが設定されている場合は"true"を設定します。 | |
aria-invalid | isInvalidが設定されている場合は"true"を設定します。 | |
aria-required | isRequiredが設定されている場合は"true"を設定します。 | |
SelectList 内部 | role="listbox" | リストボックスであることを示します。 |
id | SelectFieldと関連付けるために使用するid。 | |
aria-hidden | リストボックスが開いている場合は"true"を設定し、閉じている場合は"false"を設定します。 | |
OptionGroup | role="group" | グループであることを示します。 |
aria-labelledby | 関連したOptionGroupLabelのidを設定します。 | |
OptionGroupLabel 内部 | role="presentation" | プレゼンテーションであることを示します。 |
id | OptionGroupと関連付けるために使用するid。 | |
Option | role="option" | オプションであることを示します。 |
id | SelectFieldと関連付けるために使用するid。 | |
aria-selected | オプションが選択されている場合は"true"を設定し、選択されていない場合は"false"を設定します。 | |
aria-disabled | isDisabledが設定されている場合は"true"を設定します。 |
GitHubでこのページを編集する

