La inteligencia artificial como aliada para los programadores ciegos

La inteligencia artificial está transformando la forma en que se desarrolla el software. Desde hace unos años, el auge de los modelos de lenguaje y de las herramientas de autocompletado inteligente ha abierto nuevas posibilidades que van mucho más allá de la simple ayuda para escribir código más rápido.

Para una persona ciega que se dedica a programar, estas tecnologías representan no solo un aumento de productividad, sino un refuerzo de autonomía y acceso a recursos que antes resultaban más costosos de alcanzar.

Uno de los ámbitos donde la IA muestra mayor potencial es en la asistencia al escribir código. Los asistentes de programación, integrados ya en entornos como Visual Studio Code, Xcode o Android Studio, permiten recibir sugerencias de código completas que se adaptan al contexto de lo que se está escribiendo. Esto reduce el tiempo invertido en consultar la documentación del lenguaje y la plataforma así como el esfuerzo extra en la memorización de esta información.

La Inteligencia artificial también está entrando en el terreno de la depuración de código. Existen herramientas capaces de analizar un bloque de código y proponer explicaciones de por qué falla una prueba, dónde puede estar el error lógico o qué cambios podrían mejorar su rendimiento. Para un programador ciego, este acompañamiento supone un ahorro de tiempo, pero también un refuerzo pedagógico. Además, en muchos casos, las herramientas de depuración habituales resultan inaccesibles para las personas ciegas por problemas de accesibilidad en estas herramientas de depuración. Poder obtener una idea o una explicación de por qué está fallando algo puede ayudar al proceso de depuración de bloques de código.

La documentación es otro frente donde la inteligencia artificial está marcando la diferencia. Generar comentarios, crear documentación técnica a partir de funciones o clases, traducir explicaciones a varios idiomas o resumir artículos largos son tareas que, integradas en el flujo de desarrollo, facilitan la comunicación con otros equipos y el mantenimiento de los proyectos.

Falta de accesibilidad en la Inteligencia artificial

Aunque la aparición de estas herramientas, aparentemente, impliquen beneficios para todos los programadores, en realidad estas herramientas presentan un problema común para mucho del software utilizado para trabajar. Este problema es la falta de accesibilidad. En muchos casos estas herramientas integradas en los entornos de desarrollo utilizan componentes visuales o un lenguaje visual que resulta inaccesible para lectores de pantalla o, en otros casos, no existe la posibilidad de controlar las funciones de estas herramientas de autocompletado de código desde el teclado. Esto hará que el catálogo de entornos de desarrollo disponible para las personas ciegas se reduzca ya que, en un futuro, no sólo se tendrá que observar si el editor de código o los botones del entorno de desarrollo son accesibles, también se deberá observar si la forma en que el asistente de autocompletado de código es accesible.

En muchos casos, poco a poco, gracias al feedback de los programadores ciegos que notifican a los responsables de estos entornos de desarrollo de los problemas de accesibilidad, las herramientas de autocompletado van siendo un poco más accesible cada día. El problema es el de siempre: pocos programadores ciegos reportan y ayudan a hacer más accesibles los entornos de desarrollo y las herramientas que los acompañan.

La solución está en la personalización

La capacidad de muchas herramientas de poder personalizar distintos aspectos visuales y comportamientos permiten superar, en muchos casos, la falta de accesibilidad de estas herramientas. Poder asignar un atajo de teclado a una función de la herramienta de autocompletado o personalizar los colores de la pantalla de visualización para que las funciones de OCR del lector de pantallas puedan identificar cual es la zona del editor y cual es la zona de la recomendación facilita la identificación de estos elementos.

En cualquier caso estos son parches para la falta de una accesibilidad plena y completa en estas herramientas. Los programadores ciegos debemos seguir aportando feedback y reclamando accesibilidad para estos elementos del desarrollo de software.

El futuro para la programación

No debemos olvidar que la IA no sustituye la necesidad de criterio propio. La dependencia excesiva de las sugerencias puede llevar a errores invisibles, y la accesibilidad de estas herramientas aún tiene un largo camino por recorrer. Las interfaces gráficas, los atajos de teclado mal diseñados o la falta de descripciones adecuadas en los resultados pueden generar barreras nuevas. Por eso, la adopción de la IA debe ir acompañada de una mirada crítica y de una exigencia a los proveedores de que sus soluciones sean inclusivas desde el diseño.

Además, muchas de las soluciones propuestas para el código no incluyen atributos o elementos de accesibilidad. Sería muy irónico que un programador ciego desarrollase interfaces de usuario con problemas de accesibilidad por limitar su trabajo a copiar el código propuesto por una Inteligencia artificial sin prestar ni revisar el código propuesto por la herramienta.

