Développer pour l’accessibilité Web

dans Conseils pour démarrer

About this translation

Cette traduction faite par des volontaires peut ne pas refléter les intentions de l’original en anglais.

Traduction : Sofia Ahmed. Contribution : Sandra Velarde Gonzalez (ETNIC), Rémi Bétin.
L’Initiative pour l’Accessibilité du Web (WAI) remercie les traducteurs, et accueille volontiers d’autres traductions.

Avertissement : The English original has been substantially updated since this translation.Derniers changements
Version en anglais actualisée le : 2024-07-16 — Date de la traduction : 2023-10-10.
Nous accueillons volontiers une mise à jour de la traduction.

Associez une étiquette à chaque composant d’interface de formulaire

Utilisez un attribut for sur l’élément <label> correspondant à l’attribut id de l’élément de formulaire, ou utilisez des attributs WAI-ARIA. Dans certaines situations particulières, il peut être acceptable de masquer visuellement les éléments <label> ; mais la plupart du temps, les étiquettes sont nécessaires pour permettre à tous les lecteurs de comprendre la saisie requise.

Incluez des équivalents textuels pour les images

Veillez à ce qu’un équivalent textuel pour les images soit ajouté à toutes les images fonctionnelles et informatives. Utilisez un équivalent textuel vide alt="" pour les images décoratives, ou incluez-les dans les CSS. Les équivalents textuels sont généralement fournis par les auteurs du contenu écrit.

Identifiez la langue de la page et les changements de lange

Indiquez la langue principale de chaque page en utilisant l’attribut lang dans la balise html, par exemple <html lang="fr">. Utilisez l’attribut lang sur des éléments spécifiques lorsque la langue de l’élément diffère du reste de la page.

Utilisez le balisage pour fournir du sens et de la structure

Utilisez le balisage approprié pour les en-têtes, les listes, les tableaux, etc. Le HTML5 fournit des éléments supplémentaires, tels <nav> et <aside>, pour mieux structurer votre contenu. Les attributs role WAI-ARIA peuvent contribuer à donner plus de sens ; par exemple, en utilisant l’attribut role="search" pour identifier une fonctionnalité de recherche. Travaillez avec les designers et les auteurs des contenus pour vous accorder sur les significations et les utiliser de manière cohérente par la suite.

Aidez les utilisateurs à éviter les erreurs, et à les corriger

Fournissez des instructions claires, des messages d’erreur, et des notifications pour aider les utilisateurs à compléter les formulaires présents sur votre site. Lorsqu’une erreur survient :

Soyez aussi flexibles que possible vis-à-vis du format lors du traitement des données saisies par l’utilisateur. Par exemple, acceptez les numéros de téléphone qui comprennent des espaces et supprimez les espaces au besoin.

Reflétez l’ordre logique de lecture dans l’ordre du code

Assurez-vous que l’ordre des éléments dans le code corresponde à l’ordre logique des informations présentées. Une des manières de le vérifier consiste à enlever le style CSS et à vérifier si l’ordre du contenu a du sens.

Créez un code qui s’adapte aux technologies des utilisateurs

Utilisez un design réactif pour adapter l’affichage à différents niveaux d’agrandissement et à différentes tailles d’espaces de restitution, tels que sur des appareils mobiles et des tablettes. Lorsque la taille de la police est agrandie d’au moins 200 %, évitez le défilement horizontal et empêcher tout rognage du contenu. Utilisez l’amélioration progressive pour veiller à ce que les fonctionnalités et le contenu soient disponibles quelle que soit la technologie utilisée.

Transmettez une signification pour les éléments interactifs non standards

Utilisez WAI-ARIA pour fournir des informations sur l’état et la fonction des widgets personnalisés, tels que les accordéons et les boutons personnalisés. Par exemple, role="navigation" et aria-expanded="true". Du code supplémentaire est nécessaire pour implémenter le comportement de ces widgets, comme le développement et la réduction du contenu ou la manière dont le widget répond aux événements du clavier.

Assurez-vous que tous les éléments interactifs sont accessibles au clavier

Pensez à l’accès au clavier, particulièrement au moment de développer des éléments interactifs, comme des menus, des informations affichées au passage de la souris, des accordéons réductibles, ou des lecteurs multimédia. Utilisez tabindex="0" pour ajouter un élément qui ne reçoit normalement pas le focus, tel que <div> ou <span>, dans l’ordre de navigation ; lorsqu’il est utilisé pour l’interaction. Utilisez un script pour capter et répondre aux événements clavier.

Évitez les CAPTCHAs si possible

Les CAPTCHAs posent problème pour un grand nombre de personnes. Il existe d’autres manières, plus simples à utiliser, de vérifier si les données de l’utilisateur ont été saisies par un humain, comme la détection automatique ou les interactions avec l’interface. Si le CAPTCHA doit absolument être inclus, veillez à ce qu’il soit facile à comprendre et qu’il inclue des alternatives pour les utilisateurs en situation de handicap, telles que :

Retour en haut de page