¿Cómo puedes programar si eres ciego?

685

La vista es uno de los sentidos que la mayoría de los programadores dan por sentado. La mayoría de los programadores pasarían horas mirando un monitor de computadora (especialmente durante los momentos en que están en la zona ), pero sé que hay programadores ciegos (como TV Raman que actualmente trabaja para Google).

Si fuera una persona ciega (o se volviera ciego lentamente), ¿cómo configuraría su entorno de desarrollo para ayudarlo en la programación?

(Una sugerencia por respuesta, por favor. El propósito de esta pregunta es llevar las buenas ideas a la cima. Además, los lectores de pantalla pueden leer las buenas ideas antes).

MrValdez
fuente

Respuestas:

1017

Soy un estudiante universitario totalmente ciego que ha tenido varias pasantías de programación, por lo que mi respuesta se basará en estas. Utilizo Windows XP como mi sistema operativo y Jaws para leer lo que me aparece en la pantalla en voz sintética. Para la programación en Java, uso eclipse, ya que es un IDE con todas las funciones accesible.

En mi experiencia como regla general, los programas java que usan SWT como el kit de herramientas de la GUI son más accesibles que los programas que usan Swing, por eso me mantengo alejado de los netbeans. Para cualquier programación .net, uso Visual Studio 2005, ya que era la versión estándar utilizada en mi pasantía y es muy accesible usando Jaws y un conjunto de scripts que se desarrollaron para hacer que cosas como el diseñador de formularios sean más accesibles.

Para la programación en C y C ++, uso cygwin con gcc como mi compilador y emacs o vim como mi editor, dependiendo de lo que tenga que hacer. Gran parte de mi pasantía involucraba programación para Z / OS. Utilicé una sesión de registro a través de Cygwin para acceder al subsistema USS en el mainframe y C3270 como mi emulador 3270 para acceder a la parte ISPF del mainframe.

Por lo general, confío en el habla sintética, pero tengo una pantalla Braille. Creo que generalmente trabajo más rápido con el habla, pero uso la pantalla Braille en situaciones donde la puntuación es importante y se complica. Ejemplos de esto son las declaraciones con muchos paréntesis anidados y JCL donde la puntuación es increíblemente importante.

Actualizar

Estoy jugando con Emacspeak bajo cygwin http://emacspeak.sourceforge.net No estoy seguro de si esto será utilizable como editor de programación, ya que parece no responder, pero no he visto ninguna de las opciones de configuración todavía.

Jared
fuente
275
verdaderamente asombroso . Felicidades !
acecha el
31
Habiendo tenido un padre ciego, que era muy consciente de la computadora, sabiendo por lo que pasó para obtener acceso a Windows, su configuración me asombra. felicidades! :)
geocoin
118
Suponiendo que también use computadoras portátiles: ¿alguna vez apaga la pantalla para extender la vida útil de la batería? Porque eso estaría hecho de tanta victoria.
Jens Roland
99
Esta es la primera vez en SO que una respuesta me deja boquiabierto.
Amy
65
No tenía idea de que esto fuera posible. Ya no me olvidaré de la accesibilidad.
ChaosPandion
400

Soy ciego, y he estado programando durante aproximadamente 13 años en Windows, Mac, Linux y DOS, en lenguajes de C / C ++, Python, Java, C # y varios lenguajes más pequeños en el camino. Aunque la pregunta original fue sobre la configuración del entorno, creo que es mejor responder observando cómo una persona ciega usaría una computadora.

Algunas personas usan un entorno de conversación, como TV Raman y el entorno Emacspeak mencionado en otras respuestas. La solución más común es, con mucho, tener un lector de pantalla que se ejecute en segundo plano, monitoreando la actividad del sistema operativo y alertando al usuario a través del habla sintética o una pantalla braille física (generalmente mostrando entre 20 y 80 caracteres a la vez). Esto significa que una persona ciega puede usar cualquier aplicación accesible.

Por lo tanto, personalmente uso Visual Studio 2008 en estos días y lo ejecuto con muy pocas modificaciones. Desactivo ciertas funciones, como mostrar errores a medida que escribo, ya que esto me distrae. Antes de unirme a Microsoft, todo mi desarrollo se realizó en un editor de texto estándar como el Bloc de notas, por lo que una vez más no hubo personalizaciones.

Es posible configurar un lector de pantalla para anunciar la sangría. Yo personalmente no uso esto, ya que Visual Studio se encarga de esto y C # usa llaves. Pero esto sería muy importante en un lenguaje como Python donde los espacios en blanco son importantes. Finalmente, Emacspeak hace uso de diferentes voces / tonos para indicar diferentes partes de la sintaxis (palabras clave, comentarios, identificadores, etc.).

Saqib
fuente
55
Bloc de notas, wow. ¿Alguna vez usó un bloc de notas físico para escribir código (con un lápiz óptico Braille, por ejemplo)? ¿Usa IntelliSense? ¿Qué tan rápido habla tu lector de pantalla?
Kragen Javier Sitaker
66
Hola Saqib, disfruté tu entrevista en hanselminutes (suponiendo que seas el mismo chico :). ¡La sugerencia ctrl-shift-escape era nueva para mí!
UpTheCreek
55
UpTheCreek se refiere a: channel9.msdn.com/blogs/dan/…
idbrii
26
Por interés, ¿qué parte del programa tiene en mente y cuánto necesita actualizar mientras trabaja? Como una persona que ve y se desplaza de un lado a otro.
Thorbjørn Ravn Andersen
¡Vaya, es realmente interesante que Emacspeak use tono y tono!
Hamish
107

Soy ciego y he sido programador durante los últimos 12 años más o menos. Actualmente soy arquitecto senior y trabajo con Sapient Corporation (una empresa de consultoría con sede en Cambridge que crea soluciones empresariales basadas en web y en clientes gruesos). Utilizo varios lectores de pantalla, pero la mayoría se queda con Jaws para Windows y NVDA.

Trabajé principalmente en la plataforma de Microsoft y en Visual Studio como mi entorno. También uso herramientas como MS Sql Enterprise Studio y otras para acceso a bases de datos, monitoreo de redes, etc. Intenté pasar un tiempo con emacspeak, pero dado que mi trabajo se basaba principalmente en la plataforma MS, nunca pasé mucho tiempo allí. También pasé un par de años trabajando en C ++ en linux, principalmente el bloc de notas o el estudio visual en windows para toda la codificación y luego samba para compartir archivos con el entorno de linux. También usé Borland C para algunas cosas experimentales. Recientemente he estado jugando con python, lo que, como otras personas han señalado anteriormente, es particularmente hostil para un usuario ciego porque está escrito usando sangría como mecanismo de anidamiento. Habiendo dicho eso, NVDA, El lector de pantalla de código abierto más popular está escrito completamente usando Python y algunos de los encargados de ese proyecto son ciegos. Una pregunta particularmente interesante que me hacen con frecuencia como arquitecto es cómo trato con los diagramas: UML y visio y rosa racional, etc. Visio es probablemente la herramienta de diagramación más accesible que existe. Pude escribir scripts de mandíbulas para leer diagramas de rosas racionales para mí. He utilizado una herramienta llamada T-dub (comprensión técnica de diagramas para ciegos) desarrollada por alguna universidad alemana para acceder a los diagramas UML 2.0. Utilicé una herramienta fea basada en Java llamada Magic Draw para hacer un desarrollo basado en modelos y participé en el proyecto androMDA y ayudé a desarrollar el generador de código .Net a partir de un modelo UML. Una pregunta particularmente interesante que me hacen con frecuencia como arquitecto es cómo trato con los diagramas: UML y visio y rosa racional, etc. Visio es probablemente la herramienta de diagramación más accesible que existe. Pude escribir scripts de mandíbulas para leer diagramas de rosas racionales para mí. He utilizado una herramienta llamada T-dub (comprensión técnica de diagramas para ciegos) desarrollada por alguna universidad alemana para acceder a los diagramas UML 2.0. Utilicé una herramienta fea basada en Java llamada Magic Draw para hacer un desarrollo basado en modelos y participé en el proyecto androMDA y ayudé a desarrollar el generador de código .Net a partir de un modelo UML. Una pregunta particularmente interesante que me hacen con frecuencia como arquitecto es cómo trato con los diagramas: UML y visio y rosa racional, etc. Visio es probablemente la herramienta de diagramación más accesible que existe. Pude escribir scripts de mandíbulas para leer diagramas de rosas racionales para mí. He utilizado una herramienta llamada T-dub (comprensión técnica de diagramas para ciegos) desarrollada por alguna universidad alemana para acceder a los diagramas UML 2.0. Utilicé una herramienta fea basada en Java llamada Magic Draw para hacer un desarrollo basado en modelos y participé en el proyecto androMDA y ayudé a desarrollar el generador de código .Net a partir de un modelo UML. Pude escribir scripts de mandíbulas para leer diagramas de rosas racionales para mí. He utilizado una herramienta llamada T-dub (comprensión técnica de diagramas para ciegos) desarrollada por alguna universidad alemana para acceder a los diagramas UML 2.0. Utilicé una herramienta fea basada en Java llamada Magic Draw para hacer un desarrollo basado en modelos y participé en el proyecto androMDA y ayudó a desarrollar el generador de código .Net a partir de un modelo UML. Pude escribir scripts de mandíbulas para leer diagramas de rosas racionales para mí. He utilizado una herramienta llamada T-dub (comprensión técnica de diagramas para ciegos) desarrollada por alguna universidad alemana para acceder a los diagramas UML 2.0. Utilicé una herramienta fea basada en Java llamada Magic Draw para hacer un desarrollo basado en modelos y participé en el proyecto androMDA y ayudé a desarrollar el generador de código .Net a partir de un modelo UML.

