Professional Documents
Culture Documents
Documentos HTML5
1.1 Componentes Bsicos
HTML5 ofrece tres caractersticas bsicas: estructura, estilo y funcionalidad. Nunca fue
oficialmente declarado pero, a pesar de que las APIs de Javascript y la especificacin de CSS3 no
son consideradas parte de esta tecnologa, HTML5 es considerado un producto de la
combinacin de HTML, CSS y Javascript. Estas tecnologas dependen una de otra y actan como
una sola unidad organizada bajo la especificacin de HTML5. HTML est a cargo de la estructura,
CSS presenta esa estructura y su contenido en la pantalla, y Javascript se hace cargo del resto,
que, como veremos ms adelante, resulta crucial para el correcto desempeo de la mayora de
los sitios y aplicaciones web actuales.
A pesar de la integracin de estas tecnologas, la estructura es an una parte fundamental del
documento. La estructura provee los elementos necesarios para asignar espacio a contenido
esttico o dinmico, y tambin acta como una plataforma bsica para aplicaciones. Con la
variedad de dispositivos que acceden Internet estos das y la diversidad de interfaces usadas para
navegar e interactuar con la web, los aspectos bsicos provistos por la estructura se vuelven una
parte vital del documento. En estos das la estructura debe aportar forma, organizacin y
flexibilidad, y debe ser tan slida como la fundacin de una casa.
Para crear sitios web y aplicaciones con HTML5, necesitamos primero entender cmo
funciona esa estructura. Crear una fundacin fuerte nos ayudar a aplicar ms adelante otros
componentes y aprovechar al mximo las nuevas posibilidades.
Comencemos entonces con lo bsico, paso a paso. En este primer captulo aprender qu es
HTML y cmo construir una estructura elemental usando los nuevos elementos de este lenguaje.
IMPORTANTE: Para acceder a informacin adicional y los cdigos de ejemplo,
visite nuestro sitio web www.formasterminds.com.
1|P gi na
Etiquetas y Elementos
Un cdigo HTML no es una secuencia de instrucciones. HTML es conformado en realidad por un
conjunto de etiquetas que generalmente funcionan en pares y pueden trabajar anidadas
(contenidas dentro de otras). Estas etiquetes HTML no son ms que palabras clave y atributos
rodeados por corchetes angulares (por ejemplo, <html lang="es">). Generalmente llamamos
etiquetas a las etiquetas individuales, y elemento al par de etiquetas de apertura y cierre.
Considere el prximo ejemplo:
<!DOCTYPE html>
<html lang="es">
<head>
<title>Mi Primer Documento HTML</title>
</head>
<body>
HOLA MUNDO!
</body>
</html>
2|P gina
archivo con el cdigo del Listado 1-1, grbelo con un nombre a su eleccin y la
extensin.html (por ejemplo, micodigo.html). Cuando finalice, abra el
archivo en su navegador (un doble clic sobre el archivo es suficiente para
ejecutarlo en el navegador configurado por defecto en su ordenador). Si su
editor trabaja con diferentes formatos de texto, asegrese de seleccionar Texto
Plano antes de grabar.
IMPORTANTE: No se preocupe si no entiende cmo crear la estructura
presentada en el Listado 1-1. Estudiaremos este aspecto y los nuevos
elementos estructurales introducidos por HMTL5 en la prxima parte de este
captulo.
Atributos
Como probablemente ha notado, la etiqueta de apertura <html> en el Listado 1-1 no est
solamente compuesta por la palabra clave y los corchetes angulares sino tambin por el texto
lang="es". Este es un atributo con su valor correspondiente. El nombre del atributo es lang y
su valor (es) es asignado usando el smbolo = (igual). Los atributos proveen informacin adicional
sobre el elemento. En este caso, declara espaol como el lenguaje humano del documento.
Los atributos son siempre declarados dentro de las etiquetas de apertura y pueden tener una
sintaxis que incluye un nombre y un valor, como el atributo lang de nuestro ejemplo, o
representar un valor Booleano, en cuyo caso su sola presencia indica un valor verdadero o falso
(true o false). Por ejemplo, el atributo disabled sin un valor especfico deshabilita un
elemento de formulario.
Desde que HTML dej de perseguir un propsito general y se enfoc ms en la creacin de la
estructura del documento, el uso de la mayora de los atributos clsicos fue abandonado y
algunos fueron incluso reemplazados por propiedades CSS, como veremos en prximos captulos.
A pesar de esto, algunos se mantienen tiles, especialmente cuatro atributos genricos que
tienen una importancia particular en el desarrollo de sitios web y aplicaciones en HTML5:
classEste atributo nos permite trabajar con un grupo de elementos que comparten
caractersticas similares. Por ejemplo, utilizando el valor del atributo class podemos asignar
el mismo tipo de letra y estilos a textos ubicados en diferentes partes del documento.
idEste atributo nos permite asignar un identificador nico a cada elemento. Esta es la
mejor manera de acceder a un elemento HTML especfico desde CSS o Javascript.
styleEste atributo nos permite asignar estilos CSS a cada elemento individualmente. Como
veremos en el Captulo 2, es una buena prctica evitar el uso de este atributo y en su lugar
asignar estilos a elementos HTML referenciando sus atributos class e id.
nameEste es un viejo atributo que an tiene utilidad cuando trabajamos con formularios.
Se usa para declarar el nombre del elemento. En el Captulo 5 podr encontrar ms
informacin.
Adems de estos atributos generales, existen otros atributos ms especficos, como el
atributo lang para el elemento <html> introducido anteriormente. Dos que vale la pena
mencionar son href para los elementos <link> y <a> y el atributo src para elementos que
representan medios como <img> (imgenes), <video>, <audio>, etc. Ambos atributos indican
la ruta del archivo que va a ser ledo o accedido. Pruebe el prximo ejemplo en su navegador.
3|P gi na
<!DOCTYPE html>
<html lang="es">
<head>
<title>Mi Segundo Documento HTML</title>
</head>
<body>
<img src="http://www.formasterminds.com/content/myimage.jpg">
</body>
</html>
Listado 1-2: Usando el elemento <img> y el atributo src para mostrar una imagen
Conceptos Bsicos: El elemento <img> nos permite cargar y mostrar una
imagen en pantalla. Es un elemento simple, sin una etiqueta de cierre, que
junto con el atributo src para declarar la ruta de la imagen tambin incluye los
atributos width y height para declarar su tamao.
Estudiaremos y experimentaremos aplicaciones prcticas de estos y otros atributos en
siguientes captulos.
Elementos Tradicionales
Algunos elementos en HTML5 quedaron en desuso, otros cambiaron su propsito y nuevos
fueron agregados. Entre estos se encuentran elementos que ya no se consideran parte del
lenguaje, como <center>, <frame> o <font>. Este ltimo es probablemente el ms
significativo. El elemento <font>, actualmente reemplazado en la mayora de los casos por el
elemento <span>, fue usado hasta HTML4 para mostrar texto en pantalla. Otros elementos
como <i> o <b>, anteriormente utilizados para resaltar el texto, tienen ahora un significado
diferente, mientras que nuevos elementos como <mark>, <address> o <time>, por ejemplo,
fueron agregados para proveer una mejor manera de describir y presentar el contenido del
documento.
IMPORTANTE: Este libro se enfoca en las mejoras introducidas por HTML5.
Conceptos presentados anteriormente por otras versiones de HTML sern solo
explicados en la seccin Conceptos Bsicos. Para un estudio ms profundo del
lenguaje HTML y para acceder a la lista completa de elementos HTML vlidos
que puede usar en sus proyectos, visite nuestro sitio web y siga los enlaces de
este captulo.
4|P gina
<!DOCTYPE>
Lo primero que debemos hacer es indicar el tipo de documento que estamos creando. Los
navegadores pueden procesar diferentes tipos de archivo. Para asegurar que nuestro documento
es interpretado correctamente como cdigo HTML, debemos declarar su tipo al inicio. En HTML5
esto se logra con la siguiente lnea:
<!DOCTYPE html>
<html>
Luego de declarar el tipo de documento, el siguiente paso es construir la estructura HTML. Como
siempre, la raz de nuestro rbol es el elemento <html>. Este elemento encierra todo nuestro
cdigo HTML.
<!DOCTYPE html>
<html lang="es">
</html>
5|P gi na
que siga algunas reglas bsicas. En las siguientes pginas vamos a explicar cmo
construir un documento HTML de acuerdo a lo que consideramos una buena
prctica.
Para encontrar otros valores de lenguajes para el atributo lang, puede consultar el siguiente
enlace: www.w3schools.com/tags/ref_language_codes.asp.
<head>
Continuemos construyendo nuestro documento. El cdigo HTML insertado entre las etiquetas
<html> tiene que ser separado entre dos secciones principales. Manteniendo lo establecido para
anteriores versiones de HTML, la primera seccin es la cabecera y la segunda el cuerpo. El
siguiente paso es agregar estas dos secciones al cdigo usando los elementos ya conocidos
<head> y <body>.
La cabecera <head> va primero, por supuesto, y al igual que el resto de los elementos
estructurales incluye una etiqueta de apertura y una de cierre.
<!DOCTYPE html>
<html lang="es">
<head>
</head>
</html>
<body>
La otra seccin importante que forma parte de la organizacin principal del documento es el
cuerpo. El cuerpo es la parte visible del documento y es especificado con las etiquetas <body>.
Este elemento no ha cambiado mucho desde versiones anteriores de HTML.
<!DOCTYPE html>
<html lang="es">
<head>
</head>
<body>
</body>
</html>
6|P gina
<meta>
Es tiempo de construir la cabecera del documento. Varios cambios e innovaciones se
incorporaron a la cabecera, entre ellos se encuentra la etiqueta que define la codificacin para
los caracteres del documento. Esta es una etiqueta meta que especifica cmo el texto va a ser
presentado en pantalla (con qu tipo de caracteres).
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
</head>
<body>
</body>
</html>
7|P gi na
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8" />
<meta name="description" content="Este es un ejemplo" />
<meta name="keywords" content="HTML5, CSS3, JavaScript" />
</head>
<body>
</body>
</html>
<title>
La etiqueta <title>, como siempre, especifica el ttulo del documento.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="description" content="Este en un ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el ttulo del documento</title>
</head>
<body>
</body>
</html>
8|P gina
<link>
Otro elemento importante a incluir en la cabecera del documento es <link>. Este elemento es
usado para incorporar al documento estilos, cdigos, imgenes o conos desde archivos externos.
Uno de los usos ms comunes de <link> es incorporar estilos por medio de un archivo CSS.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="description" content="Este es un ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el ttulo del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
</body>
</html>
9|P gi na
Organizacin
La figura 1-1 muestra una distribucin de contenido actualmente presente en la mayora de los
sitios web. A pesar del hecho de que cada diseador crea sus propios diseos, un sitio web puede
ser estudiado considerando las siguientes secciones:
10 | P g i n a
11 | P g i n a
Cabecera
Barra de Navegacin
Seccin Informacin Principal
Barra Lateral
Pie de pgina o barra Institucional
Esta representacin simple de un blog nos ayuda a entender que cada seccin de un sitio web
tiene un propsito. A veces este propsito no es muy claro, pero la esencia es perceptible y
podremos an reconocer cualquiera de estas secciones en prcticamente todo sitio web.
HTML5 considera esta estructura bsica y provee nuevos elementos para diferenciar y
declarar cada una de sus partes. Desde ahora podemos decirle al navegador para qu es cada
seccin.
La figura 1-3 a continuacin muestra la organizacin de un sitio web tpico que vimos con
anterioridad, pero esta vez identificada con los correspondientes elementos de HTML5 (etiquetas
de apertura y cierre).
12 | P g i n a
<header>
Uno de los nuevos elementos incorporados por HTML5 es <header>. Este elemento no debe ser
confundido con <head>, usado anteriormente para construir la cabecera no visible del
documento. Del mismo modo que lo hace el elemento <head>, el elemento <header> tiene el
propsito de proveer informacin introductoria (como ttulos, subttulos o logos) pero ambos
difieren en su alcance. Mientras que <head> informa al navegador sobre datos particulares del
documento, <header> est destinado a ser usado en el cuerpo o en secciones del mismo para
ofrecer informacin sobre esas reas en particular.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="description" content="Este es un ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el ttulo del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<header>
<h1>Este es el ttulo principal del sitio web</h1>
</header>
</body>
</html>
13 | P g i n a
<nav>
La siguiente seccin en nuestro ejemplo es la Barra de Navegacin. Esta barra es generada por el
elemento <nav>.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="description" content="Este es un ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el ttulo del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<header>
<h1>Este es el ttulo principal del sitio web</h1>
</header>
<nav>
<ul>
<li>principal</li>
<li>fotos</li>
<li>videos</li>
<li>contacto</li>
</ul>
</nav>
</body>
</html>
14 | P g i n a
Como puede ver en el Listado 1-13, el elemento <nav> se encuentra entre las etiquetas
<body> pero luego de la etiqueta de cierre de la cabecera (</header>), no dentro del elemento
<header>. Esto se debe a que <nav> no es una parte de la cabecera sino una nueva seccin.
Anteriormente mencionamos que el orden en el que elegimos ubicar los elementos en
HTML5 depende exclusivamente de nosotros. Esto significa que HTML5 es muy verstil y solo nos
da los parmetros y elementos bsicos con los que trabajar, pero cmo usarlos es decisin
nuestra. Un ejemplo de esta versatilidad es que el elemento <nav> podra ser insertado dentro
del elemento <header> o en cualquier otra seccin del cuerpo. Sin embargo, siempre debemos
considerar que estos nuevos elementos fueron creados para proveer ms informacin a los
navegadores y ayudar a cada nuevo programa y dispositivo disponible a identificar las partes ms
relevantes del documento. Para mantener nuestro cdigo HTML portable y legible, es mejor
seguir las reglas estndar y mantener el documento tan claro como sea posible. El elemento
<nav> est destinado a contener ayuda para la navegacin, como el men principal o bloques de
navegacin, y deberamos usarlo con ese propsito.
Conceptos Bsicos: El elemento <ul>, introducido en el cdigo del Listado 113, define una lista de tems sin un orden especfico. Para declarar cada tem
debemos utilizar elementos <li>. Dentro de la estructura tipo rbol de HTML,
estos elementos son hijos de <ul> (son introducidos dentro de las etiquetas de
apertura y cierre <ul>) y su contenido es mostrado en pantalla de acuerdo al
orden en el que fueron declarados. Para aprender ms acerca de estos
elementos tradicionales de HTML, visite nuestro sitio web y siga los enlaces de
este captulo.
<section>
La siguiente parte del diseo standard son dos reas que en la Figura 1-1 llamamos Informacin
Principal y Barra Lateral. Como explicamos anteriormente, Informacin Principal contiene la
informacin ms relevante del documento y puede ser encontrada en diferentes formas (por
ejemplo, dividida en varios bloques u otras columnas). Debido a que el propsito de estas
columnas y bloques es ms general, el elemento de HTML5 que especifica esta seccin es
simplemente llamado <section>.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="description" content="Este es un ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el ttulo del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<header>
<h1>Este es el ttulo principal del sitio web</h1>
</header>
<nav>
<ul>
<li>principal</li>
<li>fotos</li>
<li>videos</li>
15 | P g i n a
<li>contacto</li>
</ul>
</nav>
<section>
</section>
</body>
</html>
<aside>
En la organizacin tpica de un sitio web (Figura 1-1), la Barra Lateral se encuentra a un lado de la
seccin Informacin Principal. Esta es una columna o seccin que generalmente contiene datos
relacionados con la informacin principal pero que no son relevantes o importantes.
En el ejemplo de organizacin de un blog estndar (Figura 1-2), la Barra Lateral contiene una
lista de enlaces que apuntan a cada entrada del blog y proveen informacin adicional sobre el
autor del blog. La informacin dentro de esta columna est relacionada con la informacin
principal de la pgina web pero no es relevante por s misma. Siguiendo el ejemplo del blog,
podemos ver que las entradas del blog son relevantes para la pgina web, pero los enlaces y citas
existen solo con el propsito de facilitar la navegacin y no son lo que realmente interesan al
usuario.
En HTML5 podemos diferenciar esta informacin secundaria con el elemento <aside>.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="description" content="Este es un ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el ttulo del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<header>
<h1>Este es el ttulo principal del sitio web</h1>
</header>
16 | P g i n a
<nav>
<ul>
<li>principal</li>
<li>fotos</li>
<li>videos</li>
<li>contacto</li>
</ul>
</nav>
<section>
</section>
<aside>
<blockquote>Cita sobre el artculo nmero uno</blockquote>
<blockquote>Cita sobre el artculo nmero dos</blockquote>
</aside>
</body>
</html>
<footer>
Para finalizar la construccin de la estructura elemental de nuestro documento HTML5, solo
necesitamos agregar un elemento ms. Ya hemos creado la cabecera y el cuerpo, secciones con
ayuda para la navegacin, reas donde mostrar la informacin ms relevante y una barra lateral
en la que podemos contener datos adicionales. Lo nico que nos queda por hacer es cerrar el
diseo y darle un toque final al cuerpo del documento. HTML5 provee un elemento especfico
para este propsito llamado <footer>.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="description" content="Este es un ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el ttulo del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
17 | P g i n a
<body>
<header>
<h1>Este es el ttulo principal del sitio web</h1>
</header>
<nav>
<ul>
<li>principal</li>
<li>fotos</li>
<li>videos</li>
<li>contacto</li>
</ul>
</nav>
<section>
</section>
<aside>
<blockquote>Cita sobre el artculo nmero uno</blockquote>
<blockquote>Cita sobre el artculo nmero dos</blockquote>
</aside>
<footer>
Derechos Reservados © 2013-2014
</footer>
</body>
</html>
18 | P g i n a
<article>
La organizacin considerada anteriormente (Figura 1-1) es la ms comn y bsica en los sitios
web actuales, pero es adems representativa de cmo el contenido de las pginas web es
mostrado estos das. De la misma manera que los blog se dividen en entradas, otros sitios web
tambin presentan la informacin principal repartida en varias partes que comparten similares
caractersticas. El elemento <article> nos permite identificar cada una de estas partes.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="description" content="Este es un ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el ttulo del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<header>
<h1>Este es el ttulo principal del sitio web</h1>
</header>
<nav>
<ul>
<li>principal</li>
<li>fotos</li>
<li>videos</li>
<li>contacto</li>
</ul>
</nav>
<section>
<article>
Este es el texto de mi primer artculo
</article>
<article>
Este es el texto de mi segundo artculo
</article>
</section>
<aside>
<blockquote>Cita sobre el artculo nmero uno</blockquote>
<blockquote>Cita sobre el artculo nmero dos</blockquote>
</aside>
<footer>
Derechos Reservados © 2013-2014
</footer>
</body>
</html>
19 | P g i n a
Como se puede ver en el cdigo HTML del Listado 1-17, las etiquetas <article> estn
ubicadas dentro de etiquetas <section>. Las etiquetas <article> pertenecen a esa seccin,
son sus hijas del mismo modo que cada elemento dentro de las etiquetas <body> es hijo de este
elemento. Pero al igual que cada uno de los elementos dentro del cuerpo, las etiquetas
<article> son declaradas una despus de la otra. Cada una es una parte independiente de
<section>, como se muestra en la Figura 1-4.
Figure 1-4: Representacin Visual de las etiquetas <article> dentro de la seccin creada para
contener la informacin ms importante del documento
Conceptos Bsicos: Como ya hemos explicado, la estructura del cdigo HTML
puede ser descripta como un rbol, con el elemento <html> como su raz. Otra
forma de describir la relacin entre elementos es nombrndolos como padres,
hijos o hermanos de acuerdo a su posicin en esta estructura tipo rbol. Por
ejemplo, en un tpico documento HTML el elemento <body> es hijo del
elemento <html> y hermano del elemento <head>. Ambos, <body> y
<head>, tienen al elemento <html> como su padre.
El elemento <article> no est limitado por su nombre (no est limitado a artculos). Este
elemento tiene el propsito de contener una unidad de contenido independiente. Por esto, no
solo puede incluir artculos sino adems mensajes de foro, entradas de un blog, comentarios de
usuario, etc. El elemento agrupa porciones de informacin que estn relacionadas entre s de
acuerdo a la naturaleza de los datos que contienen.
Como una parte independiente del documento, el contenido de cada elemento <article>
tendr su propia estructura. Para definir esta estructura, podemos aprovechar la versatilidad de
los elementos <header> y <footer> estudiados con anterioridad. Estos elementos son
portables y pueden ser aplicados no solo al cuerpo sino tambin a cada seccin de nuestro
documento.
20 | P g i n a
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="description" content="Este es un ejemplo HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el ttulo del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<header>
<h1>Este es el ttulo principal de nuestro sitio web</h1>
</header>
<nav>
<ul>
<li>principal</li>
<li>fotos</li>
<li>videos</li>
<li>contacto</li>
</ul>
</nav>
<section>
<article>
<header>
<h1>Ttulo del primer mensaje</h1>
</header>
Este es el texto de mi primer mensaje
<footer>
<p>comentarios (0)</p>
</footer>
</article>
<article>
<header>
<h1>Ttulo del segundo mensaje</h1>
</header>
Este es el texto de mi segundo mensaje
<footer>
<p>comentarios (0)</p>
</footer>
</article>
</section>
<aside>
<blockquote>Cita sobre el artculo nmero uno</blockquote>
<blockquote>Cita sobre el artculo nmero dos</blockquote>
</aside>
<footer>
Derechos Reservados © 2013-2014
</footer>
</body>
</html>
21 | P g i n a
<hgroup>
Dentro de cada elemento <header>, en la parte superior del cuerpo o al comienzo de cada
elemento <article>, incorporamos etiquetas <h1> para especificar un ttulo. Estas etiquetas
son todo lo que necesitamos cuando tenemos que crear una lnea de cabecera en las distintas
partes del documento, pero a veces tambin debemos agregar subttulos o ms informacin para
declarar de qu se trata la pgina web o una seccin determinada. De hecho, el elemento
<header> tiene el propsito de contener otros elementos, como tablas de contenidos,
formularios de bsqueda, textos breves, logos, etc.
Para construir la cabecera podemos aprovechar el resto de las etiquetas H: <h1>, <h2>,
<h3>, <h4>, <h5> y <h6>, pero por propsitos de procesamiento interno, y para evitar generar
mltiples secciones o subsecciones durante la interpretacin del documento por parte del
navegador, estas etiquetas deben insertarse de forma agrupada. Para este propsito, HTML5
incluye el elemento <hgroup>.
IMPORTANTE: El elemento <hgroup> fue removido e incluido varias veces en
la especificacin de HTML5. Le recomendamos consultar el estado actual en el
sitio web oficial. Para mayor informacin, visite nuestra pgina web y siga los
enlaces de este captulo.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="description" content="Este es un ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el ttulo del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<header>
<h1>Este es el ttulo principal del sitio web</h1>
</header>
<nav>
<ul>
<li>principal</li>
<li>fotos</li>
<li>videos</li>
<li>contacto</li>
</ul>
</nav>
<section>
<article>
<header>
22 | P g i n a
<hgroup>
<h1>Ttulo del primer mensaje</h1>
<h2>Subttulo del primer mensaje</h2>
</hgroup>
<p>publicado 12-04-2014</p>
</header>
Este es el texto de mi primer mensaje
<footer>
<p>comentarios (0)</p>
</footer>
</article>
<article>
<header>
<hgroup>
<h1>Ttulo del segundo mensaje</h1>
<h2>Subttulo del segundo mensaje</h2>
</hgroup>
<p>publicado 02-04-2014</p>
</header>
Este es el texto de mi segundo mensaje
<footer>
<p>comentarios (0)</p>
</footer>
</article>
</section>
<aside>
<blockquote>Cita sobre el artculo nmero uno</blockquote>
<blockquote>Cita sobre el artculo nmero dos</blockquote>
</aside>
<footer>
Derechos Reservados © 2013-2014
</footer>
</body>
</html>
23 | P g i n a
es dividida en secciones que son independientes de las divisiones del diseo grfico de la pgina
web o de las creadas por los elementos <section>. Estas son secciones conceptuales generadas
durante la interpretacin del cdigo. El elemento <header> no crea una de estas secciones por
s mismo. Esto significa que los elementos dentro de <header> representarn niveles diferentes
y pueden generar diferentes secciones internamente. El elemento <hgroup> fue creado con el
propsito de agrupar las etiquetas H y evitar una interpretacin errnea por parte del
navegador.
Conceptos Bsicos: Metadata es un conjunto de datos que describen y proveen
informacin sobre otros datos. En nuestro ejemplo, metadata es la fecha que
indica cundo el mensaje fue insertado.
<figure> y <figcaption>
La etiqueta <figure> fue creada para poder ser ms especficos a la hora de declarar el
contenido del documento. Antes de que este elemento fuera introducido, no podamos
identificar contenido que era parte de la informacin principal pero auto contenido, como
ilustraciones, fotos, videos, etc. Normalmente, estos elementos son parte del contenido
relevante de la pgina web pero pueden ser removidos sin afectar o interrumpir el flujo del
documento. Cuando este tipo de informacin est presente, el elemento <figure> puede ser
usado para identificarla.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="description" content="Este es un ejemplo de HTML5">
<meta name="keywords" content="HTML5, CSS3, JavaScript">
<title>Este texto es el ttulo del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<header>
<h1>Este es el ttulo principal del sitio web</h1>
</header>
<nav>
<ul>
<li>principal</li>
<li>fotos</li>
<li>videos</li>
<li>contacto</li>
</ul>
</nav>
<section>
<article>
<header>
<hgroup>
<h1>Ttulo del primer mensaje</h1>
<h2>Subttulo del primero mensaje</h2>
</hgroup>
<p>publicado 12-04-2014</p>
</header>
Este es el texto de mi primer mensaje
24 | P g i n a
<figure>
<img src="http://www.formasterminds.com/content/myimage.jpg">
<figcaption>
Esta es la imagen del primer mensaje
</figcaption>
</figure>
<footer>
<p>comentarios (0)</p>
</footer>
</article>
<article>
<header>
<hgroup>
<h1>Ttulo del segundo mensaje</h1>
<h2>Subttulo del segundo mensaje</h2>
</hgroup>
<p>publicado 02-04-2014</p>
</header>
Este es el texto de mi segundo mensaje
<footer>
<p>comentarios (0)</p>
</footer>
</article>
</section>
<aside>
<blockquote>Cita sobre el artculo nmero uno</blockquote>
<blockquote>Cita sobre el artculo nmero dos</blockquote>
</aside>
<footer>
Derechos Reservados © 2013-2014
</footer>
</body>
</html>
<details> y <summary>
Una caracterstica importante de los sitios web es la habilidad de mostrar informacin adicional
cuando es requerida por el usuario. Para evitar el uso de Javascript y facilitar la creacin de este
tipo de herramientas, HTML5 incorpora los elementos <details> y <summary>. El elemento
<details> declara la herramienta. Dentro de este elemento especificamos el ttulo de la
herramienta usando el elemento <summary>, y agregamos debajo la informacin a ser revelada.
25 | P g i n a
<details>
<summary>Clic para Expandir</summary>
<p>Hola! Soy Visible!</p>
</details>
<mark>
La etiqueta <mark> fue agregada para resaltar parte del texto que originalmente no era
considerado importante pero que es ahora relevante debido a la actividad del usuario. El mejor
ejemplo es un resultado de bsqueda. El elemento <mark> ser usado para resaltar la parte del
texto que concuerda con las palabras buscadas.
<i> que
usbamos anteriormente).
<b>Este elemento debera ser usado para resaltar texto slo cuando no existe otro
elemento ms apropiado para la situacin.
<i>Este elemento ya no declara estilo de cursiva para un texto, ahora, de acuerdo con la
especificacin, representa una voz o estado de humor alternativo, como un pensamiento, un
trmino tcnico, etc.
<small>
La nueva especificidad de HTML es tambin evidente en elementos como <small>.
Previamente, este elemento presentaba cualquier texto en un tipo de letra pequea. La palabra
clave referenciaba el tamao del texto, independientemente de su significado o aplicacin. En
HTML5, el propsito del elemento <small> es representar letra pequea, como avisos legales,
descargos, etc.
<small>Derechos Reservados © 2014 MinkBooks</small>
<cite>
Otro elemento que se ha vuelto ms especfico es <cite>. Ahora las etiquetas <cite> encierran
el ttulo de un trabajo, como un libro, una pelcula, una cancin, etc.
<span>Me gusta la pelcula <cite>Tentaciones</cite></span>
<address>
El elemento <address> es un viejo elemento de contenido que se ha convertido en un
elemento estructural. No tuvimos que usarlo anteriormente para construir nuestro documento
pero podra encajar perfectamente en algunas situaciones donde necesitamos presentar
informacin de contacto para el contenido de un elemento <article> o para el contenido
completo de <body>.
Este elemento debera ser incluido dentro de etiquetas <footer>, como en el siguiente
ejemplo:
<article>
<header>
<h1>Ttulo del mensaje</h1>
</header>
Este es el texto del mensaje
<footer>
<address>
<a href="http://www.jdgauchat.com">J.D Gauchat</a>
</address>
</footer>
</article>
27 | P g i n a
<wbr>
El elemento tradicional <br>, un elemento simple sin una etiqueta de cierre, era la nica
posibilidad de insertar un salto de lnea en un prrafo. Navegadores muestran un salto de lnea
en la posicin donde se encuentra este elemento. Pero esto es slo til cuando sabemos
exactamente dnde el salto de lnea debe ser generado. HTML5 introduce el nuevo elemento
<wbr> que sugiere la posibilidad de realizar un salto de lnea solo si es necesario. Esto asegura
que el navegador no dividir las lneas de texto en los lugares equivocados.
En el siguiente ejemplo, el navegador ejecutar un salto de lnea despus de mostrar la
primera lnea de texto, y luego, de acuerdo con el espacio disponible, mostrar la segunda lnea
completa o generar un salto de lnea al trmino del dominio:
<article>
<header>
<h1>Ttulo del mensaje</h1>
</header>
Este es el texto del mensaje<br>
Visite esta URL: www.formasterminds.com<wbr>/content/bricks.jpg
</article>
<time>
En cada elemento <article> en el documento del Listado 1-20 incluimos una fecha para indicar
cundo el mensaje fue publicado. Para mostrar la fecha, usamos un elemento <p> dentro de
<header>, pero existe un elemento en HTML5 que cumple con este propsito especfico. El
elemento <time> nos permite declarar dos textos que representan la fecha y la hora, uno legible
por la ordenadores y otro que los humanos pueden entender.
<article>
<header>
<h1>Ttulo del mensaje</h1>
<time datetime="2014-04-12" pubdate>publicado 12-04-2014</time>
</header>
Este es el texto del artculo
</article>
28 | P g i n a
datetime tiene un valor que representa un formato de fecha legible por el ordenador. El
formato para este valor generalmente sigue un patrn como en el ejemplo: 2014-0412T12:10:45. Tambin incluimos el atributo pubdate, el cual es agregado para indicar que el
valor del atributo datetime representa una fecha de publicacin.
<data>
Para datos que no estn relacionados con una fecha y hora, podemos utilizar el elemento
<data>. Este elemento usa el atributo value para representar un valor legible por el ordenador.
<data value="32">Treinta y Dos</data>
Atributo data-*
Si necesitamos declarar datos adicionales, no solo para los elementos <data> y <time> sino
tambin para cualquier otro elemento HTML, el atributo data-* es la solucin que buscamos.
Este atributo ofrece la alternativa de asignar informacin adicional a un elemento sin exponerla
al usuario. Esta informacin ser destinada solo para uso del sitio web y ser accesible desde
cdigo Javascript, como estudiaremos ms adelante.
El nombre del atributo se compone por el prefijo data- seguido de un nombre
personalizado.
<p data-inicial="J" data-apellido="Gauchat">J.D Gauchat</p>
Atributo reversed
En el documento HTML del Listado 1-20 aprovechamos el elemento tradicional <ul> junto con
<li> para generar una lista de tems. En ese caso, el orden de los tems no era particularmente
importante, por lo que el uso de <ul> fue correcto, pero cuando el orden importa debemos usar
en su lugar el elemento <ol>. Este elemento genera una lista ascendente identificada con
29 | P g i n a
nmeros por defecto. La mejora en HTML5 es la adicin del atributo Booleano reversed para
crear una lista descendiente.
<ol reversed>
<li>principal</li>
<li>fotos</li>
<li>videos</li>
<li>contacto</li>
</ol>
pingEste atributo declara la ruta de la direccin URL ha ser informada cuando el usuario
hace clic en el enlace. El valor puede estar compuesto por una o ms URLs separadas por un
espacio.
downloadEste es un atributo Booleano que cuando est presente indica que en lugar de
leer el archivo el navegador debe descargarlo.
<a href="http://www.formasterminds.com/content/myfile.pdf"
ping="http://www.jdgauchat.com/control.php" download>Clic aqu para
descargar el archivo</a>
Como resultado, cada vez que el usuario hace clic en el enlace, el archivo PDF es descargado y el
cdigo PHP es ejecutado, permitiendo al desarrollador llevar un control de esta actividad (usando
este archivo podemos, por ejemplo, almacenar informacin del usuario o contar las descargas
efectuadas).
Hgalo Usted Mismo: Copie el cdigo fuente del Listado 1-31 en un archivo
vaco, grbelo con un nombre a su eleccin y la extencin.html, y abra el
archivo en su navegador. Cuando haga clic en el enlace, el navegador
30 | P g i n a
Atributo translate
La mayora de los nuevos navegadores traducen automticamente un documento cuando
detectan que est escrito en un idioma diferente al del usuario, pero en algunos casos existen
textos que deberan permanecer en su versin original, como nombres, ttulos originales de
obras extranjeras, etc. Para controlar el proceso de traduccin desde HTML, el atributo
translate fue agregado.
<p>My favorite movie is <span translate="no">Dos Caminos</span></p>
Atributo contenteditable
La habilidad de editar el contenido de una pgina web ha existido por aos, pero nunca fue una
caracterstica oficial. Ahora, con la introduccin del atributo contenteditable, podemos
convertir cualquier elemento HTML en un rea editable.
<p>Mi pelcula favorita es <span contenteditable="true">Casablanca</span>
</p>
31 | P g i n a
Atributo spellcheck
Otra funcin que es activada automticamente por los navegadores es la correccin de
ortografa (spell check). A pesar de ser una herramienta muy til que los usuarios esperan tener
disponible todo el tiempo, puede llegar a ser inapropiada en determinadas circunstancias. Para
activar o desactivar esta caracterstica, podemos usar el atributo spellcheck .
32 | P g i n a