jueves, febrero 22, 2007

La nueva versión de Blogger, incumple aún más los estándares W3C

Pues sí. Lamentablemente, es así. Hoy me he visto obligado a migrar a la nueva versión de Blogger, ya que hasta que no lo hiciera no se me permitía editar ni crear nuevos artículos. Tras una moderada tranquilidad al ver que el blog seguía en su sitio tras el proceso, y una agradable sopresa al comprobar que había migrado todo el contenido a UTF-8, observé con horror que al validar el XHTML, salían más de 40 errores. ¿Por qué? Pues por dos motivos:

El primero es que la barra de navegación de Blogger, de la que alguna vez he hablado, ha cambiado totalmente. Ahora se carga mediante una etiqueta <iframe>. Esta etiqueta permite referenciar otra página HTML distinta, de forma que se incrusta dentro de un espacio determinado en la página original. Aparentemente es una buena idea, ya que así el código de la barra es mucho menos intrusivo, y no interferirá con el de la página original. Aparentemente. Resulta que la etiqueta <iframe> se considera obsoleta y no ha sido incluida en la variante Strict de XHTML 1.0 ni en la de HTML 4. Así que ni dicha etiqueta ni ninguno de sus atributos son válidos, lo que nos da de entrada 9 errores por ello.

¿Y por qué no usar la variante Transitional? pensaréis algunos. ¿Para qué ser tan estricto? Bueno, ya expliqué en su día por qué me parece importante utilizar la variante Strict. Pero aunque decidiera utilizar Transitional, quedarían aún varios errores más.

En el envío anterior, expliqué qué eran las entidades HTML. Recordaréis que básicamente consistían en un código encerrado entre los símbolos «&» y «;». El carácter «&» define el inicio de una entidad HTML, y si lo que sigue no es una entidad válida, se está cometiendo un error. ¿Y si necesitamos poner en nuestro texto dicho caracter, como en «D&D»? Pues para eso existe precisamente una entidad HTML, &amp;, de forma que un navegador muestra el caracter «&» al encontrarla. Por tanto, siempre que queramos especificar un «&» en nuestro texto, tendremos que escribir &amp;. Siempre.

¿Siempre? Sí, siempre. Incluso en los parámetros de los enlaces. ¿Lo cualo? Veréis, al acceder a una página web (aunque deberíamos generalizar y decir recurso web), se le pueden pasar diversos parámetros, que el servidor en cuestión interpretará (la realidad es algo más complicada, pero de momento esta explicación nos vale). Una forma de pasar esos parámetros es en el propio texto correspondiente a la dirección del enlace (atributo href), separados precisamente por el caracter «&». Si pasáis el puntero del ratón por encima del enlace relativo a los comentarios en este blog, veréis a lo que me refiero. Pues bien, esos «&» deberían aparecer en el código de la página como &amp;, y así lo hacían en la versión anterior de Blogger. Sin embargo, en la nueva versión se están poniendo tal cual, lo que nos da varios errores por cada & que aparece. Y hay varios en cada enlace para abrir la ventanita de comentarios. Lo peor de todo es que aquí sí que no hay solución, ya que ese código es generado automáticamente por Blogger, y es inválido en todas las variantes de XHTML y HTML.

Así que vamos hacia atrás, como los cangrejos. Para más risa, el conocido error en los comentarios, consistente en generar la etiqueta <BR/> por cada salto de línea (y que no es válido ni en XHTML ni en HTML), sigue ahí. Así que tenemos ahora dos errores sencillísimos de corregir por parte del equipo de Blogger, pero que parece que les da un poco igual.

Etiquetas: