.NET MAUI accessibility — SemanticProperties, AutomationProperties, screen readers (TalkBack, VoiceOver, Narrator), heading levels, programmatic focus, WCAG 2.1 compliance. USE FOR: making MAUI apps accessible, adding screen reader support, validating WCAG compliance. DO NOT USE FOR: general MAUI UI layout (use maui-patterns) or Blazor accessibility (use blazor-patterns).
Basiert auf: davidortinau/maui-skills (MIT, David Ortinau, Microsoft)
<Image Source="logo.png"
SemanticProperties.Description="Firmenlogo"
SemanticProperties.Hint="Dekoratives Bild" />
<Label Text="Einstellungen"
SemanticProperties.HeadingLevel="Level1" />
<Button Text="Speichern"
SemanticProperties.Description="Änderungen speichern" />
<!-- Korrekte Hierarchie einhalten -->
<Label SemanticProperties.HeadingLevel="Level1" Text="Haupttitel" />
<Label SemanticProperties.HeadingLevel="Level2" Text="Abschnitt" />
<Label SemanticProperties.HeadingLevel="Level3" Text="Unterabschnitt" />
<!-- Element für Screen Reader unsichtbar machen -->
<BoxView AutomationProperties.IsInAccessibleTree="False" />
<!-- Eigenen Namen setzen (überschreibt Text) -->
<Entry AutomationProperties.Name="E-Mail-Adresse eingeben"
Placeholder="E-Mail" />
// Fokus setzen
SemanticScreenReader.Default.SetFocus(myEntry);
// Ankündigung (z.B. nach Lade-Vorgang)
SemanticScreenReader.Default.Announce("3 Ergebnisse geladen");
| Platform | Screen Reader | Test-Methode |
|---|---|---|
| Android | TalkBack | Einstellungen → Bedienungshilfen → TalkBack |
| iOS | VoiceOver | Einstellungen → Bedienungshilfen → VoiceOver |
| Windows | Narrator | Win + Ctrl + Enter |
| macOS | VoiceOver | Cmd + F5 |
SemanticProperties.DescriptionIsInAccessibleTree="False"