jueves, 27 de marzo de 2008

Usando el lenguaje HTML de manera correcta

El lenguaje HTML es el que le da vida a la web; el requisito fundamental de todo desarrollador web es conocer como mínimo el lenguaje HTML, ya que sobre este se agregan otras tecnologías como CSS y Javascript.

Actualmente la especificación de HTML mayormente recomendada es la XHTML 1.0, la cual en términos simples es HTML pero con las reglas del lenguaje XML. Otras versiones de HTML recomendadas por la W3C son XHTML 1.1, y la más antigua HTML 4.01.

Podríamos resumir las principales reglas de XHTML en las siguientes:
  • Todos los elementos no vacíos deben tener su tag correspondiente de cierre (<p>hola</p>)
  • Los tags que originalmente no consideraban tag de cierre deben utilizar la versión reducida de XML, es decir poniendo un slash al final del tag. (<br/>)
  • Los valores de los atributos deben estar entre comillas simples. (<a href="index.html">)
  • Los nombres de los tags y atributos HTML deben estar en minúsculas.
  • Todos los atributos deben tener un valor. (<option selected="selected">)
Adicionalmente XHTML 1.0 incluye 3 variaciones:
  • XHTML Strict: cumplimiento estricto de la especificación.
  • XHTML Transitional: permite algunas excepciones de la especificación, es la más comúnmente utilizada.
  • XHTML Frameset: soporte para frames.
(HTML 4.01 también permite especificar strict, transitional y frameset)



¿Cómo le decimos al browser la versión de HTML a utilizar?
Para indicarle al navegador la versión de HTML, se utiliza una declaración al comienzo del archivo (en la primera línea) denominada DOCTYPE (document type declaration) la cual indica las "reglas" del documento XML.

Para el caso de XHTML 1.0 tenemos las siguientes alternativas [w3c]:


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

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

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

Para la mayoría de los casos recomiendo utilizar XHTML 1.0 Transitional.


Quirksmode
Antiguamente no existía esta técnica para poder decirle al navegador la versión de HTML que se está utilizando, por lo que en los casos de las páginas HTML que no incluyan un DOCTYPE, los navegadores utilizan un modo de compatibilidad denominado quirksmode en el cual asumen que la página está construida con técnicas obsoletas y errores comunes del siglo pasado por lo que interpreta la página con reglas diferentes.

No hay comentarios: