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:

Accessibility Settings

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 UITextFieldLokalisierungs-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:

Setting the speaking rate

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:

Enable Accessibility Inspector

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):

Using Accessibility Inspector

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.