Las seis etiquetas de encabezado de HTML
HTML tiene seis niveles de encabezado, de <h1> a <h6>. <h1> es el nivel superior (el título de la página) y <h6> el más bajo. Los navegadores muestran cada nivel más pequeño que el anterior, todos en negrita y cada uno en su propia línea:
| Etiqueta | Tamaño por defecto | Con texto de 16px |
|---|---|---|
<h1> | 2em | 32px |
<h2> | 1.5em | 24px |
<h3> | 1.17em | 18.72px |
<h4> | 1em | 16px |
<h5> | 0.83em | 13.28px |
<h6> | 0.67em | 10.72px |
<h5> y <h6> son más pequeños que el texto normal por defecto, algo que sorprende a mucha gente. El tamaño es solo un valor por defecto, y las siguientes secciones muestran por qué el nivel nunca debe elegirse por el tamaño.
Los encabezados son el esquema de la página
Los encabezados no son decoración. Juntos forman el esquema de la página, como el índice de un libro. Quienes usan lectores de pantalla saltan de encabezado en encabezado para encontrar lo que buscan, y los buscadores los leen para entender los temas de la página.
La regla es sencilla: un <h1> para el título de la página, <h2> para cada sección principal, <h3> para las subsecciones dentro de un <h2>, y así sucesivamente, sin saltarse niveles. Este ejemplo construye un índice a partir de los encabezados, igual que los ven las herramientas de asistencia:
Cambia el segundo <h3> por <h5> y el esquema muestra un hueco: alguien que navega por encabezados se preguntaría dónde está el h4.
Cambiar el tamaño de un encabezado
Elige el nivel según su posición en el esquema y luego define el aspecto con CSS. El título de una barra lateral puede tener que ser un <h2> pero verse pequeño; el título de una portada puede ser un <h1> muy grande:
Lo mismo vale al revés: no uses una etiqueta de encabezado solo para que un texto sea grande o esté en negrita. Para palabras en negrita dentro de una frase usa <strong>, y para texto grande que no es un encabezado usa un <p> con una clase. Consulta negrita para ver las etiquetas de texto.
Subtítulos y lemas
Un subtítulo justo debajo de un encabezado normalmente no es un encabezado: no empieza una sección nueva. Usa un párrafo y, si quieres, agrupa la pareja con <hgroup>:
El esquema queda limpio (un h1 y luego secciones h2), y el lema sigue visualmente junto al título.
Enlazar a un encabezado
Dale un id a un encabezado y cualquier enlace con #id en su href salta directamente a él. Así funcionan los índices y los botones de "copiar enlace a la sección":
Errores comunes
- Elegir el nivel por su tamaño. Elige por la posición en el esquema y luego dale estilo con CSS.
- Saltarse niveles. Pasar de
<h2>directamente a<h4>rompe la navegación para quienes usan lectores de pantalla. - Encabezados para dar énfasis. Una línea en negrita dentro de un párrafo es
<strong>, no<h4>. - Sin
<h1>, o un logo como único<h1>. El<h1>debe nombrar el contenido de la página, como el título del artículo o del producto. - Encabezados vacíos. Un encabezado con solo un icono o sin nada dentro se anuncia en blanco. Pon texto real en él.
Preguntas frecuentes
¿Cuántas etiquetas de encabezado hay en HTML?
Seis: <h1>, <h2>, <h3>, <h4>, <h5> y <h6>. <h1> es el más importante (el título de la página) y <h6> el que menos. No existe <h7>; una etiqueta así se trata como un elemento en línea desconocido.
¿Cuáles son los tamaños por defecto de los encabezados HTML?
Con el texto por defecto de 16px, los navegadores muestran h1 a 32px (2em), h2 a 24px (1.5em), h3 a 18.72px (1.17em), h4 a 16px (1em), h5 a 13.28px (0.83em) y h6 a 10.72px (0.67em), todos en negrita.
¿Puedo tener más de un h1 en una página?
HTML lo permite, pero un solo <h1> que nombre la página es la estructura más clara para quienes usan lectores de pantalla y para los buscadores. Usa <h2> para las secciones principales debajo de él.
¿Puedo saltarme niveles de encabezado, como pasar de h2 a h4?
Evítalo. Quienes usan lectores de pantalla navegan por nivel de encabezado, y un salto de h2 a h4 sugiere que falta una sección. Elige el nivel según su posición en el esquema y cambia el tamaño con CSS.
¿Cómo cambio el tamaño de un encabezado?
Define font-size en el CSS, por ejemplo h2 { font-size: 20px; } o una clase en un encabezado concreto. Nunca elijas un nivel de encabezado por su tamaño por defecto.