IE6/Windows, errores por conmutación y definición de DOCTYPE 14 Junio, 2007

Esta entrada ha sido publicada por Covi y está archivada en Desarrollo Web

Vale… llevo cometiendo el mismo error con IE desde que decidí diseñar en base a los Estándares Web, más que la Conmutación de DOCTYPE es la DEFINICIÓN del DOCTYPE o su encabezado.

Definición tipo de documento XHTML Transicional

1
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Y es que el W3C a veces confunde, más que “se equivoca”.
Lo leí en “Diseño con Estándares Web” del ya mencionado en este blog Jeffrey Zeldman.

El Origen:

El W3C recomienda que el encabezado de la conmutación de DOCTYPE en modo estándares para XHTML incluya la versión XML, ya que (X)HTML es XML ^^.

1
<?xml version="1.0" encoding="UTF-8"?>

Esto ya provocaba un problema con los archivos PHP y había que incrustar el código de forma algo partícular para “escapar” los tags propios del inicio y cierre de PHP.

Eso se podía solucionar:

1
<?php echo '<?xml version="1.0" encoding="UTF-8"?>';?>

pero el problema, además inadvertido muchas veces, es -una vez más- el comportamiento de IE:

EL Error:

El encabezado de declaración de la versión XML y la codificación de caracteres a usar provoca que IE6/Windows NO CONMUTE el modo estándares, por ejemplo: XHTML Transitional 1.0, sino SU PARTICULAR modo de compatibilidad inversa -quircks-, es decir: MODO: “Interpreta el documento como más te guste” y compatible con navegadores antiguos (Ej. I.E. 5) y marcado obsoleto.

Esta es la razón por la que a pesar de leer una y otra vez que IE6 acepta el “modelo de cuadro” del W3C si se conmuta el “modo estándares” en mis documentos nunca lo hace. Esto es debido a que el modo de compatibilidad inversa interpreta el documento, en su mayor parte, más bien como lo podría hacer IE5.0/5, o lo que es lo mismo:
Con el modelo de cuadro personal e incorrecto de IE.

Solución:

No incluir la declaración de la versión de documento XML:

1
<?xml version="1.0" encoding="utf-8"?>

a no ser que sirvas tus documentos en XML puro.

Y es que no es bueno leer libros por partes :(


1 comentario en “IE6/Windows, errores por conmutación y definición de DOCTYPE” »

  1. Pingback Cultura Digital#Blog » Z-index para Internet Explorer: Review! opinó:

    [...] había muchas cosas que no sabía, no recordaba o pasé por alto: La conmutación de DOCTYPE por parte de IE6 en relación a la especificación XML de un documento XHTML… esto es: [...]

Dejar un comentario

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Aunque no estamos sujetos a la LOPD, igualmente informamos que los datos que se introduzcan en el presente formulario serán tratados y protegidos de acuerdo a dicha ley. El propietario actual de este sitio web es el responsable del tratamiento de los datos.

No se garantiza la publicación del comentario.