適用 (対象)
全てのウェブコンテンツ技術
これは 達成基準 3.2.5: 要求による変化 (より具体的な手法を用いる十分な達成方法) に関する達成方法である。
解説
この達成方法の目的は、利用者を混乱させることなく、クライアントサイドでリダイレクトを利用可能にすることである。リダイレクトはサーバーサイドで実装するほうが望ましい (SVR1: クライアントサイドではなく、サーバーサイドで自動リダイレクトを実装するを参照)。なぜなら、サーバーサイドのリダイレクトでは、新たな URI にあるコンテンツをサーバーが送信する前に新しいコンテンツが表示されてないためである。しかし、コンテンツ制作者がサーバーサイド技術を常に管理しているとは限らず、このような場合にはクライアントサイドのリダイレクトを用いることができる。コンテンツを異なる URI から取得するようにユーザエージェントに指示するコードによって、クライアントサイドのリダイレクトは実装できる。リダイレクト元のページには、リダイレクトに関する情報のみを含めておくことが重要である。
事例
事例 1: HTML: meta 要素の refresh で、URI を指定し、タイムアウトを指定しない方法
HTML 4.x 及び XHTML 1.x では、mata 要素を用いることでクライアントサイドのリダイレクトが実装できる。 H76: クライアントサイドで瞬間的にリダイレクトするために、meta 要素の refresh を使用するを参照のこと。
HTML 4.x 及び XHTML 1.x は Superseded Recommendation としてマークされ、廃止された仕様である。
検証
手順
- 他のウェブページへの各リンク又はプログラム参照を見つける。
- 各リンク又はプログラム参照について、参照先のウェブページにクライアントサイドのリダイレクトを引き起こすコード (meta 要素やスクリプトなど) が含まれているかどうかを確認する。
- クライアントサイドのリダイレクトが生じるリンク又はプログラム参照について、リダイレクトが時間制限も遅延もなく実装され、そのページにはリダイレクトに関する情報のみが含まれているかどうかを確認する。
期待される結果
2. の結果が偽、又は 3. の結果が真である。