If i went blind tomorrow I would invest heavily in:
1. Emacs and Emacsspeak in particular. Emacs is the richest text-based user experience out there; imagine if all Terminal apps were configurable and scriptable under the same coherent framework. This is why Emacsspeak is an incredibly valuable asset that I would lean heavily on in the event of vision loss.
2. I would invest heavily in making sure that I have a very trivial way to deploy Chrome user extensions or similar such that I could write my own screen readers, document explorers, etc. tailored to my own liking. The only thing close to Emacs is the DOM with JavaScript as it’s Elisp. A lot of people gripe about the web, but the fact that almost all my apps come under the same pliable DOM means I can manipulate without vision almost everything. See e.g. vimperator.
These two things mean that you could do most of your job as-is, with assistance from colleagues.
As you’re a full stack developer, you’ll find point 2 easy. And point 1 is hard but a worthy investment. Emacs is older than the web and will probably outlive it.
I would probably also look at using tree sitter to make screenreading code more efficient at the AST level, because code is parsed linearly but we read it with random access.
I’d start working with my screen turned off or covered with paper if I knew ahead of time, that way I could start training. Honestly, computing-wise I wouldn’t be that worried about losing my vision. It’s the rest of life that’s harder.
Best of luck to you! Drop me a PM if you’d like some pointers on my two bullet points.
> Emacs and Emacsspeak in particular. Emacs is the richest text-based user experience out there;
My naive expectation is that non-visual editors like ed and ex would be easier to use than visual editors like emacs and vi, but I'm curious to learn more about how people work here. How well do visual editors interact with screen readers? The screen readers would presumably need to offer an interface to reread parts of the screen, and this seems redundant with the non-visual editors that take commands to print like ranges.
Emacs has a unique feature as well, it can become the entire gui for anything you are trying to do; web browser, email client, IRC client, etc. all converted into plain text.
I even had it setup a few years ago to send and read tweets.
I go temporarily blind at various unpredictable times, so I'm not 100% in the non-visual bucket, but I am sometimes. (Simplifying grossly).
I find next to no difference between vim, nano, and Sublime Text for useability under a screen reader. You can focus, grab menus, issue macros, all the same.
For the most part, the reader won't jump back to re-read something to you, unless you ask it to. But you can make it jump between real panes and text panes in much the same way.
(There can be a little configuration involved, for both curses and graphics based applications, depending on your reader, but it's generally a one-time setup that someone else has done first.)
1. Emacs and Emacsspeak in particular. Emacs is the richest text-based user experience out there; imagine if all Terminal apps were configurable and scriptable under the same coherent framework. This is why Emacsspeak is an incredibly valuable asset that I would lean heavily on in the event of vision loss.
2. I would invest heavily in making sure that I have a very trivial way to deploy Chrome user extensions or similar such that I could write my own screen readers, document explorers, etc. tailored to my own liking. The only thing close to Emacs is the DOM with JavaScript as it’s Elisp. A lot of people gripe about the web, but the fact that almost all my apps come under the same pliable DOM means I can manipulate without vision almost everything. See e.g. vimperator.
These two things mean that you could do most of your job as-is, with assistance from colleagues.
As you’re a full stack developer, you’ll find point 2 easy. And point 1 is hard but a worthy investment. Emacs is older than the web and will probably outlive it.
I would probably also look at using tree sitter to make screenreading code more efficient at the AST level, because code is parsed linearly but we read it with random access.
I’d start working with my screen turned off or covered with paper if I knew ahead of time, that way I could start training. Honestly, computing-wise I wouldn’t be that worried about losing my vision. It’s the rest of life that’s harder.
Best of luck to you! Drop me a PM if you’d like some pointers on my two bullet points.