<main>

Resumen

El elemento HTML <main> representa el contenido principal del <body> de un documento o aplicación. El área principal del contenido consiste en el contenido que está directamente relacionado, o se expande sobre el tema central de un documento o la funcionalidad central de una aplicación. Este contenido debe ser único al documento, excluyendo cualquier contenido que se repita a través de un conjunto de documentos como barras laterales, enlaces de navegación, información de derechos de autor, logos del sitio y formularios de búsqueda (a menos, claro, que la función principal del documento sea un formulario de búsqueda).

Nota: no debe haber más de un elemento <main> en un documento, y este no debe ser descendiente de un elemento  <article>, <aside>, <footer>, <header>, o <nav>.

Atributos

Este elemento solo incluye  atributos globales.

Ejemplo

<!-- other content -->

<main>
  <h1>Apples</h1>
  <p>The apple is the pomaceous fruit of the apple tree.</p>

  <article>
    <h2>Red Delicious</h2>
    <p>These bright red apples are the most common found in many
    supermarkets.</p>
    <p>... </p>
    <p>... </p>
  </article>

  <article>
    <h2>Granny Smith</h2>
    <p>These juicy, green apples make a great filling for
    apple pies.</p>
    <p>... </p>
    <p>... </p>
  </article>

</main>

<!-- other content -->

Sobre Accesibilidad

Algunos lectores de pantalla reconocen la etiqueta main y proveen un atajo para que el usuario pueda saltar directamente al contenido de esta etiqueta sin tener que pasar por el resto.

Especificaciones

Especificación Estado Comentario
HTML Living Standard
La definición de '<main>' en esta especificación.
Living Standard Eliminada la restricción acerca de usar  <main> como un descendente del elemento <article>, <aside>, <footer>, <header>, o <nav>.
HTML 5.1
La definición de '<main>' en esta especificación.
Recommendation Sin cambios desde HTML5
HTML5
La definición de '<main>' en esta especificación.
Recommendation Definición inicial.

Compatibilidad entre navegadores

BCD tables only load in the browser

Como una caracterisca nueva propuesta para HTML, el elemento <main> no está todavía ampliamente soportado. Es sumamente recomendable añadir el rol ARIA "main" a cualquier elemento <main>:

<main role="main">
  ...
</main>

Ver también