sábado, 22 de marzo de 2008

El dilema de Internet Explorer 8

Desde el momento en que se liberó Internet Explorer 7 -el cual fue un gran avance con respecto a su viejo antecesor IE6- ya se estaba trabajando en la versión 8 del popular navegador.

Una de las principales cualidades que promete esta nueva versión será el gran salto en el cumplimiento de los estándares W3C, específicamente en lo que respecta a XHTML y CSS2.1. La versión beta 1 ya fue liberada y cumple con el acid test 2. Sin embargo, el equipo de desarrollo se está topando con un grave dilema al respecto, digamos que el 99.9% de los sitios de internet no son fieles cumplidores de los estándares por lo que podrían (y van a) ser mal interpretados por Internet Explorer 8.

Esta situación era de esperar ya que el ciclo de desarrollo de un sitio web realizado por desarrolladores "responsables" consiste en desarrollar basado en los estándares para luego probar, corregir y parchar el diseño en base a pruebas en Internet Explorer, Firefox y ocasionalmente Opera y Safari. Y en el caso de los desarrolladores irresponsables "no-responsables" simplemente basta con que se vea bien en IE.

El equipo de desarrollo de Redmond inicialmente tomó la decisión de que su nuevo producto por defecto utilice el modo "IE7 standard-compliant mode", es decir, interpretará el código de un modo que los sitios que actulamente se visualizan correctamente en IE7 sigan haciéndolo y los sitios que cumplan fielmente los estándares deberían poner un tag <meta> para indicar que sean interpretados en "Full standard-compliant mode".

Esta postura causó indignación en los miembros más fanáticos de la comunidad de los estándares web, pero finalmente Microsoft cambió su postura y el nuevo IE8 por defecto interpretará las páginas en "Full standard-compliant mode":
We’ve decided that IE8 will, by default, interpret web content in the most standards compliant way it can. This decision is a change from what we’ve posted previously.

Es una postura que francamente no me esperaba de Microsoft:

We think that acting in accordance with principles is important, and IE8’s default is a demonstration of the interoperability principles in action. While we do not believe any current legal requirements would dictate which rendering mode a browser must use, this step clearly removes this question as a potential legal and regulatory issue. As stated above, we think it’s the better choice.

Ahora bien, este cambio que se vendrá con IE8 augura un gran problema para los actuales sitios ya que deberán realizar correcciones a su código HTML para poder ser correctamente visualizados en IE8. La siguiente es una captura de Google Maps en IE8:


La solución más sencilla es indicarle a IE8 que la página debe ser interpretada como IE7 mediante el siguiente tag <meta> descrito en A List Apart:
<meta equiv="X-UA-Compatible" content="IE=7"/>
Les recuerdo que aún falta mucho tiempo para que IE8 sea liberado por lo que aún pueden aparecer muevas noticias al respecto.

Como artículo relacionado les recomiendo un excelente artículo de Joel on Software (algo que no es novedad en él) que describe de manera magistral el problema de la compatibilidad en la web: Martian Headsets.

No hay comentarios: