---
title: Testing Accessibility on Windows with VirtualBox
description: >-
  Accessibility testing when working on a Mac is easy. But how do you test
  accessibility on Windows? Use my Accessibility DIY Kit!
language: English
url: 'https://voorhoe.de/en/blog/testing-accessibility-on-windows-with-virtualbox/'
---

Blog

# Testing Accessibility on Windows with VirtualBox

By [Bas](/en/team/bas.md)

18 September 2019

## Categories

* [Accessibility](/en/blog/tag/accessibility.md)

- [Setup](#setup)
- [How to build your own Accessibility DIY Kit](#how-to-build-your-own-accessibility-diy-kit)
- [Screen readers](#screen-readers)
- [Keyboard configuration](#keyboard-configuration)
- [Hight contrast mode](#hight-contrast-mode)
- [VirtualBox snapshot](#virtualbox-snapshot)
- [How to use a screen reader](#how-to-use-a-screen-reader)

How I made an Accessibility DIY Kit for Windows.

As a front-end developer, I like to make the projects I work on [accessible](https://www.voorhoede.nl/en/services/accessibility-review/ "accessibility review"). This includes testing in different kinds of screen readers, because, just like browsers, every screen reader has its quirks. As I work on a Mac, [testing in VoiceOver is ](https://www.youtube.com/watch?v=5R-6WvAihms)[easy](https://www.youtube.com/watch?v=5R-6WvAihms). However, how do you test screen readers for Windows?

## Setup

The setup you need makes use of the virtual machines that Microsoft makes available for browser testing. As these contain full versions of Windows, you can install any compatible software on them, as well as configure the OS to your liking. I installed two screen readers on this virtual machine, and turned on High Contrast mode. This is a simple ‘productivity hack’ to be able to get more reliable results from my accessibility tests.

This is what it looks like:

[play video](https://vimeo.com/360802289)

[Testing Accessibility on Windows with VirtualBox](https://vimeo.com/360802289)

## How to build your own Accessibility DIY Kit

[Download a virtual machine from Microsoft](https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/). I recommend IE on Win81, as not everybody uses the most up-to-date version of accessibility software and operating systems. Install the virtual machine in your virtualisation software of choice. I use [VirtualBox](https://www.virtualbox.org).

## Screen readers

After starting up the virtual machine, we are going to install some software.

* First, [download and install NVDA](https://www.nvaccess.org/download/), a free open source screen reader. In the installation prompt, click the button ‘Install NVDA on this computer’. In the next prompt, deselect ‘Use NVDA on the Windows logon screen’.
* Next, [download and install JAWS](https://support.freedomscientific.com/Downloads/JAWS). JAWS is commercial software, but offers a 40-minute trial mode in which you can use the full application. After installation, check ‘Do not show this dialog again’ and press the button ‘Continue to Run in 40 Minute Mode’.
* Finally, download and install Firefox. Most screen readers work best with a specific browser. JAWS works best with Internet Explorer, and NVDA works best with Firefox.

## Keyboard configuration

JAWS uses the INS (Insert) key for some functionality. Since my MacBook doesn’t have an Insert key, we have to map another key to it:

* [Download and install SharpKeys](https://github.com/randyrants/sharpkeys/releases). Once it loads, map the Insert key (left column) to another key (right column). I chose the right Cmd key, as this key is not used in Windows for any important actions. Click on the button ‘Write to Registry’. Restart the virtual machine, and your new key mapping should work.

![SharpKeys: Edit Key Mapping. On the right 'Map this key (From Key): Special: Right Windows (E0\_RC). On the left: To this key (To Key): Special: Insert (EO\_52).](https://www.datocms-assets.com/6524/1568814334-sharpkeys-screenshot.jpeg)

Map the right Cmd key (Special: Right Windows) to the INS key (Special: Insert)

* For NVDA, you should tick the option ‘Use Caps Lock as an NVDA modifier key’ in the start screen. This way you can use NVDA with your laptop keyboard.

## Hight contrast mode

Next, we are going to set up high contrast mode.

* Click the Windows Start button, then select 'Settings' (the ![gear](https://www.datocms-assets.com/6524/1568808120-windows-settings-icon.jpg) icon) → 'Ease of Acces' → 'High contrast'.
* Choose the 'High Contrast Black' theme. Click on ‘Apply’.

As Firefox doesn’t completely take over the hyperlink colours like Internet Explorer in high contrast mode, we have to make those more visible.

* Open Firefox, and go to 'Options'.
* Under 'Fonts and Colors', click ‘Colors…’.
* Pick yellow for 'Unvisited Links' and green for 'Visited links' to use the same colours as in IE.

![Edit Colours screen. Text and Background. Link Colours. Override the colours specified by the page with your selections above: only with high contrast themes.](https://www.datocms-assets.com/6524/1568815325-firefox-high-contrast-mode-colours.jpg)

Alter the colours for high contrast mode in Firefox

## VirtualBox snapshot

Finally, we want to make sure we can keep using this setup since Microsoft’s virtual machines can only be used for a maximum of 90 days.

* In the navigation bar of VirtualBox, click 'Machine' → 'Take Snapshot…'.
* Give your snapshot a name and click 'OK'. When powering off the machine, always make sure you select the checkbox ‘Restore current snapshot’.

![You want to: Save the machine state, Send the shutdown signal, (Marked) Power off the machine. (Marked) Restore current snapshot 'Snapshot 1'. Cancel or Ok.](https://www.datocms-assets.com/6524/1568816175-restore-current-snapshot.jpg)

Always tick 'Restore current snapshot' when closing the virtual machine

## How to use a screen reader

The [manual for JAWS](https://support.freedomscientific.com/Content/Documents/Manuals/JAWS/Keystrokes.txt) and [manual for NVDA](https://www.nvaccess.org/files/nvda/documentation/userGuide.html) are available on their websites. WebAIM has nice quick start guides for both [JAWS](https://webaim.org/articles/jaws/) and [NVDA](https://webaim.org/articles/nvda/). Additionally, Rob Dodson gives an excellent [introduction to using NVDA](https://www.youtube.com/watch?v=Jao3s_CwdRU) in his A11ycasts series on YouTube. Happy testing!

## Related blog posts

* ### [Designing CSS/HTML for Non-Latin Languages on the Web](/en/blog/designing-css-for-non-latin-languages-on-the-web.md)
  1 Sep 2025

  By Marleen
* ### [Accessibility in Design Systems](/en/blog/accessibility-in-design-systems.md)
  17 Jun 2025

  By Sjoerd
* ### [Improving accessibility for the blind: 8 guidelines](/en/blog/improving-accessibility-for-the-blind-8-guidelines.md)
  27 Dec 2016

  By Bas

[← All blog posts](/en/blog.md)

## Want to know more about accessibility?

Curious about our accessibility review or do you just want to know more about accessibility?

[Read about our service](/en/services/accessibility-review.md)

[Return to top](#top)
