miércoles, 21 de junio de 2017

SAP Fiori: Adaptabilidad sí, ¿pero accesibilidad?

Siempre que se habla de Fiori y de sus aplicaciones SAP UI5, se resalta aquello de que son aplicaciones adaptables al dispositivo que se usa (aquello de responsive), así que lo vas a poder usar en el pc, la tablet o el móvil.

Pero, ¿tenemos claro si Fiori y las aplicaciones SAP UI5 pueden ser usados por cualquiera, sin estar pensando en compatibilidades con dispositivos? Aquí entra en juego otra variable de la que a lo mejor no se habla demasiado en las presentaciones tradicionales de Fiori: La accesibilidad.

Es importante destacar que de temas de accesibilidad no sé nada. Bueno, lo digo como si del resto supiese gran cosa... El caso es que lo he descubierto de rebote, porque hasta ahora no iba más allá de pensar que "existía un tema de escritorio de alto contraste para la gente con problemas visuales". La ignorancia, nuestra gran virtud :(.

Así que este post es únicamente una reflexión, ya que tras un tiempo desarrollando aplicaciones Web Dynpro ABAP y SAP UI5, es la primera vez que me encuentro con este tema. Sólo voy a hablar de curiosidades, de mi primer contacto y de algo que tengo que aprender y que, además, me interesa hacerlo.

Porque muchas veces, hasta que no te encuentras con la situación particular, no te das cuenta de que detrás de estos temas hay todo un gran mundo. Y yo era (y soy) un completo zoquete en este ámbito. Si digo alguna barbaridad, perdonadme, pues esto va dirigido a aquellos que estén tan pez como yo en esta materia y para que lo que sepan algo nos puedan guiar.

El día en el que me enteré de aquello de la accesibilidad


El caso particular fue encontrarme en una situación en la que una persona con discapacidad visual tenía problemas para solicitar absentismos con la aplicación de My Leave Requests de Fiori (solicitud de ausencias). ¿Cuál era el problema? ¿Problemas con el contraste, el tamaño de la fuente...? No, el problema era que la persona afectada era ciega.

En ese momento, en el que nunca te has encontrado con esa situación, piensas, ¿y cómo hacía hasta ahora para solicitar las vacaciones? Pues mediante la aplicación en Web Dynpro ABAP para solicitud de ausencias, que sí que es accesible.

Y así comienza mi historia con este gran mundo completamente desconocido para mí. ¿Cómo hace una persona ciega para poder acceder a una página web? Con lectores de pantalla, que van identificando lo que hay en la pantalla y "leyéndoselo" al usuario. El programa más conocido parece ser JAWS, aunque es de pago. Pero hay un programa gratuito que podemos usar para entender cómo funcionan estos lectores, el NVDA. En serio, descargadlo, instaladlo, ejecutadlo y usadlo un buen rato para ver cómo funciona.

Las pocas cosas que he descubierto


Gracias al NVDA y a la documentación por Internet, he podido descubrir algunas cosas respecto a accesibilidad de Fiori y, en particular, a la aplicación de solicitud de ausencias. No es que sea gran cosa, todo sea dicho, pero aquí os lo cuento. A vosotros y a mi yo del futuro.

  • Lo primero, que el lector de pantalla es un generador increíble de información. Puede generar demasiada información. Entiendo que es una herramienta a la que hay que acostumbrarse y que tienes que aprender a usar (como todo, por supuesto), pero está claro que también es parte del desarrollador web crear páginas que no sean demasiado confusas ni complejas ni que saturen con información innecesaria a los que usan esta herramienta: Evitar usar titles en los enlaces, no cambiar el foco de la aplicación mediante javascript, cosas así.

  • Que para mejorar la accesibilidad web se dispone de una serie de atributos para el etiquetado HTML que debemos tener en cuenta: ARIA (o WAI-ARIA).

  • SAP Fiori está preparado para la accesibilidad. Puedes cargar el Fiori Launchpad, navegar con el tabulador hasta el primer tile y, después, navegar entre los tiles mediante las teclas de dirección. Pero después cada aplicación es un mundo, y puede que no todas sean todo lo accesibles que nos gustaría. Claro, para algunas aplicaciones a lo mejor no tiene sentido centrarse demasiado en la accesibilidad, pero seguro que para muchas otras sí.

  • SAP Fiori Launchpad on SAP Portal no es accesible. Este caso afectaba al caso particular con el que me he encontado, ya que es la solución adoptada. Cuando se navegaba por el Fiori Launchpad, el lector de pantalla nunca te dice en qué tile te encontrabas. Dice siempre "Section" o ni siquiera dice nada, dependiendo del navegador web (he probado con Internet Explorer 11 y con Chrome), pero nunca te dice el título del tile.

    Y por si cabe duda, SAP nos lo deja muy claro en la nota 2301146 - Fiori Launchpad screen reader issue. Los tiles no se identifican y, por tanto, no se puede navegar entre ellos porque no se sabe dónde demonios estamos. La solución de la nota es "This is working by design. Screen reader is not supported by Fiori launchpad". Y punto pelota.

    Yo, por mi parte, modificando el HTML generado mediante F12, sí que conseguí que el lector de pantalla me dijese en qué tile me encontraba. El comportamiento es diferente para Internet Explorer que para Chrome, pero lo conseguí. Así que tampoco parece algo realmente imposible de conseguir.

    Editado el 07 de mayo de 2018: Revisando temas de accesibilidad, la nota 2301146 tiene una nueva versión 4, del 3 de enero de 2018, en la que parece que el SAP Fiori Launchpad on SAP Portal ya proporciona compatibilidad con los lectores de pantalla para navegar entre los tiles. Para ello, es necesario actualizar la librería SAP UI5 a la 1.44.
    Fin de la edición.

  • La antigua aplicación de solicitud de ausencias de SAP, en Web Dynpro ABAP, sí que es accesible. Hasta ahora, la persona que lo usaba en el caso particular del post, una persona ciega, podía solicitar las ausencias sin problemas.

    Pero si abres la aplicación Fiori (puedes hacerlo en la web del Fiori Cloud Demo de SAP), te encontrarás con un calendario para elegir el inicio y el fin de la ausencia, pero ningún campo de tipo input para la "fecha de inicio" ni para la "fecha de fin".

    La aplicación de solicitudes de ausencia de Fiori.
    Para poder elegir fecha, tenemos que pulsar en el calendario

    Esos dos campos que nos faltan son los que permitirían a una persona ciega rellenar los datos mediante el uso del teclado. Al no existir, la aplicación te obliga a pulsar en el calendario, quieras o no. Muy intuitivo y muy práctico, cierto, sobre todo si usas el móvil. Pero no es accesible.

    Además, no se puede navegar al interior del calendario mediante el tabulador, para luego poder moverte por los días con las teclas de dirección. Trabajar así sería una locura, sí, pero sería una posibilidad que no existe. Así que, lo dicho, accesibilidad cero.

Como veis, es un tema muy interesante en el que no piensas hasta que te encuentras con él de frente. Para aplicaciones nuevas, si sabemos cuál va a ser el público final de las mismas, puede que no nos haga falta preocuparnos demasiado en la accesibilidad. Pero para una empresa como SAP, que hace aplicaciones para todos, sí que debería pensarse en esto. Y ojo, que no digo que no lo hagan, con unos post que menciono a continuación queda claro que sí que lo hacen. Pero me parece curioso que la aplicación más básica de Fiori, solicitudes de ausencia, no sea un ejemplo de aplicación accesible.

Algunos enlaces interesantes


Como enlaces interesantes, os paso los siguientes:


Para finalizar, simplemente recordaros que esto lo cuento siendo un completo ignorante en estos temas, pero nadie nace sabiendo. Aunque todos podemos crecer aprendiendo.

No hay comentarios:

Publicar un comentario