メインコンテンツまでスキップ

neighbor-popovers

ポップオーバートリガーと対応するターゲットが隣接していない場合に警告します。

可能な限りいつでも、ポップオーバー要素がDOM内のトリガー要素の直後に配置されるようにする。そうすることで、ポップオーバーが、スクリーンリーダーなどの支援技術のユーザーに対して、プログラム上の論理的な読み上げ順序で公開されるようになる。

HTML Living Standard 6.12.1 The popover target attributesより引用

❌ 間違ったコード例

<button popovertarget="foo">トリガー</button>
<p>知覚要素がトリガーとそのターゲットの間に存在しています。</p>
<div id="foo" popover>ポップオーバー</div>
<div>
<button popovertarget="foo">トリガー</button>
<input type="text" /><!-- フォーカス可能要素は知覚要素と見做します。 -->
</div>

<div>
<div>
<div id="foo" popover>ポップオーバー</div>
</div>
</div>

✅ 正しいコード例

<button popovertarget="foo">トリガー</button>
<div id="foo" popover>ポップオーバー</div>
<div>
<button popovertarget="foo">トリガー</button>
</div>

<div>
<div>
<div id="foo" popover>ポップオーバー</div>
</div>
</div>
<div>
<button popovertarget="foo">トリガー</button>
</div>

<div>
<div>
<img src="image.png" alt="" /><!-- 画像にアクセシブルな名前がない場合は非知覚要素と見做します。 -->
<div id="foo" popover>ポップオーバー</div>
</div>
</div>

Interface

{
"neighbor-popovers": boolean
}

Default Severity

error