Modal avec tabindex=“-1” obtient le focus sur l'onglet

Je travaille avec Twitter Bootstrap pour le moment, et je rencontre un problème étrange dans le tabindex d'un modal:

Je suis en train de l'onglet par la forme des éléments à l'intérieur de l'modal, mais après le dernier bouton, l'accent a disparu avant de revenir sur le bouton fermer. J'ai ajouté une ligne dans la console qui se connecte à quel élément est concentrée, et il s'est avéré être le modal lui-même, même si il a tabindex="-1".

Je ne suis pas en mesure de partager mon code, mais un rapide coup d'oeil à l'Amorçage docs m'ont dit que ça se passe aussi dans leur exemple modal. Le problème se reproduit:

  1. Visite http://getbootstrap.com/2.3.2/javascript.html#modals
  2. Ouvrir la démo modal ("Lancement de la Démo Modal")
  3. Onglet à travers les champs. Vous allez perdre le focus après "Enregistrer les modifications" avant qu'il revient sur le bouton fermer.

Mettre ceci dans la console de log à chaque fois que le modal (ou en fait n'importe quel élément avec tabindex="-1") obtient le focus.

$('[tabindex="-1"]').focus(function(){
    console.log('Focus is on an element with negative tabindex')
});

(Il ouvre également lorsque vous cliquez sur le modal évidemment, mais c'est hors de portée).

Pourquoi cela se produit? Comment puis-je éviter cela? Est-ce un bug lié au navigateur, un bug/feature de Twitter Bootstrap, ou tout autre chose?

OriginalL'auteur Stephan Muller | 2013-10-04