Travaux Pratiques avec ARIA Recettes d'accessibilité pour les applications Web

Dans le monde complexe des applications Web, ARIA peut aider à améliorer l'accessibilité et la facilité d'utilisation de vos créations. Le langage HTML ne permet pas de gérer de nombreux types de relations entre les éléments de la page, mais ARIA convient parfaitement à presque tous les types de configuration possibles. Voyons ce qu'est ARIA, comment il peut s'appliquer à votre application Web et quelques recettes rapides que vous pouvez utiliser pour vos propres sites..

Notions de base d'ARIA

ARIA, également appelé WAI-ARIA, représente les applications Internet riches accessibles par la Web Accessibility Initiative. Cette initiative, mise à jour par le W3C, vise à fournir aux développeurs un nouvel ensemble de schémas et d'attributs permettant de rendre leurs créations plus accessibles. Il vise spécifiquement à combler les lacunes inhérentes au langage HTML. Si vous n'êtes pas au courant de ce qu'il fait déjà, vous devriez jeter un coup d'œil à notre guide d'introduction à ARIA. Vous pourriez également être intéressé par nos articles sur ARIA pour la page d'accueil et ARIA pour le commerce électronique.

En bref, cependant, ARIA a trois caractéristiques principales sur lesquelles nous allons nous concentrer:

  1. Création de relations en dehors de l'association parent-enfant: HTML n'autorise que les relations entre les éléments parent et enfant, mais les associations que nous souhaitons définir ne sont pas toujours imbriquées les unes dans les autres. ARIA nous permet de définir des relations d'éléments en dehors de cette contrainte.
  2. Définition des contrôles avancés et de l'interactivité: le HTML couvre de nombreux éléments de base de l'interface utilisateur, mais de nombreux contrôles plus avancés utilisés sur le Web sont difficiles à définir en dehors de leur composant visuel. ARIA aide avec ça.
  3. Fournir l’accès aux attributs de mise à jour de zone "en direct": aria-live Cet attribut donne aux lecteurs d’écran et aux autres appareils un écouteur lorsque le contenu de la page est modifié. Cela facilite la communication lorsque le contenu à l'écran change.

ARIA et applications Web

Auparavant, nous avions envisagé d’ajouter ARIA aux éléments communs des pages de commerce électronique et des pages d’accueil de sites. Avec les applications Web, cependant, chacune d’elles diffère radicalement de la dernière. Les formulaires et les fonctions varient d'une application à l'autre et souvent même d'une version à l'autre de la même application. Pour cette raison, nous allons traiter ici nos implémentations comme des recettes dans un livre de recettes plutôt que comme une conversion en gros d'une page..

En ce qui concerne les applications Web, il est plus difficile de discerner l'intention d'un utilisateur dans un sens général. Avec le commerce électronique, quel que soit le site sur lequel vous vous trouvez, il est probable que les visiteurs cherchent à acheter un produit ou un service. Les applications Web remplissent diverses fonctions. Nous nous concentrerons donc sur la création de contrôles nuancés accessibles et conviviaux..

Entrons dans certains de ces types de contrôle.

Contrôle des mises à jour en direct avec des boutons

Le premier contrôle que nous allons examiner est une valeur affichée mise à jour par une pression sur un bouton. Ces types de contrôles sont couramment utilisés lorsqu'un élément affiche une quantité pouvant être ajustée à l'aide de boutons intitulés '+' et '-', mais peut prendre de nombreuses formes, telles que des boutons fléchés vous permettant de parcourir les états prédéfinis.

Une implémentation standard peut laisser des lacunes dans la compréhension de l'utilisateur. On ignore quels éléments les boutons affectent, comment ils les affectent et quand la valeur de l'élément change.

Ci-dessous, nous allons utiliser ARIA pour créer une connexion entre les boutons et l’élément d’affichage de valeur à l’aide du bouton aria-contrôles attribut. Ensuite, nous allons clarifier l'utilisation des boutons en utilisant aria-label et HTML . Enfin, nous allons utiliser l'aria alerte rôle et la aria-live attribut de laisser notre utilisateur savoir quand la valeur est mise à jour.

Voyons à quoi ressemble ce code:

Ajuster la quantité

ARIA Popups et infobulles volantes

Lorsque vous équipez un site avec ARIA, il est courant d'utiliser "l'accessibilité progressive". L'idée sous-jacente à ce terme est que transformer un site ou une application Web en site Web entièrement accessible en une application de base est une tâche ardue. Pour traiter cela d'une manière qui continue d'avancer, vous pouvez implémenter de nouvelles fonctionnalités de manière progressive et itérative..

