Apps · Screenreader

VoiceOver: Apples Screenreader unter iOS

VoiceOver ist der in iOS eingebaute Screenreader: Er liest vor, was auf dem Bildschirm steht, und macht das iPhone komplett ohne Hinsehen bedienbar, über Gesten, Braillezeilen oder Tastatur. Für dich als Entwickler:in ist VoiceOver doppelt wichtig: Es ist die Hilfstechnologie, mit der blinde Nutzer:innen deine App erleben, und zugleich dein ehrlichstes Testwerkzeug. Diese Seite erklärt das Bedienkonzept, die wichtigsten Gesten, den Rotor und das, was deine App liefern muss, damit VoiceOver sie sinnvoll vorlesen kann.

  • 9 Minuten Lesezeit
  • Stand: Juni 2026

Was VoiceOver ist

VoiceOver ist fester Bestandteil von iOS: keine App zum Nachladen, sondern eine Systemfunktion, die auf jedem iPhone und iPad vorhanden ist. Eingeschaltet liest VoiceOver das fokussierte Element mit einer synthetischen Stimme vor, gibt Klang-Feedback bei Aktionen und macht die gesamte Oberfläche über ein eigenes Gesten-Set bedienbar. Zusätzlich kann VoiceOver mit Braillezeilen und externen Tastaturen zusammenarbeiten.

Wichtig für dein mentales Modell: VoiceOver ist keine Sonderansicht deiner App. Es liest genau die Oberfläche vor, die alle sehen. Vorausgesetzt, deine App stellt die nötigen Informationen über die Accessibility-Schnittstelle von iOS bereit.

VoiceOver auf einen Blick
Frage Antwort
Was ist es? Der in iOS/iPadOS eingebaute Screenreader von Apple
Wo einschalten? Einstellungen → Bedienungshilfen → VoiceOver; schneller über den Bedienungshilfen-Kurzbefehl (Dreifachklick auf die Seitentaste) oder per Siri
Grundprinzip Ein Element hat den Fokus und wird vorgelesen; Doppeltippen aktiviert es
Navigation Wischen (linear), Tippen (direkt) oder Rotor (nach Kategorien wie Überschriften)
Pendant auf Android TalkBack : gleiches Grundprinzip, andere Gesten

Das Bedienkonzept: ein Fokus, der spricht