En general, encuentro que prospero más en un entorno de equipo donde puedo trabajar en mis fortalezas. Por ejemplo, si bien un diagrama es extremadamente útil para comunicar / documentar un diseño, el proceso de diseño implica mucha reflexión y lluvia de ideas, y cuando el diseño ha sido pensado, uno de los compañeros de su equipo puede ayudarlo a armar rápidamente un diseño imagen fuera de ella. Las personas interpretan incorrectamente lo anterior como una falta de independencia o habilidad mientras veo esto como pura interdependencia, ya que estoy seguro de que el compañero de equipo solo nunca podría haber ideado ese diseño por sí solo y en -Gire, si dependo de él para documentar el diseño, que así sea. La mayoría de los obstáculos que enfrento son la inaccesibilidad basada en herramientas.

Manish
fuente
66
¿Estás basado en la India? ¿Y a dónde te has desvanecido? Después de esta publicación, parece que has desaparecido.
Mamta D
1
como programador, me siento mucho lo que nunca había prestado suficiente atención a la accesibilidad ... Lo siento mucho ...
sin título
53

Soy un desarrollador ciego y trabajo bajo Windows, GNU Linux y MacOS X. Cada plataforma tiene diferentes flujos de trabajo para usuarios ciegos. Esto depende del lector de pantalla que usa el desarrollador ciego. Las herramientas de desarrollo no son completamente accesibles para los desarrolladores ciegos. Puedo escribir código y usar funciones de compilación en todos los IDE, pero hay muchos problemas si tengo que diseñar una interfaz usando herramientas de diseño como Interface Builder, XGlade u otras. Cuando estaba desarrollando con Borland Delphi, podía agregar un control, un botón, por ejemplo, y podía modificar cada atributo visual del control utilizando la ventana del inspector de objetos. Muchos IDE usan ventanas de inspector de objetos para modificar atributos visuales y no visuales, pero el problema para un desarrollador ciego es agregar nuevos controles porque el método para agregar un nuevo control consiste en arrastrar y soltar un control desde la paleta al lienzo. Visual Studio 200x utiliza métodos alternativos para hacer esto, pero la interfaz del IDE cambia en cada nueva versión y esto es un gran problema porque los lectores de pantalla para Windows necesitan un soporte especial, usando scripts, para identificar cada área de algunas aplicaciones no estándar. Un desarrollador ciego puede usar Visual Studio 2008 con su lector de pantalla, pero cuando aparece una nueva versión de este IDE, tiene que esperar una nueva versión de los scripts para esta versión del IDE. Xcode with Interface Builder aún no tiene alternativa para arrastrar y soltar tareas. Se lo pedí a Apple muchas veces, pero están trabajando en otras cosas. Publiqué 3 aplicaciones en la tienda de aplicaciones (Buscaminas accesible, fruitmachine accesible y Programar a ciegas RSS) y tuve que diseñar toda la interfaz por código. Es un trabajo duro pero puedo administrar todas las funciones de cada control. Eclipse tiene un editor de código accesible, pero otras herramientas de desarrollo como la consola de depuración, los complementos para el diseño o el área de documentación presentan problemas para las herramientas de asistencia para usuarios ciegos.

