La declaración Doctype: Qué es y para qué se utiliza

html

Todos los documentos HTML deben incluir la declaración doctype para así indicar al navegador el tipo de documento que debe consumir, así como la versión de HTML que sigue el documento. Doctype es la abreviatura de Document Type Declaration.

En general todo documento HTML debe comenzar con esta declaración como primera línea:

<!DOCTYPE html>

En este ejemplo hemos indicado al navegador que el documento actual está en formato HTML5. No te preocupes de si la declaración está en mayúscula o minúscula, ya que no es sensible a las mayúsculas.

Modos de Renderizado

Siempre que esta etiqueta esté presente, el navegador utilizará los estándares actuales para representar la página. A este modo de renderizado se le suele llamar «modo estándar»,

Sin embargo, estos estándares no son válidos cuando la página ha sido creada para navegadores, que ya tienen bastantes años a cuestas. Es por ello que la mayor parte de los navegadores entrarán automáticamente en un modo de representación denominado «modo compatibilidad« cuando detecten que la página ha sido creada con otros estándares diferentes a los actuales. A este modo de representación también se le suele llamar «quirks mode».

Los navegadores determinarán cuál de los dos modos utilizar basándose en la declaración DOCTYPE. En la mayor parte de los casos, si quieres evitar el modo compatibilidad, tendrás que usar la declaración que ya hemos visto:

<!DOCTYPE html>

Sin embargo, algunas versiones antiguas del navegador Internet Explorer necesitan que tengamos en cuenta ciertas consideraciones adicionales. En concreto, hablamos de todas aquellas versiones inferiores a Internet Explorer 10, ya que necesitan que la siguiente meta etiqueta esté presente en el <head> de la página:

<meta http-equiv="X-UA-Compatible" content="IE=Edge">

Versiones de HTML

En esta sección vamos a ver algo de historia. A día de hoy ya no es necesario que leas esto, salvo que estés interesado por temas de compatibilidad. La última versión de HTML es por ahora la versión HTML5, que fue creada siguiendo su propio estándar. Debido a esto, su declaración DOCTYPE es tan sencilla como la que ya hemos visto:

<!DOCTYPE html>

Sin embargo, vamos a mirar un poco más hacia el pasado, en donde nos encontramos con las versiones de HTML que han ido apareciendo desde 1991:

  • HTML (SGML): La primera versión, creada por Tim Bernes-Lee en 1991.
  • HTML 2.0 (SGML): Publicado en el año 1995, este es el primer estándar oficial, ya que el estándar HTML 1.0 como tal jamás ha existido. Los documentos eran muy simples y todavía no se soportaban las tablas.
  • HTML 3.2 (SGML): Publicado en el año 1997, este estándar fue el primero registrado bajo el estándar W3C. Este estándar soportaba applets de Java e imágenes flotantes con texto a su alrededor.
  • HTML 4.01 (SGML): Publicado en diciembre de 1997 por primera vez, lanzándose la versión 4.01 en el año 1999, este estándar prescindía de etiquetas obsoletas y agregaba otras nuevas, aunque no supuso una gran revolución. Soportaba diferentes versiones, como la estricta y la transaccional, además de otra que soportaba frames. Tal y como su nombre indica, el modo transaccional era menos escrito que el modo estricto.
  • XHTML (XML): Publicado en el año 2000. El consorcio W3C continuó por su cuenta el desarrollo de la siguiente versión de HTML, dando lugar al estándar XHTML. Por otro lado, ciertas empresas como Mozilla, Opera y Apple decidieron desarrollar de forma paralela el estándar HTML5. Finalmente, el estándar XHTML se integró como parte del estándar HTML5.
  • HTML5: Publicado en el año 2014. HTML5 incorporaba nuevas etiquetas como aquellas que permiten integrar vídeo o audio a los documentos HTML, todo ello sin necesidad de addons, como había ocurrido anteriormente. Desde entonces no se han lanzado nuevos estándares, sino que el propio estándar HTML5 se fue mejorando progresivamente. Con el tiempo se dejaron de usar muchas de las reglas definidas en el estándar XHTML.

Los estándares previos a HTML5, salvo XHTML, están basados en el formato SGML, que define la estructura de los documentos. Es por ello que se hace necesario definir un esquema DTD (Document Type Definition). Por ejemplo, a continuación tienes la definición DOCTYPE de la versión HTML 4.01 estricta:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Por otro lado, XHTML utiliza XML para definir la estructura del documento. Aquí tienes también la definición DOCTYPE de un documento XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Como puedes ver, todas estas versiones requieren que se defina el tipo de documento o DTD. Además, la versión XHTML también necesitaba la inclusión de un espacio de nombres, de modo que soportase ciertas etiquetas. El espacio de nombres se define mediante el atributo xmlns de la etiqueta html:

<html xmlns="http://www.w3.org/1999/xhtml">

Por último HTML5 sigue su propio estándar, por lo que no se requiere que incluyamos la definición del esquema DTD, siendo su declaración muy simple:

<!DOCTYPE html>

Y esto ha sido todo.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

Deja una respuesta

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”