Formulaires, tableaux et médias en HTML

Crée des formulaires web qui recueillent les informations nécessaires : choisis des types de champs, des zones de texte multiligne et des listes déroulantes, associe une étiquette à chaque contrôle et comprends ce que le navigateur envoie. Utilise la validation intégrée du navigateur pour repérer les réponses manquantes ou mal formatées. Présente les données dans des tableaux clairs et accessibles, ajoute du son et de la vidéo avec des sous-titres et des contenus de repli, et intègre des cartes, des vidéos et d’autres pages en toute sécurité avec des cadres intégrés (iframes).

DébutantUnité 3 sur 8 de la formation Formation : HTML et CSS : création et publication de sites web

Ce que tu vas apprendre

  1. Crée un formulaire, choisis un contrôle adapté à chaque information, associe une étiquette à chaque contrôle et comprends exactement ce que le navigateur envoie lors de la soumission du formulaire.
    • Crée un formulaire et comprends les données qu’il envoie
      Utilise l’élément form, les noms et les valeurs, les boutons d’envoi et les attributs action et method pour déterminer quelles données quittent la page et où elles vont.
    • Choisis des types de champs adaptés aux données
      Choisis le type de champ qui correspond à chaque information pour que les navigateurs proposent le clavier ou le sélecteur adapté et vérifient le format de base.
    • Utilise des zones de texte multiligne, des listes déroulantes et d’autres contrôles
      Recueille des textes plus longs, propose des listes de choix fixes et des suggestions de saisie, et affiche une progression ou des mesures avec textarea, select, datalist, progress et meter.
    • Associe une étiquette à chaque contrôle et regroupe les contrôles liés
      Associe les étiquettes visibles à leurs contrôles, regroupe les contrôles liés avec fieldset et legend, et ajoute des consignes et des indications de remplissage automatique pour que chacun puisse remplir le formulaire.
  2. Utilise les attributs de validation HTML pour que le navigateur repère les valeurs manquantes, trop longues, hors limites ou mal formatées avant l’envoi du formulaire, et comprends les limites de cette vérification.
    • Rends des champs obligatoires et limite la longueur du texte
      Utilise required, minlength et maxlength, et prévois quand le navigateur accepte ou bloque une soumission.
    • Définis les bornes et les pas pour les nombres, les dates et les heures
      Utilise min, max et step pour n’accepter que des valeurs pertinentes et prévois quelles valeurs seront acceptées.
    • Vérifie les formats avec des expressions régulières et fournis des messages utiles
      Écris des règles de format simples, explique-les aux utilisateurs, mets en forme les champs valides et invalides et comprends pourquoi le serveur doit vérifier à nouveau les données.
  3. Balise les données tabulaires avec des lignes, des cellules, des en-têtes et un titre, et garde les tableaux plus grands compréhensibles grâce aux portées des en-têtes, aux groupes de lignes et de colonnes et aux cellules fusionnées.
    • Crée un tableau de données avec des en-têtes et un titre
      Utilise table, tr, th, td et caption pour présenter des données en lignes et en colonnes, et donne au tableau une structure claire grâce aux portées des en-têtes et aux groupes de lignes.
    • Fusionne les cellules et associe les en-têtes complexes aux données
      Utilise correctement colspan et rowspan, regroupe les colonnes et associe les cellules à leurs en-têtes lorsqu’un tableau comporte plusieurs niveaux d’en-têtes.
  4. Intègre du son et de la vidéo avec les lecteurs du navigateur, fournis des formats et des contenus de repli qui fonctionnent dans les différents navigateurs, et rends les médias utilisables par tous grâce aux sous-titres pour sourds et malentendants, aux sous-titres et aux transcriptions textuelles.
    • Intègre du son et de la vidéo avec les attributs adaptés
      Utilise les éléments audio et video avec des commandes de lecture, des dimensions, une image d’affiche et des indications de chargement, et détermine quand la lecture automatique et la lecture en boucle sont appropriées.
    • Propose des formats et des solutions de repli qui fonctionnent partout
      Choisis des formats de fichiers largement pris en charge, énumère les sources de remplacement dans l’ordre et ajoute du contenu de repli.
    • Ajoute des sous-titres pour sourds et malentendants, des sous-titres et des transcriptions textuelles
      Écris un fichier WebVTT simple, associe-le avec l’élément track et fournis des transcriptions textuelles pour que les médias soient utilisables sans son.
  5. Place des cartes, des vidéos et d’autres pages web dans ta propre page avec des iframes, et choisis des réglages qui rendent chaque contenu intégré accessible, rapide, respectueux de la vie privée et sécurisé.
    • Intègre une page avec un élément iframe
      Ajoute un iframe avec un titre, des dimensions et un chargement différé, adapte un code d’intégration provenant d’un autre site et reconnais les sites qui n’autorisent pas l’intégration.
    • Sécurise les contenus intégrés, protège la vie privée et choisis l’élément adapté
      Limite les actions autorisées à une page intégrée avec sandbox et allow, réfléchis aux informations sur les visiteurs que les contenus intégrés partagent et choisis entre iframe, embed, object et les éléments multimédias.

Formulaires HTML : cours

5 chapitres

1

Crée des formulaires faciles à utiliser

Un formulaire utile part des informations que les personnes doivent saisir. Choisis des contrôles adaptés à ces informations, donne à chacun une étiquette claire et associe les contrôles à un formulaire qui envoie des noms et des valeurs explicites. Un champ de recherche, un formulaire de message et un envoi de fichier recueillent tous des saisies, mais nécessitent des réglages différents. Lire le HTML en suivant le parcours de la saisie de l’utilisateur jusqu’à la requête envoyée facilite la vérification de ces choix.

1.1 Comment un formulaire envoie des noms et des valeurs

Un formulaire recueille des réponses liées et les envoie à une URL. L’élément <form> entoure ses contrôles et son bouton d’envoi. Garde les formulaires distincts séparés : HTML n’autorise pas un formulaire à l’intérieur d’un autre.

Choisir la destination et la méthode

action indique l’URL destinataire. Sans cet attribut, la requête va à la page courante. method choisit comment le navigateur envoie les données ; la méthode par défaut est GET.

MéthodeDestination des donnéesUtilisation courante
GETDans l’URL après un point d’interrogationRecherches et filtres
POSTDans le corps de la requêteMessages, inscriptions et modifications de données stockées

Les données GET peuvent apparaître dans l’historique, les favoris et les journaux du serveur. POST ne les place pas dans la chaîne de requête, mais ne les chiffre pas. Utilise HTTPS pour protéger les données pendant leur transfert. Le programme sur le serveur reçoit et traite la requête ; le formulaire HTML n’enregistre pas et n’envoie pas lui-même les réponses par e-mail.

Suivre une requête de recherche
<form action="/search" method="get">
  <label for="query">Search</label>
  <input id="query" type="search" name="q">
  <label for="language">Language</label>
  <select id="language" name="lang">
    <option value="en">English</option>
  </select>
  <button type="submit">Search</button>
</form>

Si l’utilisateur saisit « html tables », le navigateur demande /search?q=html+tables&lang=en. Il prend le nom du champ q et sa valeur actuelle, encode l’espace par + et relie les deux paires avec &. Le ? marque le début de la chaîne de requête.

Un contrôle a besoin d’un name pour envoyer des données. Son id a un autre rôle : identifier l’élément sur la page, notamment pour lui associer une étiquette. Un champ avec id="query" mais sans name peut sembler fonctionner normalement sans envoyer de réponse dans la requête.

Savoir quels contrôles envoient des données

Un champ de texte vide qui a un nom envoie une valeur vide, comme comment=. Une case cochée envoie sa value ; sans valeur, elle envoie on. Une case non cochée n’envoie rien. Un contrôle désactivé est inutilisable et omis. Un champ readonly qui prend en charge cet attribut ne peut pas être modifié, mais envoie tout de même sa valeur.

Un champ caché, comme <input type="hidden" name="source" value="newsletter">, envoie une valeur sans contrôle visible. Cette valeur n’est pas secrète : les visiteurs peuvent l’inspecter et la modifier dans les outils de développement.

Préciser le comportement des boutons

Dans un formulaire, un <button> ordinaire soumet le formulaire par défaut. Écris type="submit" pour le bouton d’envoi et type="button" pour un bouton qui nécessite un script. type="reset" rétablit les valeurs initiales et peut effacer le travail d’un utilisateur. Appuyer sur Entrée dans un champ sur une ligne soumet aussi souvent le formulaire. <input type="submit" value="Send"> est un autre contrôle d’envoi ; un <button> peut aussi contenir du contenu en ligne comme une icône.

Envoyer le contenu d’un fichier
<form action="/upload" method="post" enctype="multipart/form-data">
  <label for="attachment">Attachment</label>
  <input id="attachment" type="file" name="attachment">
  <button type="submit">Upload</button>
</form>

POST et enctype="multipart/form-data" sont tous deux nécessaires pour un envoi de fichier ordinaire. Avec l’encodage par défaut du formulaire, les noms des fichiers sont envoyés sous forme de texte, mais pas leur contenu.

Points clés

  • Le name d’un contrôle identifie la valeur envoyée ; son id identifie l’élément sur la page.
  • GET place les paires dans l’URL ; POST les place dans le corps de la requête. HTTPS chiffre les données pendant leur transfert.
  • Les cases non cochées et les contrôles désactivés sont omis ; les champs en lecture seule qui prennent en charge cet état sont envoyés.
  • Précise les types des boutons pour éviter toute soumission ou réinitialisation accidentelle.
  • L’envoi de fichiers nécessite POST et multipart/form-data.

1.2 Les types de champs et les valeurs qu’ils recueillent

Un <input> est un élément vide : il n’a donc ni contenu ni balise de fermeture. Son type choisit le contrôle et l’aide fournie par le navigateur. Les types absents ou non reconnus produisent un champ de texte.

Adapter le texte à sa fonction
TypeUtilisationAide du navigateur
textUne ligne de texte libreSaisie de texte générale
searchUne requête de recherchePeut comporter un bouton d’effacement
emailUne adresse e-mailClavier pour e-mail et vérification de la syntaxe
urlUne adresse web complèteClavier pour URL et vérification de la syntaxe
telUn numéro de téléphoneClavier téléphonique ; aucune vérification du format
passwordUn mot de passeMasque les caractères visibles

Un champ d’e-mail vérifie la syntaxe, mais pas l’existence d’une boîte mail. Même « ana@example » passe la vérification de syntaxe de base. Ajoute multiple pour accepter une liste d’adresses séparées par des virgules. Un champ d’URL attend un schéma d’URL : « https://example.com » est accepté, mais pas « example.com ». Les formats de téléphone varient, donc tel n’impose aucune règle de format. Le masquage du mot de passe empêche les personnes à proximité de le lire à l’écran ; HTTPS assure toujours le chiffrement pendant la transmission.

Distinguer les quantités des codes composés de chiffres

Utilise number pour une quantité, comme un nombre d’éléments ou une masse. Ce type comporte souvent des boutons pour augmenter ou diminuer la valeur. Utilise range pour un réglage approximatif comme le volume ; son intervalle par défaut va de 0 à 100 et sa valeur par défaut est 50.

Un code d’adhérent n’est pas une quantité. Utilise <input type="text" inputmode="numeric"> pour un code composé de chiffres afin que les zéros initiaux restent du texte et que les boutons d’incrémentation ne le modifient pas. inputmode suggère seulement un clavier à l’écran : il ne valide pas la saisie. decimal, tel, email et url sont d’autres indications utiles pour le clavier.

Distinguer les formats affichés des formats envoyés

Les sélecteurs de date suivent les paramètres régionaux de l’utilisateur. Le 15 mars 2026 peut apparaître sous la forme « 03/15/2026 » ou « 15/03/2026 », mais la date envoyée est 2026-03-15.

TypeExemple de valeur envoyée
date2026-03-15
time14:30
datetime-local2026-03-15T14:30
month2026-03
week2026-W11

Ces contrôles ne stockent pas de fuseau horaire. Il faut donc préciser séparément le lieu ou le fuseau d’un rendez-vous à une heure locale lorsque cela compte.

Proposer des choix indépendants ou un choix unique

Les cases à cocher sont indépendantes : plusieurs peuvent être cochées. Les boutons radio forment un groupe à choix unique lorsque leurs valeurs name correspondent. Donne à chaque bouton radio une value distincte et utilise checked pour un choix par défaut.

<label><input type="radio" name="size" value="S"> Small</label>
<label><input type="radio" name="size" value="M" checked> Medium</label>
<label><input type="radio" name="size" value="L"> Large</label>

La sélection par défaut envoie size=M. Des noms différents créeraient des groupes distincts et permettraient plusieurs sélections.

Choisir des couleurs et des fichiers

color fournit un sélecteur et peut envoyer une couleur RVB comme #ff8800. file ouvre un sélecteur de fichiers ; accept=".pdf,image/*" suggère les PDF et les images, et multiple autorise plusieurs fichiers. Le filtre aide les utilisateurs à choisir ; le serveur doit tout de même vérifier le type et le contenu du fichier reçu. Pour les contrôles qui l’utilisent, value définit la valeur initiale, qui reste la valeur envoyée si l’utilisateur ne fait aucun changement.

Points clés

  • Choisis un type selon le sens des données, pas seulement selon son apparence.
  • Les types d’e-mail et d’URL vérifient la syntaxe ; tel et inputmode ne le font pas.
  • Pour les codes composés de chiffres, utilise un champ de texte avec une indication de clavier numérique.
  • L’affichage des dates et des heures varie selon les paramètres régionaux ; les formats envoyés sont fixes et ne contiennent pas de fuseau horaire.
  • Les boutons radio partagent un nom pour permettre un seul choix ; les cases à cocher permettent des choix indépendants.
  • Le filtre accept d’un sélecteur de fichiers n’est pas une vérification de sécurité.

1.3 Réponses longues, choix fixes et suggestions

Un champ sur une ligne ne convient pas à toutes les réponses. Un texte plus long nécessite de l’espace, tandis qu’un ensemble de choix fixes nécessite des contrôles qui montrent ce qui est autorisé. Avant de choisir l’élément, décide si l’utilisateur peut saisir autre chose que les choix proposés.

Prévoir une zone pour les textes plus longs
<label for="message">Message</label>
<textarea id="message" name="message" rows="5" cols="40"></textarea>

rows indique le nombre de lignes visibles et cols la largeur approximative en caractères. Aucun des deux ne limite la quantité de texte saisissable ; utilise maxlength pour limiter la longueur. Le texte initial se place entre les balises, et non dans un attribut value. Les espaces et les sauts de ligne à cet endroit font partie de la valeur initiale : des balises d’ouverture et de fermeture adjacentes produisent donc une zone vraiment vide.

Envoyer une valeur depuis une liste déroulante
<label for="delivery">Delivery</label>
<select id="delivery" name="delivery" required>
  <option value="">Choose delivery</option>
  <option value="standard">Standard (3–5 days)</option>
  <option value="express">Express (next day)</option>
</select>

Choisir « Express (next day) » envoie delivery=express. Le texte visible peut expliquer un choix tandis que sa value reste courte et stable. Si une option n’a pas de value, son texte est envoyé. Ajoute selected pour présélectionner une option. Ici, la première option a une valeur vide : la liste à choix unique obligatoire ne peut donc pas être soumise tant que l’utilisateur n’a pas choisi un mode de livraison.

Regrouper ou autoriser plusieurs options

