Día 16: No abrir ventanas nuevas

La única cosa que cada usuario de la Internet entiende a plenitud es el botón "Atrás". Es parte integral de la navegación por la Internet. Sigue un vínculo, vuelve atrás. Explora el resultado de un buscador, vuelve atrás. Hasta mi papá puede hacer esto, y el todavía se emociona cuando puede hacer doble-clic en el icono de "Internet" en un solo intento.

En todos los navegadores dominantes, usar la etiqueta <a target="_blank"> para forzar que un vínculo se abra en una página diferente rompe el flujo del botón Atrás. La nueva ventana no retiene el historial del navegador de la ventana previa, así que el botón "Atrás" está deshabilitado. Esto es increíblemente confuso, hasta para mí, y he estado usando la Internet por más de 10 años. En el 2005, es increíble que las personas todavía hagan esto. No lo haga. No fuerce a los vínculos a abrirse en ventanas nuevas.

Por favor note que este consejo es acerca de usted como un diseñador de Internet, no como un usuario de Internet. Si usted quiere abrir una nueva ventana mientras usted navega la Internet, hágalo. En Internet Explorer para Windows, deje presionada la tecla Shift mientras hace clic en un vínculo para abrir el vínculo en una ventana nueva. En Netscape 6 y Mozilla, mantenga presionada la tecla Control. En Internet Explorer para Mac, mantenga presionada la tecla Command (Algunos navegadores como Opera soportan combinaciones avanzadas de teclas como Control + Shift + clic para abrir un vinculo en una ventana nueva en el fondo). El punto es que la elección de si un vínculo se abrirá en una ventana nueva debe ser del usuario, no del diseñador.

Quién se beneficia?

  1. Jackie se beneficia. Aunque JAWS anuncia "Nueva ventana de navegador" cuando un vínculo abre una ventana nueva, esto es fácil de obviar, mientras es dicho de manera apretada entre la lectura del texto del vínculo y la lectura de la página nueva. Home Page Reader tiene una solución mejor; toca un sonido distintivo cada vez que se abre una nueva ventana. Y Window Eyes, otro popular lector de pantalla, no ofrece ninguna indicación de que se abrió una ventana nueva en absoluto.

    Y a pesar de todo, se rompe el flujo del botón "Atrás". Si Jackie no escucha el anuncio de "nueva ventana de navegador", no puede simplemente mirar su barra de tareas y ver que dos ventanas del navegador están abiertas. Necesitara leer su listado completo de ventanas abiertas, ya sea usando el acceso directo INSERT+F10 específico del programa JAWS, para conseguir un listado de ventanas, o el tradicional ALT+TAB.

  2. Lillian se beneficia. Su ventana de Internet Explorer está siempre maximizada (para que pueda verla), y las ventanas nuevas también son maximizadas por defecto. Además, Windows XP agrupa las ventanas múltiples de la misma aplicación en la barra de tareas, así que básicamente no existe ninguna indicación visual de que una ventana nueva ha sido abierta. De repente, el botón "Atrás" esta deshabilitado por ninguna razón aparente, y Lillian no tiene idea del por que. Si estaba esperando que ella leyera el resto de su sitio de Internet luego de que siguiera ese vinculo, puede olvidarse de eso.

  3. Bill se beneficia. Su hermana ha ajustado su navegador Mozilla para que pueda navegar usando pestañas, para que Bill pueda ver los can mirar las pestañas y recordar rápidamente cuales ventanas tiene abiertas, y también para que pueda cambiar rápidamente entre estas (usando CTRL+RePág y CTRL+AvPág en su extensión del teclado). Los vínculos que son forzados a abrirse en una nueva ventana abrirán una ventana de Mozilla completamente nueva. Esto no solo se desviará de sus preferencias de navegación, sino que también le hará parecer como que todas las ventanas abiertas han desaparecido, ya que la nueva ventana del navegador no mostrará las pestañas que estaban abiertas en la ventana previa.

Como hacerlo

  1. No utilice <a target="_blank"> para forzar a los vínculos a que se abran en una ventana nueva.
  2. Si debe abrir el vínculo en una nueva ventana obligatoriamente, avise explícitamente al lector. Esta es una solución no optima, que ha sido traída por los requisitos de negocios que implican el "no estar asociados" con contenido externo. Por ejemplo, la página de "sitios relacionados" de CNN hace esto.
  3. Si tiene un checkbox para "abrir vínculos en ventanas nuevas", asegúrese de que esté desactivado por defecto.

Lectura añadida

  • Jakob Nielsen: Los Diez Principales Errores Nuevos del Diseño de Internet. "#1: Romper o Entorpecer el Botón Atrás. #2: Abrir Nuevas Ventanas del Navegador". Artículo en inglés.
  • Iniciativa de Accesibilidad de Internet de la W3C: Ejemplo para Puntos de Verificación 10.1 ofrece un ejemplo de cómo advertir a los usuarios si tiene un solo enlace que debe abrir obligatoriamente en una ventana nueva. Artículo en inglés.
  • Lista de correo del Validador de la W3C: Re: abrir un vinculo en una ventana nueva, artículo en inglés. Para aquellos a los que les importa esta clase de cosas, deben saber que el atributo target de la etiqueta <a> está desaprobado, y evitará que sus páginas sean válidas en HTML 4.01 Strict, XHTML 1.0 Strict, o en cualquier versión futura..
  • Lista de correo deWebAIM: mailto:los vínculos mailto: abren en nuevas ventanas. El consenso es que los vínculos de mailto: no son un problema de accesibilidad, aunque generalmente estos abren el gestor de emails en una ventana nueva, porque esta conducta se completa de acuerdo con el lado del gestor. Un formulario de correo basado en Web (como el que usa Radio) podría ser una solución mejor en general, provisto que el formulario sea accesible. Un formulario basado en Web funcionará para visitantes que no tengan gestores de email integrados (por mal configuración o por una circunstancia especifica, como el estar en un laboratorio publico), y protege su dirección de correo electrónico del spam sin hacer uso de trucos de JavaScript inaccesibles. Por otro lado, algunas personas realmente prefieren sus gestores debido a la familiaridad, funcionalidad (tal como chequeo ortográfico dentro del programa), y la habilidad de archivar los mensajes salientes. No estoy recomendando ningún método por encima del otro.