IT用語集 › Web › フォーカストラップ

フォーカストラップ

Web Svenska → 更新: 2026-10-21

キーボードフォーカスを有効な要素(通常はモーダル/ダイアログ)の内側に閉じ込め、Tab操作がその中で循環し、背景へ「漏れ出さない」ようにする手法。モーダルのアクセシビリティの基本要件で、これがないとスクリーンリーダーやキーボードの利用者は迷子になる。

問題は、モーダルが開いているのに、フォーカスがオーバーレイの背後にある(隠れた)背景へ移れてしまうことだ。キーボードやスクリーンリーダーの利用者は、見えない内容の中に入り込み、現在位置を見失う。フォーカストラップでは、モーダルが開くとフォーカスをその中へ移し、Tab/Shift+Tabは内側のフォーカス可能な要素の間だけで循環させ(背景には届かない)、閉じるときには開いた要素へフォーカスを戻す(Escで閉じられるようにもする)。これはアクセシブルなダイアログに対するWCAGの要件である。

朗報として、組み込みの <dialog> 要素と showModal() を使えば、フォーカストラップが正しく、しかも無料で手に入る。自作モーダルを作るのをやめてこちらを使う大きな理由だ。自作では、誤ったフォーカストラップがアクセシビリティの典型的なバグになる。自前で実装する場合向けには focus-trap のようなライブラリもある。

← 用語集に戻る