Cómo organizar tareas con la app Recordatorios

La organización personal es uno de los pilares fundamentales para mantener la productividad y reducir el estrés en la vida diaria. Contar con un sistema que permita registrar, revisar y ejecutar las tareas pendientes aporta claridad mental y evita la sobrecarga de tener que recordar constantemente todo lo que hay que hacer. Entre las distintas metodologías existentes, una de las más conocidas es Getting Things Done (GTD), que propone un flujo de trabajo sencillo: capturar las tareas en un lugar de confianza, clarificarlas y organizarlas en función de su contexto, revisarlas con frecuencia y ejecutarlas en el momento oportuno.

Dentro del ecosistema de Apple, la aplicación Recordatorios se ha convertido en una herramienta que encaja perfectamente con este enfoque. No se trata de un gestor de proyectos complejo ni de una aplicación pensada únicamente para usuarios avanzados, sino de una app ligera y accesible que facilita registrar y organizar todo tipo de compromisos, desde lo más cotidiano hasta lo más profesional.

Interfaz de usuario

 

La interfaz de Recordatorios resulta clara y directa. En una zona de la app se muestran las distintas listas y agrupaciones para nuestras tareas. Podemos crear nuestras propias listas y utilizar listas inteligentes como Hoy, Programados, etc… Y en otra zona de la ventana se muestran las distintas tareas y recordatorios para la lista seleccionada.
Para mejorar la accesibilidad de la aplicación es recomendable que se seleccione la vista como lista ya que aumenta su legibilidad y su compatibilidad con las herramientas de accesibilidad en MacOS. 

Para navegar entre las distintas zonas se puede utilizar el teclado y con VoiceOver se puede utilizar el atajo de teclado VO+J para saltar rápidamente entre secciones.
Al configurar nuestra cuenta de iCloud se crea por defecto la lista Recordatorios. Con una lista disponible ya se puede crear una tarea de inmediato y asignarle un título, una fecha de vencimiento, una hora concreta o una ubicación desde la que recibir una notificación. También es posible añadir notas y adjuntar enlaces, lo que transforma un simple recordatorio en un elemento mucho más rico y contextualizado. De esta forma, el usuario no solo recuerda qué tiene que hacer, sino también con qué información cuenta para llevarlo a cabo.

Una vez creada la tarea la veremos en la tabla de tareas de esa lista. Es recomendable que los usuarios de VoiceOver naveguen por esa tabla usando VO+flechas de cursor y cuando quieran interactuar con una tarea usen el menú contextual pulsando VO+Mayúsculas+M. Además, para asegurarnos de modificar la tarea es recomendable interactuar con la celda de la tarea para poder navegar entre la casilla de verificación, el campo de nombre de tarea y el resto de controles para los detalles de la tarea.

Recordatorios y GTD

Un aspecto interesante de Recordatorios es la capacidad de organizar los recordatorios en listas temáticas. Esto permite a cada persona replicar dentro de la app la estructura que propone GTD, separando las tareas en función del contexto, como por ejemplo trabajo, estudios, familia o asuntos personales. La función de etiquetas refuerza todavía más esa organización, ya que ayuda a agrupar tareas que comparten una característica común, independientemente de la lista en la que se encuentren.

La experiencia mejora notablemente gracias a la sincronización automática entre dispositivos. Una tarea creada en el iPhone aparece de inmediato en el Mac y en el Apple Watch, lo que evita duplicidades y asegura que la información siempre esté disponible en el dispositivo que se tenga más a mano. Esta continuidad es esencial para no interrumpir el flujo de trabajo, ya que permite, por ejemplo, anotar una idea rápida en el reloj y revisarla más tarde con mayor detalle en el Macbook o el iPhone.

El valor real de Recordatorios no radica únicamente en su diseño limpio o en las funciones que incorpora, sino en la tranquilidad que aporta al usuario al tener la certeza de que ninguna tarea importante se perderá en la memoria. La posibilidad de registrar de manera inmediata cualquier tarea pendiente, revisarlo en el momento adecuado y contar con la información siempre sincronizada ofrece un soporte sólido para quienes desean implementar un sistema como GTD o simplemente tener más orden en su día a día.
En definitiva, Recordatorios se presenta como una herramienta discreta pero poderosa, que convierte la organización personal en un hábito más sencillo y accesible para cualquier usuario dentro del ecosistema de Apple.

Cómo utilizar la app Notas en macOS

