Hi all

I’m a Software developer that recently made a complete switch from Windows to mac. I have very low vision and use a combination of Voiceover, Zoom and inverted contrast.
I thought I’d write up a few tips/suggestions that made me just as much if not more productive in Mac OS using voiceover than on Windows using NVDA.
I decided to do this as I read of/hear of many blind/low vision users that switch to running windows on Bootcamp or a VM as they can’t get comfortable with voiceover or think that voiceover can’t perform some task/s NVDA can etc etc.
Initially when I got my first Macbook pro in 2011 I did the same (installed Windows using Bootcamp) as I couldn’t get comfortable with Voiceover having used JAWS at the time

Things have changed quite a bit since then (Especially in the last year) to the point where I am now able to do my work (Full Stack Web/mobile development) on a Macbook air using Voiceover.
I met a developer online a few weeks ago who was/is busy losing his vision and I had a call with him where I showed him how I go about performing certain tasks which made me think it might be a good idea to post this as I struggled a lot to get to this point and hopefully this might help someone at some point…

Instructions for Mac OS X If you have OS X 10.3 or higher, try downloading the Brain Workshop 4.8.1 application bundle for Mac OS X (Universal PPC/x86). Alternatively, use the source distribution as described below. Note: Some users have reported issues with Brain Workshop on Mac OS X 10.3.9. Release 10.4 or higher is recommended. Brain Workshop works on Windows, Mac OS X and Linux. Since its initial release in August 2008, Brain Workshop has been downloaded over 775,000 times! New to Dual N-Back? See this Wired article for an introduction to the Dual N-Back exercise and its benefits. Read the original research paper by Jaeggi, et al.

I believe the Mac version of Brain Workshop consists of the original Python version wrapped in an executable launcher. The launcher portion no longer works in Catalina, but the Python version should still work if the correct packages are installed. Indie games developer Chris Mayer has announced the release of Brain App for Mac, a desktop port of his iOS hit game Brain App XL, from which the Mac version borrows pretty much every aspect.

My voiceover settings: (personal preference however I’ll try justify my reasoning for every setting)
Please note: I only listed the settings I changed.
VO category: General:

Keys to use as the VoiceOver modifier: ⇪
- Not sure why anyone would want to use the alternative 2 keys (CTRL + option)

Allow VoiceOver to be controlled with AppleScript (ticked)
- This allows apple scripts to control voiceover e.g. (keyboard commander + t) will read the date and time.

Category Verbocity:

tab: speech

Default Speech Verbosity: low
- This is personal preference and maybe better for someone just starting out to set to a higher level.

tab: text

Punctuation: some
- again personal preference…

While typing speak: nothing
- I’m comfortable typing and don’t need voice feedback every time I type something.

Brain Power Mac OS

When moving the cursor: Speak text that the cursor passes.
- I definitely need feedback while moving the cursor through a document.

When reading a capital letter: Play tone
- I find this easier to follow than the alternative pitch change.

Append phonetic pronunciation to single characters (ticked)
- Some characters sound very similar sometimes so this can be useful when navigating by character.

Brain Power Mac Os Catalina

tab: anouncements:

Speak size and position in:milimeters
- Personal preference…

category: Speech:

voices tab:

I am using the Tessa compact voice with rate set to 100% (Again personal preference)

Pronunciation tab:

I have to read through a lot of code using Voiceover and I added a few Pronunciations which makes it sound similar to the synthesizer i’m used to (Eloquence).

