Accesskey, el gran olvidado
En la actual era de la Experiencia de Usuario, el diseño mobile, el responsive, los frameworks… parece que nos hemos olvidado de las bases en las que se fundamentó la usabilidad, base de esa experiencia de usuario. Me estoy refiriendo a la accesibilidad. Un aspecto del desarrollo que estuvo en auge en la primera década del milenio pero que poco a poco se ha ido dejando de lado, probablemente por el uso indiscriminado de frameworks que, por lo general, vienen provistos de atributos aria- para dotar de accesibilidad a sus componentes no estándares. Sin embargo no van más allá, porque hay ciertos aspectos de la accesibilidad que se han de determinar específicamente para cada proyecto. Entre ellos destacan dos muy importantes que van de la mano para hacer la navegación más accesible: tabindex para determinar el orden de la tabulación entre elementos activos, y accesskey, del que trata este artículo.
¿Para qué sirve accesskey?
Accesskey es un atributo que podremos aplicar a enlaces, pero sobre todo a elementos de formulario. Su finalidad es definir una tecla de acceso directo a dichos elementos combinándola con otras definidas por el navegador. Generalmente son Shift + Alt + [tecla] (Windows) y Control + Option + [tecla] (MacOS).
Cómo usar accesskey
- El valor del la tecla de acceso debe tener sentido en el idioma actual en el que se esté mostrando el contenido. Por ejemplo, en el caso de un campo de búsqueda, si es inglés, tendrá sentido usar
accesskey="s"
ya que en inglés «búsqueda» es «search», pero en castellano quizás tenga más sentidoaccesskey="b".
- Aunque HTML5 permite múltiples valores, su implementación en los navegadores no está suficientemente extendida, por lo que, si estabas pensando en añadir varias, olvídalo 😉
- Además, añadir varias aumentaría las posibilidad de duplicidades accidentales y de conflictos con otras funciones del navegador o sus plugins. Esto debéis tenerlo muy en cuenta a la hora de elegir la tecla de acceso. Por ejemplo «b» y «s» están cogidas por unos u otros navegadores, por lo que no, hoy en día no son una opción, porque el navegador siempre priorizará las suyas, lo que para el usuario invidente puede llegar a ser confuso si quiere usar esa tecla de acceso que le hemos indicado que sirve para activar el campo de búsqueda.
- También están permitidos los valores numéricos, que puede ser una solución a esos posibles conflictos. Sin embargo, usarlos puede resultarle confuso o poco intuitivo al usuario.
- En general los lectores de pantalla anuncian accesskey, pero hemos de tener en cuenta que son muy dependientes de la implementación de los navegadores de cada sistema operativo, por lo que, incluso cuando narran correctamente las instrucciones, éstas serán diferentes en unos y en otros.
- En esta línea, está también la cuestión de que los accesskey no son exclusivamente para invidentes que usan lectores de pantalla. También pueden serles muy útiles a personas que se sienten cómodas trabajando con el teclado por lo que es recomendable que dispongan, o bien de una tabla con las teclas de acceso, o bien el comando específico de cada campo que cuente con un accesskey.
Como habréis deducido ya, el uso de teclas de accesso no se puede hacer de forma masiva por la limitación que implica el abecedario y las pocas teclas libres que nos dejan los propios navegadores. Tampoco tendría sentido pretender que nuestros usuarios se aprendan una cantidad enorme de teclas de acceso para navegar por nuestra aplicación. Por esas y otras razones, donde accesskey puede y debe tomar protagonismo es en aquellas acciones más comunes y genéricas, como un campo de búsqueda, un menú general, un enlace para volver atrás, etc.
Y hasta aquí puedo leer. Como siempre, si tenéis cualquier duda, podéis dejar vuestro comentario.