# Menu contestuale

Il menu contestuale (o menu pop-up) è un elenco di possibili interazioni che è possibile effettuare con l'oggetto con cui si vuole interagire.
L'attributo "contestuale" fa riferimento al fatto che le voci del menu dipendono dal tipo di oggetto (o oggetti) con cui si vuole interagire e dall'applicazione che gestisce l'oggetto, nel senso che le voci dipendono dal contesto in cui si sta lavorando e cambiano in relazione ad esso.
In diverse versioni dei sistemi operativi più diffusi, un menu contestuale si apre cliccando con il tasto destro del mouse su un oggetto, ad esempio un file o una cartella o un raggruppamento di questi. In questi sistemi operativi c'è la possibilità di aprire il menu contestuale anche usando la tastiera premendo la combinazione di tasti Shift + F10 oppure premendo un tasto speciale che viene chiamato "tasto menu", "tasto menu contestuale" o "tasto applicazioni".
Nel caso di Mac OS è inoltre possibile aprire lo stesso menu combinando il clic del tasto sinistro con la pressione del tasto control.

## Implementazione

I menu contestuali vengono aperti tramite varie forme di interazione dell'utente che prendono di mira una regione della GUI che supporta i menu contestuali. La forma specifica di interazione dell'utente e i mezzi con cui una regione è mirata variano:
* Su un computer che esegue Microsoft Windows, macOS o Unix che esegue il sistema X Window, facendo clic sul pulsante secondario del mouse (di solito il pulsante destro) si apre un menu contestuale per la regione che si trova sotto il puntatore del mouse.
* Sui sistemi che supportano i mouse a un pulsante, i menu contestuali vengono in genere aperti premendo e tenendo premuto il pulsante principale del mouse (questo funziona sulle icone nel Dock su macOS) o premendo una combinazione di tastiera/mouse (ad esempio Ctrl-clic del mouse in Mac OS classico e macOS). Un'alternativa alla tastiera per macOS è abilitare i tasti del mouse in Accesso universale. Quindi, a seconda che si utilizzi un laptop o un tipo di tastiera compatta o estesa, la scorciatoia è Function+ Ctrl+5 o Ctrl+5 (tastierino numerico) o Function+ Ctrl+ i (laptop).
* Sui sistemi con un'interfaccia multi-touch come MacBook o Surface, il menu contestuale può essere aperto premendo o toccando con due dita invece di una sola.
* Alcune fotocamere degli smartphone, ad esempio, riconoscono un codice QR quando viene scattata una foto. Quindi viene visualizzato un popup se si desidera "aprire" il contenuto QR. Potrebbe trattarsi di qualcosa come un sito Web o per configurare il telefono per la connessione al Wi-Fi.
* Su alcune interfacce utente, le voci del menu contestuale sono accompagnate da icone per un riconoscimento più rapido durante la navigazione.
* I menu contestuali possono anche avere una riga superiore di icone solo per un rapido accesso alle opzioni utilizzate più di frequente.
Il comportamento del clic del mouse di Windows è tale che il menu contestuale non si apre mentre si preme il pulsante del mouse, ma apre il menu solo quando il pulsante viene rilasciato, quindi l'utente deve fare nuovamente clic (questa volta con il primo pulsante del mouse) per selezionare una voce del menu contestuale. Questo comportamento è diverso da quello di macOS e della maggior parte delle GUI.
I menu contestuali sono talvolta organizzati gerarchicamente, consentendo la navigazione attraverso diversi livelli della struttura del menu. Le implementazioni differiscono: Microsoft Word è stata una delle prime applicazioni a mostrare solo le sotto-voci di alcune voci di menu dopo aver fatto clic su un'icona a freccia nel menu contestuale, altrimenti eseguendo un'azione associata alla voce principale. Ciò consente di ripetere rapidamente un'azione con i parametri dell'esecuzione precedente e di separare meglio le opzioni dalle azioni.

### X Window Manager

I seguenti gestori di finestre forniscono la funzionalità del menu contestuale:
* 9wm
* IceWM
* olwm
* openbox
* sawfish

## Usabilità

I menu contestuali hanno ricevuto alcune critiche dagli analisti dell'usabilità quando utilizzati in modo improprio, poiché alcune applicazioni rendono alcune funzionalità disponibili solo nei menu contestuali, il che può confondere anche gli utenti esperti (specialmente quando i menu contestuali possono essere attivati solo in un'area limitata della finestra client dell'applicazione).
I menu contestuali di solito si aprono in una posizione fissa sotto il puntatore, ma quando il puntatore si trova vicino al bordo dello schermo il menu verrà spostato, riducendo così la coerenza e impedendo l'uso della memoria muscolare. Se il menu contestuale viene attivato dalla tastiera, ad esempio utilizzando Maiusc + F10, il menu contestuale viene visualizzato vicino al widget attivo anziché alla posizione del puntatore, per salvare i tentativi di riconoscimento.

## Nelle pagine web

Il seguente esempio permette di creare un menu contestuale in JavaScript:

## Esempi

* Menu contestuale in un browser web
* FileOptimizer di Windows
* TortoiseSVN