Barrierefreiheit unter macOS

Auf dieser Seite wird beschrieben, wie Sie die macOS-Barrierefreiheits-APIs verwenden, um Apps gemäß der Checkliste für Barrierefreiheit zu erstellen. Weitere Plattform-APIs finden Sie auf den Seiten zur Barrierefreiheit für Android und iOS .

Um zu verstehen, wie die Barrierefreiheits-APIs in macOS (früher OS X genannt) funktionieren, sehen Sie sich zuerst das OS X-Barrierefreiheitsmodell an.

Beschreiben von Ui-Elementen

AppKit verwendet das NSAccessibility Protokoll, um APIs verfügbar zu machen, die dazu beitragen, die Benutzeroberfläche zugänglich zu machen. Dies schließt ein Standardverhalten ein, das versucht, aussagekräftige Werte für Barrierefreiheitseigenschaften festzulegen, z. B. das Festlegen der AccessibilityLabelSchaltfläche. Die Bezeichnung ist in der Regel ein einzelnes Wort oder ein kurzer Ausdruck, der das Steuerelement oder die Sicht beschreibt.

Storyboarddateien

Xamarin.Mac verwendet den Xcode-Schnittstellen-Generator, um Storyboarddateien zu bearbeiten. Barrierefreiheitsinformationen können im Identitätsinspektor bearbeitet werden, wenn ein Steuerelement auf der Entwurfsoberfläche ausgewählt ist (wie im folgenden Screenshot dargestellt):

Hinzufügen von Barrierefreiheit im Xcode-Schnittstellen-Generator

Code

Xamarin.Mac macht derzeit nicht als AccessibilityLabel Setter verfügbar. Fügen Sie die folgende Hilfsmethode hinzu, um die Barrierefreiheitsbezeichnung festzulegen:

public static class AccessibilityHelper
{
    [System.Runtime.InteropServices.DllImport (ObjCRuntime.Constants.ObjectiveCLibrary)]
    extern static void objc_msgSend (IntPtr handle, IntPtr selector, IntPtr label);

    static public void SetAccessibilityLabel (this NSView view, string value)
    {
        objc_msgSend (view.Handle, new ObjCRuntime.Selector ("setAccessibilityLabel:").Handle, new NSString (value).Handle);
    }
}

Diese Methode kann dann wie gezeigt im Code verwendet werden:

AccessibilityHelper.SetAccessibilityLabel (someButton, "New Accessible Description");

Die AccessibilityHelp -Eigenschaft dient zur Erläuterung der Funktionsweise des Steuerelements oder der Sicht und sollte nur hinzugefügt werden, wenn die Bezeichnung möglicherweise keine ausreichenden Informationen enthält. Der Hilfetext sollte trotzdem so kurz wie möglich gehalten werden, z. B. "Löscht das Dokument".

Einige Benutzeroberflächenelemente sind für den barrierefreien Zugriff nicht relevant (z. B. eine Bezeichnung neben einer Eingabe, die über eine eigene Barrierefreiheitsbezeichnung und Hilfe verfügt). Legen Sie in diesen Fällen so fest AccessibilityElement = false , dass diese Steuerelemente oder Ansichten von Sprachausgaben oder anderen Barrierefreiheitstools übersprungen werden.

Apple stellt Richtlinien zur Barrierefreiheit bereit, in denen die bewährten Methoden für Barrierefreiheitsbezeichnungen und Hilfetext erläutert werden.

Benutzerdefinierte Steuerelemente

Ausführliche Informationen zu den erforderlichen zusätzlichen Schritten finden Sie in den Apple-Richtlinien für barrierefreie benutzerdefinierte Steuerelemente .

Testen der Barrierefreiheit

macOS bietet einen Barrierefreiheitsinspektor , mit dem Sie Barrierefreiheitsfunktionen testen können. Der Inspektor ist in Xcode enthalten.

Beim ersten Start benötigt der Barrierefreiheitsinspektor die Berechtigung, den Computer über Barrierefreiheit zu steuern:

Barrierefreiheitsinspektor, der die Berechtigung zum Ausführen

Entsperren Sie den Einstellungsbildschirm (falls erforderlich, links unten), und aktivieren Sie den Barrierefreiheitsinspektor:

Einstellungsbildschirm zum Aktivieren des Bildschirms

Nach der Aktivierung wird der Inspektor als schwebendes Fenster angezeigt, das auf dem Bildschirm verschoben werden kann. Der folgende Screenshot zeigt den Inspektor, der neben einer Mac-Beispiel-App ausgeführt wird. Wenn der Cursor über das Fenster bewegt wird, zeigt der Inspektor alle zugänglichen Eigenschaften der einzelnen Steuerelemente an:

Beispiel für die Ausführung des Barrierefreiheitsinspektors

Weitere Informationen finden Sie im Leitfaden zum Testen der Barrierefreiheit für OS X.