# Recrutement en ligne : l’accessibilité du dépôt de CV avant la campagne

> Une liste de vérifications pour un formulaire de dépôt de CV, des filtres d'offres et des alertes email, avant le lancement d'une campagne de recrutement.

- Auteur : Clément Hadrot
- Publié le : 2025-01-28
- Mis à jour le : 2025-01-28
- Catégorie : Accessibilité
- URL : https://wpmoderne.dev.wordpress-developpement.fr/accessibilite/recrutement-en-ligne-accessibilite-depot-cv/

## L’essentiel

- Le champ de dépôt de fichier annonce les formats acceptés en texte, pas en icône seule
- Les filtres d'offres restent utilisables sans souris
- L'inscription aux alertes confirme clairement l'action réalisée

Quinze jours avant le lancement d'une campagne de recrutement dans le secteur de la logistique, l'équipe communication d'une entreprise de transport régional a demandé un audit rapide de son espace carrières, avant de lancer les annonces sur les réseaux professionnels. Le formulaire de dépôt de CV, les filtres d'offres par métier et un système d'alerte par email constituaient le cœur de cet espace, à l'exclusion de tout outil de suivi des candidatures utilisé en interne par les équipes RH.

La liste qui suit reprend les points vérifiés dans l'ordre du parcours candidat, du premier filtre d'offres jusqu'à la confirmation d'inscription à une alerte email, chaque point ayant donné lieu à une correction avant le lancement de la campagne.

## Checklist des filtres d'offres

- Chaque filtre (métier, zone géographique, type de contrat) est un élément de formulaire natif, `<select>` ou groupe de cases à cocher, jamais une liste de boutons personnalisés sans clavier fonctionnel.
- Le nombre de résultats correspondant aux filtres actifs est annoncé dans une région `aria-live="polite"` après chaque changement de filtre.
- Un bouton « Réinitialiser les filtres » reste atteignable au clavier et clairement identifié, pas seulement une icône de croix sans texte associé.
- L'ordre de tabulation entre les filtres suit l'ordre visuel de gauche à droite, vérifié après une réorganisation récente de la mise en page.

## Checklist du champ de dépôt de fichier

Le champ de dépôt de CV utilisait initialement une zone de glisser-déposer stylisée, sans texte explicite sur les formats acceptés, seule une icône de trombone laissant deviner la fonction du champ.

```
<label for="depot-cv">
  Déposer votre CV (formats acceptés : PDF, DOCX, 5 Mo maximum)
</label>
<input type="file" id="depot-cv" accept=".pdf,.docx">
```

Le libellé explicite, associé formellement au champ via `for` et `id`, remplace désormais l'icône seule, ce qui permet à un utilisateur de lecteur d'écran de connaître les contraintes de format avant même de tenter le dépôt, plutôt que de découvrir un message d'erreur après un envoi refusé.

> L'essentiel à retenir : Le champ de dépôt de fichier annonce les formats acceptés en texte, pas en icône seule ; Les filtres d'offres restent utilisables sans souris ; L'inscription aux alertes confirme clairement l'action réalisée

## Checklist des messages d'erreur du formulaire de candidature

- Un fichier au mauvais format déclenche un message d'erreur associé au champ via `aria-describedby`, pas seulement une bordure rouge autour du champ.
- Le message d'erreur précise le format reçu et les formats attendus, plutôt qu'un simple « fichier invalide » sans détail exploitable.
- Le focus est ramené automatiquement sur le champ en erreur après une tentative de soumission refusée, pour éviter que l'utilisateur ne perde le fil du formulaire.
- Les champs obligatoires (nom, email, métier recherché) sont annoncés comme tels par l'attribut `required`, pas uniquement par un astérisque visuel dans le libellé.

## Checklist de l'inscription aux alertes email

Le formulaire d'inscription aux alertes email, un simple champ email et un bouton de validation, manquait initialement de confirmation claire après soumission : seul un léger changement de couleur du bouton signalait le succès de l'inscription, un signal insuffisant pour un utilisateur de lecteur d'écran ou pour quiconque ne fixait pas son regard sur le bouton au moment de la validation.

```
<div role="status">
  Inscription confirmée. Vous recevrez les nouvelles offres du secteur logistique par email.
</div>
```

Le rôle `status`, équivalent à une région `aria-live="polite"` implicite, annonce désormais explicitement la confirmation, avec le secteur choisi rappelé dans le message pour donner une confirmation complète plutôt qu'un simple accusé de réception générique.

### Un point vérifié en dernier : la cohérence entre pages

La checklist a été appliquée à trois gabarits distincts (page de recherche d'offres, page de détail d'une offre, page d'inscription aux alertes), avec une vérification finale de cohérence : un même filtre de métier devait porter le même libellé et le même comportement clavier sur les trois pages, un écart repéré sur la page de détail d'offre où un filtre secondaire avait été implémenté séparément par un autre développeur.

> Un audit mené quinze jours avant une campagne ne rattrape pas des années de dette d'accessibilité, mais il suffit largement à corriger les points de friction qui feraient perdre un candidat dès la première page.

## En résumé

Quinze jours ont suffi pour reprendre les filtres d'offres, le champ de dépôt de CV, les messages d'erreur du formulaire de candidature et la confirmation d'inscription aux alertes email, sur les trois gabarits concernés. Cette checklist, volontairement limitée au parcours candidat public et non à l'outil de suivi interne des candidatures, illustre qu'un audit ciblé et court reste possible juste avant le lancement d'une campagne, à condition de prioriser les points de contact les plus fréquentés du parcours.
