Audio et Vidéo
Aujourd’hui, l’intégration du son et de la vidéo passe par les balises HTML5 <audio> et <video>, combinées aux API JavaScript et aux bonnes pratiques d’accessibilité.*
Balise <audio>
Section intitulée « Balise <audio> »<audio controls> <source src="musique.mp3" type="audio/mpeg"> <source src="musique.ogg" type="audio/ogg"> Votre navigateur ne supporte pas la balise audio.</audio>Attributs importants
Section intitulée « Attributs importants »controls: affiche les contrôles du player.autoplay: démarre automatiquement (souvent bloqué par les navigateurs sansmuted).loop: répète automatiquement.muted: démarre en sourdine (nécessaire pourautoplay).preload: suggère comment charger le média (auto,metadata,none).
Balise <video>
Section intitulée « Balise <video> »<video width="640" height="360" controls> <source src="video.mp4" type="video/mp4"> <source src="video.webm" type="video/webm"> <track src="sous-titres.vtt" kind="subtitles" srclang="fr" label="Français"> Votre navigateur ne supporte pas la balise vidéo.</video>Attributs importants
Section intitulée « Attributs importants »controls: affiche les contrôles.autoplay: démarre automatiquement (souvent bloqué sansmuted).loop: rejoue la vidéo en continu.muted: démarre sans son (obligatoire pourautoplay).poster: définit une image affichée avant la lecture.<track>: permet d’ajouter des sous-titres (format WebVTT).
Accessibilité
Section intitulée « Accessibilité »- Sous-titres : toujours prévoir un fichier
.vttavec<track>pour les vidéos. - Transcription : proposer une version texte pour les contenus audio.
- Contrôles clavier : s’assurer que le player est utilisable sans souris.
- ARIA : ajouter des attributs comme aria-label pour décrire le média si nécessaire.
API JavaScript
Section intitulée « API JavaScript »Les deux balises exposent une API DOM commune (HTMLMediaElement) :
Exemple de contrôle vidéo en JavaScript :
const video = document.querySelector("video");
// Lecture et pausevideo.play();video.pause();
// Contrôle du volumevideo.volume = 0.5;
// Avancer dans la vidéovideo.currentTime = 30; // saute à 30s
// Vérifier si la vidéo est en cours de lectureif (!video.paused) { console.log("Vidéo en lecture");}À retenir
Section intitulée « À retenir »play-duringet les anciennes propriétés CSS audio sont obsolètes.- Utiliser
<audio>et<video>pour un support moderne, accessible et cross-browser. - Fournir plusieurs formats (
.mp4,.webm,.ogg) pour assurer la compatibilité. - Prévoir des sous-titres et des transcriptions pour l’accessibilité.
- Les API JavaScript permettent de créer des players personnalisés (contrôles, playlists, synchronisation).