Looking for tips and resources on programming with Xcode and VoiceOver

App Development

Hi all,

I’m an iOS/Mac software developer and have developed a vision problem that may prevent me from effectively using a computer monitor. (I get dizzy after using the monitor for longer than an hour or two. The problem remains unresolved after multiple doctors, meds and vision therapy.) I’m exploring the possibility of relying on VoiceOver and possibly voice-to-text for input and I understand there is a small community of developers who do just that. I was wondering if you had any advice on the subject or resources you could recommend.

Specifically, I’m wondering how to get started. How does one learn to navigate in general using a screen reader/voiceover? Is there a methodology of some sort? Are there programs or tutorials of some kind? Just diving in and floundering around doesn’t seem like the best way to do it. Also scary. I already know how to use Xcode, etc and how to be a developer, I need to learn how to use it (and the mac in general) primarily via voiceover. Any ideas or resources you may have would be greatly appreciated.

Thanks for your time.

* Rich



Submitted by Dave Matters on Saturday, January 19, 2019

I am in the opposite camp. I use VO and want to learn to code. I would suggest starting with the Voiceover User Guide:

I hope this works as a good starting point. Also, ask any more questions you may have.

Submitted by Rich B on Tuesday, January 22, 2019

Thanks for that, I'll definitely check it out. Also wondering if anyone has any advice on how to go about the learning process. I can just turn it on and try to use it, but are there any methodologies on how best to get comfortable using it? It feels a bit overwhelming. Are there drills or exercises or something of that nature to ease in to it? I'm able to use the monitor for short periods of time, so I can find myself if I get lost, but it just seems like I don't know where/how to start for actually relying on it for everyday use.

Submitted by Dave Matters on Tuesday, January 22, 2019

It is always best to have a plan. As you already have certain things (checking email, reading your favorite website, checking on a stock) I would say start with one of these. Just turn off the screen and use Voiceover. Check out the VO basic navigation commands, and just start by practicing navigating around these windows and apps that you know. A couple of handy keystrokes to help:
VO = control + option

VO + K turns on voiceover keyboard help. Press keys and will here what they do.
VO + h brings up voiceover help.

I am still learning Voiceover for the Mac. I have used it for years on iOS, but it is a whole other beast on the Mac. The first thing I did was walk through the accessibility settings for voiceover and then walked through the VO utility to get a feel for how I wanted everything configured and get an idea of what all options and features there are. I still go back and tweak them. I am trying to look up a lot of things in Safari to get extra practice there, and have a document for notes on the desktop. I am assuming you are familiar with the Mac just not so much voiceover. I hope this rambling helps.
Dave ...

Submitted by Humberto Avila on Wednesday, January 23, 2019

Hello Rich:
I completely understand right now you would just love to jump in and start coding with xCode and VoiceOver already. I can assure you, I am pretty certain there is a steep learning curve, coming from the seeing of the screen scheme of things to using a screen reader. If I were you, I would probably (and definitely) start learning the basics of VoiceOver to get acclimated to it.
There is a very handy-dandy section on the home page of this Applevis.com site called, "Getting Started with your First Mac, iOS or Apple Watch." I would go on and explore the "first mac" entry. Then I would try to read the awesome guides and listen to the tutorials posted there. They come in useful.
While you still have some usable vision left, I would say start looking at this site's above-mentioned section and start practicing the commands and all of that, so you can become familiar with this screen reader. I myself am doing that, since I want to get a Mac computer in the near future. It is so useful.
It may be a learning curve but if you just practice over and over just a little bit per day or days, you can learn it to the point where you can become a pro at it and start doing your programming.

Submitted by splyt on Wednesday, January 23, 2019

Other people said it ... do not try to start coding before you know the way a screen reader works. Go study some of the commands and start practcing with simple goals such as navigating your desktop, file system, some accessible websites. Once you can do it reliably then turn of your screen (activate trackpad commander and then tap three times with three fingers) (do not try to do it now, otherwize you might and very likely will get lost) and try the same things. You will have a lot of questions during this learning period ... We will be helping you during your learning on this process. Then and only then you will look at xcode. Be aware that iit is doable, but it is confusing enough even for us experienced screen reader users and programmers ... so one step each once and you will get it.

Submitted by Basia F on Saturday, March 9, 2019

There is another part of the story that was not mentioned yet, but can be challenging. That is, you may find yourself tired after using a screen reader for some time. Since your vision was fine before your condition kicked in, you are not used to receiving audio input only. Unfortunately patience and small increments is the only way here. Just allow your brain to adapt to the change. Some of the initial confusion can stem of that simple fact. The things your eyes did swiftly, now your ears have to do. Give yourself time and the confusion will go away.
As mentioned above: simple steps. And I would add: in small increments. Write an e-mail. Find a file. Browse a webpage. And don't tackle all commands at once. In most circumstances you wouldn't need all of them. Some are more useful than others.
I know people recommended you should get to Xcode later in the process. And actually it's a sound advice. However, the logic of UI elements and building interface can be helpful to understand why those commands are there in the first place.
VoiceOver is very logical in the way it presents UI elements. It's behaviour is correlated to the way elements are displayed or grouped together. For example a button in a toolbar. To use a button, you normally navigate to the toolbar, interact with it and click the button. Even visually you may easily distinct what button is in what toolbar. That's the main logic here.
To use another example: as a programmer you know, that the TextView is embedded in a Scroll view. So with voiceover you would have to interact with the ScrollView first to get to the TextView and so on. Your experience as a programmer can actually help you learn voiceover. Just imagine the logic behind it and you will do just fine.
Hope that helps.
Take care

Submitted by Rich B on Monday, March 11, 2019

Hey all, thanks for the replies. I definitely find that going in small increments helps. It's a little frustrating, but that's the way it is. I do find that understanding how UI is laid out helps with understanding how Voiceover lays out as well.

I'm thinking that the hardest part when all is said and done will be code comprehension - being able to build a mental model of code from having it read to me, rather than looking at it. As it stands now, I can look at code almost like a picture and get a general sense of it by visually scanning it. Now I'll need to get that sense via voice. It will be interesting to see how that works. If anyone has suggestions in that regard, please let me know.

Thanks again,

- Rich

Hey Rich!
Made some progress?
I'm just a beginner at coding, but I get the feeling that all those brackets and parenthesis can be overwhelming, especially when spoken and not seen. And since I am blind only for few years, I can relate to your musings on some level. The best I came up with so far when it comes to code comprehension is adding more comments than usually. I add some after every closing bracket of any code longer the 2 or 3 lines. Just to remind myself what code block ends where. Stupid way, maybe even irritating for some, but works and helps me avoid unnecessary errors. Oh yeah, I know, when working with others those comments should probably not be there, but for now I need them.

Submitted by Basia F on Tuesday, September 3, 2019

Hey Zinadoll :)
VoiceOver has a nice guide for beginners. It helps in explaining some basic concepts on how to use it. And there is a logic to it, see my earlier post on this thread. You start by simple commands to navigate your computer, home folder, read e-mails, browse the Internet, interact with UI elements. The guide has you covered there. After that you just practice, practice and, did I mention it? - practice some more. Small steps, small increments, slowly, at your own pace. Getting used to auditory info alone can be a pain... There are also amazing resources on this website, so help yourself and explore.
Good luck :)