ReactXP bietet eine gemeinsame Möglichkeit, Barrierefreiheitsfunktionen plattformübergreifend zu implementieren.
Ein Screenreader ist eine assistive Technologie für sehbehinderte Benutzer. Er ermöglicht Benutzern die Navigation durch eine Anwendung, indem er interaktive Komponenten fokussiert und den Zweck dieser Komponenten ankündigt.
Die ReactXP-Komponenten View, Button, GestureView und TextInput implementieren eine gemeinsame Reihe von Barrierefreiheits-bezogenen Eigenschaften, die unten beschrieben werden.
Zusätzliche Barrierefreiheits-APIs werden bereitgestellt, um den Screenreader programmatisch aufzufordern, Ereignisse anzukündigen.
Barrierefreiheitsmerkmale überschreiben bei Bedarf das Standardverhalten des Screenreaders. Beispielsweise hängt das Standardverhalten für Button den Text „Button“ am Ende des Labels an. In den meisten Fällen bieten die Standardmerkmale das gewünschte Verhalten, aber es ist manchmal nützlich, dem Screenreader zusätzliche Informationen bereitzustellen.
export enum ImportantForAccessibility {
// Platform decides which views are important for accessibility and brings
// the screen reader focus on those views
Auto,
// Groups all subviews under the view, allowing the screen reader to focus
// just this view; if the accessibilityLabel is specified, it is announced;
// otherwise, the labels of its children are used
Yes,
// Tells the screen reader that it can focus the subviews of this view
No,
// Hides the view and its subviews from the screen reader
NoHideDescendants
}
// Array of strings that will be added as custom actions on iOS
accessibilityActions?: string[] = undefined;
// Label that is read by the screen reader
accessibilityLabel?: string = undefined;
// Overrides or augments default screen reader behavior
accessibilityTraits?: AccessibilityTrait | AccessibilityTrait[] = undefined;
// Screen reader focus behavior
importantForAccessibility?: ImportantForAccessibility = Auto;
// Callback function invoked for accessibility action events
onAccessibilityAction?: (e: SyntheticEvent) => void;
// Keyboard tab order
tabIndex?: number = undefined; // web only
// Used to define the current value for a range widget such as a slider, spinbutton or progressbar
ariaValueNow?: number = undefined; // web only