Search Input

検索キーワードの入力に特化したフォームコンポーネントです。検索アイコンやクリアボタンを内蔵しています。

Basic

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

関連コンポーネント

  • Input — 汎用テキスト入力コンポーネント
  • Form Field — ラベルやバリデーションを付加するラッパー

アクセシビリティ

  • WAI-ARIA:
    • 内部でネイティブの <input type="search"> 要素を使用しており、検索入力のセマンティクスが保証されます。
    • search-label プロパティで aria-label を設定でき、ラベルがない場合でもスクリーンリーダーに用途を伝えられます(デフォルト: 'Search')。
    • クリアボタンには clear-label プロパティで aria-label が設定され(デフォルト: 'クリア')、支援技術からボタンの役割を認識できます。
  • キーボードナビゲーション:
    • Escape キーで入力値をクリアできます。
    • Tab キーで入力フィールドへのフォーカス移動が可能です。
    • クリアボタンもキーボードでフォーカス・操作可能です。

CSS カスタムプロパティ

このコンポーネント固有のカスタムプロパティはありません。グローバルのデザイントークン(--jui-color-border, --jui-color-text, --jui-radius-md, --jui-transition-fast 等)を参照してスタイルが適用されます。

ブラウザ対応

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

機能用途ChromeFirefoxSafariステータス
:focus-withinフォーカス時のスタイル変更60+52+10.1+Baseline 2017
::slotted()Shadow DOM スロットスタイル53+63+10+Baseline 2018
CSS Custom Propertiesデザイントークン49+31+9.1+Baseline 2016
prefers-reduced-motionアニメーション抑制74+63+10.1+Baseline 2020

💡 いずれの機能も Baseline 2020 以前に到達しており、主要ブラウザで広く対応済みです。

Baseline 情報

機能Baseline 達成Widely Available 予定
:focus-within2017年2020年 ✅
::slotted()2018年2021年 ✅
CSS Custom Properties2016年2019年 ✅
prefers-reduced-motion2020年2023年 ✅

プロパティ

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

PropertyAttributeDescriptionTypeDefault
clearLabelclear-labelクリアボタンの aria-labelstring'クリア'
debouncedebounceデバウンス遅延(ms)number300
disableddisabled無効状態booleanfalse
loadingloadingローディング状態booleanfalse
namenameフォーム識別用の name 属性stringundefined
placeholderplaceholderプレースホルダーstring'Search...'
searchLabelsearch-labelaria-label(i18n対応)string'Search'
sizesizeサイズ"lg" | "md" | "sm"'md'
valuevalue入力値string''

イベント

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

EventDescriptionType
juiClearクリアボタン押下時CustomEvent<{ previousValue: string; }>
juiSearchデバウンス後に発火CustomEvent<{ value: string; }>

シャドウパーツ

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

PartDescription
"clear"クリアボタン
"icon"検索アイコン
"input"input 要素

Built with StencilJS