2016-10-17 4 views
1

ソート機能を含むカスタム角度テーブルも使用しています。JAWSは更新されたaria-labelを読み取っていません

ユーザーがcolumn1をソートすると、column1にはaria-labelが設定されます。 「列1を昇順でソート」をクリックします。

ユーザーが同じヘッダーを再びクリックすると、同じ「aria-label」を「クリックして列1を降順で並べ替える」ように変更されます。

しかし、更新されたaria-labelがJAWSナレータによって検出されないことが観察される。

JAWSが更新されたaria-labelを読むことができる、またはこれに代わる方法がある場合、この問題を解決する方法はありますか?

おかげ

答えて

1

は、代替テキストが既に計算されていますが、次の2つのボタン/ DIVを定義し、不要なものを非表示にすることができます。

<th> 
    <div role="button" 
     class="ascending" 
     aria-label="Click to sort column in ascending order"></div> 
    <div role="button" 
     class="descending hidden" 
     aria-label="Click to sort column in ascending order"></div> 
</th> 
0

返事してくれてありがとうしかし、私は別の方法でそれをやった、

1.私は=

<div class="hidden" id="sortAnnouncer" role="log" aria-live"="polite"> 
     <span ng-bind="sortingChangedMessage"></span> 
</div> 
「「=」丁寧ARIA-ライブを「ログ」の役割を持っているHTMLにコードの下に追加されました列ヘッダをユーザがクリックをソートする

2は、角度の関数を呼び出して、更新は、JAWSによって検出された可変

 <th ng-click="setSortMessage('column name',direction)">Column name</th> 

     $scope.setSortMessage = function(columnName, direction) 
     { 
      $scope.sortingChangedMessage = "Click on column " + columnName + " to sort in " + direction + " order";  } 

メッセージの変更をsortingChangedMessage更新されたsortingChangedMessageの読み込みを開始しました。

この方法は私の問題を解決しました。

0

role = "alert"を追加するだけです。 これで問題は解決します。 「アラート」ロールは、動的な変更を検出するために使用されます。

関連する問題