Uso de hints en las interfaces de usuario

Al diseñar una interfaz de usuario la mahyor parte del peso de comunicación entre la interfaz y el usuario es a través del canal visual. Mediante un vistazo a una pantalla se puede intuir cómo utilizar ciertos elementos de la interfaz. Pero como no todas las personas tienen la misma capacidad de intuición ni la misma posibilidad de echar un vistazo a la pantalla debemos hacer uso de los distintos elementos de accesibilidad para hacer que la misma interfaz de usuario sea comprensible y usable para todas las personas.
A veces el uso de un control sólo se puede entender de forma visual como puede ser un interruptor deslizante para seleccionar un elemento más a la izquierda o más a la derecha, un botón de 3 estados o un cuadro de edición auto completable que permite realizar ciertas operaciones mientras se edita ese campo. En todos esos casos las personas con discapacidad visual pueden encontrar problemas a la hora de entender cómo utilizar dicho control. Para ayudar a este perfil de usuario la capa de accesibilidad permite incluir al control un texto de ayuda para entender cómo utilizar el control. Es lo que se conoce como hint o pista.

¿Qué son los Hints de Accesibilidad?

Los hints de accesibilidad son textos adicionales que proporcionan información contextual sobre un control de interfaz. Para los usuarios de lectores de pantalla. Estos hints pueden ser la diferencia entre una experiencia fluida y una frustrante. Por ejemplo, en una aplicación de banca móvil, un botón que simplemente dice «Enviar» podría no ser suficiente. Un hint podría agregar: «Enviar transferencia bancaria», proporcionando un contexto claro y específico.
Otro ejemplo podría ser un botón de tres estados cuyo hint podría indicar «pulse este botón para cambiar entre aceptado, pendiente y rechazado para actualizar el estado del pedido».

Implementación de Hints en Diferentes Plataformas

iOS

En iOS, los hints de accesibilidad se implementan utilizando el atributo accessibilityHint. Este atributo permite a los desarrolladores definir una cadena de texto que será leída por VoiceOver, el lector de pantallas de Apple, al final de toda la información del control.

Por ejemplo, un botón que tiene un icono de lápiz para editar puede no ser claro para todos los usuarios, pero al añadir un AccessibilitHint con el valor «Pulsa dos veces para modificar el valor de este campo»”, se proporciona la información necesaria para el usuario.

Android

En Android, los hints de accesibilidad se consiguen con el atributo android:hint en el fichero XML de la actividad. Este hint proporciona una descripción de lo que un control hace o lo que se espera que el usuario haga con él. Por ejemplo, un campo de entrada de texto puede tener un hint como “Introduce tu nombre completo”, lo cual es leído por TalkBack (el lector de pantalla de Android) para guiar al usuario.

HTML

En HTML, los hints se implementan con los atributos aria-description y aria-describedby.

El atributo aria-description proporciona una descripción directa del elemento, mientras que aria-describedby hace referencia a otro elemento en la página que contiene una descripción más detallada. Por ejemplo, un botón de búsqueda podría tener un aria-description=»Use este botón para buscar en todo el sitio web», y aria-describedby podría apuntar a un párrafo cercano al campo de búsqueda que explique cómo funciona la búsqueda en el sitio web.

Importancia de los Hints en la Accesibilidad

Estos atributos impactan en la accesibilidad de la interfaz de la siguiente forma:

  1. Claridad y Contexto: Los hints proporcionan información adicional que ayuda a los usuarios a entender la función de un control. Esto es especialmente importante para controles que solo tienen iconos o textos ambiguos.
  2. Mejora de la Usabilidad: Al proporcionar instrucciones claras sobre cómo utilizar un control, se mejora la usabilidad de la aplicación o sitio web, haciendo que la experiencia sea más intuitiva y menos frustrante para los usuarios con discapacidades visuales.
  3. Inclusión: Al implementar hints de accesibilidad, los desarrolladores están tomando pasos activos hacia la inclusión digital, asegurándose de que sus productos sean utilizables por el mayor número posible de personas.

Problemas Comunes con los Hints

A pesar de su importancia, los hints de accesibilidad no están exentos de problemas. Algunos de los desafíos más comunes incluyen:

  1. Hints Redundantes: A veces, los desarrolladores añaden hints que repiten información que ya está clara en el contexto visual, lo que puede resultar en una sobrecarga de información para el usuario de un lector de pantalla. Por ejemplo, un botón con un texto visible “Buscar” no necesita un hint adicional que diga “Botón de búsqueda”.
  2. Falta de Actualización: Los hints pueden volverse obsoletos si no se actualizan junto con cambios en la interfaz. Esto puede llevar a confusión si un hint describe una funcionalidad que ya no existe o que ha cambiado.
  3. Hints Incompletos: No proporcionar suficiente información es otro problema. Un hint demasiado breve puede no dar el contexto necesario. Por ejemplo, un hint que solo dice “Enviar” sin más detalles podría no ser útil en una aplicación con múltiples funcionalidades de envío.
  4. Uso Incorrecto de los Atributos: En HTML, confundir aria-description con aria-describedby puede llevar a que los usuarios de lectores de pantalla no reciban la información adecuada. Es crucial usar cada atributo de forma correcta para asegurarse de que la información se transmite adecuadamente.
  5. Problemas de personalización del lector de pantallas: algunos usuarios ciegos deshabilitan la lectura de estos elementos para dar mayor agilidad a su experiencia de uso. Esto implica que en el hint sólo se debe incluir la información relacionada con el control para evitar que el usuario pierda información vital de otra parte de la interfaz.

