【実務・中級編】インライン要素を含むフォーカストラップ – HTML実践ガイド

モーダル内の「迷子」を救え:インライン要素を跨ぐフォーカストラップの実装術

フロントエンド開発の現場で、モーダルやドロップダウンを実装した際、「Tabキーを押すとフォーカスがモーダルの外へ突き抜けてしまう」という問題に直面したことはないだろうか?

一見些細なUXの欠陥に見えるが、これはスクリーンリーダーを使っているユーザーや、キーボード操作が必須のユーザーにとっては「行き止まりのない迷路」に閉じ込められるに等しい、重大なアクセシビリティの欠陥だ。

今回は、特にインライン要素が混在する複雑なモーダル内でも、確実にフォーカスを捕縛(トラップ)する実装パターンについて、ブラウザの挙動という「深層」に触れながら解説しよう。

—

ブラウザはどうやってフォーカスを追いかけているのか

そもそも、ブラウザは「次にどこにフォーカスを当てるか」を、DOMツリーの順序と各要素の `tabindex` 属性、そして「インタラクティブであるか」という内部フラグに基づいて判定している。

`` や `

コメント

タイトルとURLをコピーしました