MDN docs は、次のようにaria-label
を使用する必要があると言います。
<button aria-label="Close" onclick="myDialog.close()">X</button>
スクリーンリーダーにアクセスできませんが、aria-label
が内部を置き換えない置き換えないことを示唆するスタックオーバーフローに関するコメントを見ました内部内容、それだけプレフィックスです。したがって、上記の場合は「Close X」と表示されますが、これは明らかに理想的ではありません。
これは本当ですか?もしそうなら、解決策は何ですか?次のように、内部コンテンツを[aria-hidden=true]
要素でラップするのは理にかなっていると思います。
<button aria-label="Close" onclick="myDialog.close()"><span aria-hidden="true">X</span></button>
...しかし、実際のスクリーンリーダーではテストできないので注意が必要です。
ほとんどの状況では、aria-labelが読み上げられますの代わりにリンクのテキスト。
これは実際には標準のテストシナリオであり、powermapperに関する広範なテスト結果があります。 https://www.powermapper.com/tests/screen-readers/labelling/a-aria-label/
テスト結果ページでは、スクリーンリーダーの出力を聞くこともできます。
最終編集
ブログの投稿や仕様の誤解に頼るのではなく、結論に達してARIAのすべてを覚えようとするのではなく、実際にテストする方がよいと思います。
たとえば、要素のアクセス可能な名前が何であるかをテストできます。 Googleを使用している場合Chrome(うまくいけば、他のブラウザにはアクセシビリティテストツールが含まれています):
これは、Windowsナレーターを使用して、Microsoft EdgeとInternet Explorerで何が起こるかです。
aria-label
は、実際には次のようにコンテンツのプレフィックスです。aria-label
値] [ボタンタグ内のテキスト] [ボタンの後のコンテンツ]。aria-label
値。次のように、ボタン内のコンテンツではありません。aria-label
値] "ボタン"。お役に立てれば。