Test d'une application Oracle JET pour l'accessibilité au clavier uniquement
Introduction
Il s'agit du deuxième tutoriel du parcours de formation Identifier les problèmes d'accessibilité.
La directives d'accessibilité des contenus Web (WCAG) 2.2 décrit de nombreux critères de réussite pour la création d'une application Web accessible. Ce tutoriel se concentre sur les critères qui traitent de l'utilisation du clavier uniquement.
Une application accessible au clavier uniquement peut être utilisée avec d'autres périphériques d'entrée pour les personnes à mobilité réduite ou incapables de manipuler une souris. Quand les gens peuvent utiliser un clavier, Internet est à portée de main.
Objectifs
Dans ce tutoriel, vous apprendrez à effectuer un test au clavier d'une application Web uniquement.
Prérequis
- Environnement de développement configuré pour créer des applications Oracle JET avec l'interface de ligne de commande JavaScript runtime, Node.js et Oracle JET version 13.0 (ou ultérieure) installée
- Navigateur Web Google Chrome installé et défini comme navigateur Web par défaut
- Accès à WCAG 2.2
- Accès au Guide du clavier et des gestes Oracle JET
- Achèvement du tutoriel précédent dans ce parcours pédagogique : Test d'une application Oracle JET pour l'accessibilité : inspection visuelle
Tâche 1 : préparation aux tests d'accessibilité au clavier uniquement
L'inspection visuelle fournit un aperçu de la structure et des fonctionnalités de base d'une page accessible. Les tests au clavier sont au centre des tests d'accessibilité manuels ; ils permettent au développeur d'interagir avec l'application du point de vue d'un utilisateur handicapé. Le sous-ensemble des critères de réussite WCAG 2.2 autour desquels ce tutoriel se concentre implique plusieurs concepts spécifiques.
- Indication de mise au point : Y a-t-il une indication du placement actuel sur la page ?
- Séquence significative : l'ordre des onglets de l'application suit-il un modèle prévisible ?
- Interagir avec les contrôles : tous les contrôles fonctionnent-ils lorsque vous utilisez le clavier ?
- Keyboard Trap : L'indicateur de mise au point est-il bloqué sur un élément ?
Les critères de réussite mentionnés au début de cette section abordent indirectement le concept d'éléments focalisables, de sorte qu'il faut définir quelques termes.
- Tous les éléments focalisables (éléments de la page pouvant recevoir le focus par tabulation) doivent être accessibles uniquement à l'aide du clavier.
- Tous les éléments pouvant faire l'objet d'une action (éléments qui remplissent une fonction s'ils sont normalement cliqués avec la souris) doivent être opérationnels à l'aide du clavier uniquement. Les personnes ayant une déficience motrice importante peuvent utiliser d'autres périphériques d'entrée lorsqu'une application est accessible au clavier uniquement.
Une fois ces concepts applicables définis et expliqués, vous êtes prêt à tester l'application de démarrage.
-
La WCAG Guideline 2.1 Keyboard Accessible indique que toutes les fonctionnalités sont disponibles à partir d'un clavier.
Cette ligne directrice ne doit pas être confondue avec le corps du travail intitulé Web Content Accessibility Guidelines 2.2, qui fournit la norme globale pour les logiciels accessibles.
-
Le critère de succès 2.1.3 Keyboard (No Exception) indique : "Toutes les fonctionnalités du contenu peuvent être utilisées via une interface de clavier sans nécessiter de minutage spécifique pour les frappes individuelles."
Notez le texte "Aucune exception" entre parenthèses du critère de succès 2.1.3. Cela signifie que l'accessibilité au clavier est obligatoire.
La ligne directrice 2.1 du WCAG et le critère de succès qui suit soulignent le besoin absolu d'accessibilité au clavier. Le clavier joue un rôle central dans l'apport de la technologie à tous.
Tâche 2 : vérifier l'existence d'un focus visuel
Les tests d'accessibilité au clavier uniquement reposent uniquement sur l'indicateur central. Le respect du critère de succès "Focus Visible" suivant n'est pas négociable. Les utilisateurs désactivés ne peuvent pas naviguer dans une application sans focus actif ou lorsque le placement du focus n'est pas clair.
- WCAG Success Criterion 2.4.7 Focus Visible indique : "Toute interface utilisateur utilisable au clavier a un mode de fonctionnement où l'indicateur de focus du clavier est visible."
Lorsque vous utilisez l'application Web sous forme de tabulation, il doit toujours y avoir un indicateur visible identifiant l'emplacement du focus. L'indicateur est généralement un rectangle. La désactivation du rectangle de mise au point entraîne l'échec de ce critère.
Les développeurs d'applications sont fiers des applications et des programmes qu'ils écrivent. Leur objectif est d'intégrer la fonction à une expérience visuellement attrayante. Un rectangle de mise au point nuit souvent à la conception ; les développeurs le cachent souvent ou le désactivent et violent le critère de succès 2.4.7.
Rectangle de focalisation 1
Focus Rectangle 2
Repérez le point d'attention dans les deux captures d'écran ci-dessus.
La première capture d'écran, Focus Rectangle 1, représente une page avec une indication correcte du focus. L'indicateur de mise au point est très évident car il entoure l'onglet Aperçu en haut à gauche de la page. La deuxième capture d'écran, Focus Rectangle 2, ne contient aucune indication de mise au point autour de l'onglet Overview.
Surveillez le rectangle de mise au point lorsque vous parcourez les premiers composants pouvant être mis au point sur la page Introduction.
-
Si votre application n'est pas déjà en cours d'exécution, accédez au dossier
ACCLearningPath
et démarrez-la.$ ojet serve
-
Lorsque l'application s'ouvre dans votre navigateur, appuyez sur
<Ctrl+L>
pour mettre en surbrillance la barre d'adresse, puis appuyez sur<Tab>
pour déplacer le focus vers le lien de navigation de saut. -
Appuyez sur
<Tab>
pour déplacer le curseur vers john.hancock@oracle.com dans le menu utilisateur, en haut à droite de la page. -
Appuyez sur
<Tab>
pour déplacer le curseur vers Introduction dans le menu de navigation principal immédiatement sous le menu utilisateur. -
Appuyez sur
<down arrow>
pour déplacer le curseur vers Ressources dans le menu de navigation et appuyez sur<Enter>
pour charger la page Ressources. -
Appuyez sur
<Tab>
pour déplacer le curseur vers le lien Site principal Oracle JET.Notez qu'il n'y a pas d'indication claire de l'emplacement du focus. La page Ressources échoue au critère de succès 2.4.7.
Dans les étapes suivantes, vous corrigerez le problème du rectangle de mise au point absent afin de respecter les normes WCAG.
-
Accédez au dossier
ACCLearningPath/src/js/views
et ouvrez le fichierresources.html
dans un éditeur de code. -
Localisez le lien du site principal Oracle JET.
<li><a style="outline-width:0" href="https://www.oracle.com/webfolder/technetwork/jet/index.html" target="_blank">Oracle JET Main Site</a> </li>
Remplacez
"outline-width:0"
par"outline-width:3"
dans l'attribut de style.<li><a style="outline-width:3" href="https://www.oracle.com/webfolder/technetwork/jet/index.html" target="_blank">Oracle JET Main Site</a> </li>
-
Enregistrez et fermez
resources.html
.Votre fichier doit ressembler à
resources-html.txt
. -
Répétez les étapes 2 à 6 ci-dessus pour vérifier que le rectangle de mise au point est maintenant visible.
Tâche 3 : vérifier une séquence d'onglets significatifs
La prochaine étape du test au clavier implique l'organisation d'une page en tant qu'onglets utilisateur.
- WCAG Success Criterion 1.3.2 Meaningful Sequence indique : "Lorsque la séquence dans laquelle le contenu est présenté affecte sa signification, une séquence de lecture correcte peut être déterminée par programmation."
- Le critère de réussite 2.4.3 Ordre de mise au point indique : "Si une page Web peut être parcourue de manière séquentielle et que les séquences de navigation affectent la signification ou le fonctionnement, les composants pouvant être mis au point reçoivent le focus dans un ordre qui préserve la signification et l'opérabilité."
L'ordre de mise au point peut être mieux compris avec une illustration. Lorsque l'utilisateur parcourt la page, l'emplacement du focus n'est pas aléatoire. Il ne se déplace pas d'un côté de la page à l'autre et à nouveau. Il se déplace de manière logique et attendue.
Dans la tâche précédente Vérifier l'existence d'un focus visuel, vous avez vu comment le focus se déplaçait dans un ordre attendu dans la bannière de la page. Cependant, la page Ressources elle-même a été codée pour illustrer un ordre d'onglets plus aléatoire.
- Dans l'application en cours d'exécution, appuyez sur
<Ctrl+L>
pour activer la barre d'adresse. - Appuyez sur
<Tab>
pour déplacer le focus vers le lien Skip nav. - Appuyez sur
<Tab>
pour déplacer le curseur vers john.hancock@oracle.com dans le menu utilisateur, en haut à droite de la page. - Appuyez sur
<Tab>
pour déplacer le curseur vers Introduction dans le menu de navigation principal. - Appuyez sur
<Tab>
pour déplacer le curseur vers le lien Site principal Oracle JET dans le corps de la page. -
Appuyez sur
<Tab>
. Focus doit passer au Guide du développeur Oracle JET, mais plutôt au lien Oracle JET Cookbook.Le lien Guide du développeur Oracle JET n'est pas dans la séquence d'onglets, ce qui enfreint les critères de succès 2.4.3.
Les étapes 7 à 11 décrivent la méthode nécessaire pour renvoyer le lien Oracle JET Developer's Guide à sa position correcte dans la séquence d'onglets. Les étapes 12 à 16 illustrent comment confirmer que le correctif a fonctionné.
-
Dans votre éditeur de code, localisez le lien Oracle JET Developer's Guide dans le fichier
resources.html
.<li><a tabindex="-1" href="https://www.oracle.com/pls/topic/lookup?ctx=jetlatest&id=JETDG" target="_blank">Oracle JET Developer's Guide</a> </li>
L'attribut
tabindex="-1"
retire complètement ce lien de l'ordre des onglets de la page. -
Modifiez la valeur de l'attribut
tabindex
sur0
pour que le lien reprenne sa place dans la séquence d'onglets de la page.<li><a tabindex="0" href="https://www.oracle.com/pls/topic/lookup?ctx=jetlatest&id=JETDG" target="_blank">Oracle JET Developer's Guide</a> </li>
-
Enregistrez et fermez le fichier. La page Ressources du navigateur est automatiquement actualisée avec son nouveau contenu.
-
Appuyez sur
<Ctrl+L>
pour activer la barre d'adresse. -
Appuyez trois fois sur
<Tab>
pour déplacer le curseur vers Introduction dans le menu de navigation. -
Appuyez sur
<Tab>
pour déplacer le curseur vers le lien Site principal Oracle JET. -
Appuyez sur
<Tab>
pour accéder au lien Oracle JET Developer's Guide. -
Continuez à appuyer sur
<Tab>
jusqu'à ce que le focus se place sur le lien A propos d'Oracle dans le pied de page.Une fois que vous avez parcouru tous les éléments pouvant être sélectionnés sur une page, annulez le traitement. Parfois, lorsque vous effectuez un décalage vers l'arrière dans une page, le chemin change de manière inattendue, de nouveaux éléments apparaissent ou certains éléments disparaissent.
- Utilisez
<Shift+Tab>
pour vous déplacer de bas en haut afin de vous assurer que la séquence significative est vraie lors de la navigation inversée dans la page.
Tâche 4 : Interagir avec les contrôles
La plupart des contrôles utilisés dans ce tutoriel sont des contrôles propres à Oracle JET. Une caractéristique d'Oracle JET est que ses composants sont conçus avec une accessibilité au clavier uniquement déjà intégrée. Les développeurs qui utilisent Oracle JET peuvent copier des composants directement à partir du livre de recettes Oracle JET et les mettre en place, et le code obtenu est accessible.
- WCAG Success Criterion 2.1.1 Keyboard indique : "Toutes les fonctionnalités du contenu sont exploitables via une interface de clavier sans nécessiter de chronométrage spécifique pour les frappes individuelles, sauf lorsque la fonction sous-jacente nécessite une entrée qui dépend du chemin du mouvement de l'utilisateur et pas seulement des points de terminaison."
Par exemple, voici une brève liste des frappes courantes pour interagir avec les composants HTML standard :
- Appuyez sur
<Enter>
pour activer un lien, une option de menu ou un onglet dans la barre d'onglets. - Appuyez sur
<Space>
pour activer un bouton ou pour cocher une case. - Appuyez sur
<down arrow>
pour développer une liste déroulante ou une liste déroulante. Utilisez les touches fléchées pour naviguer dans la liste.
Remarque : pour certains contrôles, tels que les menus de navigation, les barres d'onglets, les groupes d'options et les contrôles de groupe similaires, vous devrez peut-être ouvrir un onglet dans le contrôle, puis utiliser les touches fléchées pour y naviguer.
Utilisez l'application de démarrage en cours d'exécution pour interagir avec plusieurs composants Oracle JET.
-
Appuyez sur
<Ctrl+L>
pour activer la barre d'adresse. -
Appuyez sur
<Tab>
pour déplacer le focus vers le lien Skip nav. -
Appuyez sur
<Tab>
pour déplacer le curseur vers john.hancock@oracle.com dans le menu utilisateur, en haut à droite de la page.Selon la documentation du clavier de l'élément
<oj-menu-button>
, appuyez sur<Space>
,<Enter>
ou<down arrow>
pour ouvrir le menu et appuyez sur<Escape>
pour fermer le menu. -
Appuyez sur la touche
<Space>
pour développer le menu utilisateur. Le focus se déplace vers les préférences. -
Appuyez sur
<down arrow>
pour descendre dans la liste des éléments de menu. -
Appuyez sur
<Escape>
pour fermer le menu utilisateur. -
Appuyez sur
<Tab>
. Le focus se déplace vers Introduction dans le menu de navigation principal immédiatement sous le menu utilisateur.Pour plus d'informations sur les touches spécifiques de chaque composant Oracle JET, reportez-vous au Guide du clavier et de la gestuelle Oracle JET.
Tâche 5 : identifier un déroutement de clavier
Le dernier sujet présenté au début de ce tutoriel implique un concept connu sous le nom de piège à clavier. Une interruption de clavier se produit lorsqu'un utilisateur ne peut pas éloigner le focus d'un élément de la page à l'aide de <Tab>
, <Shift+Tab>
ou de l'une des touches fléchées.
- Success Criterion 2.1.2 No Keyboard Trap indique : " Si le focus du clavier peut être déplacé vers un composant de la page à l'aide d'une interface de clavier, le focus peut être déplacé de celui-ci. composant utilisant uniquement une interface de clavier, et, si elle nécessite plus que des touches fléchées ou de tabulation non modifiées ou d'autres méthodes de sortie standard, l'utilisateur est informé de la méthode pour déplacer le focus loin.
Une interruption de clavier rend la page entière inutilisable pour un utilisateur de type clavier uniquement. La solution courante pour un piège à clavier est de redémarrer l'application.
Passons à la pratique !
Cette section du tutoriel fournit un exemple détaillé de méthodologie de test au clavier uniquement.
Lorsque vous testez la page Organisation de l'application, vérifiez qu'il y a toujours une indication visible de l'emplacement du focus et que le focus se déplace selon un schéma prévisible.
La page que vous allez tester est accessible via l'onglet Organisation de la page Introduction.
Utilisez l'application de démarrage pour effectuer un test au clavier de la page Organisation.
-
Dans la page Ressources de l'application, appuyez sur
<Ctrl+L>
pour activer la barre d'adresse. -
Appuyez sur
<Tab>
pour déplacer le focus vers le lien Skip nav. -
Appuyez sur
<Tab>
pour déplacer le curseur vers john.hancock@oracle.com dans le menu utilisateur, en haut à droite de la page. -
Appuyez sur
<Tab>
pour déplacer le curseur vers Introduction dans le menu de navigation principal sous le nom d'utilisateur.Selon la documentation de l'élément
<oj-navigation-list>
sur le clavier, utilisez les touches<up arrow>
et<down arrow>
pour naviguer dans les éléments du menu de navigation principal. -
Appuyez sur
<Enter>
pour sélectionner Introduction. -
Appuyez sur
<Tab>
, puis sur<right arrow>
pour accéder à l'onglet Organisation dans la barre d'onglets. Appuyez sur<Enter>
pour charger la page Organisation.Selon la documentation de l'élément
<oj-tab-bar>
sur le clavier, utilisez les touches fléchées pour vous déplacer dans la barre d'onglets. -
Appuyez sur
<Tab>
pour déplacer le curseur vers l'arborescence. Le focus se place sur le premier élément pouvant être sélectionné, le noeud Comptabilité.Selon la documentation de l'élément
<oj-tree-view>
sur le clavier, utilisez les touches<up arrow>
et<down arrow>
pour naviguer entre les noeuds dans l'arborescence. -
Appuyez sur
<right arrow>
pour développer le noeud de groupe Accounting dans l'arborescence, puis appuyez sur<left arrow>
pour réduire le noeud de groupe. -
Appuyez deux fois sur
<down arrow>
pour déplacer le curseur vers l'employé JONES dans le noeud de groupe RESEARCH. Ensuite, appuyez sur<Enter>
pour le sélectionner.Un formulaire apparaîtra sur le côté droit de la page avec les détails de l'employé.
- Appuyez sur
<Tab>
pour déplacer le curseur vers le champ ID d'employé. - Appuyez sur
<Tab>
pour déplacer le curseur vers le champ Nom de l'employé. - Appuyez sur
<Tab>
pour déplacer le curseur vers le champ Titre du travail. -
Appuyez sur
<Tab>
pour déplacer le curseur vers le champ Date d'embauche et afficher une grille de calendrier développée.Selon la documentation du clavier de l'élément
<oj-date-picker>
, appuyez sur les touches fléchées pour modifier le focus de la date dans la grille de calendrier. -
Appuyez sur
<down arrow>
, puis utilisez les touches fléchées pour déplacer le curseur vers une date dans le sélecteur de date développé. Appuyez ensuite sur<Enter>
pour sélectionner une date. -
Appuyez sur
<Tab>
pour déplacer le curseur vers le champ Salaire.Selon la documentation au clavier de l'élément
<oj-input-number>
, utilisez<up arrow>
pour augmenter la valeur du salaire et utilisez<down arrow>
pour diminuer la valeur du salaire. -
Appuyez sur
<Tab>
et essayez de déplacer le curseur vers le champ Manager ID.Avez-vous remarqué qu'une fois le focus déplacé dans le champ Salaire, appuyer sur
<Tab>
ou<Shift+Tab>
n'a pas déplacé le focus hors du champ ? Ce champ comporte une interruption de clavier. Sans correction du code, la seule façon de quitter le déroutement est d'actualiser la page.
Tâche 6 : supprimer le déroutement
-
Accédez au dossier
src/js/views
et ouvrez le fichierorganization.html
dans un éditeur. -
Localisez l'élément
<oj-input-number>
oùid="salary"
:<oj-input-number id="salary" label-hint="Salary" value="{{empDetails().sal}}" min="0" step="1" on-blur="[[setKeyTrap]]"> </oj-input-number>
Supprimez l'attribut
on-blur
qui provoque l'interruption du clavier.<oj-input-number id="salary" label-hint="Salary" value="{{empDetails().sal}}" min="0" step="1"> </oj-input-number>
-
Enregistrez le fichier. Répétez ensuite les étapes de la tâche Identify a Keyboard Trap précédente pour vous assurer que le déroutement du clavier a été supprimé.
-
Lorsque vous atteignez le champ Manager Id, appuyez sur
<Tab>
pour déplacer le curseur vers les boutons radio Jobs.Selon la documentation du clavier de l'élément
<oj-radioset>
, utilisez<up arrow>
pour sélectionner le bouton précédent dans le groupe. Utilisez<down arrow>
pour sélectionner le bouton suivant dans le groupe. -
Appuyez sur
<Tab>
pour déplacer le curseur vers le lien A propos d'Oracle dans la section de pied de page de la page. -
Inversez le processus. Appuyez sur
<Shift+Tab>
pour revenir aux boutons radio Jobs. Continuez à appuyer sur<Shift+Tab>
pour revenir à la page john.hancock@oracle.com dans le menu utilisateur.
N'oubliez pas de consulter le Guide du clavier et des gestes Oracle JET si vous avez des questions concernant les frappes nécessaires pour utiliser ou naviguer dans un composant Oracle JET.
La phase de test du clavier uniquement est terminée.
Etape suivante
Passez au tutoriel suivant de ce module.
Ce tutoriel fait partie du module Identifier les problèmes d'accessibilité.
- Test d'une application Oracle JET pour l'accessibilité : inspection visuelle
- Test d'une application Oracle JET pour l'accessibilité au clavier uniquement
- Effectuer une validation de lecteur d'écran sur une application Oracle JET
Vous pouvez revenir à la page principale du parcours pédagogique sur l'accessibilité pour accéder à tous les modules sur l'accessibilité.
Ressources de formation supplémentaires
Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.
Test an Oracle JET app for keyboard-only accessibility
F71528-02