Pour une info-bulle avec un popup ou un modal associé, cela signifie que nous pouvons scinder le problème en deux étapes, en les déplaçant autant que possible. Dans ce cas, l'info-bulle dont nous parlons est l'image commune d'un petit point d'interrogation qui ouvre des informations supplémentaires lorsque vous la survolez..

Pour que les utilisateurs sachent que l'image du point d'interrogation est en fait une info-bulle, nous l'avons définie à l'aide d'un rôle approprié, tel que:

Il y a cependant quelques problèmes avec cette implémentation. Il se peut que les utilisateurs ne sachent toujours pas que le survol de l'info-bulle ouvre une fenêtre contextuelle contenant des informations supplémentaires. Voici comment nous pouvons ajouter cela à notre code:

 

Info-bulles d'entrée accessibles

Au lieu d'une info-bulle en survol, il est également courant qu'une application Web utilise des formulaires dans lesquels chaque entrée a sa propre info-bulle associée..

Sans balisage ARIA supplémentaire, il peut être difficile de déterminer les info-bulles qui s'appliquent à quelle entrée pour un utilisateur. Ne pas avoir cette relation en place peut rendre votre texte d'aide inutile dans certains cas.

Pour corriger cela, nous allons insérer nos infobulles dans leurs propres éléments. Chacun de ceux-ci peut être imbriqué près de son entrée associée, avoir ses relations établies avec ARIA, puis être déclenché avec JavaScript (ou simplement CSS si vous êtes rusé)..

Voici à quoi cela pourrait ressembler:

Utilisateur en ligne
Info-bulle sur leur nom d'utilisateur
Info-bulle sur leur mot de passe

Alertes d'état

«Notre service est actuellement hors service», «Votre compte est suspendu» et les alertes d'état associées sont couramment utilisées parmi les applications Web et affichent des informations importantes pour les utilisateurs. Sans ARIA, ils peuvent se perdre dans les informations d’une page et causer divers problèmes..

Utiliser l'ARIA alerte rôle et la aria-live attribut, nous pouvons nous assurer que nos utilisateurs sont au courant de tous les problèmes rapidement une fois qu'ils arrivent sur une page.

Nous pouvons configurer ce type d’alerte de statut comme ceci:

Le système est hors ligne!

Création d'une barre d'outils

Enfin, examinons un autre élément de contrôle couramment utilisé dans les applications Web: la barre d’outils. Pour nos besoins, nous allons baliser une barre d’outils qui fonctionne de la manière suivante: notre application Web affiche une grande quantité de données, orientée dans un tableau. Au-dessus de ce tableau, notre barre d’outils comporte plusieurs boutons qui permettent aux utilisateurs de trier le tableau de différentes manières. Ces boutons incluent des options de tri classiques telles que De A à Z et Z à A.

Relationnellement, cela laisse quelques problèmes concernant l'accessibilité. Tout d’abord, il n’est pas clair que ces boutons affectent la table. Nous allons résoudre cela en utilisant le aria-contrôles attribut. Il n’est pas clair non plus que les boutons soient associés, ce qui peut être une information utile pour nos utilisateurs. Pour définir cela, nous allons utiliser le barre d'outils rôle. Enfin, un utilisateur ne sait pas nécessairement quel bouton a été pressé en dernier. Pour corriger cela, nous allons utiliser le aria-pressé attribut.

Lorsque vous utilisez le aria-pressé attribut, il est important de noter que vous devrez mettre à jour ces éléments au fur et à mesure que l'utilisateur interagit avec eux. Cela nécessitera probablement de changer les attributs via JavaScript ou jQuery.

Voici à quoi ressemble notre code de barre d’outils:

Ajouter ARIA à vos propres applications Web

Avec cette poignée de nouveaux systèmes de contrôle et de relations à votre actif, vous êtes sur le point de rendre votre propre application Web entièrement accessible! Une fois que vous avez ajouté ces nouvelles annotations, réfléchissez à la manière dont vous pourriez appliquer ces attributs à d'autres parties de votre interface utilisateur pour optimiser la convivialité de votre création..

Y a-t-il des attributs, des rôles ou d'autres fonctionnalités d'ARIA que vous aimeriez connaître? Ou peut-être avez-vous des questions sur vos propres implémentations ou des corrections pour cet article? Entrez en contact en utilisant la section commentaire ci-dessous ou en balisant kylejspeaker sur Twitter!