Ouça a tecla pressionada em elementos não formados.

Aqui está um truque simples para ouvir o pressionamento de tecla e eventos relacionados em elementos que não sejam entradas de texto. Contanto que você adicione um tabindex ao elemento, ele pode ser selecionado e aceitará eventos de teclado. Aqui está um exemplo.

<div id='keyboardable' tabindex=1></div>    

Adicionar tabindex ao acima permite que você se concentre no div e comece a ouvir a entrada do teclado. Aqui está um exemplo ao vivo:

http://jsfiddle.net/fmeHw/

Você pode estar se perguntando, como isso é útil? Este ( http://challenge.crownpartners.com ) é um link para um projeto de fim de semana em que trabalhei há algum tempo para ajudar com algum recrutamento. Quando fiz isso, não estava ciente desse truque, então acabei usando um elemento de formulário oculto. Se soubesse disso, poderia tê-lo usado como uma alternativa mais limpa.

Um caso de uso mais comum é a criação de um botão que você gostaria que o usuário pudesse acionar por meio do teclado.

PS É sempre uma boa ideia considerar o celular, esse truque não parece funcionar no iOS, não testei no Android ou outros navegadores móveis.