2017-11-14 3 views
1

私の現在のコードベースでは、次の機能を使用して、ブラインドユーザに何かが発生したことを知らせるアラートを作成します。 "ボブはブルーチームに正常に割り当てられました。"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'); 
    }); 
}, 

が、それはどちらか動作しませんでした、それはまだ、メッセージのキュー全体を読み込みます。

答えて

関連する問題