Skip to content

fix: 1084 rgaa label et boutons representants#1281

Open
olivier-rabot wants to merge 4 commits intomainfrom
fix/1084-etape-un-renouvelement-agrement-rgaa
Open

fix: 1084 rgaa label et boutons representants#1281
olivier-rabot wants to merge 4 commits intomainfrom
fix/1084-etape-un-renouvelement-agrement-rgaa

Conversation

@olivier-rabot
Copy link
Copy Markdown
Contributor

@olivier-rabot olivier-rabot commented Apr 20, 2026

Ticket(s) lié(s)

https://jira-mcas.atlassian.net/jira/software/c/projects/VAO/boards/336?selectedIssue=VAO-1084

Description

Ajout boutons au niveau des representants legaux + precision des labels

Screenshot / liens loom

Check-list

  • Ma branche est rebase sur main
  • Des tests ont été écrits pour tous les endpoints créés ou modifiés
  • Refacto "à la volée" des parties sur lesquelles j'ai codée
  • Plus de console.log
  • J'ai ajouté une validation de schéma sur la route que j'ai ajouté ou modifié
  • J'ai converti les fichiers vue en <script lang="ts">
  • Mon code est en Typescript (autant que possible)

Testing instructions

@olivier-rabot olivier-rabot self-assigned this Apr 20, 2026
@revu-bot revu-bot Bot requested a review from revu-bot April 20, 2026 07:58
@olivier-rabot olivier-rabot marked this pull request as ready for review April 20, 2026 07:58
Copy link
Copy Markdown
Collaborator

@revu-bot revu-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Review: RGAA Accessibility Fix for Représentants Buttons

This PR improves RGAA (French accessibility standard) compliance by:

  1. Adding descriptive labels to action buttons (edit/delete) that include the representative's index
  2. Moving the save/cancel editing buttons to a separate row with screen-reader-only text
  3. Adding a new .container-flex-end CSS utility class

Overall Assessment

The accessibility intent is correct and the changes are well-structured. However, there are a couple of issues worth addressing.

File Lines Severity Issue
representants.vue 37–55 IMPORTANT Save/cancel icon-only buttons have no visible label — icon rendering depends on DsfrLinkV2 internals
representants.vue 23–27 MINOR Delete button missing v-if="props.modifiable" guard is already present but the accessible label could be inconsistent with the edit button pattern

Comment thread packages/frontend-usagers/src/components/agrement/representants.vue Outdated
@olivier-rabot olivier-rabot force-pushed the fix/1084-etape-un-renouvelement-agrement-rgaa branch from e81d39d to 860e4ea Compare April 20, 2026 07:58
@olivier-rabot olivier-rabot requested a review from l-scherer April 20, 2026 08:34
Comment thread packages/frontend-usagers/src/components/agrement/representants.vue Outdated
@l-scherer l-scherer self-requested a review April 20, 2026 10:47
@click="saveRepresentant(idx)"
>
<span class="fr-sr-only"
>Enregistrer les modifications du représentant {{ idx + 1 }}</span
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

il y a un problème je pense avec le composant DSFRLink qui n'accepte peut-être pas de children, car en testant, le texte n'apparaît pas, ni quand on désactive le css, ni dans le DOM.
ça peut fonctionner avec aria-label aussi, mais sinon remplacer le DsfrLinkV2 par une balise button avec les classes du dsfr appropriées.

Image Image

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sweetyume exact
Je suis passé sur des boutons natifs. Le dsfrButton ne gènère pas de nom accessible quand on l'utilise en mode "icon-only", même en lui passant un label en props en sortie on a simplement un attribut title.

Comment thread packages/frontend-usagers/src/components/agrement/representants.vue Outdated
@sonarqubecloud
Copy link
Copy Markdown

@tokenbureau
Copy link
Copy Markdown

tokenbureau Bot commented Apr 22, 2026

🎉 Deployment for commit e2c1104 :

Ingresses
Docker images
  • 📦 docker pull harbor.fabrique.social.gouv.fr/vao/vao/backend:sha-e2c1104ce611168f2ae7ce9647c0f983c48f0b5a
  • 📦 docker pull harbor.fabrique.social.gouv.fr/vao/vao/cron:sha-e2c1104ce611168f2ae7ce9647c0f983c48f0b5a
  • 📦 docker pull harbor.fabrique.social.gouv.fr/vao/vao/external-api:sha-e2c1104ce611168f2ae7ce9647c0f983c48f0b5a
  • 📦 docker pull harbor.fabrique.social.gouv.fr/vao/vao/frontend-bo:sha-e2c1104ce611168f2ae7ce9647c0f983c48f0b5a
  • 📦 docker pull harbor.fabrique.social.gouv.fr/vao/vao/frontend-usagers:sha-e2c1104ce611168f2ae7ce9647c0f983c48f0b5a
  • 📦 docker pull harbor.fabrique.social.gouv.fr/vao/vao/migrations:sha-e2c1104ce611168f2ae7ce9647c0f983c48f0b5a
  • 📦 docker pull maildev/maildev:2.1.0
Debug

@olivier-rabot olivier-rabot requested a review from sweetyume April 22, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants