yuheijotaki.com

inert 属性とフォーカス

目次

概要

なんとなく使ったけどあまり分かっていないシリーズ inert 属性について調べながら改めて使ってみた。

inert 属性とは

ブラウザーがその要素を無視することを示すためのHTMLの論理属性
inert は配下の各要素の不活性化を行う

  • フォーカス移動
  • クリックイベント
  • アクセシビリティツリーからの除外

デモ

分かったこと

  • inert 配下の特定要素を活性化することはできない
  • inert 要素は見た目が変化しない(不活性/活性の見た目をCSSで作る必要がある)
    • MDN では考慮点として挙げられている
  • inert 要素はページ内テキスト検索に引っかからない(Mac Chromeの場合)
  • inert 以外で要素の完全な非活性化を行おうとすると細かい制御が必要
    • tabindex="-1" でも JavaScript の focus() ではフォーカス可能など
  • 一般的には inert はコンテンツのセクションなどに使用され、フォームコントロールを個別に非活性するには disabled 属性を使用するのが望ましい

所感

基本的にはケースに応じて使うべきときは有用だが、支援技術利用者と非利用者によって得られる情報にギャップが生じないようにデザイン、実装するといった注意点も把握できた。
<dialog> のおかげで必要だなと考えるケースも多い訳ではないが、意外となんでも使ってOKではないため考慮点を踏まえながら使用していきたい。

参考記事