Internet Explorer 7 y las listas horizontales

En estos días de inactividad en el blog he estado preparando la maqueta de Accesibles.org y me he encontrado con un problema que no está demasiado documentado y con el que, tal vez, se puedan encontrar ustedes en algún momento.

El diseño de Accesibles.org está pensado para que sea elástico, es decir, todo crece al aumentar el tamaño tipográfico (para entendernos, al hacer zoom), por tanto, no es fijo en el sentido estricto y tampoco depende del área visible ni de la resolución de pantalla (diseño líquido).

El diseño elástico (propuesto por Patrick Griffiths hace algunos años) plantea interesantes ventajas de accesibilidad, por ejemplo para para las personas con baja visión, pero también requiere que el desarrollador tenga en cuenta cómo van a crecer (o decrecer) todos los elementos de la página sin que se pierda ni legibilidad ni diseño.

Problemas con el zoom de Internet Explorer 7

Como ya sabrán, Internet Explorer 7 tiene una nueva utilidad (no tan nueva en otros navegadores) para aumentar el tamaño de las páginas. Al hacer zoom todo crece o disminuye como se espera con la salvedad de los elementos de una lista mostrados en línea (inline), el típico menú horizontal realizado con listas. ¿Qué es lo que ocurre? Simplemente que los elementos de la lista horizontal pierden su margen (margin) o relleno (padding), con lo que se muestran juntos los unos de los otros, tanto al aumentar como al disminuir el tamaño de la página. He podido comprobar que el error no se produce si la lista está "flotada" (float).

Vean algunos ejemplos:

En la versión de desarrollo de accesibles.org
Fallo en la versión de desarrollo de accesibles.org
En la navegación por pestañas diseñada por Eric Meyer
Fallo en navegación por pestañas diseñada por Eric Meyer
En la navegación secundaria de Listamatic (en esta página podemos probar muchas otras listas de navegación horizontal con IE7)
Fallo en la navegación secundaria de Listamatic

La posible solución

Volviendo al caso concreto de Accesibles.org, obviamente, si el marcado es correcto, los estilos también y se muestra y crece adecuadamente en IE6, Firefox y Opera, parece que el problema está en la forma de hacer zoom de IE7, por lo que hay que aislar el problema sólo para este navegador, creando, por ejemplo, un estilo específico valiéndonos de los comentarios condicionales que nos ofrece Microsoft:


<!-- [if IE 7]>
<link rel="stylesheet" type="text/css" href="ie.css" media="screen"
<![endif] -->

En la hoja de estilo usaremos las siguientes reglas para los elementos de la lista, como comentaba al principio, esto no está demasiado documentado en la Red pero parece que funciona (al menos en mis pruebas):


ul li {zoom:100%;} /* regla de estilo propietaria de Microsoft */
ul li a {display:inline-block;}

Con esta solución las listas horizontales crecerán y decrecerán correctamente al usar el zoom en Internet Explorer 7.

Desarrollar con Internet Explorer 7

Chris Wilson nos comentaba en Fundamentos Web 2006 que Internet Explorer 7 no podía "romper la Web" haciendo referencia a la dificultad de innovar y a la vez mantener la compatibilidad hacia atrás con versiones anteriores de IExplorer, parece que, en este caso, una nueva funcionalidad si que está rompiendo la Web.

Mi consejo es que si quieren desarrollar con IE7 consigan una versión autónoma (standalone) del mismo, de tal forma que mantengan la versión 6 operativa (aún la mayoría de usuarios usan esta versión). En TredoSoft han conseguido realizar un instalador autónomo de IE7, algunas funciones del nuevo navegador se pierden pero para nuestras pruebas es más que suficiente.

Para concluir, IE7 tiene mejoras pero quedan aún muchas cosas que pulir del nuevo navegador de Microsoft, Roger Johansson selecciona diez cosas que deberían corregir en futuras revisiones.

Espero que todo este rollo les sea de utilidad, en mi caso particular ha sido efectivo, si encuentran otros métodos o simplemente quieren sugerir algo no duden en hacer sus comentarios.

Trancending CSS: breve revisión

¡Ya ha llegado!. Lo prometido es deuda. Ante todo hay que tener claro que es un libro de diseño (más que de código) y de cómo hacer buen diseño usando las hojas de estilo. La maquetación es muy agradable visualmente, diferente a los libros de desarrollo con los que solemos encontrarnos habitualmente. Como pega, el papel podría haber sido de mayor calidad-gramaje, aunque ya sabemos que los libros americanos suelen pecar de este defecto. El tema principal lo podríamos resumir en que debemos hacer buenos diseños sin limitarnos por las tecnologías y, sobre todo, experimentar diseños con las posibilidades que las hojas de estilo nos ofrecen.

El libro se estructura en cuatro partes;

  • Descubrimiento: diferentes formas de pensar sobre el proceso de diseño Web, cómo mejorar el flujo de trabajo y aventurarse a las nuevas posibilidades del diseño CSS. También se mencionan algunas cuestiones sobre el marcado semántico.
  • Proceso: encontrar el flujo de trabajo perfecto, la importancia de los prototipos y buenas prácticas en el prototipado.
  • Inspiración: la proporción áurea, diseño con rejillas y encontrar la inspiración en cualquier parte. Esto último ya nos lo adelantaba en Fundamentos Web 2006, haciendo referencia a que en una ciudad tan bonita como Oviedo cualquier cosa era una inspiración para el diseño Web.
  • Transcendencia: posicionamiento y alineación con CSS, desarrollos con CSS3 (Andy, al comienzo del libro, agradece a César Acebal, al que conocí en el desayuno con Zeldman en 2005, y a la gente de la Universidad de Oviedo su colaboración en esta parte), creación del CSS3 Advanced Layout Module y estructuras complejas.

Una curiosidad, el copyright del libro es de 2007, tal vez pensaron que saldría para esa fecha, aunque apareció en noviembre de 2006 ¿dos meses de vacío legal?. Seguiremos informando.

Tribunal Superior de Justicia de Catalunya

Se presenta la web del Tribunal Superior de “Justícia” de Cataluña. Léase con ironía: una página del nuevo milenio, con las mejores tecnologías actuales (tablas para la composición, iframes, menú dinámico molón y ventanas emergentes). Creo que el menor de sus problemas es la tilde en la palabra justicia.

Según la nota de prensa publicada en La Vanguardia Digital la presidenta del TSJC mencionó que la Web “es más una página de información que de gestión”. ¿Adivinan qué información se muestra en la pantalla si desactivamos Javascript?

Captura de la página principal del Tribunal Superior de Justicia de Catalunya sin Javascript

Hablan sobre el tema en:

Actualización del 7 de diciembre de 2006: el panorama internacional sobre accesibilidad Web tampoco es muy alentador: