html5
HTML.5 GUIA BASICA
Hace 10 años que se actualizó por última vez el HTML
con la especificación 4.01. Desde entonces, la web ha
cambiado radicalmente como también lo ha hecho el modo
de diseñar y desarrollar páginas. Se han estandarizado
una serie de elementos como los encabezados o el menú,
se utiliza Ajax para recargar el contenido dinámicamente
y todo el mundo usa CSS para definir los atributos visuales
de la página.
El nuevo HTML 5 intenta adaptarse al nuevo escenario y
presenta elementos para desarrollar páginas dándole un
valor especial a la semántica, es decir, que se pueda
reconocer desde el propio código el tipo de contenido
que se está mostrando. Conviene recordar, que en sus
orígenes el HTML no era más que un lenguaje de etiquetas
sencillo orientado a poner en líneas trabajos académicos.
Por eso, por ejemplo, tenemos seis niveles de títulos
<h1>, <h2>… <h6>) que casi nadie usa en su totalidad.
El estado actual del HTML 5 es el de un borrador que está
madurando.
La primera versión salió a la luz en enero de 2008
pero ha sido revisada varias veces. Sin embargo, navegadores
como Firefox 3.5 o Internet Explorer 8 ya pueden interpretarlo
y tienen soporte para las etiquetas y tecnologías que
vienen de la mano.
NOVEDADES
En lo que es estrictamente diseño lo más importante son las
etiquetas del HTML 5. Pero antes avanzar conviene recordar que
-como es habitual en el W3C- se asegura la compatibilidad
hacia atrás con lo cual podemos seguir escribiendo en el viejo
HTML 4 sin miedo porque los navegadores seguirán mostrando
correctamente las páginas. Sin embargo, profesionalmente nos
vamos a quedar atrás y en algún momento debemos encarar
la transición. Mejor hacerlo ahora.
ETIQUETAS QUE SALEN
Con la llegada del CSS muchas etiquetas del HTML que afectaban
la presentación de los elementos de pantalla cayeron en desuso.
Ahora definitivamente se eliminan. Todas pueden ser perfectamente
reempalzadas por atributos en las hojas de estilo.
El listado de etiquetas que caen en desuso -porque ya existe
una forma de hacer lo mismo con CSS- es el siguiente:
FONT
CENTER
STRIKE
BASEFONT
BIG
S
STRIKE
TT
U
El HTML 5 elimina completamente el uso de frames (marcos)
por razones de usabilidad y accesibilidad. No ocurre lo
mismo con el IFRAME que seguirá siendo válido. Por lo tanto,
las etiquetas vinculadas con los frames que salen son:
FRAME
FAMESET
NOFRAMES
Para terminar, encontramos etiquetas que ya no se usan porque
creaban confusión o hacían lo mismo que otras ya existes.
Estas son:
ACRONYM
APPLET
ISINDEX
DIR
ETIQUETAS NUEVAS
Como mencioné anteriormente, una prioridad del HTML 5 es darle
valor semántico al código para que se pueda reconocer fácilmente
la función de los elementos en una página. Por eso, aparecen
muchos indicadores de secciones y contenedores para tipos de
contenido específicos.
Hay 22 nuevas etiquetas y son las siguientes:
SECTION
ARTICLE
ASIDE
HGROUP
HEADER
FOOTER
NAV
DIALOG
FIGURE
VIDEO
EMBED
MARK
PROGRESS
METER
TIME
RUBY (RT y RP)
CANVAS
COMMAND
DATALIST
KEYGEN
OUTPUT
También tenemos etiquetas que soportan nuevos atributos.
Por ejemplo, anteriormente en INPUT solo podías escoger
entre botones, casillas de verificación, campos de texto
o clave y pocas opciones más. Ahora tenemos atributos
específicos como SEARCH si se trata de un campo de búsqueda,
EMAIL si el usuario tiene que introducir un correo electrónico
o DATE si es una fecha. También aparece el atributo AUTOFOCUS
para poder poner el foco de un formulario en un lugar concreto
sin tener que recurrir al JavaScript.
EMPEZAMOS HTML 5
Voy a intentar explicar algunas de las nuevas etiquetas(las más
importantes en mi opinión) a través de un ejemplo práctico.
Supongamos que tenemos un sitio clásico formado por el encabezado,
menú a la izquierda, contenido y pide de página.
En HTML 4.01 hubiésemos usado algo así:
Esquema de una página en HTML 4
Mientras que en HTML 5 podemos hacer más explícito el contenido
de cada sección en lugar de usar identificadores para los DIVs.
Esquema de una página en HTML 5
Claramente podemos adivinar que HEADER sive para definir el
encabezado del sitio, NAV contiene los enlaces para navegar
y FOOTER la información del pie de página.
Luego aparecen una serie de etiquetas para especificar dentro
del área de contenido el tipo de información que agregamos.
SECTION obviamente marca el inicio y fin de una sección,
ARTICLE sirve para indicar cada artículo (muy útil en un blog,
por ejemplo) mientras que FIGURE es usado para señalar que un
elemento se trata de una ilustración que acompaña un texto.
Estos elementos puede ser tanto una imagen, como un video o un audio.
Pasemos este esquema a código HTML 5:
<html>
<head>
<title>Mi Sitio </title>
</head>
<body>
<header>
<h1><a href= “/home”>El nombre o título de mi Sitio</a></h1>
</header>
<nav>
<ul>
<li><h2>Sitio</h2>
<ul>
<li><a href="/home/">Inicio</a></li>
<li><a href=" /acerca">Acerca De</a></li>
<li><a href="/contacto">Contacto</a></li>
</ul>
</li>
</ul>
</nav>
<section>
<article>
<h2><a href="/html-5">Las novedades del HTML 5</a></h2>
<p>La nueva versión del lenguaje ya está aquí y llega con nuevos
cambios... </p>
</article>
<article>
<h2><a href="/tutoriales-con-CSS">Tutoriales con CSS</a></h2>
<p>Nueva serie de tutoriales con CSS sobre la posiblidad de crear
efectos con nuestras imagenes...</p>
<figure>
<video src= “/video”></video>
<legend>Video explicativo sobre uso de CSS para efectos</legend>
</figure>
</article>
<nav>
<a href="/blog/page/2/">Más articulos</a>
</nav>
</section>
<footer>
<p>Copyright 2009 por mi</p>
</footer>
</body>
</html>
Este ejemplo es muy simple pero sirve para analizar la estructura
básica de una página web en HTML 5. Como se puede ver, en este caso
usé la etiqueta FIGURE para insertar un video y que acompañé con
LEGEND para agregarle el epígrafe.
El HTML 5 también tiene etiquetas para tipos de contenidos muy
específicos. Muchas se pueden comprender fácilmente: TIME para
mostrar la hora, DATE para las fechas, AUDIO para insertar sonidos o
METER para representar una magnitud de medición (el espacio en el
disco rígido, por ejemplo). Otras no lo son tanto pero su uso es
interesante. Un par de ejemplos
ASIDE: Es para lo que en periodismo se llaman “apostillas”, esto es,
una información adicional sobre un tema pero que no hace al centro
del a cuestión. Como los recuadros que acompañan a veces la nota
central de una revista.
PROGRESS: Para representar el avance de una tarea como puede ser el
proceso de registro o suscripción en una web.
EL ADIOS DE LOS PLUGINS
Una de las propuestas más controvertidas del HTML 5 fue su intención
de trabajar con estándares abiertos para el tratamiento del contenido
multimedia. Hay que recodar que la llegada del video y la animación a
la web fue de la mano de estándares cerrados como Quick Time y Flash
respectivamente.
La intención del W3C fue apostar fuerte por soluciones de código
abierto como Ogg Theora para manejar la reproducción multimedia.
Sin embargo, las presiones de la industria hicieron que la propuesta
se retirara y aun no hay una definición concreta a respecto.
Pero lo cierto es que las etiquetas OBJECT y EMBED que se utilizan
para agregar contenido multimedia con plugins siguen siendo
soportadas. En el caso de OBJECT desaparecen algunos atributos como
ARCHIVE, CLASSID, CODEBASE, CODETYPE, DECLARE y STANDBY.
Estos atributos se pueden mantener por razones de compatibilidad con
HTML 4 pero no tienen función alguna en la nueva versión.
La etiqueta APPLET –usada casi exclusivamente para embeber un
programa en Java dentro de una página- no tuvo la misma suerte y fue
retirada.
FORMULARIOS
Uno de los aspectos en el cual el HTML 4 exhibe más limitaciones es
la hora de trabajar con formulario. Ahora el nuevo HTML 5 nos permite
trabajar con componentes específicos para algunos tipos de datos
como fechas, un código postal o una dirección de e-mail.
Por ejemplo, un formulario clásico donde pedimos al usuario su nombre,
correo y página web queda del siguiente modo:
<input id="nombre" name="nombre" type="text" />
<input id="correo" name="correo" type="email" />
<input id="web" name="web" type="url" />
Uno de los aspectos más interesantes de HTML con los formularios es
que podemos hacer validaciones de datos sin recurrir a JavaScript.
Aunque ya tenemos tipos de datos específicos como correo, fechas o
teléfono siempre es interesante verificar que el usuario realmente
escribe datos de forma correcta en los campos. Para realizar la
validación empleamos el atributo PATTERN.
La validación se realiza con un método estándar como son
las expresiones regulares definidas en ECMAScript. No vamos a
desarrollar acá el tema de expresiones regulares pero veamos
un ejemplo sencillo de cómo evitar que nos metan código
malicioso en un formulario:
<input title="Por favor, no ingreses código en este campo" name="texto" />
El soporte para formularios en HTML 5 funciona al 100% en Opera,
mientras que lo hace de forma parcial en Chrome y Safari. Sin embargo,
podemos usar Web Forms 2 para implementar sus características
en otros navegadores.
HTML 5 AVANZADO
Además de nuevas etiquetas el HTML 5 también introduce una serie de
cambios que facilitan la creción de aplicaciones webs.
La representación de un documento se realiza a partir del
DOM (Document Object Model) y no de la sintaxis del lenguaje.
En palabras simples, es un nivel más abstracto que, por ejemplo,
permite que unapágina se pueda escribir tanto en HTML 5 como XHTML 5:
el resultado será el mismo. También afecta el modo en que los objetos
son recorridos desde JavaScript.
Otro aspecto interesante es el soporte para gráficos vectoriales escalables (SVG).
Permiten dibujar en pantalla sin tener que usar
imágenes en mapa de bits como sería un JPG, PNG o GIF.
Del mismo modo que el CSS podemos escribir el SVG en línea
(dentro del código en la página) o vinculado a un archivo externo.
Empleando la etiqueta CANVAS y JavaScript también podemos crear
dibujos de forma dinámica o sobreponer elementos a un video.
Tanto el nuevo DOM como el uso de SVG son temas bastante complejos
pero creo que pronto comenzarán a hacerse más populares de la mano
de herramientas específicas que faciliten su desarrollo. Sin embargo,
es importante tomar nota de las nuevas posibilidades que esto abre
para el diseño web.
El HTML 5 trae bastantes novedades, muchas de ellas necesarias
después de 10 años sin demasiados cambios. Nos guste o no,
lo cierto es que HTML 5 se terminará convirtiendo en un
estándar para el desarrollo de páginas web.
No hay que perder de vista que el borrador que define las
características del HTML 5 es un documento en desarrollo
que está sujeto a cambios. Una serie de diseñadores influyentes
como Aaron Gustafson, Eric Meyer y Jeffrey Zeldman crearon
HTML 5 Super Friends para apoyar la dirección que está tomando
la nueva versión del lenguaje. Varias de sus sugerencias está
siendo incorporadas lo cual significa que el W3C realmente está
escuchando la opinión de los profesionales.
Un incentivo más para comenzar a estudiar, debatir y opinar.