Accessibility - Running NVDA on a Mac

14th August, 2020


For the past month I’ve been work on an accessibility project. There are three major screen readers

Given that JAWS is pretty pricey and has a steep learning curve I have mostly been focussing on getting everything running well on NVDA and VoiceOver and getting support from other members of the team to check JAWS.

For the past 8 years I have been working on a Mac. Whilst there is VoiceOver for Mac (which is not the same as VoiceOver on iOS) NVDA is not available and only runs on Windows. To get this running required a bit of work that I couldn’t find documented anywhere else. So here it is for you and future me.


  1. The first thing is to get a copy of Windows so that we can run in VirtualBox locally. Luckily Microsoft provide Window 10 images for testing browsers on Windows. They expire after 3 months but saves £150.
  2. Once you have Windows then you also need VirtualBox. If you have homebrew you can install it with brew cask install virtualbox.
  3. Now you need to load and boot the virtual machine.
  4. Download and install VirtualBox extension pack into the VM.
  5. Stop the VM.
  6. Alter the VM Settings and under the audio tab.
    1. Enable Audio
    2. Set the Host Audio Driver to CoreAudio
    3. Set the Audio Controller to Intel HD Audio
    4. Under extended features ensure that Enable Audio Output is checked
  7. Boot the VM and the audio should be working now. You can prove it by visiting YouTube or something similar.
  8. Now, within the VM download NVDA
  9. Install NVDA

Now you can use a browser and see how it is read by NVDA.

Optional extra - Getting NVDA to read multiple languages correctly

  1. With NVDA running you can right click on it running in the task bar and select Preference > Settings
  2. Under the Speech section you need to set the Synthesizer to eSpeak NG.
  3. Now it should respect the element and html language attribute to determine how to read the text.