La aplicación Notas de macOS, en sus últimas versiones, se ha convertido en una herramienta muy versátil para estudiantes, profesionales y cualquier persona que necesite organizar ideas, proyectos o documentos de forma ordenada y productiva.

Organizar las notas

Una buena organización es clave para que Notas se convierta en un cuaderno de ingeniero o gestor documental. Para ello lo primero es organizar las notas en carpetas. Tanto las cuentas de iCloud como Gmail o Microsoft Exchange permiten crear notas organizadas por carpetas.

En el menú Archivo de la barra de menú hay opciones para crear notas y carpetas. Además, podemos abrir el menú contextual de una carpeta en la lista de carpetas y realizar operaciones como renombrar o eliminar la carpeta, cambiar el sistema de ordenación o crear carpetas inteligentes.

Para una mejor accesibilidad y visibilidad es recomendable utilizar la opción Como lista del menú visualización. Esto facilita la navegación para los usuarios de VoiceOver y Zoom. Podemos activar esta opción pulsando Comando+1.

Junto a la lista de carpetas está la lista de notas. Podemos saltar entre ellas pulsando VO+J con VoiceOver.

Para tener una mejor visibilidad de las notas a la hora de navegar por esta lista es muy recomendable que todas las notas tengan un título en la primera línea del cuerpo de la nota. Es recomendable que el título refleje el concepto que describe e incluya, por ejemplo, la categoría de conocimientos a la que pertenece. Por ejemplo: una nota sobre la accesibilidad de los estilos CSS y el color podría tener un estilo como Web – Accesibilidad – CSS – Estilos para el color.

