1

Ajax対応のテーブルページネーションを508に準拠させようとしています(JAWSバージョン9を使用してアクセスできます)。テーブルを更新するためのコールバックを使用してjQueryajaxリクエストonclickを実行するリンクを含むテーブルヘッダーセルがあります。リンク本文内の「スペーサー」画像を使用して、ソート情報をJAWSユーザーに伝える代替テキストを使用することに成功しました(注:ツールチップはデフォルトではJAWSによって読み取られません)が、目の見えるユーザーには表示されません。ただし、JAWSユーザーが(上下の矢印キーを使用して)リンクに移動し、スペースキーを押してリンクのonclickイベントを初期化すると、2つの問題が発生します。

  1. テーブルの内容が更新されたことを示す情報はJAWSユーザーに伝達されません。
  2. コンテンツが更新されると、JAWSユーザーが実行したばかりのリンクが再読み取りされますが、テーブルが更新される前の代替テキストが再読み取りされるため、ユーザーは次のフィールドに進んでから、のリンクに戻る必要があります。更新された代替テキストを読み取るためのJAWS。

アクセス可能なAjaxページ付けを実装した経験のある人からのヒントをいただければ幸いです。私のテーブルヘッダーのセルコードは次のとおりです。

<th title="Sorted column, toggle sort from Ascending to Descending" controller="xxxManagement" id="xxxName" scope="col" class="sortable sorted asc" >
    <a href="/app/xxxManagement/listXXX?max=20&sort=name&order=desc" onclick="toggleLoadingAnimation();jQuery.ajax({type:'POST',data:{'controller': 'xxxManagement','max': '20','sort': 'name','order': 'desc'}, url:'/app/xxxManagement/listXXX',success:function(data,textStatus){jQuery('#xxxList').html(data);},error:function(XMLHttpRequest,textStatus,errorThrown){},complete:function(XMLHttpRequest,textStatus){toggleLoadingAnimation()}});return false;" title="Sorted column, toggle sort from Ascending to Descending">
        Name
        <img src='/app/images/pixel.gif' alt='Sorted column, toggle sort from Ascending to Descending' />
    </a>
</th>
4

2 に答える 2

1

残念ながら、簡単な答えはあなたが運が悪いということだと思います。Jawsでコンテンツが更新されたときに通知される問題が頻繁に発生し、Jawsの仮想バッファを更新するために画面の更新が必要になる場合があります。Jaws 9もやや時代遅れのバージョンですが、そのバージョンで標準化されている部門の内部アプリを作成している場合は、それに対処する必要があるかもしれません。私は2つのことを提案します。オプション1は、先月リリースされたjawsバージョン12をダウンロードすることです。それで問題が解決した場合は、アップグレードを正当化できますか?オプション2はWAI-ARIAを調べることですこれにより、テーブルをライブリージョンとしてマークし、更新を自動的に通知できるようになります。私はこれについての経験はありませんが、うまくいくかもしれません。Jaws 9がWAI-ARIAをどれだけうまくサポートしているかはわかりませんが、jaws10はかなり良い仕事をしているようです。WAI-ARIAのスクリーンリーダーサポートの比較については、このブログエントリを参照してください。リストされているテストをJaws9でいつでも実行して、WAI-ARIAサポートがどのようなものかを知ることができます。

于 2010-11-19T20:01:05.030 に答える
0

これはあなたの特定の質問に対処しないかもしれませんが、プログレッシブエンハンスメントで実装すれば、問題は解決すると思います。つまり、従来の(非ajax)リンクを介してページナビゲーションを機能させてから、それらのリンクでajaxクリックイベントを接続します。

JS以外のブラウザまたはスクリーンリーダーを使用している場合は、次のページに移動するだけです。通常の最新のブラウザを使用している場合は、ajaxエクスペリエンスが提供されます。アクセシビリティは、ajaxエクスペリエンスを失うことなく組み込まれています。

于 2010-11-19T20:00:31.423 に答える