Toolbar
タブストップが1つで、矢印キーのナビゲーションに対応するコントロールのグループ。
- ブラウザー
- Chrome 123+Firefox 121+Safari 17.5+
- ティア
- 1
- 圧縮後のサイズ
- 2.04 kB
- 強制レイアウトの上限
- 0 ms
- axe の上限
- 0
- SSR 対応
- はい
- 公開された契約
- テストハーネス
プレイグラウンド
Toolbar
デフォルト
API
Toolbar.Root
| Prop | 型 | 既定値 | 説明 |
|---|---|---|---|
dir | "ltr" | "rtl" | — | 左右の矢印キーの動作を反転させる書字方向。 |
loop | boolean | true | 矢印キーでの移動を最初と最後の項目で循環させるか。 |
orientation | "horizontal" | "vertical" | "both" | "horizontal" | 項目間のフォーカス移動に使う矢印キーと、data-orientationの値。 |
Toolbar.Button
| Prop | 型 | 既定値 | 説明 |
|---|---|---|---|
selected | boolean | — | ボタンのトグル状態。aria-pressedを設定し、trueならdata-selectedと主要アクションの塗りつぶしも適用します。 |
children | ReactNode | — | ボタンの内容。 |
className | string | — | ボタン要素に適用するクラス。 |
disabled | boolean | false | ボタンを無効にし、ロービングフォーカスの移動順序から外します。 |
Toolbar.Link
| Prop | 型 | 既定値 | 説明 |
|---|---|---|---|
children | ReactNode | — | リンクの内容。 |
className | string | — | アンカー要素に適用するクラス。 |
href* | string | — | リンクの移動先。JavaScriptなしで移動します。 |
Toolbar.Separator
| Prop | 型 | 既定値 | 説明 |
|---|---|---|---|
className | string | — | <hr>要素に適用するクラス。 |
orientation | "horizontal" | "vertical" | "vertical" | 区切りにaria-orientationとdata-orientationを設定します。 |
Toolbar.ToggleGroup
| Prop | 型 | 既定値 | 説明 |
|---|---|---|---|
id* | string | — | 決定的なIDと、入力グループで共有する名前の基になる値。 |
type | "single" | "multiple" | "single" | トグルを1つだけ押せるか、複数押せるか。ラジオ入力またはチェックボックス入力を選びます。 |
items* | readonly ToggleGroupItem[] | — | 各項目は{ value, label, disabled? }です。 |
defaultValue | string | readonly string[] | undefined | — | 初回レンダリング時の押下状態。非制御なのでJavaScriptなしでも維持されます。 |
orientation | "horizontal" | "vertical" | "horizontal" | トグルを並べる方向。 |
className | string | — | グループのルートに適用するクラス。 |
キーボード
| キー | 操作 |
|---|---|
| Tab | コントロールへ、またはコントロールからフォーカスを移動 |
| Enter / Space | フォーカス時に実行(ボタン型のコントロール) |
アクセシビリティ
可能な限りセマンティックHTMLを使います。プレイグラウンドで描画されたマークアップを確認できます。ARIAはネイティブ要素だけでは足りない場合にのみ追加します。
スタイリングのフック
data-disabled