Un <optgroup label="Hot drinks"> donne un titre à des options liées. Ce titre n’est pas lui-même un choix. Un élément select avec multiple permet de sélectionner plusieurs options, et size définit ses lignes visibles. Chaque valeur sélectionnée devient une paire distincte avec le même nom : topics=html&topics=css.

Sur ordinateur, la sélection multiple nécessite souvent un Ctrl-clic ou un Cmd-clic. Pour une courte liste de choix indépendants, les cases à cocher rendent généralement la sélection plus claire. Pour une courte liste à choix unique, les boutons radio gardent toutes les options visibles. Un élément select convient bien à une longue liste fixe.

Suggérer sans restreindre
<label for="city">City</label>
<input id="city" name="city" list="cities">
<datalist id="cities">
  <option value="Nairobi">
  <option value="Osaka">
</datalist>

Le list du champ correspond à l’id de la liste de suggestions. Les utilisateurs voient des suggestions mais peuvent toujours saisir une autre ville. Une liste de suggestions est donc utile pour les réponses courantes à une question ouverte. Remplacer un élément select par une liste de suggestions modifie les choix acceptés ; cela ne change pas simplement l’apparence d’une même liste fixe.

Afficher une progression ou une mesure

<progress> et <meter> affichent des valeurs au lieu de recueillir des réponses. Un indicateur de progression suit l’avancement d’une tâche, comme <progress value="70" max="100">70%</progress>. Une jauge affiche une mesure dans un intervalle connu : <meter value="0.6">60%</meter> peut représenter l’espace de stockage utilisé. Par défaut, une jauge va de 0 à 1, sauf si min et max modifient cet intervalle. Le texte à l’intérieur de ces éléments fournit un contenu de repli lorsque la barre ne peut pas être dessinée. Garde une étiquette explicative à côté de chacun de ces affichages pour que les utilisateurs sachent ce que mesure le nombre.

Points clés

  • La valeur initiale d’une zone de texte multiligne est son contenu ; rows et cols définissent seulement sa taille visible.
  • Un élément select envoie les valeurs des options sélectionnées et peut imposer un choix fixe.
  • Une liste de suggestions propose des réponses mais autorise un autre texte.
  • Utilise progress pour l’avancement d’une tâche et meter pour une mesure dans un intervalle connu.

1.4 Étiquettes visibles et consignes utiles pour les formulaires

Un champ a besoin d’un nom qui reste visible pendant que l’utilisateur le remplit. Un <label> associé donne aussi au contrôle un nom accessible pour les lecteurs d’écran et fait de son texte une cible cliquable plus grande. Les consignes expliquent les règles que l’étiquette seule ne peut pas transmettre.

Associer l’étiquette au contrôle
<label for="email">Email address</label>
<input id="email" name="email" type="email" autocomplete="email">

Le for de l’étiquette correspond à l’id du champ, casse comprise. Le name sert à l’envoi et n’a pas besoin d’être identique. Chaque id doit être unique sur la page. Si for="email" pointe vers un name mais qu’aucun id ne correspond, l’étiquette semble normale mais n’est pas associée au champ.

Une autre possibilité consiste à placer le champ dans l’étiquette :

<label>
  <input type="checkbox" name="news">
  Send me the monthly newsletter
</label>

Cette association implicite est utile pour une courte étiquette de case à cocher. Une paire explicite for et id fonctionne aussi lorsque l’étiquette et le contrôle sont séparés dans le HTML.

Distinguer les étiquettes des exemples

Un texte indicatif comme « name@example.com » disparaît dès que la saisie commence. Il peut aussi être difficile à lire et ne constitue pas un nom accessible fiable. Garde l’étiquette visible ; utilise le texte indicatif uniquement comme court exemple lorsqu’il est utile.

Indique les champs obligatoires avec des mots, comme « Nom (obligatoire) », ou explique un astérisque une fois au-dessus du formulaire. La couleur seule ne permet pas à tout le monde de savoir ce qui est obligatoire. Explique un format avant que les utilisateurs essaient de soumettre leur réponse.

<label for="pw">Password (required)</label>
<input id="pw" name="password" type="password"
       required minlength="8" aria-describedby="pw-hint">
<p id="pw-hint">Use at least 8 characters.</p>

aria-describedby pointe vers l’id de l’aide. Il ajoute la consigne comme description après le nom du champ ; il ne remplace pas l’étiquette.

Nommer un groupe de contrôles
<fieldset>
  <legend>Delivery speed</legend>
  <label><input type="radio" name="speed" value="standard"> Standard</label>
  <label><input type="radio" name="speed" value="express"> Express</label>
  <label><input type="radio" name="speed" value="pickup"> Pickup</label>
</fieldset>

La légende donne la question commune ; chaque étiquette nomme une réponse. Un groupe de champs peut aussi réunir des champs d’adresse liés. Place la légende en premier. disabled sur un groupe de champs désactive ses contrôles descendants, sauf ceux situés dans sa première légende. Garde les contrôles de formulaire ordinaires hors de la légende pour éviter les surprises dues à cette exception.

Aider les navigateurs à remplir les informations connues

autocomplete décrit la finalité des informations concernant l’utilisateur. Ses valeurs comprennent name, email, tel, street-address, postal-code, country-name, bday, new-password, current-password et one-time-code. Des finalités exactes facilitent la saisie à partir de données enregistrées et contribuent au respect du critère 1.3.5 des WCAG 2.2, Identifier la finalité de la saisie (AA). autocomplete="off" est une demande ; les navigateurs peuvent tout de même proposer des mots de passe enregistrés.

Pour un champ de téléphone facultatif, utilise l’étiquette « Numéro de téléphone (facultatif) » avec type="tel", name="phone" et autocomplete="tel". Clique sur son étiquette pour vérifier le focus, puis parcours le formulaire avec Tabulation. Teste ainsi chaque étiquette, y compris celles des cases à cocher et des boutons radio.

Points clés

  • Une étiquette visible doit être réellement associée à son contrôle.
  • for correspond à un id unique ; l’envoi utilise name.
  • Une légende nomme un groupe de champs, tandis que les étiquettes nomment ses différents contrôles.
  • Associe les aides visibles avec aria-describedby et indique les champs obligatoires par du texte.
  • Indique des finalités exactes pour le remplissage automatique et vérifie le formulaire avec des clics et au clavier.
2

Vérifie les réponses avant la soumission

Le navigateur peut repérer les réponses manquantes, les textes de longueur incorrecte, les valeurs hors d’un intervalle et les saisies qui ne respectent pas un format fixe. Ces vérifications reposent d’abord sur le type de champ et les attributs HTML. Examine comment plusieurs règles se combinent, y compris les cas où une valeur vide est autorisée. Des consignes claires aident les utilisateurs à corriger leur saisie ; les vérifications côté serveur restent nécessaires, car les règles du navigateur peuvent être contournées.

2.1 Champs obligatoires et longueur du texte

La validation intégrée vérifie les contrôles d’un formulaire lorsque l’utilisateur le soumet. Un contrôle invalide bloque la soumission ; le navigateur donne le focus au premier champ invalide et fournit un message dans sa propre langue. Le texte exact est choisi par le navigateur. Pour le modifier, il faut utiliser JavaScript.

Exiger une réponse

required signifie qu’un contrôle doit avoir une valeur. Pour un champ de texte, une chaîne vide est refusée. Sur une case à cocher, required signifie que cette case précise doit être cochée, comme pour accepter des conditions. Pour des boutons radio de même nom, placer required sur l’un d’eux signifie qu’un bouton du groupe doit être sélectionné. Une liste à choix unique obligatoire avec une première option vide nécessite la sélection d’une option non vide.

<label for="username">Username (required)</label>
<input id="username" name="username"
       required minlength="4" maxlength="12">

Le navigateur combine ces règles. Le champ doit contenir une réponse, et le texte saisi par l’utilisateur doit respecter les limites de longueur. Omettre type produit un champ de texte ordinaire.

Compter les caractères saisis

minlength définit la longueur minimale autorisée et maxlength la longueur maximale. Les espaces et la ponctuation comptent. La longueur est mesurée en unités de code UTF-16 : certains émojis comptent donc pour deux ; les lettres latines ordinaires comptent chacune pour un.

Dans cet exemple, « Li » comporte deux caractères et ne satisfait pas au minimum. « Lina » en comporte quatre et est accepté. « mountainhiker » comporte 13 caractères. Lors d’une saisie ordinaire, le navigateur s’arrête après le douzième, laissant « mountainhike ». La largeur d’une zone de texte ne définit pas cette limite.

Distinguer les règles de présence et de longueur

Un champ facultatif avec minlength="4" peut être vide. La longueur minimale est vérifiée dès que l’utilisateur fournit une valeur. Ajouter required fait aussi échouer une saisie vide. Cela compte pour un pseudonyme facultatif : l’utilisateur peut l’omettre, mais un pseudonyme fourni doit tout de même comporter suffisamment de caractères.

required est un attribut booléen. Sa présence l’active, y compris avec required="false". Pour rendre le champ facultatif, supprime l’attribut. La même règle de présence s’applique à de nombreux autres attributs HTML qui activent une fonction.

Comprendre ce que ces vérifications ne décident pas

Une chaîne d’espaces constitue tout de même du contenu dans un champ de texte. required l’accepte donc, et les espaces comptent aussi dans la longueur. Une règle exigeant un caractère visible nécessite un motif adapté ou une vérification côté serveur. N’indique pas aux utilisateurs que required seul garantit une réponse qui a un sens.

Les contraintes de longueur dépendent aussi de la manière dont la valeur a été saisie. Une valeur initiale écrite dans le HTML, ou affectée par un script, n’est pas signalée par minlength ou maxlength simplement parce qu’elle est trop courte ou trop longue. Une valeur par défaut correcte reste importante même lorsque la saisie ordinaire est limitée.

Pour vérifier ce champ, essaie une soumission vide, puis saisis deux lettres, quatre lettres et plus de 12 lettres. Chaque essai isole une règle différente. Lorsque le navigateur arrête la saisie à la limite, lis la valeur effectivement présente dans le champ au lieu de supposer que toute la saisie tentée a été acceptée.

Points clés

  • required et les limites de longueur répondent à des problèmes différents.
  • Les attributs booléens restent activés même lorsqu’ils sont écrits avec la valeur "false".
  • Les espaces comptent comme du contenu ; certains émojis utilisent deux unités de code UTF-16.
  • Un bouton radio obligatoire impose une sélection dans son groupe de même nom.

2.2 Bornes et pas autorisés

Une valeur numérique ou une date peut avoir le bon format tout en étant inadaptée. min et max définissent ses bornes ; step définit les incréments autorisés entre elles. Un nombre doit satisfaire aux deux vérifications.

Définir l’intervalle
<label for="weight">Parcel weight (kg)</label>
<input id="weight" name="weight" type="number"
       min="0.5" max="30" step="0.5">

Les bornes sont incluses. Les valeurs de 0,5 à 30 kg sont dans l’intervalle, mais elles doivent aussi correspondre à des pas d’un demi-kilogramme. En partant de 0,5, on obtient 0,5, 1, 1,5 et ainsi de suite jusqu’à 30 : 60 valeurs autorisées. Une saisie de 31 dépasse le maximum ; 2,25 est dans l’intervalle mais ne respecte pas le pas.

Trouver le point de départ avant de compter

Les pas sont comptés à partir de min lorsqu’il est présent. Sinon, ils sont comptés à partir d’un attribut HTML value valide, puis à défaut à partir de la base par défaut du type. Pour number, cette base par défaut est 0. Le pas par défaut est 1.

Avec min="1" step="2", les valeurs acceptées sont 1, 3, 5, 7 et ainsi de suite. Quatre est refusé bien qu’il soit un multiple de deux, car la suite commence à un. Avec min="0.5" et sans attribut de pas, le pas reste de un : 0,5, 1,5 et 2,5 sont acceptés, mais pas 1 ni 2.

Si ni min ni un attribut value ne fournit une base différente, un champ numérique par défaut accepte les nombres entiers. Utilise step="0.01" pour des incréments d’un centième ou step="any" pour supprimer la vérification du pas. any ne supprime ni le minimum ni le maximum.

Utiliser les bonnes unités pour les dates et les heures
TypePas par défautExemple de borne
number ou range1max="30"
date1 jourmin="2026-06-01"
time60 secondesmax="17:00"

Un champ de date avec min="2026-06-01" max="2026-08-31" accepte les dates de cet intervalle, bornes comprises. Écris les attributs dans le format envoyé, même si le sélecteur affiche la date dans un autre ordre.

Pour les rendez-vous, type="time" min="09:00" max="17:00" step="900" utilise 900 secondes, soit 15 minutes, par pas. La suite commence à 09 h 00 et se termine à 17 h 00. Il y a 32 intervalles et 33 heures sélectionnables, les deux bornes comprises.

Distinguer la saisie de la valeur stockée

Certains navigateurs configurés pour une langue donnée autorisent la saisie décimale "2,5" mais envoient 2.5. Selon le navigateur, un texte qui n’est pas un nombre est bloqué ou laisse la valeur numérique vide. Un champ vide facultatif reste autorisé en l’absence de required.

Un curseur range reste dans son intervalle autorisé et se cale sur les pas : les utilisateurs ne rencontrent donc pas les mêmes erreurs de borne et de pas qu’avec un nombre saisi. Par ailleurs, les champs email et url non vides subissent des vérifications de type même sans required : rendre une réponse facultative ne rend pas valide une réponse fournie au mauvais format.

Points clés

  • Vérifie séparément les bornes et le respect du pas.
  • Cherche la base du pas dans cet ordre : min, value dans le HTML, puis la base par défaut du type.
  • step="any" supprime la vérification du pas mais conserve les autres contraintes.
  • Les pas horaires sont en secondes ; les pas de date sont en jours.
  • Compte les deux bornes pour trouver le nombre d’heures autorisées.

2.3 Motifs fixes et messages utiles

Un motif est utile lorsqu’une organisation définit un format de texte exact, comme un code produit. Le navigateur vérifie la valeur non vide dans son ensemble par rapport au motif. Explique le format à côté du champ pour que les utilisateurs puissent le respecter avant qu’une erreur apparaisse.

Construire un petit motif
<label for="code">Product code (required)</label>
<input id="code" name="code" required
       pattern="[A-Z]{3}-[0-9]{4}" aria-describedby="code-hint">
<p id="code-hint">Use 3 capital letters, a hyphen, and 4 digits (ABC-1234).</p>

[A-Z] correspond à une lettre latine majuscule et {3} la répète exactement trois fois. Le trait d’union hors des groupes de caractères est littéral. [0-9]{4} exige quatre chiffres. « ABC-1234 » est accepté. « abc-1234 », « ABC1234 » et « ABC-12345 » ne respectent chacun pas une partie différente de la règle.

Partie du motifSignification
[A-Za-z]Une lettre latine de base
{2,5}Deux à cinq répétitions
+Une ou plusieurs répétitions
?Élément précédent facultatif
(cm|mm)L’une des deux possibilités, cm ou mm

Les motifs sont comparés à la valeur entière : tout texte supplémentaire au début ou à la fin est donc refusé. N’ajoute pas les barres obliques qui entourent les expressions régulières en JavaScript. pattern s’applique aux champs apparentés au texte comme text, search, tel, email, url et password, mais pas à une zone de texte multiligne. Les valeurs vides échappent à la vérification du motif ; required prend en charge l’absence de réponse.

