23 de noviembre de 2008

Barreras de accesibilidad - Drag and drop

Cada vez es más frecuente la funcionalidad de “drag and drop” (arrastrar y soltar) en todo tipo de páginas. En ocasiones sí que es una forma muy útil de solucionar acciones complicadas en páginas complicadas, pero otras veces se utiliza por moda, parece que la página queda más actual aplicando esta función.

Esta función puede provocar tanto problemas de usabilidad como de accesiblidad. Hay usuarios que no están acostumbrados a su uso, y el diseñador se ve a menudo tras pruebas de usuario, a añadir muchas explicaciones en la página para que se entienda lo que hay que hacer.

En cuanto a accesibilidad, el problema viene con los usuarios que no utilizan ratón por diferentes motivos, o no pueden, o usan dispositivos que no lo tienen como puede ser un dispositivo móvil. También hay usuarios con movilidad reducida que pueden encontrar muy difíciles determinadas tareas.

Se trataría de tener una forma alternativa de realizar esta misma función. En el editor de este mismo blog que estoy escribiendo, se utiliza por ejemplo la función drag and drop para cambiar el orden de los elementos de página de sitio. Quizás sería tan sencillo como añadir unos links a cada elemento con el enlace “subir” o “bajar elemento”. Las soluciones pueden ser muy diversas.

En el siguiente artículo de quirksmode.org, se describe cómo aplicar un drag and drop que se puede utilizar tanto con ratón como con teclado.

Por otro lado, la Web Accessibility Initiative (WAI) que desarrolla directrices de accesibilidad Web, ha creado las WAI-ARIA (Accessible Rich Internet Applications), unas guías de desarrollo que pretenden hacer más accesibles el contenido de la Web y las aplicaciones Web, especialmente, con contenidos dinámicos y avanzados controles de interfaz de usuario desarrollados con AJAX, HTML, JavaScript y otras tecnologías (eventos y APIs de accesibilidad, por ejemplo).

WAI-ARIA propone nuevas buenas prácticas sobre la función drag and drop. Tal como explican, introducen 2 nuevas propiedades, “grab” y “dropeffect” que permiten a los desarrolladores facilitar el proceso de drag and drop. La propiedad “grab” se aplica a la ruta del objeto que está siendo arrastrado, mientras que “dropeffect” es aplicado al target de destino.

El uso de estas propiedades combinadas con buenas prácticas para dejar que el usuario seleccione la operación de drag adecuada y para asignar la apropiada operación de teclado para realizar la acción, mejora mucho la accesibilidad. Para conocer el uso concreto de estas propiedades os remito directamente al texto original de ARIA, en inglés.


No hay comentarios: