サーバサイドのスクリプト言語全て
制限時間に関する達成基準の例外に当てはまらないコンテンツ
これは、次の達成基準に関連する不適合事例である:
Refreshヘッダは、HTTP/1.1、HTTP/1.0ともに定義されていないが、多くのブラウザでサポートされている(Windows のFirefox 1.0とIE 6で検証。)
開発者は、サーバサイドのスクリプト言語を使って、標準ではないHTTPヘッダ「Refresh」を、タイムアウト(単位:秒)及び指定されたタイムアウト時間後にリダイレクトするURIとともに指定することができる。もし時間間隔が短すぎると、全盲の人はスクリーンリーダーでページを読み終わらないうちに、予期せずページが更新されてしまい、スクリーンリーダーがページの先頭から読み上げてしまう。目の見える利用者も、予期しないリフレッシュによって混乱させられる。
HTTPヘッダは、Refresh: {秒で表された時間}; url={新しい場所のURI}
のように設定する。URIを省略することも可能で、周期的にページを更新し続けることになる。これも同様の問題を引き起こす。この場合に設定されるHTTPヘッダはRefresh: {秒で表された時間}
となる。
次の事例は、時間によるサーバサイドのリダイレクトがJavaサーブレット又はJavaServer Pages(JSP)により実装されているため、不適合である。
コード例:
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
response.setHeader("Refresh", "10; URL=TargetPage.html");
out.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
out.println("<html><head><title>リダイレクト</title></head><body>");
out.println("<p>このページは10秒後にリダイレクトします。</p>");
out.println("</body></html>");
}
次の事例は、時間によるサーバサイドのリダイレクトがVBScriptを伴ったActive Server Pages(ASP)により実装されているため、不適合である。
コード例:
<% @Language = "VBScript" %>
<% option explicit
Response.Clear
Response.AddHeader "Refresh", "5; URL=TargetPage.htm"
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
…
<!--リダイレクトが実行される前に表示されるコンテンツのHTMLソース-->
この参考リソースは、あくまでも情報提供のみが目的であり、推薦などを意味するものではない。
ウェブページが描画された際、利用者の行動を伴わず、一定時間後に自動的に他のページへリダイレクトされる。
そのようなリダイレクトがみつかった場合、この不適合の条件が適用され、そのコンテンツは達成基準を満たしていないことになる。
日本語訳における注記:
この文書の正式版は、W3Cサイトで公開されている英語の文書であり、この日本語訳には誤訳が含まれていることもありえます。なお、文中にある「日本語訳における注記」は、W3Cの原文にはないものであり、日本語訳監修者が追記したものです。