Menu (informatica): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
m →Altri progetti: Aggiunto il parametro "Preposizione" nel template "Interprogetto" |
||
(29 versioni intermedie di 19 utenti non mostrate) | |||
Riga 1:
[[
[[
Il termine '''menu'''
Gli elementi che compongono il menu possono essere considerati delle ''scorciatoie'' a comandi<ref>{{en}} What is a command [http://pcsupport.about.com/od/termsc/g/commands.htm] {{Webarchive|url=https://web.archive.org/web/20110116160908/http://pcsupport.about.com/od/termsc/g/commands.htm|date=16 gennaio 2011}}</ref> usati frequentemente che permettono all'utente di evitare di avere una conoscenza approfondita del sistema che sta usando e della esatta [[sintassi]] dei suoi comandi. Il menu è spesso usato in alternativa all'[[interfaccia a riga di comando]] dove le istruzioni al computer vengono date invece in forma di comandi testuali. Più menù allineati danno vita ad una cosiddetta ''barra dei menù'' tipicamente presente su [[sistemi operativi]] e [[applicazione (informatica)|applicazione]].
==Tipologia==
Le scelte offerte dal menu possono essere scelte dall'utente in diversi modi che definiscono l'[[interfaccia utente]]:
*mediante l'uso di un puntatore elettromeccanico, come una [[penna ottica]] (light pen)
*[[touch screen|toccando lo schermo del computer]]
*parlando a un sistema di [[riconoscimento vocale]]
*posizionando il [[cursore]] del computer con il [[mouse]] o con la [[tastiera
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
* [[menu contestuale]]
[[File:BlueSpice Mediawiki Extension ContextMenu.png|alt=Menu contestuale|none|miniatura|330x330px|Menu contestuale]]
* [[
[[File:Wikibookmarks.png|alt=Menu a discesa|none|miniatura|Menu a discesa]]
* [[menu popup]]<ref>{{Cita web|url=https://www.javatpoint.com/android-popup-menu-example|titolo=Android Popup Menu Example - javatpoint|lingua=en|accesso=2021-03-02}}</ref>
[[File:Popup-menu.png|alt=Popup-menu|none|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|lingua=en|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|none|miniatura|Menu ad hamburger: una volta cliccata l'icona, espande il menu che contiene]]
*[[menu a torta]]<ref>{{Cita web|url=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|dataarchivio=25 dicembre 2009|urlarchivio=https://web.archive.org/web/20091225004939/http://www.donhopkins.com/drupal/node/98|urlmorto=sì}}</ref>[[File:EasyGestures PieMenu.png|alt=Menu a torta|none|miniatura|Menu a torta]]
* [[Tab (widget)|menu a tab]]
[[File:Tab-css.png|alt=Menu a tab|none|miniatura|310x310px|Menu a tab]]
== 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|accesso=2 marzo 2021|dataarchivio=29 agosto 2012|urlarchivio=https://web.archive.org/web/20120829010633/http://www.useit.com/alertbox/mega-dropdown-menus.html|urlmorto=sì}}</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|lingua=en|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|lingua=en|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|none|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|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|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).|none|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®|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==
<references/>
==Voci correlate==
*[[Interfaccia utente]]
*[[Interfaccia grafica]]
== Altri progetti ==
{{interprogetto|
== Collegamenti esterni ==
* {{Collegamenti esterni}}
{{Controllo di autorità}}
{{Portale|Informatica}}
[[Categoria:Interfacce grafiche]]
|