DISIC / frago

Génération de rapports de synthèse pour le suivi et l’amélioration de l’accessibilité (audits et recommandations)
https://disic.github.io/frago/
MIT License
34 stars 9 forks source link

Erreur dans le calcul du nombre de critères pour un audit CSV rempli avec tests #15

Closed mfaure closed 2 years ago

mfaure commented 2 years ago

D'abord merci @bertrandkeller pour ce magnifique thème fort utile et pertinent !

Étapes pour reproduire le bug

Quel le comportement observé du bug ?

Le nombre de critères calculé par Frago est :

Résultat Critères
C 5
NC 4
NA 36

Quel est le comportement correct attendu ?

Le nombre de critères réel (re-calculé par un humain) est :

Résultat Critères
C 3 :warning:
NC 4
NA 21 :warning:

Frago donne donc :

Copies d'écrans et fichiers journaux pertinents

Copie d'écran résultats Frago

image

Détails de l'audit CSV

Résultat Critères Tests Liste des critères Liste des tests
C 3 7 8.3, 8.4, 8.5 8.1.1, 8.1.2, 8.3.1, 8.4.1, 8.5.1, 10.1.1, 10.1.2
NC 4 5 3.2, 8.9, 9.1, 9.2 3.2.1, 3.2.2, 8.9.1, 9.1.1, 9.2.1
NA 21 79 2.1, 2.2, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 4.11, 4.12, 4.13, 5.1, 5.3, 8.8, 12.1, 12.2, 12.4, 12.5 (trop fastideux, pas fait :wink: )
NT 78 166 (trop fastideux, pas fait :wink: ) (trop fastideux, pas fait :wink: )
Total 106 257

Pistes de solution

Le calcul des NA semble ne pas prendre en compte les NT.

Vu qu'il y a deux critères conformes de différence, on peut imaginer qu'il s'agissent des 8.1 et 10.1.

Si on reprend les 3 tests du 8.1, on a :

8,1,1,c
8,1,2,c
8,1,3,nt

...ce qui donne un résultat NT pour le 8.1.

De même, si on reprend les 3 tests du 10.1, on a :

10,1,1,c
10,1,2,c
10,1,3,nt

... ce qui donne un résultat NT pour le 10.1

bertrandkeller commented 2 years ago

Hello,

Merci, juste, le calcul des paramètres est pas simple. Il y a un problème avec les NT. Je préfère garder la colonne vide. Il y avait eu un debug, mais pour les feuilles avec critères seuls.

J'ai ajouté un élément dans le console pour debugguer. On voit bien les critères en cause.

debug

J'ai pas forcément bien géré, la présence ou non de type de valeurs en fonction de la taille du tableau (array).

Je regarde.

bertrandkeller commented 2 years ago

Ah, mais oui, En fait, je n'ai pas codé le résultat que tu attends.

J'ai codé NT comme un test non réalisé (vide), dans une démarche itérative.

Dans le cas des critères, si tu n'a pas testé un critère, on ne le prend pas en compte. Pour permettre de réaliser des audits rapides par exemple. C'est le total des critères (testés qui est indiqué sur la synthèse) qui va te donner l'information que l'audit n'est pas complet.

Toi tu attends un autre comportement pour une feuille par test. Tu attends que, si tu n'as pas fait tous les tests d'un critère et que tu choisis d'indiquer NT pour un test alors on obtient le résultat : critère non-testé. Ce que je comprends, mais qui est un cas un peu particulier.

Le statut NT n'existe pas pour le moment (cad en prenant en compte une case NT). Mais si je le prends en compte, je vois mal comment l'interpréter. N'est-il pas spécifique à un cas particulier d'un auditeur qui voudrait indiquer l’État de chaque test, dans le but de faire un audit hyper exhaustif de chacun des tests ? Ou d'un auditeur qui ne ferait que des tests incomplets de critères, alors que, peut-être, quand on a commencé un critère, faut le finir.

En même temps, sans cela, on change l'état d'un critère alors qu'un des test n'a pas été fait. Donc le résultat n'est pas juste.

Donc, il est possible que ce que tu indiques soit à la fois un bug (car on attend pas forcément ce comportement), mais aussi une évolution car c'est une demande qui concerne une manière particulière de réaliser un audit que je n'avais pas envisagé.

Il faut que je crée ce statut NT (ça m'arrangeait de pas en avoir car je supprimais cette entrée au départ du calcul) et que je compte combien il y en a.

Le taux de conformité sera plus juste. Le nombre de NT apparaitra dans le console JavaScript. NT ne voudrait alors pas dire : "pas testé du tout car j'ai pas le temps ou c'est pas nécessaire" (case vide), mais "pas testé, mais à faire sinon le critère est pas pris en compte".

J'essaye de bien faire le tour du sujet. Avoir une démarche d'audit simple avec des initiales à mettre dans des cases n'est pas forcément évident.

Dis moi ce que tu attends et où je me plante.

bertrandkeller commented 2 years ago

Je crois avoir résolu le problème, mais je dois tester sur d'autres feuilles pour savoir si j'ai rien cassé.

mfaure commented 2 years ago

Merci Bertrand de prendre en compte mon retour :)

Voici la cas d'usage que nous rencontrons :

Voici l'algorithme que nous utilisons pour ce calcul dans Asqatasun (l'ordre est important) :

Pour un critère donné :

  1. Si au moins un test est NC, alors le critère est NC
  2. sinon Si au moins un test est NT, alors le critère est NT
  3. sinon Si au moins un test est C, alors le critère est C
  4. sinon le critère est NA

En espérant que cela aide !