Herramientas tecnológicas para el diseño y desarrollo

Código HTML:
etiquetas y atributos

La estructura invisible que sostiene cada página web. Es el primer lenguaje del oficio y el que hace que un navegador entienda qué es un título, una imagen o un enlace.

Unidad de aprendizajeAplicaciones Enriquecidas para Internet
SubtemaCódigo HTML
DocenteL.D.G. Luis E. Maldonado Gil
FacultadFAD · UAEMéx

Para ubicar el tema

Aquí empieza la producción

</>
Estamos aquí

HTML

La estructura: qué es un título, un párrafo, una imagen, un enlace.

{ }
Después

CSS

El aspecto: tipografía, color, retícula, espaciado y adaptación a cada pantalla.

W
Al final

WordPress + Elementor

La producción: sitios completos de forma visual, sobre estas mismas bases.

Objetivo Aplicar los marcos de trabajo para el diseño multimedia, los editores de código y los lenguajes de programación en el desarrollo de aplicaciones enriquecidas para Internet.
Objetivo de esta sesión Identificar y aplicar las etiquetas de HTML5 en la construcción de páginas web: qué hace cada una, cuándo se usa y por qué elegir una u otra cambia el resultado.

Sesión 2.2

Objetivos de la sesión

01

Reconocer qué es y qué no es HTML

Un lenguaje de marcado, no de programación. La diferencia importa.

02

Leer la anatomía de un elemento

Etiqueta, atributo, valor, contenido y cierre.

03

Construir la estructura de un documento

Del <!DOCTYPE> al </html>, con su cabecera y su cuerpo.

04

Aplicar etiquetas semánticas

Nombrar cada zona de la página por lo que es, no por cómo se ve.

05

Manejar el contenido de texto

Encabezados, párrafos, énfasis, listas, enlaces e imágenes.

06

Partir de una plantilla base

Un boilerplate listo para empezar cualquier proyecto.

Concepto

HTMLHyperText Markup Language · Lenguaje de Marcado de Hipertexto

Es el lenguaje estándar con el que se crean y se estructuran las páginas web. Define qué es cada cosa dentro de un documento.

No es un lenguaje de programación: no hace cálculos ni toma decisiones. Es un lenguaje de marcado, porque usa etiquetas (tags) para envolver el contenido y decirle al navegador de qué se trata.

La idea en una frase Marcar es ponerle nombre a cada parte del contenido. Igual que en un manuscrito editorial se señala “esto es un título” y “esto es un pie de foto”, aquí se hace con etiquetas.
<h1>Café Luna</h1> ← esto es un título <p>Tostamos en lote pequeño.</p> ← esto es un párrafo <img src="grano.jpg" alt="Granos"> ← esto es una imagen

El navegador no entiende de estética: entiende de etiquetas. Lo estético llega después, con CSS.

Concepto

Marcar no es programar

</>

HTML · marcado

Describe qué es cada parte del contenido. No decide nada, no calcula, no cambia con el tiempo.

Equivale al guion editorial de una publicación: la jerarquía del contenido.

{ }

CSS · estilo

Describe cómo se ve. Tipografía, color, retícula, espaciado, comportamiento responsivo.

Equivale al diseño editorial: la forma que toma esa jerarquía.

( )

JavaScript · programación

Describe qué hace. Reacciona, calcula, valida formularios, anima, consulta datos.

Equivale a la interacción: lo que ocurre cuando alguien toca la pieza.

Por qué importa la distinción Un documento bien marcado se puede rediseñar por completo sin tocar el contenido —eso es cambiar solo el CSS—. Si la estructura está mal hecha, cada cambio de diseño obliga a reescribir el HTML. La calidad del marcado determina cuánto cuesta rediseñar después.

Sintaxis

Anatomía de un elemento

<p id="intro"> Mi párrafo </p>

Etiqueta de apertura · contenido · etiqueta de cierre

Etiquetas vacías Algunas no envuelven contenido y por eso no llevan cierre: <img>, <br>, <hr>, <meta>, <link>.

Sintaxis

Los atributos que se usan todos los días

Estructura

El esqueleto de todo documento HTML

<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <title>Hola mundo</title> </head> <body> <h1>Esto es un encabezado</h1> <p>Esto es un párrafo.</p> </body> </html>
contenido visible

Estructura

Lo invisible que sí se ve en otras partes

Nada del <head> aparece en la página, pero determina cómo se presenta el sitio fuera de ella.

Café Luna · Tostaduría
Pestaña del navegador y favoritos
cafeluna.mx Café Luna · Tostaduría Tostamos café de especialidad en lote pequeño en Toluca.

Laboratorio 1

Editar a la izquierda, ver a la derecha