También podemos incluir etiquetas utilizando el carácter almohadilla (#). Todo esto beneficiará las operaciones de búsqueda de información dentro de la app de Notas.

Diferencias entre cuentas de correo electrónico

Es necesario indicar que sólo las cuentas de iCloud permitirán utilizar todos los estilos y funcionalidades para las notas. Si utilizamos una cuenta de Gmail o Exchange puede que no podamos formatear el texto o no podamos pegar ficheros o imágenes.

 Formatear texto en Notas

El formateo de texto permite dar estructura y claridad a las notas, facilitando la lectura y organización de la información. Además, esta información semántica en las notas permite que cuando copiemos a otro formato, como Pages o TextEdit, el aspecto visual y el marcado semántico permanecerá en la copia.

Para aplicar un formato a un bloque de texto primero debemos seleccionar el texto a formatear y luego podemos utilizar un atajo de teclado o abrir el menú Formato de la barra de menú.

Se pueden aplicar formatos simples como negrita (Comando+B), cursiva (Comando+I) o subrayado (Comando+U).

Visualmente se verán los cambios y los usuarios de VoiceOver tendrán información de los cambios de estilo cuando se muevan por el cuerpo de la nota utilizando las flechas de cursor.

Se pueden crear listas con viñetas, numeraciones o guiones. Pero uno de los aspectos más interesantes son los encabezados (Comando+Mayúscula+H) ya que cuando estamos sobre un encabezado podemos contraer el texto para visibilizar mejor la estructura. Los usuarios de VoiceOver pueden acceder a esta función pulsando VO+Comando+espacio y buscando la opción de Contraer o Expandir.

Además, en una nota, podemos pegar imágenes, ficheros de audio, documentos en formato PDF, Word o Pages, etc.

Buscar información

Si tenemos nuestras notas bien ordenadas y clasificadas la opción de búsqueda se vuelve muy poderosa ya que permite localizar contenido dentro de notas, títulos, adjuntos y etiquetas.

Realizar una búsqueda es sencillo: es necesario colocar el cursor en el campo de búsqueda en la lista de notas o pulsar Comando+Opción+F e introducir el texto a buscar. En la lista de notas se filtrarán las notas que contengan las palabras o etiquetas buscadas.

Un cuaderno de conocimientos sencillo y accesible

La app Notas va mucho más allá de una simple libreta digital. Sus funciones avanzadas la convierten en un excelente aliado tanto en el ámbito profesional como académico. Hay apps más especializadas como Obsidian o Notion, pero el nivel de accesibilidad de estas alternativas, en muchas ocasiones, no es suficiente para disfrutar de una experiencia productiva.

La asociación CINTAC

La Asociación CINTAC (Centro de Innovación de Tecnologías Accesibles) es una entidad sin ánimo de lucro de ámbito nacional fundada en 2020 que tiene el propósito de impulsar la tecnología social y promover tecnologías accesibles e inclusivas.

Misión

Su objetivo principal es generar un beneficio social y económico sostenible facilitando el acceso a productos, servicios y entornos tecnológicos a todas las personas.

Visión

Esta asociación aspira a ser un referente nacional en la creación y adaptación de tecnologías inclusivas para personas con discapacidad o limitaciones funcionales.

Ámbitos de actuación

CINTAC trabaja en diversos frentes para alcanzar sus metas:

A través de contenidos, eventos y colaboraciones, promueve la importancia de la accesibilidad tecnológica.

También organiza jornadas, congresos y talleres sobre accesibilidad TIC, usabilidad e innovación social.

Estudia e impulsa la implementación de herramientas accesibles, generando conocimiento aplicado.

Ha establecido alianzas con entidades y grupos empresariales para mejorar la accesibilidad en todos los ámbitos de la empresa.

Miembros de la asociación

CINTAC es claramente multisectorial y multidisciplinar, integrada por ingenieros, programadores, diseñadores y expertos en comunicación, ciberseguridad, Big Data y accesibilidad.

Cuenta también con asociados corporativos y corporativo plus, lo que permite a empresas y profesionales unirse bajo diferentes categorías.

La asociación ofrece una plataforma para apoyar a la sociedad mediante proyectos adecuados a personas con discapacidad, integrar la accesibilidad como valor diferencial competitivo, estar al día en normativas, buenas prácticas y tecnología accesible. Esta plataforma está enfocada en profesionales o empresas del sector TI, RRHH o diseño de servicios

Para usuarios u organizaciones interesadas en accesibilidad, CINTAC es un centro de referencia, recursos y comunidad comprometida.

Cómo asociarse

La asociación ofrece distintas categorías de membresía, adaptadas tanto a profesionales individuales como a empresas.

Ser socio brinda acceso a formación especializada, eventos, grupos de trabajo y una red de contactos en el área de la accesibilidad tecnológica.

Puedes asociarte a CINTAC a través de su portal web.

Nueva generación de herramientas automáticas de validación de la accesibilidad gracias a la inteligencia artificial

Las herramientas automáticas para la validación de barreras de accesibilidad, aunque conocidas sus limitaciones, son indispensables para las personas que diseñan y desarrollan interfaces digitales. Es conocido que la mayoría de estas barreras sólo pueden evaluar menos del 40% de los criterios de éxito de WCAG y que, en su evaluación, tampoco hay una precisión demasiado elevada.

La Inteligencia Artificial al rescate

Gracias a los últimos avances en la creación de modelos expertos con IA hay empresas como Evinced, que apuestan por el desarrollo de mejores herramientas, hoy podemos decir que tenemos a nuestra disposición la siguiente generación de las herramientas automáticas para la validación de la accesibilidad.

En algunos casos la mejora parece bastante evidente como sucede con Site scanner, una herramienta para analizar las barreras de accesibilidad en un sitio web de forma global ofreciendo resultados agrupados por componentes o incluso zonas que requieran de un usuario y contraseña. Lo interesante de esta herramienta es que, según sus creadores, pueden validar el 80% de los criterios de éxito y los resultados son más fiables. Por ejemplo, que una imagen tenga una cadena de texto ya no es suficiente para validar ese criterio de éxito, la descripción también debe ser algo comprensible y no el nombre del fichero del archivo de imagen.

Otra diferencia importante es que pueden analizar el contenido y la funcionalidad del renderizado del DOM (Document Object Model) por lo que algunos problemas de accesibilidad no visibles para Wave o AXE debido al uso de ReactJS o Angular si son detectados por esta nueva generación de herramientas.

La accesibilidad no sólo es Web

Las Web Content Accessibility Guidelines (WCAG) también se aplican a las aplicaciones de los smartphones pero las herramientas de automatización de experiencias son pocas y casi ninguna incluye alguna herramienta de validación de la accesibilidad de forma fiable ya que, en muchos casos, el acceso al dispositivo móvil se realiza mediante capturas de pantalla, perdiendo el acceso a la capa semántica de las aplicaciones móviles.

  El Automation SDK de Evinced se integra con los tests automatizados de Selenium, Cypress, Playwright, XCUITest o Appium para dar ese extra para poder evaluar las posibles barreras de accesibilidad en una web o una app móvil.

Accesibilidad desde el diseño

Los diseñadores de contenidos o de experiencia de usuario, en muchos casos, utilizan aplicaciones como Figma para hacer ese diseño de experiencia de una web o una app móvil. Aunque este tipo de herramienta ofrecen algunos plugins relacionados con la accesibilidad, todos ellos son de ejecución manual y, cuando el frame de diseño de un proyecto es demasiado grande, hay muchas posibilidades de que haya componentes o flujos que se hayan quedado sin evaluar.

Con el plugin de Design Assistant para Figma se promete una evaluación automatizada de todos los elementos del proyecto y aplicando los evaluadores mejorados con IA se ofrece la detección y corrección de problemas de contraste de color, problemas de foco y zonas táctiles, flujos ARIA y otras validaciones de criterios de éxito de WCAG.

Además este plugin ofrece la posibilidad de incluir notas para los desarrolladores para que durante la implementación del diseño se incluyan las soluciones a las barreras de accesibilidad y ejemplos para diseñar tests unitarios.

Los desarrolladores también tienen más herramientas

Las herramientas de desarrollo de Google Chrome pueden mejorarse gracias a Debugger, una extensión para este navegador que usando IA mejora la detección de errores de contraste de color o de navegación por teclado y también mejora la detección de problemas con etiquetas de accesibilidad. Además proporciona ejemplos para solucionar los problemas detectados.

En el apartado para el CI/CD (Integración continua y distribución continua) Evinced ofrece Unit Tester, una herramienta automática para crear tests para la validación de criterios de éxito WCAG 2.1 nivel AA para problemas de roles, teclado y lectores de pantalla.

Se puede integrar de forma sencilla en los pipelines de Jenkins, Travis o CircleCI.

Conclusiones y realidades

Esta empresa ofrece otras herramientas para el apoyo de diseñadores, testers, desarrolladores y analistas. Todo enfocado en la detección y solución de barreras de accesibilidad.

Como con cualquier solución automática, no reemplaza la evaluación manual ni pruebas con usuarios reales con discapacidad. La experiencia final de un usuario es la única prueba que validará la accesibilidad al 100%. Estas herramientas ayudan a los profesionales a poder mejorar su trabajo y, de forma voluntaria o involuntaria, hacer que todo sea más accesible.

El desconocimiento de la accesibilidad es el primer problema que tiene el mundo de la accesibilidad digital. Muchos profesionales del diseño o el desarrollo usan sus herramientas de trabajo sin molestarse en comprender que hay elementos técnicos que se salen de su tecnología de trabajo. Gracias a estas herramientas esos profesionales tienen un contacto con la accesibilidad de forma más cómoda, guiada y no les exige un esfuerzo inicial de aprendizaje. Lo toman como algo a solucionar en su trabajo y siguen los consejos e indicaciones de la IA para solucionar ese problema de accesibilidad.

Estas herramientas siguen en desarrollo y están abiertas a mejora ya que todavía hay casos complejos de accesibilidad que la IA no sabe resolver. Además, por ahora, sólo se da soporte para contenidos en inglés.

Lo interesante de este conjunto de herramientas es que el enfoque se aplica a todos los sectores relacionados con un proyecto web o una app móvil. La responsabilidad de la accesibilidad no recae en un único profesional. Con estas herramientas todos los profesionales, desde el diseñador al desarrollador y el tester tienen contacto con la accesibilidad. Esto maximiza la posibilidad de que la mayor cantidad posible de barreras de accesibilidad sean detectadas y solucionadas antes de que el producto sea puesto a disposición de los usuarios. Un enfoque interesante y muy alineado con el concepto de que la accesibilidad debe aplicarse a todas las etapas de un proyecto.

Esperemos que pronto veamos que este tipo de herramientas automáticas mejoran el trabajo de muchos profesionales y facilitan que la accesibilidad sea parte real de los proyectos.

Ocultar notificaciones de error expulsando un disco en MacOS

En MacOS una de las operaciones más confusas para los usuarios es la de expulsar un disco externo o volumen de datos. En muchas ocasiones el sistema muestra un mensaje de error con el texto de que se ha producido un error expulsando el disco. A veces este error se produce porque el usuario quiere expulsar el disco mientras está siendo utilizado pero, en otras ocasiones y sobre todo con discos SSD o memorias Flash, el mensaje aparece porque el sistema no puede averiguar si el disco está siendo utilizado y, ante la duda, muestra el mensaje de error.

En cualquier caso, el mensaje no nos ayuda a solucionar el problema y, además, no podemos hacer nada en ese momento para solucionar la situación. Muchos usuarios preferirían ocultar ese mensaje ya que no les aporta nada.

Ocultando el mensaje de error

Como otras muchas características de los sistemas operativos basados en Unix, casi todo es configurable desde la terminal del sistema. Con el siguiente comando podremos indicarle al sistema que no muestre ese error:

sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.DiskArbitration.diskarbitrationd.plist DADisableEjectNotification -bool YES && sudo pkill diskarbitrationd

La Terminal de MacOS nos pedirá la contraseña de administrador. Tras esto el mensaje de error no volverá aparecer nunca más.