Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Semantik für die Barrierefreiheit befasst sich mit dem Erstellen von Oberflächen, die Ihre Apps für Personen inklusive machen, die Technologie in einer breiten Palette von Umgebungen verwenden und Ihre UI mit einer Reihe von Anforderungen und Erfahrungen nähern. In vielen Fällen können die gesetzlichen Anforderungen für die Barrierefreiheit entwicklern einen Impuls zur Behebung von Problemen mit der Barrierefreiheit bieten. Unabhängig davon ist es ratsam, inklusive und barrierefreie Apps zu erstellen, damit Ihre Apps die größtmögliche Zielgruppe erreichen.
Die Web Content Accessibility Guidelines (WCAG) sind der globale Standard für Barrierefreiheit und rechtliche Benchmark für Web und Mobile. Diese Richtlinien beschreiben die verschiedenen Möglichkeiten, wie Apps für alle verständlicher, funktionsfähiger, verständlicher und robuster gestaltet werden können.
Viele Benutzeranforderungen an die Barrierefreiheit werden durch Hilfsmitteltechnologien erfüllt, die vom Benutzer installiert werden oder durch Tools und Einstellungen des Betriebssystems bereitgestellt werden. Dazu gehören Funktionen wie Sprachausgabe, Bildschirmvergrößerung und kontrastreiche Einstellungen.
Die Sprachausgabe bietet in der Regel auditive Beschreibungen von Bedienelementen, die auf dem Bildschirm angezeigt werden. Diese Beschreibungen helfen Benutzern bei der Navigation durch die App und stellen Verweise auf Steuerelemente bereit, z. B. Bilder ohne Eingabe oder Text. Sprachausgabe wird häufig durch Gesten auf dem Touchscreen, dem Trackpad oder der Tastatur gesteuert. Informationen zur Aktivierung der Sprachausgabe finden Sie unter Sprachausgabe aktivieren.
Betriebssysteme verfügen über eigene Bildschirmleseprogramme, die durch ihr einzigartiges Verhalten und ihre spezifische Konfiguration gekennzeichnet sind. Die Sprachausgabe liest beispielsweise den Text, der mit einem Steuerelement verbunden ist, wenn es den Fokus erhält, sodass sich die Benutzer*innen beim Navigieren durch die App orientieren können. Einige Sprachausgaben können jedoch auch die gesamte App-Benutzeroberfläche lesen, wenn eine Seite angezeigt wird, wodurch der Benutzer alle verfügbaren Informationsinhalte der Seite empfangen kann, bevor er versucht, zu navigieren.
Die meisten Bildschirmleseprogramme lesen automatisch jeglichen zugehörigen Text vor, der einem Steuerelement zugeordnet ist, das den Barrierefreiheitsfokus erhält. Dies bedeutet, dass Steuerelemente wie Label oder Button, die eine Text
-Eigenschaft gesetzt haben, für den Benutzer zugänglich sind. Jedoch befinden sich Image, ImageButton, ActivityIndicator und andere Elemente möglicherweise nicht in der Zugänglichkeitsstruktur, da ihnen kein Text zugeordnet ist.
.NET Multi-Platform App UI (.NET MAUI) unterstützt zwei Ansätze für den Zugriff auf die Barrierefreiheit der zugrunde liegenden Plattform. Semantische Eigenschaften sind der .NET MAUI-Ansatz zur Bereitstellung von Barrierefreiheitswerten in Apps und sind der empfohlene Ansatz. Automatisierungseigenschaften sind der Xamarin.Forms-Ansatz zur Bereitstellung von Barrierefreiheitswerten in Apps und wurden durch semantische Eigenschaften ersetzt. In beiden Fällen ist die Standardmäßige Reihenfolge der Barrierefreiheit von Steuerelementen die gleiche Reihenfolge, in der sie in XAML aufgeführt oder dem Layout hinzugefügt werden. Verschiedene Layouts können jedoch zusätzliche Faktoren haben, die die Barrierefreiheitsreihenfolge beeinflussen. Beispielsweise basiert die Barrierefreiheitsreihenfolge StackLayout auch auf ihrer Ausrichtung, und die Barrierefreiheitsreihenfolge Grid basiert auf der Zeilen- und Spaltenanordnung. Weitere Informationen zur Inhaltsbestellung finden Sie im Xamarin-Blog unter "Aussagekräftige Inhaltsbestellung ".
Hinweis
Wenn eine WebView barrierefreie Website angezeigt wird, kann sie auch in einer .NET MAUI-App zugänglich sein. Wenn hingegen eine WebView Website angezeigt wird, auf die nicht zugegriffen werden kann, kann sie in einer .NET MAUI-App nicht zugänglich sein.
Semantische Eigenschaften
Semantische Eigenschaften werden verwendet, um Informationen darüber zu definieren, welche Steuerelemente den Fokus für Barrierefreiheit erhalten sollen und welcher Text dem Benutzer laut vorgelesen werden soll. Semantische Eigenschaften sind angefügte Eigenschaften, die jedem Element hinzugefügt werden können, um die zugrunde liegenden Plattform-Barrierefreiheits-APIs festzulegen.
Von Bedeutung
Semantische Eigenschaften versuchen nicht, das entsprechende Verhalten auf jeder Plattform zu erzwingen. Stattdessen verlassen sie sich auf die Barrierefreiheitserfahrung, die von jeder Plattform bereitgestellt wird.
Die SemanticProperties Klasse definiert die folgenden angefügten Eigenschaften:
Description
, vom Typstring
, der eine Beschreibung darstellt, die von einem Bildschirmleseprogramm vorgelesen wird. Weitere Informationen finden Sie unter Beschreibung.Hint
, vom Typstring
, der ähnlichDescription
ist , bietet aber zusätzlichen Kontext, z. B. den Zweck eines Steuerelements. Weitere Informationen finden Sie unter Hinweis.HeadingLevel
, vom Typ SemanticHeadingLevel, mit dem ein Element als Überschrift gekennzeichnet werden kann, um die Benutzeroberfläche zu organisieren und die Navigation zu erleichtern. Weitere Informationen finden Sie unter Überschriftenebenen.
Diese angehängten Eigenschaften legen Werte für die Barrierefreiheit der Plattform fest, sodass eine Sprachausgabe über das Element sprechen kann. Weitere Informationen über angehängte Eigenschaften finden Sie unter Angehängte Eigenschaften.
BESCHREIBUNG
Die angehängte Eigenschaft Description
steht für ein kurzes, beschreibendes string
, das eine Sprachausgabe zur Ankündigung eines Elements verwendet. Diese Eigenschaft sollte für Elemente festgelegt werden, die eine Bedeutung haben, die wichtig ist, um den Inhalt zu verstehen oder mit der Benutzeroberfläche zu interagieren. Das Festlegen dieser Eigenschaft kann in XAML erfolgen:
<Image Source="dotnet_bot.png"
SemanticProperties.Description="Cute dot net bot waving hi to you!" />
Alternativ kann sie in C# festgelegt werden:
Image image = new Image { Source = "dotnet_bot.png" };
SemanticProperties.SetDescription(image, "Cute dot net bot waving hi to you!");
Darüber hinaus kann die SetValue Methode auch zum Festlegen der Description
angefügten Eigenschaft verwendet werden:
image.SetValue(SemanticProperties.DescriptionProperty, "Cute dot net bot waving hi to you!");
Die Barrierefreiheitsinformationen für ein Element können auch für ein anderes Element definiert werden. Beispielsweise kann eine Label Neben einer Switch verwendet werden, um zu beschreiben, was die Switch Darstellung darstellt. Dies kann in XAML wie folgt erfolgen:
<Label x:Name="label"
Text="Enable dark mode: " />
<Switch SemanticProperties.Description="{Binding x:DataType='Label', Source={x:Reference label}, Path=Text}" />
Alternativ kann sie in C# wie folgt festgelegt werden:
Label label = new Label
{
Text = "Enable dark mode: "
};
Switch mySwitch = new Switch();
SemanticProperties.SetDescription(mySwitch, label.Text);
Warnung
- Vermeiden Sie es, die
Description
angehängte Eigenschaft auf eine Label zu setzen. Dadurch wird die EigenschaftText
nicht mehr von der Sprachausgabe gesprochen. Der Grund dafür ist, dass der visuelle Text idealerweise mit dem von der Sprachausgabe vorgelesenen Text übereinstimmen sollte. - Vermeiden Sie es, die angehängte Eigenschaft
Description
auf einem Entry oder Editor auf Android zu setzen. Andernfalls funktionieren die Talkback-Aktionen nicht mehr. Verwenden Sie stattdessen die Placeholder Eigenschaft oder dieHint
angefügte Eigenschaft. - Wenn Sie unter iOS die Eigenschaft
Description
für ein Steuerelement mit untergeordneten Elementen festlegen, kann die Sprachausgabe die untergeordneten Elemente nicht erreichen. Das liegt daran, dass iOS keine Funktionen für die Barrierefreiheit bietet, die die Navigation von einem übergeordneten Element zu einem untergeordneten Element ermöglichen.
Hinweis
Die Hint
angehängte Eigenschaft stellt eine string
dar, die zusätzlichen Kontext zur Description
angehängten Eigenschaft liefert, wie z. B. den Zweck eines Steuerelements. Das Festlegen dieser Eigenschaft kann in XAML erfolgen:
<Image Source="like.png"
SemanticProperties.Description="Like"
SemanticProperties.Hint="Like this post." />
Alternativ kann sie in C# festgelegt werden:
Image image = new Image { Source = "like.png" };
SemanticProperties.SetDescription(image, "Like");
SemanticProperties.SetHint(image, "Like this post.");
Darüber hinaus kann die SetValue Methode auch zum Festlegen der Hint
angefügten Eigenschaft verwendet werden:
image.SetValue(SemanticProperties.HintProperty, "Like this post.");
Unter Android verhält sich diese Eigenschaft je nach angefügtem Steuerelement geringfügig anders. Bei Steuerelementen ohne Textwerte, wie z. B. Switch und CheckBox, zeigen die Steuerelemente den Hinweis zusammen mit dem Steuerelement an. Bei Steuerelementen mit Textwerten wird der Hinweis jedoch nicht angezeigt und nach dem Textwert gelesen.
Warnung
Die Hint
Eigenschaft ist mit der Entry.Placeholder
Eigenschaft unter Android in Konflikt, die beide der gleichen Plattformeigenschaft zugeordnet sind. Daher wird das Festlegen eines anderen Hint
Werts auf den Entry.Placeholder
Wert nicht empfohlen.
Überschriftenebenen
Mit der HeadingLevel
angefügten Eigenschaft kann ein Element als Überschrift gekennzeichnet werden, um die Benutzeroberfläche zu organisieren und die Navigation zu vereinfachen. Einige Bildschirmleseprogramme ermöglichen Benutzern, schnell zwischen Überschriften zu navigieren.
Überschriften haben eine Ebene von 1 bis 9 und werden durch die SemanticHeadingLevel-Aufzählung dargestellt, die None
, sowie Level1
bis Level9
Mitglieder definiert.
Von Bedeutung
Windows bietet zwar 9 Überschriftenebenen, Android und iOS bieten jedoch nur eine einzelne Überschrift. Wenn HeadingLevel
unter Windows festgelegt ist, wird sie der richtigen Überschriftenebene zugeordnet. Wenn sie jedoch unter Android und iOS festgelegt ist, wird sie einer einzelnen Überschriftenebene zugeordnet.
Das folgende Beispiel veranschaulicht das Festlegen dieser angefügten Eigenschaft:
<Label Text="Get started with .NET MAUI"
SemanticProperties.HeadingLevel="Level1" />
<Label Text="Paragraphs of text go here." />
<Label Text="Installation"
SemanticProperties.HeadingLevel="Level2" />
<Label Text="Paragraphs of text go here." />
<Label Text="Build your first app"
SemanticProperties.HeadingLevel="Level3" />
<Label Text="Paragraphs of text go here." />
<Label Text="Publish your app"
SemanticProperties.HeadingLevel="Level4" />
<Label Text="Paragraphs of text go here." />
Alternativ kann sie in C# festgelegt werden:
Label label1 = new Label { Text = "Get started with .NET MAUI" };
Label label2 = new Label { Text = "Paragraphs of text go here." };
Label label3 = new Label { Text = "Installation" };
Label label4 = new Label { Text = "Paragraphs of text go here." };
Label label5 = new Label { Text = "Build your first app" };
Label label6 = new Label { Text = "Paragraphs of text go here." };
Label label7 = new Label { Text = "Publish your app" };
Label label8 = new Label { Text = "Paragraphs of text go here." };
SemanticProperties.SetHeadingLevel(label1, SemanticHeadingLevel.Level1);
SemanticProperties.SetHeadingLevel(label3, SemanticHeadingLevel.Level2);
SemanticProperties.SetHeadingLevel(label5, SemanticHeadingLevel.Level3);
SemanticProperties.SetHeadingLevel(label7, SemanticHeadingLevel.Level4);
Darüber hinaus kann die SetValue Methode auch zum Festlegen der HeadingLevel
angefügten Eigenschaft verwendet werden:
label1.SetValue(SemanticProperties.HeadingLevelProperty, SemanticHeadingLevel.Level1);
Semantischer Fokus
Steuerelemente verfügen über eine SetSemanticFocus-Erweiterungsmethode, die den Fokus der Sprachausgabe auf ein bestimmtes Element lenkt. Zum Beispiel kann bei einem Label-Element, das label
genannt wird, der Fokus des Bildschirmlesers mit dem folgenden Code auf das Element gezwungen werden:
label.SetSemanticFocus();
Semantischer Screenreader
.NET MAUI stellt die ISemanticScreenReader Schnittstelle bereit, mit der Sie ein Bildschirmlesegerät anweisen können, dem Benutzer Text vorzulesen. Die Schnittstelle wird über die Default Eigenschaft verfügbar gemacht und ist im Microsoft.Maui.Accessibility Namespace verfügbar.
Um die Sprachausgabe anzuweisen, Text anzusagen, verwenden Sie die Methode Announce und übergeben ein Argument string
, das den Text darstellt. Das folgende Beispiel veranschaulicht die Verwendung dieser Methode:
SemanticScreenReader.Default.Announce("This is the announcement text.");
Einschränkungen
Die Standardmäßige Sprachausgabe der Plattform muss aktiviert sein, damit Text laut vorgelesen werden kann.
Automatisierungseigenschaften
Automatisierungseigenschaften sind angefügte Eigenschaften, die jedem Element hinzugefügt werden können, um anzugeben, wie das Element an das Barrierefreiheitsframework der zugrunde liegenden Plattform gemeldet wird.
Die AutomationProperties Klasse definiert die folgenden angefügten Eigenschaften:
-
ExcludedWithChildren
, vom Typbool?
, bestimmt, ob ein Element und seine ungeordneten Elemente aus der Barrierefreiheitsstruktur ausgeschlossen werden sollen. Weitere Informationen finden Sie unter ExcludedWithChildren. IsInAccessibleTree
, vom Typbool?
, gibt an, ob das Element in der Zugänglichkeitsstruktur verfügbar ist. Weitere Informationen finden Sie unter IsInAccessibleTree.Name
, vom Typstring
, stellt eine kurze Beschreibung des Elements dar, das als sprechenden Bezeichner für dieses Element dient. Weitere Informationen finden Sie unter Name.HelpText
, vom Typstring
, stellt eine längere Beschreibung des Elements dar, die als QuickInfo-Text betrachtet werden kann, der dem Element zugeordnet ist. Weitere Informationen finden Sie unter HelpText.LabeledBy
, vom Typ VisualElement, mit dem ein anderes Element Barrierefreiheitsinformationen für das aktuelle Element definieren kann. Weitere Informationen finden Sie unter "LabeledBy".
Diese angehängten Eigenschaften legen Werte für die Barrierefreiheit der Plattform fest, sodass eine Sprachausgabe über das Element sprechen kann. Weitere Informationen über angehängte Eigenschaften finden Sie unter Angehängte Eigenschaften.
Verschiedene Bildschirmlesegeräte lesen unterschiedliche Zugänglichkeitswerte. Daher wird bei verwendung von Automatisierungseigenschaften empfohlen, dass gründliche Barrierefreiheitstests auf jeder Plattform durchgeführt werden, um eine optimale Erfahrung zu gewährleisten.
Von Bedeutung
Automatisierungseigenschaften sind der Xamarin.Forms-Ansatz zur Bereitstellung von Barrierefreiheitswerten in Apps und wurden durch semantische Eigenschaften ersetzt. Weitere Informationen zu semantischen Eigenschaften finden Sie unter Semantikeigenschaften.
AusgeschlossenMitKindern
Die angehängte Eigenschaft ExcludedWithChildren
, vom Typ bool?
, bestimmt, ob ein Element und seine ungeordneten Elemente aus der Barrierefreiheitsstruktur ausgeschlossen werden sollen. Dies ermöglicht Szenarien wie z. B. das Anzeigen von AbsoluteLayout über einem anderen Layout wie z. B. einem StackLayout, wobei der StackLayout aus dem Barrierefreiheitsbaum ausgeschlossen wird, wenn er nicht sichtbar ist. Sie kann aus XAML wie folgt verwendet werden:
<StackLayout AutomationProperties.ExcludedWithChildren="true">
...
</StackLayout>
Alternativ kann sie in C# wie folgt festgelegt werden:
StackLayout stackLayout = new StackLayout();
...
AutomationProperties.SetExcludedWithChildren(stackLayout, true);
Wenn diese angehängte Eigenschaft gesetzt ist, setzt .NET MAUI die IsInAccessibleTree
angehängte Eigenschaft auf false
für das angegebene Element und seine ungeordneten Elemente.
IsInAccessibleTree
Warnung
Diese angehängte Eigenschaft sollte normalerweise nicht gesetzt werden. Die meisten Steuerelemente sollten in der Barrierefreiheitsstruktur vorhanden sein, und die angehängte Eigenschaft AutomationProperties.ExcludedWithChildren
kann in Szenarien festgelegt werden, in denen ein Element und seine untergeordneten Elemente aus der Barrierefreiheitsstruktur entfernt werden müssen.
Die angehängte Eigenschaft IsInAccessibleTree
vom Typ bool?
bestimmt, ob das Element für die Sprachausgabe sichtbar ist. Es muss auf true
eingestellt werden, um die anderen Automatisierungseigenschaften nutzen zu können. Dies kann in XAML wie folgt erfolgen:
<Entry AutomationProperties.IsInAccessibleTree="true" />
Alternativ kann sie in C# wie folgt festgelegt werden:
Entry entry = new Entry();
AutomationProperties.SetIsInAccessibleTree(entry, true);
Warnung
Wenn unter iOS die IsInAccessibleTree
-Eigenschaft true
für ein Steuerelement mit ungeordneten Elementen gilt, kann die Sprachausgabe die ungeordneten Elemente nicht erreichen. Das liegt daran, dass iOS keine Funktionen für die Barrierefreiheit bietet, die die Navigation von einem übergeordneten Element zu einem untergeordneten Element ermöglichen.
Name
Von Bedeutung
Die Name
angefügte Eigenschaft ist in .NET 8 veraltet. Verwenden Sie stattdessen die angehängte Eigenschaft Description
.
Der Wert der angefügten Eigenschaft Name
sollte eine kurze beschreibende Textzeichenfolge sein, mit der eine Sprachausgabe ein Element ankündigen kann. Diese Eigenschaft sollte für Elemente festgelegt werden, die eine Bedeutung haben, die wichtig ist, um den Inhalt zu verstehen oder mit der Benutzeroberfläche zu interagieren. Dies kann in XAML wie folgt erfolgen:
<ActivityIndicator AutomationProperties.IsInAccessibleTree="true"
AutomationProperties.Name="Progress indicator" />
Alternativ kann sie in C# wie folgt festgelegt werden:
ActivityIndicator activityIndicator = new ActivityIndicator();
AutomationProperties.SetIsInAccessibleTree(activityIndicator, true);
AutomationProperties.SetName(activityIndicator, "Progress indicator");
HelpText
Von Bedeutung
Die HelpText
angefügte Eigenschaft ist in .NET 8 veraltet. Verwenden Sie stattdessen die angehängte Eigenschaft Hint
.
Die angefügte Eigenschaft HelpText
sollte auf Text festgelegt werden, der das Benutzeroberflächenelement beschreibt, und kann als QuickInfo-Text verstanden werden, der dem Element zugeordnet ist. Dies kann in XAML wie folgt erfolgen:
<Button Text="Toggle ActivityIndicator"
AutomationProperties.IsInAccessibleTree="true"
AutomationProperties.HelpText="Tap to toggle the activity indicator" />
Alternativ kann sie in C# wie folgt festgelegt werden:
Button button = new Button { Text = "Toggle ActivityIndicator" };
AutomationProperties.SetIsInAccessibleTree(button, true);
AutomationProperties.SetHelpText(button, "Tap to toggle the activity indicator");
Auf manchen Plattformen kann für Bearbeitungssteuerelemente wie Entry die HelpText
-Eigenschaft in einigen Fällen weggelassen und durch Platzhaltertext ersetzt werden. Beispielsweise ist "Hier Ihren Namen eingeben" ein guter Kandidat für die Entry.Placeholder
Eigenschaft, die den Text im Steuerelement vor der tatsächlichen Eingabe des Benutzers platziert.
LabeledBy
Von Bedeutung
Die LabeledBy
angefügte Eigenschaft ist in .NET 8 veraltet. Verwenden Sie stattdessen eine SemanticProperties.Description
Bindung. Weitere Informationen finden Sie unter SemanticProperties: Description.
Die LabeledBy
angefügte Eigenschaft ermöglicht es einem anderen Element, Barrierefreiheitsinformationen für das aktuelle Element zu definieren. Beispielsweise kann eine Label Neben einer Entry verwendet werden, um zu beschreiben, was die Entry Darstellung darstellt. Dies kann in XAML wie folgt erfolgen:
<Label x:Name="label" Text="Enter your name: " />
<Entry AutomationProperties.IsInAccessibleTree="true"
AutomationProperties.LabeledBy="{x:Reference label}" />
Alternativ kann sie in C# wie folgt festgelegt werden:
Label label = new Label { Text = "Enter your name: " };
Entry entry = new Entry();
AutomationProperties.SetIsInAccessibleTree(entry, true);
AutomationProperties.SetLabeledBy(entry, label);
Von Bedeutung
Dies AutomationProperties.LabeledByProperty
wird unter iOS nicht unterstützt.
Testen der Barrierefreiheit
.NET MAUI-Apps zielen in der Regel auf mehrere Plattformen ab, was bedeutet, dass die Barrierefreiheitsfeatures entsprechend der Plattform getestet werden. Folgen Sie diesen Links, um zu erfahren, wie Sie die Barrierefreiheit auf jeder Plattform testen:
- Testen Sie die Barrierefreiheit Ihrer App unter Android.
- Überprüfen der App-Barrierefreiheit unter iOS.
- Testen der Barrierefreiheit unter OS X
- Barrierefreiheitstests unter Windows.
Die folgenden Tools können Ihnen bei ihren Barrierefreiheitstests helfen:
- Insights für Barrierefreiheit für Android- und Windows-Apps.
- Barrierefreiheitsscanner für Android-Apps.
- Barrierefreiheitsinspektor für iOS- und macOS-Apps.
- Android Studio Layout Inspector für Android-Apps.
- Xcode-Ansichtsdebugger für iOS- und macOS-Apps.
Allerdings kann keines dieser Tools das Benutzererlebnis eines Screenreader-Nutzers perfekt emulieren, und die beste Methode, um Ihre Apps auf Barrierefreiheit zu testen und Probleme zu beheben, erfolgt immer noch manuell auf physischen Geräten mit Screenreadern.
Aktivieren von Bildschirmlesegeräten
Jede Plattform verfügt über einen anderen Standard-Bildschirmleser, um Barrierefreiheitsinformationen vorzulesen.
- Android verfügt über TalkBack. Informationen zum Aktivieren von TalkBack finden Sie unter Aktivieren von TalkBack.
- iOS und macOS verfügen über VoiceOver. Informationen zum Aktivieren von VoiceOver finden Sie unter Aktivieren von VoiceOver.
- Windows verfügt über den Narrator. Informationen zur Aktivierung des Erzählers finden Sie unter Erzähler aktivieren.
TalkBack aktivieren
TalkBack ist das primäre Bildschirmleseprogramm, das unter Android verwendet wird. Die Aktivierung hängt vom Gerätehersteller, der Android-Version und der TalkBack-Version ab. TalkBack kann jedoch in der Regel über die Geräteeinstellungen auf Ihrem Android-Gerät aktiviert werden:
- Starten Sie die App Einstellungen .
- Wählen Sie "Barrierefreiheit>TalkBack" aus.
- Aktivieren Sie TalkBack.
- Wählen Sie OK aus.
Hinweis
Obwohl diese Schritte für die meisten Geräte gelten, treten möglicherweise einige Unterschiede auf.
Ein TalkBack-Lernprogramm wird automatisch geöffnet, wenn Sie TalkBack zum ersten Mal aktivieren.
Alternative Methoden zum Aktivieren von TalkBack finden Sie unter Aktivieren oder Deaktivieren von Talkback.
Aktivieren von VoiceOver
VoiceOver ist das primäre Bildschirmleseprogramm, das für iOS und macOS verwendet wird. Unter iOS kann VoiceOver wie folgt aktiviert werden:
- Starten Sie die App Einstellungen .
- Wählen Sie "AccessibilityVoiceOver" aus>.
- Aktivieren sie VoiceOver .
Ein VoiceOver-Lernprogramm kann geöffnet werden, indem VoiceOver Practice ausgewählt wird, sobald VoiceOver aktiviert ist.
Alternative Methoden zum Aktivieren von VoiceOver finden Sie unter Aktivieren und Üben von VoiceOver auf dem iPhone und Aktivieren und Üben von VoiceOver auf iPad.
Unter macOS kann VoiceOver wie folgt aktiviert werden:
- Öffnen Sie die Systemeinstellungen.
- Wählen Sie "AccessibilityVoiceOver" aus>.
- Wählen Sie "VoiceOver aktivieren" aus.
- Wählen Sie "VoiceOver verwenden" aus.
Ein VoiceOver-Lernprogramm kann geöffnet werden, indem Sie "VoiceOver-Schulung öffnen" auswählen.
Alternative Methoden zum Aktivieren von VoiceOver finden Sie unter Aktivieren oder Deaktivieren von VoiceOver auf einem Mac.
Sprachausgabe aktivieren
Narrator ist der primäre Bildschirmleser, der unter Windows verwendet wird. Narrator kann durch gleichzeitiges Drücken der Windows-Logo-Taste + Strg + Eingabetaste aktiviert werden. Drücken Sie zum Beenden der Sprachausgabe diese Tasten erneut.
Weitere Informationen zu Narrator finden Sie in der vollständigen Anleitung zu Narrator.
Prüfliste für die Barrierefreiheit
Befolgen Sie die folgenden Tipps, um sicherzustellen, dass Ihre .NET MAUI-Apps für die größtmögliche Zielgruppe zugänglich sind:
- Stellen Sie sicher, dass Ihre App durch befolgen der Richtlinien für die Barrierefreiheit von Webinhalten (WEB Content Accessibility Guidelines, WCAG) erkennbar, funktionsfähig, verständlich und robust ist. WCAG ist der globale Standard für Barrierefreiheit und rechtliche Benchmark für Web und Mobile. Weitere Informationen finden Sie unter Web Content Accessibility Guidelines (WCAG) Overview.
- Stellen Sie sicher, dass die Benutzeroberfläche selbstbeschreibend ist. Testen Sie, dass alle Elemente der Benutzeroberfläche barrierefrei sind. Fügen Sie bei Bedarf aussagekräftigen Text und Hinweise hinzu.
- Stellen Sie sicher, dass Bilder und Symbole alternative Textbeschreibungen aufweisen.
- Unterstützen Sie große Schriftarten und hohen Kontrast. Vermeiden Sie fest codierte Steuerungsabmessungen und bevorzugen Sie stattdessen Layouts, die sich anpassen, um größere Schriftgrößen zu unterstützen. Testen Sie Farbschemas im Modus mit hohem Kontrast, um sicherzustellen, dass sie lesbar sind.
- Entwerfen Sie den visuellen Baum unter Berücksichtigung der Navigation. Verwenden Sie geeignete Layoutsteuerelemente, sodass das Navigieren zwischen Steuerelementen mithilfe alternativer Eingabemethoden den gleichen logischen Fluss wie die Verwendung von Toucheingaben befolgt. Blenden Sie außerdem unnötige Elemente für Bildschirmlesegeräte aus (z. B. dekorative Bilder oder Beschriftungen für Felder, die bereits zugänglich sind).
- Verlassen Sie sich nicht allein auf Audio- oder Farbhinweise. Vermeiden Sie Situationen, in denen die einzige Anzeige des Fortschritts, der Fertigstellung oder eines anderen Zustands eine Klang- oder Farbänderung ist. Entwerfen Sie entweder die Benutzeroberfläche so, dass sie klare visuelle Hinweise enthält, mit Sound und Farbe nur zur Verstärkung, oder fügen Sie bestimmte Barrierefreiheitsindikatoren hinzu. Versuchen Sie beim Auswählen von Farben, eine Palette zu vermeiden, die für Benutzer mit Farbenblindheit schwer zu unterscheiden ist.
- Stellen Sie Untertitel für Videoinhalte und ein lesbares Skript für Audioinhalte bereit. Es ist auch hilfreich, Steuerelemente bereitzustellen, die die Geschwindigkeit von Audio- oder Videoinhalten anpassen und sicherstellen, dass Lautstärke- und Transportsteuerelemente leicht zu finden und zu verwenden sind.
- Lokalisieren Sie Ihre Barrierefreiheitsbeschreibungen, wenn die App mehrere Sprachen unterstützt.
- Testen Sie die Barrierefreiheitsfeatures Ihrer App auf jeder Plattform, auf die sie ausgerichtet ist. Weitere Informationen finden Sie unter Testen der Barrierefreiheit.