Checkbox

フォームで複数の選択肢から1つ以上を選択するためのコンポーネント。利用規約への同意やフィルター設定に使用します。

Basic

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

States

checked 属性を使用して、チェックボックスの選択・未選択状態を制御します。

Disabled

disabled プロパティを使用してチェックボックスを無効化します。

関連コンポーネント

  • Radio — 複数の選択肢から1つを選択するラジオボタンコンポーネント
  • Toggle — オン/オフを切り替えるトグルスイッチコンポーネント
  • Form Field — フォーム要素にラベルやバリデーションを付与するラッパーコンポーネント

ブラウザ対応

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

機能用途ChromeFirefoxSafariステータス
:checked + siblingチェック状態スタイル全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"> 要素が生成され、チェックボックスとしての標準的なセマンティクス(チェック状態のスクリーンリーダーへの伝達など)が保証されます。
    • 全体が <label> 要素で囲まれ、htmlFor でネイティブ <input> と関連付けられます。label Prop またはデフォルト slot で渡したテキストがアクセシブルな名前になります(slot が優先)。
    • チェックマークを描画する装飾用の <span> / <svg> には aria-hidden="true" が付与され、支援技術からは無視されます。
    • checked<input>checked 属性に反映され、name / value はフォーム送信に用いられます(formAssociated によりネイティブフォームへ参加します)。
  • キーボードナビゲーション:
    • ネイティブの <input type="checkbox"> を使用しているため、Tab でフォーカスでき、Space でチェックの ON/OFF を切り替えられます。
    • disabled の時はネイティブ <input>disabled 属性が付与され、フォーカス順および操作の対象から除外されます。

プロパティ

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

PropertyAttributeDescriptionTypeDefault
checkedcheckedチェック状態booleanfalse
disableddisabled無効状態booleanfalse
labellabelラベルテキスト。Slotでも代替可string''
namenameフォームのname属性string''
valuevalueフォーム送信時の値string''

イベント

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

EventDescriptionType
juiChangeチェック状態が変更されたときに発火するイベントCustomEvent<{ checked: boolean; }>

スロット

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

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

シャドウパーツ

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

PartDescription
"checkbox"チェックボックスの外枠(スクエア)
"label"ラベル要素

Built with StencilJS