É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 traccourci 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?