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
Comments
Not much of a problem
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.
Outside of Our Guidelines
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