0
のために働いている私は、スクリーンリーダーを作るために次のコードを追加した警告メッセージの読み取り:役割は初回のみ
<aside aria-live="assertive" aria-atomic="true" role="alert" ng-show="login.hasWarning();" translate="{{message}}"></aside>
<form>
<!--form content-->
</form>
のそれはのための完璧な作品初めてエラーを再コミットした場合、更新されたエラーメッセージは再び読み込まれません。私は何が欠けていますか?
ありがとうございます。
HI Juli、お返事ありがとうございます。 –
すべての主要なスクリーンリーダー(JAWS/VoiceOver/NVDA)がそうすることを選択した理由はありますか?そして、スクリーンリーダーがそれを再び読むように、メッセージの末尾にランダムな空白スペースを追加するような方法がありますか? –
これはWAI-ARIA仕様です。 (https://www.w3.org/TR/wai-aria/states_and_properties#aria-live)SRは、ライブリージョンの変更を読み取ります。更新が変更でない場合、SRはそれを読み取りません。メッセージの先頭と末尾に空白を追加すると、VoiceOverで動作する可能性があり、おそらくJAWSでは動作しません。 JAWSが "Error 101"の代わりに "blank error 101"と言っていいかもしれないなら、$( "[aria-live]")を実行してください。 $( "[aria-live]")。テキスト( "Error 101");少なくとも読まれるだろう。 – Juli