21

Web開発者として、私が取り組んでいるプロジェクトの多くは政府の傘下にあるため、508のアクセシビリティ法、場合によってはW3Cアクセシビリティガイドラインの対象となります。これらの要件を満たしながら、JavaScriptをどの程度使用できますか?

これらの線に沿って、JavaScript、特にAJAXと、jQueryなどのパッケージを使用して、JAWS、Orcaなどの最新のアクセシビリティソフトウェアでサポートされているモーダルダイアログやポップアップなどを表示することはどの程度ですか?以前は、ルールは「Lynxで機能しない場合、スクリーンリーダーでは機能しない」のようになりました。これはまだ真実ですか、それともこれらの分野でより多くの進歩がありましたか?

編集:コンセンサスは、javascript以外のフォールバックがある限り、javascriptは問題ないようですが、スクリーンリーダーソフトウェアでのAJAXのサポートについてはまだ不確かなようです。誰かがこれについて特定の経験を持っているなら、それは最も役に立ちます。

4

6 に答える 6

14

アクセシビリティが主な関心事である場合は、常に標準に準拠した(ドキュメントタイプ定義を選択してそれに固執する)HTMLを使用してWebサイトを開始してください。Webアプリケーション(フォームの送信など)の場合は、HTTPGETとPOSTのみを使用してフォームが機能することを確認してください。完全なWebサイト/アプリケーションができたら、サイトが機能している限り、どちらかまたは両方をオフにして、CSSとJavaScriptを少し追加できます。

ここで最も重要な概念はプログレッシブエンハンスメントです。CSS / JavaScriptを使用してベルとホイッスルを追加していますが、Webサイト/アプリケーションはどちらがなくても完全に機能します。

508WAI、CSSオフ、JavaScriptオフをテストするための優れたツールで、Firefox用のWeb開発者プラグインを使用してみてください。

于 2008-11-05T21:53:59.570 に答える
2

見る

完璧な解決策にはほど遠いですが、FlashAidもご覧ください。(ただし、プログレッシブエンハンスメントを使用し、Flashが存在し、ユーザーがユーザー補助APIを使用していない場合にのみ、AJAXを使用した場合は、Windows用の合理的な解決策がある可能性があります。)

長期的には、WAI-ARIAがソリューションです。JAWS 10(ベータ版)とFirevoxである程度サポートされていますが、今日のすべてのユーザーにとっては確かに十分ではありません。

于 2008-11-25T20:59:21.227 に答える
2

答えは、物事をどのように設計するかにあると思います。JQuery には目立たないためアクセスしやすいという機能があります。秘訣は、JavaScript を使用しないブラウザーでもサービスを利用できるように、AJAX 呼び出しの周りに冗長性を持たせることです。言い換えれば、JavaScript の応答、ダイアログなどがある場合は、劣化した同等のものを用意する必要があります。

アクセシビリティを念頭に置き、両方のユース ケース (JavaScript と非 JavaScript) を適切にテストしている場合は、両方の対象者に対応するアプリケーションを作成できるはずです。

例 ($(document).ready 呼び出しは、わかりやすく簡潔にするために省略されています。

<script>
  $("#hello").click(function(){
    alert("Hi");
  });
</script>
<a href="/say_hello.htm" id="hello">Say Hello</a>

些細な例ですが、基本的にこれは、JavaScript がサポートされている場合にのみクリック JavaScript イベントを評価します。それ以外の場合は、通常のリンクのように実行され、say_hello.htm に移動します。開発者としてのあなたの仕事は、両方の結果が適切に処理されるようにすることです。

それが役立つことを願っています!

于 2008-11-05T21:44:38.933 に答える
2

プログレッシブ エンハンスメントは確かに 1 つの方法ですが、スクリーン リーダーは作業の基盤としてブラウザーを使用する傾向があるため、JavaScript アクセシビリティのすべてが控えめであることがすべてではありません。これらのブラウザーは JavaScript をサポートしているため、ページ上のスクリプトは引き続き実行されます。ページの一部をクリックすると、スクリーン リーダーが認識しないページの別の部分が変更される可能性があるため、これは AJAX に特有の問題です。

ただし、AJAX が成熟するにつれて、アクセス可能にする方法が出現しています。AJAX をアクセス可能にする最新の方法についてはWAI-ARIAを調べ、それを実装する良い方法についてはGoogle の AxsJAXを調べてください。


于 2008-11-06T00:19:29.653 に答える
0

JQuery には目立たないためアクセスしやすいという機能があります。秘訣は、JavaScript を使用しないブラウザーでもサービスを利用できるように、AJAX 呼び出しの周りに冗長性を持たせることです。言い換えれば、JavaScript の応答、ダイアログなどがある場合は、劣化した同等のものを用意する必要があります。

コードを再利用するためにこれを行う 1 つの方法は、"関数" (またはサーバー側のロジックに使用するもの) を呼び出す "単純な" ページを作成し、JSON または XML を返すことができるようにすることです。

例: /static/myform.asp (サーバー側では、/ajax/myform.asp と同じロジックを「インクルード」します)。これにより、asp を django のテンプレートとして使用できます。

もちろん、完全な機能を備えたベルとホイッスルのフレームワークを使用すると、これをはるかに簡単にすることができます (django で同じビューに html と xml の「テンプレート」を用意することを考えてください) が、同じ考え方が適用されます。

これを行うと、jQuery を使用して準備が整ったドキュメントのすべてのアンカーを反復処理し、アンカー自体のリンクを使用して onclick イベントを追加し、/static/ajax/ を置き換えることで、作業が楽になります。

これが負担が大きすぎる理由を考えられる人はいますか? この「デザイン アイデア」に重大な欠陥があるかどうかを知りたいです。

于 2008-11-08T18:32:20.460 に答える