Toggle

ON/OFFの切り替えを行うスイッチコンポーネント。設定のオン・オフや機能の有効化に使用します。

Basic

jui-toggle の最も基本的な使用例です。

Sizes

size プロパティを使用してコンポーネントの大きさを変更します。

Colors

color プロパティを使用してコンポーネントのカラーテーマを変更します。

States

checked 属性を使用して、スイッチのオン・オフ状態を制御します。

Disabled

関連コンポーネント

ブラウザ対応

このコンポーネントが使用しているブラウザ機能と対応状況です。

機能用途ChromeFirefoxSafariステータス
:checked + siblingON/OFF 状態スタイル全ver全ver全verBaseline
:has()親要素の状態反映105+121+15.4+Baseline 2023
color-mix()カラー生成111+113+16.4+Baseline 2023

💡 すべての機能が Baseline 2023 以降に対応しており、モダンブラウザで問題なく動作します。

Baseline 情報

機能Baseline 達成Widely Available 予定
:checked +太古の昔から対応WA 済み ✅
:has()2023年12月2026年半ば
color-mix()2023年2025年後半 ✅

アクセシビリティ

  • WAI-ARIA:
    • 内部でネイティブの <input type="checkbox"> 要素が生成され、ON/OFF を表すチェックボックスとしての標準的なセマンティクスが保証されます。
    • 全体が <label> 要素で囲まれ、htmlFor でネイティブ <input> と関連付けられます。label Prop またはデフォルト slot で渡したテキストがラベルになります(slot が優先)。
    • 視覚的なラベルを表示しない場合は、switchLabel Prop を指定するとネイティブ <input>aria-label が付与され、アクセシブルな名前を補えます(i18n 対応)。
    • トラックとつまみを描画する <span> は装飾要素です。checked 状態と value(既定値 'on')はフォーム送信に用いられます(formAssociated によりネイティブフォームへ参加します)。
  • キーボードナビゲーション:
    • ネイティブの <input type="checkbox"> を使用しているため、Tab でフォーカスでき、Space で ON/OFF を切り替えられます。
    • disabled の時はネイティブ <input>disabled 属性が付与され、フォーカス順および操作の対象から除外されます。

プロパティ

コンポーネントが受け付ける属性(Props)の一覧と詳細仕様です。

PropertyAttributeDescriptionTypeDefault
checkedcheckedチェック状態booleanfalse
colorcolorカラー"brand" | "danger" | "success" | "warning"'brand'
disableddisabled無効状態booleanfalse
labellabelラベル(slot でも代替可)string''
namenameフォーム名string''
sizesizeサイズ"lg" | "md" | "sm"'md'
switchLabelswitch-labelaria-label(i18n対応)string''
valuevalueフォーム送信値(checked 時に送信。未指定なら ‘on’)string'on'

イベント

コンポーネントから発火するカスタムイベントの一覧です。

EventDescriptionType
juiChange値が変更された時CustomEvent<{ checked: boolean; }>

スロット

コンポーネント内に子要素を挿入するためのスロット一覧です。

SlotDescription
ラベルテキスト(label Prop より優先)

シャドウパーツ

CSSから直接スタイリング可能な内部要素(Parts)の一覧です。

PartDescription
"label"ラベル
"thumb"スイッチつまみ
"track"スイッチトラック

Built with StencilJS