Étapes à suivre pour reproduire:
Visitez cette page . C’est un JSFiddle entièrement composé de
window.onkeydown = function(e) { e.preventDefault(); };
Cliquez à l'intérieur de la zone grise, sous la barre blanche supérieure, pour mettre en évidence la zone principale.
Appuyez sur Ctrl+ Zpour passer en mode Pass Through.
Appuyez sur Esc. Cela échouera, car la clé est interceptée par JavaScript et n'est jamais envoyée à Pentadactyl.
Ceci est facile à atténuer dans l'exemple en cliquant sur la barre supérieure pour transférer le focus de la zone contenant le onkeydown
, ce qui permet à Escape de traverser et de quitter le mode Pass Through. Cependant, je travaille avec un site qui intercepte toutes les pressions sur une touche (avec preventDefault
) via window.onkeydown
, de sorte qu'il n'y a nulle part où transférer le focus.
La seule solution que j'ai pu trouver est de créer un nouvel onglet, puis de le fermer ( d
). Toutefois, cela nécessite l’utilisation de la souris (le t
raccourci ne fonctionnant plus car nous sommes en mode Pass Through), et c’est une solution de contournement simpliste.
Existe-t-il un moyen de quitter le mode Pass Through avec le clavier uniquement, sur un site qui intercepte toutes les pressions de touche?
la source