La documentación también es un problema para los desarrolladores ciegos. Muchas muestras y demostraciones usan imágenes para mostrar la explicación (establezca la configuración del entorno como puede en la imagen)

Creo que la pregunta no es ser ciego. La pregunta es si las compañías y los grupos de desarrollo piensan que la accesibilidad afecta el software final, pero no afecta el software de desarrollo. Piensan que un usuario ciego debería ser un cliente, pero un usuario ciego no puede ser un compañero de desarrollo.

Las asociaciones ciegas solicitan accesibilidad para productos y servicios, pero se olvidaron de los desarrolladores ciegos. Las personas ciegas pueden trabajar como abogados, periodistas, maestros, pero un desarrollador ciego es un concepto extraño incluso para los ciegos. Muchas veces me siento solo porque algunos de mis amigos ciegos no pueden entender mi trabajo.

Puedes leer mi opinión sobre este tema en este artículo, en español, en mi blog http://www.programaraciegas.net/2010/11/05/la-accesibilidad-en-crisis-para-los-desarrolladores-ciegos/ Hay una herramienta de traducción en la página web. Lo siento pero no lo traduje.

Jonathan Chacón
fuente
47

Emacs tiene una serie de extensiones para permitir a los usuarios ciegos manipular archivos de texto. Tendría que consultar a un experto en el tema, pero emacs tiene capacidades de texto a voz. Y probablemente más.

Además, hay BLinux:

http://leb.net/blinux/

Linux para ciegos. He estado por mucho tiempo. Más de diez años, creo, y muy maduro.

Chris
fuente
43

Tenga en cuenta que "ciego" es una variedad de condiciones: hay algunos que son legalmente ciegos que podrían leer un monitor realmente grande o con ayuda de aumento, y luego están aquellos que no tienen visión en absoluto. Recuerdo a una compañera de clase en la universidad que tenía un dispositivo especial para ampliar libros y un software especial que podía usar para ampliar una parte de la pantalla. Estaba trabajando duro para terminar la universidad, porque su vista empeoraba y se iba a ir por completo.

La programación también tiene un espectro de necesidades: algunas personas son buenas para producir muchos y muchos códigos, y algunas personas son mejores para ver el panorama general y la arquitectura. Me imagino que dada la dificultad impuesta por la interfaz de la pantalla, la ceguera puede mejorar su capacidad para obtener una imagen general ...

DGM
fuente
31

Trabajé para la Greater Detroit Society for the Blind durante tres años, dirigí una BBS adaptada para acceso ciego y trabajé con varios usuarios ciegos sobre cómo satisfacer mejor sus necesidades, y con nuevos usuarios ciegos para aclimatarlos al hardware disponible y ofertas de software que estaban disponibles en ese momento. Por lo menos, ¡al menos aprendí a leer Braille como una cobertura contra el caso en el que alguna vez terminé en la misma situación!

La mayoría de los usuarios de computadoras y programadores ciegos usan algún tipo de lector de pantalla. Mandíbulas en particular es popular. Afortunadamente, la mayoría de las aplicaciones importantes en estos días ofrecen alguna forma de acceso para discapacitados. Es posible que tenga que ajustar su entorno ligeramente para reducir la conversación, por ejemplo, considere deshabilitar Intellisense en Visual Studio.

