L’élément HTML <main> représente le contenu principal du <body> du document ou de l'application. Le contenu principal de la zone est constitué de contenu directement en relation, ou qui étend le sujet principal du document ou de la fonctionnalité principale d'une application.

Un document ne peut pas avoir plus d'un seul élément <main> sans attribut hidden.

Categories de contenu Contenu de flux, contenu tangible.
Contenu autorisé Contenu de flux.
Omission de balise Aucune, les balises d'ouverture et de fermeture sont toutes les deux obligatoires.
Éléments parents autorisés Tout élément qui accepte du contenu de flux, uniquement si c'est un élément hiérarchiquement correct pour un élément <main>.
Rôles ARIA autorisés Le rôle main est appliqué à <main> par défaut, et le rôle presentation est également autorisé.
Interface DOM HTMLElement

Attributs

Cet élément prend uniquement en charge les attributs universels.

Notes

  • Ce contenu doit être unique dans le document, excluant tout contenu qui est répété sur plusieurs documents comme des barres latérales, liens de navigation, informations relative au droit d'auteur, logo du site, et champs de recherche (sauf, bien entendu, si la fonctionnalité principale du document est un champ de recherche).
  • <main> ne contribue pas au plan du document. Autrement dit, à la différence d'éléments tels que <body>, les niveaux de titre comme <h2>, etc. <main> n'affecte pas la structure même de la page, c'est un élément purement informatif.

Exemples

HTML

<!-- autre contenu -->

<main>
  <h1>Pommes</h1>
  <p>La pomme est le fruit à pépin du pommier.</p>
  
  <article>
    <h2>Pomme rouge</h2>
    <p>Ce sont des pommes rouges vives très communes dans les supermarchés.<p>
    <p>... </p>
    <p>... </p>
  </article>

  <article>
    <h2>La Granny Smith</h2>
    <p>Ces pommes juteuses, vertes, font une très belle garniture pour les tartes aux pommes.<p>
    <p>... </p>
    <p>... </p>
  </article>

</main>

<!-- Autre contenu -->

Résultat

Spécifications

Spécification État Commentaires
HTML 5.1
La définition de '<main>' dans cette spécification.
Recommendation Pas de changement de HTML5
HTML Living Standard
La définition de '<main>' dans cette spécification.
Standard évolutif Retrait de la restriction sur l'interdiction de l'utilisation de l'élément <main> comme descendant d'un élément <article>, <aside>, <footer>, <header>, ou <nav>. Retrait de la restriction interdisant d'utiliser plusieurs fois <main> dans un document.
HTML5
La définition de '<main>' dans cette spécification.
Recommendation Définition intiale.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung Internet
Support simpleChrome Support complet 26Edge Support complet 12Firefox Support complet 21IE Aucun support NonOpera Support complet 16Safari Support complet 7WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet 12Firefox Android Support complet 21Opera Android Support complet OuiSafari iOS Support complet 7.1Samsung Internet Android Support complet Oui

Légende

Support complet  
Support complet
Aucun support  
Aucun support

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
Dernière mise à jour par : NicolasGraph,