VoiceOver: Was es ist, Gestensteuerung und Funktionen auf iOS

Autor: IT Sectr Veröffentlicht: 2026-05-15 Lesezeit: 8 Min.

VoiceOver ist ein integrierter Screenreader von Apple, der jedes Element der Benutzeroberfläche vorliest und die Steuerung des Geräts durch Gesten ermöglicht. Die Technologie ist auf Systemebene in iOS, iPadOS und macOS integriert und erfordert keine zusätzliche Softwareinstallation. Laut Apple Accessibility (2025) unterstützt VoiceOver über 40 Sprachen und wird von Millionen blinder und sehbehinderter Benutzer weltweit genutzt.

Das Wichtigste

  • VoiceOver ist ein integrierter Screenreader auf iOS, iPadOS und macOS, gesteuert durch Gesten und Sprache
  • Der VoiceOver-Rotor schaltet Navigationsmodi um: Wörter, Zeichen, Überschriften, Links
  • Gesten umfassen Tippen (Vorlesen), Wischen (Navigieren) und Doppeltippen (Aktivieren)
  • Entwickler konfigurieren Barrierefreiheit über UIAccessibility und Accessibility Label
  • VoiceOver integriert sich mit dynamischem Text und Braillezeilen

Was ist VoiceOver?

VoiceOver ist ein in Apple-Betriebssysteme integrierter Screenreader. Er ist für blinde und sehbehinderte Benutzer konzipiert und ermöglicht eine vollständige Interaktion mit dem Gerät ohne visuellen Kontakt. VoiceOver liest alle Elemente der Benutzeroberfläche vor: Schaltflächen, Links, Text, Bilder, Benachrichtigungen und Systemelemente.

Die Technologie wurde erstmals 2005 für macOS vorgestellt und kam mit dem iPhone 3GS im Jahr 2009 auf iOS. Seitdem ist VoiceOver ein fester Bestandteil des Apple-Ökosystems und eines der Hauptargumente für die Barrierefreiheit der Plattform. VoiceOver ist auf Systemebene integriert — das bedeutet, es funktioniert in jeder Anwendung ohne zusätzliche Integration durch den Entwickler, obwohl die Vorlesequalität direkt davon abhängt, wie gut die Anwendung die iOS-Barrierefreiheits-API nutzt.

VoiceOver unterstützt über 40 Sprachen mit natürlicher Sprachsynthese und passt sich regionalen Stimmeinstellungen an. Auf iOS verwendet VoiceOver die Sprach-Engines von Siri für Deutsch und eine Reihe anderer Sprachen, was eine möglichst natürliche Aussprache und korrekte Intonation je nach Satzzeichen und Kontext gewährleistet.

Wie funktioniert VoiceOver?

VoiceOver fängt Berührungsereignisse ab und interpretiert sie anders als die Standard-iOS-Eingabe. Wenn ein Benutzer den Bildschirm berührt, aktiviert VoiceOver das Element unter dem Finger nicht, sondern liest es zunächst vor. Erst nach einem Doppeltipp wird das Element aktiviert. Dieser entscheidende Unterschied ermöglicht es blinden Benutzern, die Oberfläche ohne Risiko versehentlicher Klicks zu erkunden.

Lesereihenfolge und Navigation

VoiceOver liest die Elemente der Benutzeroberfläche in logischer Reihenfolge: von links nach rechts, von oben nach unten. Die Lesereihenfolge wird von der iOS-Ansichtshierarchie übernommen, aber der Entwickler kann sie für komplexe Layouts über die Eigenschaft accessibilityElements ändern. Der Benutzer kann zwischen Elementen navigieren, indem er nach rechts (nächstes) und nach links (vorheriges) wischt oder ein bestimmtes Element berührt, um es vorzulesen.

Bei jeder Bewegung spricht VoiceOver den Elementtyp (Schaltfläche, Link, Überschrift), den Namen (accessibilityLabel), den Status (ausgewählt, deaktiviert) und den Hinweis (accessibilityHint) aus. Wenn das Element einen Wert enthält — zum Beispiel einen Lautstärkeregler — spricht VoiceOver auch diesen aus. Accessibility Traits (UIAccessibilityTraits) informieren den Benutzer zusätzlich über das Verhalten des Elements: ob es eine Schaltfläche, ein Schalter, ein Suchfeld oder eine Tastaturtaste ist.

