Guide pratique avec exemples visuels et référence de 80+ balises
Le HTML (HyperText Markup Language) est le langage fondamental du Web. Il permet de structurer le contenu de vos pages. Ce mémo est conçu pour être une référence rapide et visuelle pour les développeurs de tous niveaux.
Squelette HTML5
Tout commence ici. Une page HTML bien structurée est la base d'un site robuste. Comprendre le DOCTYPE, la balise html, head et body est essentiel pour garantir que votre page soit correctement interprétée par les navigateurs.
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Titre</title> </head> <body> <!-- Contenu --> </body> </html>
<!DOCTYPE html> - Déclaration HTML5 (obligatoire)<html lang="fr"> - Élément racine + langue<head> - Conteneur métadonnées<body> - Contenu visibleBalises <head>
Le contenu invisible est souvent le plus important pour les moteurs de recherche et les réseaux sociaux. Les balises meta définissent l'identité de votre page, son encodage et son comportement sur mobile.
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="robots" content="index, follow"> <link rel="icon" href="favicon.ico"> <link rel="canonical" href="https://url-officielle.com">
<meta name="viewport" ...> est crucial pour
le Responsive Design.
width=device-width : La largeur de la page s'adapte à la largeur de l'écran
de l'appareil.initial-scale=1.0 : Le niveau de zoom initial est à 100%.⛔ Ne bloquez jamais le zoom
utilisateur avec user-scalable=no pour des raisons d'accessibilité.
Contrôle comment Google/Bing indexent votre page.
index : Autorise l'indexation de la page (apparait dans les résultats).
follow : Autorise les robots à suivre les liens présents sur la page.Contraires : noindex (page privée),
nofollow (ne pas transmettre de "jus" SEO).
La petite icône dans l'onglet du navigateur.
<link rel="icon" type="image/svg+xml" href="logo.svg">
Format recommandé aujourd'hui : SVG (plus léger, redimensionnable) ou
PNG. Le format .ico reste utilisé pour la rétro-compatibilité.
Essentiel pour éviter le Duplicate Content (pénalisant pour le SEO).
Si votre site est accessible via http://site.com, https://site.com
et site.com/index.html, cette balise indique aux moteurs quelle est la SEULE
version officielle à référencer.
defer ou async pour les scripts afin
de ne pas bloquer le rendu.Titres, paragraphes, mise en forme
Le web est avant tout textuel. HTML offre une riche palette de balises pour hiérarchiser (titres), formater (gras, italique) et donner du sens (citations, code) à vos écrits.
strong - texte important (gras)
b - gras sans importance sémantique
em - emphase (italique)
i - italique sans emphase
u - souligné
s - texte barré (obsolète)
del - supprimé / ins - inséré
mark - surligné
small - petit texte
H2O - subscript / X2 - superscript
code - code inline
Ctrl + C - touche clavier
Sortie programme - sample output
x = 5 - variable
Citation courte inline
HTML - abréviation
Titre d'œuvre - citation
Terme - définition
Produit #123
Contact : email@site.com<strong>Important</strong> <b>Gras</b> <em>Emphase</em> <i>Italique</i> <u>Souligné</u> <s>Barré</s> <del>Supprimé</del> <ins>Inséré</ins> <mark>Surligné</mark> <small>Petit</small> <sub>Indice</sub> <sup>Exposant</sup> <code>Code</code> <kbd>Touche</kbd> <abbr title="...">ABR</abbr> <time datetime="2024-01-15">15 jan</time>
"Une citation longue avec la balise blockquote."
<blockquote cite="source.html"> "Une citation longue..." <footer>— Auteur</footer> </blockquote>
Texte
préformaté
avec espaces conservés
<pre> Texte préformaté avec espaces conservés </pre>
Sans <wbr> :
Avec <wbr> :
MotTresLong<wbr>QuiPeutEtreCoupe
<br> - Saut de ligne<hr> - Ligne horizontale<wbr> - Point de coupure optionnelBalise <a>
L'hyperlien est l'essence même du web. Il permet de naviguer de page en page, de télécharger des fichiers ou d'envoyer des emails. La balise annotée <a> est votre outil de navigation principal.
<!-- Externe --> <a href="https://google.com">Google</a> <!-- Nouvel onglet (sécurisé) --> <a href="url" target="_blank" rel="noopener noreferrer">Lien</a> <!-- Interne --> <a href="/page.html">Page</a> <a href="./dossier/page.html">Relatif</a> <!-- Ancre --> <a href="#section">Vers section</a> <section id="section">Cible</section> <!-- Email / Téléphone --> <a href="mailto:contact@site.com">Email</a> <a href="tel:+33123456789">Appeler</a> <!-- Téléchargement --> <a href="doc.pdf" download>Télécharger</a> <a href="doc.pdf" download="nouveau-nom.pdf">Télécharger</a>
Multimédia HTML5
Un site moderne n'est pas que du texte. Images, vidéos et audio enrichissent l'expérience utilisateur. Apprenez à intégrer ces médias tout en optimisant les performances.
<!-- Image simple --> <img src="photo.jpg" alt="Description obligatoire"> <!-- Dimensions + lazy loading --> <img src="img.jpg" alt="..." width="400" height="300" loading="lazy"> <!-- Figure + légende --> <figure> <img src="img.jpg" alt="..."> <figcaption>Légende</figcaption> </figure> <!-- Image responsive --> <picture> <source media="(min-width:800px)" srcset="large.jpg"> <source media="(min-width:400px)" srcset="medium.jpg"> <img src="small.jpg" alt="..."> </picture> <!-- Image cliquable --> <a href="page.html"><img src="btn.png" alt="Bouton"></a>
src : L'image par défaut, chargée par tous les navigateurs.
srcset : Liste d'images avec leur largeur réelle (ex: 400w). Le
navigateur choisira automatiquement la plus adaptée à la résolution de l'écran et à la
bande passante.
sizes : Indique au navigateur la taille que l'image occupera sur l'écran (ex:
(max-width: 600px) 100vw, 50vw), avant même d'avoir chargé le CSS/Layout.
<!-- Vidéo --> <video controls width="640" poster="thumb.jpg"> <source src="video.mp4" type="video/mp4"> <source src="video.webm" type="video/webm"> <track src="sous-titres.vtt" kind="subtitles" srclang="fr"> </video> <!-- Audio --> <audio controls loop muted> <source src="audio.mp3" type="audio/mpeg"> </audio> <!-- Iframe (YouTube, maps...) --> <iframe src="https://youtube.com/embed/ID" allowfullscreen loading="lazy"></iframe> <!-- Canvas / SVG --> <canvas id="c" width="300" height="200"></canvas> <svg width="100" height="100">...</svg>
Image avec
figcaption
Lecteur Audio HTML5
Intégration Vidéo (Iframe)
poster : Image affichée avant que la lecture ne commence (comme une
miniature YouTube).controls : Affiche les boutons lecture/pause/volume du navigateur..vtt contient les sous-titres temporels.
<source> permet au
navigateur de choisir le format qu'il supporte (WebM est souvent plus léger que MP4).
SVG (Scalable Vector Graphics) :
<rect>,
<path>...).
Canvas :
getContext('2d')).Organisation des données
Pour organiser des données structurées, rien de tel que les listes et les tableaux. Utilisés à bon escient, ils rendent l'information complexe lisible et accessible.
<!-- Liste à puces (Unordered) --> <ul> <li>Item A</li> <li>Item B</li> </ul> <!-- Liste numérotée (Ordered) --> <ol> <li>Premier</li> <li>Second</li> </ol> <!-- Définitions --> <dl> <dt>Terme</dt> <dd>Définition du terme...</dd> </dl>
| Nom | Rôle | |
|---|---|---|
| Alice | alice@mail.com | Admin |
| Bob | bob@mail.com | User |
| Charlie | charlie@mail.com | User |
| 3 utilisateurs | ||
<table> <caption>Titre du tableau</caption> <colgroup><col span="2"><col></colgroup> <thead> <tr><th>Col 1</th><th>Col 2</th></tr> </thead> <tbody> <tr><td>A</td><td>B</td></tr> <tr><td colspan="2">Fusionné</td></tr> <tr><td rowspan="2">2 lignes</td><td>X</td></tr> </tbody> <tfoot><tr><td colspan="2">Pied</td></tr></tfoot> </table>
<caption> : C'est le titre sémantique du tableau. Il est lu par les lecteurs
d'écran comme faisant partie intégrante du tableau.
<colgroup> : Permet d'appliquer des styles à des colonnes entières sans mettre
de class sur chaque <td>. Très utile pour fixer des largeurs ou couleurs de
fond.
Inputs et validation
Le point de contact avec vos utilisateurs. Les formulaires permettent de recueillir des données, des inscriptions aux paiements. La variété des types d'input HTML5 facilite grandement la validation.
<form action="/api/login" method="POST"> <label for="email">Votre Email</label> <input type="email" id="email" name="email" required> <button type="submit">Envoyer</button> </form>
Un formulaire implique plusieurs technologies :
required, type="email"). Le navigateur bloque l'envoi si
invalide.:valid,
:invalid, :focus, :checked.
event.preventDefault()) pour envoyer les données en AJAX (sans recharger la
page) ou faire des validations complexes.$_POST ou
$_GET (défini par l'attribut method). ⚠️ Le serveur doit TOUJOURS
revérifier les données, car le HTML/JS peut être contourné.
<input required> <!-- Obligatoire --> <input minlength="3" maxlength="20"> <!-- Longueur --> <input min="0" max="100" step="5"> <!-- Nombre --> <input pattern="[A-Za-z]{3}"> <!-- Regex --> <input placeholder="Indice"> <!-- Placeholder --> <input readonly> <!-- Lecture seule --> <input disabled> <!-- Désactivé --> <input autofocus> <!-- Focus auto --> <input autocomplete="off"> <!-- Pas d'auto-complétion -->
Formulaire thématique complet (Heroic Fantasy)
Ici, nous appliquons tout ce que nous avons appris. Ce formulaire de "Rapport de Fin de Quête" exploite les attributs sémantiques et de validation pour une expérience utilisateur (UX) optimale et une transmission de données propre.
Bureau de l'Aventurier - Royaume de HTMLia
Voici le code source de la démo ci-dessus, annoté pour comprendre chaque paramètre et option.
<!-- FORM : Élément racine. - action : l'URL où les données seront envoyées (script serveur). - method : POST (recommandé pour la sécurité et l'envoi de données). --> <form action="/api/quests" method="POST"> <!-- fieldset regroupe thématiquement les champs --> <fieldset> <!-- legend donne un titre au groupe --> <legend>Identité de l'aventurier</legend> <!-- Le 'for' du label DOIT être identique à l'ID de l'input --> <label for="nom">Nom (Requis) :</label> <input type="text" id="nom" name="hero_name" required placeholder="Ex: Godefroy"> <!-- type="number" : pour les statistiques chiffrées --> <label for="lvl">Niveau (1-99) :</label> <input type="number" id="lvl" name="level" min="1" max="99" value="1"> </fieldset> <!-- Boutons Radio : l'utilisateur choisit UNE seule option parmi N. Ils DOIVENT porter le même 'name' pour fonctionner en groupe. --> <fieldset> <legend>Choix de la classe (Radio)</legend> <input type="radio" id="warrior" name="class" value="warrior" checked> <label for="warrior">Guerrier</label> <input type="radio" id="mage" name="class" value="mage"> <label for="mage">Mage</label> </fieldset> <!-- Checkbox : choix multiples possibles. --> <fieldset> <legend>Équipement (Checkbox - choix multiples)</legend> <input type="checkbox" id="sword" name="gear" value="épée" checked> <label for="sword">Épée magique</label> </fieldset> <!-- select/option : menu déroulant classique --> <label for="mission">Mission :</label> <select id="mission" name="quest"> <option value="slayer">Tuer le Dragon</option> <option value="rescuer" selected>Sauver la Princesse</option> </select> <!-- range : curseur de sélection --> <label for="peril">Difficulté (1-10) :</label> <input type="range" id="peril" name="diff" min="1" max="10" step="1"> <!-- textarea : pour les textes longs (multi-lignes) --> <label for="story">Récit :</label> <textarea id="story" name="story" rows="5"></textarea> <!-- submit : bouton déclenchant l'envoi --> <button type="submit">Sceller le Parchemin</button> </form>
Structure moderne
Le HTML5 a introduit des balises porteuses de sens (header, article, footer) qui remplacent les div génériques. Elles aident les lecteurs d'écran et les robots d'indexation à comprendre la structure logique de votre contenu.
<body> <header> <nav>Navigation</nav> </header> <main> <article> <header>En-tête article</header> <section>Section 1</section> <section>Section 2</section> <footer>Pied article</footer> </article> <aside>Sidebar</aside> </main> <footer>Pied de page</footer> </body>
Contenu caché révélé au clic. Très utile pour les FAQ!
Avec l'attribut open
<!-- Accordéon natif --> <details> <summary>Titre visible</summary> Contenu caché... </details> <!-- Fenêtre modale native --> <dialog id="modal"> <p>Bonjour</p> <form method="dialog"> <!-- Ferme sans JS --> <button>Fermer</button> </form> </dialog> <script> modal.showModal(); // Ouvre avec backdrop </script>
Rendre le web utilisable par tous
L'accessibilité n'est pas une option, c'est un devoir. Un bon HTML est la première étape pour rendre votre site utilisable par les personnes en situation de handicap.
1. Contraste : Le texte et le fond doivent avoir un contraste suffisant (ratio 4.5:1).
2. Structure : Utiliser les balises sémantiques (h1-h6,
nav, button) pour que les lecteurs d'écran comprennent la
page.
3. Clavier : Tout doit être accessible sans souris (Tabulation).
<!-- Alt pour images --> <img src="cat.jpg" alt="Chat noir qui dort sur un canapé"> <!-- Label pour formulaires --> <label for="email">Email</label> <input id="email" type="email"> <!-- ARIA (si HTML ne suffit pas) --> <div role="alert" aria-live="polite">Erreur de connexion</div>
Règle d'or : N'utilisez ARIA que si le HTML ne suffit pas.
❌ Mauvais : <div role="button" onclick="...">Clic</div> (nécessite JS
pour clavier, focus, etc.)
✅ Bon : <button>Clic</button> (Accessible nativement)
ARIA est utile pour des widgets complexes (onglets, modales, sliders) ou pour donner des labels
invisibles (aria-label).
Images adaptatives (Art Direction)
Pour la performance et le design, on ne sert pas la même image à un mobile et à un écran 4K.
L'élément <picture> permet de changer complètement l'image (recadrage, zoom) selon la
taille de l'écran.
Bougez le slider pour simuler la largeur de l'écran. Observez comment l'image change pour garder le sujet visible.
<picture> <!-- Mobile : Image carrée/verticale pour le détail --> <source media="(max-width: 600px)" srcset="img-mobile.jpg"> <!-- Tablette : Image un peu plus large --> <source media="(max-width: 900px)" srcset="img-tablet.jpg"> <!-- Défaut (Desktop) : Grande image large --> <img src="img-desktop.jpg" alt="Paysage Cyberpunk"> </picture>
Optimisation pour les moteurs
La structure de votre code impacte directement votre visibilité. Un code propre, rapide et sémantique est favorisé par Google. Optimisez vos balises pour le référencement.
<meta property="og:title" content="Mon Article"> <meta property="og:image" content="https://site.com/thumb.jpg"> <meta property="og:description" content="Résumé...">
<!-- Lazy loading --> <img loading="lazy" ...> <iframe loading="lazy" ...></iframe> <!-- Preload (Police critique) --> <link rel="preload" href="font.woff2" as="font">
loading="lazy") : Ne charge les
images/iframes que quand l'utilisateur scrolle jusqu'à elles. Économise
énormément de
bande passante initiale.Sans Open Graph, le partage de votre lien sur Facebook/Twitter/LinkedIn sera moche (juste l'URL).
Avec les balises og:*, vous contrôlez l'image, le titre et la
description qui
apparaissent dans le "card" de prévisualisation.
og:image : L'image doit être < 1MB, ratio idéal 1.91:1 (ex:
1200x630px).og:title : Doit être accrocheur (60 caractères max).80+ balises HTML5
Une vue d'ensemble compacte de tout l'arsenal HTML à votre disposition.
<!DOCTYPE>Déclare
la version de HTML utilisée (HTML5). Doit être la première ligne.<!DOCTYPE html>
<html>La
racine
du document. L'attribut lang est recommandé.<html
lang="fr">
<head>Contient
les métadonnées invisibles (titre, scripts, styles).<head>...</head>
<body>Contient
tout le contenu visible de la page.<body><h1>Bonjour</h1></body>
<title>Définit le
titre affiché dans l'onglet du navigateur et les résultats Google.<title>Mon Site</title>
<meta>Métadonnées
diverses : encodage, viewport, description SEO...<meta
charset="UTF-8">
<link>Lie
une
ressource externe (CSS, Favicon).<link
rel="stylesheet"
href="style.css">
<style>Définit
des styles CSS internes au document.<style>body
{
color: red; }</style>
<script>Intègre
ou référence un script JavaScript.<script
src="app.js"></script>
<base>Définit
l'URL de base pour tous les liens relatifs.<base
href="https://site.com/">
<noscript>Affiché
uniquement si JS est désactivé.<noscript>Activez JS
!</noscript>
<header>En-tête
d'une page ou d'une section.<header><h1>Logo</h1></header>
<nav>Section de
liens de navigation principale.<nav><a
href="/">Accueil</a></nav>
<main>Contenu
principal unique de la page.<main>...</main>
<article>Contenu
autonome et indépendant (post, widget).<article><h2>Titre</h2>...</article>
<section>Regroupement thématique de contenu, généralement avec un
titre.<section><h2>Intro</h2>...</section>
<aside>Contenu
indirectement lié au principal (sidebar, pub).<aside>Pub...</aside>
<footer>Pied de
page ou de section.<footer>©
2024</footer>
<address>Informations de contact de l'auteur.<address>contact@site.com</address>
<hgroup>Groupe un
titre et un sous-titre.<hgroup><h1>Titre</h1><p>Sub</p></hgroup>
<h1>Titre
principal (le plus important). 1 par page max.<h1>Titre
Page</h1>
<h2>Titre
de
section.<h2>Chapitre
1</h2>
<h3>...<h6>Sous-titres de h3 à h6 par ordre d'importance
décroissante.<h3>Sous-section</h3>
<p>Paragraphe de
texte. Ajoute une marge par défaut.<p>Texte...</p>
<div>Conteneur
générique de bloc sans sens sémantique.<div
class="box">...</div>
<pre>Texte
préformaté. Conserve espaces et sauts de ligne.<pre>
Code </pre>
<blockquote>Citation longue (bloc).<blockquote>"..."</blockquote>
<hr>Rupture
thématique (ligne horizontale).<hr>
<strong>Importance forte (généralement gras).<strong>Attention</strong>
<em>Emphase
(généralement italique).<em>Important</em>
<mark>Texte
surligné (mise en évidence).<mark>Trouvé</mark>
<cite>Titre d'une
œuvre (livre, film).<cite>Titanic</cite>
<q>Citation
courte inline. Ajoute des guillemets.<q>Bonjour</q>
<dfn>Terme en
cours de définition.<dfn>HTML</dfn>
est...
<abbr>Abréviation
ou acronyme.<abbr
title="Super">Sup.</abbr>
<time>Date ou
heure machine-readable.<time
datetime="2024-01-01">Jan
1</time>
<b>Gras
sans
importance sémantique.<b>Mot</b>
<i>Italique sans
emphase (terme technique, pensée).<i>Latin</i>
<u>Souligné
(non-lien), ex: faute d'orthographe.<u>Faute</u>
<s>Barré
(info
plus valide).<s>10€</s>
5€
<small>Petits
caractères (copyright, mentions légales).<small>©
2024</small>
<sub>Indice.H<sub>2</sub>O
<sup>Exposant.1<sup>er</sup>
<code>Fragment de
code informatique.<code>print()</code>
<kbd>Entrée
utilisateur (clavier).<kbd>Ctrl</kbd> +
<kbd>C</kbd>
<samp>Sortie d'un
programme.<samp>Error
404</samp>
<var>Variable
mathématique ou informatique.<var>x</var>
=
2
<br>Saut
de ligne
contraint.Ligne 1<br>Ligne
2
<wbr>Saut
de
ligne optionnel (Word Break Opportunity).Long<wbr>Mot
<span>Conteneur
générique inline sans sens sémantique.<span
class="red">Mot</span>
<a>Lien
hypertexte vers une autre page, un fichier, ou une ancre.<a href="page.html">Lien</a>
<nav>Section
contenant les liens de navigation principaux.<nav>...</nav>
<img>Image
intégrée. Nécessite alt pour l'accessibilité.<img
src="img.jpg" alt="...">
<figure>Contenu
autonome avec légende optionnelle (image, code, diagramme).<figure><img...></figure>
<figcaption>Légende associée à un parent <figure>.<figcaption>Img 1</figcaption>
<picture>Conteneur pour images responsives (multi-sources).<picture>...</picture>
<source>Définit
une ressource pour <picture>, <audio> ou <video>.<source srcset="img.webp">
<map>Définit une
carte d'image (zones cliquables).<map
name="m">...</map>
<area>Zone
cliquable dans une <map>.<area
coords="0,0,10,10">
<video>Lecteur
vidéo intégré.<video src="v.mp4"
controls>
<audio>Lecteur
audio intégré.<audio src="a.mp3"
controls>
<track>Piste
texte (sous-titres) pour média.<track src="s.vtt"
kind="subtitles">
<iframe>Cadre en
ligne (affiche une autre page web).<iframe
src="https://...">
<embed>Conteneur
pour application externe ou plug-in.<embed
src="f.swf">
<object>Conteneur
générique pour ressource externe.<object
data="doc.pdf">
<param>Paramètre
pour <object>.<param name="autoplay"
value="true">
<canvas>Zone de
dessin bitmap scriptable (JS).<canvas
id="game">
<svg>Graphique
vectoriel (Scalable Vector Graphics).<svg><circle...></svg>
<ul>Liste
non
ordonnée (puces rondes).<ul><li>Item</li></ul>
<ol>Liste
ordonnée (1, 2, 3...).<ol><li>Item</li></ol>
<li>Élément de
liste (List Item).<li>Pain</li>
<dl>Liste
de
description (clé-valeur).<dl><dt>...</dt></dl>
<dt>Terme
à
définir dans une liste de description.<dt>HTML</dt>
<dd>Définition/Description du terme précédent.<dd>Langage...</dd>
<menu>Liste de
commandes (similaire à ul sémantiquement).<menu><li>Copier</li></menu>
<table>Conteneur
de tableau.<table>...</table>
<caption>Titre du
tableau.<caption>Prix</caption>
<thead>Groupe
d'en-tête (lignes de titres).<thead><tr>...</tr></thead>
<tbody>Corps
principal du tableau (données).<tbody>...</tbody>
<tfoot>Pied du
tableau (totaux).<tfoot>...</tfoot>
<tr>Ligne
de
tableau (Table Row).<tr><td>A</td></tr>
<th>Cellule
d'en-tête (gras, centré).<th>Nom</th>
<td>Cellule de
données standard.<td>Bob</td>
<colgroup>Groupe
de colonnes pour styling.<colgroup><col>...
<col>Définit les
attributs d'une colonne.<col span="2"
class="red">
<form>Conteneur
de formulaire pour l'envoi de données.<form
action="/login">
<fieldset>Groupe
d'éléments de formulaire liés.<fieldset>...</fieldset>
<legend>Titre
d'un <fieldset>.<legend>Identité</legend>
<label>Libellé
associé à un champ de formulaire.<label
for="email">Email</label>
<input>Champ de
saisie interactif (nombreux types).<input
type="password">
<textarea>Zone de
texte multiligne.<textarea
rows="5"></textarea>
<select>Menu
déroulant d'options.<select><option>A</option></select>
<option>Option
dans un menu select.<option
value="1">Un</option>
<optgroup>Groupe
d'options dans un select.<optgroup
label="Pays">
<datalist>Liste
de suggestions pour un input.<datalist
id="villes">
<button>Bouton
cliquable (submit, reset, button).<button>Envoyer</button>
<output>Résultat
d'un calcul ou action utilisateur.<output
name="total">
<progress>Progression d'une tâche (téléchargement).<progress value="50" max="100">
<meter>Mesure
scalaire dans une gamme connue (disque utilisé).<meter
value="0.8">
<details>Widget
de divulgation (accordéon) affichant/masquant du contenu.<details><summary>Titre</summary>...</details>
<summary>Légende/Titre visible pour un élément
<details>.<summary>Plus
d'infos</summary>
<dialog>Boîte de
dialogue ou fenêtre modale.<dialog><p>Bonjour</p></dialog>
<script>Code
exécutable (JavaScript).<script>console.log('Hi')</script>
<noscript>Contenu
alternatif si le script est désactivé.<noscript>Activez
JS</noscript>
<template>Contenu
inerte clonable par JavaScript.<template><div>...</div></template>
<slot>Emplacement
(placeholder) dans un Shadow DOM.<slot
name="icon"></slot>
<ruby>Annotation
ruby (typo asiatique).<ruby>漢<rt>kan</rt></ruby>
<rt>Texte
de
l'annotation ruby.<rt>kan</rt>
<rp>Parenthèses
pour navigateurs ne supportant pas ruby.<rp>(</rp>
<bdi>Isolation
bidirectionnelle de texte.<bdi>Username</bdi>
<bdo>Override
bidirectionnel (force la direction).<bdo
dir="rtl">Texte</bdo>