Una pantalla Braille es menos común y es comparativamente mucho más costosa y puede mostrar 40 u 80 columnas de texto, y puede usarse cuando el posicionamiento / puntuación exacto es importante. Si bien se puede configurar un lector de pantalla para que marque la puntuación, muchas personas lo encuentran distrayendo, y en muchos casos es más fácil sentirlo. Las mordazas se pueden configurar para controlar la pantalla, por lo que no está haciendo malabares con las aplicaciones de accesibilidad.

Además, a muchos usuarios legalmente ciegos todavía les queda algo de visión. El uso de fondos de alto contraste y la funcionalidad de ampliación puede ayudar a muchos de estos usuarios.

El uso de ToggleKeys en Windows también le permitirá escuchar cuando toque accidentalmente una de las teclas modales 'bloqueo de mayúsculas', 'bloqueo numérico', 'bloqueo de desplazamiento', etc.

Conozco al menos a un programador de Haskell que usa un lector de pantalla y que programa explícitamente sin usar las reglas de diseño de Haskell, y en su lugar opta por usar el no-idiomático, pero es compatible {;}, porque es más fácil / menos molesto para él obtener su lector de pantalla para leer la puntuación que para que él descubra una sangría exacta que cumpla con las reglas de diseño de Haskell. En esa misma nota, he escuchado algunas quejas de un par de programadores ciegos sobre cuándo tienen que escribir Python.

Finalmente, aprendes a jugar con tus fortalezas.

Edward KMETT
fuente
23

No puedo recordar la fuente, pero he escuchado / leído sobre una forma de sintaxis audible "colorear", de modo que en lugar de una asignación de cadena se lea como

foo es igual a una cita, esta es una cita en cadena

la parte de la cuerda se leería con un tono o voz diferente para aclarar la separación de elementos.

Cebjyre
fuente
13
Emacspeak hará esto.
Edward KMETT el
14

Un lugar para comenzar es el proyecto Blinux:

http://leb.net/blinux/

Ese proyecto describe cómo obtener Emacspeak (editor con texto a voz) y tiene muchos otros recursos.

Trabajé con una persona que no veía nada, pero les impidió usar un monitor; les fue bien con el software del lector de pantalla y pasaron mucho tiempo usando aplicaciones basadas en texto y el shell.

La lista de paquetes de lectores de pantalla de Wikipedia es otro lugar para comenzar: http://en.wikipedia.org/wiki/List_of_screen_readers

Kyle Burton
fuente
14

