Quali elementi HTML non sono tabbable anche con tabindex?

Qualcuno ha un elenco degli elementi HTML (HTML5) che non sono tabbable, anche se viene specificato un tabindex? (Da tabbable, intendo che possono ricevere il focus premendo ripetutamente il tasto “tab”.)

Sappiamo che ci sono quegli elementi che sono tabbable di default, come input o textarea . Sappiamo anche che ci sono alcuni elementi che sono solo tabbable se un tabindex è esplicitamente specificato, come gli elementi div e span .

Secondo W3Schools, “In HTML5, l’attributo tabindex può essere utilizzato su qualsiasi elemento HTML”. Tuttavia, ci sono sicuramente alcuni elementi che non sono tabbable anche se hanno un tabindex. Ad esempio, non ha senso che l’elemento param sia tabbable o head element. Inoltre, non penso sia ansible che l’elemento option sia tabbable, ma non ne sono sicuro. E sono anche meno sicuro di cose come la map che può contenere elementi tabbable ma di solito non sono tabbable.

Qualcuno può darmi un elenco di tutti gli elementi che non possono mai ricevere lo stato attivo anche se hanno un tabindex?

Poiché nessuno ha ancora elaborato alcun tipo di elenco definitivo, ho eseguito alcuni test su una versione abbastanza recente di Chrome e ho trovato il seguente elenco di elementi che non sono affatto tabbable:


Sfortunatamente, poiché ho passato solo un paio d'ore a cercare di scrivere questa lista, ha qualche avvertimento:

  1. Non testato su nessun browser diverso da Chrome
  2. Ho saltato la maggior parte degli elementi che pensavo potessero essere tabbable (come avrebbero normale contenuto visualizzato)
  3. Non ho provato a impostare uno di questi per essere visualizzato (a parte come nei miei commenti)

Sono rimasto molto sorpreso dal fatto che i seguenti elementi sono tabbable:

  • e (sorpresi perché e non lo sono)

  • e

  • e

  • e (anche se sono più di un caso speciale in quanto non sono comunque elementi tecnicamente validi in HTML)
  • (non c'è quasi nessuna differenza tra questo e da una prospettiva tabbing)
  • e (sebbene la tabulazione non dia alcuna indicazione visiva - cioè la casella di selezione non si apre)

La specifica HTML elenca le condizioni in base alle quali gli elementi sono focalizzabili e come viene interpretato il tabindex .

  • Il flag di messa a fuoco tabindex dell’elemento è impostato.
  • L’elemento viene reso o è un discendente di un elemento canvas che rappresenta il contenuto incorporato.
  • Né l’elemento né alcuno dei suoi antenati sono inerti.
  • L’elemento non è disabilitato.

La definizione si basa su elementi da renderizzare e con i CSS è ansible rendere qualsiasi elemento reso. Ad esempio, un e anche e :

  Test    

BTW: Ignora W3Schools – generalmente non è una fonte affidabile / autorevole.