私の現在のコードベースでは、次の機能を使用して、ブラインドユーザに何かが発生したことを知らせるアラートを作成します。 "ボブはブルーチームに正常に割り当てられました。"508 Jaws aria警告キューを停止する方法
var create508Message = function (message, type) {
var $messageElement,
templateOptions = {
message: message
};
// create the $messageElement
switch (type){
case 'alert':
templateOptions.isAlert = true;
$messageElement = $(HBS['common/accessibilityUtil'](templateOptions));
break;
case 'status':
templateOptions.isStatus = true;
$messageElement = $(HBS['common/accessibilityUtil'](templateOptions));
break;
default:
return;
}
// trigger the message
$('body').append($messageElement);
// clean up automatically after 5 secs
setTimeout(function(){
$messageElement.remove();
}, 5000);
},
ほとんどの再利用可能なコンポーネントは、盲目のユーザーに現在の状態を知らせることになります。私はいくつかの問題に遭遇しています。たとえば、テーブルをリフレッシュしたり、ページ数を読み込んだり、フィルタを適用したり、ページ番号が変更されたりします。 これにより、Jawsは、アラートのキュー全体を読み取るため、ブラインドユーザーに複数の競合状態を読み込みます。私はそこに期待していた
は、キューを読んでから、それを防止するための方法だったような何か:
killAriaLive: function() {
$('div[aria-live]').map(function() {
$(this).removeAttr('aria-live');
$(this).removeAttr('role');
$(this).attr('hidden', 'true');
$(this).attr('aria-hidden', 'true');
});
},
が、それはどちらか動作しませんでした、それはまだ、メッセージのキュー全体を読み込みます。