meta-refresh-timing-absent

ページで時間指定のmeta refreshを使用してはいけません

automaticWCAG 2.2.1, 2.2.4, 3.2.5 (AAA)確度:high重大度:seriousoperable

<meta http-equiv="refresh">が、20時間以下の正の遅延を課していないことを確認します。

適用範囲:文書順で最初の、content属性の先頭の遅延値を解析できる<meta http-equiv="refresh">要素に適用されます。HTMLの共通の宣言的リフレッシュ手順では、文書が処理するのは最初の有効なmeta refreshだけです。それ以降のもの(有効かどうかにかかわらず)はブラウザーが一切処理しない不活性なマークアップなので、評価しません。

期待される結果:遅延が0(即時のリダイレクトで、ユーザーが読んでいる途中で巻き込まれることはない)であるか、20時間を超えています。それ以外の正の遅延では、ユーザーが開始しておらず、一時停止・停止・延長もできないタイマーによってページがリフレッシュまたはリダイレクトされます。WCAG 2.2.1(タイミング調整可能)は、これらを可能にすることを求めています。

検出結果が報告する内容:

  • delay:ページが更新またはリダイレクトされるまでの時間で、秒単位です。failになるのは0より大きく72000(20時間)以下の場合です。

これらのdata.detailsのフィールドは、検出結果を読み解き、再現するのに役立ちます。reasonCodeと、出力スキーマで安定と明記された一部のフィールドを除き、安定した契約ではありません。マイナーリリースで名前が変わったり、なくなったりすることがあるため、これらに依存した実装はしないでください。

例

pass
<meta http-equiv="refresh" content="90000; URL=/x">

20時間(72000秒)を超える遅延は、WCAG 2.2.1の例外3により除外されます。

fail
<meta http-equiv="refresh" content="30; URL=/x">

30秒の遅延により、ユーザーが一時停止・停止・延長できないタイマーでページがリフレッシュされます。

ソースコードを見る