Acredito que a grande questão aqui é a acessibilidade. Eu também já tentei fazer menus dropdown com CSS, mas a acessibilidade sempre fica comprometida.
É sempre bom a gente testar a navegação por teclado, dentre outras coisas, quando vamos criar um componente.
Depois que eu vi esse vídeo aqui, fiquei impressionado com a quantidade de detalhes que precisam ser considerados ao criar um dropdown. https://www.youtube.com/watch?v=pcMYcjtWwVI
Entendo como acessibilidade é importante, ainda mais no dia de hoje com tantas de pessoas com acesso a internet e seria um erro eu dizer que o projeto acima é reutilizável em um projeto de larga escala, aliás eu digo o contrário bem aqui.
Esse projeto não tem como fim o uso do mesmo em projetos reais.
O objetivo mesmo é mostrar que com um pouco de criatividade podemos criar coisas complexas a partir de coisas mais simples, essa mesma criatividade que caso você demonstre ter em uma possível entrevista de emprego, pode te colocar um passo a frente de outros canditados, existem muito objetivos com esse post, porém e infelizmente acessibilidade não é um deles.
Vou procurar saber mais sobre semântica nesse tipo de feature e futuramente trazer mais conteúdo sobre, de forma a abranger tudo que for relacionado ao assunto, obrigado pela observação.