Barrierefreiheit unter iOS
Auf dieser Seite wird beschrieben, wie Sie die iOS-Barrierefreiheits-APIs zum Erstellen von Apps gemäß der Prüfliste für Barrierefreiheit verwenden. Weitere Plattform-APIs finden Sie auf den Barrierefreiheitsseiten für Android und OS X.
Beschreiben von UI-Elementen
iOS bietet Entwicklern die AccessibilityLabel
Und AccessibilityHint
Eigenschaften, um beschreibenden Text hinzuzufügen, der von der VoiceOver-Sprachausgabe verwendet werden kann, um die Steuerelemente barrierefreier zu machen. Steuerelemente können auch mit einem oder mehreren Merkmalen markiert werden, die zusätzlichen Kontext in barrierefreien Modi bieten.
Einige Steuerelemente müssen möglicherweise nicht barrierefrei sein (z. B. eine Beschriftung für eine Texteingabe oder ein bild, das rein dekorativ ist) – dies IsAccessibilityElement
wird bereitgestellt, um die Barrierefreiheit in diesen Fällen zu deaktivieren.
Benutzeroberflächen-Designer
Das Eigenschaftenpad enthält einen Abschnitt zur Barrierefreiheit, in dem diese Einstellungen bearbeitet werden können, wenn ein Steuerelement im iOS-UI-Designer ausgewählt wird:
C#
Diese Eigenschaften können auch direkt im Code festgelegt werden:
usernameInput.AccessibilityLabel = "Search";
usernameInput.Hint = "Press Enter after typing to search employee list";
someLabel.IsAccessibilityElement = false;
displayOnlyText.AccessibilityTraits = UIAccessibilityTrait.Header | UIAccessibilityTrait.Selected;
Was ist AccessibilityIdentifier?
Es AccessibilityIdentifier
wird verwendet, um einen eindeutigen Schlüssel festzulegen, der verwendet werden kann, um über die UIAutomation-API auf Benutzeroberflächenelemente zu verweisen.
Der Wert von AccessibilityIdentifier
wird niemals gesprochen oder dem Benutzer angezeigt.
PostNotification
Mit der UIAccessibility.PostNotification
Methode können Ereignisse außerhalb der direkten Interaktion an den Benutzer ausgelöst werden (z. B. wenn sie mit einem bestimmten Steuerelement interagieren).
Ankündigung
Eine Ankündigung kann vom Code gesendet werden, um den Benutzer darüber zu informieren, dass sich ein Zustand geändert hat (z. B. ein Hintergrundvorgang wurde abgeschlossen). Dies kann durch einen visuellen Hinweis auf der Benutzeroberfläche begleitet werden:
UIAccessibility.PostNotification (
UIAccessibilityPostNotification.Announcement,
new NSString(@"Item was saved"));
LayoutChanged
Die LayoutChanged
Ankündigung wird verwendet, wenn das Bildschirmlayout:
UIAccessibility.PostNotification (
UIAccessibilityPostNotification.LayoutChanged,
someControl); // someControl gets focus
Barrierefreiheit und Lokalisierung
Barrierefreiheitseigenschaften wie die Bezeichnung und der Hinweis können genau wie anderer Text auf der Benutzeroberfläche lokalisiert werden.
MainStoryboard.strings
Wenn die Benutzeroberfläche in einem Storyboard angeordnet ist, können Sie Übersetzungen für Barrierefreiheitseigenschaften auf die gleiche Weise wie andere Eigenschaften bereitstellen. Im folgenden Beispiel wird eine UITextField
Lokalisierungs-ID und Pqa-aa-ury
zwei Barrierefreiheitseigenschaften auf Spanisch festgelegt:
/* Accessibility */
"Pqa-aa-ury.accessibilityLabel" = "Notas input";
"Pqa-aa-ury.accessibilityHint" = "escriba más información";
Diese Datei würde im Verzeichnis es.lproj für spanischen Inhalt abgelegt.
Localizable.strings
Alternativ können die Übersetzungen der Datei "Localizable.strings" im lokalisierten Inhaltsverzeichnis hinzugefügt werden (z. B. es.lproj für Spanisch):
/* Accessibility */
"Notes" = "Notas input";
"Provide more information" = "escriba más información";
Diese Übersetzungen können in C# über die LocalizedString
Methode verwendet werden:
notesText.AccessibilityLabel = NSBundle.MainBundle.LocalizedString ("Notes", "");
notesText.AccessibilityHint = NSBundle.MainBundle.LocalizedString ("Provide more information", "");
Weitere Informationen zum Lokalisieren von Inhalten finden Sie im iOS-Lokalisierungshandbuch .
Testen der Barrierefreiheit
VoiceOver ist in der Einstellungen-App aktiviert, indem sie zu "Allgemeine > Barrierefreiheit > VoiceOver" navigieren:
Der Bildschirm "Barrierefreiheit " bietet auch Einstellungen für Zoom, Textgröße, Farb- und Kontrastoptionen, Spracheinstellungen und andere Konfigurationsoptionen.
Befolgen Sie diese VoiceOver-Anweisungen , um die Barrierefreiheit auf iOS-Geräten zu testen.
Simulatortests
Beim Testen im Simulator ist der Barrierefreiheitsinspektor verfügbar, um sicherzustellen, dass Barrierefreiheitseigenschaften und -ereignisse ordnungsgemäß konfiguriert sind. Aktivieren Sie den Inspektor in der Einstellungen-App, indem Sie zum Allgemeinen >> Barrierefreiheitsinspektor navigieren:
Nach der Aktivierung bewegt sich das Inspektorfenster jederzeit über den iOS-Bildschirm. Hier ist ein Beispiel für die Ausgabe, wenn eine Tabellenansichtszeile ausgewählt ist – beachten Sie, dass die Beschriftung einen Satz enthält, der den Inhalt der Zeile angibt und dass sie auch "fertig" ist (d. h. die Teilstriche ist sichtbar):
Während der Inspektor sichtbar ist, verwenden Sie das Symbol "X" oben links, um die Überlagerung vorübergehend ein- und auszublenden und Barrierefreiheitseinstellungen zu aktivieren/deaktivieren.