Queremos ser más que clientes, queremos xCode accesible

Apple, al igual que otras grandes empresas de tecnología, está trabajando desde hace años en incluir características de accesibilidad en sus productos porque han comprendido que las personas con discapacidad pueden ser buenos clientes. Este enfoque empresarial beneficia a la mayoría de las personas pero en algunos casos es insuficiente: las personas con discapacidad además de clientes queremos ser trabajadores, creadores, colaboradores y apple, al igual que estas otras grandes empresas tecnológicas, no ven a las personas con discapacidad como personas que puedan trabajar en tecnología ya que las herramientas para desarrollo software, diseño y gestión de proyectos u otras herramientas y aplicaciones relacionadas con el trabajo del software no incluyen tantas características de accesibilidad como otras aplicaciones publicadas por estas empresas.

Colaborando para mejorar

Siempre he considerado que para conseguir algo es mejor comenzar a trabajar en ello que no lamentarse y hacer una pataleta. Si hay que quejarse, pedir algo o contribuir comunicando la realidad de este mundo de personas con diversidad es necesario utilizar los canales apropiados para que nuestras palabras y nuestras intenciones consigan el mejor resultado. Por esta razón he enviado a la dirección de eMail de Apple para temas de accesibilidad (accessibility@apple.com) un texto en inglés pidiendo que hagan xCode, su herramienta de desarrollo para crear aplicaciones para MacOS e iOS, accesible para todos para que todos podamos ser clientes y trabajadores.

Creo que una de las razones por las que hay tal escasez de aplicaciones accesibles es porque hay muy pocos desarrolladores con discapacidad ya que no hay herramientas accesibles para ser desarrollador

El texto que he enviado a Apple es el siguiente:

Hello Apple Accessibility Team,

I know that xCode, the development tool for apple developers, has many accessibility barriers.

Blind developers cannot design interfaces for MacOS and iOS apps because the Interface Builder tool is not compatible with VoiceOver and other assistive tools.

There are few developers with disabilities because the developers’ tools are not fully accessible.

I think Apple should consider people with disabilities clients and workers as well. A person with any disability can buy any product, but he cannot work because there are not any accessible tools to work with.

Xcode offers developers some tools in order to make interfaces accessible, but xCode doesn’t offer developers with disabilities an accessible way to work with xCode itself.

In conclusion, I want Apple to create an accessible development tool for everybody. I want an accessible xCode.

Un amigo me pidió que compartiese este texto porque también quiere participar para que Apple ofrezca más oportunidades a sus clientes así que aquí está el texto. Si tu también quieres participar puedes obtener este texto en formato txt y enviarlo en un correo electrónico a accessibility@apple.com.

Script para identificar nivel de indentación con VoiceOver

A la hora de escribir textos para desarrollar aplicaciones en un lenguaje de programación se utilizan una serie de caracteres para indentar el texto separándolo una distancia determinada con respecto al margen izquierdo del documento. Esto se utiliza para estructurar el código del proyecto software y obtener una mejor visualización de las diversas estructuras y áreas del archivo de código. Algunos lenguajes de programación, como Python, utilizan estos caracteres de indentación para definir bucles o subrutinas por lo que la indentación pasa a tomar mayor importancia.

Para indentar un texto se suele utilizar el caracter de espacio o el caracter de tabulación. De esta forma se pueden definir distintos niveles de indentación de forma homogénea.

Los desarrolladores con discapacidad visual que utilizan un lector de pantallas no pueden acceder a esta información de forma habitual. Aunque algunos lectores de pantallas, como las últimas versiones de Jaws, incorporan funciones para identificar cambios en la indentación del texto la mayoría de estos productos de apoyo carecen de herramientas para gestionar este atributo del texto. VoiceOver para OSX carece de esta funcionalidad pero podemos incorporar algo que nos permita consultar el nivel de indentación de una línea de texto gracias a la ampliación de funcionalidad de VoiceOver mediante Apple script.

Script para verificar el nivel de indentación de una línea de texto

Tyflos Accessible Software ha desarrollado un script para VoiceOver el cual devuelve el número de indentación del último texto verbalizado por VoiceOver.

Esta primera versión del script sólo soporta caracteres de tabulación. En futuras versiones se aportará mayor soporte para otros caracteres de indentación.

Puedes descargar el archivo comprimido del script de verificación del nivel de indentación e instalarlo en tu sistema OSX.

Para utilizarlo es necesario activar el soporte de scripts de VoiceOver y añadir un comando para VoiceOver asociado a este script.

La accesibilidad en crisis para los desarrolladores ciegos

En todas partes se habla de la accesibilidad en general, en otras partes, además, se habla de la accesibilidad a la Web. En muy pocas partes se habla de los problemas que encontramos los desarrolladores ciegos para poder diseñar y desarrollar software.

En la red se está moviendo una corriente de curiosidad sobre si una persona con ceguera puede desarrollar software. La respuesta, hablando desde mi experiencia personal como desarrollador en varios lenguajes y plataformas, es que si pero no gracias a esas grandes empresas y organizaciones que se mueven en pro de la accesibilidad. Esa accesibilidad que atrae a la gente y los medios de comunicación es para una mayoría de personas con discapacidad, con perfiles de discapacidad mayoritarios. Digo esto porque conozco la postura de grandes empresas como Sun microsystems, recientemente adquirida por Oracle, que no duda en adherirse a proyectos europeos en pro de la Accesibilidad pero ante una pregunta de un servidor sobre si sus herramientas de desarrollo serán accesibles también le contestaron que hay muy pocos desarolladores ciegos en el mundo como para tomarse el trabajo. Otra gran empresa de desarrollo de software y sistemas operativos, hablamos de Microsoft, que tiene uno de los departamentos de accesibilidad con más personal del mundo; parece que se asegura que cada nueva versión de sus diversos productos software guarden una compatibilidad hacia atrás en su interfaz para mantener la poca accesibilidad que tengan sus productos. Esto es así excepto para sus herramientas de desarrollo, donde a cada nueva versión un desarrollador ciego encontrará más y más problemas. Apple, empresa que se enorgullece de sacar todos sus productos accesibles desde la caja y con un departamento de accesibilidad bastante funcional, ante la petición de hacer más accesible su herramienta de diseño de interfaces comenta que mejor esforzarse en hacer accesible la versión que saldrá para la nueva generación de su suite de desarrollo software, suite que va con retraso y mientras un servidor diseña los interfaces de sus aplicaciones para MacOS X, iPhone e iPad utilizando matemáticas, mucha imaginación y mucha cantidad de código fuente en sus programas.

Las propias empresas de desarrollo de software para personas con discapacidad, como pueden ser Freedom scientific (creadores de Jaws), GWMicro (Window eyes) o Dolphin software (creadores de Hal) no se interesan en proporcionar soporte, scripts y mapas de ventana para sus lectores de pantalla.

Editoriales que publican sus libros o sólo en papel o en formato electrónico donde el código fuente se imprime en una imagen, o redactan las explicaciones haciendo referencia a imágenes y resultados visuales por pantalla.

Con todo esto se podría aventurar uno a decir que no se puede programar si un desarrollador no puede ver la pantalla. Incluso hay un movimiento por crear un lenguaje de programación para ciegos ya que con los actuales parece que no puede trabajar un desarrollador ciego.

La realidad es que los lenguajes de programación son, la gran mayoría, completamente accesibles. Lo inaccesible son los entornos de desarrollo o herramientas de desarrollo. ¿Para qué quiero aprender un lenguaje de programación discriminatorio que no va a utilizar ninguna empresa de desarrollo de software? Nadie me contrataría si sólo domino un lenguaje de programación para ciegos. Un desarrollador debe conocer varios lenguajes de programación y dominar el manejo de los entornos de desarrollo para dichos lenguajes. Si un entorno de desarrollo es inaccesible, como puede ser el nuevo Visual studio 2010, un desarrollador ciego puede optar por utilizar un procesador de textos común y corriente, y normalmente muy accesible, y utilizar el compilador y depurador en línea desde la consola de comandos. El problema de esta solución es que hace que el desarrollador ciego sea menos productivo que un desarrollador que utilice Visual Studio 2010 y en la actualidad las empresas valoran más la productividad del desarrollador que su situación o la calidad de su código.

En esta situación de posible baja productividad nos encontramos muchos desarrolladores ciegos obligados por cada nueva versión que sale de un entorno de desarrollo por parte de estas empresas con gran responsabilidad social. Estas empresas que condenan a muchos profesionales del desarrollo software que poseen una discapacidad visual a buscar sus propias soluciones porque ni las empresas que desarrollan sus productos de apoyo les apoyan.

La conclusión es que la respuesta inicial se convierte en: hay desarrolladores ciegos pero están en peligro de extinción gracias a los mismos que alzan el estandarte de la accesibilidad para todos.