no-autoplay-audio

自動再生される音声には、一時停止・停止または音量調節の仕組みを用意することを推奨します

manualWCAG 1.4.2 (A)確度:low重大度:moderateperceivable

ミュートされずにネイティブのcontrols属性なしで自動再生される<audio>/<video>要素と、音を再生する可能性がある<embed>、<object>、<bgsound>要素を、WCAG 1.4.2の3秒の例外に照らした手動レビューの対象として検出します。

適用範囲:mutedでないすべての<audio autoplay>要素または<video autoplay>要素。あらゆる<bgsound>と、音声や動画、またはそれを再生しうるプラグイン(Flash)を読み込む<embed>や<object>も対象です。typeがaudio/、video/、またはプラグインの種類であるか、src/dataが音声や動画のファイル拡張子で終わるものが該当します。autostartまたはautoplayがfalse(属性または<param>)の<embed>や<object>は除外します。

期待される結果:達成基準1.4.2が適用されるのは、音声が3秒より長く自動再生される場合だけです。クリップの長さは静的なマークアップからはわかりません(jsdomはメディアをデコードしません)。そのため、このルールでは、ある要素にこの達成基準がそもそも適用されるかどうかを判断できません。推測に頼るのではなく、意図的にtype: 'manual'(上限はcantTellで、failにはならない)として作成しています。ミュートされずに自動再生され、controls属性(一時停止・停止や音量調節を行うための、静的に検証できるネイティブの仕組み)を持たない要素は、決定論的な違反としてではなく、人によるレビューの対象として検出します。

例

pass
<audio autoplay controls src="x.mp3"></audio>

ネイティブのcontrolsにより、ユーザーは一時停止や音量調節ができます。

can't tell
<audio autoplay src="x.mp3"></audio>

音声がミュートされずに自動再生され、controls属性もないため、ユーザーが一時停止や停止をする手段がマークアップ上に見当たりません。

can't tell
<embed src="welcome.mp3">

音声や動画を読み込む<embed>や<object>、そしてあらゆる<bgsound>は、ページが読み込まれるとすぐに再生される可能性があり、読み取れるcontrolsやmutedもありません。autostart="false"(またはそれを示す<param>)を持つものは確認対象になりません。

確認方法

このルールが判断できない場合はcantTellを報告し、判断を人に委ねます。ルールが投げかける各質問を、理由コードごとに、答えるための手順とともにここに示します。検出結果にも同じ手順がhowToCheckとして、スキャンの言語で含まれます。出力スキーマを参照してください。

AUTOPLAY_CONTROLS_HIDDEN

  1. 音声をオンにしてページを読み込み、レポートに示された隠れた音声または動画が自動で始まるか聞いてください。
  2. 3秒を超えて音が再生される場合は、それを一時停止、停止、またはミュートする、ページ上のほかの表示されたコントロールを探してください。
  3. そのコントロールをキーボードで試し、音が止まることを確認してください。

満たす場合:3秒を超えて再生される音はないか、表示されていてキーボードで到達できるコントロールで停止またはミュートできます。

満たさない場合:コントロールに到達できない隠れたプレーヤーから音が再生され、ほかに止める手段もないため、WCAG 1.4.2を満たしません(F23)。

AUTOPLAY_NO_CONTROLS_MECHANISM

  1. 音声をオンにしてページを読み込み、レポートに示された音声または動画が自動で始まるか聞いてください。
  2. 3秒を超えて音が鳴る場合は、一時停止、停止、消音、または音量を調整する方法を探してください。利用者が期待するページの上部をまず探しますが、ページのどこにあっても認めます。
  3. そのコントロールをキーボード(Tabキーで移動し、EnterまたはSpaceを押す)とスクリーンリーダーを起動した状態で試し、音が止まるか小さくなることを確認してください。

満たす場合:3秒を超えて音が鳴らないか、ページ上のキーボードとスクリーンリーダーで使えるコントロールで一時停止、停止、または消音できます。

満たさない場合:音が自動で3秒を超えて再生され、システムの音量とは別に一時停止、停止、または音量を下げる方法がないため、WCAG 1.4.2を満たしません(F23)。

EMBEDDED_SOUND_SOURCE

  1. 音声をオンにしてページを読み込み、レポートに示されたembed、object、またはbgsoundが自動で音を再生するか聞いてください。
  2. 3秒を超えて再生される場合は、埋め込みプレーヤー内またはページの上部付近に、一時停止、停止、またはミュートのためのコントロールを探してください。
  3. そのコントロールをキーボードで試し、音が止まることを確認してください。

満たす場合:3秒を超えて自動で再生されるものはないか、到達可能なコントロールで一時停止、停止、またはミュートできます。

満たさない場合:音が自動で3秒を超えて再生され、止めたり音量を下げたりする到達可能な方法がないため、WCAG 1.4.2を満たしません(F23)。

ソースコードを見る