プレゼンテーションとしてマークされた要素が常に無視されるようにする
修正方法
正しいマークアップソリューション
presentation-role-conflict
そのルールには、テスト基準を満たす2つのマークアップ パターンがあります。
<li role="none"></li>
<li role="presentation"></li>
-
role="none"
またはrole="presentation"
の各要素が、次の特性のいずれも持っていないことを確認します。- グローバルARIA属性
- フォーカス可能(ネイティブに、または
tabindex
を使用して)
誤ったマークアップソリューション
presentation-role-conflict
ルールには、テスト基準を満たさない3つのマークアップ パターンがあります。
<li role="none" id="global-attr" aria-hidden="true"></li>
<button id="natively-focusable" role="none"></button>
<img alt="" id="tabindex" tabindex="0"/>
なぜ重要なのか
role="none"
または role="presentation"
を持つ要素のセマンティック ロールが、それぞれnoneまたはpresentationに解決されない場合があります。このような場合、要素はアクセシビリティ ツリーから削除されず (予想どおり)、スクリーン リーダーは要素を操作できるようになります。
要素がアクセシビリティ ツリーから削除されたままであることを保証するには、要素にグローバルARIA属性を追加したり、フォーカス可能にしたりしないでください。
ルールの説明
アクセシビリティ ツリーから削除されるようにマークされた要素が実際に削除されるようにします。
仕組みについて (簡単に言うと)
role=“none”
または role=“presentation”
を持つすべての要素をチェックして、グローバルARIA属性がなく、フォーカス可能でないことを確認します。