Usando :hover para exibir informações ou elementos adicionais é uma técnica muito útil, mas uma grande desvantagem do uso da pseudoclasse hover é que ela geralmente não é amigável à acessibilidade. Nem todos usam mouse e alguns usuários têm deficiências visuais, portanto, dependem de leitores de tela ou do teclado, duas funcionalidades que tecnicamente não são hover.
Felizmente, a especificação CSS nos dá um presente para combinar com :hover: :focus-within. Com :focus-within os desenvolvedores podem modificar estilos de elementos quando um elemento ou seus filhos têm o foco do teclado!
Considere o seguinte modelo HTML com estilo CSS padrão:
<ul id="sports">
<li>
<label>
<input type="checkbox" name="sports[]">
Soccer
<button class="remove">Remove</button>
</label>
<!-- ... -->
</li>
</ul>
#sports .remove {
display: none;
}
#sports li:hover .remove {
display: inline-block;
}
Com o código acima, passar o mouse sobre um item da lista mostraria o botão “remover”. Isso é ótimo para usuários de mouse, mas totalmente inútil para usuários de teclado. Vamos corrigir isso usando :focus-within:
#sports .remove {
display: none;
}
#sports li:hover .remove,
#sports li:focus-within .remove {
display: inline-block;
}
Quando o foco atinge a caixa de seleção, o foco está tecnicamente dentro do item da lista e, portanto, podemos empregar :focus-within para mostrar o botão “remover”.
De certa forma, a acessibilidade é algo que é considerado por último, mas não deveria ser uma reflexão tardia, :focus-within é um aliado útil, mesmo quando a acessibilidade foi uma reflexão tardia. Mesmo quando o senhor considera a acessibilidade desde o início, :focus-within deve estar na caixa de ferramentas de todos os desenvolvedores!

Apresentando o MooTools Templated
Um grande problema com a criação de componentes de interface do usuário com a estrutura JavaScript do MooTools é que não há uma boa maneira de permitir a personalização do modelo e a facilidade de criação de nós. A partir de hoje, há duas maneiras de criar: new Element Madness A primeira maneira de criar componentes de UI…


QuickBoxes para Dojo
É importante para mim aumentar meu portfólio mental. Primeiro veio o MooTools, depois o jQuery e agora o Dojo. Converso frequentemente com Peter Higgins, famoso pelo Dojo, e decidi que era hora de entrar em seu mundo. Escolhi um plug-in simples, mas útil…