Buenas Prácticas para el Uso de Hints

Para maximizar la efectividad de los hints de accesibilidad, es importante seguir algunas buenas prácticas:

  1. Ser Claro y Conciso: Proporcionar descripciones claras y directas que sean fáciles de entender. Evitar la jerga técnica y centrarse en el propósito del control.
  2. Actualizar Regularmente: Asegurarse de que los hints se actualizan junto con cualquier cambio en la interfaz de usuario para evitar descripciones obsoletas.
  3. Consistencia: Mantener una terminología y un estilo consistentes en todos los hints para evitar confusión.
  4. Seguir los estilos definidos en la guía de interfaces del fabricante: Apple y Google tienen recomendaciones sobre el estilo de lenguaje a emplear en los hints.

Celebración del GAAD 2024

El próximo 16 de mayo de 2024 se celebrará el GAAD o Día Mundial de Concienciación sobre la Accesibilidad.

Durante este día muchos profesionales de la accesibilidad participamos divulgando y compartiendo conocimientos y experiencias para promover la accesibilidad y la equidad social para garantizar el acceso a todas las personas.

Por mi parte participaré como ponente en un evento presencial y en remoto realizado por la gente de Hiberus.

El evento tendrá lugar el 16 de mayo a las 18:00 en el hiberus Ecosystem (Paseo Isabel la Católica 6, planta baja).

El título de mi ponencia es: La accesibilidad como rasgo de calidad para el mercado futuro.

Participación en el evento Experience Day (UX-Day)

El pasado 20 febrero de 2024 la UNAD (Universidad abierta y a distancia) de Colombia me invitó a participar en un evento para su comunidad educativa.

En el evento, además de una charla entrevista sobre mi trayectoria y mi opinión sobre temas de inclusión, diseño de experiencia de usuario y tecnología, se habló del relanzamiento de la Maestría en diseño de experiencia de usuario que ofrece esta institución educativa.

Durante mi entrevista se habló de inclusión y la responsabilidad de la sociedad y las personas con discapacidad, el papel de la tecnología como herramienta integradora de personas y mecanismo de superación de barreras así como la importancia de la empatía y las posibilidades de las personas con discapacidad en el ámbito educativo y laboral.

Puedes ver el video del evento en el canal de la UNAD en Youtube.

Participación en el evento Creando experiencias de usuario accesibles

El próximo jueves 16 de febrero a las 18:30 de España tendrá lugar el evento Creando experiencias de usuario accesibles.

En este evento organizado por Hi experience hablaré sobre el proceso de crear y hacer productos y servicios accesibles así como los problemas y soluciones encontrados durante mi trayectoria en Cabify.

Podrás seguir el evento desde Youtube o desde la propia página del evento en LinkedIn.

Dibujar diagramas con PlantUML

El proyecto de software libre PlantUML busca proporcionar un mecanismo para dibujar diagramas mediante un código sencillo en texto.

PlantUML utiliza la plataforma Java para su herramienta de generación de diagramas. Esto a diferencia de Mermaid facilita que la herramienta  pueda ejecutarse localmente aunque también se dispone de un servicio de PlantUML onLine.

Instalación de PlantUML

La instalación de PlantUML en sistemas MacOS y Linux es muy sencilla ya que se encuentra disponible en varios repositorios.

Por ejemplo instalar PlantUML en MacOS es muy sencillo si ya se posee la herramienta HomeBrew. Sería tan sencillo como ejecutar el siguiente comando en la Terminal de Mac:

brew install plantuml
Una vez instalada simplemente en la Terminal ejecutaríamos el comando plantuml pasando como parámetro el fichero de texto con la información de nuestro diagrama.

Ejemplo de diagrama de estado

Como vimos en el artículo sobre dibujar diagramas con Mermaid tenemos un diagrama de estado que representa los posibles estados de un ser vivo.

En PlantUML el código sería algo como:

@startuml
[*] --> Nacer
Nacer -> Crecer
Crecer -> Reproducirse
Reproducirse -> Envejecer
Envejecer -> Morir
Morir --> [*]
@enduml

El diagrama generado tiene el siguiente aspecto:

Diagrama de estados generado con PlantUML

Además PlantUML permite exportar a un formato ASCII en texto que puede resultar interesante para leer con líneas braille.

El anterior diagrama tiene el siguiente aspecto en ASCII:

,------.                                                  
|*start|
|------|
`------'
|
|
,-----. ,------. ,------------. ,---------. ,-----.
|Nacer| |Crecer| |Reproducirse| |Envejecer| |Morir|
|-----|---|------|---|------------|---|---------|--|-----|
`-----' `------' `------------' `---------' `-----'
|
,----.
|*end|
|----|
`----'

Conclusiones

En conclusión podemos indicar que PlantUML proporciona una herramienta local sencilla y rápida para generar cierto tipo de diagramas. Proporciona algunos mecanismos de personalización que la hacen interesante para usuarios ciegos que dispongan de línea braille aunque su sintaxis quizás pueda ser más engorrosa que Mermaid para algunos tipos de diagramas de ingeniería.