L'élément ContentEditable ne réagit pas sur les raccourcis clavier

Je développe une extension Chrome qui injecte le code JS dans tous les onglets ouverts. La tâche de ce code comprend l'affichage d'une zone de texte, mise en œuvre en tant que contentEditable <div> pour permettre le formatage. Cependant, l'élément contentEditable ne fonctionne pas bien avec certains sites Web, par exemple, Twitter.

Essayez-le vous-même:

  1. Aller à twitter
  2. Coller javascript:document.body.setAttribute('contentEditable', true); Dans la barre d'adresse et appuyez sur Entrée.
  3. Cliquez n'importe où dans le document – vous devriez maintenant pouvoir éditer le texte.
  4. Essayez de taper un j ou k . Vous verrez: Le caractère n'apparaît pas, la sélection est déplacée (un tweet dans la liste sera mis en surbrillance).

Je me suis efforcé de savoir comment la navigation sur le clavier de Twitter est implémentée, mais n'a pas pu trouver d'indications. Pouvez-vous me donner des conseils sur la façon de résoudre ce problème (et éviter des problèmes similaires sur d'autres sites Web)?

L'utilisation d'un iFrame pour l'entrée déclenche d'autres bugs très étranges, donc je veux éviter cela si cela est possible.

Assurez-vous de ne pas avoir installé l'extension de clavier vim sur google chrome. J et K sont ensuite utilisés pour les raccourcis de navigation. (Haut / bas).