Recomendaciones: Pasar de HTML a XHTML (I)

11 ago. 2008
En muchas ocasiones, cuando se aborda un cambio en el lenguaje de marcado utilizado habitualmente para crear nuestras páginas webs, como es por ejemplo el paso de HTML a XHTML, frecuentemente nos encontramos con problemas de varios tipos, atributos usados de forma indebida, etiquetas mal cerradas, e incluso en algunos casos el comportamiento de los CSS varía, con lo que hay que volver revisarlos y redefinirlos.

Puede parecer, y no falta razón en ocasiones, que los que diseñamos y creamos páginas web ante un cambio de lenguaje de marcado, no nos paramos ni un segundo a estudiar las nuevas reglas de uso y que nos limitamos a dejar que el día a día sea el que nos muestre esos nuevos cambios. Algo que puede tener su origen quizás, en nuestra condición de autodidactas, al menos en mi caso. Ignoro si en el mundo de la programación sucede igual, pero para los que hacemos páginas web creo que éste es uno de nuestros mayores hándicaps, la falta de concienciación sobre las reglas de nuestro lenguaje de marcado.

Ni que decir tiene que el lenguaje de marcado que vayamos a utilizar influye de manera crítica en la forma que nuestro navegador va a interpretar los CSS, una de las piedras angulares sobre los que sustentan nuestros diseños y nuestras páginas web. Es por ello por lo que no está de más conocer cuáles son algunos de los cambios más importantes que XHTML ha incorporado, sobre todo si no queremos que nos afecte a nuestros CSS.

Por ejemplo, una de las nuevas características de XHTML es que es case sensitive. Podríamos pensar que ahí reside uno de los mayores conflictos con CSS, pero este cambio introducido en XHTML, no representa muchas diferencias con lo que se venía haciendo, ya que en HTML la definición de atributos id y class también era case sensitive.

Entonces, ¿por qué el paso de un documento HTML a XHTML deriva en todos estos inconvenientes? La respuesta la podemos encontrar fácilmente en la forma que han tenido y tienen los navegadores de Internet de interpretar el documento que se está abriendo.

La correcta definición en la cabecera de los tipos de los documentos utilizados, ya sean HTML o XHTML, ha sido una práctica poco habitual en el mundo web. Actualmente se ha convertido en algo realmente necesario, sobre todo para que los navegadores apliquen correctamente los estándares y sepan interpretar los documentos de la forma adecuada.

Ejemplo: Definición de un documento de tipo XHTML 1.0 Transitional.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">

La ausencia de esta definición, derivaba en un conflicto realmente importante con los navegadores de Internet, quienes al desconocer el tipo de documento que estaban procesando, y en lugar de usar al azar alguno de los estándares definidos, el Standar Mode, adoptaban el modo de compatibilidad por defecto, o más conocido como Quirks Mode.

Una de las particularidades de este modo era precisamente no ser case sensitive. Esto afectaba, y sigue afectando, no sólo a la forma de visualizar e interpretar las páginas web, sino a la forma en la que los que desconocían esta circunstancia generaban su código CSS. Siempre ha existido, o al menos esa es mi impresión, la tendencia de diseñar para los navegadores, sin pensar que la solución pasa por diseñar pensando en los estándares. Unos estándares que los propios navegadores ya son capaces de interpretar a la perfección a poco que se lo indiquemos de forma adecuada.

Podríamos decir pues que, al margen de la experiencia de cada uno, no hay nada mejor que saber y conocer perfectamente las reglas, particularidades y características fundamentales del lenguaje de marcado que estamos utilizando. Pero además debemos ser capaces de ver a los navegadores de Internet como lo que son, unos simples intérpretes de nuestro código.

Así, cuando nos topemos de nuevo con la disyuntiva, más que habitual hoy día, de que IE6, IE7, FF2 y FF3 no muestran nuestra página web de la misma forma, sabremos reconocer que quizás el problema sea simplemente que no hemos sabido utilizar de forma adecuada todos los estándaresherramientas y lenguajes de los que disponemos.
comments powered by Disqus
subir