Menu (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
EnzoBot (discussione | contributi)
m →‎top: data e morto, replaced: |date= → |data=
Inseritore (discussione | contributi)
Aggiornamento della voce
Riga 14:
Un computer che usi una [[interfaccia grafica]] può presentare i menu con una combinazione di testo e simboli che rappresentano le possibili scelte. Cliccando su uno dei simboli o sul testo scelto, l'utente seleziona l'istruzione che il simbolo od il testo rappresenta.
 
Con l'evoluzione delle interfacce grafiche si sono differenziati anche diverse tipologie di menu come il [[menu contestuale]], [[menu a discesa]], [[menu popup]] e il [[menu a torta]].:
 
* [[menu contestuale]][[File:BlueSpice Mediawiki Extension ContextMenu.png|alt=Menu contestuale|centro|miniatura|330x330px|Menu contestuale]]
* [[menu a discesa]] [[File:Wikibookmarks.png|alt=Menu a discesa|centro|miniatura|Menu a discesa]]
* [[menu popup]]<ref>{{Cita web|url=https://www.javatpoint.com/android-popup-menu-example|titolo=Android Popup Menu Example - javatpoint|sito=www.javatpoint.com|lingua=en|accesso=2021-03-02}}</ref>[[File:Popup-menu.png|alt=Popup-menu|centro|miniatura|Popup-menu]]
* menu hamburger<ref>{{Cita web|url=https://www.invisionapp.com/inside-design/pros-and-cons-of-hamburger-menus/|titolo=10 pros and cons of the hamburger menu (with examples) {{!}} Inside Design Blog|sito=www.invisionapp.com|lingua=en-US|accesso=2021-03-02}}</ref>
 
[[File:Editing Wikipedia mobile screenshot p 16, Penny Cyclopaedia with menu.png|alt=Menu ad hamburger: una volta cliccata l'icona, espande il menu che contiene|centro|miniatura|Menu ad hamburger: una volta cliccata l'icona, espande il menu che contiene]]
 
* [[menu a torta]]<ref>{{Cita web|url=https://web.archive.org/web/20091225004939/http://www.donhopkins.com/drupal/node/98#|titolo=The Design and Implementation of Pie Menus -- Dr. Dobb's Journal, Dec. 1991 {{!}} Don Hopkins|sito=web.archive.org|data=2009-12-25|accesso=2021-03-02}}</ref>[[File:EasyGestures PieMenu.png|alt=Menu a torta|centro|miniatura|Menu a torta]]
 
== Sottomenu ==
[[File:View menu and submenu.PNG|alt=Sottomenu|miniatura|Sottomenu]]
I menu sono talvolta organizzati gerarchicamente, consentendo la navigazione attraverso diversi livelli della struttura del menu. Selezionando una voce di menu con una freccia la si espanderà, mostrando un secondo menu (il sottomenu) con le opzioni relative alla voce selezionata.
 
L'usabilità dei sottomenu è stata criticata come difficile, a causa dell'altezza ridotta che deve essere attraversata dal puntatore . La legge di governo prevede che questo movimento sarà lento e qualsiasi errore nel toccare i confini della voce del menu principale nasconderà il sottomenu. Alcune tecniche proposte per alleviare questi errori sono mantenere il sottomenu aperto mentre si sposta il puntatore in diagonale e utilizzare ''mega menu'' progettati per migliorare la "scansionabilità" e la categorizzazione dei suoi contenuti<ref>{{Cita web|url=http://www.useit.com/alertbox/mega-dropdown-menus.html|titolo=mega menu}}</ref><ref>{{Cita web|url=https://www.nngroup.com/articles/mega-menus-gone-wrong/|titolo=Mega Menus Gone Wrong|autore=World Leaders in Research-Based User Experience|sito=Nielsen Norman Group|lingua=en|accesso=2021-03-02}}</ref>.
 
== Utilizzo dei puntini di sospensione allegati ==
Nelle funzioni o nei pulsanti del menu del computer, i puntini di sospensione aggiunti ("...") indicano che alla selezione seguirà un'altra finestra di dialogo, in cui l'utente può o deve effettuare una scelta. Se manca l'ellisse, la funzione verrà eseguita al momento della selezione<ref>{{Cita web|url=https://developer.apple.com/design/human-interface-guidelines/macos/menus/menu-anatomy/|titolo=Menu Anatomy - Menus - macOS - Human Interface Guidelines - Apple Developer|sito=developer.apple.com|accesso=2021-03-02}}</ref>.
 
* "Salva": il file verrà sovrascritto senza ulteriori input.
* "Salva con nome ...": nella seguente finestra di dialogo, l'utente può, ad esempio, selezionare un altro percorso o un nome di file o un altro formato di file.
 
== Menu nel web ==
Nel web vengono usati i menu per permettere la navigazione degli utenti attraverso le pagine. Solitamente vengono posizionati nell'header del sito web. Essi si possono costruire in [[HTML]] e [[CSS]], spesso con l'aiuto di [[JavaScript]]<ref>{{Cita web|url=https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_js_dropdown|titolo=Tryit Editor v3.6|sito=www.w3schools.com|lingua=en-US|accesso=2021-03-02}}</ref><ref>{{Cita web|url=https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_vertical_menu|titolo=Tryit Editor v3.6|sito=www.w3schools.com|lingua=en-US|accesso=2021-03-02}}</ref>.
 
Menu "onlclick" in JavaScript che si apre cliccando su di esso:<syntaxhighlight lang="html">
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.dropbtn {
background-color: #3498DB;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
}
 
.dropbtn:hover, .dropbtn:focus {
background-color: #2980B9;
}
 
.dropdown {
position: relative;
display: inline-block;
}
 
.dropdown-content {
display: none;
position: absolute;
background-color: #f1f1f1;
min-width: 160px;
overflow: auto;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
 
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
 
.dropdown a:hover {background-color: #ddd;}
 
.show {display: block;}
</style>
</head>
<body>
 
<h2>Menu cliccabile</h2>
<p>Clicca sul bottone per aprire il menu</p>
 
<div class="dropdown">
<button onclick="myFunction()" class="dropbtn">Menu</button>
<div id="myDropdown" class="dropdown-content">
<a href="#home">Home</a>
<a href="#about">Bio</a>
<a href="#contact">Contatti</a>
</div>
</div>
 
<script>
function myFunction() {
document.getElementById("myDropdown").classList.toggle("show");
}
window.onclick = function(event) {
if (!event.target.matches('.dropbtn')) {
var dropdowns = document.getElementsByClassName("dropdown-content");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
}
</script>
 
</body>
</html>
 
</syntaxhighlight>Menu in CSS già espanso:<syntaxhighlight lang="html">
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.vertical-menu {
width: 200px;
}
 
.vertical-menu a {
background-color: #eee;
color: black;
display: block;
padding: 12px;
text-decoration: none;
}
 
.vertical-menu a:hover {
background-color: #ccc;
}
 
.vertical-menu a.active {
background-color: #4CAF50;
color: white;
}
</style>
</head>
<body>
 
<h1>Menu</h1>
 
<div class="vertical-menu">
<a href="#" class="active">Home</a>
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
<a href="#">Link 4</a>
</div>
 
</body>
</html>
 
</syntaxhighlight>Menu "hover" che si apre quando il cursore o il dito si posizionano su di esso:<syntaxhighlight lang="html">
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
}
 
.dropdown {
position: relative;
display: inline-block;
}
 
.dropdown-content {
display: none;
position: absolute;
background-color: #f1f1f1;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
 
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
 
.dropdown-content a:hover {background-color: #ddd;}
 
.dropdown:hover .dropdown-content {display: block;}
 
.dropdown:hover .dropbtn {background-color: #3e8e41;}
</style>
</head>
<body>
 
<h2>Menu</h2>
<p>Passa con il mouse qui per aprire il menu</p>
 
<div class="dropdown">
<button class="dropbtn">Dropdown</button>
<div class="dropdown-content">
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</div>
 
</body>
</html>
 
</syntaxhighlight>
 
=== Menu creativi ===
[[File:Menu-creativo.png|alt=Menu creativo|centro|miniatura|Menu creativo]]
Alcuni siti web che ad esempio trattano di web design creativo, studi creativi e grafica utilizzano menu con interfacce non standard. Per esempio possono contenere icone, effetti di transizione e animazioni<ref>{{Cita web|url=https://freefrontend.com/css-menu/|titolo=135 CSS Menu|sito=Free Frontend|lingua=en-US|accesso=2021-03-02}}</ref><ref>{{Cita web|url=https://onaircode.com/animated-3d-menu-flipping-with-css-and-javascript/|titolo=Animated 3D Menu Flipping With CSS and JavaScript|autore=OnAirCode|sito=OnAirCode|data=2019-07-22|lingua=en-US|accesso=2021-03-02}}</ref>.
 
=== Accessibilità e usabilità ===
[[File:Bad-ux-usability.png|alt=Questo menu è posizionato in un luogo non immediatamente riconoscibile dall'utente (non si vede senza lo scrolling).|centro|miniatura|Questo menu è posizionato in un luogo non immediatamente riconoscibile dall'utente (non si vede senza lo scrolling).]]
Alcuni menu non standard (ad esempio nell'aspetto, nella navigazione e nella posizione in cui sono inseriti nella pagina) potrebbero compromettere l'usabilità, la riconoscibilità e l'accessibilità del menu stesso<ref>{{Cita web|url=https://www.psd2html.com/blog/the-good-the-bad-and-the-best-in-website-navigation.html|titolo=The Good, the Bad, and the Best in Website Navigation {{!}} Blog – PSD2HTML®|sito=www.psd2html.com|accesso=2021-03-02}}</ref><ref>{{Cita web|url=https://www.nngroup.com/articles/menu-design/|titolo=Menu Design: 15 UX Guidelines to Help Users|autore=World Leaders in Research-Based User Experience|sito=Nielsen Norman Group|lingua=en|accesso=2021-03-02}}</ref>. Questo può riguardare anche alcuni menu creativi<ref>{{Cita web|url=https://usabilitygeek.com/10-guidelines-for-navigation-usability/|sito=usabilitygeek.com|accesso=2021-03-02}}</ref>.
 
==Note==