index.html
Resultado en el navegador
Lo que se observa aquí El navegador ya aplica estilos por omisión: el <h1> sale grande y en negritas, el <p> con separación. Ese formato no lo puso nadie: viene de la semántica de la etiqueta. CSS solo lo reemplazará después.

Evolución

HTML5: la versión que usamos

Es la quinta versión del lenguaje, publicada como estándar en 2014. Se creó para modernizar y simplificar la forma de construir sitios y aplicaciones web.

1

Etiquetas semánticas

Nombres que describen la función de cada zona: header, nav, main, footer.

2

Multimedia nativa

<video> y <audio> sin necesidad de complementos externos como Flash.

3

Formularios más ricos

Campos de tipo fecha, color, correo o rango, con validación incluida en el navegador.

4

Dibujo y gráficos

<canvas> y SVG integrados para gráficos e ilustración vectorial.

Un matiz actual Hoy ya no se numeran versiones: HTML es un estándar vivo que se actualiza de forma continua. Se sigue diciendo “HTML5” por costumbre y porque marcó el corte con las prácticas anteriores, pero lo correcto es hablar simplemente de HTML.

Semántica

Cada zona tiene nombre propio

Las etiquetas semánticas dividen la página en zonas con significado. Es, literalmente, el wireframe escrito en código.

Semántica

El mismo diseño, dos códigos distintos

Antes de HTML5
<div class="header"> <div id="nav"> <div id="section"> <div id="article"> <div id="aside"> <div id="footer">

Todo son cajas iguales. El significado vive en un nombre de clase que solo entiende quien escribió el código.

Con HTML5
<header> <nav> <section> <article> <aside> <footer>

La etiqueta ya dice qué es. Lo entienden el navegador, el buscador, el lector de pantalla y cualquier persona que abra el archivo.

Ojo El <div> no desapareció ni está mal: sigue siendo el contenedor genérico para agrupar elementos cuando solo se necesita una caja para maquetar. La regla es sencilla: si existe una etiqueta con significado, se usa esa; el <div> es para cuando no la hay.

Semántica

Cuatro razones que sí se notan

♿

Accesibilidad

Un lector de pantalla anuncia “navegación”, “contenido principal” o “pie de página” y permite saltar entre ellos. Con puros <div> solo dice “grupo”, y la persona tiene que recorrerlo todo.

🔍

Posicionamiento

El buscador distingue el contenido real del menú y del pie. Un documento bien marcado se indexa mejor sin trucos.

🛠

Mantenimiento

Quien retome el proyecto —incluso uno mismo seis meses después— entiende la estructura sin descifrar nombres de clases inventados.

📱

Portabilidad

El modo lectura del navegador, los asistentes de voz y los agregadores de contenido extraen bien el texto porque saben dónde empieza y termina.

Para el trabajo profesional En México, los sitios de instituciones públicas están obligados a cumplir criterios de accesibilidad. Un maquetado semántico no es refinamiento técnico: es requisito para poder concursar por ese tipo de proyectos.

Semántica

¿section, article o div?

Es la duda más común al empezar. Se resuelve con dos preguntas seguidas:

1

¿Tiene sentido por sí solo?

Si el bloque se puede publicar aparte y se sigue entendiendo —una nota de blog, una ficha de producto, un comentario—, entonces es un

<article>
2

¿Es un tema con título?

Si agrupa contenido relacionado y llevaría un encabezado —“Servicios”, “Contacto”, “Portafolio”—, entonces es una

<section>
3

¿Solo necesito una caja?

Si únicamente se requiere agrupar elementos para acomodarlos con CSS, sin que aporte significado, entonces es un

<div>
Regla práctica Si al bloque le puede poner un título y ese título tendría sentido en un índice, es section. Si además se sostiene solo fuera de la página, es article. Si no aplica ninguna, es div.

Contenido de texto

Seis niveles de jerarquía

Del <h1> al <h6>. Marcan el tema de la sección que presentan, y su orden construye el índice del documento.

h1Título de la página
h2Sección principal
h3Subsección
h4Nivel cuatro
h5Nivel cinco
h6Nivel seis
Correcto
<h1>Café Luna</h1> <h2>Nuestros cafés</h2> <h3>Tostado claro</h3> <h2>Visítanos</h2>

Baja de nivel en nivel, sin saltos.

Incorrecto
<h1>Café Luna</h1> <h4>Nuestros cafés</h4> ← saltó h2 y h3

Se eligió por el tamaño, no por la jerarquía. El tamaño se ajusta con CSS.

Regla Un solo h1 por página, el del tema principal. Y nunca se elige un nivel por cómo se ve: primero la jerarquía correcta, luego el tamaño con CSS.

Contenido de texto

Dos comportamientos: bloque y línea

▬

Elementos de bloque

Ocupan todo el ancho disponible y provocan un salto de línea antes y después. Se apilan uno debajo de otro.

