Créer des applications accessibles avec des propriétés sémantiques
La sémantique de l’accessibilité concerne la création d’expériences qui rendent vos applications inclusives pour les personnes qui utilisent la technologie dans un large éventail d’environnements et approchent votre interface utilisateur avec un large éventail de besoins et d’expériences. Dans de nombreuses situations, les exigences légales en matière d’accessibilité peuvent donner un élan aux développeurs pour résoudre les problèmes d’accessibilité. Indépendamment, il est conseillé de créer des applications inclusives et accessibles afin que vos applications atteignent le plus grand public possible.
Les recommandations en matière d’accessibilité du contenu web (WCAG) sont la norme d’accessibilité mondiale et le point de référence juridique pour le web et le mobile. Ces instructions décrivent les différentes façons dont les applications peuvent être rendues plus perceivables, opérables, compréhensibles et robustes, pour tous.
De nombreux besoins en matière d’accessibilité des utilisateurs sont satisfaits par les produits technologiques d’assistance installés par l’utilisateur ou par les outils et les paramètres fournis par le système d’exploitation. Cela inclut des fonctionnalités telles que les lecteurs d’écran, l’agrandissement de l’écran et les paramètres à contraste élevé.
Les lecteurs d’écran fournissent généralement des descriptions auditives des contrôles affichés à l’écran. Ces descriptions aident les utilisateurs à parcourir l’application et à fournir des références à des contrôles, tels que des images, qui n’ont pas d’entrée ou de texte. Les lecteurs d’écran sont souvent contrôlés par le biais de mouvements sur l’écran tactile, le pavé tactile ou le clavier. Pour plus d’informations sur l’activation des lecteurs d’écran, consultez Activer les lecteurs d’écran.
Les systèmes d’exploitation ont leurs propres lecteurs d’écran avec leur propre comportement et configuration uniques. Par exemple, la plupart des lecteurs d’écran lisent le texte associé à un contrôle lorsqu’il reçoit le focus, ce qui permet aux utilisateurs de s’orienter à mesure qu’ils naviguent dans l’application. Toutefois, certains lecteurs d’écran peuvent également lire l’ensemble de l’interface utilisateur de l’application lorsqu’une page s’affiche, ce qui permet à l’utilisateur de recevoir tout le contenu d’information disponible de la page avant de tenter de le parcourir.
La plupart des lecteurs d’écran lisent automatiquement le texte associé à un contrôle qui reçoit le focus d’accessibilité. Cela signifie que les contrôles, tels que Label ou Button, qui ont un Text
jeu de propriétés seront accessibles pour l’utilisateur. Toutefois, il est possible que Image, ImageButton, ActivityIndicator et d’autres éléments ne figurent pas dans l’arborescence d’accessibilité, car aucun texte ne leur est associé.
L’interface utilisateur de l’application multiplateforme .NET (.NET MAUI) prend en charge deux approches pour fournir l’accès à l’expérience d’accessibilité de la plateforme sous-jacente. Les propriétés sémantiques sont l’approche MAUI .NET pour fournir des valeurs d’accessibilité dans les applications et sont l’approche recommandée. Les propriétés d’automatisation sont l’approche Xamarin.Forms pour fournir des valeurs d’accessibilité dans les applications et ont été remplacées par des propriétés sémantiques. Dans les deux cas, l’ordre d’accessibilité par défaut des contrôles est le même dans lequel ils sont répertoriés en XAML ou ajoutés à la disposition. Toutefois, différentes dispositions peuvent avoir des facteurs supplémentaires qui influencent l’ordre d’accessibilité. Par exemple, l’ordre d’accessibilité est StackLayout également basé sur son orientation, et l’ordre d’accessibilité Grid est basé sur sa disposition de ligne et de colonne. Pour plus d’informations sur l’ordre de contenu, consultez Commande de contenu explicite sur le blog Xamarin.
Remarque
Lorsqu’un WebView site web est accessible, il sera également accessible dans une application MAUI .NET. À l’inverse, lorsqu’un WebView site web n’est pas accessible, il ne sera pas accessible dans une application .NET MAUI.
Propriétés sémantiques
Les propriétés sémantiques sont utilisées pour définir des informations sur les contrôles qui doivent recevoir le focus d’accessibilité et quel texte doit être lu à haute voix pour l’utilisateur. Les propriétés sémantiques sont des propriétés jointes qui peuvent être ajoutées à n’importe quel élément pour définir les API d’accessibilité de plateforme sous-jacentes.
Important
Les propriétés sémantiques n’essaient pas de forcer le comportement équivalent sur chaque plateforme. Au lieu de cela, ils s’appuient sur l’expérience d’accessibilité fournie par chaque plateforme.
La SemanticProperties classe définit les propriétés jointes suivantes :
Description
, de typestring
, qui représente une description qui sera lue à haute voix par le lecteur d’écran. Pour plus d’informations, consultez Description.Hint
, de typestring
, qui est similaire àDescription
, mais fournit un contexte supplémentaire tel que l’objectif d’un contrôle. Pour plus d’informations, consultez Indicateur.HeadingLevel
, de type SemanticHeadingLevel, qui permet à un élément d’être marqué comme un titre pour organiser l’interface utilisateur et de faciliter la navigation. Pour plus d’informations, consultez Niveaux de titre.
Ces propriétés jointes définissent les valeurs d’accessibilité de la plateforme afin qu’un lecteur d’écran puisse parler de l’élément. Pour plus d’informations sur les propriétés jointes, consultez propriétés jointes.
Description
La Description
propriété jointe représente un court et descriptif string
qu’un lecteur d’écran utilise pour annoncer un élément. Cette propriété doit être définie pour les éléments qui ont une signification importante pour comprendre le contenu ou interagir avec l’interface utilisateur. La définition de cette propriété peut être effectuée en XAML :
<Image Source="dotnet_bot.png"
SemanticProperties.Description="Cute dot net bot waving hi to you!" />
Vous pouvez également définir ce paramètre en C# :
Image image = new Image { Source = "dotnet_bot.png" };
SemanticProperties.SetDescription(image, "Cute dot net bot waving hi to you!");
En outre, la SetValue méthode peut également être utilisée pour définir la Description
propriété jointe :
image.SetValue(SemanticProperties.DescriptionProperty, "Cute dot net bot waving hi to you!");
Les informations d’accessibilité d’un élément peuvent également être définies sur un autre élément. Par exemple, un Label en regard d’un objet Switch peut être utilisé pour décrire ce que l’objet Switch représente. Cela peut être accompli en XAML de la façon suivante :
<Label x:Name="label"
Text="Enable dark mode: " />
<Switch SemanticProperties.Description="{Binding Source={x:Reference label} Path=Text}" />
Elle peut également être définie en C# comme suit :
Label label = new Label
{
Text = "Enable dark mode: "
};
Switch mySwitch = new Switch();
SemanticProperties.SetDescription(mySwitch, label.Text);
Avertissement
- Évitez de définir la
Description
propriété jointe sur un Label. Cela arrête laText
propriété parlée par le lecteur d’écran. Cela est dû au fait que le texte visuel doit idéalement correspondre au texte lu à haute voix par le lecteur d’écran. - Évitez de définir la
Description
propriété jointe sur un Entry ou Editor sur Android. Cela arrête le fonctionnement des actions Talkback. Utilisez plutôt la Placeholder propriété ou laHint
propriété jointe. - Sur iOS, si vous définissez la
Description
propriété sur n’importe quel contrôle qui a des enfants, le lecteur d’écran ne pourra pas atteindre les enfants. Cela est dû au fait que iOS ne fournit pas de fonctionnalités d’accessibilité qui autorisent la navigation à partir d’un élément parent dans un élément enfant.
Indice
La Hint
propriété jointe représente un string
contexte supplémentaire à la Description
propriété jointe, telle que l’objectif d’un contrôle. La définition de cette propriété peut être effectuée en XAML :
<Image Source="like.png"
SemanticProperties.Description="Like"
SemanticProperties.Hint="Like this post." />
Vous pouvez également définir ce paramètre en C# :
Image image = new Image { Source = "like.png" };
SemanticProperties.SetDescription(image, "Like");
SemanticProperties.SetHint(image, "Like this post.");
En outre, la SetValue méthode peut également être utilisée pour définir la Hint
propriété jointe :
image.SetValue(SemanticProperties.HintProperty, "Like this post.");
Sur Android, cette propriété se comporte légèrement différemment en fonction du contrôle auquel elle est attachée. Par exemple, pour les contrôles sans valeurs de texte, comme Switch et CheckBox, les contrôles affichent l’indicateur avec le contrôle. Toutefois, pour les contrôles avec des valeurs de texte, l’indicateur n’est pas affiché et est lu après la valeur du texte.
Avertissement
La Hint
propriété est en conflit avec la Entry.Placeholder
propriété sur Android, qui est mappé à la même propriété de plateforme. Par conséquent, la définition d’une valeur différente Hint
sur la Entry.Placeholder
valeur n’est pas recommandée.
Niveaux de titre
La HeadingLevel
propriété jointe permet à un élément d’être marqué comme un titre pour organiser l’interface utilisateur et de faciliter la navigation. Certains lecteurs d’écran permettent aux utilisateurs de passer rapidement d’un titre à l’autre.
Les en-têtes ont un niveau de 1 à 9 et sont représentés par l’énumération SemanticHeadingLevel , qui définit None
et Level1
par le biais Level9
des membres.
Important
Bien que Windows offre 9 niveaux de titres, Android et iOS offrent uniquement un titre unique. Par conséquent, lorsqu’elle HeadingLevel
est définie sur Windows, elle est mappée au niveau de titre approprié. Toutefois, lorsqu’il est défini sur Android et iOS, il est mappé à un seul niveau de titre.
L’exemple suivant illustre la définition de cette propriété jointe :
<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." />
Vous pouvez également définir ce paramètre en C# :
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.Level1);
SemanticProperties.SetHeadingLevel(label5, SemanticHeadingLevel.Level1);
SemanticProperties.SetHeadingLevel(label7, SemanticHeadingLevel.Level1);
En outre, la SetValue méthode peut également être utilisée pour définir la HeadingLevel
propriété jointe :
label1.SetValue(SemanticProperties.HeadingLevelProperty, SemanticHeadingLevel.Level1);
Focus sémantique
Les contrôles ont une méthode d’extension SetSemanticFocus qui force le focus du lecteur d’écran à un élément spécifié. Par exemple, en fonction d’un Label focus nommé label
, le focus du lecteur d’écran peut être forcé à l’élément avec le code suivant :
label.SetSemanticFocus();
Lecteur d’écran sémantique
.NET MAUI fournit l’interface ISemanticScreenReader , avec laquelle vous pouvez demander à un lecteur d’écran d’annoncer du texte à l’utilisateur. L’interface est exposée via la Default propriété et est disponible dans l’espace Microsoft.Maui.Accessibility de noms.
Pour indiquer à un lecteur d’écran d’annoncer du texte, utilisez la Announce méthode, en passant un string
argument qui représente le texte. L’exemple suivant illustre l’utilisation de cette méthode :
SemanticScreenReader.Default.Announce("This is the announcement text.");
Limites
Le lecteur d’écran de plateforme par défaut doit être activé pour que le texte soit lu à haute voix.
Propriétés d’automatisation
Les propriétés Automation sont des propriétés jointes qui peuvent être ajoutées à n’importe quel élément pour indiquer comment l’élément est signalé au framework d’accessibilité de la plateforme sous-jacente.
La AutomationProperties classe définit les propriétés jointes suivantes :
ExcludedWithChildren
, de typebool?
, détermine si un élément et ses enfants doivent être exclus de l’arborescence d’accessibilité. Pour plus d’informations, consultez ExcludedWithChildren.IsInAccessibleTree
, de typebool?
, indique si l’élément est disponible dans l’arborescence d’accessibilité. Pour plus d’informations, consultez IsInAccessibleTree.Name
, de typestring
, représente une brève description de l’élément qui sert d’identificateur parlant pour cet élément. Pour plus d’informations, consultez Name.HelpText
, de typestring
, représente une description plus longue de l’élément, qui peut être considéré comme un texte d’info-bulle associé à l’élément. Pour plus d’informations, consultez HelpText.LabeledBy
, de type VisualElement, qui permet à un autre élément de définir des informations d’accessibilité pour l’élément actuel. Pour plus d’informations, consultez LabeledBy.
Ces propriétés jointes définissent les valeurs d’accessibilité de la plateforme afin qu’un lecteur d’écran puisse parler de l’élément. Pour plus d’informations sur les propriétés jointes, consultez propriétés jointes.
Différents lecteurs d’écran lisent différentes valeurs d’accessibilité. Par conséquent, lors de l’utilisation des propriétés d’automatisation, il est recommandé d’effectuer des tests d’accessibilité approfondis sur chaque plateforme pour garantir une expérience optimale.
Important
Les propriétés d’automatisation sont l’approche Xamarin.Forms pour fournir des valeurs d’accessibilité dans les applications et ont été remplacées par des propriétés sémantiques. Pour plus d’informations sur les propriétés sémantiques, consultez Propriétés sémantiques.
ExcludedWithChildren
La ExcludedWithChildren
propriété jointe, de type bool?
, détermine si un élément et ses enfants doivent être exclus de l’arborescence d’accessibilité. Cela permet des scénarios tels que l’affichage d’une disposition sur une AbsoluteLayout StackLayoutautre disposition, avec l’exclusion StackLayout de l’arborescence d’accessibilité lorsqu’elle n’est pas visible. Il peut être utilisé à partir de XAML comme suit :
<StackLayout AutomationProperties.ExcludedWithChildren="true">
...
</StackLayout>
Elle peut également être définie en C# comme suit :
StackLayout stackLayout = new StackLayout();
...
AutomationProperties.SetExcludedWithChildren(stackLayout, true);
Lorsque cette propriété jointe est définie, .NET MAUI définit la IsInAccessibleTree
propriété false
jointe sur l’élément spécifié et ses enfants.
IsInAccessibleTree
Avertissement
Cette propriété jointe doit généralement rester non définie. La majorité des contrôles doivent être présents dans l’arborescence d’accessibilité, et la AutomationProperties.ExcludedWithChildren
propriété jointe peut être définie dans les scénarios où un élément et ses enfants doivent être supprimés de l’arborescence d’accessibilité.
La IsInAccessibleTree
propriété jointe, de type bool?
, détermine si l’élément est visible par les lecteurs d’écran. Elle doit être définie pour true
utiliser les autres propriétés d’automatisation. Cela peut être accompli en XAML de la façon suivante :
<Entry AutomationProperties.IsInAccessibleTree="true" />
Elle peut également être définie en C# comme suit :
Entry entry = new Entry();
AutomationProperties.SetIsInAccessibleTree(entry, true);
Avertissement
Sur iOS, si la IsInAccessibleTree
propriété se trouve true
sur n’importe quel contrôle qui a des enfants, le lecteur d’écran ne pourra pas atteindre les enfants. Cela est dû au fait que iOS ne fournit pas de fonctionnalités d’accessibilité qui autorisent la navigation à partir d’un élément parent dans un élément enfant.
Nom
Important
La Name
propriété jointe a été déconseillée dans .NET 8. Utilisez plutôt la Description
propriété jointe.
La valeur de la propriété jointe Name
doit être une brève chaîne de texte descriptive qu’un lecteur d’écran utilise pour annoncer un élément. Cette propriété doit être définie pour les éléments qui ont une signification importante pour comprendre le contenu ou interagir avec l’interface utilisateur. Cela peut être accompli en XAML de la façon suivante :
<ActivityIndicator AutomationProperties.IsInAccessibleTree="true"
AutomationProperties.Name="Progress indicator" />
Elle peut également être définie en C# comme suit :
ActivityIndicator activityIndicator = new ActivityIndicator();
AutomationProperties.SetIsInAccessibleTree(activityIndicator, true);
AutomationProperties.SetName(activityIndicator, "Progress indicator");
HelpText
Important
La HelpText
propriété jointe a été déconseillée dans .NET 8. Utilisez plutôt la Hint
propriété jointe.
La propriété jointe HelpText
doit être définie sur le texte qui décrit l’élément d’interface utilisateur, et peut être considérée comme un texte d’info-bulle associé à l’élément. Cela peut être accompli en XAML de la façon suivante :
<Button Text="Toggle ActivityIndicator"
AutomationProperties.IsInAccessibleTree="true"
AutomationProperties.HelpText="Tap to toggle the activity indicator" />
Elle peut également être définie en C# comme suit :
Button button = new Button { Text = "Toggle ActivityIndicator" };
AutomationProperties.SetIsInAccessibleTree(button, true);
AutomationProperties.SetHelpText(button, "Tap to toggle the activity indicator");
Sur certaines plateformes, pour modifier des contrôles tels qu’un objet Entry, la propriété HelpText
peut parfois être omise et remplacée par un texte d’espace réservé. Par exemple, « Entrez ici votre nom » est un bon candidat pour la propriété Entry.Placeholder
qui place le texte dans le contrôle avant que l’utilisateur l’entre réellement.
LabeledBy
Important
La LabeledBy
propriété jointe a été déconseillée dans .NET 8. Utilisez plutôt une SemanticProperties.Description
liaison. Pour plus d’informations, consultez SemanticProperties : Description.
La propriété jointe LabeledBy
permet à un autre élément de définir des informations d’accessibilité pour l’élément actuel. Par exemple, un Label en regard d’un objet Entry peut être utilisé pour décrire ce que l’objet Entry représente. Cela peut être accompli en XAML de la façon suivante :
<Label x:Name="label" Text="Enter your name: " />
<Entry AutomationProperties.IsInAccessibleTree="true"
AutomationProperties.LabeledBy="{x:Reference label}" />
Elle peut également être définie en C# comme suit :
Label label = new Label { Text = "Enter your name: " };
Entry entry = new Entry();
AutomationProperties.SetIsInAccessibleTree(entry, true);
AutomationProperties.SetLabeledBy(entry, label);
Important
Il AutomationProperties.LabeledByProperty
n’est pas pris en charge sur iOS.
Test de l’accessibilité
Les applications .NET MAUI ciblent généralement plusieurs plateformes, ce qui signifie tester les fonctionnalités d’accessibilité en fonction de la plateforme. Suivez ces liens pour apprendre à tester l’accessibilité sur chaque plateforme :
- Testez l’accessibilité de votre application sur Android.
- Vérification de l’accessibilité de l’application sur iOS.
- Test de l’accessibilité sur OS X
- Tests d’accessibilité sur Windows.
Les outils suivants peuvent vous aider à effectuer vos tests d’accessibilité :
- Recommandations d’accessibilité pour les applications Android et Windows.
- Scanneur d’accessibilité pour les applications Android.
- Inspecteur d’accessibilité pour les applications iOS et macOS.
- Inspecteur de disposition Android Studio pour les applications Android.
- Débogueur de vue Xcode pour les applications iOS et macOS.
Toutefois, aucun de ces outils ne peut émuler parfaitement l’expérience utilisateur du lecteur d’écran, et la meilleure façon de tester et résoudre les problèmes de vos applications pour l’accessibilité sera toujours manuellement sur des appareils physiques avec des lecteurs d’écran.
Activation des lecteurs d’écran
Chaque plateforme a un lecteur d’écran par défaut différent pour raconter les valeurs d’accessibilité :
- Android dispose de TalkBack. Pour plus d’informations sur l’activation de TalkBack, consultez Activer TalkBack.
- iOS et macOS ont VoiceOver. Pour plus d’informations sur l’activation de VoiceOver, consultez Activer VoiceOver.
- Windows dispose du Narrateur. Pour plus d’informations sur l’activation du Narrateur, consultez Activer le Narrateur.
Activer TalkBack
TalkBack est le principal lecteur d’écran utilisé sur Android. La façon dont elle est activée dépend du fabricant de l’appareil, de la version Android et de la version TalkBack. Toutefois, TalkBack peut généralement être activé sur votre appareil Android via les paramètres de l’appareil :
- Ouvrez l’application Paramètres .
- Sélectionnez TalkBack d’accessibilité>.
- Activez TalkBack .
- Cliquez sur OK.
Remarque
Bien que ces étapes s’appliquent à la plupart des appareils, vous pouvez rencontrer des différences.
Un didacticiel TalkBack s’ouvre automatiquement la première fois que vous activez TalkBack.
Pour obtenir d’autres méthodes d’activation de TalkBack, consultez Activer ou désactiver Talkback.
Activer VoiceOver
VoiceOver est le lecteur d’écran principal utilisé sur iOS et macOS. Sur iOS, VoiceOver peut être activé comme suit :
- Ouvrez l’application Paramètres .
- Sélectionnez Accessibility>VoiceOver.
- Activez VoiceOver .
Un didacticiel VoiceOver peut être ouvert en sélectionnant VoiceOver Practice, une fois VoiceOver activé.
Pour obtenir d’autres méthodes d’activation de VoiceOver, consultez Activer et pratiquer VoiceOver sur i Téléphone et activer et pratiquer VoiceOver sur iPad.
Sur macOS, VoiceOver peut être activé comme suit :
- Ouvrez les préférences système.
- Sélectionnez Accessibility>VoiceOver.
- Sélectionnez Activer VoiceOver.
- Sélectionnez Utiliser VoiceOver.
Un didacticiel VoiceOver peut être ouvert en sélectionnant Open VoiceOver Training....
Pour obtenir d’autres méthodes d’activation de VoiceOver, consultez Activer ou désactiver VoiceOver sur Mac.
Activer le Narrateur
Le Narrateur est le lecteur d’écran principal utilisé sur Windows. Le Narrateur peut être activé en appuyant ensemble sur la touche + de logo Windows Ctrl + Entrée. Ces touches peuvent être enfoncées à nouveau pour arrêter le Narrateur.
Pour plus d’informations sur le Narrateur, consultez le guide complet du Narrateur.
Liste de vérification de l’accessibilité
Suivez ces conseils pour vous assurer que vos applications .NET MAUI sont accessibles au plus grand public possible :
- Assurez-vous que votre application est perceivable, opérable, compréhensible et robuste pour tous en suivant les instructions d’accessibilité du contenu web (WCAG). WCAG est la norme d’accessibilité mondiale et le point de référence juridique pour le web et le mobile. Pour plus d’informations, consultez Vue d’ensemble des instructions d’accessibilité du contenu web (WCAG).
- Vérifiez que l’interface utilisateur est auto-décrivant. Testez que tous les éléments de votre interface utilisateur sont accessibles au lecteur d’écran. Ajoutez du texte descriptif et des indicateurs si nécessaire.
- Vérifiez que les images et les icônes ont d’autres descriptions de texte.
- Prendre en charge les polices volumineuses et le contraste élevé. Évitez les dimensions de contrôle de codage en dur et préférez plutôt les dispositions qui sont redimensionnées pour prendre en charge des tailles de police plus grandes. Testez les jeux de couleurs en mode contraste élevé pour vous assurer qu’ils sont lisibles.
- Concevez l’arborescence visuelle en utilisant la navigation à l’esprit. Utilisez les contrôles de disposition appropriés afin que la navigation entre les contrôles à l’aide de méthodes d’entrée alternatives suit le même flux logique que l’utilisation de l’interaction tactile. En outre, excluez les éléments inutiles des lecteurs d’écran (par exemple, des images décoratives ou des étiquettes pour les champs déjà accessibles).
- Ne vous fiez pas uniquement aux signaux audio ou de couleur. Évitez les situations où la seule indication de la progression, de l’achèvement ou d’un autre état est un changement de son ou de couleur. Concevez l’interface utilisateur pour inclure des signaux visuels clairs, avec un son et une couleur pour le renforcement uniquement, ou ajoutez des indicateurs d’accessibilité spécifiques. Lorsque vous choisissez des couleurs, essayez d’éviter une palette difficile à distinguer pour les utilisateurs avec une aveuglement de couleur.
- Fournissez des légende pour le contenu vidéo et un script lisible pour le contenu audio. Il est également utile de fournir des contrôles qui ajustent la vitesse du contenu audio ou vidéo et garantissent que les contrôles de volume et de transport sont faciles à trouver et à utiliser.
- Localisez vos descriptions d’accessibilité lorsque l’application prend en charge plusieurs langues.
- Testez les fonctionnalités d’accessibilité de votre application sur chaque plateforme cible. Pour plus d’informations, consultez Test de l’accessibilité.