rgaa AT framalistes.org
Objet : Accessibilité numérique, normes internationales, composants réutilisables, critères RGAA et tests, outils et ressources...
Archives de la liste
- From: Gaël Poupard <adresse@cachée>
- To: adresse@cachée
- Subject: Re: [rgaa] Changement de contexte utilisateur
- Date: Fri, 15 Apr 2022 09:47:53 +0000
Hello,
J’ajoute quelques briques et pistes importantes — peut-être à mentionner sur les guidelines, Sylvain ;)
Pour ce qui est constitutif d’un changement de contexte / page, pour moi si ce qui change constitue le contenu principal, on doit nécessairement traiter l’action comme un changement de page.
Utiliser des liens est indispensables en effet, et au-delà de la sémantique les bénéfices utilisateurs sont nombreux : on peut notamment évoquer l’affichage de la cible en bas à gauche du navigateur au survol d’un lien — ce qui fonctionne très bien par exemple avec Angular puisque les routerLink sont transformés en href, sur un élément a.
Lors du changement de page, on a trois actions majeures :
- le déplacement du focus en haut de page, incluant la position du scroll ;
- la mise à jour du titre de la page ;
- l’annonce du titre de la page.
Par conséquent, j’ai plutôt l’habitude de :
- mettre à jour le <title>,
- disposer d’un élément masqué visuellement, au début du DOM (avant les liens d’évitement) ;
- qui doit pouvoir recevoir le focus, donc tabindex="-1" le cas échéant ;
- et doit être vocalisé, donc a minima le role="status" ;
Pour répondre à une des questions initiales, le seul élément approchant cette fonctionnalité en HTML est <output> puisqu’il a un rôle status implicite — mais comme l’a détaillé Scott O'Hara, le support n’est pas satisfaisant, et dans tous les cas cet élément n’est pas vraiment fait pour ça.
Côté Angular (c’est le seul framework que je maîtrise dans ce contexte), il existe pas mal de ressources utiles :
- La gestion du focus après un changement de route : https://angular.io/guide/accessibility#routing-and-focus-management
- le kit de développement Mterial, qui inclus des outils d’accessibilité — notamment le Live Announcer : https://material.angular.io/cdk/a11y/overview (mais aussi la gestion de piège au clavier et le monitoring du focus) ;
- Et pour info la prochaine version majeure d’Angular supportera (enfin !) la gestion du title en fonction de la route. 2022 et Angular va supporter l’élément <title>, si c’est pas beau !
Pour du React, les bribes à ma disposition proviennent de chez Kitty Giraudel :
- Accessible page title in a single-page React application
- Page title in SPA : plus succinct et agnostique, et plutôt aligné avec mes recommandations.
Voilà, j’espère que ces éléments concrets seront utiles !
À bientôt,
--
Gaël Poupard
------- Original Message -------
Le vendredi 15 avril 2022 à 10:02, Jonas de deyne <adresse@cachée> a écrit :
Le vendredi 15 avril 2022 à 10:02, Jonas de deyne <adresse@cachée> a écrit :
Merci à vous pour le rappel de cette ressource.Voilà dans quel sens ça alimente ma réflexion :- on va inciter à créer de vrais URLs (avec un title et tout ce qui va bien). Ainsi elles seront différentiables dans un historique.- je cite l'article OrangeDans une SPA, si un utilisateur clique sur un bouton qui entraîne une mise jour du contenu, le focus n'est pas déplacé (il reste sur le bouton).ici j'aurais une approche différente. Si vraiment la page complète change, j'aurais tendance à utiliser des liens plutôt que des boutons. Même si ça ne fera pas de différence côté js (ça reste une action sur le front), le lien aura l'avantage d'avertir l'utilisateur (par sa sémantique html) qu'un changement de contexte va survenir. Reste que, comme expliqué sur l'article, le comporte de ce chargement de page en SPA ne sera pas similaire à un chargement classique. Déplacer le focus sur le premier <h1> c'est une solution intéressante. Est-elle comprise par les utilisateurs ? Le premier <h1> pourrait aussi devenir une région live de sorte qu'il n'y ait pas de focus à déplacer.- dans le cas d'usage que je donnais (une liste avec un composant de pagination), l'option de déplacer le focus en haut de la liste au clic sur la pagination me semble OK.- du coup, dès lors que je ne change pas de page complètement mais que je mets juste à jour une partie du contenu ce composant de pagination serait préférablement un <button> qu'un <a> (même si je passe techniquement par un router).N'hésitez pas à rebondir ;)JonasLe ven. 15 avr. 2022 à 09:16, sylvain.pigeard <adresse@cachée> a écrit :Bonjour,
Juste pour compléter, la page Orange que tu signales est également disponible en français :
https://a11y-guidelines.orange.com/fr/articles/single-page-app/
S'il y a des choses à compléter n'hésiter pas, c'est de l'open source, tout est sur github.
Sylvain
-----Message d'origine-----
De : adresse@cachée <adresse@cachée> De la part de "Alexandre ARNAUD"
Envoyé : jeudi 14 avril 2022 19:11
À : adresse@cachée
Objet : RE: [rgaa] Changement de contexte utilisateur
Bonsoir à tous,
Si on peut utiliser l'historique du navigateur, page précédente et suivante, à mon sens il s'agit bien d'un changement de page.
Pour la question de l'implémentation Orange a rédigé un guide intéressant sur le sujet :
https://a11y-guidelines.orange.com/en/articles/single-page-app/
Il y a également une discussion stackoverflow qui donne des pistes utiles :
https://stackoverflow.com/questions/18619186/tell-screen-reader-that-page-has-changed-in-backbone-angular-single-page-app
Je vais également avoir à traiter ce sujet et je me demande s'il n'existerait pas un moyen standard en _javascript_ ou HTML pour annoncer le rechargement de la page ?
Merci d'avoir à tous pour votre aide.
> -----Message d'origine-----
> De : adresse@cachée <adresse@cachée> De la
> part de "De deyne" (via rgaa Mailing List) Envoyé : jeudi 14 avril
> 2022 10:00 À : adresse@cachée Objet : [rgaa] Changement de
> contexte utilisateur
>
> Bonjour à tous.
> Une question autour de la maitrise du contexte par l’utilisateur.
> Prenons un cas simple : une liste de résultats avec une pagination.
> Dans un site web web classique, ma pagination serait une <nav> avec
> des liens. Mon url va changer et ma page 2 sera une nouvelle page (nouveau contexte).
> Dans une application web moderne, le routage se fait côté client ; du
> coup proposer un lien <a> sur cette même pagination c’est un peu
> mentir à l’utilisateur parce qu’il ne sera pas réellement redirigé.
> Sauf erreur de ma part, une technologie d'assistance ne captera pas
> cela comme un changement de page.
>
> Est-on sur un cas similaire à l’utilisation d’un lien ancré ? Parce
> que, sur un routage js, je vais probablement aussi changer mon hash dans l’url.
>
> Pour simplifier, dans le cas présenté, on va changer une partie de
> l’écran via ces liens de pagination mais pas plus qu’avec une boite à
> onglet ou un carousel. Finalement utilise-on préférablement des
> boutons ou des liens sur cette pagination ?
>
> Pour aller plus loin où se trouve la limite ? Quand est-ce que je vais
> considérer que ma page à suffisamment changée pour nécessité une
> avertissement de changement de contexte (utilisation du lien plus que
> du
> bouton) ?
>
> Merci d'avance pour vos éclaircissements
_________________________________________________________________________________________________________________________
Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.
--
Vous recevez cet email car vous etes abonne.e a la liste "rgaa".
Pour vous desabonner, merci de cliquer sur ce lien : https://framalistes.org/sympa/sigrequest/rgaa
ou d'envoyer un mail a adresse@cachée avec comme sujet "unsubscribe rgaa"
You receive this email since you subscribed to the list "rgaa".
To unsubscribe, click on following link: https://framalistes.org/sympa/sigrequest/rgaa
or send an email to adresse@cachée with the subject: unsubscribe rgaa
-
[rgaa] Changement de contexte utilisateur,
De deyne, 14/04/2022
-
RE: [rgaa] Changement de contexte utilisateur,
Alexandre ARNAUD, 14/04/2022
-
RE: [rgaa] Changement de contexte utilisateur,
sylvain.pigeard, 15/04/2022
-
Re: [rgaa] Changement de contexte utilisateur,
Jonas de deyne, 15/04/2022
- Re: [rgaa] Changement de contexte utilisateur, Gaël Poupard, 15/04/2022
-
Re: [rgaa] Changement de contexte utilisateur,
Jonas de deyne, 15/04/2022
-
RE: [rgaa] Changement de contexte utilisateur,
sylvain.pigeard, 15/04/2022
-
RE: [rgaa] Changement de contexte utilisateur,
Alexandre ARNAUD, 14/04/2022
Archives gérées par MHonArc 2.6.19+.