<h1>
<p>
<div>

div · p · h1–h6 · ul · ol · li · section · header · footer · main

▭

Elementos en línea

Ocupan solo el espacio de su contenido y conviven dentro de una misma línea de texto.

<span> <a> <strong> <em> <img>

span · a · strong · em · b · i · img · br

Por qué se explica esto tan pronto Es la causa de la mitad de las dudas al maquetar: “¿por qué este elemento no se centra?”, “¿por qué no le toma el alto?”. Casi siempre es un elemento en línea al que se le está pidiendo comportamiento de bloque. Con CSS se cambia, pero primero hay que saber cuál es cuál.

Contenido de texto

El texto y sus separaciones

<p>

Párrafo

La unidad básica del texto. Es un elemento de bloque: no hace falta añadirle saltos ni espacios, ya los trae.

<span>

Contenedor en línea

Envuelve un fragmento dentro de una línea, sin darle significado, solo para poder aplicarle estilo.

<hr>

Cambio temático

Marca un cambio de tema. Se dibuja como una línea horizontal, pero su sentido es editorial, no decorativo.

<br>

Salto de línea

Corta la línea sin abrir párrafo nuevo. Solo para cuando el salto forma parte del contenido.

Un error clásico Usar varios <br> seguidos para separar bloques de texto. Eso es maquetar con la tecla Enter. La separación entre párrafos es un asunto de espaciado, y eso se resuelve con CSS.
Sí tiene sentido usar <br> En una dirección postal, en un poema o en una ficha técnica, donde el corte de línea es parte del contenido y no una decisión de diseño.

Contenido de texto

Se ven igual, no significan lo mismo

<strong> frente a <b>

strong marca lo importante: una advertencia, un dato crítico. Lleva peso semántico y el lector de pantalla lo entona.

b es solo negrita visual, sin importancia añadida: un nombre de producto, una palabra clave.

<p>El horno queda <strong>muy caliente</strong>.</p>

<em> frente a <i>

em marca énfasis: la palabra que cambia el sentido de la frase si se acentúa al hablar.

i es solo cursiva visual: un término técnico, una palabra en otro idioma, un pensamiento, el nombre de una obra.

<p>Dije <em>mañana</em>, no hoy.</p>
La prueba para decidir Si la frase cambia de sentido al leerla en voz alta con esa palabra acentuada, es strong o em. Si solo se quería que se viera distinto, es asunto de CSS. Nunca se elige una etiqueta por su apariencia.

Contenido de texto

Listas ordenadas y sin ordenar

<ul>unordered list. Lista sin orden: se muestra con viñetas. El orden de los elementos no altera el sentido.
<ol>ordered list. Lista ordenada: numeración o letras. La secuencia sí importa, como en unos pasos.
<li>list item. Cada elemento de la lista. Va siempre dentro de una ul o una ol, nunca suelto.
Dato de diseño El menú de navegación se marca casi siempre como una lista de enlaces dentro de <nav>. Es una lista aunque visualmente se vea horizontal y sin viñetas: eso lo decide el CSS.
Editable
Resultado

Contenido de texto

El enlace: lo que hace hiper al texto<a> · anchor · ancla

Enlace a otro sitio <a href="https://uaemex.mx">Universidad</a> Enlace a otra página del mismo sitio <a href="portafolio.html">Portafolio</a> Enlace a una sección de esta misma página <a href="#contacto">Contacto</a> Abrir en una pestaña nueva <a href="…" target="_blank" rel="noopener">…</a>
Rutas Absoluta: la dirección completa, con https://. Para sitios externos.
Relativa: la ruta desde el archivo actual, como img/foto.jpg o ../index.html. Para lo que vive dentro del propio sitio.
Redacción del enlace El texto del enlace debe describir el destino. “Clic aquí” no dice nada: quien navega con lector de pantalla suele pedir la lista de enlaces de la página, y una lista de veinte “clic aquí” es inservible.

Contenido de texto

Imágenes: la etiqueta del diseñador

<img src="img/tostado.jpg" alt="Granos de café recién tostados" width="800" height="600">
srcLa ruta del archivo. Obligatorio.
altLa descripción en palabras. Obligatorio.
width heightLas dimensiones reales. Evitan que el diseño “brinque” mientras la imagen carga.

Es una etiqueta vacía: no lleva cierre, porque no envuelve contenido.

Cómo se redacta un buen alt Describe lo que la imagen aporta en ese contexto, no lo que aparece en ella.
Pobre alt="imagen1.jpg"
Redundante alt="foto de una foto de café"
Correcto alt="Granos de café recién tostados"
Formatos JPG para fotografía · PNG cuando se necesita transparencia · SVG para logotipos e iconos, porque es vectorial y no pierde nitidez · WebP para pesar menos con calidad equivalente.

Laboratorio 2

Una página completa, de principio a fin

pagina.html
Resultado

Estructura semántica completa, con estilo interno en <style> para ver cómo el CSS toma el relevo sobre el HTML.

Referencia

Catálogo de etiquetas

Práctica

Plantilla baseHTML5 Boilerplate Code · código recurrente de arranque

Es el punto de partida de cualquier proyecto: se copia en el editor de código, se personaliza el contenido y a trabajar.

Práctica

Los seis errores de siempre

1

Olvidar el cierre

Falta un </div> y el diseño se desacomoda de ahí hacia abajo. Se detecta indentando bien el código.

2

Anidar mal

<p><strong>…</p></strong> está cruzado. Se cierra siempre en orden inverso al que se abrió.

3

Comillas tipográficas

Copiar desde Word convierte las comillas rectas en “curvas” y el atributo deja de funcionar. Se escribe en un editor de código.

4

Elegir por apariencia

Usar <h4> porque “se ve del tamaño que quiero”. El tamaño es CSS; la etiqueta es jerarquía.

5

Acentos rotos

Aparecen símbolos raros en lugar de las vocales acentuadas: falta <meta charset="UTF-8">.

6

Rutas mayúsculas

Foto.JPG no es foto.jpg. En la computadora local puede funcionar; en el servidor, no. Todo en minúsculas y sin espacios.

Cómo se revisan El editor de código marca en color los errores de cierre y anidación. Además, el validador del W3C revisa un documento completo y señala línea por línea lo que está mal. Vale la pena pasarlo antes de entregar.

Práctica

Ejemplo completo en línea

Un ejemplo funcionando, con el código HTML y el CSS a la vista y editables en el mismo visualizador.

Se pueden modificar los elementos y los estilos directamente ahí, o copiar el código y pegarlo en un editor como Visual Studio Code para seguir trabajándolo en la computadora.

Ir al ejemplo ↗

codepen.io/LuisGil/pen/KwVaoJR

Estructura semántica completa

Usa header, nav, main, section, article, aside y footer.

Multimedia moderna

Incluye <video> y <audio> sin complementos externos.

Diseño adaptable

La etiqueta viewport hace que funcione bien en dispositivos móviles.

Estilo interno con CSS

Estilos básicos que dan color y forma al contenido, como anticipo del siguiente tema.

Evaluación

Actividad: marcar una página real

A partir de la plantilla base, construir una página de presentación personal y entregar el archivo .html junto con una captura del resultado.

01  Partir del boilerplate y personalizar title, description y lang.

02  Estructurar con header, nav, main, aside y footer.

03  Incluir una jerarquía correcta de encabezados: un solo h1, sin saltos de nivel.

04  Agregar al menos una lista, tres enlaces y dos imágenes con su alt bien redactado.

05  Usar strong y em al menos una vez cada uno, y justificar por qué ahí.

06  Validar el documento y entregarlo sin errores.

CriterioPeso
Semántica correcta35 %
Estructura y jerarquía25 %
Atributos y accesibilidad20 %
Documento válido, sin errores20 %
Preguntas de repaso

¿Por qué HTML no es un lenguaje de programación? · ¿Qué partes tiene un elemento? · ¿Qué hace el DOCTYPE? · ¿Cuándo se usa section y cuándo article? · ¿Qué diferencia hay entre strong y b? · ¿Por qué el alt no es opcional?

Referencia

Fuentes de consulta

W3

W3Schools

Referencia y tutoriales en línea con ejemplos ejecutables de cada etiqueta.

w3schools.com

CSS

CSS Portal

Generadores, recursos y herramientas de HTML y CSS.

cssportal.com

MDN

MDN Web Docs

La documentación de referencia del oficio, en español. Cada etiqueta con su definición, ejemplos y notas de accesibilidad.

developer.mozilla.org

W3C

Validador del W3C

Revisa un documento completo y señala línea por línea los errores de marcado.

validator.w3.org

Documentación consultada en 2025. La referencia normativa del lenguaje la mantiene el WHATWG como estándar vivo.

Fin del subtema 2.2

Ya está la estructura.
Sigue la forma.

Con HTML el contenido ya tiene nombre y jerarquía. En la siguiente sesión llega CSS y todo eso empieza a verse como un diseño.

Siguiente temaCSS: selectores y propiedades
TemaHerramientas tecnológicas
DocenteL.D.G. Luis E. Maldonado Gil
FacultadFAD · UAEMéx
01 / 30

Esta presentación está pensada para pantalla horizontal.

Índice de la sesión

Código HTML: etiquetas y atributos

←→ cambiar de diapositiva O abrir y cerrar este índice T modo claro u oscuro F pantalla completa InicioFin primera y última