Seeking suggestions for a programming package for a blind pupil

Other Apple Chat

Any suggestions for a programming package for a blind pupil wanting to be creative?



Submitted by Isaac Hebert (not verified) on Monday, March 2, 2015

Hi can you be a little more specific what kind of program software are you looking for?
Do you plan to use this on mac?

Submitted by vis on Monday, March 2, 2015

thanks Isaac. My pupil is 11. His class are using Scratch to learn basics of programming. Voiceover does not read Scratch which is very visual. So I am looking for a basic start to programming that can be read by voiceover on mac.

Submitted by Siobhan on Monday, March 2, 2015

Granted this was years back, and one / or > will mess you up, but you can always code in old HTML as I said tedious, frustrating, and at times will make you re-read the same thing to make sure you didn't screw up and you did. ;)

Submitted by splyt on Monday, March 2, 2015

This should be decided with their teachers.

For something very fast and not over complicated I would suggest python where the pupil can easily type the scripts in any text editor and run it dfrom the command line,.

Submitted by vis on Monday, March 2, 2015

Thanks Splyt.
Their teacher did not spot that Scratch was inaccessible!
I looked at python but it seemed complicated. Will try for a python primer.

Submitted by Mani on Monday, March 2, 2015

Can you check out the Codecademy app? It is free and is believed to be Voiceover friendly.
I haven't found the time to download and use it but plan to do so soon so I can see it for myself, if I can use this to teach blind students an introduction to programming.
I hope this helps. Please feel free to private message me with questions.

Submitted by Deborah Armstrong on Tuesday, March 3, 2015

JavaScfript, the client-side language of the web gets my vote.
Unlike Python, you don't need to worry about indents. But like Python, you can type it directly in any editor, as long as you save it back out as text.
There are a ton of accessible books on JavaScript; clearly a young pupil needs to read a beginner book like one of the Sams Teach Yourself JavaScript in 24 hours or some such. Check Learning ally and Bookshare for tons of offerings.
JavaScript can run in or out of a browser. Under Windows, you can run it in IE or Firefox or even on the command line as a Windows Script host macro, and on an iOS device, inside Safari.
Simple nongraphical projects include converting the letters in a phone number to digits, converting Fahrenheit to Centigrade, putting together simple quizzes (star trek trivia perhaps) or checking input strings for errors. A child might also enjoy its built-in date calculations; "how many days until Xmas" would be a fun program to write.
If you need more ideas looking at old books on programming in BASIC, rather than new books on programming for children is helpful. In current courses, graphics are emphasized for beginners, but older BASIC programming books featured many text-based problems for people learning to program.
Good luck!

Submitted by vis on Wednesday, March 4, 2015

Thank you to all those who contributed. We are starting with html. Voiceover seems happy and the little fella is too. Let's see where that takes us.

Submitted by workless on Sunday, June 14, 2015

I agree HTML is a good place to start. But he will want to move on to a programming language at some point. JavaScript is very popular but Python is becoming more popular for a broader range of uses by a broader section of the population (e.g. Scientists and data analysts, not just application developers).

Have you heard of the hobbyist computer Raspberry Pi? It is aimed at young children and has a pile of educational resources. They seem to have adopted Python as the preferred early-learner language. See their website:

By the way, I have a blind friend (adult) who wants to learn Python so if you find a good text editor/development environment that supports voice-over please let me know as we haven't found one yet.

Submitted by Codeofdusk on Thursday, August 13, 2015

For Python, I like this book - freely available and lots of problems! Tkinter, the GUI framework discussed in the last chapter, is inaccessible though.

Submitted by splyt on Thursday, August 13, 2015

BTW ..... my main questions regarding python web books is that python uses indentation and I have not figured out a way of making screen readers anounce indentation on the web. Because of that I can not follow the samples. How did you read this book?

Submitted by vis on Tuesday, March 8, 2016

A year later... Voiceover did not like... raspberry pi, sonic-pi, Python/Idle.
We are looking into Swift/Xcode but the whole issue is incredibly time consuming and there are few "tutorials" that can be followed by a blind user.
Anyone with experience, please chip in to this discussion.

Submitted by Jim Homme on Tuesday, March 8, 2016

Does your student use Mac or PC? If PC, both NVDA and JAWS indicate indentation, if you still want to use Python. I am not a Mac user, so I can't comment about what VoiceOver does with indentation. I also recommend something as simple as Notepad for PC to start with, because the learning curve to use the text editor is 0. You would want to simplify at least the environment part, because the programming part is going to be a big enough learning curve..

If your student really is bored with the command line, I think they could go ahead and learn HTML, and then, especially learn HTML forms, and interacting with them with JavaScript, so they can have fun with doing things like filling out forms and such. Plus, it's much more fun to have a text editor and immediately look at your work in a browser, than it is to do something and have a console mess of content go flying by, with little chance to review and debug it.

Submitted by Orinks on Wednesday, March 9, 2016

For learning Python, I recommend Learn Python the Hard Way.
LPHW does not have any figures or visuals, perfect for the blind learner. TextMate is also a good, accessible programming editor. I will also take a look at Smultron 8.
One of the reasons why programmers prefer these specialized editors over regular Notepad, for example, is because they provide Syntax coloring. NVDA, Jaws etc on Windows can determine color of text with a setting I believe, but can VoiceOver? If it can, using these editors would be a lot more compelling, aside from the other cool features like text snippets.

Submitted by Travis Roth on Wednesday, March 9, 2016

If a more simplified, .e., non-coding, package is wanted just to practice the basics of learning logic consider the iOS app Workflow. It is accessible with VO. The one downside is you have to get good with drag and drop but it is accessible to do. And its possible to even go as far as learning what variables are for.
Anyone tried Pythonista?

Submitted by vis on Wednesday, March 9, 2016

many thanks for the immediate feedback and practical suggestions.
One of the immediate issues we have is that we cannot get VO to read inside the text editor.

Submitted by Jim Homme on Saturday, November 26, 2016

Which text editor on which platform?

Also, someone had a question about reading web code and downloading and playing with it on the computer, while preserving indentation. When I want to do this, I use my screen reader to get the code onto the clipboard and onto my computer in a text editor. Next, I check to see how many spaces the code uses for indentation. Finally, I replace that number of spaces with a single tab globally. Then I save the file and go to the command prompt, and type the word python followed by the name of my file, such as python Most of the time, if I get any errors related to indentation, they are very easy to fix because the Python interpreter tells me which lines those errors are on. Fortunately, that happens very infrequently. If the sample code compiles, it runs, and I can see how it works by using the sample file. Then I can go back into my text editor and save it under a new name. This way, I can play with it and change it, and I don't have to go back to and get the original again. If I get mixed up and break something I don't know how to fix, I can start again. The reason I use tabs is that at least on the PC, if I put one of my screen readers into the mode where it reads all punctuation, it tells me how many tabs appear at the beginning of each line I arrow up and down to, and that helps me know which level of indentation the line has. Then, if I have to share the code with someone who wants spaces instead of tabs, I just do a global search and replace on the number of spaces, replacing a single tab with the right number of spaces, save my file, and I'm done.