Der VoiceOver-Rotor

Der Rotor ist ein virtuelles Einstellrad, das den Navigationsmodus von VoiceOver umschaltet. Der Benutzer dreht den Rotor mit zwei Fingern (wie einen Lautstärkeregler) und wählt einen Modus: Wörter, Zeichen, Überschriften, Links, Einstiegspunkte, Tabellenzeilen und andere. Der Überschriftenmodus ermöglicht das schnelle Wechseln zwischen H1-H6 auf Webseiten und in Apps, während der Zeichenmodus Text Buchstabe für Buchstabe vorliest, was beim Ausfüllen von Formularen oder der Eingabe von Bestätigungscodes nützlich ist.

Der Entwickler kann über die UIAccessibilityCustomRotor-API eigene Modi zum Rotor hinzufügen. Beispielsweise kann in einer Notizen-App ein Rotor „Lieblingsnotizen“ oder „Letzte Änderungen“ hinzugefügt werden. Benutzerdefinierte Rotoren beschleunigen die Navigation in bestimmten Apps erheblich und gelten als Best Practice für iOS-Barrierefreiheit.

VoiceOver-Gestensteuerung

VoiceOver verwendet einen eigenen Satz von Gesten, die nicht mit den Standard-iOS-Gesten übereinstimmen. Die meisten Gesten werden mit drei Fingern statt einem ausgeführt — dies verhindert Konflikte mit der normalen Bedienung und ermöglicht VoiceOver die gleichzeitige Arbeit mit der Standardeingabe.

AktionGesteErgebnis
Element vorlesen1-Finger-TippenSpricht Elementnamen aus
AktivierenDoppeltippenDrückt Schaltfläche oder Link
Nächstes ElementNach rechts wischenZum nächsten wechseln
Vorheriges ElementNach links wischenZum vorherigen zurück
ScrollenMit 3 Fingern wischenListe oder Seite scrollen
RotorMit 2 Fingern drehenNavigationsmodus ändern

Die Doppeltipp-Geste ist die primäre Methode zum Aktivieren von Elementen in VoiceOver. Wenn ein Element eine spezielle Aktion erfordert (z. B. Ziehen), verwendet VoiceOver die Sequenz „Tippen — Doppeltippen und halten“, um in den Bewegungsmodus zu wechseln. Dies ermöglicht die Ausführung komplexer Gesten wie Drag-and-Drop ohne den Bildschirm zu sehen. VoiceOver unterstützt auch die Geste „Doppeltippen mit zwei Fingern“ zum Abbrechen einer Aktion und „Dreifachtippen“ zum Ein-/Ausschalten des Bildschirmvorhangs (Screen Curtain).

VoiceOver in der mobilen Entwicklung

Ein iOS-App-Entwickler kann die Interaktion mit VoiceOver über die UIAccessibility-API erheblich verbessern. Grundlegende Barrierefreiheitseinstellungen werden im Interface Builder (Identity Inspector → Accessibility) vorgenommen, aber komplexe Oberflächen erfordern eine programmatische Konfiguration im Code.

Accessibility Label und Traits

Die Eigenschaft accessibilityLabel legt den Text fest, den VoiceOver für das Element ausspricht. Wenn kein Label festgelegt ist, verwendet VoiceOver den Schaltflächentext oder den Platzhalter des Textfelds. Für Elemente ohne Text (Symbole, benutzerdefinierte Ansichten) ist ein Label obligatorisch. Die Eigenschaft accessibilityTraits definiert den Elementtyp: Schaltfläche, Überschrift, Schalter, Suchfeld, Tastaturtaste, Wert ändert sich, Link und andere.

swift
let profileButton = UIButton(type: .custom)
profileButton.setImage(UIImage(named: "avatar"), for: .normal)
profileButton.isAccessibilityElement = true
profileButton.accessibilityLabel = "Benutzerprofil"
profileButton.accessibilityTraits = .button
profileButton.accessibilityHint = "Öffnet den Profil-Einstellungsbildschirm"

