::search-text擬似要素とは?2026年Web標準のCSS検索ハイライト作例

ページ内検索がCSSで操れる時代へ
2026年、ブラウザのページ内検索に革命が起きようとしている。::search-text擬似要素がそれを象徴する。ユーザーがCtrl+Fで検索したとき、ブラウザが自動でハイライトする部分を、開発者がCSSで自由にデザインできるようになる。
従来、この検索ハイライトはブラウザのデフォルトスタイル(多くの場合、蛍光イエロー)で固定されていた。テキストエディタやドキュメントビューアでは、検索結果の強調表示はUXの根幹をなす。しかしWebでは、開発者がそのスタイルに介入する手段がなかった。::search-textはこの長年のギャップを埋める。
何ができるのか:具体的なCSS制御
::search-textは、現在のページ内検索でマッチしたテキスト範囲にマッチする。疑似要素としては::selection(ユーザーが選択したテキスト)に似ているが、検索エンジンによるマッチという点が異なる。
以下のようなプロパティが適用できる:
background-color— ハイライト色を任意に変更color— テキスト色の変更text-decoration— 下線や取り消し線の追加border— 枠線の付与outline— アクセシビリティのための視覚的強調
例えば、ダークテーマのサイトではデフォルトの黄色ハイライトが浮いて見える。これをサイトのテーマカラーに合わせて調整できる。また、アクティブな検索結果(現在フォーカスされているマッチ)とその他のマッチを区別できるように、:current疑似クラスと組み合わせる実装も議論されている。
なぜ今この機能が重要なのか
3つの背景がある。第一に、プログレッシブWebアプリ(PWA)の台頭。PWAはネイティブアプリに近いUXを要求する。ページ内検索のスタイル制御は、ブラウザらしさを排除しアプリらしさを高めるために不可欠だ。
第二に、アクセシビリティの高まり。視覚障害者や色覚特性を持つユーザーにとって、デフォルトの検索ハイライトは見づらい場合がある。WCAG 2.2の達成基準「1.4.1 色の使用」では、情報を伝達する手段として色だけに依存しないことを求めている。::search-textを使えば、色に加えてテキスト装飾やアイコンで検索結果を示せる。
第三に、エディタやドキュメント系Webアプリの需要増。Markdownエディタやコードレビューツールでは、検索機能がコア機能だ。これらは::search-textを用いて、IDEに近い検索体験を提供できる。
今の実装状況と注意点
2026年5月時点で、::search-textはChrome Canaryで試験的に実装されており、Baselineにはまだ含まれていない。CSS-TricksのAlmanacページによれば、CSS Pseudo-Elements Level 4仕様の一部として策定が進んでいる。SafariとFirefoxの実装状況は未定だが、WebKitのプロジェクトページでは議論が始まっている。
開発者が今すべきことは、以下3つ:
- プログレッシブエンハンスメントとして導入する準備 — 機能が使える場合にのみ適用し、使えない場合はデフォルトのハイライトにフォールバックする。@supportsルールで検出可能だ。
- ユーザーの期待値を壊さない配色を選ぶ — あまりに控えめなハイライトは検索体験を損なう。デフォルトの黄色と同等以上のコントラスト比(少なくとも3:1)を維持する。
- アクティブマッチと非アクティブマッチの区別をCSSで設計する — 将来的に
::search-text:currentが実装される可能性を見越して、スタイルガイドに両方のバリエーションを用意しておく。
実装例:ダークテーマ対応の検索ハイライト
@supports selector(::search-text) {
::search-text {
background-color: #ffd700;
color: #000;
border-radius: 2px;
outline: 2px solid #b8860b;
}
/* ダークテーマで調整 */
@media (prefers-color-scheme: dark) {
::search-text {
background-color: #b8860b;
color: #fff;
outline: 2px solid #ffd700;
}
}
}
このコードのポイント:@supports selector()で機能の有無を判定。ダークテーマでは背景色と文字色を反転し、輪郭線で検索結果を視認しやすくしている。
将来:View Transitionsとの統合の可能性
2026年はCross-Document View Transitionsの実装が進む年でもある。筆者は、将来的に::search-textとView Transitionsが組み合わさり、検索結果から結果へスムーズにアニメーション遷移するような体験が生まれると予想する。例えば、長文記事で検索した単語をハイライトし、キーボードで移動するたびにビューポートが滑らかにスクロールする。これが実現すれば、ドキュメントサイトやブログのUXは一段階進化する。
