- Aprender
- Informática
- Programación
- Fundamentos de desarrollo web
- Elementos y atributos HTML
Elementos y atributos HTML: estructura de una página web
PrincipianteUnidad 2 de 8 del curso Curso de Fundamentos de desarrollo web
Lo que aprenderás
- Lee y escribe elementos y atributos HTML, prepara un documento completo con su idioma, codificación y metadatos, y revisa el marcado en busca de errores.
- Lee y escribe elementos, etiquetas de marcado y atributosReconoce las partes de un elemento, escribe los atributos correctamente, anida bien los elementos y comprende cómo trata el navegador los espacios y comentarios.
- Prepara la estructura básica del documento y su cabeceraEscribe la declaración de tipo de documento, los elementos html, head y body y los metadatos que necesita cada página, y guarda los archivos con nombres adecuados para la Web.
- Declara el idioma y la codificación de caracteresUsa el atributo lang para indicar el idioma de una página y de sus fragmentos, y usa UTF-8 para que las letras acentuadas y otros sistemas de escritura se muestren correctamente.
- Revisa y corrige tu marcadoEncuentra y corrige errores de HTML con un validador y las herramientas de desarrollo del navegador, y reconoce los errores más frecuentes de los principiantes.
- Lee y escribe elementos, etiquetas de marcado y atributos
- Organiza el texto en una jerarquía clara de encabezados y párrafos, marca el significado dentro de las frases y presenta los elementos en el tipo de lista adecuado.
- Organiza el texto con encabezados y párrafosUsa los seis niveles de encabezado para crear un esquema lógico, escribe párrafos y usa saltos de línea y separaciones temáticas solo donde el contenido los necesite.
- Marca el énfasis, las citas y el código dentro del textoElige el elemento a nivel de texto que corresponda al significado de una palabra o frase: énfasis, importancia, citas, abreviaciones, código, fechas y más.
- Crea listas no ordenadas, ordenadas y de descripcionesElige entre listas no ordenadas, ordenadas y de descripciones según su significado, anida listas correctamente y controla la numeración de las listas ordenadas.
- Organiza el texto con encabezados y párrafos
- Crea enlaces a otros sitios, a páginas de tu propio sitio y a lugares dentro de una página, escribe textos de enlace que tengan sentido y crea menús de navegación claros.
- Crea enlaces con URL absolutas y relativasEscribe el elemento de enlace, elige entre direcciones absolutas, relativas y relativas a la raíz, y enlaza a secciones, direcciones de correo electrónico y números de teléfono.
- Escribe textos de enlace claros y controla cómo se abren los enlacesEscribe textos de enlace que indiquen su destino, enlaza a descargas e imágenes y decide cuándo debe abrirse un enlace en una pestaña nueva.
- Crea menús de navegación y enlaces dentro de la páginaEscribe el marcado de menús del sitio, tablas de contenido, rutas de navegación y enlaces de salto, y mantén una navegación coherente entre las páginas del sitio.
- Crea enlaces con URL absolutas y relativas
- Coloca imágenes en una página con el archivo, tamaño y formato adecuados, y proporciona a cada una una alternativa textual y, cuando sea útil, una leyenda.
- Inserta imágenes con el elemento imgAñade imágenes con img, elige un formato de archivo adecuado, indica el ancho y el alto y mantén tamaños de archivo razonables.
- Escribe texto alternativo y añade leyendas de figuraEscribe texto alternativo adecuado para la finalidad de cada imagen, marca correctamente las imágenes decorativas y usa figure y figcaption para las leyendas.
- Inserta imágenes con el elemento img
- Divide una página en regiones con significado, elige el elemento adecuado para cada bloque de contenido y combina todo en una página completa y bien estructurada.
- Marca las regiones principales de la páginaUsa header, nav, main, aside y footer para marcar las regiones de una página y comprende cómo se convierten en puntos de referencia para la tecnología de apoyo.
- Elige entre article, section, div y spanDecide si un bloque de contenido es un artículo, una sección o solo un contenedor para estilos, y anida correctamente estos elementos y sus encabezados.
- Planifica y escribe el marcado de una página completaPlanifica la estructura de una página antes de escribir código y combina metadatos, encabezados, texto, listas, enlaces, imágenes y regiones de página en una página válida.
- Marca las regiones principales de la página
Guía de estudio de Elementos y atributos HTML
1Escribe documentos HTML bien estructurados
Cada página comienza con texto que el navegador convierte en un árbol de elementos. Aprende a leer esa estructura, añadir atributos y crear un documento con los metadatos adecuados. La configuración del idioma y la codificación ayuda a la misma página a manejar distintos tipos de texto. También compararás tu código fuente con el resultado analizado por el navegador y usarás un comprobador de HTML para encontrar errores que una vista normal de la página puede ocultar.
1.1 Elementos, atributos y anidamiento
HTML etiqueta las partes de una página para que el navegador pueda construir su estructura. Un encabezado, un párrafo y un enlace tienen significados distintos, incluso antes de añadir estilos. HTML describe el contenido; CSS controla su apariencia y JavaScript añade comportamiento.
Lee un elemento
En <p>The workshop opens at noon.</p>, <p> es la etiqueta de apertura, la frase es el contenido y </p> es la etiqueta de cierre. El conjunto es un elemento de párrafo. La barra indica la etiqueta de cierre. Usa nombres de elementos en minúsculas para mantener la coherencia del código fuente, aunque HTML también acepta nombres en mayúsculas.
Un atributo añade información dentro de una etiqueta de apertura:
<a href="hours.html" title="Workshop opening hours">Opening hours</a>
Aquí href proporciona el destino y title proporciona texto informativo. Separa los atributos con espacios y pon sus valores entre comillas rectas. Su orden no cambia su significado. Las comillas mantienen unido un valor: class="intro note" da dos nombres de clase, mientras que class=intro note se interpreta como un valor de clase y un atributo separado llamado note.
Coloca elementos unos dentro de otros
Un párrafo puede contener una palabra con importancia destacada:
<p>Bring your <strong>booking number</strong>.</p>
Abre el párrafo, abre el elemento strong, cierra el elemento strong y después cierra el párrafo. Cierra primero el elemento que se abrió más recientemente. El párrafo es el padre y el elemento strong es su hijo. Los hijos y todo lo que contienen son descendientes. El navegador organiza estas relaciones en el DOM, un árbol del contenido de la página.
No todos los elementos pueden ir dentro de cualquier otro elemento. Por ejemplo, una lista no puede estar dentro de un párrafo. La sangría ayuda a ver el anidamiento, pero añadir espacios no puede hacer válida una relación padre-hijo que no lo es.
Reconoce tipos especiales de elementos y atributos
Los elementos vacíos no tienen contenido ni etiqueta de cierre. Algunos ejemplos son <img>, <br>, <hr>, <meta> y <link>. Escribe <br>, sin </br>. Una barra final en <br /> no tiene efecto en HTML.
Un atributo booleano está activado cuando está presente. En una lista ordenada, reversed hace que la numeración cuente hacia atrás. Escribir reversed="false" sigue dejando el atributo presente, por lo que la cuenta sigue siendo descendente. Elimina el atributo para desactivarlo.
Algunos atributos funcionan en distintos elementos:
| Atributo | Significado |
|---|---|
id | Un identificador único dentro de la página, sin espacios |
class | Uno o varios nombres separados por espacios que los elementos pueden compartir |
lang | El idioma del contenido del elemento |
title | Texto informativo, que suele mostrarse al pasar el ratón |
hidden | Marca contenido que no se muestra en ese momento |
Interpreta los espacios y comentarios del código fuente
En el texto normal, varios espacios, tabulaciones o saltos de línea del código fuente se reducen a un solo espacio. Escribir un párrafo en tres líneas del código fuente sigue produciendo un solo párrafo en pantalla. Usa elementos para expresar la estructura y sangría en el código fuente para facilitar su lectura.
Un comentario tiene este aspecto: <!-- Menu starts here -->. Está oculto en la página mostrada, pero es visible en el código fuente. Nunca pongas contraseñas ni información privada en comentarios. Los comentarios no se pueden anidar: el primer --> termina el comentario.
Puntos clave
- Un elemento incluye sus etiquetas y contenido; los atributos van en su etiqueta de apertura.
- Pon los valores de los atributos entre comillas y cierra los elementos anidados de dentro hacia fuera.
- Los elementos vacíos no tienen etiqueta de cierre.
- Un atributo booleano se activa por su presencia, aunque su valor diga «false».
- Usa identificadores únicos y nombres de clase compartidos; los espacios en blanco normales del código fuente se reducen.
1.2 La estructura básica del documento y la información de la página
Una página completa separa la información sobre el documento del contenido que leen las personas. Empieza con una estructura básica pequeña y coherente y añade después el título y el contenido del cuerpo propios de la página.
Construye la estructura básica
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Opening Hours – Harbor Café</title>
</head>
<body>
<h1>Harbor Café</h1>
<p>Open every day except Monday.</p>
</body>
</html>
<!DOCTYPE html> indica al navegador que use el modo de estándares, sus reglas normales de renderizado moderno. Es una declaración, no un elemento. Omitirla puede activar el modo de compatibilidad, que imita el comportamiento de navegadores antiguos y puede cambiar la disposición y los tamaños.
<html> es el elemento raíz. Sus dos elementos hijos son <head> y <body>. La cabecera contiene metadatos, información sobre la página. El cuerpo contiene el contenido visible. Un <h1> pertenece al cuerpo, aunque el navegador parezca recuperarse cuando lo pones en la cabecera.
Da identidad a la página
El <title> aparece en la pestaña del navegador, los marcadores y el historial. Los buscadores también pueden usarlo como título de un resultado. Da a cada página normal exactamente un título, dentro de la cabecera. Pon primero el tema específico, seguido del nombre del sitio, como «Horario de apertura, Café del Puerto». El <h1> visible y el título del documento son elementos separados con funciones distintas.
Coloca <meta charset="utf-8"> primero en la cabecera. La declaración completa debe estar dentro de los primeros 1024 bytes del archivo. Una declaración temprana permite al navegador descubrir cómo decodificar el texto antes de haber leído gran parte de la página.
La línea del área de visualización pide a los navegadores móviles que usen el ancho del dispositivo para la disposición y un zoom inicial de 1. Sin ella, muchos usan un área de visualización virtual ancha de escritorio y reducen el resultado, por lo que el texto parece pequeño. Esta línea prepara el documento para la disposición en móviles; los estilos de la página siguen determinando cómo se ajusta su contenido.
Conecta otros recursos de la página
Entre los elementos que suelen añadirse a la cabecera están:
<meta name="description" content="Fresh bread, coffee and lunch by the harbor.">
<link rel="icon" href="favicon.png">
<link rel="stylesheet" href="styles.css">
<script src="app.js" defer></script>
La descripción resume la página y puede aparecer en los resultados de búsqueda. El icono proporciona la imagen de la pestaña. El enlace a la hoja de estilo conecta un archivo CSS. El elemento script conecta JavaScript; defer retrasa su ejecución hasta que se haya analizado el documento. A diferencia de <link> y <meta>, <script> necesita una etiqueta de cierre incluso cuando su contenido está vacío.
Guarda un archivo de página web
Guarda texto sin formato en un editor de código con la extensión .html. Un procesador de textos puede añadir formato que no corresponde a un archivo de código fuente HTML. La página predeterminada de una carpeta se llama por convención index.html; la mayoría de los servidores web la envían cuando alguien solicita la dirección de la carpeta.
Elige nombres en minúsculas con guiones, como opening-hours.html. Los espacios se convierten en %20 en las URL y muchos servidores distinguen mayúsculas de minúsculas. Comprueba que el editor no haya guardado tu página como index.html.txt. Después de guardarla, abre el archivo HTML en el navegador y actualiza la página cuando hagas un cambio.
Puntos clave
- Pon la declaración de tipo de documento primero, los metadatos en
<head>y el contenido de la página en<body>. - Usa un
<title>específico y coloca la declaración UTF-8 al principio. - Incluye el elemento meta del área de visualización para dispositivos móviles.
<script>necesita una etiqueta de cierre;<meta>y<link>no.- Guarda archivos
.htmlde texto sin formato con nombres coherentes en minúsculas;index.htmles la página predeterminada habitual de una carpeta.
1.3 Idiomas, UTF-8 y caracteres especiales
El idioma del texto y la forma en que se almacenan sus caracteres responden a preguntas distintas. Un navegador necesita ambos datos para presentar la página correctamente, sobre todo cuando el contenido incluye acentos o más de un sistema de escritura.
Indica el idioma del contenido
Escribe el idioma principal en el elemento raíz: <html lang="en">. Los lectores de pantalla pueden elegir la pronunciación a partir de esta información y los navegadores pueden usarla para la traducción y la ortografía. Una etiqueta de idioma comienza con un código de idioma. Una segunda parte opcional puede indicar una región o escritura.
| Etiqueta | Idioma del contenido |
|---|---|
en | Inglés |
en-US | Inglés de Estados Unidos |
en-GB | Inglés británico |
fr-CA | Francés de Canadá |
zh-Hans | Chino en caracteres simplificados |
La etiqueta describe el contenido, no la ubicación del visitante. uk significa ucraniano, así que no es la etiqueta del inglés del Reino Unido.
Marca un cambio de idioma en el elemento adecuado más cercano:
<p>Our host said <span lang="fr">bon appétit</span>.</p>
Solo la expresión francesa recibe pronunciación francesa. Para una cita completa, el idioma puede ir en su <blockquote>. Una página de derecha a izquierda también necesita su dirección base del texto, por ejemplo <html lang="ar" dir="rtl">. Las letras árabes siguen de derecha a izquierda sin ese atributo, pero la dirección base afecta a la alineación de los párrafos, la puntuación y el texto que mezcla direcciones.
Haz coincidir los bytes guardados y la declaración
Una codificación de caracteres asigna caracteres a bytes almacenados. UTF-8 puede representar todos los caracteres Unicode, incluidas las letras acentuadas, otros sistemas de escritura y los emojis. Los documentos HTML usan UTF-8.
Hay dos pasos: guardar el archivo real como UTF-8 en el editor y declarar <meta charset="utf-8"> al principio de la cabecera. La declaración indica al navegador cómo leer los bytes; no convierte un archivo guardado con otra codificación. Una declaración de codificación del servidor en su cabecera Content-Type tiene prioridad sobre el elemento meta.
Una incompatibilidad de codificación suele dejar una pista. El texto UTF-8 «Café» leído como Windows-1252 puede convertirse en «Café» porque los dos bytes de «é» se interpretan por separado. Un archivo Windows-1252 leído como UTF-8 puede mostrar en cambio «Caf�» porque el byte no es válido en UTF-8. Comprueba la codificación del editor y la información del documento recibido por el navegador antes de sustituir letras individuales.
Muestra caracteres que HTML usa como sintaxis
Para mostrar texto literal que parece una etiqueta, escribe referencias de caracteres:
<p>Use <p> for paragraphs.</p>
La página muestra la frase con
como texto literal. El < debe representarse como < para que el navegador no empiece una etiqueta. Cada referencia con nombre comienza con & y termina con ;.
| Referencia | Carácter o efecto mostrado |
|---|---|
< y > | Signos menor que y mayor que |
& | Signo et |
" | Comilla doble, útil dentro de un atributo entre comillas |
| Un espacio que impide un salto de línea |
© | Símbolo de derechos de autor |
Por ejemplo, 10 km mantiene el número y la unidad en la misma línea. Los caracteres acentuados normales pueden escribirse directamente en un archivo UTF-8; no necesitas una referencia distinta para cada acento.
Puntos clave
langidentifica el idioma del contenido;direstablece la dirección base del texto.- Marca un cambio de idioma en el elemento que contiene ese fragmento.
- Guarda el archivo como UTF-8 y declara UTF-8; una declaración no convierte los bytes almacenados.
- Usa referencias de caracteres cuando un carácter literal pueda confundirse con sintaxis HTML.
1.4 Detección y corrección de errores de marcado
Un navegador intenta mostrar una página incluso cuando su HTML es incorrecto. Esa útil recuperación puede ocultar errores, por lo que revisar una página implica examinar tanto el código fuente que escribiste como la estructura que construyó el navegador.
Compara el código fuente con el DOM
Ver código fuente de la página muestra el HTML recibido por el navegador. El panel Elementos o Inspector de las herramientas de desarrollo muestra el DOM, el árbol analizado que usa el navegador. Es posible que el navegador haya cerrado un elemento antes de tiempo o movido contenido a otro lugar durante el análisis.
Abre el inspector haciendo clic derecho en la página y eligiendo Inspeccionar, o usa el atajo de las herramientas de desarrollo de tu navegador. Selecciona un elemento mostrado y observa su padre y sus hijos. Después busca la misma zona en el código fuente. Las diferencias pueden explicar espacios inesperados, enlaces que se extienden demasiado o estilos aplicados a los elementos equivocados.
Sigue una reparación automática
Supongamos que escribes:
<p>Our soups:
<ul>
<li>Tomato</li>
<li>Lentil</li>
</ul>
</p>
Un párrafo admite contenido a nivel de texto, no una lista. Al llegar a <ul>, el navegador cierra el párrafo. La lista se convierte en un bloque separado. El </p> final no tiene ningún párrafo abierto que cerrar, por lo que el análisis puede crear un párrafo vacío adicional.
La corrección que necesitas pertenece al código fuente:
<p>Our soups:</p>
<ul>
<li>Tomato</li>
<li>Lentil</li>
</ul>
Mueve la etiqueta de cierre del párrafo antes de la lista. Ahora el DOM puede expresar la relación prevista sin recuperación de errores.
Usa un comprobador de HTML
El Nu Html Checker del W3C acepta la dirección de una página, un archivo cargado o HTML pegado. Informa de errores y advertencias con sus ubicaciones. Empieza por el primer error, corrígelo y ejecuta de nuevo el comprobador. Una sola comilla ausente puede provocar muchos mensajes posteriores, por lo que editar todas las líneas señaladas a la vez puede hacerte perder tiempo.
Por ejemplo, a <a href="about.html> le falta la comilla de cierre. El navegador puede tratar el marcado siguiente como parte del valor del atributo. Corregir la comilla puede eliminar varios errores posteriores. Del mismo modo, un </a> ausente puede hacer que texto no relacionado se una al enlace.
Busca especialmente:
- Elementos cerrados en el orden incorrecto o nombres mal escritos como
<pargraph>. - El mismo
idusado dos veces en una página. - Un
<li>fuera de su lista. - Una imagen sin atributo
alt. - Contenido visible colocado en la cabecera.
Comprueba el significado además de la sintaxis
Un resultado sin errores del comprobador te indica que el marcado probado sigue sus reglas. No puede decidir si «Haz clic aquí» es un texto de enlace útil o si el texto alternativo de una imagen da la información adecuada. Lee la página en orden y comprueba esas decisiones por ti mismo.
Antes de terminar una página, comprueba la declaración de tipo de documento, el idioma del documento, la declaración temprana de UTF-8 y el título específico. Revisa los niveles de encabezado, los identificadores únicos, las alternativas de las imágenes y los destinos de los enlaces. Abre la página en al menos dos navegadores y sigue sus enlaces. Una ruta relativa válida puede apuntar a un archivo que no existe, algo que una comprobación de sintaxis por sí sola no detectará.
Puntos clave
- La recuperación del navegador puede hacer que un HTML no válido parezca funcionar.
- Compara el código fuente recibido con el DOM analizado para encontrar reparaciones.
- Corrige el primer error del comprobador y vuelve a comprobar antes de abordar los mensajes posteriores.
- Comprueba por ti mismo el significado del contenido, las imágenes y los destinos después de revisar la sintaxis.
2Estructura el texto con encabezados, párrafos y listas
Una estructura de texto clara ayuda a las personas a recorrer una página y comprender cómo se relacionan sus ideas. Los encabezados y párrafos crean el esquema; los elementos a nivel de texto añaden significado dentro de él. Las listas agrupan elementos y secuencias sin depender del espaciado visual. Elige cada elemento según la finalidad del contenido, incluso cuando el texto en negrita, las viñetas o los saltos de línea predeterminados del navegador hagan que distintas opciones parezcan similares.
2.1 Encabezados, párrafos y separaciones
Los encabezados dan a los lectores un mapa de la página. Los párrafos contienen frases relacionadas dentro de ese mapa. Elige sus elementos según la estructura del contenido y deja que CSS establezca su apariencia.
Crea un esquema de encabezados
HTML tiene seis niveles de encabezado, de <h1> a <h6>. Usa un <h1> para el tema principal de la página, <h2> para sus secciones principales y <h3> para las partes dentro de una sección <h2>. La mayoría de las páginas solo necesitan unos pocos niveles.
<h1>Growing Basil at Home</h1>
<p>Basil grows well on a sunny windowsill.</p>
<h2>Planting</h2>
<p>Sow the seeds 0.5 cm deep in moist soil.</p>
<h2>Care</h2>
<h3>Watering</h3>
<p>Water when the top of the soil feels dry.</p>
<h3>Harvesting</h3>
<p>Pick the top leaves first.</p>
Lee solo los encabezados. «Plantación» y «Cuidados» son secciones principales del mismo nivel. «Riego» y «Cosecha» pertenecen a «Cuidados». Este esquema sigue siendo útil cuando un lector de pantalla enumera los encabezados o cuando un lector repasa rápidamente la página.
Un encabezado solo puede bajar un nivel respecto al encabezado anterior: después de <h1>, usa <h2>, no <h3>. Al volver hacia arriba se pueden saltar varios niveles. Un <h2> después de un <h4> comienza una nueva sección principal. Los niveles de encabezado siguen todo el documento, incluido el contenido dentro de secciones y artículos.
El estándar HTML permite varios encabezados de nivel superior, pero un solo <h1> principal es el patrón habitual y claro. No elijas <h4> solo porque su texto predeterminado sea más pequeño. Un párrafo en negrita puede parecer un encabezado, pero no aparecerá en la lista de encabezados de un lector de pantalla.
Distingue un subtítulo de una sección
Un lema describe el encabezado al que acompaña; no introduce una sección nueva. Agrupa un encabezado y un subtítulo en <hgroup>:
<hgroup>
<h1>Harbor Café</h1>
<p>Fresh bread every morning</p>
</hgroup>
El párrafo sigue siendo un subtítulo. Convertirlo en <h2> lo situaría incorrectamente en el esquema de la página como una sección principal.
Usa párrafos para frases relacionadas
Un elemento <p> contiene un párrafo. Empieza un párrafo nuevo cuando cambie el tema o el paso de la explicación. Los navegadores añaden espacio visible alrededor de los párrafos de forma predeterminada.
Pulsar Intro en el código fuente HTML normal no crea un párrafo nuevo en pantalla. Del mismo modo, los elementos <p> vacíos no son una herramienta de espaciado. Mantén una estructura con significado y establece el espacio adicional con CSS.
Elige una separación según su significado
| Elemento | Uso |
|---|---|
<br> | Un salto de línea que pertenece al texto, como en un poema o una dirección postal |
<hr> | Una separación temática, como un cambio de escena |
Para una dirección, <p>Harbor Café<br>12 Quay Street<br>Port Town</p> mantiene las líneas juntas como un solo párrafo. Repetir elementos <br> entre párrafos normales confunde la estructura del contenido con el espaciado. Una línea horizontal dibujada por <hr> expresa un cambio de tema; elígelo por ese significado, no solo para decorar la página.
Puntos clave
- Los niveles de encabezado expresan jerarquía; usa un solo
<h1>principal y encabezados descriptivos para las secciones. - No omitas un nivel de encabezado al profundizar en el esquema.
- Usa
<hgroup>con un párrafo para un subtítulo. - Usa
<p>para párrafos,<br>para saltos de línea del contenido y<hr>para cambios de tema.
2.2 Significado dentro del texto
Los elementos de texto indican al navegador qué significa una palabra o un fragmento. Su apariencia predeterminada en negrita, cursiva o con sangría es solo un estilo inicial. Elige primero el significado.
Distingue énfasis, importancia y atención
| Elemento | Significado | Ejemplo |
|---|---|---|
<em> | Énfasis que afecta a cómo se entiende una frase | I <em>did</em> lock the door. |
<strong> | Importancia, gravedad o urgencia | <strong>Warning:</strong> |
<i> | Una voz alternativa, un término técnico o una expresión extranjera | <i lang="la">Homo sapiens</i> |
<b> | Atención sin importancia adicional | El nombre de un producto en una reseña |
Cambiar el énfasis en «Sí cerré la puerta» cambia lo que el hablante está corrigiendo. La importancia destacada cumple otra función: una advertencia importa independientemente de cómo se pronuncie la frase. Usa CSS cuando solo quieras un estilo visual.
Marca las citas y sus fuentes
Una cita larga usa <blockquote>. Su atributo opcional cite indica la URL de la fuente, pero esa dirección no se muestra automáticamente. Pon una atribución visible fuera de la cita:
<blockquote cite="https://example.com/interview">
<p>The garden is open to everyone.</p>
</blockquote>
<p>From <cite>A Conversation About the Garden</cite>.</p>
<cite> marca el título de una obra, no el nombre de una persona. Una cita corta dentro de una frase usa <q> y el navegador proporciona las comillas. No escribas un segundo par alrededor de las mismas palabras.
Una abreviación puede usar <abbr title="World Health Organization">WHO</abbr>. Escribe también su forma completa de manera visible la primera vez que aparezca. La información emergente por sí sola es difícil de consultar en pantallas táctiles y no es una explicación fiable para todos los lectores.
Muestra código y conserva su espaciado
<code> identifica un fragmento corto de código dentro de una frase. Para un bloque cuyos espacios y saltos de línea importan, combínalo con <pre>:
<pre><code><p>Welcome.</p></code></pre>
El lector ve el marcado literal del párrafo. <pre> conserva el formato, pero no desactiva el análisis de HTML. Debes seguir representando < como < y el signo et como & cuando deban aparecer como texto. De lo contrario, un ejemplo de código puede interpretarse como marcado real de la página.
Marca fechas, notación y otros significados útiles
<sub> y <sup> expresan subíndices y superíndices cuando la notación los necesita: H<sub>2</sub>O y m<sup>2</sup>. No son herramientas para reducir el tamaño de texto que no tiene relación con esa función.
<time> conecta el texto legible de una fecha u hora con un valor legible por máquinas:
<time datetime="2026-03-14">March 14, 2026</time>
El valor de datetime usa año-mes-día. Una hora puede usar el valor de 24 horas 14:30, aunque el texto visible diga «2:30 p. m.».
Usa <mark> para texto resaltado por ser relevante en el contexto actual, como una coincidencia de búsqueda. <small> contiene comentarios secundarios o letra pequeña. Un <span> no tiene significado propio; es útil para un atributo de idioma o como punto de aplicación de estilos dentro de una línea.
Puntos clave
- Usa em para el énfasis y strong para la importancia.
- Usa
<i>y<b>por sus significados, no simplemente por sus estilos predeterminados. <blockquote>y<q>marcan citas;<cite>marca el título de una obra.- Escribe la forma completa de las abreviaciones de manera visible, incluso cuando un título de
abbrla proporciona. <pre>conserva el espaciado, pero sigue analizando HTML; usa referencias para los caracteres literales del código.- Usa
<time>con un valor legible por máquinas y elementos de notación donde su significado corresponda.
2.3 Las listas y su estructura
Una lista real da una estructura común a elementos relacionados. Su marcado permite que los lectores oigan que entran en una lista y cuántos elementos contiene. El tipo de lista depende del significado de los elementos.
Elige el tipo de lista
Usa <ul> para elementos cuyo orden no cambia su significado, como los ingredientes. Usa <ol> para una secuencia o clasificación en la que el orden importa. Ambas contienen elementos de lista marcados con <li>.
<ol>
<li>Boil the water.</li>
<li>Add the pasta.</li>
<li>Cook for 10 minutes.</li>
</ol>
Invertir estos pasos cambiaría las instrucciones, por lo que una lista ordenada es adecuada. Un navegador normalmente muestra números para <ol> y viñetas para <ul>. CSS puede cambiar esos marcadores; el significado de la lista sigue siendo el mismo.
No imites una lista escribiendo guiones y saltos de línea. Esos caracteres pueden parecer similares, pero no indican a un lector de pantalla que los elementos forman una lista. Un menú de navegación suele usar una lista no ordenada, mientras que una ruta de navegación usa una lista ordenada porque su recorrido tiene una secuencia.
Anida una lista dentro de su elemento
En el contenido normal de una lista, los elementos hijos directos de <ul> y <ol> son elementos <li>. No coloques un párrafo ni otra lista directamente entre ellos. El estándar también permite elementos de apoyo a scripts, pero estos no sustituyen a los elementos de lista.
Una lista anidada pertenece dentro del elemento que describe:
<ul>
<li>Fruit
<ul>
<li>Apples</li>
<li>Pears</li>
</ul>
</li>
<li>Vegetables</li>
</ul>
Primero abre el elemento «Fruit». Añade su lista anidada, cierra esa lista y después cierra el elemento «Fruit». Ahora «Apples» y «Pears» están asociados estructuralmente a «Fruit». Colocar el <ul> interior después del </li> del padre haría perder esa relación. Un <li> también puede contener párrafos, enlaces e imágenes.
Controla la numeración con significado
Una lista ordenada puede continuar o invertir una cuenta:
| Marcado | Efecto |
|---|---|
<ol start="4"> | Los dos primeros elementos normales se numeran 4 y 5 |
<ol reversed> | Cuenta hacia atrás; cinco elementos empiezan en 5 salvo que se establezca un inicio |
<li value="10"> | Establece el número de ese elemento en 10; los posteriores continúan a partir de él |
<ol type="a"> | Usa letras como marcadores cuando el tipo de marcador importa |
reversed es booleano. Sigue activado en reversed="false"; elimínalo para volver a contar hacia arriba. Con type, los valores 1, a, A, i e I seleccionan formas habituales de numeración. Usa una forma de marcador con significado cuando el texto de otra parte haga referencia a una etiqueta concreta, como la cláusula «b».
Relaciona términos y descripciones
Una lista de descripciones usa <dl>, con <dt> para un término o nombre y <dd> para su descripción o valor:
<dl>
<dt>Opening time</dt>
<dd>08:30</dd>
<dt>Closing time</dt>
<dd>17:00</dd>
</dl>
Un término puede tener varias descripciones y varios términos pueden compartir una descripción. Un grupo puede estar contenido en un <div>. Usa esta estructura para relaciones entre nombres y valores, como un glosario o los detalles de un producto, en lugar de forzar esos pares en elementos de viñetas sin relación.
Puntos clave
- Usa
<ul>cuando el orden no importe,<ol>cuando sí importe y<dl>para pares de nombre y descripción. - Coloca el contenido normal de las listas no ordenadas y ordenadas en elementos
<li>. - Una lista anidada pertenece dentro del elemento de lista padre.
start,reversed,valueytypecontrolan los marcadores de las listas ordenadas.- El marcado de listas reales conserva relaciones que las viñetas escritas no pueden expresar.
3Enlaza páginas y crea la navegación
Los enlaces conectan una página con el resto de su sitio y con la Web. Sus direcciones deben funcionar desde la carpeta real de la página y sus palabras deben indicar adónde llevan. La navegación convierte esos enlaces individuales en menús, listas de contenido y accesos directos útiles. Comprueba los destinos con cuidado y haz que la página resulte predecible para quienes usan un ratón, un teclado o un lector de pantalla.
3.1 Destinos de enlaces y rutas de carpetas
Un enlace conecta contenido con un destino. El navegador determina ese destino a partir de la dirección que pones en href, por lo que elegir el tipo correcto de URL forma parte de escribir el enlace.
Escribe un elemento de ancla
<a href="https://www.w3.org/">World Wide Web Consortium</a>
El elemento <a> es un ancla. Su href es el destino y su contenido es el texto del enlace en el que se puede hacer clic. Un ancla sin href es un marcador de posición, no un hiperenlace funcional. Una imagen también puede ser su contenido.
Una URL absoluta proporciona un esquema y un dominio, como en https://example.com/guide/. Úsala para enlazar a otro sitio web. A href="www.example.com" le falta el esquema, por lo que el navegador lo trata como una ruta relativa de archivo; no significa «abrir ese sitio web».
Parte de la carpeta actual
Una URL relativa parte de la ubicación de la página actual. Considera este sitio:
site/
index.html
about.html
recipes/
index.html
soup.html
images/
logo.png
Desde la página de inicio, about.html llega a la página de información situada en la misma carpeta y recipes/soup.html entra en la carpeta de recetas. Desde recipes/soup.html, el mismo about.html buscaría dentro de recipes/, donde no existe ese archivo.
Sigue la ruta desde recipes/soup.html hasta el logotipo:
- La carpeta inicial es
recipes/. ../sube a la carpeta del sitio.images/entra en la carpeta de imágenes.logo.pngindica el nombre del archivo.
La ruta completa es ../images/logo.png. Cada ../ adicional sube una carpeta más. En cambio, index.html desde la página de la sopa llega al índice de recetas, no a la página de inicio del sitio.
Una URL relativa a la raíz comienza con /, como /about.html. En un servidor web parte de la raíz del sitio, sea cual sea la carpeta de la página actual. Al abrirla directamente desde el disco, esa barra se refiere a la raíz del sistema de archivos, por lo que no identifica la carpeta del sitio de tu proyecto. Usa rutas relativas normales para las páginas que también pruebas directamente desde el disco.
Las rutas usan barras inclinadas hacia delante y deben coincidir con los nombres de archivo y sus mayúsculas y minúsculas. Muchos servidores consideran Soup.html y soup.html archivos diferentes. Un enlace a una carpeta como recipes/ normalmente solicita a un servidor su archivo predeterminado, habitualmente index.html; al navegar directamente desde el disco puede mostrarse una lista de la carpeta.
Salta a una parte de una página
<a href="#watering">Watering</a>
<h2 id="watering">Watering</h2>
El fragmento comienza con # en la URL. El id del destino no tiene # y debe coincidir exactamente. Para otra página, combínalos: basil.html#watering. Un fragmento vacío # lleva al principio. #top también lleva al principio cuando no se encuentra ningún elemento que coincida.
Abre un destino de correo o teléfono
mailto:info@example.com pide a la aplicación de correo del visitante que redacte un mensaje. Se puede incluir un asunto como mailto:info@example.com?subject=Table%20booking, con el espacio codificado como %20. tel:+15555550123 proporciona un destino telefónico en formato internacional. El número de teléfono visible puede contener espacios aunque este href no los tenga.
Puntos clave
- Usa
<a href="...">para crear un hiperenlace funcional. - Una URL absoluta indica el esquema y el dominio; una URL relativa parte de la carpeta actual.
- Cada
../sube una carpeta; una/inicial parte de la raíz del servidor. - Un fragmento coincide con un
idúnico, con#solo en la URL. mailto:ytel:identifican destinos de correo electrónico y teléfono.
3.2 Texto de enlace claro y comportamiento predecible
Un enlace útil indica a una persona qué puede esperar antes de seguirlo. Su texto, destino y comportamiento de apertura funcionan juntos, incluso cuando el enlace se lee por separado en la lista de enlaces de un lector de pantalla.
Indica el destino
Compara estos enlaces:
| Redacción poco útil | Redacción útil |
|---|---|
| «Haz clic aquí» | «Nuestro menú de almuerzo» |
| «Leer más» | «Lee el anuncio de apertura de la terraza» |
| «Descargar» | «Menú de almuerzo (PDF, 2 MB)» |
Mantén el texto del enlace breve pero específico. Si dos enlaces tienen el mismo texto, haz que lleven al mismo destino. Una URL sin más suele ser más difícil de leer que una descripción, aunque una dirección de correo electrónico es un texto de enlace útil cuando la propia dirección es la información.
La información emergente de title no puede corregir una redacción visible poco clara. Es posible que los usuarios de pantallas táctiles nunca la vean y el acceso con teclado no es fiable. Pon la información importante sobre el destino en el contenido real del enlace.
Indica archivos y descargas
<a href="menu.pdf" download="harbor-cafe-menu.pdf">Lunch menu (PDF, 2 MB)</a>
El texto identifica el tipo y el tamaño del archivo. El atributo download pide al navegador que guarde el archivo y sugiere un nombre de archivo. No convierte una página en PDF. Para los enlaces normales a archivos web, el destino debe estar en el mismo origen para que se aplique download; también se admiten las URL especiales blob: y data:. La configuración del navegador y las cabeceras del servidor pueden afectar al comportamiento final, por lo que el atributo es una solicitud, no una garantía de un diálogo exacto.
Deja que las personas controlen las pestañas nuevas
Los enlaces normales se abren en el contexto de navegación actual, donde el botón Atrás puede volver a la página anterior. target="_blank" solicita una pestaña o ventana nueva. La nueva pestaña no tiene el historial para volver atrás de la pestaña original y es posible que el visitante no note el cambio.
Usa una pestaña nueva solo cuando tenga una finalidad clara y anúncialo en el texto:
<a href="https://example.com/archive" target="_blank" rel="noopener">Archive (opens in a new tab)</a>
Los navegadores modernos dan a los enlaces _blank la protección de noopener: la página abierta no puede usar window.opener para controlar la página original. Escribir rel="noopener" explícitamente también cubre el comportamiento de navegadores antiguos. noreferrer suprime además la información de referencia. nofollow comunica una relación para los buscadores, no un destino de navegación.
Haz comprensibles los enlaces de imagen y los enlaces más amplios
Cuando una imagen es el único contenido del enlace, su texto alternativo proporciona el nombre del enlace:
<a href="index.html">
<img src="logo.png" alt="Harbor Café home page">
</a>
La información útil es adónde lleva el enlace. Describir solo los colores del logotipo no indicaría su destino.
Un ancla puede contener una tarjeta más amplia con un encabezado y un párrafo, pero no puede contener otro enlace ni un botón. Los controles interactivos anidados presentan destinos o acciones que compiten dentro de un mismo control.
Un enlace lleva a algún lugar: una página, un archivo o una sección de la página. Un botón realiza una acción, como abrir un menú. href="#" es un enlace al principio de la página; no sustituye a un botón que realiza una acción.
Puntos clave
- El texto del enlace debe indicar el destino y tener sentido por sí solo.
- Indica los tipos de archivo enlazados y la información útil sobre su tamaño.
- Anuncia la apertura en una pestaña nueva;
noopenerprotege la página original. - En un enlace que solo contiene una imagen, el texto alternativo indica el destino.
- Mantén separados los controles interactivos: no pongas enlaces ni botones dentro de un enlace.
- Usa enlaces para destinos y botones para acciones.
3.3 Menús, enlaces de contenido y enlaces de salto
La navegación ayuda a las personas a encontrar tanto la página del sitio que desean como la parte que necesitan de una página larga. HTML puede identificar estos grupos para que quienes usan tecnología de apoyo los encuentren directamente.
Da una región a la navegación principal
Usa <nav> alrededor de un grupo principal de enlaces de navegación. Un menú del sitio suele contener una lista no ordenada:
<nav aria-label="Main">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="menu.html" aria-current="page">Menu</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</nav>
Este marcado pertenece a la página del menú: aria-current="page" identifica el enlace a la página que se muestra en ese momento. En la página de contacto, mueve ese atributo al enlace de contacto. No marques el índice de una sección como página actual cuando el lector esté viendo otra página dentro de esa sección.
La lista pone a disposición de los lectores de pantalla el número y la agrupación de los enlaces. Sin CSS, los elementos del menú se apilan verticalmente. El elemento <nav> no los coloca automáticamente en una fila. Unos pocos enlaces no relacionados en el pie de página normalmente no necesitan una región de navegación propia.
Mantén los menús coherentes entre páginas
Usa los mismos elementos en el mismo orden y lugar en todo el sitio. En un sitio HTML estático, copiar el menú implica actualizar todas las copias cuando cambia su contenido.
Comprueba los destinos desde la carpeta real de cada página. Desde recipes/soup.html, el enlace de inicio es ../index.html; index.html llegaría al índice de recetas. Las palabras del menú pueden seguir siendo las mismas mientras cambian las rutas relativas. Un sitio alojado en un servidor puede usar rutas relativas a la raíz para evitar esa dependencia de las carpetas.
Crea una tabla de contenido
Una lista de contenido enlaza a encabezados de la página actual:
<nav aria-label="Contents">
<ol>
<li><a href="#planting">Planting</a></li>
<li><a href="#care">Care</a></li>
</ol>
</nav>
<h2 id="planting">Planting</h2>
Cada fragmento debe coincidir con un identificador único. Añade un encabezado correspondiente con id="care" para el segundo enlace. Cuando varias regiones de navegación tienen funciones diferentes, etiquetas como «Main» y «Contents» permiten distinguirlas a los usuarios de lectores de pantalla.
Una ruta de navegación es otro tipo de navegación. Muestra un recorrido como «Inicio › Recetas › Sopa de tomate». Usa <nav aria-label="Breadcrumb"> con una lista ordenada y coloca la página actual al final. El orden expresa el recorrido por el sitio.
Ofrece un acceso directo para saltar contenido repetido
Pon un enlace de salto al principio del cuerpo:
<a href="#main-content">Skip to main content</a>
Su destino es la región principal, escrita como <main id="main-content">. Los usuarios de teclado pueden seguir ese enlace para saltar un menú repetido. Mantén el identificador de destino único y escrito exactamente igual que en el fragmento. Un enlace de salto es una ayuda de navegación funcional incluso antes de que CSS cambie su presentación.
Puntos clave
- Usa
<nav>para la navegación principal, con listas y enlaces reales. aria-current="page"marca el enlace a la página que se muestra realmente.- Mantén los menús coherentes y vuelve a comprobar las rutas relativas copiadas.
- Etiqueta las distintas regiones de navegación y haz que los fragmentos de la tabla de contenido coincidan con identificadores únicos.
- Pon un enlace de salto al principio del cuerpo y haz que apunte al contenido principal.
4Añade imágenes que todo el mundo pueda entender
Las imágenes necesitan algo más que un nombre de archivo. El navegador necesita una dirección y unas dimensiones correctas, mientras que los lectores necesitan la información que transmite la imagen. El formato del archivo y la compresión afectan a la rapidez con que se carga la página; el texto alternativo y las leyendas afectan a cómo se conserva su significado sin la imagen. Elige cada parte según la finalidad de la imagen, ya sea mostrar información útil, enlazar a algún lugar o simplemente decorar la página.
4.1 Archivos de imagen, dimensiones y carga
Una imagen en HTML sigue siendo un recurso independiente. La página indica al navegador qué archivo debe obtener, cuánto espacio debe reservar y qué texto puede sustituir a la imagen.
Añade una imagen
<img src="images/harbor.jpg" alt="Fishing boats moored in the harbor at sunset" width="1200" height="800">
<img> es un elemento vacío, por lo que no tiene etiqueta de cierre. src indica una dirección de archivo, con las mismas reglas de rutas que se usan para los enlaces. alt proporciona una alternativa textual. Si la imagen no aparece, comprueba la carpeta, las mayúsculas y minúsculas y la extensión del archivo en src. Una ruta .jpg no identifica un archivo .png y .JPG puede ser distinto de .jpg en un servidor.
Los bytes de la imagen no se almacenan dentro de este elemento HTML. El navegador descarga el archivo por separado. Cambiar el ancho en HTML no reduce el tamaño del archivo descargado.
Elige un formato adecuado para el contenido
| Formato | Propiedades útiles |
|---|---|
| JPEG | Fotografías compactas; compresión con pérdida y sin transparencia |
| PNG | Gráficos nítidos y capturas de pantalla; compresión sin pérdida y transparencia |
| GIF | Animación sencilla con una paleta limitada de hasta 256 colores |
| SVG | Logotipos, iconos y diagramas vectoriales que se mantienen nítidos al cambiar de tamaño |
| WebP y AVIF | Formatos modernos que suelen reducir el tamaño del archivo con una calidad similar |
Los navegadores principales actuales admiten WebP y AVIF. Elige una imagen según su contenido y el tamaño de archivo resultante, no solo por su extensión. La compresión con pérdida descarta algunos detalles para ahorrar espacio; la compresión sin pérdida conserva los datos originales de la imagen.
Reserva la forma correcta
Los atributos width y height son números enteros en píxeles CSS, sin unidad en el valor. Escribe width="1200", no width="1200px". Permiten al navegador reservar espacio antes de que llegue el archivo, lo que reduce los desplazamientos del diseño, en los que el texto salta al cargarse una imagen.
Una imagen de 1200 × 800 tiene una proporción de 3:2. Tanto width="1200" height="800" como width="600" height="400" la conservan. El segundo par reduce ambas dimensiones a la mitad. Un par de 600 × 600 fuerza un cuadrado y distorsiona la imagen. CSS puede controlar después las dimensiones mostradas y conservar la proporción.
Reduce el archivo antes de usarlo
Una foto de teléfono de 4000 × 3000 tiene 12 millones de píxeles y puede ocupar varios megabytes. Ajusta su tamaño cerca del mayor tamaño previsto de visualización y elige una compresión razonable antes de añadirla al sitio. De lo contrario, cada lector descarga el archivo grande aunque la página muestre una miniatura diminuta.
Para imágenes situadas más abajo en una página larga, loading="lazy" permite al navegador esperar hasta que el visitante se acerque a ellas. Mantén la carga normal para una imagen de portada o principal que sea visible de inmediato, ya que retrasarla puede hacer más lenta la primera vista de la página.
Usa imágenes que sean tuyas, para las que tengas permiso o que puedas reutilizar según su licencia, con los créditos exigidos. Guarda las imágenes del sitio en su propia carpeta para que los cambios en los archivos de otro sitio no las rompan. Las imágenes de contenido pertenecen al HTML; las texturas de fondo puramente decorativas suelen gestionarse con CSS.
Puntos clave
srcapunta a un archivo independiente;<img>no tiene etiqueta de cierre.- Elige el formato según el contenido de la imagen y el tamaño del archivo.
- Usa valores numéricos de ancho y alto con la relación de aspecto correcta.
- Cambia el tamaño y comprime el archivo real; las dimensiones de visualización no reducen el tamaño de descarga.
- Usa carga diferida para las imágenes situadas más abajo y emplea imágenes con permiso de reutilización adecuado.
4.2 Texto alternativo, finalidad de la imagen y leyendas
El texto alternativo proporciona la información que una persona necesita cuando no puede ver una imagen. Una leyenda proporciona contexto visible para todos. La elección de ambos comienza por la finalidad de la imagen en esa página concreta.
Describe la información útil
Para una foto que ayuda a los lectores a comprender un lugar, describe lo que importa: alt="The café's terrace with six tables overlooking the harbor". Un inventario largo de cada objeto rara vez es útil. Normalmente no necesitas «Imagen de» porque los lectores de pantalla ya anuncian que se trata de una imagen. Sin embargo, el medio puede importar, como en «Acuarela del puerto».
El contexto cambia la alternativa útil. En una página de adopción, los detalles importantes podrían identificar a un perro. En la página para visitantes de un parque, la misma foto podría comunicar que los perros son bienvenidos en el césped. Pregúntate qué información perdería un lector si la imagen desapareciera.
Para un gráfico, indica su mensaje principal y coloca los datos detallados cerca. Por ejemplo, el texto alternativo puede indicar que las visitas al sitio web aumentaron de 1200 en enero a 3000 en marzo. El texto que lo rodea puede proporcionar las cifras completas. Un cartel fotografiado u otra imagen de texto necesita las palabras pertinentes en su alternativa.
Distingue imágenes informativas, decorativas y funcionales
| Finalidad de la imagen | Tratamiento del texto alternativo |
|---|---|
| Aporta información | Describe esa información en contexto |
| Solo decora | Usa un valor vacío, alt="" |
| Está sola dentro de un enlace | Indica el destino o la función |
| Muestra texto con significado | Incluye las palabras mostradas |
Un valor alt vacío es una instrucción deliberada para omitir una imagen decorativa. Omitir el atributo es distinto: algunos lectores de pantalla pueden anunciar el nombre del archivo en su lugar. Usa un atributo alt en cada imagen que crees.
Un logotipo que es el único contenido de un enlace de inicio necesita un nombre de enlace útil, como «Página de inicio del Café del Puerto». El lector necesita conocer el destino, no solo que el logotipo contiene olas azules. title no es un sustituto: su información emergente no está disponible de forma fiable para usuarios de teclado, pantallas táctiles o lectores de pantalla.
Añade una leyenda con figure
<figure>
<img src="images/old-harbor.jpg" alt="Sailing ships crowded along a stone quay" width="1000" height="667">
<figcaption>The harbor around 1900. Photo: Port Town Archive.</figcaption>
</figure>
<figure> agrupa contenido independiente y su leyenda visible opcional. <figcaption> es el primer o último hijo de la figura, con una leyenda como máximo por figura. Una figura puede contener varias imágenes, un ejemplo de código, una cita o un diagrama; no se limita a fotografías.
En este ejemplo, el texto alternativo sustituye lo que muestra la fotografía. La leyenda proporciona la fecha y el crédito. Copiar toda la leyenda en el texto alternativo haría que un lector de pantalla repitiera ese texto sin explicar la imagen. Una leyenda que solo diga «Figura 1» tampoco sustituye a una descripción de la imagen.
Puntos clave
- Escribe el texto alternativo según la finalidad de la imagen en su contexto.
- Usa
alt=""para decoración; no omitas el atributo. - Un enlace que solo contiene una imagen necesita texto alternativo que indique su destino.
- Indica el mensaje principal de un gráfico y proporciona información detallada cerca.
- Una leyenda de figura añade contexto visible; no sustituye al texto alternativo.
5Estructura páginas con elementos semánticos
Una página completa combina la estructura básica del documento con regiones de significado claro y elementos de contenido bien elegidos. Decide qué información del sitio se repite, qué es exclusivo de esta página y qué partes podrían entenderse por sí solas. Después relaciona ese plan con un esquema de encabezados y un orden del código fuente claros. Crear una pequeña página de receta reúne metadatos, texto, navegación, imágenes y comprobaciones antes de añadir cualquier disposición visual.
5.1 Regiones de página y puntos de referencia
Una página contiene regiones con funciones diferentes: una introducción, navegación, su contenido exclusivo e información complementaria. Los elementos semánticos dan nombre a esas funciones para que la estructura sea útil más allá de su disposición visual.
Nombra cada región
| Elemento | Función del contenido |
|---|---|
<header> | Introducción a la página o a su sección o artículo más cercano |
<nav> | Un grupo principal de navegación |
<main> | El contenido principal exclusivo de la página |
<aside> | Contenido relacionado indirectamente con lo que lo rodea |
<footer> | Información sobre la página o la sección a la que pertenece |
La cabecera de un sitio suele contener un logotipo y un menú. La cabecera de un artículo puede contener, en cambio, su encabezado, autor y fecha. Un pie puede incluir datos de contacto, enlaces relacionados o una línea de derechos de autor. Estos elementos identifican funciones, no un conjunto fijo de palabras.
Mantén diferenciado el contenido principal
Una página normal usa un solo <main> visible. Su contenido es exclusivo de la página, por lo que la navegación del sitio que se repite va fuera de él. No coloques main dentro de article, section, aside, header, footer o nav. Un artículo de receta puede ir dentro de main, no al revés.
Un aside es para material complementario relacionado solo indirectamente. Un conjunto de enlaces a recetas relacionadas puede ser un aside; un paso esencial de la receta no. El nombre «aside» no coloca el contenido en una columna lateral. Sin CSS, estas regiones normalmente se apilan en el orden del código fuente.
<body>
<header>
<p>Harbor Café</p>
<nav>...</nav>
</header>
<main>
<h1>Our Menu</h1>
<p>Everything is baked fresh each morning.</p>
</main>
<aside>
<h2>Today's special</h2>
<p>Tomato soup with fresh bread.</p>
</aside>
<footer>
<p>© 2026 Harbor Café</p>
</footer>
</body>
El contenido exclusivo de la página del menú está en main. La información del sitio que lo rodea queda fuera. El código fuente se lee con sentido de arriba abajo antes de añadir columnas, colores o posicionamiento.
Comprende los puntos de referencia
Un punto de referencia es una región que la tecnología de apoyo puede ofrecer como destino de navegación. Main y nav proporcionan puntos de referencia. Una cabecera a nivel de página proporciona el punto de referencia de cabecera y un pie a nivel de página proporciona el punto de referencia de información del contenido. Una cabecera o un pie anidado dentro de article, aside, main, nav o section no proporciona esos puntos de referencia a nivel de página.
Un aside normalmente tiene una función complementaria. Un aside anidado puede seguir teniendo esa función; anidarlo en un artículo no elimina por sí solo su significado. Úsalo solo para contenido complementario adecuado y mantén comprensibles las regiones de la página.
<search> identifica una región que contiene controles y resultados de búsqueda o filtrado. Crea un punto de referencia de búsqueda y es compatible con los navegadores principales actuales. Es distinto de nav: buscar contenido y elegir un enlace de navegación conocido son funciones diferentes.
Una cabecera no puede contener una cabecera ni un pie, y un pie no puede contener ninguno de los dos. Separa las regiones a nivel de página de las cabeceras y los pies que pertenecen a artículos individuales. Elegir los nombres adecuados proporciona una estructura útil incluso cuando todas las regiones parecen por ahora bloques normales.
Puntos clave
- Las regiones semánticas nombran las funciones del contenido y pueden ofrecer puntos de referencia.
- Usa una región principal visible para el contenido exclusivo de la página.
- Usa un aside para contenido complementario relacionado indirectamente.
- Las cabeceras y los pies a nivel de página se comportan de forma distinta como puntos de referencia que los anidados.
- Los nombres de las regiones HTML no posicionan el contenido; CSS controla la disposición.
- Usa
<search>para una región de búsqueda o filtrado.
5.2 Artículos, secciones y contenedores neutros
Una elección semántica indica a los lectores qué es un bloque de contenido. Pregúntate cómo se relaciona el contenido con la página antes de elegir un contenedor; dos cajas que se parecen pueden necesitar elementos diferentes.
Comprueba si el contenido se entiende por sí solo
Un artículo es una composición independiente que podría compartirse o reutilizarse por separado. Una entrada de blog, una receta, una noticia o el comentario de un lector pueden cumplir esa condición. Un artículo suele tener su propio encabezado, pero tener un encabezado por sí solo no convierte un bloque en artículo.
Una sección agrupa un tema dentro de un conjunto mayor, normalmente con un encabezado. «Horario de apertura» y «Cómo encontrarnos» pueden ser secciones de una página de contacto. Si el bloque no tiene un tema claro y no puedes darle un encabezado que tenga sentido, probablemente section sea una elección incorrecta.
<article>
<h2>Growing Basil at Home</h2>
<section>
<h3>Planting</h3>
<p>Choose a sunny place for the pot.</p>
</section>
<section>
<h3>Care</h3>
<p>Check the soil regularly.</p>
</section>
</article>
Aquí el artículo es una guía de cultivo completa, mientras que sus secciones dividen la guía en temas. Este ejemplo corresponde a una página cuyo <h1> principal aparece antes del artículo.
El anidamiento también funciona en la otra dirección. Una sección de «Últimas noticias» puede contener varios artículos independientes. Los comentarios pueden ser artículos anidados en el artículo al que responden. La relación entre los contenidos determina el anidamiento.
Mantén los niveles de encabezado en el esquema de la página
Una sección no reinicia los niveles de encabezado. Si una página usa <h1> para su tema y <h2> para un grupo temático, usa <h3> para los artículos dentro de ese grupo. No pongas un nuevo <h1> en cada sección anidada. Los navegadores y lectores de pantalla usan los niveles de encabezado que escribes realmente; un contenedor section no corrige un nivel omitido.
Usa contenedores neutros cuando ningún significado encaje
<div> es un contenedor de bloque neutro. <span> es un contenedor neutro dentro de una línea de texto. Proporcionan puntos de aplicación para una clase, un atributo de idioma o estilos posteriores sin atribuir una función especial al contenido.
<p>Try <span lang="fr">pain au chocolat</span> today.</p>
El span identifica el fragmento francés sin introducir un bloque nuevo. Construir toda la página con elementos div genéricos pierde funciones útiles, pero convertir cada div en una sección inventa temas que no existen.
Elige preguntándote qué hace el bloque:
- ¿Es el contenido exclusivo de la página? Usa main como región exterior.
- ¿Es un grupo principal de navegación? Usa nav.
- ¿Podría ser una composición completa por sí sola? Considera article.
- ¿Es una parte temática con encabezado? Considera section.
- ¿Es contenido complementario relacionado indirectamente? Considera aside.
- ¿Es solo un contenedor? Usa div, o span dentro del texto.
<address> también tiene un significado concreto: información de contacto del artículo más cercano o de la página. Un enlace de correo electrónico en el pie de contacto de un sitio puede ir ahí. Una dirección postal mencionada como hecho histórico o lugar de un evento no se convierte en información de contacto solo porque contenga el nombre de una calle.
Puntos clave
- Un artículo es independiente; una sección agrupa un tema.
- Los artículos y las secciones pueden contenerse mutuamente cuando las relaciones entre sus contenidos lo permiten.
- Mantén la coherencia de los niveles de encabezado en toda la página.
- Usa contenedores neutros div y span cuando ningún elemento semántico encaje.
- Usa address para información de contacto de la página o del artículo, no para cualquier dirección postal.
5.3 Del plan de una página al HTML completo
Planifica las funciones y el orden de lectura antes de escribir una página completa. Un esquema de página sencillo nombra las regiones, mientras que un esquema de encabezados nombra el contenido que hay dentro. Juntos orientan la elección de elementos y su anidamiento.
Organiza el contenido
Para una página de receta, pon el nombre y el menú del sitio que se repiten en una cabecera, la receta en main y la información del sitio en un pie. La receta es independiente, por lo que un artículo encaja dentro de main. Su esquema es «Sopa de tomate» con «Ingredientes» y «Preparación» debajo.
La página siguiente está en una carpeta recipes/. Su página de inicio y la carpeta de imágenes están una carpeta más arriba:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Tomato Soup – Harbor Café Recipes</title>
</head>
<body>
<a href="#main-content">Skip to main content</a>
<header>
<p><a href="../index.html">Harbor Café</a></p>
<nav>
<ul>
<li><a href="../index.html">Home</a></li>
<li><a href="index.html">Recipes</a></li>
</ul>
</nav>
</header>
<main id="main-content">
<article>
<h1>Tomato Soup</h1>
<p>Published <time datetime="2026-03-14">March 14, 2026</time></p>
<figure>
<img src="../images/tomato-soup.jpg" alt="A bowl of red tomato soup with a swirl of cream" width="1200" height="800">
<figcaption>Ready in 30 minutes.</figcaption>
</figure>
<h2>Ingredients</h2>
<ul>
<li>1 kg ripe tomatoes</li>
<li>1 onion</li>
<li>500 ml vegetable stock</li>
</ul>
<h2>Method</h2>
<ol>
<li>Chop the onion and tomatoes.</li>
<li>Simmer them in the stock for 20 minutes.</li>
<li>Blend until smooth.</li>
</ol>
</article>
</main>
<footer>
<p>© 2026 Harbor Café</p>
</footer>
</body>
</html>
Sigue las decisiones del código
El enlace de salto es el primero del cuerpo y apunta al identificador único de la región principal. La cabecera contiene la identidad y la navegación del sitio que se repiten. El artículo de la receta tiene el único encabezado principal de la página, seguido de dos secciones <h2> del mismo nivel.
Los ingredientes usan una lista no ordenada porque cambiar su orden de presentación no cambia lo que se necesita. La preparación usa una lista ordenada porque los pasos forman una secuencia. El texto alternativo de la foto sustituye a la imagen; su leyenda proporciona contexto sobre la preparación.
../index.html sube a la página de inicio. index.html permanece en la carpeta de recetas. Ninguno de los enlaces del menú está marcado con aria-current="page", porque la página mostrada es la receta de sopa, no ninguno de los índices.
Comprueba la página terminada
Lee el código fuente de arriba abajo. Su orden debe funcionar para un usuario de teclado y un lector de pantalla antes de que CSS reorganice nada. Comprueba el título, el esquema de encabezados, la única región principal visible, las rutas de los enlaces y las alternativas de las imágenes. Ejecuta el comprobador de HTML y corrige sus mensajes; después prueba los enlaces y las imágenes en el navegador.
En varias páginas, mantén la misma cabecera, menú y pie repetidos. Da a cada página su propio título y encabezado principal, y ajusta las rutas relativas desde su carpeta. Después se pueden añadir colores, fuentes, espaciado y columnas mediante CSS sin cambiar las funciones que ya has establecido.
Puntos clave
- Planifica las regiones y un esquema de encabezados antes de escribir la página completa.
- Construye el documento en un orden de lectura lógico y mantén coherente el contenido repetido del sitio.
- Comprueba las rutas desde la carpeta real de la página y haz que el enlace de salto coincida con main.
- Valida la sintaxis, inspecciona el contenido y prueba la página terminada antes de aplicar estilos.
Ejemplos de Elementos y atributos HTML
1Crea y revisa un documento
16 pasos
- 1IntroducciónDel texto al documento
Un navegador construye una página a partir de las funciones que marcas en HTML. Un párrafo no es solo una línea de texto: su elemento indica al navegador cómo se integra ese contenido en el documento.
Crea una página para visitantes por etapas. Primero lee sus etiquetas y atributos, después añade su cabecera y configuración de idioma y, por último, comprueba qué ocurre cuando una parte del anidamiento es incorrecta.
- 2EjemploLee un párrafo
Empieza con
<p>Visit the community garden.</p>. La etiqueta de apertura es<p>, las palabras son su contenido y</p>lo cierra. Juntos forman un elemento.Ahora escribe
<p class="intro">Visit the community garden.</p>. El atributo class añade un nombre dentro de la etiqueta de apertura. Poner el valor entre comillas lo mantiene unido si después añades otro nombre de clase. - 3EjemploAñade importancia dentro del párrafo
Marca solo la expresión necesaria:
<p>Bring your <strong>entry pass</strong>.</p>El párrafo es el padre y strong es su hijo. Lee las etiquetas de cierre de dentro hacia fuera: strong se cierra primero y después p. Este anidamiento pasa a formar parte del árbol DOM del navegador; cambiar solo la sangría no cambiaría la relación.
- 4DesafíoCorrige dos nombres de clase
Una persona escribe
<p class=welcome note>Hello.</p>con la intención de que el párrafo tenga ambos nombres de clase. ¿Cómo debe escribirse el atributo?---reveal---
Escribe
class="welcome note". Sin comillas, el valor de class se detiene en el primer espacio y el navegador trata note como otro atributo. Ambos nombres de clase deben estar en un solo valor entre comillas, separados por un espacio. - 5Idea claveLa presencia puede ser el valor
Un atributo booleano se activa por estar presente.
<ol reversed>cuenta hacia atrás y<ol reversed="false">también. Elimina reversed para desactivarlo.Los elementos vacíos siguen otra regla útil:
<br>,<img>y<meta>no tienen contenido ni etiqueta de cierre. Escribir una etiqueta de cierre de imagen no da a la imagen un segundo límite; introduce un error. - 6EjemploCrea la estructura exterior del documento
Empieza la página para visitantes con su declaración y sus dos contenedores principales:
<!DOCTYPE html> <html lang="en"> <head> </head> <body> </body> </html>La declaración de tipo de documento selecciona el modo de estándares. La cabecera contendrá información sobre el documento, mientras que el cuerpo contendrá lo que leen las personas. Ambos son elementos hijos de la raíz html.
- 7EjemploCompleta la cabecera
Añade estas líneas dentro de head:
<meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Visit – Community Garden</title>La declaración temprana de codificación indica al navegador cómo decodificar el texto. La línea del área de visualización permite disponer la página con el ancho del dispositivo. El título específico identifica esta página en la pestaña; no es el encabezado visible que pondrás en body.
- 8DesafíoColoca el encabezado visible
La pestaña debe decir «Visit – Community Garden» y la página debe comenzar visiblemente con «Visit the Garden». ¿Dónde van esos dos textos?
---reveal---
Usa
<title>Visit – Community Garden</title>en head y<h1>Visit the Garden</h1>en body. Cumplen funciones distintas. Poner el h1 en head puede activar la recuperación del navegador, pero no da al documento una estructura correcta en el código fuente. - 9ExplicaciónIndica el idioma del texto
El
lang="en"de la raíz identifica el idioma principal de la página. Una bienvenida en español dentro de ella puede tener su propia configuración:<p><span lang="es">Bienvenidos</span> to the garden.</p>Un lector de pantalla puede cambiar la pronunciación para ese fragmento. Las etiquetas de idioma describen el contenido, no el país en el que se encuentra el lector. Usa una etiqueta más específica solo cuando esa distinción se ajuste al texto.
- 10EjemploHaz que el texto almacenado coincida con UTF-8
Una declaración de codificación es una instrucción de lectura, no un conversor. Guarda el archivo como UTF-8 en el editor y mantén
<meta charset="utf-8">al principio de head.Para un texto como «Café», una incompatibilidad de codificación puede mostrar varios caracteres incorrectos o un símbolo de sustitución. Comprueba tanto la codificación realmente guardada como la declarada. Una cabecera de codificación del servidor tiene prioridad sobre la configuración meta.
- 11DesafíoMuestra el marcado como texto
La página para visitantes debe mostrar una explicación que incluya
como texto literal. ¿Cómo puede su código fuente incluir esa frase sin crear otro elemento p?
---reveal---
Escribe
<p>Use <p> for paragraphs.</p>. Las referencias muestran los signos angulares como caracteres. UTF-8 admite directamente los acentos normales, pero no impide que un signo menor que literal inicie marcado HTML. - 12EjemploInspecciona una lista inesperada
Supongamos que el cuerpo incluye este código fuente:
<p>Facilities: <ul><li>Water tap</li></ul> </p>El navegador cierra el párrafo cuando llega a ul porque una lista no puede ser contenido de un párrafo. Por tanto, el Inspector mostrará una estructura distinta de la que sugiere el anidamiento del código fuente. Que se vea aceptable en pantalla no es una comprobación de sintaxis.
- 13EjemploCorrige la relación en el código fuente
Separa el párrafo introductorio y la lista:
<p>Facilities:</p> <ul> <li>Water tap</li> </ul>Ahora la lista sigue al párrafo en lugar de estar dentro de él. Ejecuta el comprobador de HTML después de guardar. Si informa de muchos errores, corrige el primero y vuelve a comprobar; una comilla o etiqueta de cierre ausente puede explicar varios mensajes posteriores.
- 14DesafíoElige la comparación útil
Un párrafo aparece vacío en el Inspector aunque el código fuente parece contener una lista dentro de él. ¿Qué dos vistas te ayudan a diagnosticarlo y qué relación deberías comprobar?
---reveal---
Compara Ver código fuente de la página con la vista del DOM de Elementos o Inspector. Comprueba si el código fuente coloca incorrectamente una lista dentro de p. El navegador puede cerrar el párrafo antes de esa lista, haciendo que el árbol analizado difiera del anidamiento escrito.
- 15DesafíoRevisa la página para visitantes guardada
Una página tiene el título y el idioma correctos, pero una frase muestra «Café» y el comprobador informa de una comilla ausente cerca de un enlace. ¿Qué deberías investigar para cada problema?
---reveal---
Para el texto ilegible, compara la codificación con la que se guardó el archivo con su declaración UTF-8 y cualquier cabecera del servidor. Para los errores de marcado, corrige la comilla ausente del atributo y vuelve a validar. La configuración del idioma no convierte los bytes y una página que parece correcta no repara tu código fuente.
- 16RepasoDistingue las tres comprobaciones
Lee los elementos y atributos para comprobar la estructura. Haz coincidir la codificación del texto guardado con su declaración y usa atributos de idioma para indicar el idioma. Compara el código fuente, el DOM y los mensajes del comprobador cuando el resultado sea inesperado.
Guarda los cambios antes de actualizar el navegador. Validar la sintaxis es una comprobación; leer los encabezados, las palabras de los enlaces y las descripciones de las imágenes para valorar su significado es otra tarea que aún debes realizar.
2Convierte un artículo corto en texto estructurado
14 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónDa un mapa a los lectores
- 2EjemploEmpieza por el esquema
- 3EjemploAñade los párrafos
- 4DesafíoVuelve a una sección principal
- 5ExplicaciónMarca una advertencia por su significado
- 6EjemploCita un consejo breve
- 7EjemploExplica código sin ejecutarlo
- 8DesafíoSepara las fechas visibles de las legibles por máquinas
- 9ExplicaciónElige una colección o una secuencia
- 10EjemploMantén juntos los elementos relacionados
- 11DesafíoContinúa un procedimiento numerado
- 12ConexiónRelaciona etiquetas con información
- 13DesafíoRevisa las elecciones del artículo
- 14RepasoLee la estructura en voz alta
3Conecta un sitio pequeño sin rutas rotas
13 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónConecta páginas y secciones de página
- 2EjemploLocaliza la carpeta de partida
- 3EjemploSube y selecciona el destino
- 4DesafíoSigue una ruta más profunda
- 5ExplicaciónDeja claro el destino
- 6EjemploAnuncia una pestaña nueva
- 7DesafíoElige entre navegación y una acción
- 8EjemploCrea el menú del sitio
- 9EjemploAñade una ruta de contenido local
- 10EjemploCrea una ruta para saltar el menú
- 11DesafíoEncuentra el indicador de página actual incorrecto
- 12DesafíoRevisa un bloque de navegación copiado
- 13RepasoComprueba cada ruta desde su página de partida
4Elige una imagen y dale una alternativa útil
10 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónPrepara el archivo y su significado
- 2EjemploLocaliza la fotografía de la entrada
- 3EjemploReserva la misma forma
- 4ConsejoReduce los bytes antes de añadir el marcado
- 5DesafíoElige la carga para dos posiciones
- 6ExplicaciónEscribe según la función de la imagen
- 7EjemploDistingue la leyenda de la alternativa
- 8DesafíoDa nombre a un enlace de logotipo
- 9DesafíoRevisa una figura situada más abajo en la página
- 10RepasoRevisa la imagen sin verla
5Crea una página a partir de un plan de contenido
12 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónPlanifica una página de evento
- 2EjemploElige las regiones exteriores
- 3ExplicaciónDistingue las cabeceras de página y de artículo
- 4DesafíoMantén main en el lugar correcto
- 5EjemploDecide si el evento se entiende por sí solo
- 6EjemploEscribe las relaciones entre encabezados
- 7DesafíoElige el marcado de contacto según su finalidad
- 8EjemploConstruye la página de fuera hacia dentro
- 9EjemploConecta el contenido dentro de main
- 10ConsejoMantén coherentes las copias de las páginas
- 11DesafíoRevisa la estructura completa
- 12RepasoLee antes de aplicar estilos
Ejercicios de Elementos y atributos HTML
Set 1: Elige el marcado que corresponde al contenido10 Preguntas de Práctica
Pregunta 1 de 10
<ol reversed="false">?Mostrar respuestaOcultar respuesta
reversed.Pregunta 2 de 10
<p>Keep <em>this</p></em> tiene un anidamiento incorrecto?Mostrar respuestaOcultar respuesta
em debe cerrarse antes de que se cierre el párrafo exterior, lo que da <p>Keep <em>this</em></p>. Abrir em dentro de p es una relación válida; el error es cerrarlos en un orden cruzado. La sangría del código fuente no puede cambiar ese orden.Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Pregunta 4 de 10
<em>go</em> con su espaciado conservado en un bloque de código. ¿Qué marcado lo consigue?Mostrar respuestaOcultar respuesta
Pregunta 5 de 10
events.html, el menú del sitio enlaza a Inicio, Eventos y Contacto. ¿Qué enlace debería llevar aria-current="page"?Mostrar respuestaOcultar respuesta
Pregunta 6 de 10
https://example.com/help/topics/edit.html enlaza a ../index.html#files. ¿Adónde lleva el enlace?Mostrar respuestaOcultar respuesta
help/topics, ../ sube a help; index.html selecciona la página de esa carpeta y #files apunta a un identificador allí. El fragmento no sustituye a la ruta. Permanecer en topics ignoraría el paso al directorio padre.Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Pregunta 10 de 10
<aside> aparezca en una columna a la derecha, pero aparece debajo del texto principal. ¿Qué explica esto?Mostrar respuestaOcultar respuesta
Set 2: Lee y crea una pequeña página web10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
<title>Trail Map – Pine Park</title> en un documento normal?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
<h1> llamado «Reparar una bicicleta» y un <h2> llamado «Revisar los frenos». ¿Qué nivel corresponde a una nueva subsección llamada «Ajustar el cable» dentro de la sección de frenos?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
guides/cycling.html necesita un enlace a contact.html en la carpeta superior del sitio. ¿Qué href relativo llega a él?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
<img>?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Set 3: Encuentra problemas en una página que funciona10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
<ol start="6"><li>A</li><li value="11">B</li><li>C</li></ol>?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
<a href="notes.html>Notes</a>. ¿Qué deberías corregir primero?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
href="#reading", mientras que main tiene id="article". ¿Qué cambio hace que el enlace de salto llegue a la región principal?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Set 4: Sigue la estructura, las rutas y el comportamiento de la página10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
<p id="notice" class=intro important>Bring ID.</p> y después <aside id="notice">...</aside>. ¿Qué dos cambios dan al párrafo las dos clases previstas y mantienen válidos los identificadores?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
<cite> en el texto HTML?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
<ol reversed start="9">; el segundo elemento tiene value="5". ¿Qué números se muestran para los elementos?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
https://example.com/library/topics/birds.html. Debe enlazar al elemento id="access" en https://example.com/visit.html. ¿Qué href relativo lo consigue?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
journal/entry.html. Su enlace Inicio es href="index.html"; su enlace Diario es href="journal/index.html". ¿Qué par de href relativos llega desde la entrada a la página de inicio del nivel superior y al índice del diario?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Set 5: Revisa un sitio antes de añadir CSS10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
Use <aside> here como contenido de un párrafo?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
https://example.com/notes/entry.html necesita un enlace externo a https://example.org/help. La persona que la escribe pone href="example.org/help". ¿Dónde se resuelve el enlace escrito y cómo se corrige?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
<address> para esa mención?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
recipes/stew.html enlaza a Inicio con index.html, marca el índice de recetas con aria-current="page" y pone un paso necesario de cocina en aside. ¿Qué plan de revisión corrige las tres relaciones de contenido?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
¿Te atascas con una pregunta tuya? Ayuda con Tareas
Términos Clave
A
Abreviación
Anidamiento
<strong> antes de cerrar el párrafo que lo contiene.Artículo
Atributo
href de un enlace proporciona la dirección que debe abrir el navegador.Atributo booleano
reversed sigue invirtiendo la numeración cuando se escribe como reversed="false".Atributo download
Atributo global
id puede identificar un encabezado o la región principal como destino de un fragmento.Á
Área de visualización (viewport)
B
Botón
C
Cabecera de página o de sección
Cabecera del documento HTML
Carga diferida (lazy loading)
Cita en bloque
Cita en línea
Codificación de caracteres
Compresión con pérdida
Compresión sin pérdida
Contenido complementario
Contexto de navegación
_blank solicita un contexto de navegación nuevo en lugar del actual.Cuerpo del documento HTML
D
Declaración de tipo de documento (doctype)
<!DOCTYPE html> antes de su elemento raíz y sus metadatos.Descripción de un término
Desplazamiento del diseño
Dirección base del texto
dir="rtl" para establecer su dirección base del texto junto con lang="ar".E
Elemento
<p>Welcome.</p> identifica «Welcome.» como un párrafo del contenido de la página.Elemento code
Elemento de lista
Elemento div
Elemento raíz
<html lang="en"> también indica el idioma predeterminado de la página.Elemento semántico
Elemento span
lang="fr" puede identificar una expresión francesa corta dentro de un párrafo en inglés.Elemento vacío
<img> sin una etiqueta de cierre correspondiente.Enlace de salto
Espacio de no separación (espacio inseparable)
10 km, un espacio de no separación mantiene el número junto a su unidad de medida.Esquema de encabezados
Esquema de página (wireframe)
Esquema de URL
mailto: pide a una aplicación de correo que redacte un mensaje dirigido a la dirección que sigue.Etiqueta de idioma
fr-CA identifica el francés usado en Canadá, no la ubicación del lector.Etiqueta de la región de navegación
Etiqueta de marcado
<p> abre el elemento y la etiqueta </p> lo cierra.É
Énfasis
F
Fecha legible por máquinas
2026-03-14 puede acompañar al texto visible «14 de marzo de 2026».Figura
Fragmento
#care apunta a id="care", con el signo de almohadilla solo en la dirección.G
Grupo de encabezado
H
Hiperenlace (hipervínculo)
I
Imagen decorativa
alt="" para no añadir contenido hablado innecesario.Imagen funcional
Imagen vectorial
Importancia destacada
Indicador de página actual
Información de contacto
J
Jerarquía de encabezados
L
Lenguaje de marcado de hipertexto (HTML)
Letra pequeña
Leyenda de figura (pie de figura)
Licencia de la imagen
Lista anidada
Lista de descripciones
Lista no ordenada
Lista ordenada
M
Metadatos
Modelo de objetos del documento (DOM)
Modo de estándares
O
Orden del código fuente
Origen de la imagen
P
Párrafo
Pie de página o de sección
Punto de referencia
R
Recuperación de errores
Referencia de carácter
< permite que una página muestre un signo angular de apertura sin iniciar una etiqueta.Región de búsqueda
Región de navegación
Región principal
Relación de aspecto
Relación noopener
rel="noopener" explícitamente protege la página que abre el enlace, aunque los enlaces _blank modernos lo implican.Relación noreferrer
Resaltado contextual
Ruta de navegación (migas de pan)
S
Salto de línea
Sección
Separación temática
Sitio web estático
Subíndice
Superíndice
T
Tabla de contenido (índice de contenidos)
Término de una lista de descripciones
Texto alternativo
Texto del enlace
Texto preformateado
< para mostrar un signo menor que literal.Título de una obra citada
Título del documento
U
URL absoluta
https://example.com/help indica tanto el sitio web como la ruta de destino.URL relativa
news/, la URL relativa ../contact.html sube hasta la página de contacto.URL relativa a la raíz
/about.html llega a la misma ruta del sitio desde distintas carpetas.UTF-8
V
Validación de HTML
Ver código fuente de la página
Voz alternativa
Sobre esta unidad
Crea tus propios Materiales de Estudio
Convierte tus notas, diapositivas y documentos en Guías de Estudio, Preguntas de Práctica, Flashcards y 6 herramientas más.