Just learned about GridReader, a free tool for Blind programmers that might make it easier to explore complex nested code. My #Python experience is limited to experimenting with the BBC Microbit, and so far i've just set my screen reader to report indentation level. #Blind coders: how do you handle indentation and navigating complex code bases? Does GridReader seem useful? https://www.psu.edu/news/information-sciences-and-technology/story/new-coding-tool-could-aid-computer-programmers-who-are/?fbclid=IwAR1AFWy5E5XrPF8u__Lh3dke6AqTuhiNReqCIip0sarmGT1MppdFwHx4h74

@ChanceyFleet Honestly no, from reading the article. I know blind programmers that can fly when compared to sighted programmers, so saying that we often fall behind simply is not true. In fact, this is exactly why a lot of programmers (me included) have our speech rate up well past 800 words a minute (so we don't fall behind).

I've familiarized myself with loads of codebases over the years, and I think present tooling is plenty sufficient. VSCode is now fully accessible, meaning blind people now have access to a mainstream IDE. We also have tools for our screen readers to help us code better. As you mentioned, indentation with tones, and a handy little add-on called Indent Nav, that lets you treat indented code like a tree view.

This feels like another case of the Quorum programming language (obviously being a tool instead of a language), but same concept. A bunch of researchers that did some searching into how blind people code, and decided to make a hole new tool, without checking if alternatives are accessible/already exist. I appreciate the intent, but this is a really long winded way of saying no, I don't think its that useful.

@TheQuinbox Thank you so much for that context. Is IndentNav an add-on? And yes, some of the framing and assertions in this article were uncomfortable to read.

@ChanceyFleet [email protected] Yep, indent-nav is an NVDA add-on. Basically the way it works is this: if I'm in a text field, on a function, called do_work, and there's a function right below it, called work_harder, I can press alt+NVDA+down arrow to jump down to that function, and alt+NVDA+up arrow to jump back to where I was previously. It skips all the indentation between, and gives me audible feedback to indicate this. It also changes how long this sequence of sounds goes on for to reflect how much code I've skipped over, and how indented it is. Perhaps an audio demonstration would allow me to explain the feedback a bit better.

Now, lets say I want to go into the do_work function, but just see what's on the first indentation level. So, I press alt+NVDA+right arrow, and I'm put inside it (moved to the next block with more indentation than my current line). I can then use the aforementioned commands of NVDA+Alt+up/down to navigate statements, and I can keep doing this to find what I want really quickly. Its remarkably similar to a tree view.

Also, because we now have access to VSCode, a mainstream IDE, we get so many more tools. Want to know what a function expects? Control+shift+space, and its spoken. Want to see a definition? F12, boom. Etc.

@TheQuinbox @ChanceyFleet The fact that VS Code is fully accessible I believe is one of the best things that has happened to blind programming for a really, really long time. I think it's almost impossible to overstate just how great it actually is, and how receptive the team is to suggestions and ideas. I've been programming for much longer than VS Code has been around, but nowadays I can't really imagine going without it.
Other IDE's like Jetbrains stuff and Visual Studio are also accessible, as well as XCode, but so far, none of them beat VS Code. Especially with features like outline explorer, which I end up using much more than I expected, the sounds for errors on a line and folded code and so on that just come with VS Code out of the box and automatically get enabled if you're using a screen reader, the fact that hints like parameter hints, auto completion, the actual errors, etc. all get read, it's great. I would never want to miss it.
I see some really cool new ideas happening with code editing nowadays, but sadly, none of them seem to take accessibility as seriously as VS Code.
Sorry if I didn't add too much to the thread. I just wanted to rave about how awesome I think VS Code is.
As for languages, most of them are quite workable. I personally get lost in symbol noise, so I like a little bit of explicitness, but I know people who're the exact opposite of me, so I believe we have opinions that are based on quite similar things as sighted programmers. I don't think blindness has ever prevented me from using and enjoying a language. And if everything else fails, screen readers usually have quite capable speech altering support through the use of word or phrase dictionaries, symbol processing, etc. So you can customize it how you'd like. Things like turning "semicolon" into "semi", "left/right brace" into lace or race, () into NoParams instead of (left parenthesis right parenthesis", "exclamation mark" into "bang", etc etc.
@talon @TheQuinbox @ChanceyFleet Still haven't gotten used to VSCode yet. Tried it a few times, but always having to mess with browse mode or non-browse mode with NVDA and alot new keystrokes to learn distracted me from the actual coding work that I put it aside and continued as usual. I still have it on my todo list though, will have to get to it some day, although i'd really love to see a productivity list somewhere (all keystrokes gathered etc).
@ToniBarth I rarely have to use browse mode. I'd say a good 99 percent of what I do is done in focus mode. Using it with browse mode is a real pain, but it's also not designed to be used that way.
@talon Yeah, figured that out already, NVDA just seems to like switching back into browse mode from time to time for whatever reason and I haven't found a way to prevent that for at least VSCode only.
@ToniBarth for NVDA, there are settings under settings, browse mode. Automatic focus mode for focus changes, and automatic focus mode for caret movement. If you disable all this automatic stuff, it will stay in whatever mode you put it. Then add that to a configuration profile that activates for VS Code, and it should give you a lot less trouble.