Problèmes d'accessibilité RAMP

Bonjour,

Je travaille sur l’initiative COVID-19 RAMP. Nous avons choisi Discourse pour notre forum et nous en sommes très satisfaits.

Un collègue et moi-même avons examiné l’accessibilité. Je pense que nous avons résolu les problèmes de faible contraste grâce à la fonctionnalité CSS de l’administration. Cependant, selon WAVE, nous rencontrons certains problèmes que nous ne sommes pas sûrs de pouvoir résoudre seuls, à savoir :

  • Image liée sans texte alternatif : il s’agit des images d’avatars. Bien qu’il y ait un titre descriptif, l’attribut alt est vide.

  • Il manque une étiquette sur chaque page :

    <div><input type="text"></div>

  • Il y a un en-tête vide sur chaque page :

    <div class="title"><h3></h3><!-- --></div>

  • De nombreux boutons vides ont été signalés, associés à des SVG.

  • Il existe des liens vides, par exemple :
    <a href="" aria-hidden="true" tabindex="-1" class="tabLoc"></a>
    et
    <a href="" class="edit-topic" title="modifier le titre et la catégorie de ce sujet" data-ember-action="" data-ember-action-27="27"><svg class="fa d-icon d-icon-pencil-alt svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#pencil-alt"></svg></a>.

  • Il y a un en-tête de tableau vide : <th data-sort-order="posters" class="posters"></th>

Je serais très surpris si nous sommes les seuls à rencontrer ces problèmes. Je me demande donc si WAVE ne surinterprète pas les choses ou si nous passons à côté d’une ou deux astuces. Toute aide serait grandement appréciée.

Merci beaucoup par avance,
Kostas

8 « J'aime »

Tous ces éléments sont-ils visibles dans le HTML de la page rendue, via l’inspecteur F12 du navigateur ?

1 « J'aime »

Merci de vous y intéresser. Il y en a une dont je ne suis pas sûr de pouvoir la trouver (le titre vide), mais je récupère le reste via la fonctionnalité « code » de WAVE et je peux les localiser (avec un peu d’effort) grâce à l’inspecteur F12.

Je ne suis pas certain que les fuseaux horaires soient en notre faveur (je suis au Royaume-Uni, UTC+01:00), mais je serais ravi de participer à un appel Teams ou similaire pour faire une démonstration, si cela vous aide.

1 « J'aime »

L’attribut aria-hidden devrait masquer correctement ce lien aux outils d’accessibilité.

4 « J'aime »

Si l’un de ces points est relativement facile à régler, pouvons-nous le faire, @awesomerobot ?

3 « J'aime »

Oui, je pense qu’au moins quelques-uns de ces problèmes sont faciles à corriger. Je vais jeter un coup d’œil plus attentif.

3 « J'aime »

L’attribut alt vide en lui-même n’est pas un problème… cela est censé signaler à un lecteur d’écran que l’image est purement décorative et peut être ignorée… MAIS nous incluons également l’attribut title… ce qui peut parfois poser problème selon `img` with null `alt `and non-null `title` attributes - Screen reader compatibility

Certains lecteurs d’écran ignorent correctement les avatars, mais d’autres lisent le nom/nom d’utilisateur deux fois à cause de cela.

J’ai créé une PR pour supprimer l’attribut title des avatars de publication :

Il s’agit de la zone de saisie où nous affichons l’URL à copier et partager. Voici une PR pour y ajouter un attribut aria-label :

Je n’ai pas pu trouver celui-ci… cela pourrait dépendre des paramètres du site ? Il faut que j’investigue un peu plus.

Nous n’étiquetons pas cela pour les utilisateurs voyants car nous pouvons jeter un coup d’œil à la colonne et faire une hypothèse sur son contenu… c’est beaucoup plus difficile à faire si on ne peut pas voir… ajouter une étiquette pour les lecteurs d’écran a du sens :

Les problèmes restants que je n’ai pas couverts concernent les boutons, je dois encore les examiner…

8 « J'aime »

Bonjour,

Un grand merci pour vos réponses rapides et les actions entreprises à ce moment-là. Puis-je confirmer que les demandes fusionnées sont désormais intégrées dans le code depuis une certaine version ?

Par ailleurs, serait-il utile que je (nettoie et) partage le thème que nous avons modifié afin de satisfaire aux tests d’accessibilité WAVE ?

Cordialement,
Kostas

1 « J'aime »

Bien sûr, la dernière version de Discourse contient les correctifs.

Partager un thème serait bienvenu.

2 « J'aime »

Je vais me décider à effectuer toutes les mises à jour plus tard (j’espère) et je reviendrai vers vous.

Concernant le thème, tout est devenu un peu confus. Nous utilisons (et avons modifié) le thème Light. Voici les modifications de haut niveau que nous avons apportées aux couleurs :

Tertiaire :   #0088cc → #006498
Quaternaire : #e45735 → #C93C1B
Danger :      #e45735 → #C93C1B
Succès :      #009900 → #007A00

