達成基準 3.2.1 及び達成基準 3.2.5 の失敗例 - 新しいページを読み込むのと同時に、新しいウィンドウを開いている

達成方法に関する重要な情報

この達成方法 (参考) の使用法と、この達成方法が WCAG 2.1 達成基準 (規定) とどのように関係するのかに関する重要な情報については、WCAG 達成基準の達成方法を理解するを参照のこと。適用 (対象) のセクションは、その達成方法の範囲について説明しており、特定の技術に関する達成方法の存在は、その技術があらゆる状況で WCAG 2.1 を満たすコンテンツを作成するために使用できることを意味するものではない。

適用 (対象)

新しいウィンドウを開くために使用されるスクリプト

これはSuccess Criterion 3.2.5: 要求による変化 (失敗) に関する達成方法である。

解説

製品又はサービスを宣伝するために、あるウェブサイトではページが読み込まれた時に新しいウィンドウが開く。この達成方法の目的は、ページが読み込まれたと同時に一つ以上の新しいウィンドウが開かれることによって、ページが利用者を混乱させないようにすることである。

事例

注記

この失敗例が引き起こされる可能性のある方法は複数存在する。さまざまなバージョンのユーザエージェントで別にサポートされている二つの一般的な事例が、例として以下に掲載されている。

例 1

下記の事例は、ページがロードされた時に新しいウィンドウを開くために HTML 4.01 で一般的に使用される。

訳注

HTML 4.01 は Superseded Recommendation としてマークされ、廃止された仕様である。

window.onload = showAdvertisement;
 function showAdvertisement()
 {
  window.open('advert.html', '_blank', 'height=200,width=150');
 }

例 2

下記の事例は、ページがロードされた時に新しいウィンドウを開くために XHTML で一般的に使用される。

if (window.addEventListener) { 
    window.addEventListener("load", showAdvertisement, true);
}
if (window.attachEvent) {
    window.attachEvent("onload", showAdvertisement);
}
function showAdvertisement()
{
window.open('noscript.html', '_blank', 'height=200,width=150');
}

検証

手順

  1. 新しいページを読み込む
  2. 新しいページを読み込んだ結果として新しいウィンドウが開かれたかどうかを確認する
  3. 新しいウィンドウに自動的にフォーカスが移っているかどうかを確認する

期待される結果

  • #2 及び #3 の結果が真である場合、この失敗例の条件は適用され、コンテンツは達成基準の失敗となる。