Question d'entretien pour Développeur full stack

Que faut-il pour rendre un menu déroulant personnalisé accessible ?

Ce que le recruteur cherche à évaluer, comment structurer votre réponse et un exemple parlé à adapter.

Réponse rapide

Commencez par essayer un select natif, puisque vous obtenez gratuitement la gestion du clavier, du focus et le comportement des lecteurs d'écran. Si la maquette l'exclut, implémentez correctement le motif listbox ou combobox : gérez le focus vous-même, prenez en charge les flèches, Home, End, Escape et la saisie rapide, câblez aria-expanded, aria-activedescendant et les bons rôles, et rendez le focus au déclencheur à la fermeture.

Pourquoi les recruteurs posent cette question

L'accessibilité sépare les développeurs qui livrent pour tout le monde de ceux qui livrent pour une souris. Le recruteur vérifie si vous savez qu'ARIA est un contrat que vous devez implémenter, et non un attribut qui ajoute du comportement, et si vous iriez d'abord vers l'élément natif. Expliquer comment vous testez, au clavier et avec un vrai lecteur d'écran, est ce qui transforme une réponse théorique en réponse crédible.

Comment structurer votre réponse

  • Dites que vous allez d'abord vers l'élément natif et pourquoi.
  • Listez les interactions clavier que le motif exige.
  • Expliquez qu'ARIA décrit un état et n'ajoute pas de comportement.
  • Décrivez comment vous le testeriez.

Exemple de réponse

Exemple parlé, à la première personne

Mon premier réflexe, c'est de pousser pour ne pas en construire du tout, parce qu'un select natif vous donne la gestion du clavier, les sélecteurs mobiles et les annonces de lecteur d'écran sans une ligne de code, et la plupart des maquettes peuvent être respectées en le stylant. Quand on a vraiment eu besoin d'un composant personnalisé, pour une sélection multiple avec des avatars, je l'ai construit selon le motif listbox des ARIA authoring practices plutôt qu'en improvisant. Ça voulait dire que le déclencheur est un vrai bouton avec aria-expanded et aria-controls, que le popup a role listbox avec des options qui ont role option et aria-selected, et que je suis l'option active avec aria-activedescendant pour que le focus reste sur le champ. Côté clavier, il faut haut et bas, Home et End, Escape pour fermer et rendre le focus au déclencheur, Enter ou Espace pour sélectionner, et la saisie rapide pour sauter. Ce que je dis toujours, c'est qu'ARIA ne fait qu'annoncer un état ; ça n'ajoute aucun comportement, donc un div avec role button et sans gestionnaire de touche est pire qu'inutile. Je teste au clavier seul, puis avec un lecteur d'écran, avant que ça s'approche d'une revue.

Vous passez cet entretien bientôt ? GhostPilot écoute votre appel en direct, repère la question dès qu'elle est posée et affiche une réponse structurée à l'écran en temps réel. Essayez-le lors de votre prochain entretien blanc, ou prenez un Session Pass à $29, sans abonnement, pour le jour J.

Voir comment ça marche

Questions de relance à prévoir

  • Comment annonceriez-vous que la liste d'options a été mise à jour ?
  • Quel ratio de contraste faut-il pour l'indicateur de focus ?
  • Quand aria-label est-il le mauvais choix face à un libellé visible ?

Autres questions pour Développeur full stack

Votre recruteur posera sa propre version de celle-ci. Collez votre véritable fiche de poste dans le Question Predictor gratuit et obtenez les 20 questions que ce poste a le plus de chances de poser, avec ce que chacune cherche vraiment à sonder.

Prédire mes questions

Répétez les questions difficiles avant qu'on vous les pose

Entraînez-vous avec un copilote en direct, puis présentez-vous prêt. Un Session Pass à $29 vous accompagne pendant l'entretien, sans abonnement et sans engagement.

Obtenir GhostPilot