Funny enough, I was imagining patterns used in “visual” programming languages might be helpful for people who use screen readers.
That is - make valid syntax and its composition first class UX entities, rather than just a freeform stream of hopefully parseable text.
Strictly visually programming languages can be pretty tedious, but maybe some hybrid where symbols/names can be keyed in, but scoping elements such as a function definition, a module scope, and maybe a parenthetical would be added as an indivisible unit.
There was a bit of a learning curve, but actually the interface isn’t bad if the software is built for it.
When it’s not though, it’s absolutely agonizing.