no-autoplay-audio
L’audio en lecture automatique devrait offrir un moyen de pause/arrêt ou de réglage du volume
Signale les éléments <audio>/<video> en lecture automatique non coupés et sans attribut controls natif, ainsi que les éléments <embed>, <object> ou <bgsound> susceptibles de jouer du son, pour une revue manuelle au regard de l’exemption de 3 secondes de WCAG 1.4.2.
Applicabilité. Tout élément <audio autoplay> ou <video autoplay> qui n’est pas muted. Aussi tout <bgsound>, et tout <embed> ou <object> qui charge du son ou de la vidéo, ou un plugin (Flash) susceptible d’en jouer : son type est audio/, video/ ou un type de plugin, ou son src/data se termine par une extension de fichier son ou vidéo. Un <embed> ou <object> dont autostart ou autoplay vaut false (attribut ou <param>) est exclu.
Attendu. Le critère 1.4.2 ne s’applique que lorsque l’audio est lu automatiquement pendant PLUS de 3 secondes ; la durée du clip ne peut pas être connue à partir du balisage statique (jsdom ne décode pas les médias), si bien que cette règle ne peut pas déterminer si le critère s’applique même à un élément donné. Elle est volontairement définie avec type: 'manual' (plafonnée à cantTell, jamais fail) plutôt que de deviner : un élément en lecture automatique sans sourdine et sans attribut controls (le mécanisme natif, vérifiable statiquement, pour suspendre, arrêter ou régler le volume) est signalé pour une revue humaine au lieu d’être traité comme une violation déterministe.
Exemples
<audio autoplay controls src="x.mp3"></audio>
Les controls natifs donnent à l’utilisateur un moyen de mettre en pause et de régler le volume.
<audio autoplay src="x.mp3"></audio>
L’audio démarre automatiquement sans sourdine et sans attribut controls : l’utilisateur n’a aucun moyen de le suspendre ou de l’arrêter.
<embed src="welcome.mp3">
Un <embed> ou un <object> qui charge du son ou de la vidéo, et tout <bgsound>, peuvent se lancer dès le chargement de la page, et n’ont ni controls ni muted à lire. Celui qui porte autostart="false" (ou un <param> qui le dit) ne donne pas lieu à la question.
Comment vérifier
Quand cette règle ne peut pas trancher, elle renvoie cantTell et laisse la question à une personne. Chaque question qu’elle peut poser figure ici sous son code de raison, avec les étapes pour y répondre. Un constat porte les mêmes étapes dans howToCheck, dans la langue de l’analyse. Voir Schéma de sortie.
AUTOPLAY_CONTROLS_HIDDEN
- Chargez la page avec le son activé et écoutez si l’audio ou la vidéo masqué indiqué par le rapport démarre de lui-même.
- S’il émet du son pendant plus de 3 secondes, cherchez sur la page un autre contrôle visible qui le met en pause, l’arrête ou le coupe.
- Essayez ce contrôle au clavier et vérifiez que le son s’arrête.
Réussite. Aucun son ne dure plus de 3 secondes, ou un contrôle visible et accessible au clavier l’arrête ou le coupe.
Échec. Le son provient d’un lecteur masqué dont les contrôles sont inaccessibles, et rien d’autre ne l’arrête, ce qui ne respecte pas le critère WCAG 1.4.2 (F23).
AUTOPLAY_NO_CONTROLS_MECHANISM
- Chargez la page avec le son activé et écoutez si l’audio ou la vidéo indiqué par le rapport démarre de lui-même.
- S’il joue du son pendant plus de 3 secondes, cherchez un moyen de le mettre en pause, de l’arrêter, de le couper ou d’en régler le volume. Cherchez d’abord en haut de la page, là où on l’attend, mais il compte où qu’il soit dans la page.
- Essayez ce contrôle au clavier (atteignez-le avec Tab, appuyez sur Entrée ou Espace) et avec un lecteur d’écran en marche, et vérifiez que le son s’arrête ou baisse.
Réussite. Aucun son ne joue plus de 3 secondes, ou un contrôle de la page utilisable au clavier et avec un lecteur d’écran le met en pause, l’arrête ou le coupe.
Échec. Un son se lance tout seul pendant plus de 3 secondes sans moyen de le mettre en pause, de l’arrêter ou de le baisser indépendamment du volume du système, ce qui ne respecte pas le critère WCAG 1.4.2 (F23).
EMBEDDED_SOUND_SOURCE
- Chargez la page avec le son activé et écoutez si l’embed, l’object ou le bgsound indiqué par le rapport émet du son de lui-même.
- S’il joue pendant plus de 3 secondes, cherchez un contrôle pour le mettre en pause, l’arrêter ou le couper, dans le lecteur intégré ou en haut de la page.
- Essayez ce contrôle au clavier et vérifiez que le son s’arrête.
Réussite. Rien ne se lance automatiquement pendant plus de 3 secondes, ou un contrôle accessible le met en pause, l’arrête ou le coupe.
Échec. Un son se lance tout seul pendant plus de 3 secondes sans moyen accessible de l’arrêter ou de le baisser, ce qui ne respecte pas le critère WCAG 1.4.2 (F23).