Écrire soigneusement la ponctuation littérale

Les caractères comme ., + et ? ont des significations particulières. Fais-les précéder d’une barre oblique inverse lorsqu’ils doivent apparaître littéralement : \. correspond à un point. Dans un groupe de caractères, les motifs HTML modernes exigent aussi une barre oblique inverse devant des signes de ponctuation comme un trait d’union littéral : [a-z0-9\-]. Ce trait d’union diffère de celui qui définit l’intervalle a-z.

Un motif invalide est ignoré. Les autres règles, dont required et les vérifications de type, continuent de s’appliquer. Teste un motif avec des saisies qui doivent être acceptées et d’autres qui doivent être refusées ; un formulaire qui envoie une valeur attendue n’a pas encore montré que le motif refuse quoi que ce soit.

Expliquer la règle et l’erreur

Garde une aide visible à côté du contrôle. Un title peut contribuer à certains messages du navigateur ; garde la consigne de format visible à côté du champ. Évite les motifs rigides pour les noms, les téléphones ou les codes postaux, sauf si le format accepté est réellement fixe ; les réponses valides de différents pays peuvent beaucoup varier.

CSS propose :valid et :invalid pour l’état de validation actuel d’un champ. :user-invalid retarde l’état invalide jusqu’à une interaction de l’utilisateur, ce qui évite qu’un formulaire encore vierge soit couvert de marques d’erreur. Associe les couleurs à des mots ou à une icône pour que la distinction reste visible sans perception des couleurs.

Décider quand les vérifications s’exécutent

novalidate sur le formulaire ignore la validation du navigateur lors de la soumission. formnovalidate sur un bouton d’envoi l’ignore pour ce bouton, ce qui peut permettre d’ajouter « Enregistrer le brouillon » à côté d’un bouton « Envoyer » ordinaire. Les vérifications du navigateur peuvent aussi être supprimées par les outils de développement ou contournées par une requête directe. Le serveur doit vérifier à nouveau les données reçues avant de leur faire confiance.

Points clés

  • Un motif vérifie la valeur non vide dans son ensemble ; required prend en charge l’absence de réponse.
  • Vérifie les codes fixes d’une organisation avec des motifs et explique leur format de manière visible.
  • Un motif mal formé est ignoré tandis que les autres contraintes continuent de s’appliquer.
  • Mets en forme les états de validation en utilisant plus que la couleur seule.
  • La possibilité d’ignorer ou de contourner une vérification du navigateur rend essentielle la validation côté serveur.
  • formnovalidate agit sur un bouton d’envoi ; novalidate agit sur le formulaire.
3

Crée des tableaux qui expliquent leurs données

Une cellule de données prend son sens grâce à sa ligne et à sa colonne. Les tableaux HTML permettent d’exprimer ces relations afin que chacun puisse lire une valeur avec les en-têtes qui l’expliquent. Commence par un titre et des en-têtes simples, puis ajoute des groupes de lignes ou des cellules fusionnées uniquement si les données le nécessitent. Compter les cases de la grille et associer chaque valeur à ses en-têtes permet de garder le tableau utile aussi bien à la lecture à voix haute qu’à l’écran.

3.1 Lignes, en-têtes et titre clair pour le tableau

Utilise un tableau lorsqu’une valeur dépend à la fois de sa ligne et de sa colonne : un carnet d’entraînement, un emploi du temps ou une comparaison de mesures. Utilise CSS pour la mise en page. Une mise en page créée à partir de cellules de tableau présente aux lecteurs d’écran des relations trompeuses entre lignes et colonnes et s’adapte mal aux écrans étroits.

Construire la structure à partir des données

<table> contient le tableau, <tr> une ligne, <th> une cellule d’en-tête et <td> une cellule de données. Les cellules sont écrites de gauche à droite dans chaque ligne. Une cellule de données en gras reste une cellule de données ; utilise <th> pour indiquer un en-tête.

<table>
  <caption>Running log, week 12</caption>
  <thead>
    <tr>
      <th scope="col">Day</th>
      <th scope="col">Distance (km)</th>
      <th scope="col">Time (min)</th>
    </tr>
  </thead>
  <tbody>
    <tr><th scope="row">Monday</th><td>5.0</td><td>28</td></tr>
    <tr><th scope="row">Wednesday</th><td>7.5</td><td>45</td></tr>
    <tr><th scope="row">Saturday</th><td>10.0</td><td>62</td></tr>
  </tbody>
  <tfoot>
    <tr><th scope="row">Total</th><td>22.5</td><td>135</td></tr>
  </tfoot>
</table>

Le titre est le premier élément à l’intérieur du tableau. Il indique aux lecteurs ce que décrit l’ensemble du tableau avant qu’ils ne découvrent ses valeurs. Un titre de section à proximité peut aider visuellement, mais le titre du tableau est associé au tableau lui-même.

Associer chaque valeur à ses en-têtes

scope="col" indique qu’un en-tête s’applique à une colonne. scope="row" indique qu’il s’applique à une ligne. La valeur numérique 7,5 appartient donc à la ligne « Wednesday » et à la colonne « Distance (km) ». Un lecteur d’écran peut annoncer ce sens complet au lieu d’un nombre isolé.

Place les unités dans les en-têtes de colonnes pour qu’elles s’appliquent partout de la même façon. Chaque distance est ici en kilomètres ; chaque durée est en minutes. La distance totale est obtenue à partir de 5,0, 7,5 et 10,0, soit 22,5 km. Les durées 28, 45 et 62 donnent 135 min.

Donner un rôle à chaque groupe

<thead> regroupe les lignes d’en-tête, <tbody> les données principales et <tfoot> le récapitulatif après le corps. Ces groupes décrivent la structure et fournissent des points d’appui à CSS. Les navigateurs insèrent un <tbody> autour des lignes ordinaires écrites directement dans un tableau : la structure affichée peut donc différer du code source sans groupes.

Vérifier le sens autant que l’apparence

Chaque ligne couvre ici trois colonnes. Omettre une cellule de données n’indique pas au navigateur quelle valeur intermédiaire manque : les cellules suivantes peuvent se retrouver sous le mauvais en-tête. Écris les cellules à leur place et utilise « 0 » pour un zéro connu ou « sans objet » lorsqu’une valeur ne s’applique pas. Une cellule vide sans explication laisse le lecteur dans l’incertitude.

Les tableaux n’ont pas de bordures par défaut. Pour tracer des lignes simples, applique border: 1px solid aux cellules et border-collapse: collapse au tableau. L’ancien attribut border est obsolète. Une bordure aide à montrer la grille, mais elle ne peut ni établir des relations manquantes avec les en-têtes ni corriger une valeur mal placée.

Points clés

  • Les tableaux expriment les relations entre les lignes et les colonnes des données.
  • Utilise th pour les en-têtes et td pour les données ; le gras seul ne donne pas de sens sémantique.
  • Place le titre du tableau en premier et utilise scope pour associer les en-têtes simples aux données.
  • Regroupe les lignes avec thead, tbody et tfoot, et vérifie les colonnes couvertes par chaque ligne.
  • Place les unités dans les en-têtes et précise le sens des données manquantes.

3.2 Cellules fusionnées et niveaux d’en-têtes

Les cellules fusionnées permettent à une entrée de couvrir plusieurs emplacements de la grille. Elles modifient le nombre de nouvelles cellules nécessaires dans une ligne : prévois donc les emplacements occupés avant d’écrire les balises.

Compter les cellules d’un emploi du temps fusionné

Considère trois colonnes : « Heure », « Lundi » et « Mardi ». À 09 h 00, le lundi contient « Formulaires » et le mardi « Tableaux ». À 10 h 00, le lundi commence « Validation », qui se poursuit sur la ligne de 11 h 00. Le mardi contient « Médias » à 10 h 00 et « Contenus intégrés » à 11 h 00. À 12 h 00, « Pause déjeuner » couvre les deux jours.

<tr>
  <th scope="row">10:00</th>
  <td rowspan="2">Validation</td><td>Media</td>
</tr>
<tr>
  <th scope="row">11:00</th><td>Embeds</td>
</tr>
<tr>
  <th scope="row">12:00</th><td colspan="2">Lunch break</td>
</tr>

À 11 h 00, l’emplacement du lundi est déjà occupé par la cellule de la ligne précédente. Les seules nouvelles cellules sont l’en-tête horaire et l’entrée du mardi. Ajouter une autre cellule pour le lundi pousserait la dernière valeur dans une quatrième colonne. À 12 h 00, l’en-tête horaire couvre une colonne et la cellule de la pause déjeuner en couvre deux, soit trois au total.

colspan étend une cellule horizontalement sur des colonnes ; rowspan l’étend verticalement sur des lignes. Leur valeur par défaut est un dans les deux cas. Pour vérifier une ligne, compte les emplacements remplis par de nouvelles cellules et par les cellules étendues depuis les lignes précédentes.

Décrire les groupes de colonnes

<colgroup> et <col> décrivent les colonnes et apparaissent après le titre du tableau mais avant les groupes de lignes. <col span="2"> représente deux colonnes. Seul un ensemble limité de styles s’applique par ces éléments, notamment les arrière-plans, la largeur, la visibilité et les bordures selon les règles de bordure applicables au tableau. Ils ne remplacent pas les en-têtes.

Pour placer « Distance (km) » au-dessus de deux colonnes nommées « Planned » et « Actual », définis ces deux colonnes comme un groupe. Donne à l’en-tête supérieur colspan="2" scope="colgroup" et aux en-têtes inférieurs scope="col". L’étendue règle la largeur, tandis que la portée indique la relation avec l’en-tête. Une portée de groupe de colonnes nécessite un groupe de colonnes correspondant dans la structure du tableau.

Associer explicitement les en-têtes si nécessaire

Pour les relations que scope ne peut pas exprimer clairement, donne aux en-têtes des identifiants uniques et énumère-les dans l’attribut headers de la cellule de données :

<table>
  <caption>Monday distance plan</caption>
  <colgroup></colgroup>
  <colgroup span="2"></colgroup>
  <thead>
    <tr>
      <th rowspan="2" scope="col">Day</th>
      <th id="distance" colspan="2" scope="colgroup">Distance (km)</th>
    </tr>
    <tr>
      <th id="planned" scope="col">Planned</th>
      <th id="actual" scope="col">Actual</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th id="mon" scope="row">Monday</th>
      <td headers="mon distance planned">8</td>
      <td headers="mon distance actual">7.5</td>
    </tr>
  </tbody>
</table>

La valeur prévue de 8 renvoie à Monday, Distance (km) et Planned. La valeur réelle de 7,5 partage les en-têtes de ligne et de groupe, mais renvoie à Actual. Les noms séparés par des espaces doivent correspondre aux identifiants des en-têtes, et non à leur texte visible.

L’attribut abbr d’un en-tête peut fournir une version plus courte à répéter, comme dans <th abbr="Distance">Distance covered in kilometers</th>. Certains lecteurs d’écran utilisent cette forme courte. Lorsque de nombreuses cellules étendues ou trois niveaux d’en-têtes rendent un tableau difficile à suivre, répartis les données dans des tableaux plus simples ayant chacun leur titre. Évite d’imbriquer un tableau dans la cellule d’un autre.

Points clés

  • Compte les emplacements occupés dans la grille, y compris ceux couverts depuis les lignes précédentes.
  • Un colspan remplace des cellules voisines ; un rowspan occupe des emplacements dans les lignes suivantes.
  • Utilise des groupes de colonnes avec scope="colgroup" pour les en-têtes de groupes.
  • L’attribut headers d’une cellule énumère les identifiants de ses cellules d’en-tête.
  • Privilégie des tableaux plus simples lorsque les fusions et les niveaux d’en-têtes masquent les relations.
4

Ajoute des médias que chacun peut regarder et écouter

Un lecteur n’est qu’une partie d’un média utilisable. Les visiteurs ont aussi besoin d’un fichier pris en charge, d’un moyen de lancer et d’arrêter la lecture et d’un accès aux informations lorsque le son ou les images ne sont pas disponibles. Construis le lecteur à partir du fichier multimédia : réserve son espace, propose des sources adaptées et ajoute des sous-titres vérifiés ou une transcription textuelle. Les indications de chargement et des choix de lecture adaptés aident aussi les visiteurs à gérer le temps et les données que consomme une vidéo.

4.1 Lecteurs, lecture et choix de téléchargement

<video> et <audio> relient des fichiers multimédias à une page. Le navigateur télécharge ces fichiers distincts ; la vidéo ou le son n’est pas stocké dans le HTML. Ajouter controls affiche les commandes de lecture, de pause, de progression et de volume du navigateur.

<video src="intro.mp4" controls width="640" height="360"
       poster="intro-poster.jpg" preload="metadata"></video>
<audio src="episode-12.mp3" controls></audio>

Sans commandes, un élément audio n’a pas de lecteur visible et une vidéo n’a pas de bouton de lecture visible. La page aurait besoin de commandes programmées pour donner cet accès aux utilisateurs. Pour une page simple, conserve les commandes de lecture natives.

Réserver un espace aux bonnes proportions

width et height acceptent des nombres simples en pixels CSS. Ils réservent de l’espace pendant le chargement d’une vidéo et réduisent les mouvements de la page. Une vidéo de 1 920 × 1 080 affichée à une largeur de 640 a une hauteur correspondante de 360 : la largeur a été divisée par trois, donc la hauteur doit aussi être divisée par trois. Une boîte de lecteur de proportions différentes conserve celles de l’image et ajoute des bandes vides.

poster fournit une image fixe avant la lecture. Sans image d’affiche, le navigateur attend des données multimédias avant de pouvoir afficher la première image. L’image d’affiche est utile lorsque peu ou pas de vidéo est préchargée.

Décider de la quantité à précharger
ValeurIndication de chargement
noneNe pas précharger le média
metadataRécupérer des informations comme la durée et les dimensions
autoLe navigateur peut télécharger le fichier entier

Ce sont des indications : le navigateur peut les ignorer. La lecture automatique prend aussi le dessus sur le préchargement. none est utile pour les médias longs que beaucoup de visiteurs ne regarderont pas ; les métadonnées permettent d’afficher la durée sans demander intentionnellement le téléchargement du clip entier.

Comprendre les attributs qui activent la lecture

controls, autoplay, muted, loop et playsinline sont des attributs booléens. Leur présence les active : muted="false" démarre tout de même sans son. Supprime l’attribut pour le désactiver.

La lecture automatique avec du son est généralement bloquée jusqu’à une interaction de l’utilisateur, selon les autorisations et les réglages du navigateur. Une vidéo muette est plus souvent autorisée ; Safari sur iPhone nécessite aussi playsinline dans ce cas. Un clip silencieux en boucle peut utiliser autoplay muted loop playsinline. loop relance le clip lorsqu’il se termine. Ne compte pas sur la lecture automatique pour transmettre des informations essentielles.

Un son automatique peut gêner l’écoute d’un lecteur d’écran et un mouvement peut distraire. Le critère 1.4.2 des WCAG 2.2 (A) exige un moyen de mettre en pause ou d’arrêter un son automatique de plus de trois secondes, ou de régler son volume indépendamment. Le critère 2.2.2 (A) concerne les contenus animés automatiquement qui durent plus de cinq secondes à côté d’autres contenus, sauf s’ils sont essentiels. Prévois un mécanisme de pause accessible ; les commandes natives en fournissent un pour ces lecteurs multimédias.

