Menù dropdown
Il plugin Javascript per costruire dropdown è basato su una libreria di terze parti, Popper.js, che si occupa del posizionamento dinamico del dropdown stesso in congiunzione con la sua posizione all’interno del viewport.
Per fare in modo che i tooltip funzionino è quindi necessario usare la versione bundle che contiene già Popper.js o includere popper.min.js
nel codice
Per l’attivazione di un dropdown è sufficiente racchiudere il link per l’apertura e il menu a discesa all’interno di un elemento con classe .dropdown
, o un altro elemento che dichiari la position: relative;
. I dropdown possono essere attivati da elementi <a>
o <button>
per soddisfare al meglio le tue esigenze.
Ovviamente, funzionano anche tutte le varianti già disponibili per i bottoni. Di seguito, un esempio di utilizzo con classi .btn-primary
, .btn-secondary
e .btn-danger
:
Aggiungendo la classe.dark
al dropdown menu si ottiene una versione in negativo dello stesso, con link ed elementi interni declinati di conseguenza.
Aggiungere la classe .active
ai link del dropdown che si vogliono mostrare come attivi. Per questioni di accessibilità è consigliabile aggiungere <span class="sr-only"> attivo</span>
in coda al testo degli elementi attivi.
Aggiungere la classe .disabled
ai link del dropdown che si vogliono mostrare come disabilitati. Includere anche la proprietà aria-disabled="true"
per comunicare lo stato disabilitato agli utenti dotati di screen reader.
Esempio
Drop out, left e right
E? possibile utilizzare un dropdown anche in associazione agli elementi <a>
.
E' possibile utilizzare delle classi aggiuntive per determinare la posizione di comparsa delle voci di menù:
Per aprire le voci di menu verso l’alto aggiungere la classe .dropup
all’elemento padre
Per aprire le voci di menu verso destra aggiungere la classe .dropright
all’elemento padre
Per aprire le voci di menu verso sinistra aggiungere la classe .dropleft
all’elemento padre
Accessibilità
Lo standard WAI ARIA definisce un widget role="menu"
, che però è specifico per i menu applicativi che attivano azioni o funzioni. I menu ARIA possono contenere solo voci di menu, voci di menu di caselle di controllo, voci di menu dei pulsanti di opzione, gruppi di pulsanti di opzione e sottomenu.
I dropdown di Bootstrap, al contrario, sono progettati per essere generici e applicabili a una varietà di situazioni e strutture di markup. Ad esempio, è possibile creare elenchi a discesa contenenti input e controlli di moduli aggiuntivi, ad esempio campi di ricerca o moduli di accesso. Per questo motivo, Bootstrap non si aspetta (né aggiunge automaticamente) alcuno degli attributi di aria e di ruolo richiesti per i veri menu ARIA. Gli autori dovranno includere questi attributi più specifici.
Tuttavia, Bootstrap aggiunge il supporto integrato per la maggior parte delle interazioni standard del menu della tastiera, come la possibilità di spostarsi tra i singoli elementi .list-item
usando i tasti cursore e chiude il menu con il tasto ESC.