L’astuce ingénieuse qui m’est venue tardivement consiste simplement à tester la page des couleurs pour l’accessibilité. :slight_smile:

Nous avons ensuite effectué un grand nombre de modifications à l’aide de l’éditeur CSS (admin/customize/themes/3/common/scss/edit), mais je ne suis pas sûr de savoir comment vous les transmettre (je peux copier-coller, mais je ne sais pas si c’est ce que vous souhaitez, ni si vous voulez que cela figure dans ce fil de discussion). Je pense que si nous pouvions voir les autres couleurs mentionnées (par exemple var(–primary-medium)) dans une interface de haut niveau, les choses deviendraient plus simples. Par exemple, un cas classique était #919191#595959, mais ma méthode ne fait que traiter les symptômes que je remarque en parcourant les pages (et puis, la nature dynamique du « site » signifie que ce qui passe aujourd’hui peut ne plus passer demain).

Je suis prêt à essayer une autre approche, faites-moi simplement savoir. Cependant, à aucun moment je ne pourrai exécuter un service de démonstration, examiner le code, etc.

Je dois également noter que je n’ai pas pu corriger admin/upgrade du tout (et il présente de nombreux problèmes de contraste) ; je ne sais pas s’il ne suit pas le CSS ou quelle en est la raison.

3 « J'aime »

Le plugin styleguide vous affichera toutes les couleurs :slight_smile:

https://theme-creator.discourse.org/styleguide/atoms/colors

Je me souviens que le côté administration de Discourse dispose de feuilles de style séparées (plus difficiles à modifier) pour rendre plus difficile le fait que les utilisateurs se verrouillent accidentellement hors d’une interface d’administration utilisable avec des modifications CSS.

J’ai un peu pris du retard là-dessus, bien que nous ayons mis à jour le forum. Mais j’ai pensé répondre aux personnes qui ont pris le temps (un grand merci !) d’examiner ce fil de discussion.

Merci. Si je clique sur votre lien, Wave détecte 13 problèmes d’accessibilité (contraste faible), mais pas sur les couleurs elles-mêmes. C’est parce que, contrairement à la page des couleurs, il ne montre pas comment elles sont utilisées (comme arrière-plan ou premier plan avec du texte).

Faites-moi savoir comment je peux aider ; cela présente en effet de nombreuses erreurs de contraste.

Bonjour à nouveau.

J’ai jeté un autre coup d’œil et le nombre d’erreurs a considérablement diminué, un grand merci à @awesomerobot et à tous les autres qui ont apporté leur aide !

Je rencontre toujours les erreurs suivantes :

  • Lors de la visite d’une catégorie : Bouton vide dans le code suivant :
    • <button name="Filter by: [missing %{name} value]" role="combobox" data-name="regular" data-value="1" aria-expanded="false" aria-haspopup="menu" aria-owns="ember41-body" tabindex="0" id="ember41-header" class="select-kit-header single-select-header btn-default dropdown-select-box-header btn no-text btn-icon ember-view" type="button">
    • Cela se produit également sur d’autres pages avec des numéros différents après ember.
  • Lors de la visite d’une catégorie : En-tête de tableau vide :
    • <th data-sort-order="posters" class="posters" aria-label="Posters"></th>
  • Message de l’utilisateur “system” : Image liée sans texte alternatif :
    • <img alt="" src="/user_avatar/ramp-forums.epcc.ed.ac.uk/system/90/1_2.png" class="avatar" width="45" height="45">
  • Tout message : Lien vide
    • <a href="" aria-hidden="true" tabindex="-1" class="tabLoc"></a>
    • Et les permutations des éléments dans l’instruction ci-dessus
  • Recherche avec des résultats valides : Titre vide
    • <h3 class="search-footer"><!----></h3> (J’ai modifié la mise en forme ici, en supprimant les espaces et les sauts de ligne)
  • Recherche avec des résultats valides : Cinq étiquettes de formulaire manquantes dans la recherche avancée (je peux fournir plus d’informations si nécessaire)

Toute aide sera grandement appréciée.

Et un autre :

  • Dans les messages notés (je ne suis pas sûr de la mesure dans laquelle cela est adopté dans l’ensemble de Discourse, il s’agit d’une extension que @angus a aimablement développée pour nous) : Étiquette de formulaire manquante
    • De nombreuses instances (40 sur la page que j’examine, avec deux utilisateurs qui ont noté) ressemblant à ceci : <input class=" disabled" type="radio" value="1" checked="" disabled="">. Cela se trouve sous <span class="star-rating">.
1 « J'aime »

Salut @KKavoussanakis :slight_smile:

@fzngagan va jeter un coup d’œil à ça dès que possible.

1 « J'aime »

J’aurais dû aussi remercier @fzngagan ; mes excuses. Merci de vous y intéresser et ravi de vous lire à nouveau.

2 « J'aime »