no-autoplay-audio
El audio con reproducción automática debería ofrecer un mecanismo de pausa, detención o control de volumen
Marca los elementos <audio>/<video> que se reproducen automáticamente sin silenciar y sin atributo controls nativo, y los elementos <embed>, <object> o <bgsound> que pueden reproducir sonido, para revisión manual de si el sonido se reproduce durante más de 3 segundos.
Ámbito de aplicación. Cualquier elemento <audio autoplay> o <video autoplay> que no sea muted. También cualquier <bgsound>, y cualquier <embed> u <object> que cargue sonido o vídeo, o un plugin (Flash) que pueda reproducirlo: su type es audio/, video/ o un tipo de plugin, o su src/data termina en una extensión de archivo de sonido o vídeo. Se excluye un <embed> u <object> con autostart o autoplay a false (atributo o <param>).
Resultado esperado. El SC 1.4.2 solo se aplica cuando el audio se reproduce automáticamente durante MÁS de 3 segundos; la duración del clip no se puede conocer a partir del marcado estático (jsdom no decodifica medios), por lo que esta regla no puede determinar siquiera si el SC se aplica a un elemento dado. Está escrita deliberadamente como type: 'manual' (limitada a cantTell, nunca fail) en lugar de adivinar: un elemento con reproducción automática sin silenciar y sin atributo controls (el mecanismo nativo y verificable estáticamente para pausar/detener o ajustar el volumen) se marca para revisión manual en lugar de tratarse como una infracción determinista.
Ejemplos
<audio autoplay controls src="x.mp3"></audio>
El atributo controls nativo le da al usuario un mecanismo de pausa/volumen.
<audio autoplay src="x.mp3"></audio>
El audio se reproduce automáticamente sin silenciar y sin atributo controls, sin dar al usuario ninguna forma de pausarlo o detenerlo.
<embed src="welcome.mp3">
Un <embed> u <object> que carga sonido o vídeo, y cualquier <bgsound>, pueden reproducirse en cuanto carga la página, y no tienen controls ni muted que leer. No se pregunta por uno con autostart="false" (o un <param> que lo indique).
Cómo comprobarlo
Cuando esta regla no puede decidir, informa cantTell y deja la pregunta a una persona. Cada pregunta que puede plantear aparece aquí bajo su código de motivo, con los pasos para responderla. Un hallazgo lleva los mismos pasos en howToCheck, en el idioma del análisis. Consulta Esquema de salida.
AUTOPLAY_CONTROLS_HIDDEN
- Cargar la página con el sonido activado y escuchar si el audio o el vídeo oculto que indica el informe se inicia solo.
- Si reproduce sonido durante más de 3 segundos, buscar en la página algún otro control visible que lo pause, lo detenga o lo silencie.
- Probar ese control con el teclado y comprobar que el sonido se detiene.
Se cumple. Ningún sonido se reproduce durante más de 3 segundos, o un control visible y alcanzable con el teclado lo detiene o lo silencia.
No se cumple. El sonido procede de un reproductor oculto cuyos controles no se pueden alcanzar y nada más lo detiene, lo que incumple WCAG 1.4.2 (F23).
AUTOPLAY_NO_CONTROLS_MECHANISM
- Cargar la página con el sonido activado y escuchar si el audio o el vídeo que indica el informe se inicia solo.
- Si reproduce sonido durante más de 3 segundos, buscar una forma de pausarlo, detenerlo, silenciarlo o ajustar su volumen. Buscar primero cerca del principio de la página, donde se espera, pero cuenta esté donde esté en la página.
- Probar ese control con el teclado (llegar a él con Tab y pulsar Intro o Espacio) y con un lector de pantalla en marcha, y comprobar que el sonido se detiene o baja.
Se cumple. Ningún sonido suena más de 3 segundos, o un control de la página que funciona con el teclado y con un lector de pantalla lo pausa, detiene o silencia.
No se cumple. Un sonido se reproduce solo durante más de 3 segundos sin forma de pausarlo, detenerlo o bajarlo con independencia del volumen del sistema, lo que incumple WCAG 1.4.2 (F23).
EMBEDDED_SOUND_SOURCE
- Cargar la página con el sonido activado y escuchar si el embed, el object o el bgsound que indica el informe reproduce sonido por sí solo.
- Si se reproduce durante más de 3 segundos, buscar un control para pausarlo, detenerlo o silenciarlo, en el reproductor insertado o cerca de la parte superior de la página.
- Probar ese control con el teclado y comprobar que el sonido se detiene.
Se cumple. Nada se reproduce automáticamente durante más de 3 segundos, o un control alcanzable lo pausa, lo detiene o lo silencia.
No se cumple. Un sonido se reproduce solo durante más de 3 segundos sin ninguna forma alcanzable de detenerlo o bajarlo, lo que incumple WCAG 1.4.2 (F23).