Das Flag isAccessibilityElement aktiviert die VoiceOver-Unterstützung für benutzerdefinierte Ansichten — standardmäßig ist es nur für Standardelemente (UIButton, UILabel, UITextField) wahr. Der Parameter accessibilityHint fügt einen Hinweis hinzu: VoiceOver spricht ihn nach einer Pause aus, wenn der Benutzer auf einem Element verweilt. Der Hinweis sollte das Ergebnis der Aktion beschreiben, nicht die Anweisung: „Öffnet den Einstellungsbildschirm“ anstelle von „Drücken zum Öffnen“.

Gruppierung und Elementreihenfolge

Für komplexe Bildschirme, bei denen die logische Gruppe von Elementen nicht mit der visuellen Reihenfolge übereinstimmt, wird accessibilityElements verwendet — ein Array, das die Lesereihenfolge festlegt. Beispielsweise enthält eine Produktkarte ein Bild, einen Namen, einen Preis und eine Schaltfl„che „In den Warenkorb“. Wenn diese Elemente chaotisch in der Ansichtshierarchie angeordnet sind, stellt accessibilityElements die korrekte Reihenfolge für VoiceOver her.

swift
let productCard = UIView()
let productImage = UIImageView()
let productName = UILabel()
let productPrice = UILabel()
let addToCartButton = UIButton()

productCard.accessibilityElements = [
    productImage, productName, productPrice, addToCartButton
]

Um mehrere Elemente zu einem einzigen zugänglichen Element zusammenzufassen, wird UIAccessibilityContainer oder accessibilityFrame zum Überschreiben des Berührungsbereichs verwendet. Dies ist nützlich, wenn eine Tabellenzelle mehrere UI-Komponenten enthält, aber logisch ein Element darstellt — VoiceOver sollte die gesamte Zelle als Ganzes vorlesen, nicht deren Inhalt einzeln durchgehen.

Barrierefreiheit für VoiceOver einrichten

Die korrekte Konfiguration der Barrierefreiheit für VoiceOver erfordert Aufmerksamkeit für mehrere Aspekte: semantisches Markup, dynamische Updates, Behandlung benutzerdefinierter Elemente und Tests mit einem echten Screenreader.

Semantisches Markup in SwiftUI

In SwiftUI wird die Barrierefreiheit über die Modifikatoren .accessibilityLabel(), .accessibilityValue(), .accessibilityHint() und .accessibilityAddTraits() konfiguriert. SwiftUI erbt automatisch die Barrierefreiheit von Standardelementen, aber benutzerdefinierte Komponenten erfordern eine explizite Konfiguration. Beispielsweise muss ein benutzerdefinierter Schieberegler VoiceOver seinen Wert und das Änderungsformat mitteilen.

swift
Slider(value: $volume, in: 0...100)
    .accessibilityLabel("Lautstärke")
    .accessibilityValue(
        Text("\(Int(volume)) Prozent")
    )
    .accessibilityAddTraits(.adjustsAudioForAccessibility)
    .accessibilityAdjustableAction { direction in
        switch direction {
        case .increment: volume = min(volume + 5, 100)
        case .decrement: volume = max(volume - 5, 0)
        }
    }

Der Modifikator accessibilityAdjustableAction fügt die Möglichkeit hinzu, Werte mit VoiceOver-Gesten zu ändern: nach oben wischen zum Erhöhen, nach unten wischen zum Verringern. Ohne diesen Modifikator bleibt der Schieberegler für die Steuerung durch den Screenreader unzugänglich. Eine ähnliche Konfiguration ist für benutzerdefinierte Steppers, Picker und andere Elemente erforderlich, die ihren Wert ändern.

Dynamische Updates und Benachrichtigungen

Wenn sich der Inhalt auf dem Bildschirm dynamisch ändert (eine Benachrichtigung erscheint, der Ladestatus aktualisiert wird, sich ein Preis ändert), muss VoiceOver eine Benachrichtigung über UIAccessibility.post erhalten. Ohne diesen Aufruf erfährt der Screenreader nichts von den Änderungen und der Benutzer verpasst wichtige Informationen. Für SwiftUI wird der Modifikator .accessibilityAnnouncement() verwendet.

swift
UIAccessibility.post(
    notification: .announcement,
    argument: "Preis um 20 Prozent reduziert"
)

// SwiftUI
Text("Preis aktualisiert")
    .accessibilityAnnouncement(Text("20% Rabatt"))

