2016-10-17 18 views
1

정렬 기능이 포함 된 맞춤 각도 테이블을 사용하고 있습니다.JAWS가 업데이트 된 아리아 라벨을 읽지 않습니다

사용자가 column1을 정렬 할 때 우리는 column1에 대해 aria-label을 다음과 같이 설정합니다. "열 1을 오름차순으로 정렬하려면 클릭하십시오".

사용자가 동일한 머리글을 다시 클릭하면 같은 아리아 레이블이 "내림차순으로 열 1을 정렬하려면 클릭"으로 변경됩니다.

그러나 업데이트 된 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. 나는 아리아 - 라이브 ""= "정중

<div class="hidden" id="sortAnnouncer" role="log" aria-live"="polite"> 
     <span ng-bind="sortingChangedMessage"></span> 
</div> 
"로그인 "= 역할을하는 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"을 추가하십시오. 문제가 해결 될 것입니다. "경고"역할은 동적 변경을 감지하는 데 사용됩니다.