Barrierefreiheit testen, auch ohne Windows-Arbeitsplatz
Wie unser Entwicklerteam mit Linux-Umgebung den kostenlosen Screenreader NVDA für unser Accessibility-Testing einsetzt – eine praxiserprobte Lösung mit VirtualBox.
Wer Webseiten, Online-Shops oder digitale Dienstleistungen für Endverbraucher anbietet, hat oftmals die Anforderung die Produkte und Dienstleistungen barrierefrei zu gestalten. Für Softwareentwicklungsteams bedeutet das: Barrierefreiheit muss ein Bestandteil des Entwicklungsprozesses werden. Und dazu gehört zwingend das manuelle Testing mit einem Screenreader.
Hier beginnt für viele Teams die eigentliche Herausforderung. NVDA läuft ausschließlich unter Windows, während das Entwickler-Team jedoch unter Linux arbeitet.
1. Die Lösung: VirtualBox als Brücke zwischen Linux und NVDA
Unser Ansatz ist pragmatisch und bewährt: Wir betreiben eine Windows-11 VM in Oracle VirtualBox auf dem Linux-Hostsystem Kubuntu. In dieser Windows-11 VM ist NVDA vorinstalliert und als Autostart konfiguriert. Über die Netzwerkbrücke von VirtualBox greift der Windows-Browser in der Windows-11 VM direkt auf die lokal laufende NPM-Anwendung des Hosts zu.

Vorteile dieses Ansatzes:
- Kostenlos: Sowohl VirtualBox für Linux als auch NVDA sind Open Source bzw. Freeware
- Reproduzierbar: Das Windows-11 VM-Image wurde einmalig als OVA-Datei exportiert und im Entwicklerteam verteilt
- Unabhängig: Kein separater Windows-Rechner nötig. Alles läuft auf dem System des Entwicklers (PC, Notebook etc..)
- Teamfähig und erweiterbar: Neue Teammitglieder importieren die vorkonfigurierte Windows-11 VM in wenigen Minuten
- Framework-agnostisch: Funktioniert mit Angular, React, Next.js, Vue.js oder jeder anderen NPM-basierten Anwendungen
2. Technische Umsetzung: Schritt für Schritt
2.1 Voraussetzungen
Hardware:
- Moderner Rechner mit mindestens 16 GB RAM (8 GB werden der VM zugewiesen)
- CPU mit Virtualisierungsunterstützung (Intel VT-x / AMD-V)
- Mindestens 40 GB freier Festplattenspeicher für die Windows-11 VM
Software auf dem Linux-Host:
- Linux-Distribution (z. B. Kubuntu, Ubuntu, Arch, Fedora)
- VirtualBox (Installation siehe unten)
- Node.js und NPM für Ihre Webanwendung
2.2 VirtualBox installieren für Debian/Ubuntu-basierte Distributionen
sudo apt install virtualbox
Alternativ: VirtualBox kann auch über den grafischen Package-Manager der jeweiligen Linux-Distribution (z. B. Discover unter Kubuntu) installiert werden.
2.3 Windows-VM einrichten
Für eine schnelle Einrinchtung haben wir, ein vorkonfiguriertes OVA-Image mit Windows 11 und vorinstalliertem NVDA erstellt und im Entwicklerteam jedem Enwickler bereitgestellt.
OVA-Import in VirtualBox:
- VirtualBox öffnen
- Datei → “Appliance importieren” wählen
- Die OVA-Datei auswählen und auf “Öffnen” klicken
- Menüpunkt “Einstellungen“ aufklappen und Import Einstellungen prüfen:
- „Fertigstellen“ klicken. Der Vorgang kann je nach Festplattengeschwindigkeit einige Minuten dauern.
Import-Einstellungen
| Einstellung | Empfohlener Wert |
| CPU-Kerne | 4 |
| Arbeitsspeicher (RAM) | 8192 MB |
| Netzwerkadapter | Aktiviert (wlp* (WLAN) oder enx* (LAN)) |
Alle weiteren vom Programm vorausgewählten Einstellungen können beibehalten werden.
- „Fertigstellen“ klicken. Der Vorgang kann je nach Festplattengeschwindigkeit einige Minuten dauern.



- Prüfung des Netzwerkadapters. Nach Fertigstellung der neuen Windows 11 VM muss geprüft werden, ob beim gewählten Netzwerkadapter alle Einstellungen korrekt konfiguriert sind. Hierfür müssen folgende Schritte durchgeführt bzw. geprüft werden:
- Windows 11 VM in der Liste der VM’s auswählen
- Im Menü auf “Ändern“ klicken
- In den Einstellungen auf “Netzwerk“ und “Experte“ klicken
- Prüfen ob in Netzwerkadapter unter “Angeschlossen an“ die Einstellung “Netzwerkbrücke“ ausgewählt ist.
- Für WLAN wlp*** wählen
- Für LAN-Verbindung enx*** wählen
- “Virtuelles Kabel ist verbunden” → Muss selektiert sein

2.4 NPM-Anwendung für den VM-Zugriff konfigurieren
Standardmäßig bindet der Entwicklungsserver einer NPM-Anwendung (z. B. Angular CLI, React-Webpack, Vite) nur an localhost.
Damit die Windows-11 VM über das Netzwerk auf die Anwendung zugreifen kann, muss der Server an alle Netzwerkinterfaces gebunden werden.
Angular CLI:
ng serve --port 7864 --host 0.0.0.0
React JS (Webpack Dev Server)
HOST=0.0.0.0 PORT=7864 npm start
Hinweis: Die Option –host 0.0.0.0 macht den Dev-Server im gesamten lokalen Netzwerk erreichbar. In sicheren Entwicklungsumgebungen ist das unproblematisch, in öffentlichen Netzwerken sollte dies berücksichtigt werden.
2.5 VM starten und Anwendung testen
- Windows-11 VM in VirtualBox starten
- Windows-Login durchführen
- NVDA startet automatisch (sofern im Autostart konfiguriert). Die Sprachausgabe beginnt unmittelbar nach dem Windows-Login.
- Browser in der Windows-11 VM öffnen
- Die Anwendung aufrufen über:
http://<hostname-des-linux-hosts>:7864

3. Fazit: Barrierefreiheit beginnt auf dem Entwicklerrechner
Die Lösung, die in diesem Artikel vorgestellt wurde, ist bewusst einfach gehalten. Mit VirtualBox und NVDA per Windows-VM kann jedes Entwicklerteam auch auf Linux-Enwicklungsumgebungen ein notwendiges Screenreader-Testing in seinen Workflow integrieren. Die Kosten liegen bei null und der Aufwand für das initiale Setup ist sehr gering.
