Funcionalidad
Miércoles 21 de Febrero de 2007
Lo más importante de un sitio no es el diseño; sino el contenido.Nadie entra a un sitio a ver su diseño; entra a leer lo que está diciendo1. Entonces, aunque la accesibilidad es un fin que debería buscarse, un diseño es bueno si es fácil de usar.
Un sitio tiene que poder usarse. Simple como eso. En la mayoría de los casos, esto puede significar que simplemente podamos navegarlo; ocultar los menúes de navegación en sitios extraños “porque queda lindo” significa perder visitantes.
Algunos sitios (por ejemplo sitios de clasificados) suelen mostrar fotos, y al hacer click en las fotos abre una nueva ventana. Esto no tiene nada de malo, excepto cuando se lo hace mal: la forma errónea (y demasiado común) es poner <a href="javascript:window.open('pagina.html', 'pagina', 'height=600, width=800');">Abro en ventana nueva!</a>. Esto es el equivalente a crear una casa sin ventanas porque querés que la gente salga por la puerta… Si alguien hace shift+click o control+click para abrirlo en una nueva ventana o pestaña, se queda con ese cacho de javascript en la barra de dirección (y sin entrar en la página). Además, esos links no son alcanzables por los buscadores.
Hay varias formas de hacer esto bien. La primera es simple: se pone en el href la dirección que se va a abrir, y se usa la propiedad onclick para abrir el link: <a onclick="javascript:window.open(this.href, 'pagina', 'height=600, width=800'); return false;" href="http://www2.blogger.com/pagina.html">Abro en ventana nueva!</a>. De esta forma (el cambio es mínimo, y más fácil de aplicar: a todos los links se aplica el mismo código; y se hace más fácil aún si creamos una función que pida menos parámetros) ganamos muchos visitantes: los que hacen shift/control+click, click del medio, los que desactivan javascript, y los motores de búsqueda. Nadie con media neurona puede negar que ese cambio vale la pena.
Hay una razón por la que odio (muchos de) los sitios que usan AJAX: sin javascript son inutiles. Siempre que se haga un sitio, primero tiene que funcionar (es decir, sin javascript, ni flash, ni NADA; si no anda en lynx, no anda); si después queremos usar javascript para agregar una funcionalidad, o un efecto, perfecto (véase el caso de GMail), pero si es obligatorio para navegar, y no hay una verdadera razón para hacerlo (hay casos), está mal.
De la misma manera, igual que javascript puede usarse para El Bien Común™, también Flash: es genial (por su naturaleza vectorial) para animaciones, para videos (youtube), y además tiene soporte por casi todos los navegadores… pero el detalle está en el «casi». Flash NO debe ser usado para hacer un menú de navegación; menos aún para armar todo un sitio con él. Cualquier diseñador que haga un sitio completamente en Flash (por su propia voluntad) debe ser azotado mil veces… (Si no es por su propia voluntad, sólo 999.)
Con esto termina nuestra serie de Diseño Web, y (aunque no dejo el tema) volvemos a nuestra programación regular.
Edición: Arreglé el javascript de la versión más correcta (de nuevo, Blogger hizo link donde yo quería mostrar código).
[1] Bueno, sí, en un sitio que ofrezca diseños va a ver los diseños, pero si nos ponemos a ver todas las excepciones, no terminamos más…