Estimer le volume de données

Un clip de deux minutes à 5 mégabits par seconde contient 600 mégabits. En divisant par huit, on obtient environ 75 mégaoctets avant les données supplémentaires. Des clips plus courts et une indication de préchargement adaptée réduisent les transferts inutiles. Le lecteur iframe d’une plateforme hébergée peut transférer la diffusion hors du serveur de ton site, mais les visiteurs téléchargent toujours le média lorsqu’ils le regardent.

Points clés

  • Conserve les commandes natives pour que les visiteurs puissent lancer, mettre en pause et régler la lecture.
  • Utilise des valeurs numériques pour la largeur et la hauteur afin de réserver l’espace d’une vidéo.
  • Le préchargement est une indication ; la lecture automatique peut prendre le dessus.
  • Les attributs booléens sont activés par leur présence.
  • Prévois les restrictions de lecture automatique et donne aux utilisateurs le contrôle des sons ou mouvements automatiques.
  • Un lecteur de plateforme change le fournisseur du média, mais le visiteur doit toujours le télécharger.

4.2 Sources de remplacement et solutions de repli fiables

L’extension d’un fichier multimédia identifie son conteneur, la structure du fichier qui contient l’image et le son. Les codecs compressent et décodent les flux qu’il contient. Un navigateur doit prendre en charge à la fois le conteneur et ses codecs ; une extension .mp4 seule ne permet pas de connaître son contenu.

Choisir des formats adaptés

MP4 avec la vidéo H.264 et l’audio AAC offre une large compatibilité sur les systèmes actuels courants. WebM avec la vidéo VP9 ou AV1 et l’audio Opus est aussi largement pris en charge et peut réduire la taille à qualité égale. Pour l’audio, MP3 est un choix unique largement pris en charge. La prise en charge dépend toujours du codec réel et du système de l’utilisateur : teste donc les fichiers eux-mêmes.

Proposer les sources par ordre de priorité
<video controls width="640" height="360" poster="tour.jpg">
  <source src="tour.webm" type="video/webm">
  <source src="tour.mp4" type="video/mp4">
  <p>Your browser cannot play this video.
    <a href="tour.mp4">Download the tour video (MP4)</a>.
  </p>
</video>
<p><a href="tour.mp4">Download the tour video (MP4)</a></p>

Le navigateur essaie les sources enfants dans l’ordre et utilise la première qu’il peut lire. WebM est préféré ici ; MP4 offre une autre possibilité si WebM ne peut pas être lu. Omets src sur le <video> lui-même lorsque tu utilises des sources enfants. Un src sur l’élément multimédia est prioritaire et la liste des sources enfants est ignorée.

Le type est un type MIME qui décrit le fichier. Il permet au navigateur d’ignorer un format non pris en charge sans récupérer d’abord des données multimédias. Un type incorrect peut faire ignorer un fichier lisible : la déclaration doit donc correspondre au fichier réel. Présenter le même encodage incompatible sous un autre nom ne crée pas une solution compatible.

Placer la solution de repli là où elle reste accessible

Le contenu dans <video> sert de repli pour un navigateur qui ne reconnaît pas l’élément vidéo. Un navigateur moderne qui le reconnaît mais ne peut lire aucune source n’affiche pas ce paragraphe interne comme message d’erreur général. Le lien de téléchargement distinct à l’extérieur du lecteur reste accessible dans ce cas. Un lien de repli et des sources de remplacement répondent à des échecs différents.

Appliquer le même principe à l’audio
<audio controls>
  <source src="episode-12.opus" type="audio/ogg; codecs=opus">
  <source src="episode-12.mp3" type="audio/mpeg">
  <p>Your browser cannot play this audio.</p>
</audio>
<p><a href="episode-12.mp3">Download episode 12 (MP3)</a></p>

Ce premier fichier utilise un conteneur Ogg avec de l’audio Opus. La solution MP3 utilise audio/mpeg, le type MIME correct pour le MP3. Le navigateur ne peut pas déduire du paragraphe de repli qu’il doit changer de fichier ; les éléments source permettent ce choix. Lors de la vérification de la page, contrôle les chemins, les formats réels des fichiers et la lecture, puis confirme séparément que le lien de téléchargement extérieur fonctionne.

Points clés

  • La lecture nécessite la prise en charge du conteneur et des codecs.
  • Les sources enfants sont essayées dans l’ordre lorsque l’élément multimédia n’a pas de src.
  • Des types MIME exacts aident les navigateurs à choisir une source lisible.
  • Garde un lien de téléchargement à l’extérieur du lecteur en cas d’échec des sources dans les navigateurs modernes.

4.3 Sous-titres, transcriptions textuelles et minutage WebVTT

Les informations d’un média doivent être accessibles autrement lorsqu’une personne ne peut pas les entendre ou les voir. Les sous-titres pour sourds et malentendants comprennent les paroles, les personnes qui parlent et les sons porteurs de sens. Les sous-titres transcrivent ou traduisent les dialogues pour les personnes qui entendent l’audio mais ont besoin d’aide pour le comprendre. Une transcription textuelle présente les paroles et les sons importants par écrit près du lecteur ou par un lien proche clairement nommé. L’audiodescription décrit les informations visuelles importantes.

Associer une piste de sous-titres
<video controls>
  <source src="intro.mp4" type="video/mp4">
  <track kind="captions" src="intro.en.vtt"
         srclang="en" label="English" default>
</video>
<p><a href="intro-transcript.html">Read the introduction transcript</a></p>

Place <track> après les sources. src pointe vers un fichier de piste de texte, kind indique sa fonction, srclang indique la langue et label fournit le texte du menu du lecteur. Une piste de sous-titres doit avoir srclang ; inclus-le aussi pour les sous-titres pour sourds et malentendants. Une seule piste devrait porter default. Sans kind, la valeur par défaut est subtitles.

Écrire le fichier de sous-titres

WebVTT est du texte UTF-8 enregistré avec une extension .vtt. La première ligne est WEBVTT, suivie d’une ligne vide. Chaque repère comporte ensuite une ligne de minutage et son texte, avec une ligne vide avant le repère suivant. Un identifiant facultatif peut précéder le minutage d’un repère.

WEBVTT

00:00:01.000 --> 00:00:04.500
MAYA: Welcome to the workshop.

00:00:05.000 --> 00:00:07.250
[door closes]

00:00:07.500 --> 00:00:11.000
MAYA: Let's build our first form.

Le premier repère dure 3,5 secondes, le deuxième 2,25 secondes et le troisième 3,5 secondes. Le repère sonore communique quelque chose qu’un auditeur entend alors que personne ne parle.

Respecter exactement la syntaxe du minutage

Les minutes et les secondes utilisent deux chiffres ; les millisecondes en utilisent trois après un point. Les heures peuvent être omises : 01:05.000 signifie une minute et cinq secondes. La fin doit être postérieure au début. Une ligne vide termine un repère : garde donc tout son texte ensemble sans ligne vide au milieu.

SRT utilise des horodatages avec une virgule comme 00:00:01,000 ; une piste nécessite à la place WebVTT. La conversion nécessite l’en-tête WebVTT et des horodatages avec un point, ainsi que la vérification de la syntaxe des autres parties des repères. Renommer une extension .srt ne convertit pas son contenu.

Vérifier la mise à disposition et l’accessibilité

Garde la piste à la même origine que la page : même schéma d’URL, même hôte et même port. Une piste d’une autre origine nécessite un réglage crossorigin adapté sur la vidéo et l’autorisation de ce serveur. Sinon, un fichier correct peut ne pas se charger.

Le critère 1.2.2 des WCAG 2.2 (A) exige des sous-titres pour sourds et malentendants pour les vidéos préenregistrées avec audio, sous réserve de son exception pour les médias de remplacement. Le critère 1.2.1 (A) exige une solution de remplacement pour les contenus préenregistrés uniquement audio, comme une transcription textuelle pour un podcast. Vérifie les noms, les termes techniques, les changements de locuteur et les sons dans les sous-titres automatiques avant publication.

Les autres types de pistes comprennent descriptions, chapters et metadata. Les lecteurs des navigateurs ne les affichent généralement pas comme des sous-titres ordinaires. Ne place pas de consignes visibles essentielles dans une piste de métadonnées en t’attendant à ce qu’elles apparaissent à l’écran.

Points clés

  • Les sous-titres pour sourds et malentendants incluent les sons porteurs de sens et indiquent qui parle ; les sous-titres se concentrent sur les dialogues.
  • Associe un fichier .vtt avec track et indique sa fonction et sa langue.
  • Un repère WebVTT nécessite des horodatages valides avec un point, du texte et une ligne vide de séparation.
  • Vérifie l’exactitude des sous-titres et fournis un accès proche à une transcription textuelle.
  • Les pistes d’une autre origine nécessitent à la fois des réglages du navigateur et l’autorisation du serveur.
5

Intègre une autre page avec soin

Un iframe ouvre une fenêtre sur une autre page web à l’intérieur de la tienne. Cette page apporte son propre code, ses autorisations, son comportement de chargement et sa dépendance à son fournisseur. Donne à la fenêtre un nom utile et des dimensions adaptées, puis choisis quand elle se charge et ce qu’elle peut faire. Comprendre qu’un contenu intégré est un document distinct aide à expliquer les cadres bloqués, les choix de confidentialité et la raison pour laquelle les styles de ta page n’atteignent pas le lecteur d’un autre site.

5.1 Un cadre avec un titre et un lien de repli utilisable

Un <iframe> est un cadre intégré : il affiche une page web distincte dans la page courante. Ce document possède son propre HTML, son CSS et ses scripts. Les styles de ta page peuvent dimensionner le cadre, mais ne mettent pas en forme le contenu d’un autre document à l’intérieur.

Commencer par un cadre clair et dimensionné
<iframe src="https://maps.example.com/venue"
        title="Map of the venue"
        width="600" height="400" loading="lazy"></iframe>
<p><a href="https://maps.example.com/venue">Open the venue map</a></p>

src indique la page à charger. Le titre indique à une personne utilisant un lecteur d’écran ce que contient le cadre avant qu’elle y entre. « Map of the venue » décrit sa fonction ; « iframe » ou « contenu » ne le fait pas. Le lien direct offre un autre accès si le navigateur du visiteur bloque le cadre.

width et height acceptent des nombres simples en pixels CSS. Sans ces attributs, le cadre par défaut mesure 300 × 150 pixels CSS. Les navigateurs dessinent aussi une bordure par défaut. Mets-la en forme avec CSS plutôt qu’avec l’attribut obsolète frameborder.

Adapter le code d’intégration fourni

Les services de cartographie et de vidéo proposent généralement un fragment de code d’intégration parmi leurs commandes de partage. Après l’avoir collé, inspecte l’URL, améliore le titre, vérifie les dimensions et supprime les attributs de présentation obsolètes. Une URL d’iframe est l’adresse d’une page ou d’un lecteur de service, pas nécessairement celle d’un fichier multimédia direct.

Utilise HTTPS pour l’adresse intégrée. Un cadre HTTP dans une page HTTPS est un contenu mixte actif et il est bloqué. Écrire un titre ou modifier les dimensions du cadre ne peut pas, à lui seul, faire charger une URL non sécurisée.

Charger au moment utile

loading="lazy" retarde le chargement d’un cadre jusqu’à ce qu’il soit proche de la zone d’affichage, ce qui évite du travail initial pour une carte située loin en bas de page. La valeur par défaut eager lance le chargement immédiatement. Utilise le chargement immédiat pour un contenu intégré bien visible en haut de page afin que les visiteurs n’attendent pas son contenu principal. Le chargement différé modifie le moment du chargement ; il ne supprime pas le contact réseau lorsque le cadre finit par se charger.

Pour adapter un lecteur à son conteneur, CSS peut fixer sa largeur à 100 % et conserver ses proportions :

iframe.video-player {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0;
}

Applique class="video-player" à l’iframe concerné. Les dimensions HTML fournissent toujours des informations initiales, tandis que CSS contrôle la taille affichée.

Reconnaître le refus d’un fournisseur

Un site peut interdire son intégration dans un cadre grâce au champ d’en-tête de réponse HTTP X-Frame-Options ou à une règle frame-ancestors de Content Security Policy. Le navigateur peut afficher un cadre vide ou une erreur. Ces restrictions aident à empêcher le détournement de clic, où une page intégrée trompeuse intercepte des clics destinés à autre chose.

Le HTML de ta page ne peut pas passer outre le refus de l’autre site. Utilise l’adresse d’intégration autorisée du fournisseur s’il en propose une ; sinon, fournis un lien ordinaire. Garde aussi ce lien en cas de problème ultérieur : si un fournisseur supprime ou déplace son contenu, un iframe inchangé sur ta page peut cesser de fonctionner.

Points clés

  • Un iframe contient un document distinct avec ses propres styles et scripts.
  • Donne à chaque cadre un titre descriptif et des dimensions adaptées.
  • Utilise le chargement différé pour les contenus intégrés hors écran et des URL HTTPS.
  • Un fournisseur peut refuser l’intégration dans un cadre ; propose un lien direct dans ce cas.

5.2 Autorisations, vie privée et choix de l’élément

Un contenu tiers intégré contacte son fournisseur lors de son chargement, même avant que le visiteur lance la lecture. Cette requête révèle des informations comme une adresse IP et peut impliquer des cookies. Décide si la page a besoin de ce contact immédiatement et de quels accès le document intégré a besoin.

Retarder le contact lorsque c’est approprié

Le chargement différé retarde le chargement d’un cadre hors écran jusqu’à ce qu’il soit proche de l’écran. Un aperçu qui ne charge le contenu intégré qu’après un clic donne aux visiteurs un choix plus direct. Certains services proposent aussi des modes renforçant la confidentialité. Un cadre du même site ne contacte pas nécessairement un autre fournisseur ; srcdoc intégré évite de récupérer une page distincte, même si les ressources auxquelles ce HTML fait référence peuvent toujours déclencher des requêtes réseau.

Limiter le comportement du document avec sandbox
<iframe src="https://quiz.example.com/start"
        title="Practice quiz"
        sandbox="allow-scripts allow-forms"></iframe>

Un sandbox vide applique toutes ses restrictions, notamment le blocage des scripts, de la soumission de formulaires et des fenêtres surgissantes, ainsi que l’attribution d’une origine opaque. Des jetons lèvent certaines restrictions. Ici, le questionnaire peut exécuter des scripts et soumettre des formulaires, mais allow-popups n’a pas été accordé. Ajoute uniquement les jetons dont le contenu a besoin ; sinon, une liste d’autorisations copiée peut annuler des limites utiles.

allow-same-origin permet au document de conserver son origine normale. Ne le combine pas avec allow-scripts pour du contenu intégré provenant de ta propre origine : cette combinaison peut permettre au document de supprimer son bac à sable. Un bac à sable ne signifie pas non plus qu’un cadre n’effectue aucune requête réseau.

Accorder séparément les fonctionnalités du navigateur

allow est une politique d’autorisations pour des fonctionnalités comme le plein écran, l’incrustation vidéo, la caméra et le microphone. Un lecteur vidéo peut demander allow="fullscreen; picture-in-picture". Il n’a pas besoin d’accéder à la caméra simplement parce qu’il contient de la vidéo. L’ancien attribut allowfullscreen accorde lui aussi l’accès au plein écran.

