Nearly two months ago I posted a thread here about a work in progress third-party screen-reader called Vosh with a teaser video to gage the interest of the community. Given that the feedback I got was overwhelmingly positive, and considering that the code that I used to make the video was an unmaintainable hammered down mess built in just a week, I started over from scratch in an attempt to make something more elegant, and finally today I am following through with my promise to make it free and open-source.
The source code for Vosh is now available on my GitHub profile. It doesn't do a lot more than the original version used in the teaser did, but I was eager to make the code available to the public even if it's not as elegant as my perfectionism requires. I don't expect anyone to contribute to or even try it at the moment since development is still in a very early stage, but if you'd like to contribute I wrote down a list of major issues that need addressing in the project's README.md file that is displayed on GitHub. Contributions aren't just about code, as you can, for example, help me figure certain things out that don't require any code, like the patterns to distinguish interesting elements from non-interesting ones as I mentioned in the README file.
While I'm very serious about working on this project, I cannot guarantee that it will go anywhere since Apple's documentation for more obscure or lower level interfaces is nigh on non-existing, and thus and it is possible that I might end up bumping into an obstacle that I cannot overcome. In any case I'd like to thank the community for the positive feedback and demonstration of interest that I got on the other thread, and in the event that I stop working on it due to my own incompetence, I hope that at least my research helps someone else to develop a third-party screen-reader that can compete with VoiceOver.
Comments
Love to see it
Can’t wait to dig in and see what I can contribute
About to download it now!
Can’t wait to see how your source code works in certain applications. As you’ve mentioned it’s a work in progress, but still can’t wait to mess around with what could be a future third-party screen reader for Mac.
I’m not a coder myself, but would love to become one, but I will leave any and all feedback to make this as great as Voiceover if not way better.
Been procrastinating
The main branch is very outdated, as I concentrated a lot of updates in the interesting-element-criteria branch instead. To try them, and assuming that you cloned the repository using git, you'll have to type the following to switch to that branch:
Then you can compile and run it as usual.
Beware that, if you are using an ad-hoc code signature, which is what happens by default, and you have already tried running the project, you will have to remove Vosh from the list of allowed accessibility apps in System Settings and let Vosh re-add itself.
I'm working on a huge overhaul to make the code easier to maintain as I become more familiar with the accessibility framework, and will also be merging the interesting-element-criteria with the main branch as I'm already happy with the heuristic that I found to determine which accessibility elements are interesting, but the new code is not yet ready to publish because I've been procrastinating a lot lately. As far as functionality is concerned, the interesting-element-criteria branch has everything that I will be including in this update, but the structure of the code will be a lot different.
So far I've found that, using the navigation strategy implemented in the interesting-element-criteria branch, there are already conditions in Safari where Vosh works better than VoiceOver, though these are very limited as there's still a lot left to do.
Agree
NVDA is one of he best things to ever happen to Windows. I would kill to see a Mac equivalent. . .
Brilliant!
This is wonderful. Can't wait to dig in