Soy un estudiante de postgrado en Beijing, China. Me especializo en informática y gran parte de mi trabajo es programación. Nací con poca vista, necesito usar herramientas de aumento para ver las fuentes en la pantalla con claridad. Utilizo las herramientas mgnify de microsoft en windows y utilizo el complemento magnify de compiz en linux. Usualmente configuro la herramienta para que aumente tres veces más que el tamaño de fuente original. Para mí, las herramientas de maginify están bien, el problema principal es la velocidad, tengo que mover el mouse para que los cursores sigan el texto que estoy viendo, la ampliación de microsoft ofrece la opción de "seguir automáticamente los puntos de edición de texto", que me alejó de movimiento continuo del mouse al editar o codificar. Pero no siempre funciona debido al software de edición o IDE puede no ser compatible con eso. Las herramientas de aumento en Linux son difíciles de usar. El KMag viene con KDE tiene una frecuencia de actualización terrible que hace que mis ojos se sientan incómodos, los tapones de aumento de compiz que estoy usando ahora están bien, pero no tienen función de enfoque automático (enfoque automático de seguimiento). iOS proporciona una solución bastante perfecta para mí con una ampliación de pantalla completa, especialmente en la pantalla de 9.7 pulgadas de ipad. no es necesario el enfoque automático porque apenas los uso para codificar o hacer otras cosas de edición. Android ofrece muy pocas funciones de accesibilidad, solo como comentarios de agitación, lo cual es inútil para mí. No hay ningún tipo de buenas herramientas de aumento en Android, sin mencionar la función de avance como el aumento de pantalla completa en iOS. Solía ​​estudiar Qt, quiero construir herramientas útiles para ampliar en Linux, incluso en Android. Pero apenas tiene algún progreso. pero no tiene función de enfoque automático (seguimiento automático de enfoque). iOS proporciona una solución bastante perfecta para mí con una ampliación de pantalla completa, especialmente en la pantalla de 9.7 pulgadas de ipad. no es necesario el enfoque automático porque apenas los uso para codificar o hacer otras cosas de edición. Android ofrece muy pocas funciones de accesibilidad, solo como comentarios de agitación, lo cual es inútil para mí. No hay ningún tipo de buenas herramientas de aumento en Android, sin mencionar la función de avance como el aumento de pantalla completa en iOS. Solía ​​estudiar Qt, quiero construir herramientas útiles para ampliar en Linux, incluso en Android. Pero apenas tiene algún progreso. pero no tiene función de enfoque automático (seguimiento automático de enfoque). iOS proporciona una solución bastante perfecta para mí con una ampliación de pantalla completa, especialmente en la pantalla de 9.7 pulgadas de ipad. no es necesario el enfoque automático porque apenas los uso para codificar o hacer otras cosas de edición. Android ofrece muy pocas funciones de accesibilidad, solo como comentarios de agitación, lo cual es inútil para mí. No hay ningún tipo de buenas herramientas de aumento en Android, sin mencionar la función de avance como el aumento de pantalla completa en iOS. Solía ​​estudiar Qt, quiero construir herramientas útiles para ampliar en Linux, incluso en Android. Pero apenas tiene algún progreso. Android ofrece muy pocas funciones de accesibilidad, solo como comentarios de agitación, lo cual es inútil para mí. No hay ningún tipo de buenas herramientas de aumento en Android, sin mencionar la función de avance como el aumento de pantalla completa en iOS. Solía ​​estudiar Qt, quiero construir herramientas útiles para ampliar en Linux, incluso en Android. Pero apenas tiene algún progreso. Android ofrece muy pocas funciones de accesibilidad, solo como comentarios de agitación, lo cual es inútil para mí. No hay ningún tipo de buenas herramientas de aumento en Android, sin mencionar la función de avance como el aumento de pantalla completa en iOS. Solía ​​estudiar Qt, quiero construir herramientas útiles para ampliar en Linux, incluso en Android. Pero apenas tiene algún progreso.

ifwzh
fuente
13

Cuando estaba en la escuela de posgrado, teníamos un miembro de nuestro equipo de investigación que era ciego. Era un poco mayor, tal vez a mediados de los 40. Nos contó cómo programó su primera computadora (que era mucho antes de que el texto a voz fuera común) para mostrar el contenido de la pantalla en código Morse. Para superar el obvio problema del huevo y la gallina, tuvo que reescribir completamente el código cada vez desde cero hasta que funcionó lo suficientemente bien como para que se lo volviera a leer.

Ahora usa texto a voz, aunque planea el código muy a fondo antes de escribirlo, para minimizar el ciclo de depuración.

También fue bastante bueno para dar presentaciones de PowerPoint que, a pesar de su falta de vista, tenían el mismo formato que cualquier presentador vidente.

tghw
fuente
8

De vuelta en Nueva Zelanda, conocía a alguien que tenía degeneración macular , por lo que tenía una visión parcial. Es un programador muy talentoso y terminó usando Delphi porque podía trabajar reconociendo las formas de las palabras. Esto fue más fácil de hacer con una sintaxis tipo Pascal que con un corchete ondulado C-ish. Tiene un sitio web, pero no parece mencionar la degeneración macular en absoluto, por lo que no lo nombraré.

Preocupado por TunbridgeWells
fuente
8