Les jetons du bac à sable régissent le comportement du document ; les autorisations de fonctionnalités répondent à une autre question. Accorder le plein écran ne permet pas à lui seul à une page en bac à sable de soumettre un formulaire ou d’exécuter un script.

Contrôler le référent et le contenu intégré directement

referrerpolicy="no-referrer" omet l’adresse de la page référente dans la requête. Avec la politique par défaut habituelle, une requête HTTPS vers une autre origine envoie l’origine plutôt que le chemin complet ; les requêtes vers une connexion moins sécurisée n’envoient aucun référent. Cela contrôle un champ d’en-tête, pas toutes les informations reçues par un fournisseur.

srcdoc fournit directement le HTML du cadre et prend le dessus sur src :

<iframe title="Message preview" sandbox
        srcdoc="<p>Preview of your message</p>"></iframe>

Le bac à sable maintient les restrictions sur ce petit aperçu. Les aperçus HTML plus généraux demandent de faire attention aux ressources et au balisage qu’ils autorisent.

Choisir l’élément selon la ressource
RessourceÉlément
Imageimg
Fichier audio ou vidéoaudio ou video
Page web, carte ou lecteur de serviceiframe
Document externe comme un PDFobject ou embed

<object> peut contenir du contenu de repli, comme un lien de téléchargement, si la ressource ne peut pas être affichée. Les anciens contenus nécessitant un module externe, comme Flash, ne fonctionnent plus dans les navigateurs courants actuels ; Adobe a mis fin à la prise en charge de Flash Player à la fin de 2020. Garde des liens directs à côté des contenus intégrés importants et vérifie régulièrement que le fournisseur les met toujours à disposition.

Points clés

  • Le chargement d’un contenu tiers contacte son fournisseur avant même la lecture.
  • Un bac à sable commence avec des restrictions ; des jetons rétablissent certaines possibilités.
  • Ne combine pas allow-scripts et allow-same-origin pour du contenu de même origine.
  • Utilise allow pour les fonctionnalités nécessaires du navigateur et la politique de référent pour l’adresse de la page référente.
  • Choisis les éléments multimédias pour les fichiers multimédias et les iframes pour les pages distinctes.

Formulaires HTML : exemples

5 Leçons Interactives

1

Crée un formulaire d’inscription à un atelier

20 étapes
Choisis et associe les contrôles, puis suis les valeurs qu’un formulaire d’inscription enverra.
  1. 1
    IntroductionPars des réponses dont tu as besoin

    Une inscription à un atelier nécessite un nom, des coordonnées, le choix d’une séance, des centres d’intérêt facultatifs et un message. Chaque réponse nécessite un contrôle adapté et une étiquette.

    Construis le formulaire par étapes : décide où il envoie les données, choisis les contrôles, puis associe les étiquettes et les consignes. Tu vérifieras à la fois ce qu’un visiteur peut saisir et ce qui arrive au programme destinataire.

  2. 2
    ExplicationChoisis une destination et une méthode

    Utilise <form action="/registrations" method="post"> pour envoyer une inscription à l’URL destinataire. POST place les réponses dans le corps de la requête et convient à une soumission qui crée des données stockées.

    La connexion a toujours besoin de HTTPS pour être chiffrée. Une méthode ne rend pas les informations confidentielles à elle seule, et le HTML ne stocke pas l’inscription ; c’est le programme destinataire qui s’en charge.

  3. 3
    ExempleDonne une clé de données à la réponse

    Commence par <input id="attendee" name="attendee">. Si le visiteur saisit « Nora », le contrôle envoie attendee=Nora.

    Le name indique au programme destinataire de quelle réponse il s’agit. L’id identifie le champ sur la page. Supprimer le nom peut laisser une zone qui semble fonctionner mais n’envoie rien lors de la soumission. Une étiquette sera associée plus tard grâce à l’identifiant.

  4. 4
    DéfiPrévois les champs envoyés

    Un formulaire contient <input name="guest" value="Nora">, <input name="notes" value=""> et une case non cochée nommée updates. Quels champs envoient des données ?

    ---reveal---

    Les champs de texte envoient guest=Nora et notes=. La case non cochée n’envoie aucune paire. Une valeur de texte vide est différente d’une case omise : l’une nomme un champ sans texte ; l’autre est absente des données envoyées.

  5. 5
    ConseilRends l’envoi explicite

    Ajoute <button type="submit">Register</button>. Un bouton dans un formulaire le soumet par défaut : un type explicite rend donc l’intention claire.

    Si tu ajoutes ensuite un bouton pour une action programmée, utilise type="button". Un bouton de réinitialisation rétablit les valeurs initiales et peut effacer toute la saisie du visiteur. Appuyer sur Entrée dans un champ sur une ligne peut aussi déclencher la soumission : le formulaire doit donc fonctionner sans dépendre d’un clic de souris.

  6. 6
    ExplicationChoisis les types de champs pour les coordonnées

    Utilise type="email" pour l’adresse e-mail et type="tel" pour un numéro de téléphone facultatif. Ces types orientent le choix du clavier sur téléphone, mais leurs vérifications diffèrent.

    Le type e-mail vérifie la syntaxe, pas l’existence de la boîte mail. Le type tel n’impose aucun format de téléphone. Un champ de mot de passe masque les caractères à l’écran mais nécessite toujours HTTPS lors de la soumission. Choisis les types selon les informations qu’ils représentent, pas seulement selon le clavier souhaité.

  7. 7
    ExempleGarde les codes sous forme de texte

    Supposons que l’atelier envoie aux membres un code composé de chiffres. Utilise type="text" inputmode="numeric" pour ce code. L’indication de pavé numérique facilite la saisie des chiffres sans transformer le code en quantité.

    Un champ number peut proposer des boutons d’incrémentation et un comportement lié aux quantités, qui ne conviennent pas à un identifiant. inputmode lui-même ne vérifie rien ; un format de code fixe peut recevoir une règle de validation distincte.

  8. 8
    ExplicationCrée un groupe de boutons radio pour choisir une séance

    Propose trois séances avec des boutons radio qui utilisent tous name="session". Donne-leur des valeurs comme morning, afternoon et evening.

    Choisir le bouton de l’après-midi envoie session=afternoon et efface le choix précédent dans ce groupe. Des noms différents permettraient de garder plusieurs séances sélectionnées. Utilise des cases à cocher distinctes pour les centres d’intérêt indépendants, car les visiteurs peuvent en vouloir plusieurs.

  9. 9
    DéfiCorrige un groupe à choix unique

    Deux boutons radio de séance utilisent name="morning" value="morning" et name="afternoon" value="afternoon". Un visiteur peut sélectionner les deux. Quelle modification permet d’en faire un seul groupe ?

    ---reveal---

    Donne aux deux le même nom, comme name="session", en gardant leurs valeurs différentes. Le nom commun crée le groupe ; les valeurs distinctes identifient la séance choisie. Rendre seulement leurs identifiants identiques créerait des identifiants en double sur la page sans corriger le regroupement.

  10. 10
    Point cléDistingue une date affichée de sa valeur

    Un sélecteur de date peut afficher le même jour dans des ordres différents selon les appareils. Un champ de type date envoie toujours une valeur fixe dans l’ordre année-mois-jour, comme 2026-11-18.

    L’affichage suit les paramètres régionaux du visiteur ; la requête ne copie pas cette chaîne affichée. Les champs de date et d’heure ne fournissent pas de fuseau horaire. Un rendez-vous nécessite donc assez de contexte visible pour que le visiteur sache à quel lieu correspond l’heure indiquée.

  11. 11
    ExemplePropose un choix fixe obligatoire

    Une longue liste de lieux d’atelier convient à une liste de sélection. Donne-lui une première option vide, comme <option value="">Choose a location</option>, et ajoute required à l’élément select.

    Chaque option réelle possède sa propre valeur envoyée. Choisir <option value="studio">Main studio</option> envoie la paire clé-valeur stable location=studio lorsque l’élément select est nommé location. Le texte visible peut rester descriptif.

  12. 12
    ExemplePrévois de la place pour un message

    Ajoute <textarea id="message" name="message" rows="5"></textarea> pour une réponse plus longue. Le texte initial se place entre ses balises ; les balises adjacentes gardent ici la valeur initiale vide.

    Rows contrôle la hauteur visible, pas la longueur maximale de la réponse. Une liste de suggestions a une autre fonction : associe-la à l’attribut list d’un champ pour proposer des suggestions tout en autorisant d’autres réponses. Elle ne peut pas imposer les choix fixes d’une liste de sélection.

  13. 13
    DéfiChoisis entre suggestions et réponses fixes

    L’atelier n’autorise que les lieux indiqués, mais quelqu’un remplace la liste de sélection par un champ de texte associé à une liste de suggestions. Le visiteur peut-il maintenant saisir un lieu absent de la liste ?

    ---reveal---

    Oui. Une liste de suggestions propose des réponses sans les restreindre. Garde une liste de sélection lorsque les valeurs autorisées correspondent exactement aux choix fournis. Utilise une liste de suggestions lorsqu’une autre réponse doit rester possible, comme une ville absente des suggestions courantes.

  14. 14
    LienAffiche un état sans recueillir de réponse

    Un indicateur de progression peut montrer l’avancement du traitement d’une inscription. Une jauge peut afficher une mesure dans un intervalle connu, comme l’utilisation du stockage.

    Aucun des deux n’est un contrôle de saisie de réponse. Utilise <progress value="70" max="100">70%</progress> pour l’avancement d’une tâche et ajoute-lui un texte explicatif. Pour un groupe de centres d’intérêt facultatifs et indépendants, utilise des cases à cocher afin que les visiteurs puissent réellement modifier et envoyer leurs choix.

  15. 15
    ExempleAssocie une étiquette visible

    Écris <label for="attendee">Name (required)</label> à côté du champ avec id="attendee". La valeur de for doit correspondre exactement à l’identifiant, casse comprise.

    Cliquer sur l’étiquette devrait donner le focus au champ. Garde l’étiquette visible pendant la saisie ; un texte indicatif ne peut pas remplir ce rôle. L’indication obligatoire informe l’utilisateur de ce qui est attendu, tandis que l’attribut required oblige le navigateur à vérifier la présence d’une valeur.

  16. 16
    ExplicationDonne une question commune aux choix

    Place les boutons radio de séance dans un groupe de champs dont le premier enfant est <legend>Session</legend>. Garde une étiquette distincte pour chaque option radio.

    La légende explique la question commune ; les étiquettes nomment ses réponses. Pour les champs de coordonnées, des valeurs autocomplete exactes comme name, email et tel aident le navigateur à proposer les informations enregistrées. Une aide de format située à proximité peut être associée au champ par aria-describedby, grâce à l’identifiant de cette aide.

  17. 17
    DéfiRepère l’association d’étiquette défectueuse

    Le balisage contient <label for="contact">Email</label> et <input id="email" name="contact" type="email">. Pourquoi cliquer sur l’étiquette ne donne-t-il pas le focus à ce champ ?

    ---reveal---

    La valeur de for correspond au nom, mais pas à l’identifiant. Remplace-la par for="email" ou choisis un nouvel identifiant unique correspondant. Le nom sert déjà à la soumission : modifier l’association de l’étiquette ne nécessite donc pas de changer la clé de données attendue par le programme destinataire.

  18. 18
    ConseilAjoute un champ de fichier avec son encodage

    Si l’inscription nécessite un document, ajoute un champ type="file" doté d’un nom et définis enctype="multipart/form-data" sur le formulaire POST. Cet encodage transmet le contenu du fichier.

    Un filtre accept peut guider le sélecteur de fichiers, mais ne garantit pas ce que le serveur recevra. N’oublie pas non plus que les contrôles désactivés sont omis, tandis que les champs en lecture seule qui prennent en charge cet état sont envoyés. Utilise l’attribut qui correspond au comportement souhaité pour les données.

  19. 19
    DéfiVérifie le formulaire terminé

    Un champ de lieu doté d’une étiquette ne propose que des suggestions par datalist, et le champ d’e-mail possède un identifiant mais pas de nom. Le visiteur doit choisir un lieu dans la liste et le serveur a besoin de l’e-mail. Quelles sont les deux corrections nécessaires ?

    ---reveal---

    Utilise une liste de sélection pour les choix fixes de lieux et ajoute un nom au champ d’e-mail. La liste de sélection contrôle les choix proposés ; le nom donne une clé à l’e-mail envoyé. Une étiquette visible seule ne résout aucun de ces problèmes.

  20. 20
    RécapitulatifLis le formulaire dans les deux sens

    Du côté du visiteur, vérifie le type de contrôle, l’étiquette visible, la question commune et les consignes. Du côté du serveur, vérifie la destination, la méthode, les noms et les valeurs envoyées.

    Clique ensuite sur chaque étiquette et parcours le formulaire avec Tabulation. Ces vérifications repèrent des problèmes différents : un formulaire peut être facile à remplir tout en omettant des données, ou envoyer les bonnes données tout en étant difficile à comprendre.

2

Débogue les règles de validation d’un formulaire

15 étapes
Examine les valeurs manquantes, les longueurs, les pas et les formats fixes pour déterminer pourquoi une soumission est acceptée ou refusée.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionSuis les vérifications qui bloquent l’envoi
  2. 2
    ExplicationRends un pseudonyme obligatoire
  3. 3
    ExempleTeste séparément la présence et la longueur
  4. 4
    DéfiRends le champ facultatif
  5. 5
    ConseilTeste la saisie de l’utilisateur, pas seulement la valeur par défaut
  6. 6
    ExempleApplique d’abord les bornes
  7. 7
    ExempleCompte à partir de la base réelle
  8. 8
    DéfiDistingue le pas du maximum
  9. 9
    LienLis les pas horaires en secondes
  10. 10
    ExplicationVérifie le code fixe de l’organisation
  11. 11
    DéfiTrouve un motif ignoré
  12. 12
    ConseilExplique et affiche l’erreur
  13. 13
    Point cléUne vérification pratique ne garantit pas la fiabilité des données
  14. 14
    DéfiDiagnostique plusieurs erreurs différentes
  15. 15
    RécapitulatifUtilise une courte liste de tests aux limites
3

Crée et vérifie un planning de séances

11 étapes
Crée un tableau lisible, puis fusionne des cellules sans casser la grille ni les relations avec les en-têtes.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionConçois le tableau avant ses balises
  2. 2
    ExplicationNomme le tableau et ses colonnes
  3. 3
    ExempleÉcris une ligne de données complète
  4. 4
    DéfiCorrige un en-tête purement visuel
  5. 5
    ConseilRends clair le sens des cellules vides
  6. 6
    ExempleÉtends une séance sur deux lignes
  7. 7
    DéfiCompte une ligne sous un rowspan
  8. 8
    ExempleÉtends le déjeuner sur les deux salles
  9. 9
    ExplicationAssocie une cellule à plusieurs niveaux d’en-têtes
  10. 10
    DéfiCorrige à la fois l’alignement et le sens
  11. 11
    RécapitulatifSuis une valeur dans le tableau
4

Publie une courte vidéo avec des sous-titres