Mit VoiceOver ändert sich die Bedeutung jeder Berührung. Ein einfaches Tippen aktiviert nichts mehr: Es wählt aus. Das angetippte Element bekommt den VoiceOver-Fokus (sichtbar als schwarzer Rahmen, oft „VoiceOver-Cursor" genannt) und wird vorgelesen. Erst ein Doppeltippen löst die Aktion aus. So können Nutzer:innen den Bildschirm gefahrlos erkunden, ohne versehentlich etwas auszulösen.

Vorgelesen wird dabei mehr als nur der sichtbare Text. VoiceOver setzt die Ansage aus mehreren Bausteinen zusammen: dem Label(Name des Elements), dem Wert(z. B. Schalter-Zustand), der Rolle(Taste, Überschrift, Schieberegler …) und optional einem Hinweis, was beim Aktivieren passiert.

So setzt VoiceOver eine Ansage zusammen Schaubild: Ein Smartphone-Bildschirm mit einer fokussierten Taste „Nachricht senden". Daneben eine Sprechblase mit der VoiceOver-Ansage, die aus drei Bausteinen besteht: Label „Nachricht senden", Rolle „Taste" und Hinweis „Zum Senden doppeltippen". Nachricht senden VoiceOver-Fokus DIE ANSAGE „Nachricht senden, Taste. Zum Senden doppeltippen." Label (accessibilityLabel) · Rolle (Trait) · Hinweis (accessibilityHint)
Die VoiceOver-Ansage entsteht aus den Accessibility-Eigenschaften des Elements: Label, Rolle (Trait) und optionaler Hinweis. Fehlt das Label, hört die Person nur „Taste", ohne jede Information, was diese Taste tut.

Die wichtigsten Gesten

VoiceOver nutzt Gesten mit einem bis vier Fingern. Du musst nicht alle kennen. Mit diesem Grundvorrat kannst du jede App bedienen und testen:

Wissens-Karte: VoiceOver-Grundgesten
Geste Wirkung
Einmal tippen Element auswählen und vorlesen
Nach rechts / links wischen Zum nächsten / vorherigen Element
Doppeltippen Ausgewähltes Element aktivieren
Mit drei Fingern wischen Scrollen (seiten- bzw. listenweise)
Mit zwei Fingern tippen Vorlesen anhalten / fortsetzen
Mit zwei Fingern doppeltippen „Magic Tap": kontextabhängige Hauptaktion, z. B. Anruf annehmen, Wiedergabe starten/stoppen
Zwei-Finger-Schrubben (Z-Bewegung) Zurück / Abbrechen / Schließen
Zwei Finger drehen Rotor öffnen (siehe nächstes Kapitel)

Die vollständige, stets aktuelle Gesten-Referenz pflegt Apple in der iPhone-Hilfe. Sie ist als Quelle unten verlinkt. Einzelne Gesten lassen sich in den VoiceOver-Einstellungen auch anpassen.

Der Rotor: das Stellrad für die Navigation

Linear durch hunderte Elemente zu wischen wäre mühsam. Deshalb gibt es den Rotor: Du drehst zwei Finger auf dem Bildschirm, als würdest du an einem unsichtbaren Drehregler drehen, und wählst damit eine Navigations-Kategorie, etwa Überschriften , Links , Wörter oder Zeichen. Anschließend springt ein Wischen nach unten oder oben zum jeweils nächsten oder vorherigen Element dieser Kategorie.

Der Rotor kann je nach Kontext mehr: Lautstärke und Sprechtempo anpassen, Eingabemethoden wie Braille-Bildschirmeingabe oder Handschrift aktivieren und app-spezifische Aktionen anbieten. Welche Optionen erscheinen, lässt sich in den Einstellungen anpassen und hängt davon ab, was deine App bereitstellt.

Das Rotor-Prinzip Schaubild: Links ein Drehregler mit Kategorien wie Zeichen, Wörter, Überschriften und Links. Überschriften ist ausgewählt. Rechts die Folge: Wischen nach unten springt zur nächsten Überschrift, Wischen nach oben zur vorherigen. Überschriften Wörter Zeichen Links Lautstärke Zwei Finger drehen = Kategorie wählen Wischen nach unten ↓ → nächste Überschrift Wischen nach oben ↑ zurück
Das Rotor-Prinzip: Kategorie einstellen, dann mit vertikalem Wischen durch genau diese Kategorie springen. Überschriften-Navigation funktioniert nur, wenn deine App Überschriften auch als solche markiert (Trait .isHeader ).

Was deine App liefern muss

iOS bringt die Accessibility-Infrastruktur mit. Deine Aufgabe ist, sie mit Inhalt zu füllen. Standard-Komponenten aus UIKit und SwiftUI sind dabei bereits weitgehend vorbereitet: Eine UIButton mit Text-Titel ist automatisch fokussierbar und bekommt die Rolle „Taste". Kritisch wird es bei Icon-Buttons ohne Text, eigenen Controls und dynamischen Inhalten. Die vier zentralen Eigenschaften:

  • Label: der Name des Elements. Kurz, präzise, ohne Rollen-Wiederholung (nicht „Senden-Taste", die Rolle ergänzt VoiceOver selbst).
  • Value: der aktuelle Wert, etwa „75 %" bei einem Schieberegler.
  • Traits: die Rolle und Eigenschaften: Taste, Überschrift, ausgewählt, deaktiviert …
  • Hint: optionaler Zusatz, was die Aktivierung bewirkt. Sparsam einsetzen.

SwiftUI: Icon-Button beschriften und Überschrift markieren

 // Icon-Button: ohne Label hört man nur „Taste" 
Button(action: send) {
    Image(systemName: "paperplane")
}
.accessibilityLabel("Nachricht senden") // Überschrift für die Rotor-Navigation markieren 
Text("Posteingang")
    .font(.title)
    .accessibilityAddTraits(.isHeader) // Zusammengehörige Werte zu einem Element bündeln 
HStack { Text("Ungelesen"); Text("12") }
    .accessibilityElement(children: .combine)

UIKit: die gleichen Eigenschaften, klassisch gesetzt

sendButton.accessibilityLabel = "Nachricht senden"
titleLabel.accessibilityTraits = .header // Dynamische Änderung ansagen, ohne den Fokus zu bewegen 
UIAccessibility.post(notification: .announcement,
                     argument: "Nachricht gesendet")

Der letzte Punkt ist ein typisches App-Thema: Wenn sich Inhalte ändern, ohne dass Nutzer:innen etwas angetippt haben (Ladevorgang fertig, neue Nachricht, Fehler), bekommt VoiceOver das nur mit, wenn du es über eine Accessibility-Notification mitteilst. Bei größeren Umbauten des Bildschirms sind .layoutChanged und .screenChanged die passenden Signale.

Testen mit VoiceOver und Accessibility Inspector

Kein Audit-Tool ersetzt die fünf Minuten, in denen du deine App selbst mit VoiceOver bedienst. Dazu kommt der Accessibility Inspector aus Xcode: Er zeigt dir pro Element Label, Value, Traits und Hint an, simuliert VoiceOver-Ausgaben am Mac und führt automatische Audits aus, die typische Fehler wie fehlende Beschreibungen oder zu kleine Kontrastwerte finden.

Häufige Stolperfallen

Die immer gleichen Muster machen Apps für VoiceOver-Nutzer:innen unbrauchbar und sind fast immer schnell behoben:

Stolperfallen und ihre Lösungen
Stolperfalle Folge für Nutzer:innen Lösung
Icon-Button ohne Label Ansage „Taste", Funktion unbekannt accessibilityLabel setzen
Rolle im Label wiederholt („Senden-Button") Doppelte Ansage „Senden-Button, Taste" Label ohne Rolle formulieren, die Traits übernehmen das
Dekorative Bilder fokussierbar Fokus bleibt an bedeutungslosen Elementen hängen accessibilityHidden(true) bzw. isAccessibilityElement = false
Eigene Controls ohne Traits VoiceOver kennt weder Rolle noch Bedienlogik Traits und ggf. Custom Actions definieren oder Systemkomponente verwenden
Inhalts-Update ohne Ansage Person merkt nicht, dass etwas passiert ist Accessibility-Notification posten

Tiefer einsteigen kannst du in Apples Entwickler-Dokumentation und den Human Interface Guidelines (beide unten verlinkt). Und wenn du wissen willst, wie das Gegenstück auf Android funktioniert: weiter zum TalkBack-Artikel.