Advertencia: Es muy importante tener en cuenta que HTML 5 es todavía un borrador, y que podría haber características del mismo que puedan sufrir variaciones antes de convertirse en recomendación.
HTML 5: resultado de la experiencia
Fecha | Versión |
---|---|
Noviembre 1995 | HTML 2.0: Con el tiempo se le van añadiendo características (1995-97) |
Enero 1997 | HTML 3.2 |
Diciembre 1997 | HTML 4.0: Correcciones en abril de 1998 |
Diciembre 1999 | HTML 4.01: Solo pequeños cambios respecto a HTML 4.0 |
HTML 4.0 aparece a finales de 1997, y HTML 4.01 dos años después. Es el momento en el que comienza a expandirse la generación de contenidos Web.
HTML 4 ha sido probado a lo largo de una década, en la que se ha demostrado su gran utilidad, pero que ha destapado algunas debilidades y carencias.
Son esas debilidades y carencias las que HTML 5 trata de corregir.
El uso habitual de ciertas clases para elementos de cabecera de página (enlace externo, en inglés), de pie de página, de contenidos, etc. evidenciaba que eran necesarios nuevos elementos:
- footer
- menu
- title
- small
- text
- content
- header
- nav
- copyright
- button
- main
- search
- msonormal
- date
- smalltext
- body
- style1
- top
- white
- link
Por ello, en base a algunas de esas clases más habituales, se han creado o modificado algunos elementos:
Clase | Elemento |
---|---|
footer | footer |
menu | menu |
title, header, top | header |
text, content, main, body | article |
nav | nav |
date | date |
XHTML: los inconvenientes
Hay HTML 5, pero ¿no hay una versión equivalente de XHTML, como la hubo con HTML 4?
La diferencia de HTML 4.01 con XHTML 1.0/1.1 es importante, XHTML se debe servir con un tipo MIME application/xhtml+xml: Es XML. Consecuencias:
- Esto hace que hasta el más pequeño error haga que se pare la carga de la página y ésta no se llegue a visualizar en el navegador.
- Esa severidad en el tratamiento de los errores haría que muchas páginas no pudiesen cargar, ya que la mayoría de las páginas suelen tener errores de marcado.
Esto no ocurre con HTML, el navegador es capaz de seguir interpretando la página a pesar de la presencia de errores de marcado (dependiendo de la gravedad de los mismos).
La especificación XHTML 1.0 (no así XHTML 1.1) incluía la posibilidad de no servirlo como XML, sino como texto, de modo que en caso de error el comportamiento fuese como en HTML.
Compatibilidad hacia atrás
HTML 5 se ha definido de modo que sea compatible con el modo en que los navegadores manejan el contenido de las páginas.
Los requerimientos para desarrolladores y para navegadores difieren en algunos aspectos:
- Para el desarrollador se excluyen los elementos que caen en desuso, por ejemplo, los que cuyo cometido se ha de cumplir mediante CSS (separación de presentación y contenido).
- Y a los navegadores se les requiere soporte para esos elementos.
De este modo no es necesario marcar características del lenguaje como obsoletas.
Sintaxis
La sintaxis de HTML 5 es compatible con los documentos HTML 4 y XHTML 1 que se utilizan en la actualidad.
Existen dos variantes de sintaxis:
- HTML
- XHTML
DOCTYPE: tipo de documento
<!doctype html>
El tipo de documento (DOCTYPE) sólo es obligatorio para la sintaxis HTML: Si se omite no se habilitará el modo de estándares en los navegadores.
En documentos con sintaxis XHTML, servidos como XML, el tipo de documento es opcional, ya que independientemente de su inclusión se activará el modo estándares.
Sintaxis HTML
Si se utiliza la sintáxis HTML el documento es servido como text/html.
Si la página no se considera segura se puede servir como text/html-sandboxed (sandbox).
Ejemplo de la sintáxis HTML:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Documento de ejemplo</title>
</head>
<body>
<p>Párrafo de ejemplo</p>
</body>
</html>
Sintaxis XHTML
Si se utiliza la sintáxis XHTML la página deberá servirse como XML:
- application/xhtml+xml
- application/xml
Ejemplo de la sintáxis XHTML sin DTD:
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Documento de ejemplo</title>
</head>
<body>
<p>Párrafo de ejemplo</p>
</body>
</html>
Ejemplo de la sintáxis XHTML con DTD:
<?xml version="1.0" encoding="UTF-8"?>
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Documento de ejemplo</title>
</head>
<body>
<p>Párrafo de ejemplo</p>
</body>
</html>
Hay que hacer hincapié en la primera línea, que es la que define como XML al documento:
<?xml version="1.0" encoding="UTF-8"?>