17 étapes
Crée un lecteur natif, propose des fichiers de remplacement et associe une piste de sous-titres WebVTT fonctionnelle.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionPublie les informations autant que le fichier
  2. 2
    ExempleRéserve un espace pour un lecteur avec commandes
  3. 3
    ExplicationChoisis une indication de chargement adaptée
  4. 4
    DéfiDésactive un réglage booléen
  5. 5
    ConseilPermets de mettre en pause les médias automatiques
  6. 6
    ExplicationVérifie le conteneur et les codecs
  7. 7
    ExempleAjoute d’abord une source préférée
  8. 8
    DéfiTrouve les solutions de remplacement inutilisées
  9. 9
    Point cléGarde une solution de repli à l’extérieur du lecteur
  10. 10
    ExplicationChoisis des sous-titres pour transmettre les informations sonores
  11. 11
    ExempleÉcris le premier repère
  12. 12
    ExempleAjoute un repère pour un son porteur de sens
  13. 13
    ExempleAssocie le fichier après les sources
  14. 14
    DéfiConvertis correctement un horodatage
  15. 15
    ConseilTeste la piste et la transcription textuelle
  16. 16
    DéfiCorrige deux problèmes d’accès distincts
  17. 17
    RécapitulatifVérifie tout le parcours d’accès au média
5

Examine une carte et un questionnaire intégrés

12 étapes
Nomme et dimensionne un cadre, choisis son comportement de chargement et limite-le aux possibilités nécessaires à son contenu.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionConsidère un contenu intégré comme un autre document
  2. 2
    ExempleNomme la carte avant de la charger
  3. 3
    ExplicationDiffère le chargement d’une carte sous le contenu principal
  4. 4
    ConseilInspecte le code d’intégration copié
  5. 5
    DéfiReconnais une règle d’intégration du serveur
  6. 6
    ExplicationCommence le questionnaire avec des restrictions
  7. 7
    Point cléGarde le contrôle de l’origine et des scripts
  8. 8
    DéfiN’accorde au questionnaire que ce dont il a besoin
  9. 9
    LienDistingue la confidentialité du champ d’en-tête de référent
  10. 10
    ExplicationChoisis un élément adapté à la ressource
  11. 11
    DéfiExamine un contenu intégré qui a changé de place
  12. 12
    RécapitulatifExamine le cadre comme une petite dépendance

Formulaires HTML : QCM

40 Questions Pratiques en 4 séries

Série 1 : Recueille et envoie les bonnes réponses10 Questions Pratiques

Question 1 sur 10

Un champ rempli possède id="visitor" mais pas de name. Pourquoi son texte est-il absent des données envoyées par le formulaire ?
  1. Le formulaire a besoin de POST pour inclure un champ de texte.
  2. Le champ a besoin d’un nom pour fournir une clé de données.
  3. Le champ a besoin de required pour inclure sa valeur.
  4. L’identifiant doit correspondre à l’adresse de la page destinataire.
Afficher la réponseMasquer la réponse
Réponse : B
Le navigateur construit les données envoyées à partir des contrôles qui ont un nom : ce champ a donc besoin d’un attribut name. Son identifiant repère l’élément sur la page et peut associer une étiquette, mais ne fournit pas de clé pour l’envoi. Passer la requête de GET à POST ne permettrait pas à ce contrôle sans nom d’envoyer son texte.

Question 2 sur 10

Un site recueille un code de matériel comme "00482". Quelle configuration de champ convient à cet identifiant tout en suggérant un pavé numérique ?
  1. type="number" step="1"
  2. type="range" min="0"
  3. type="tel" multiple
  4. type="text" inputmode="numeric"
Afficher la réponseMasquer la réponse
Réponse : D
Le code de matériel est un texte qui identifie un élément : un champ de texte préserve donc son rôle, y compris les zéros initiaux. Le mode de saisie numérique suggère un clavier de chiffres sans le comportement d’un champ numérique. Un champ numérique traite la saisie comme une quantité et peut afficher des commandes pour l’augmenter ou la diminuer.

Question 3 sur 10

L’étiquette utilise for="address" ; le champ d’e-mail utilise id="email" name="address". Quelle modification unique associe cette étiquette sans changer la clé de données envoyée ?
  1. Remplacer l’attribut de l’étiquette par for="email".
  2. Remplacer l’attribut du champ par type="text".
  3. Remplacer l’attribut du champ par name="email".
  4. Remplacer l’attribut de l’étiquette par name="address".
Afficher la réponseMasquer la réponse
Réponse : A
Une étiquette explicite est associée par l’identifiant du contrôle : for="email" crée donc la correspondance manquante. Le nom peut rester address, ce qui conserve la clé attendue par le programme destinataire. Modifier le nom seul laisserait l’étiquette pointer vers un identifiant qui n’existe toujours pas.

Question 4 sur 10

Une liste de sélection de livraison est obligatoire et sa première option sélectionnée est <option value="">Choose delivery</option>. Que se passe-t-il si l’utilisateur soumet le formulaire sans choisir une autre option ?
  1. Le texte visible de l’invite est envoyé comme valeur.
  2. Le navigateur envoie la première option non vide.
  3. La sélection vide bloque la soumission normale.
  4. La liste est omise tandis que le formulaire est envoyé.
Afficher la réponseMasquer la réponse
Réponse : C
La liste à choix unique obligatoire est invalide tant que sa première option vide reste sélectionnée : la soumission normale est donc bloquée. Le texte de l’invite ne devient pas la valeur, car une valeur vide explicite a été fournie. Le navigateur ne choisit pas silencieusement un autre mode de livraison pour l’utilisateur.

Question 5 sur 10

Un formulaire GET cible /lookup et contient un champ de texte name="term" contenant « css grid », une case non cochée name="archived" value="yes" et un champ désactivé name="region" value="east". Quelle est l’URL de la requête obtenue ?
  1. /lookup?term=css+grid&archived=no&region=east
  2. /lookup?term=css+grid
  3. /lookup?term=css+grid&archived=&region=
  4. /lookup?term=css+grid&region=east
Afficher la réponseMasquer la réponse
Réponse : B
Le champ de texte nommé envoie sa valeur actuelle, avec l’espace encodé par +. La case non cochée et le champ désactivé sont tous deux omis : il ne reste que term=css+grid. Une valeur désactivée n’est pas envoyée simplement parce qu’elle apparaît dans le HTML, et une case non cochée ne crée pas automatiquement une valeur no.

Question 6 sur 10

Deux boutons radio proposent « En ligne » et « En personne », mais les deux restent cochés. Leurs noms sont online et onsite. Comment faut-il modifier le regroupement ?
  1. Leur donner un nom commun et des valeurs différentes.
  2. Leur donner un identifiant commun et des noms différents.
  3. Leur donner required et garder des noms différents.
  4. Leur donner une valeur commune et des noms différents.
Afficher la réponseMasquer la réponse
Réponse : A
Les boutons radio appartiennent à un même groupe de choix grâce à un nom commun. Donne-leur le même nom, comme attendance, et des valeurs différentes qui identifient les deux modes. Required détermine si un groupe nécessite une sélection ; il ne réunit pas dans un même groupe des boutons radio portant des noms différents.

Question 7 sur 10

Un champ de ville propose des suggestions courantes mais doit accepter d’autres villes saisies. Quelle disposition de contrôles convient ?
  1. Une liste de sélection contenant les villes courantes.
  2. Un groupe de boutons radio contenant les villes courantes.
  3. Un champ associé à une liste de suggestions.
  4. Un champ de texte dont le motif se limite aux villes suggérées.
Afficher la réponseMasquer la réponse
Réponse : C
Une liste de suggestions propose des valeurs à un champ de texte associé sans limiter la saisie aux suggestions. Cela convient à une question ouverte sur la ville avec quelques réponses courantes. Une liste de sélection limiterait les choix ordinaires à ses options : remplacer la liste de suggestions par une liste de sélection modifierait donc ce que les visiteurs peuvent saisir.

Question 8 sur 10

Un champ de texte facultatif possède minlength="5". Que devient sa vérification de longueur lorsque l’utilisateur le laisse vide ?
  1. Elle échoue car zéro est inférieur à cinq.
  2. Elle échoue car minlength implique required.
  3. Elle mesure à la place le texte indicatif.
  4. Elle réussit car le champ est vide.
Afficher la réponseMasquer la réponse
Réponse : D
La longueur minimale ne refuse pas un champ facultatif vide : cette vérification de longueur réussit donc. Dès que l’utilisateur saisit du texte, la valeur fournie doit atteindre le minimum. Required est une règle de présence distincte ; ajoute-la lorsque l’absence de réponse doit aussi être bloquée, au lieu d’attendre de minlength qu’il exige une réponse.

Question 9 sur 10

Un formulaire de document utilise GET avec un champ de fichier nommé et l’encodage par défaut. Un bouton d’aide soumet aussi le formulaire. Quelle paire de modifications permet un envoi normal du contenu du fichier et empêche le bouton d’aide de soumettre le formulaire ?
  1. Utiliser POST avec l’encodage multipart ; donner au bouton d’aide le type button.
  2. Utiliser POST avec l’encodage par défaut ; donner au bouton d’aide le type reset.
  3. Garder GET avec l’encodage multipart ; donner au bouton d’aide le type button.
  4. Utiliser POST avec l’encodage multipart ; supprimer le type du bouton d’aide.
Afficher la réponseMasquer la réponse
Réponse : A
L’envoi du contenu d’un fichier nécessite POST et enctype="multipart/form-data", tandis qu’un bouton d’aide qui ne soumet pas le formulaire nécessite type="button". Ces modifications corrigent deux comportements distincts. POST avec l’encodage par défaut ne transmet toujours pas le contenu du fichier, et l’absence de type sur le bouton d’aide conserve son comportement normal de soumission dans un formulaire.

Question 10 sur 10

Un champ de texte contient required="false" minlength="3". L’auteur souhaite qu’il soit facultatif, avec au moins trois caractères pour toute réponse saisie. Que faut-il changer ?
  1. Supprimer minlength mais garder required="false".
  2. Remplacer required par required="optional".
  3. Supprimer required et garder minlength="3".
  4. Remplacer minlength par maxlength="3".
Afficher la réponseMasquer la réponse
Réponse : C
Supprime entièrement required et garde la longueur minimale. Required est booléen : sa présence active le réglage même lorsque sa valeur indique « false ». Conserver minlength permet alors de ne rien saisir tout en refusant une réponse fournie trop courte ; le remplacer par maxlength imposerait une autre règle.
Série 2 : Vérifie les bornes, les motifs et la structure des tableaux10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Quelle unité utilise step="300" sur un champ de type time ?
  1. Jours
  2. Minutes
  3. Millisecondes
  4. Secondes
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Un champ numérique possède min="2" max="14" step="4". Quelle valeur saisie satisfait à toutes ces contraintes ?
  1. 4
  2. 8
  3. 10
  4. 14,5
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Un champ horaire possède min="08:20" max="10:20" step="1200". Combien de valeurs horaires non vides satisfont à ces réglages ?
  1. 7
  2. 6
  3. 8
  4. 9
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Un code obligatoire utilise pattern="[A-Z]{2}-[0-9]{3}". Quel code saisi est accepté ?
  1. « PZ-7314 »
  2. « PZ-731 »
  3. « PZ-73 »
  4. « PZ731 »
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Un champ d’e-mail est obligatoire et possède le motif invalide "[". Un utilisateur saisit « ravi ». Que se passe-t-il lors de la soumission normale ?
  1. La valeur est envoyée car le motif est ignoré.
  2. La valeur est envoyée car required est satisfait.
  3. L’envoi est bloqué uniquement car le motif est mal formé.
  4. L’envoi est bloqué car la syntaxe de l’e-mail reste invalide.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Une ligne de tableau indique la température et l’humidité d’un capteur. Quel élément devrait nommer ce capteur au début de la ligne ?
  1. <td scope="row">
  2. <th scope="row">
  3. <th scope="col">
  4. <caption scope="row">
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Un tableau de mesures possède les en-têtes « Échantillon », « Masse (kg) » et « Temps (min) ». Une ligne du corps est <tr><th scope="row">B</th><td>18</td></tr> ; elle doit indiquer une masse indisponible et un temps de 18 minutes. Comment faut-il corriger la ligne ?
  1. Placer 18 dans la première cellule et supprimer l’en-tête de ligne.
  2. Ajouter colspan="2" à la cellule contenant 18.
  3. Insérer une cellule de masse contenant « n/a » avant la cellule de 18.
  4. Remplacer l’en-tête de temps par une cellule de données vide.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Un tableau à quatre colonnes possède les en-têtes « Heure », « A », « B » et « C ». Dans une ligne, une cellule de A s’étend sur la ligne suivante. Cette ligne suivante a besoin d’un en-tête horaire et d’une entrée commune à B et C. Quelles nouvelles cellules doit-elle contenir ?
  1. Un th horaire et un td avec colspan="2".
  2. Un th horaire et un td avec colspan="3".
  3. Un th horaire et deux td avec chacun colspan="2".
  4. Un th horaire, un td vide et un td avec colspan="2".
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Un clip silencieux en boucle possède des commandes et muted="false". L’auteur souhaite désactiver le réglage initial de coupure du son. Quelle modification le permet ?
  1. Ajouter autoplay="false" à la vidéo.
  2. Supprimer controls de la vidéo.
  3. Définir muted="off" sur la vidéo.
  4. Supprimer muted de la vidéo.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Un fichier MP3 est proposé comme source audio. Quel type MIME sa source doit-elle déclarer ?
  1. audio/mp3
  2. audio/mpeg
  3. video/mpeg
  4. audio/ogg
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Série 3 : Rends les médias et les pages intégrées utilisables10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Quel attribut rend visibles les commandes de lecture du navigateur sur un élément audio ?
  1. controls
  2. poster
  3. preload
  4. playsinline
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Une vidéo énumère des sources enfants WebM puis MP4, mais possède aussi son propre src="preview.mp4". Pourquoi l’ordre des sources enfants ne détermine-t-il pas la lecture ?
  1. Les fichiers MP4 priment toujours sur WebM dans les navigateurs actuels.
  2. Les sources enfants ont besoin d’un nom commun pour former une liste.
  3. Le src du parent prend le dessus sur les sources enfants.
  4. La première source doit répéter le chemin du fichier du parent.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Un sous-titre s’affiche de 00:00:12.250 à 00:00:16.000. Combien de temps ce repère reste-t-il visible ?
  1. 4,25 secondes
  2. 3,75 secondes
  3. 3,25 secondes
  4. 4,75 secondes
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Une vidéo énumère des fichiers source enfants et une piste provenant d’une autre origine. La vidéo possède aussi src="old.mp4". La piste contient du texte WebVTT valide, mais son serveur n’envoie aucune autorisation interorigine et la vidéo n’a pas de réglage crossorigin. Quelle correction complète permet la sélection prévue parmi les sources enfants et le chargement de la piste interorigine ?
  1. Garder le src parent ; activer crossorigin sur la vidéo et l’autorisation du serveur.
  2. Garder le src parent ; déplacer la piste avant les sources enfants.
  3. Supprimer le src parent ; ajouter default à la piste sans modifier le serveur.
  4. Supprimer le src parent ; activer crossorigin sur la vidéo et l’autorisation du serveur.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Un navigateur prend en charge la vidéo mais ne peut pas lire le fichier proposé. La vidéo possède son propre src qui pointe vers ce fichier, ainsi qu’une source enfant que le navigateur peut lire. Son seul lien de téléchargement se trouve dans la vidéo. Quelles modifications du balisage permettent d’utiliser cette source et de conserver une solution de repli visible et fiable ?
  1. Supprimer le src parent ; garder un lien de téléchargement hors de la vidéo.
  2. Garder le src parent ; déplacer le lien de téléchargement hors de la vidéo.
  3. Supprimer le src parent ; laisser le lien de téléchargement uniquement dans la vidéo.
  4. Garder le src parent ; placer la source enfant après le lien intérieur.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Un iframe contient un plan du lieu d’un événement. Quel titre indique le mieux sa fonction à une personne utilisant un lecteur d’écran ?
  1. « Contenu intégré »
  2. « Plan du lieu de l’événement »
  3. « Cadre 1 sur cette page »
  4. « Plan de 600 sur 400 pixels »
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Un questionnaire intégré dans un cadre doit exécuter des scripts et soumettre son formulaire tout en gardant les fenêtres surgissantes bloquées. Quelle valeur de sandbox répond à ces besoins ?
  1. allow-forms allow-popups
  2. allow-scripts allow-popups
  3. allow-scripts allow-forms
  4. allow-same-origin allow-forms
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Un cadre de prévisualisation de même origine exécute du HTML non fiable. Il possède sandbox="allow-scripts allow-same-origin", allow="camera" et referrerpolicy="no-referrer". La prévisualisation nécessite des scripts mais pas de caméra. Quelles modifications des autorisations rétablissent un isolement utile tout en conservant l’exécution des scripts ?
  1. Supprimer camera ; garder les deux jetons sandbox et no-referrer.
  2. Supprimer allow-scripts ; garder camera et allow-same-origin.
  3. Supprimer no-referrer ; garder camera et les deux jetons sandbox.
  4. Supprimer camera et allow-same-origin ; garder allow-scripts.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Une zone de texte multiligne possède rows="4" cols="35" et aucun attribut de longueur. Pourquoi un visiteur peut-il saisir plus de 140 caractères ?
  1. Rows et cols définissent la taille visible, pas la longueur de saisie.
  2. Les zones de texte multiligne ignorent toujours toute règle de longueur.
  3. Cols compte les mots tandis que rows compte les paragraphes.
  4. La méthode du formulaire augmente la limite de saisie du texte.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Un groupe de champs de livraison possède une légende, mais ses boutons radio ont des noms différents et pas d’étiquettes. Un champ d’e-mail distinct possède un identifiant et un texte indicatif, mais pas de nom. La page doit permettre un seul choix de livraison, identifier chaque contrôle et envoyer l’e-mail. Quelle correction répond à ces trois besoins ?
  1. Donner un nom commun aux boutons radio ; étiqueter les boutons et l’e-mail ; laisser l’e-mail sans nom.
  2. Donner un identifiant commun aux boutons radio ; étiqueter les boutons et l’e-mail ; nommer l’e-mail.
  3. Donner un nom commun aux boutons radio ; garder seulement la légende ; nommer l’e-mail.
  4. Donner un nom commun aux boutons radio ; étiqueter les boutons et l’e-mail ; nommer l’e-mail.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Série 4 : Débogue des problèmes HTML combinés10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Une carte située bien en dessous du contenu principal n’a pas besoin de se charger avant que le visiteur s’en approche. Quel réglage de l’iframe demande ce comportement ?
  1. loading="eager"
  2. preload="none"
  3. sandbox="lazy"
  4. loading="lazy"
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Un champ numérique possède value="0.25", sans attribut min ni step. L’utilisateur remplace sa valeur. Quelle saisie respecte la règle de pas par défaut ?
  1. 1,00
  2. 1,25
  3. 1,50
  4. 2,00
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Un code de texte obligatoire doit correspondre à [A-Z]{2}[0-9]{2}. La validation normale du formulaire est activée. Son bouton d’envoi « Enregistrer le brouillon » possède formnovalidate, tandis que « Envoyer » ne le possède pas. Le code est « xy8 ». Que se passe-t-il avec chaque bouton ?
  1. Les deux boutons bloquent la soumission jusqu’à ce que le code corresponde.
  2. Envoyer le soumet ; Enregistrer le brouillon bloque le non-respect du motif.
  3. Enregistrer le brouillon le soumet ; Envoyer bloque le non-respect du motif.
  4. Les deux boutons soumettent le code car il n’est pas vide.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Un tableau à trois colonnes possède un en-tête de première colonne qui s’étend sur deux lignes. Dans la deuxième ligne, un td s’étend sur les deux colonnes restantes. Le td doit faire référence aux en-têtes d’identifiants r, planned et actual. Quel balisage convient pour la deuxième ligne ?
  1. <tr><td colspan="2" headers="r planned actual">12</td></tr>
  2. <tr><td></td><td colspan="2" headers="r planned actual">12</td></tr>
  3. <tr><td colspan="3" headers="r planned actual">12</td></tr>
  4. <tr><td colspan="2" headers="r,planned,actual">12</td></tr>
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Un formulaire POST possède un champ avec name="member" value="K8" readonly, un champ de texte nommé note vide et une case nommée copy non cochée. La requête utilise HTTPS. À quel comportement concernant les données le programme destinataire doit-il s’attendre ?
  1. Seul member arrive ; HTTPS supprime les champs vides.
  2. Member, note et copy arrivent avec leurs valeurs affichées.
  3. Seul note arrive ; les valeurs en lecture seule sont omises.
  4. Member et note vide arrivent ; copy est omis.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

