Internet Explorer 6 apareció en agosto de 2001 y resultó el peor navegador de la historia porque cumplía los estándares web como le daba la gana. Esto obligó a miles de desarrolladores web a invertir miles de horas para lograr que un sitio web fuese compatible con IE 6 y con el resto de navegadores que sí que cumplían los estándares.
Las principales causas por las que una página web no se ve igual en todos los navegadores son:
- Fallos de los navegadores que pueden provocar errores.
- Problemas de compatibilidad entre los navegadores que provocan diferencias de visulación.
- Soporte de HTML por los navegadores. La especificación de HTML proporciona reglas de cómo se deben interpretar y visualizar los diferentes elementos y atributos del lenguaje pero en
algunos casos existe espacio para la interpretación. El soporte para las nuevas etiquetas y atributos no es universal, por lo que puede ser que en algunos casos una página no se vea bien porque la página contiene alguna característica que no admite el navegador. - Errores en el código HTML.
De estas cuatro posibles causas,
- Las tres primeras están fuera del control de los desarrolladores web:
- Las dos primeras dependen de los fabricantes de los navegadores, como la empresa Microsoft o la organización Mozilla.
- La tercera depende en parte de los fabricantes, como es el caso de Microsoft que siempre ha tardado muchos años en actualizar sus navegadores y adecuarlos a los nuevos estándares, pero también depende de los usuarios cuando no se actualizan a los nuevos navegadores.
- La última causa depende de los desarrolladores web, de las personas que escriben el código HTML.
Errores en el código HTML
Se debe comprobar siempre el código HTML de las páginas antes de publicarlas.
Los navegadores web son programas muy complejos y robustos que están preparados para manejar ciertos errores. Pero cada navegador los maneja de diferente forma, ya que la especificación de HTML no establece cómo se tiene que recuperar un navegador cuando encuentra un error en el código.
Por ejemplo, cuando no se cierra un párrafo, el navegador decide cerrarlo automáticamente cuando empieza un nuevo párrafo, ya que en las normas de HTML, un párrafo no puede contener otro párrafo.
Ante algunos errores los navegadores muestran el mismo comportamiento mientras que frente a otros errores hay diferencias importantes.
Este errático comportamientos de los navegadores frente a los errores de una página tiene su origen en el DOM, el Document Object Model.
El DOM es una recomendación del World Wide Web Consortium, el W3C, el consorcio internacional que produce recomendaciones para la Web.
El Modelo de Objetos del Documento (DOM) es una interfaz de programación de aplicaciones (API) para documentos válidos HTML y bien construidos XML. Define la estructura lógica de los documentos y el modo en que se accede y manipula.
En DOM, los documentos tienen una estructura lógica que es muy parecida a un árbol; para ser más preciso, es más bien como un "bosque" o una "arboleda", que puede contener más de un árbol. Cada documento contiene cero o un nodo doctype, un nodo de elemento de documento, y cero o más comentarios o instrucciones de tratamiento; el elemento del documento sirve como la raíz del árbol para el documento.
Ejemplo,
Los rectángulos representan nodos de tipo elemento, mientras que los óvalos representan nodos de tipo texto. La raíz del árbol es la etiqueta <table>, que contiene un sólo hijo con la etiqueta <tbody>, el cual a su vez tiene dos hijos, los cuales a su vez también tienen dos hijos.
Para entender por qué los navegadores se comportan de diferente forma debemos comparar el
DOM que construye cada navegador a partir del código HTML de la página.
DOM que construye cada navegador a partir del código HTML de la página.
Los navegadores construyen un mismo DOM, un mismo árbol, a partir de un código HTML correcto, pero cuando el código contiene errores, cada navegador puede construir un árbol diferente.
No hay comentarios:
Publicar un comentario