Soy ciego y desde hace algunos meses estoy usando VINUX (una distribución de Linux basada en Ubuntu) con SODBEANS (una versión de netbeans con un complemento llamado SAPPY que agrega soporte TTS). Esta solución funciona bastante bien, pero a veces prefiero iniciar Win XP y NVDA para abrir muchas páginas en FireFox porque Vinux no funciona muy bien cuando intenta abrir más de 3 ventanas de FireFox ...

Filippo1980
fuente
6

Como muchos han señalado, emacspeak ha sido la solución duradera multiplataforma para muchos de los piratas informáticos más antiguos. Como es compatible con Linux y Mac, se ha convertido en mi medio preferido para desarrollar proyectos de diagnóstico de Windows.

Con respecto a la cuestión de reducir la sintaxis a través de una auditiva en lugar de una visual, descubrí que existe una variedad de técnicas para acercar una, si no en el mismo campo de juego.

Los íconos auditivos pueden representar descriptores verbales para un ejemplo. Puede, poner tonos de hasta qué punto una línea está sangrada. Cuanto más largo sea el tono, mayor será la sangría. Dado que los tonos pueden reproducirse en paralelo con el texto a voz, la información llega en el mismo período de tiempo y no serializa la comunicación de algo tan básico.

Braille puede decodificar de manera rápida y precisa al usuario la sintaxis exacta de una línea. Esto es algo más útil para las personas que usan braille en la vida diaria; La mayor ventaja es el acceso aleatorio a los contenidos de la pantalla. Las unidades actualizables generalmente tienen teclas de enrutador sobre cada celda de caracteres que pueden colocar el cursor en esa celda. Sin jugar con las teclas de flecha O (n) op vs O (1) acceso.

La dimensionalidad auditiva (tono, velocidad, volumen, inflexión, riqueza, estrés, etc.) puede transmitir un concepto (palabra clave, clase, variable, error, etc.). Por ejemplo, los comentarios se pueden leer en una inflexión monótona ... adecuada, si puedo decirlo :).

Emacs y otros editores en menor medida (Visual Studio) permiten que un codificador lea detenidamente un programa de manera sintáctica (siguiente bloque, bloque de plegado, defun hacia abajo, saltar a def, subir por el árbol de análisis, etc.). Puede obtener rápidamente la imagen "grande" de la estructura de un proyecto completo haciendo esto; con extensiones como Cedet, puede obtener la bondad de la plataforma cruzada VS / Eclipse / etc. y en un editor de texto.

Probablemente podría seguir y seguir, pero en pocas palabras, es la base de por qué algunos de nosotros estamos pirateando en la industria, la adacdemia o en nuestros sótanos :).

usuario1131499
fuente
5

harald van Breederode es un conocido experto holandés en Oracle DBA, entrenador y presentador que es ciego. Su blog contiene algunos consejos útiles para personas con discapacidad visual.

Alexis Gil
fuente
2

¿Qué demonios sería un teclado braille?

Existen escritores en braille, pero nunca usaría uno como dispositivo de entrada para una computadora.

Si simplemente estás hablando de un teclado con los símbolos braille, también sería una muy mala idea. Tendrás muchas más teclas para alcanzar mientras escribes y aún sería más lento.

La escritura táctil NO es una habilidad visual, una persona ciega puede hacerlo tan bien como una persona vidente.

Loren Pechtel
fuente
3
Un teclado Braille tiene seis teclas, cada una de las cuales representa uno de los seis puntos que forman un carácter Braille. La mayoría de los teclados Braille también tienen teclas adicionales para cosas como espacio, borrar, avanzar, retroceder, etc. En Google Images se pueden encontrar muchas imágenes de teclados Braille.
Barry Brown el
Esos son los controles de un escritor en braille. Lo usa para producir la salida en braille, nunca usaría un dispositivo como dispositivo de entrada, ya que es MUCHO más lento que un teclado normal.
Loren Pechtel el
55
no hay necesidad de un teclado braille, el escritor braille existe para escribir braille, no para imprimir. Mi padre era ciego y podía escribir con mayor rapidez que la mayoría de las personas videntes. Existen teclados de salida Braille, ya que es más fácil que la salida de voz en algunas situaciones. en este contexto me
viene
Conocí a algunos usuarios ciegos en la última era de BBS que solían usar un "Braille 'n Speak" conectado a un módem para acceder a los tableros de anuncios, pero no he visto uno de esos desde 1992 más o menos y ninguno de esos Las personas eran desarrolladores. La escritura táctil es mucho más efectiva.
Edward KMETT el
¿Por qué hay incluso un teclado braille ?, puedo escribir sin mirar mi teclado ... solo use los puntos en (f), (j) y (5) para ayudarlo un poco
ajax333221
2

