![]() |
|
[Tut] Lost Your Sight? How to Code as a Blind or Visually-Impaired Python Developer - Printable Version +- Sick Gaming (https://sickgaming.net) +-- Forum: Programming (https://sickgaming.net/forum-76.html) +--- Forum: Python (https://sickgaming.net/forum-83.html) +--- Thread: [Tut] Lost Your Sight? How to Code as a Blind or Visually-Impaired Python Developer (/thread-96664.html) |
[Tut] Lost Your Sight? How to Code as a Blind or Visually-Impaired Python Developer - xSicKxBot - 08-11-2020 Lost Your Sight? How to Code as a Blind or Visually-Impaired Python Developer I’m a developer who is blind. I’ve been blind since very shortly after birth. I’ve never gone through losing my sight. I wanted to see if my perspective lined up with that of others who are blind, but have lost their sight later on in life. Here is what I found out: I reached out to parts of the blindness community in my network to see if anyone wanted to sit down and talk to me about their experiences. Six people replied to my query for interviews. I interviewed three of them for this article, and I plan on talking to the others after this writing. I run an email group where other people who are blind hang out called Pythonvis. Anyone else can join. I sent one query there. Another group I hang out on is called Program-l. That group is broader in scope. Both groups cater to the unique needs of those of us who are looking for both programming help and help using the tools necessary to use our computers. Blind Developer Survey — Stories Before he lost his sight, Jeff Thompson learned to program while in college, using punch cards. He went on to have a career in the insurance industry. It wasn’t until much older that he lost his sight. Jeff is a member of Pythonvis and runs a weekly Python coaching session on a site called Out-of-site. Taylor Arndt studies Computer Science at Western Michigan University in the United States. Vaibhav Saraf is a software developer from India who lost his sight a little over a year ago. All three told me that they went through a period where they were despondent about being unable to use their computer, but reached out and learned that they had a way out. How They Use Their Computer All three developers use software called screen readers. Screen readers speak what the user types into the computer and read what they want to know about the code they write. Interestingly, the original IBM screen reader software was invented by Jim Thatcher, who was not blind, but was influenced by his blind thesis advisor. Ted Henter, who lost his sight in a car accident, invented the most popular screen reading software, JAWS, after he lost his site and went on to co-found FreedomScientific (https://www.freedomscientific.com/), which has since become part of the Vispero group of companies. They also all use NVDA, which was created by two blind developers. NVDA is mostly written in Python and is open-source. One of the reasons I am learning Python is to contribute to that project. Programming Tools Jeff uses EdSharp, written in C# by Jamal Mazrui, himself a blind software developer, who works for Amazon. Taylor and I use Visual Studio Code, which has very strong support for those of us who use screen readers. Vaibhav uses Eclipse, which IBM contributed much code to enhance its ability to work with screen reading software. [Resources] How They Learned Python When I asked how they learned Python, they pointed me to resources, such as:
All of the above have in common that they are written in a form easy to consume by screen readers: HTML, DAISY, or EPub. How They Communicate On Projects All three said that email is something that is easy to use with screen reading software. They also all use Skype, Microsoft Teams, Zoom, or other communication software. All of these packages work with screen reading software. Taylor and Vaibhav use Microsoft Word, so any specifications or instructions written as Word documents that have adequate text descriptions can serve as specifications for projects. Taylor and Vaibhav told me that wen professors or team members present course materials live that when they point to something on the board or when screen sharing that it helps to say the name of the thing they are pointing too, rather than “this,” or “Click this.” It also helps to give directions on where to find something or perform an action to help build a mental model of the thing they are describing. At this point, screen reader users can share screens as presenters in communication software, but screen readers cannot communicate to the user the screens shared by others who are presenters. One way to off-set this disadvantage is to get the material before the presentation so they can read it over and become familiar with it. How They Understand Program Structure All three told me that they use their screen reader’s ability to communicate the number of tab characters appear at the beginnings of lines coupled with the colon characters at the beginnings of conditional expressions, loops, classes, and methods to gain a mental model of the code they work with. As we talked about this, Vaibhav said that he depends on his memory a great deal to understand code flow. Screen readers can read a line at a time, a word at a time, and a character at a time, and if a developer is able to obtain a Braille display, they can read and follow indentation by using their fingers to feel the dots. Another helpful tool to gain the understanding of program structure is the previews in Eclipse and Visual Studio Code that list symbols in outline form. These conveniences for people who are sighted are essential for screen reader users in gaining efficiency, because they cannot glance down through a screen all at once and gain a quick overview of what the code or reading material may communicate. EdSharp also has a way to jump among symbols. What It’s Like Working With Other Team Members All three said that once those around them become familiar with their disability that they have no issues communicating and working efficiently with others. They said that others are generally very willing to adapt their working style. All three say that they are able to pull their own weight as equal contributors to projects. When it comes to working on open-source projects or any that involve using Git and sites like GitHub, command line Git works well with screen readers, because it uses pure text and screen readers and command line environments are good friends. Advice For Would-Be Programmers I asked all three what advice they would give to anyone who is blind who would like to go into programming. Points mentioned were:
To that I say Amen. About the Author Jim Homme is a former professional musician, father of three, husband, and a 32-year veteran in Information Technology. He loves to read and play chess. He leads a team of accessibility testers at Bender Consulting Services. He is the owner of jimhomme.com, where he writes about Python and related technologies. |