My Pronunciations (symbol followed by Pronunciation text:

- dash
. dot
“ quote
( left paren
) right paren
{ left brace
} right brace

Category: Navigation

Grouping behaviour: Ignore groups
- Groups only waste time and make Mac OS with voiceover feel like more work than it should. With this setting when I enter a new finder window I can start navigating right away instead of first needing to interact with the main view…

Mouse pointer:: Ignores VoiceOver cursor
- This setting could/should probably be changed dependant on the specific scenario however having it set to ignore VO cursor is probably best for most scenarios…

Allow cursor wrapping (unticked)
- If cursor wrapping is allowed it sometimes causes issues with the ignore groups setting above.

Enable fast searching: (ticked)
- I have the key set to the default (right cmd key) this allows me to speed up interactions with dialogs e.g. If Safari asks me to allow downloading from a certain site I hold right CMD and press a for allow, Voiceover focus then jumps to the allow button and I can just hit space or VO perform action.

Category: Web

tab: Navigation

Navigate web pages by:: DOM
- Not sure why they even have another setting here as it doesn’t make sense to re-arrange a web page from the way it was created as it can get quite confusing…

Speak column and row numbers When navigating web tables: unticked
- Personal preference however I can count and rarely navigate tables with 100+ lines where it’s important for me to know the row/col number…

Enable Live Regions ticked
- I wish there was a way to toggle this setting as this can get quite verbose in some instances e.g. Microsoft teams.

Always allow keyboard commands to navigate websites ticked
- This allows me to navigate and select text in web pages on Safari, chrome and Firefox like I’m used to in Windows using the arrow keys where holding option key + left or right arrows would navigate/select by word, CMD + up/down arrows by line etc…

Category: Sound

Enable audio ducking unticked
- I unticked this as Audio ducking would happen at random when browsing the web.

Category: Visuals

tab: panels

Display spoken text in a caption panel: (Unticked)
- This only adds unnecessary clutter.

category: Commanders

tab: keyboard

Enable Keyboard Commander: (ticked)

I have the keyboard commander set to right option key and have the following commands set:

c: Command Open Application: Microsoft Teams

.: Command Go to Linked Item
- - This helps me to jump to the main content in Safari easier/with one hand as I often prefer to use one hand to browse the web.

/: Command Perform Action for Item
- This allows me to perform the VO + space bar command to activate/click the item in the voiceover cursor using one hand.

e: Command Open Application: TextEdit
- Very convenient to quickly open the text edit application.

g: Command Open Application: Google Chrome

i: Command Open Application: IntelliJ IDEA 2021.1 EAP

p: Command Open Application: ExpressVPN

r: Command Open Utility: Terminal

Brain Power Osu Map

s: Open Application: Safari
v: Command Open Application: Visual Studio Code

tab: quickNav

Enable Quick Nav: (ticked)
- Very important for navigating in general (especially in a browser with single key navigation turned on)

Allow toggling of Quick Nav using left and right arrow keys: (ticked)
- Toggling quickNav is probably the most frequent action I perform, will explain/expand on this below.

Enable single-key web page navigation when using Quick Nav: (ticked)
- Extremely important for navigating any webpage…

in dialog Assign commands:

modifier key: Single keys

I added the following shortcuts/mappings:

/: Command Find Next Searched Text.
- This makes it easier to jump to next search text online, One example of where I use this is on reddit. With quickNav enabled I search for ago and then press / to jump to the next match which means I can then press the right arrow to hear/read the next comment.

?: Command Find Previous Searched Text
- Same as above only ? jumps to the previous search text match.

.: Command Find Next Auto Web Spot
- This makes it easy to jump to the next auto web spot using one hand, I use this very often especially on sites with articles to jump to the main article content (However it’s sometimes hit or miss with auto web spots)…

category: activities.

I added an activity called code which I use when reading/writing code, I changed the punctuation to all and set this activity to active whenever I open Visual Studio Code, IntelliJ Idea or Terminal

Some general tips/ways I go about things.

Browsing the web:
I’ll press right option + s to open safari.
Then I’ll enter my search text or the URL I want to navigate to.
When the page has loaded sometimes focus will be in the main HTML content sometimes not, if not I’ll press my keyboard commander shortcut (right option + .) to jump to linked content (In this instance the HTML page).
With quickNav and single key navigation turned on I’ll press h to jump to different headings or . which I mapped to jump to next auto web spots.
When I reach the section I want to read With quicknav turned on I’ll press the right arrow key to read the next section (seems like it reads by paragraph)…
If I want to read by line or copy text I’ll turn off quickNav and use the arrow keys to navigate or select text.

Work/Software development:

For all my frontend work I use Visual Studio code which as far as I can tell is fully accessible with Voiceover.
For all my Java/Kotlin/Backend work I use the latest EAP release of IntelliJ Idea. After years of complaints Jetbrains finally invested a good amount of effort to make IntelliJ idea accessible and the latest EAP version is almost completely accessible with the odd issue here and there (If anyone finds a issue please report it on their bug tracker.

Terminal work:

This is the one thing that Voiceover does much better than any Windows screen reader.
When I enter a command in Terminal I turn off quickNav type the command and press enter.
If I want to then read the output I turn on quicknav interact with the shell and use the up/down arrow keys to read through the output.
I can select the current line/word by pressing VO modifier + shift + c which copies the last spoken phrase to the clipboard.
I can also select by pressing VO modifier + enter which makes voiceover play the drag sound, I can then navigate around using quicknav to select precisely up to the point I need to.
I can then press VO modifier + enter again and voiceover will jump out of selection mode, then I press CMD + C to copy the selected text to the clipboard.
If I’m reading through a very long stack trace/log file I can turn on quickNav and search for a text string e.g. “Caused by” which is extremely helpful/saves a log of time.

I installed the TDSR screen reader and it seems promising however it’s pretty useless as it’s not possible to read more than one terminal screen/ it can’t scroll up and down the window so pretty pointless unless you want to only read a few lines at a time and I see a issue on github someone created years ago without any response from the creator so…

The only thing I sometimes still miss on Mac OS is the eloquence Synthesizer as there’s no Mac OS equivalent that comes close in terms of speed/clarity… I tried the version someone posted on their website that uses Wine but it didn’t work on Big Sir with a M1 macbook air at all unfortunately (If anyone has managed to get this working please leave a comment).

It took me 10 years on and off to get to the point where I feel like I can get work done on Mac OS and be more productive on windows, I think when it comes to Voiceover it’s an amazing screen reader however the tutorials/guides online doesn’t go into nearly enough detail and seem to be aimed at very casual users in general e.g. people that read emails/do some casual web browsing so I hope someone finds some use/value in this post…
I’ve read a few blogs where authors suggest that Voiceover is old/needs a rewrite but I think it again comes down to those authors being used to another OS/screen reader and not learning Voiceover end to end (Which does take some time/effort).

To Justify the title (Why I now feel more productive on Mac OS than on Windows):
- It’s way less rare for voiceover to crash/stop reading anything which happens way too often on Windows with those third party screen readers.
- If the above ever happens it’s as simple as VO + F5 twice to get voiceover back and I haven’t yet encountered a time when that didn’t work where often on Windows I have to sign out or restart my laptop to get NVDA back…
- The Zoom magnifier on mac is way better integrated and never in the way.
- Siri is amazing at finding what I want e.g. keyboard settings which spares me searching through System preferences to find some setting/category.
- All the shortcuts for applications etc makes things VERY fast.
- Something I haven’t mentioned is hotspots which helps a lot when there are several regions In an application I need to jump to on a regular basis.
- The macbook air M1 doesn’t have a fan and I haven’t managed to get it hot at all where my Dell XPS Windows laptop sometimes doubles as a room heater/the fans turn on when the laptop turns on…
- The fingerprint reader and password autocomplete using Keychain is amazing/saves a lot of time.
- Overall very good quality components/machine compared to most Windows counterparts.
- I can mention many more but this post is already VERY long…