7

aria-labelaria-labelledbyおよびaria-describedby属性はすべての要素で機能すると言われていますが ( https://www.w3.org/WAI/PF/aria-1.1/states_and_properties#aria-addedby を参照) それらは a に対してのみ機能するようです。のようないくつかの要素aであり、たとえばdiv、またはpNVDA と JAWS ではありません。

問題を示すために小さなコードペンを作成しました (参照モードとフォーカス モードを使用して参照します)。

https://codepen.io/jmuheim/pen/avWbPe

たとえば、NVDA では、a要素のaria-labelaria-labelledbyは、ブラウズ モードとフォーカス モードの両方で機能するようです。ただしaria-describedby、参照モードではなく、フォーカス モードでのみ通知されます。

要素の場合input、どの属性もブラウズ モードでは機能しないように見えますが、すべてフォーカス モードで機能します。

pまたはのような「裸の」テキスト要素の場合div、どの属性も機能していないようです。

JAWSでもかなり似た動作ですが、少なくともp要素に関しては、 がある場合、aria-describedby「JAWS + alt + r」を押すと説明が読めることをアナウンスします。

これには明確なパターンが見当たらないので、これらの属性の使用方法に関するスクリーンリーダーの一般的なルールは何なのだろうか? またはもっと良い: 仕様が提案するように、なぜそれらはすべての要素に対して単純に機能しないのですか?

4

1 に答える 1

10

ARIA は、支援技術が UI を公開する方法を定義していません。アクセシビリティ API を介してロール、状態、およびプロパティを公開するためにブラウザーがどのように要求されるかを定義します。一般的な HTML と同じです。HTML 仕様では UI を定義/要求していません。これはブラウザーの判断に委ねられています。aria-label の場合 (たとえば)、aria-label がアクセシビリティ APIのアクセシブルな名前プロパティにマップされることが ARIA の要件であり、スクリーン リーダーが特定の要素でそれをアナウンスするかどうかは要件ではありません。 (つまり、聴覚 UI の一部として公開します)。一般的に守られているルールは、スクリーン リーダーがインタラクティブな要素のアクセシブルな名前とアクセシブルな説明をアナウンスすることです。ほとんどの場合、アクセシブルな名前を発表します。グループ化要素セクション化要素。ほとんどのテキスト レベル要素ではどちらも通知しません。

注:上記は、デフォルトのセマンティクスが ARIA ロールで上書きされた要素にも適用されます。たとえば、ARIA ウィジェット ロールには、ネイティブの HTML インタラクティブ要素のように、acc 名と説明の両方が通知されます。

于 2015-10-06T13:50:27.973 に答える