2016-10-17 40 views
1

我們正在使用包含排序功能的自定義角度表。JAWS未讀取更新的詠歎調標籤

當用戶對column1進行排序時,我們將第1列的aria-label設置爲: 「單擊以按升序對column1排序」。

如果用戶再次點擊相同的標題,我們將更改相同的詠歎調標籤爲「點擊以降序對column1進行排序」。

但觀察到更新的aria-label未被JAWS解說員檢測到。

我們如何解決這個問題,JAWS可以閱讀更新的aria-label或者有沒有其他的選擇?

謝謝

回答

1

替代文本已被計算,但您可以定義兩個按鈕/ 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.我已經添加下面的代碼到HTML中有角色=「日誌」詠歎調活「=」禮貌」

<div class="hidden" id="sortAnnouncer" role="log" aria-live"="polite"> 
     <span ng-bind="sortingChangedMessage"></span> 
</div> 

2.當在列標題用戶點擊進行排序,調用函數的角度和更新sortingChangedMessage由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。

此方法解決了我的問題。

0

只需添加role =「alert」。 它會解決你的問題。 「警報」角色用於檢測動態更改。