La piste de texte d’une vidéo doit transmettre à la fois des consignes prononcées et un son d’alarme important. Quel type de piste indique cette fonction ?
  1. captions
  2. subtitles
  3. chapters
  4. metadata
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Un lecteur tiers utilise no-referrer et le chargement différé sous le premier écran de la page. Un visiteur fait défiler la page près du lecteur mais ne lance jamais la lecture. Que se passe-t-il lorsque l’iframe se charge ?
  1. Le fournisseur reçoit le chemin complet de la page mais aucune adresse réseau.
  2. Aucune requête n’est envoyée car le visiteur n’a pas lancé la lecture.
  3. Le fournisseur est contacté sans l’adresse de la page référente.
  4. Aucune requête n’est envoyée car no-referrer bloque tout contact.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Un champ de pseudonyme facultatif possède minlength="4". Un utilisateur saisit trois espaces ordinaires. Respecte-t-il la règle de longueur, et pourquoi ?
  1. Oui ; les champs facultatifs ignorent toutes les contraintes de longueur.
  2. Non ; la valeur fournie comporte moins de quatre caractères.
  3. Non ; les espaces sont toujours supprimés avant la vérification.
  4. Oui ; les espaces satisfont au minimum de tout champ facultatif.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Un en-tête de tableau indique « Longueur (m) » et une cellule de données située dessous contient 2.4. Quelle unité correspond à cette valeur ?
  1. Centimètres
  2. Millimètres
  3. Kilomètres
  4. Mètres
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Une vidéo possède src="outdated.mov" ainsi que des sources enfants pour WebM non pris en charge et MP4/H.264/AAC pris en charge, dans cet ordre. Son seul lien de téléchargement est imbriqué dans le lecteur. Quelles modifications permettent à ce navigateur de choisir le fichier enfant lisible et de garder une solution de repli visible si la lecture échoue malgré tout ?
  1. Garder le src parent, préférer WebM et déplacer le lien à l’extérieur.
  2. Supprimer le src parent et placer le lien de téléchargement à l’extérieur.
  3. Supprimer le src parent mais garder le lien uniquement dans la vidéo.
  4. Garder le src parent et remplacer les types de source par video/mp4.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Tu bloques sur ton propre exercice ? Aide aux Devoirs

Mots-Clés

79 Mots-Clés, chacun avec sa définition

A

abréviation d’en-tête
Une abréviation d’en-tête est une formulation plus courte fournie par abbr sur une cellule d’en-tête, que certains lecteurs d’écran utilisent lorsqu’ils répètent cet en-tête.
L’en-tête long « Distance covered in kilometers » peut fournir abbr="Distance" pour une répétition plus courte.
aide associée par aria-describedby
Une aide associée par aria-describedby est un texte explicatif lié à un contrôle par aria-describedby, qui ajoute une description à son étiquette.
Une aide pour un mot de passe, dotée de son propre id, explique « Utilise au moins 8 caractères » avant la soumission du formulaire.
attribut action
L’attribut action précise l’URL à laquelle un formulaire envoie ses données ; s’il est omis, le formulaire cible l’URL de la page courante.
Définir action="/messages" dirige l’envoi d’un message vers l’adresse du site qui reçoit les messages.
attribut autocomplete
L’attribut autocomplete décrit la finalité d’un champ afin que le navigateur puisse proposer les informations enregistrées appropriées pour le remplir.
Un champ de téléphone utilise autocomplete="tel" pour que le navigateur puisse suggérer le numéro de téléphone enregistré de l’utilisateur.
attribut booléen
Un attribut booléen active un réglage HTML par sa présence ; sa valeur écrite n’active ni ne désactive ce réglage.
Un champ avec required="false" reste obligatoire : l’attribut doit donc être supprimé pour le rendre facultatif.
attribut headers
L’attribut headers associe une cellule de données à des cellules d’en-tête précises au moyen d’une liste de leurs identifiants uniques séparés par des espaces.
Une cellule utilisant headers="mon distance planned" pointe vers trois en-têtes qui expliquent ensemble sa valeur.
attribut pattern
L’attribut pattern est un attribut de champ contenant une expression régulière à laquelle la valeur non vide entière doit correspondre pour réussir la vérification de format.
Une organisation peut exiger un code produit comme « ABC-1234 » à l’aide de son propre motif fixe de lettres et de chiffres.
attribut required
L’attribut required est un attribut booléen qui impose une valeur ou une sélection à un contrôle qui le prend en charge pour qu’il puisse réussir la validation.
La case « J’accepte les conditions » doit être cochée lorsqu’elle porte required.
audiodescription
Une audiodescription décrit oralement les détails visuels importants dont une personne a besoin pour comprendre une vidéo sans voir ses images.
Une audiodescription peut expliquer une démonstration silencieuse à l’écran que les dialogues ordinaires ne mentionnent jamais.
autorisation de fonctionnalité
Une autorisation de fonctionnalité accorde à un document intégré l’accès à une capacité du navigateur par allow, sous réserve des autres politiques du navigateur et des choix de l’utilisateur.
Un lecteur reçoit l’autorisation de passer en plein écran sans recevoir l’autorisation inutile d’utiliser la caméra du visiteur.

B

bac à sable
Un bac à sable applique des restrictions au document d’un iframe, certains jetons rétablissant des possibilités précises comme les scripts ou la soumission de formulaires.
Un questionnaire intégré autorise les scripts et les formulaires tout en conservant la restriction du bac à sable qui bloque les fenêtres surgissantes.
base du pas
Une base du pas est le point de départ des incréments, pris dans min, sinon dans une valeur HTML valide, ou à défaut dans la base par défaut du type de champ.
Un champ numérique avec min="1" step="2" autorise 1, 3 et 5 : une saisie de 4 comprise entre les bornes est donc refusée.

C

cadre intégré
Un cadre intégré est un élément iframe qui affiche un document web distinct dans la page courante, avec ses propres styles et scripts.
Une page consacrée à un lieu intègre la page d’un service de cartographie tout en gardant la carte dans une zone rectangulaire définie.
case à cocher
Une case à cocher est un contrôle indépendant, coché ou non, dont la valeur n’est envoyée que lorsque la case est cochée.
Un visiteur peut cocher à la fois « Actualités par e-mail » et « Rappels d’événements », car les choix sont indépendants.
cellule d’en-tête
Une cellule d’en-tête est un élément th qui nomme une ligne ou une colonne et exprime une relation avec les cellules de données associées du tableau.
L’en-tête « Distance (km) » indique la grandeur et l’unité communes à toutes les mesures situées dessous.
cellule de données
Une cellule de données est un élément td contenant une valeur de tableau dont le sens provient des en-têtes associés à sa ligne et à sa colonne.
Dans un tableau avec une ligne « Mercredi » et une colonne « Distance (km) », la valeur 7,5 se lit comme la distance du mercredi en kilomètres.
chargement différé
Le chargement différé retarde la requête d’un iframe jusqu’à ce que le cadre soit proche de la zone d’affichage, ce qui réduit le travail nécessaire au premier affichage de la page.
Une carte située bien en dessous de l’introduction utilise loading="lazy" tandis que le contenu principal en haut de page se charge rapidement.
codec
Un codec encode ou décode un flux multimédia ; un navigateur doit prendre en charge les codecs vidéo et audio réellement présents dans un conteneur.
Un MP4 peut associer une vidéo H.264 à un audio AAC, et les deux flux nécessitent une prise en charge adaptée pour être lus.
commandes de lecture natives
Les commandes de lecture natives sont l’interface de lecture propre au navigateur, activée par controls pour que les visiteurs puissent lancer, mettre en pause, parcourir le média et régler son volume.
Un élément audio devient un lecteur visible et utilisable lorsque la page ajoute l’attribut controls.
conteneur multimédia
Un conteneur multimédia est la structure de fichier qui contient les flux multimédias et les informations associées, généralement identifiée par des extensions comme .mp4 ou .webm.
Deux fichiers MP4 peuvent contenir des flux encodés différemment : l’extension seule ne garantit donc pas leur lecture.
contenu de repli
Le contenu de repli placé dans un élément multimédia est affiché par les navigateurs qui ne prennent pas cet élément en charge ; il ne sert pas de message général pour tous les échecs de lecture.
Un lien de téléchargement à l’extérieur du lecteur reste accessible même lorsqu’un navigateur moderne ne peut pas lire ses sources.
contenu de repli de l’élément object
Un contenu de repli de l’élément object est un contenu imbriqué dans un élément object pour fournir une solution de remplacement lorsque la ressource externe ne peut pas être affichée.
Un élément object intégrant un PDF peut contenir un lien de téléchargement afin que les lecteurs puissent tout de même obtenir le document.
contenu mixte
Un contenu mixte associe une page HTTPS à des ressources demandées par HTTP ; un iframe HTTP est bloqué parce qu’il s’agit d’un contenu actif non sécurisé.
Une page HTTPS consacrée à un lieu doit utiliser l’adresse d’intégration HTTPS de la carte pour éviter le blocage d’un cadre non sécurisé.
contournement de la validation
Un contournement de la validation ignore les vérifications normales de soumission du navigateur, à l’aide de réglages comme novalidate ou d’une requête envoyée en dehors du formulaire.
Un bouton d’envoi « Enregistrer le brouillon » peut utiliser formnovalidate tandis que le bouton ordinaire « Envoyer » conserve les vérifications.
curseur
Un curseur est un contrôle qui permet de choisir un réglage numérique entre des bornes et se cale sur les incréments définis par son pas.
Un curseur de volume peut utiliser min="0" max="10" lorsqu’un réglage approximatif est plus utile qu’une saisie exacte.

D

date et heure locales
Une date et une heure locales associent une date du calendrier à une heure, sans fuseau horaire, comme le permet datetime-local.
Une saisie de rendez-vous peut envoyer 2026-07-09T10:30 ; le lieu doit fournir tout contexte de fuseau horaire nécessaire.
détournement de clic
Le détournement de clic trompe un utilisateur pour l’amener à cliquer sur une interface intégrée dans un cadre, dissimulée ou trompeuse ; les restrictions d’intégration aident les sites à l’empêcher.
Un site peut refuser l’intégration dans un cadre afin que ses boutons ne puissent pas être cachés sous une interface trompeuse sur une autre page.
document de cadre intégré
Un document de cadre intégré fourni avec srcdoc est du HTML écrit directement dans l’attribut de l’iframe, qui prend le dessus sur une URL src.
Un aperçu de message en bac à sable utilise srcdoc="<p>Preview of your message</p>" sans récupérer de page HTML distincte.