VoiceOver-Benachrichtigungen sollten sinnvoll eingesetzt werden: Übermäßige Ansagen ärgern den Benutzer, während ihr Fehlen die Anwendung unzugänglich macht. Die optimale Strategie besteht darin, nur die Änderungen anzukündigen, die den aktuellen Arbeitsablauf des Benutzers betreffen: Warenkorbaktualisierungen, Ladestatus, Formularvalidierungsfehler, Chat-Benachrichtigung. Hintergrundänderungen (Zeit auf dem Panel, Wechselkurse) erfordern keine Ansage — der Benutzer überprüft sie bei Bedarf selbst.

VoiceOver-Tests werden mit einem physischen Gerät mit aktiviertem Screenreader oder einem iOS-Simulator mit der Option Accessibility Inspector durchgeführt. Es ist wichtig, vollständige Nutzungsszenarien zu testen: Registrierung abschließen, Bestellung aufgeben, Produkt per Suche finden ohne visuelle Kontrolle. Wenn der Ablauf ohne visuelles Feedback navigierbar ist — ist VoiceOver korrekt konfiguriert.

Häufig gestellte Fragen

Wie aktiviere ich VoiceOver auf dem iPhone?

Einstellungen → Bedienungshilfen → VoiceOver. Schalten Sie den Schalter ein. Für die schnelle Aktivierung verwenden Sie den Dreifachklick der Seitentaste (beim iPhone X und neuer) oder der Home-Taste. Siri kann VoiceOver auch mit dem Befehl „VoiceOver einschalten“ aktivieren.

Was ist der Unterschied zwischen VoiceOver und TalkBack?

VoiceOver ist Apples Screenreader für iOS, TalkBack ist Googles Screenreader für Android. Das Funktionsprinzip ist gleich: Berühren spricht vor, Doppeltippen aktiviert. Der Unterschied liegt in den Gesten, den Rotoreinstellungen und den Ökosystemintegrationen: VoiceOver ist tiefer in iCloud und Apple Pay integriert.

Wie konfiguriere ich VoiceOver für meine App?

Verwenden Sie die UIAccessibility-API: setzen Sie accessibilityLabel für alle Elemente, accessibilityTraits für den Elementtyp und accessibilityHint für Hinweise. In SwiftUI verwenden Sie die Modifikatoren .accessibilityLabel() und .accessibilityAddTraits(). Testen Sie die App mit aktiviertem VoiceOver.

Was ist der Rotor in VoiceOver?

Der Rotor ist ein Navigationsmodus, der durch Drehen mit zwei Fingern umgeschaltet wird. Er bestimmt, wie zwischen Elementen navigiert wird: nach Überschriften, Zeichen, Wörtern, Links oder Einstiegspunkten. Entwickler können über UIAccessibilityCustomRotor eigene Modi hinzufügen.

Warum liest VoiceOver mein benutzerdefiniertes Element nicht?

Für benutzerdefinierte UIView muss isAccessibilityElement = true gesetzt und accessibilityLabel bereitgestellt werden. Wenn das Element aus mehreren Unteransichten besteht, verwenden Sie accessibilityElements zum Festlegen der Lesereihenfolge oder fassen Sie sie in einem Container zusammen.

Zusammenfassung

  • VoiceOver ist ein integrierter Apple-Screenreader für iOS, iPadOS und macOS mit Sprachgestensteuerung
  • Der Rotor schaltet Navigationsmodi um: Überschriften, Zeichen, Wörter, Links und benutzerdefinierte Modi
  • VoiceOver-Gesten: Tippen — Vorlesen, Doppeltippen — Aktivieren, Wischen — Navigieren
  • Entwicklung über die UIAccessibility-API: Label, Traits, Hint, benutzerdefinierter Rotor und dynamische Benachrichtigungen
  • SwiftUI bietet die Modifikatoren .accessibilityLabel(), .accessibilityAddTraits() und .accessibilityAdjustableAction()
  • Dynamische Updates erfordern den UIAccessibility.post-Aufruf zur Benachrichtigung von VoiceOver
  • Tests sind auf einem echten Gerät mit aktiviertem VoiceOver ohne visuelle Kontrolle obligatorisch

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch