Exploring the Experience of Blind Programmers Using VoiceOver and Xcode on macOS

By Michael, 20 October, 2026

Forum
macOS and Mac Apps

Hello AppleVis community,

My name is Michael, and I am currently a participant at Apple Developer Academy @ BINUS in Tangerang, Indonesia.

I am exploring the challenges blind and low-vision people may experience when learning and practicing programming on macOS, particularly when using VoiceOver and Xcode.

I am interested in understanding how developers who rely on VoiceOver navigate code, understand its structure, identify errors, and build a mental model of an entire codebase. For example, reading code line by line may provide the content, but I would like to better understand how users navigate relationships between functions, conditional statements, loops, and other nested structures.

At this stage, I am conducting exploratory research rather than promoting a finished product. I want to learn from existing experiences and resources before making assumptions about what needs to be built.

I would greatly appreciate your insights on a few questions:

What are the most challenging aspects of learning or writing code with VoiceOver on macOS, especially when using Xcode?

Are there existing guides, tools, communities, or research projects that you would recommend for blind programmers learning to code on a Mac?

Are there particular challenges in understanding code structure or navigating larger codebases that remain difficult to address with existing tools?

If appropriate, are there community members or experienced developers who might be willing to share their experiences in a short research conversation?

I understand that blind and low-vision developers have different workflows and preferences, so I am not assuming that everyone experiences the same challenges.

My goal is to learn from the community and better understand the existing landscape before exploring possible approaches.

Thank you for maintaining such a valuable resource and community. Any guidance or references would be greatly appreciated.

Best regards,
Michael
Apple Developer Academy @ BINUS, Tangerang
Indonesia

Options

Comments

By Choom on Tuesday, October 20, 2026 - 14:45

I've been sighted before, and the way I explore new undocumented codebases these days is almost identical to what I did back in my sighted days: I challenge myself to build a feature or fix a bug, and then try to make sense of the file and directory structures of the codebase to find the right place to start my research, after which I set a breakpoint on a function containing the code that I expect to be called and trace calls with the debugger. I do expect types, functions, and variables to be named appropriately so I usually don't care about learning how a function does something and just step over function calls, but if I do want to learn how something works at a lower level, I step in instead. If I find myself completely lost I just script the debugger to log all function calls as I perform a specific action on the running code.

By Michael Hansen on Tuesday, October 20, 2026 - 16:36

Member of the AppleVis Editorial Team

Hi Michael,

Posting this here as much for you as for anyone else reading this in the future. Per our Community Agreement, announcements about surveys, research projects, trainings, meetings, and similar activities are not permitted.

If I have misjudged your post and you are an end-user looking for support, please update your post to make this clear. Otherwise, I request that you please remove the post utilizing the "Delete" link.

Thanks,

Michael

Hi Michael,

Thank you for clarifying the community guidelines. I didn't know that announcements about research projects and recruitment are not permitted.

My intention was to learn about existing VoiceOver and Xcode workflows for navigating Swift code structure, rather than to promote a product. I understand that this does not necessarily make my post appropriate for the forum.

Could you point me toward an appropriate channel or resource for learning about this topic, if one is available?

Thank you for your guidance.

Thank you, this is really useful. Could I ask how you learned to work this way? When you were first starting out after losing your sight, was there a period where reading code felt harder, and what helped you get past it? And does this approach work as well in Xcode with VoiceOver, particularly with SwiftUI, where a lot of code is nested closures without obvious names?

I learned most of what I know, including how to navigate huge codebases, still with sight; things didn't change much after I went blind. I was kinda lost for the first 5 years not knowing how I would be able to code again, but that was mostly a psychological barrier. Eventually I was challenged and got the hang of coding without sight very quickly. These days I mess around with things that most people would consider impossible for a blind programmer, like computer graphics and computer vision; the former is just math and spatial awareness, which is useful to create virtual worlds where I can train models for the latter.

SwiftUI follows a declarative paradigm, and views are usually not massive, so they are easy to follow. VoiceOver can be configured to announce indentation, and correct code can be reindented, so it's not something that I find particularly challenging.

Xcode also provides custom rotors to jump to the next function, error, warning, or mark, as well as support for annotations and bookmarks. It also used to provide a class navigator that showed all the types and functions in a project in hierarchical order, but that was replaced by the bookmarks navigator a while ago. Then there are the keyboard shortcuts that you can use to jump around quickly including in source files, like for example when execution stops for a reason you can quickly jump to the program counter, from which you can step out until you are at the desirable level of abstraction.

XCode is the only area where voiceover still shines, because guess what, apple invest time and engineering resources. And they don't put even half of comparable effort anywhere else on mac and voiceover where accessibility is an issue in their own 1st party apps.

Hi Michael,

In reading your post and follow-up comments, it is not immediately clear to me whether you are seeking help with something you are working on yourself or whether you are conducting research into the experiences of blind programmers.

The subject of your post itself is certainly within the scope of AppleVis. What we do not want, however, is for AppleVis to become a place where people routinely recruit community members for studies/surveys, or use their responses as part of research.

In any event, given that your question has already received some helpful responses from two topic experts in our community, I am happy for the discussion to continue.