E

encodage multipart/form-data
L’encodage multipart/form-data est un encodage de formulaire qui transmet des parties distinctes, notamment le contenu des fichiers, lors d’une soumission POST.
Un formulaire d’envoi de fichier définit enctype="multipart/form-data" afin que les octets du document sélectionné puissent être envoyés.
expression régulière
Une expression régulière est une notation compacte qui décrit des motifs de texte à l’aide de groupes de caractères, de règles de répétition et d’autres opérateurs.
L’expression [A-Z]{3} accepte exactement trois lettres latines de base majuscules lorsqu’elle est utilisée comme motif pour une valeur entière.

É

élément source
Un élément source propose un fichier multimédia de remplacement dans un lecteur et permet au navigateur de choisir, dans l’ordre, la première source qu’il peut lire.
Une vidéo énumère une source WebM avant MP4 afin de préférer WebM lorsque le navigateur peut le lire.
état de validité
Un état de validité indique si un contrôle respecte actuellement ses contraintes ; CSS peut le refléter avec des sélecteurs d’état valide ou invalide.
Le sélecteur :user-invalid peut retarder la mise en forme d’erreur jusqu’à ce que l’utilisateur ait interagi avec le contrôle.
étendue en colonnes
Une étendue en colonnes fait occuper à une cellule de tableau plusieurs emplacements horizontaux de la grille grâce à son attribut colspan, en remplaçant les cellules voisines.
Dans un planning à deux colonnes de jours, une entrée pour le déjeuner avec colspan="2" couvre les deux colonnes à côté de l’en-tête horaire distinct de la ligne.
étendue en lignes
Une étendue en lignes fait occuper à une cellule de tableau sa colonne sur plusieurs lignes : les emplacements couverts dans les lignes suivantes n’ont donc pas besoin d’une nouvelle cellule.
Une séance du lundi avec rowspan="2" occupe déjà l’emplacement du lundi dans la ligne suivante.
étiquette de champ
Une étiquette de champ est un texte associé à un contrôle de formulaire qui fournit son nom accessible et constitue une cible cliquable pour ce contrôle.
Cliquer sur « Adresse e-mail » donne le focus au champ dont l’id correspond à l’attribut for de l’étiquette.

F

formulaire
Un formulaire est un groupe de contrôles qui recueille des saisies liées et envoie les données obtenues à une URL destinataire sous forme de requête.
Un formulaire de contact envoie ensemble le message et l’adresse e-mail d’un visiteur lorsque celui-ci appuie sur « Envoyer ».

G

GET
GET est une méthode de requête qui place les données de formulaire envoyées dans la chaîne de requête de l’URL et convient à la lecture ou à la recherche d’informations.
Une recherche dans un catalogue peut garder ses termes dans l’URL afin que l’adresse des résultats puisse être ajoutée aux favoris.
groupe d’options
Un groupe d’options est un élément optgroup qui place des options liées d’une liste de sélection sous un titre nommé, lequel ne peut pas lui-même être sélectionné.
Le titre « Boissons chaudes » regroupe le thé et le café sans devenir une boisson que l’on peut commander dans le menu.
groupe de boutons radio
Un groupe de boutons radio est un ensemble de champs radio partageant un nom, de sorte que le choix d’une option efface la sélection précédente dans ce groupe.
Trois vitesses de livraison utilisent le même name="speed" et des valeurs distinctes pour permettre une sélection unique.
groupe de champs
Un groupe de champs réunit des contrôles de formulaire liés et permet à une légende commune de nommer le groupe, tandis que chaque contrôle conserve son étiquette.
Un groupe de champs réunit trois boutons radio de livraison sous la question commune « Rapidité de livraison ».
groupe de colonnes
Un groupe de colonnes décrit des colonnes de tableau liées avec colgroup et fournit une structure pour les en-têtes de groupe et certains styles de colonnes.
Les colonnes « Prévue » et « Réelle » partagent un groupe de colonnes défini sous l’en-tête « Distance (km) ».
groupe de lignes
Un groupe de lignes réunit des lignes de tableau selon leur rôle grâce à thead, tbody ou tfoot, en séparant les en-têtes, les données principales et les récapitulatifs.
Dans un carnet de course, la distance totale et le temps total apparaissent dans une ligne de pied à l’intérieur de tfoot, après les lignes du corps.

I

image d’affiche
Une image d’affiche est une image fixe distincte affichée par un élément vidéo avant la lecture et choisie au moyen de son attribut poster.
Une vidéo d’atelier affiche son image fixe d’introduction en attendant que le visiteur lance la lecture.
indicateur de progression
Un indicateur de progression affiche la part accomplie d’une tâche à l’aide d’un élément progress, de sa valeur actuelle et de son maximum.
Une tâche arrivée à 70 sur 100 peut afficher une barre de progression tandis que le texte voisin nomme la tâche.

J

jauge
Une jauge affiche une mesure dans un intervalle connu, comme l’espace de stockage utilisé, au lieu de montrer l’avancement d’une tâche en cours.
Une jauge avec value="0.6" et son intervalle par défaut affiche une mesure à 60 % de cet intervalle.

L

lecture automatique
La lecture automatique demande de lancer la lecture sans appui sur un bouton, mais les navigateurs peuvent la bloquer selon les réglages de son, les interactions et les autorisations.
Un clip d’arrière-plan muet lu dans la page a davantage de chances de démarrer automatiquement qu’un clip qui commence avec du son.
légende
Une légende est le premier élément enfant d’un groupe de champs ; elle nomme le groupe et donne à ses contrôles liés une question ou un contexte commun.
La légende « Préférences de contact » explique pourquoi plusieurs cases à cocher de communication, chacune dotée de son étiquette, apparaissent ensemble.
liste de sélection
Une liste de sélection est un contrôle qui propose un ensemble fixe d’options et envoie la valeur de l’option ou des options sélectionnées.
Un menu de livraison affiche « Express (next day) » tout en envoyant la valeur d’option plus courte express.
liste de suggestions
Une liste de suggestions fournit des valeurs suggérées à un champ associé tout en laissant l’utilisateur libre de saisir une réponse qui ne figure pas parmi ces suggestions.
Un champ de ville suggère « Osaka » et « Nairobi » mais accepte aussi une autre ville saisie par le visiteur.
longueur maximale
Une longueur maximale est la limite supérieure de saisie du texte définie par maxlength ; les navigateurs arrêtent normalement la saisie ordinaire lorsque cette limite est atteinte.
Un champ de nom d’utilisateur avec maxlength="12" cesse d’accepter un treizième caractère latin ordinaire pendant la saisie.
longueur minimale
Une longueur minimale est une limite inférieure du texte saisi définie par minlength, qui autorise tout de même un champ vide sauf si required s’applique aussi.
Un pseudonyme facultatif avec minlength="4" peut être omis, mais un pseudonyme fourni de deux lettres est refusé.

M

maximum
Un maximum est une borne supérieure incluse définie par max, qu’une valeur numérique ou de date et d’heure ne doit pas dépasser pour réussir la validation.
Un champ de date avec max="2026-08-31" autorise le 31 août mais refuse une date ultérieure saisie.
minimum
Un minimum est une borne inférieure incluse définie par min pour un champ numérique ou de date et d’heure ; lorsqu’il est valide, il fournit aussi la base du pas.
Avec min="0.5" step="0.5", un colis peut peser 0,5 kg et les pas suivants commencent à cette valeur.
mode de saisie
Un mode de saisie est une indication concernant la disposition du clavier à l’écran ; il ne valide pas le texte et ne limite pas les caractères que l’utilisateur peut saisir.
Un champ de texte pour un code d’adhérent utilise inputmode="numeric" pour faciliter la saisie des chiffres sur téléphone.

N

nom accessible
Un nom accessible identifie un contrôle ou un cadre auprès des technologies d’assistance afin que sa fonction puisse être annoncée lorsque l’utilisateur l’atteint.
L’étiquette « Numéro de téléphone (facultatif) » indique à une personne utilisant un lecteur d’écran à la fois la donnée demandée et son caractère facultatif.
non-respect du pas
Le non-respect du pas se produit lorsqu’une valeur saisie ne se trouve pas à un nombre entier de pas autorisés de la base applicable.
Une masse de 2,25 kg ne respecte pas un pas d’un demi-kilogramme commençant à 0,5, même lorsqu’elle se trouve dans l’intervalle autorisé du champ.

O

origine
Une origine est la combinaison du schéma d’URL, de l’hôte et du port d’une adresse web, utilisée par les règles du navigateur pour distinguer les limites d’accès aux documents.
Une page intégrée provenant du même hôte HTTPS et du même port peut partager une origine avec le document qui l’entoure.

P

paire nom-valeur
Une paire nom-valeur associe une clé de données envoyée, issue de l’attribut name d’un contrôle, à la valeur fournie par ce contrôle.
Une option sélectionnée peut produire delivery=express, même si son texte visible est « Livraison express ».
pas
Un pas est un incrément autorisé à partir de la base du pas d’un champ, qui limite les valeurs comprises entre ses bornes pouvant réussir la validation.
Un champ horaire avec step="900" utilise des incréments de 15 minutes, car les pas horaires sont mesurés en secondes.
piste de texte
Une piste de texte est une information synchronisée associée à un média par track, avec un type comme captions, subtitles, chapters ou metadata.
Une piste de sous-titres fournit sa langue et un nom dans le menu pour que les spectateurs puissent identifier et activer le texte.
politique de référent
Une politique de référent contrôle la part de l’adresse de la page référente envoyée avec une requête ; no-referrer omet entièrement cette adresse.
Un cadre avec referrerpolicy="no-referrer" contacte toujours son fournisseur mais n’envoie pas l’adresse de la page référente.
portée de l’en-tête
Une portée de l’en-tête indique la direction ou le groupe auquel s’applique un en-tête de tableau, par exemple une ligne ou une colonne.
Dans un tableau de distances quotidiennes, chaque nom de jour utilise scope="row", tandis que l’en-tête de distance utilise scope="col" pour les valeurs situées dessous.
POST
POST est une méthode de requête qui place les données de formulaire envoyées dans le corps de la requête et convient à l’envoi de messages ou à la modification de données.
Un formulaire d’inscription utilise POST, tandis que HTTPS protège la connexion qui transmet les informations personnelles.
préchargement
Le préchargement est une indication concernant la récupération du média avant sa lecture : elle peut demander de ne rien récupérer, de récupérer les métadonnées de base ou éventuellement le fichier entier.
Un long clip utilise preload="none" pour éviter de demander son média à l’avance lorsque beaucoup de visiteurs risquent de ne pas le regarder.

Q

quantificateur
Un quantificateur indique combien de fois l’élément précédent d’un motif peut se répéter, par exemple exactement quatre fois ou entre deux et cinq fois.
Dans [0-9]{4}, le quantificateur exige quatre chiffres : trois chiffres ne suffisent donc pas à compléter le code attendu.

R

rapport largeur-hauteur
Un rapport largeur-hauteur est la relation entre la largeur et la hauteur d’une image ou d’une vidéo, utilisée pour conserver ses proportions lorsque sa taille change.
Un clip de 1 920 × 1 080 a un format 16:9 : un lecteur correspondant de 640 pixels de large mesure donc 360 pixels de haut.
repère WebVTT
Un repère WebVTT est une entrée de texte synchronisé comprenant une heure de début, une heure de fin postérieure et un texte à afficher pendant cet intervalle dans une piste WebVTT.
L’intervalle 00:00:01.000 --> 00:00:04.500 affiche un repère pendant trois secondes et demie.
restriction d’intégration dans un cadre
Une restriction d’intégration dans un cadre est une règle de réponse du fournisseur qui indique aux navigateurs où sa page peut apparaître dans d’autres pages, ou si elle peut y apparaître.
Un cadre bloqué nécessite une adresse d’intégration approuvée ou un lien direct ; modifier son titre ne peut pas passer outre la règle.

S

sous-titres
Les sous-titres transcrivent ou traduisent les dialogues pour aider les spectateurs à comprendre la langue parlée lorsqu’ils peuvent entendre l’audio.
Un spectateur qui entend les dialogues originaux peut utiliser des sous-titres traduits pour en suivre le sens.
sous-titres pour sourds et malentendants
Les sous-titres pour sourds et malentendants représentent les paroles, l’identité des personnes qui parlent et les sons porteurs de sens sous forme de texte synchronisé pour les personnes qui ne peuvent pas entendre l’audio d’un enregistrement.
Un sous-titre comprend « [la porte se ferme] » afin que l’information sonore reste accessible lorsque le lecteur est muet.

T

tableau de données
Un tableau de données organise des valeurs liées en lignes et en colonnes afin que chaque valeur tire son sens des deux dimensions de la grille.
Un carnet de course compare les distances et les temps de plusieurs jours avec une ligne par jour et des colonnes nommées.
titre du tableau
Un titre du tableau est le titre propre à un tableau, placé en premier à l’intérieur de celui-ci afin que les lecteurs puissent en identifier le sujet avant de lire les cellules individuelles.
Le titre « Carnet de course, semaine 12 » distingue les mesures de cette semaine de celles d’un autre tableau sur la page.
transcription textuelle
Une transcription textuelle est une version lisible des paroles et des sons porteurs de sens, fournie sur la page ou par un lien proche clairement nommé.
Une page de podcast place « Lire la transcription de l’épisode » directement sous son lecteur audio pour faciliter l’accès.
type de champ
Un type de champ est le réglage qui choisit le comportement de saisie d’un contrôle, comme un champ d’e-mail, un sélecteur de date ou une case à cocher.
Pour une date d’arrivée, type="date" fournit un sélecteur au lieu d’une zone de texte libre sur une ligne.
type MIME
Un type MIME identifie le format d’une ressource afin qu’un navigateur puisse décider s’il la prend en charge avant de récupérer des données multimédias.
Une source MP3 déclare type="audio/mpeg", ce qui permet au navigateur de reconnaître le format audio prévu.

V

validation côté serveur
La validation côté serveur vérifie les données reçues dans le programme du serveur, car les contrôles et les vérifications du navigateur peuvent être modifiés ou contournés.
Un serveur refuse un code produit mal formé même si quelqu’un a supprimé le motif du champ dans les outils de développement.
validation des contraintes
La validation des contraintes est la vérification par le navigateur des valeurs d’un formulaire selon les types de champs et les attributs avant une soumission normale.
Soumettre un formulaire dont le champ d’e-mail obligatoire est vide donne le focus à ce champ et affiche un message du navigateur.

W

WebVTT
WebVTT est un format de piste de texte UTF-8 qui commence par WEBVTT et contient des repères synchronisés séparés par des lignes vides, généralement enregistré avec l’extension .vtt.
Une piste de sous-titres pointe vers intro.en.vtt, dont les horodatages utilisent des points avant les chiffres des millisecondes.

Z

zone de texte multiligne
Une zone de texte multiligne est un contrôle de texte sur plusieurs lignes dont la valeur initiale est écrite entre ses balises textarea d’ouverture et de fermeture.
Une zone de message définit rows="5" pour la hauteur visible, tandis que maxlength limite séparément le texte saisi.

À propos de cette unité

Par StudeliSignaler une erreur

Crée ton propre Matériel d'Étude

Transforme tes notes, diapos et documents en Guides d'Étude, Questions Pratiques, Flashcards et 6 autres outils.

Commencer