Creo que esto funcionaría bien en la programación extrema utilizando el principio de programación de pares. Si está creando software para personas ciegas, quién mejor para hacerlo que alguien que esté literalmente en contacto con los requisitos comerciales, por lo que no creo que sea muy descabellado en absoluto.

En cuanto a escribir código, bueno, a menos que haya algún tipo de retroalimentación, creo que una persona puede tener dificultades con la sintaxis. Sin embargo, la retroalimentación de audio puede ayudar hasta cierto punto.

Impar
fuente
66
¡Si escribes páginas web, probablemente ESTÁS desarrollando para personas ciegas!
Loofer
Trabajé (indirectamente) con un programador ciego en mi última cooperativa en IBM a principios de la década de 1990, en ScreenReader / 2 (extensión para ayudar a las personas ciegas a usar OS / 2). Se puede hacer y no se requiere programación de pares.
M1EK
77
@John Millikin: Si bien eso es contundente y divertido, probablemente esté mucho menos familiarizado con la forma de interpretar las indicaciones de su software de lectura de pantalla y lo que constituye una interfaz accesible para discapacitados intuitiva que el usuario ciego real. Intento involucrar a un usuario ciego en las pruebas de aceptación del usuario cuando hago diseño web. Dicho esto, los desarrolladores ciegos pueden hacer mucho más que solo UAT.
Edward KMETT el
idea interesante sobre la retroalimentación auditiva. Quizás sería útil un sistema que fuera más allá de solo leer las palabras en la pantalla.
Seamus Connor
@Edward: Pasar de una interfaz gráfica a una de audio no es realmente tan difícil. Mientras que (obviamente) una persona completamente ciega tendrá más experiencia interactuando con tecnología de asistencia, las personas "normales" pueden hacerlo bastante bien simplemente apagando sus monitores.
John Millikin
2

NVDA es un buen lector de pantalla de código abierto para ganar.

Serenata
fuente
1

¿Qué hay de inventar algún tipo de dispositivo que conecte a un puerto usb y que sea básicamente una "hoja de goma" que se modificaría para mostrar el código de su cerebro, permitiendo que las personas ciegas lo lean en lugar de escucharlo?

Cuerno salvaje
fuente
1

Hay una variedad de herramientas para ayudar a las personas ciegas o deficientes visuales, como la retroalimentación del habla y los teclados braillie. http://www.rnib.org.uk/Pages/Home.aspx es un buen sitio para obtener ayuda y asesoramiento sobre estos temas.

Ed Heal
fuente
1

Una vez que conocí a Sam Hartman, es un famoso desarrollador de Debian desde 2000, y ciego. En esta entrevista, habla sobre la accesibilidad para un usuario de Linux. Utiliza Debian y gnome-orca como lector de pantalla, funciona con Gnome y "hace un trabajo relativamente bueno al hablar Iceweasel / Firefox y Libreoffice".

Específicamente hablando de programación, dice:

Si bien [gnome-orca] habla gnome-terminal, no es lo suficientemente bueno para hablar en programas de terminal que me siento cómodo usándolo. Entonces, ejecuto Emacs con el paquete Emacspeak. Dentro de eso, ejecuto el emulador de terminal Emacs, y dentro de eso, tiendo a ejecutar Screen. Para mayor diversión, a menudo ejecuto instancias adicionales de Emacs dentro de las pantallas internas.

Eduardo
fuente
1
Pff, suena complicado y fascinante al mismo tiempo. Las personas son muy ingeniosas para superar las debilidades de su software. :-)
Willem Meints