Pergunta de entrevista para Desenvolvedor Full Stack

O que é preciso para tornar um dropdown customizado acessível?

O que o entrevistador está avaliando, como estruturar sua resposta e um exemplo falado que você pode adaptar.

Resposta rápida

Comece tentando um select nativo, já que você ganha suporte a teclado, gestão de foco e comportamento de leitor de tela de graça. Se o design descarta isso, implemente o padrão listbox ou combobox direito: gerencie o foco você mesmo, suporte setas, Home, End, Escape e digitação para busca, conecte aria-expanded, aria-activedescendant e as roles corretas, e devolva o foco ao gatilho ao fechar.

Por que os entrevistadores perguntam isso

Acessibilidade separa desenvolvedores que entregam para todo mundo de desenvolvedores que entregam para um mouse. O entrevistador está checando se você sabe que ARIA é um contrato que você tem que implementar, e não um atributo que adiciona comportamento, e se você recorreria ao elemento nativo primeiro. Mencionar como você testa, com teclado e com um leitor de tela de verdade, é o que transforma uma resposta teórica em uma resposta crível.

Como estruturar sua resposta

  • Diga que você recorre ao elemento nativo primeiro e por quê.
  • Liste as interações de teclado que o padrão exige.
  • Explique que ARIA descreve estado e não adiciona comportamento.
  • Descreva como você testaria isso.

Exemplo de resposta

Exemplo falado, em primeira pessoa

O meu primeiro movimento é questionar a construção de um, porque um select nativo te dá tratamento de teclado, seletores de mobile e anúncios de leitor de tela com zero código, e a maioria dos designs pode ser atendida com estilo em volta dele. Quando a gente genuinamente precisou de um customizado, para uma seleção múltipla com avatares, eu construí em cima do padrão listbox das práticas de autoria de ARIA em vez de improvisar. Isso significou que o gatilho é um botão de verdade com aria-expanded e aria-controls, o popup tem role listbox com opções que têm role option e aria-selected, e eu acompanho a opção ativa com aria-activedescendant para o foco ficar no input. No teclado você precisa de cima e baixo, Home e End, Escape para fechar e devolver o foco ao gatilho, Enter ou Espaço para selecionar, e digitação para pular. O importante que eu digo às pessoas é que o ARIA só anuncia estado; ele não adiciona comportamento nenhum, então uma div com role button e sem handler de tecla é pior que inútil. Eu testo só com teclado, depois com um leitor de tela, antes de aquilo chegar perto de uma revisão.

Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.

Veja como funciona

Perguntas de acompanhamento que você pode esperar

  • Como você anunciaria que a lista de opções foi atualizada?
  • Qual razão de contraste você precisa para o indicador de foco?
  • Quando aria-label é a escolha errada em comparação com um rótulo visível?

Mais perguntas para Desenvolvedor Full Stack

Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.

Prever minhas perguntas

Ensaie as perguntas difíceis antes que elas apareçam

Pratique com um copiloto ao vivo e depois entre pronto. Um Session Pass de $29 te leva até o fim da entrevista, sem assinatura e sem amarras.

Instalar o GhostPilot