Audit d'accessibilité RGAA pour applications Angular
Pourquoi Angular pose des problèmes d'accessibilité
Angular est le framework de choix pour les applications d'entreprise complexes, mais son architecture sophistiquée crée des problèmes d'accessibilité spécifiques. Le mécanisme de change detection d'Angular met à jour le DOM de manière invisible pour les lecteurs d'écran : le contenu change à l'écran sans que les technologies d'assistance soient notifiées. Angular Material, la librairie de composants officielle, fournit des composants avec un support ARIA partiel — les mat-select, mat-autocomplete et mat-datepicker ont des lacunes documentées dans la gestion du clavier et des annonces. Le système de routing Angular effectue des navigations côté client sans annonce aux lecteurs d'écran ni gestion du focus. Les directives structurelles (*ngIf, *ngFor) ajoutent et retirent des éléments du DOM, causant des pertes de focus. Les formulaires réactifs d'Angular gèrent la validation dans le code TypeScript mais n'associent pas automatiquement les messages d'erreur aux champs via aria-describedby. Ces problèmes touchent des applications critiques (banques, administrations, santé) où l'accessibilité est une obligation légale.
Problèmes fréquents sur Angular
Change detection invisible pour les lecteurs d'écran
RGAA 7.4Le système de change detection d'Angular met à jour le DOM automatiquement lorsque les données du composant changent. Ces mises à jour ne sont pas encadrées par des régions aria-live et ne déclenchent pas d'annonce. Un compteur de notifications qui se met à jour, un tableau de données qui se rafraîchit, un message de statut qui apparaît : tout cela est invisible pour les lecteurs d'écran sans implémentation explicite d'aria-live.
Angular Material avec lacunes ARIA
RGAA 7.1Les composants Angular Material (mat-select, mat-autocomplete, mat-datepicker, mat-table) ont un support ARIA incomplet. Le mat-select n'annonce pas toujours l'option sélectionnée. Le mat-datepicker a une navigation clavier complexe non conforme aux patterns APG. Le mat-autocomplete ne gère pas correctement aria-activedescendant. Ces lacunes sont documentées dans les issues GitHub du projet mais persistent dans les versions stables.
Routing sans annonce ni gestion de focus
RGAA 12.6Le routeur Angular effectue des navigations côté client qui changent le contenu sans rechargement. Les lecteurs d'écran ne détectent pas le changement de page. Le focus reste sur le lien cliqué au lieu d'être déplacé vers le nouveau contenu. Le titre de la page n'est pas toujours mis à jour via Title service. L'utilisateur non-voyant ne sait pas que la navigation a fonctionné ni quel contenu est maintenant affiché.
Directives *ngIf causant des pertes de focus
RGAA 7.3Les directives *ngIf et *ngFor ajoutent et retirent physiquement des éléments du DOM. Si l'élément qui a le focus est détruit par *ngIf, le focus revient au début du document. Ce problème est fréquent dans les formulaires conditionnels (afficher un champ selon une sélection), les listes dynamiques (supprimer un élément) et les interfaces à onglets construites avec *ngIf au lieu de CSS.
Testez votre site Angular
Découvrez les non-conformités RGAA de votre site Angular en 5 minutes. Gratuit, sans engagement.
Lancer l'audit gratuitCe que Scrutia détecte sur Angular
Scrutia exécute votre application Angular dans un navigateur réel et attend la fin du cycle de change detection avant de tester. Notre moteur détecte les mises à jour DOM non annoncées, les composants Angular Material avec ARIA incomplet, les navigations sans gestion de focus et les pertes de focus causées par les directives structurelles. Nous simulons des interactions clavier complètes incluant la navigation dans les mat-select, mat-datepicker et mat-table. Les corrections sont fournies en TypeScript/HTML Angular avec les attributs ARIA et les patterns recommandés.
Questions fréquentes — Angular
Scrutia détecte-t-il les problèmes spécifiques à Angular Material ?
Les corrections sont-elles fournies en syntaxe Angular ?
Notre application Angular utilise le CDK a11y, est-ce suffisant ?
Auditer d'autres technologies
Auditez votre site Angular maintenant
106 critères RGAA testés en 5 minutes. Score gratuit, rapport complet multi-pages avec corrections de code à partir de 149€.
Tester mon site Angular