In computing and telecommunications, a menu is a list of commands presented to an operator by a computer or communications system. They may be thought of as shortcuts to frequently used commands that avoid the operator having to have a detailed knowledge or recall of syntax. A menu is used in contrast to a command line interface where instructions to the computer are given in the form of commands (or verbs).
Choices given from a menu may be selected by the operator by a number of methods (called interfaces):
A computer using a graphical user interface presents menus with a combination of text and symbols to represent choices. By clicking on one of the symbols, the operator is selecting the instruction that the symbol represents. A context menu is a menu in which the choices presented to the operator are automatically modified according to the current context in which the operator is working.
A common use of menus is to provide convenient access to various operations such as saving or opening a file, quitting a program, or manipulating data. Most widget toolkits provide some form of pull-down or pop-up menu. Pull-down menus are the type commonly used in menu bars (usually near the top of a window or screen), which are most often used for performing actions, whereas pop-up (or 'fly-out') menus are more likely to be used for setting a value, and might appear anywhere in a window.
According to traditional human interface guidelines, menu names were always supposed to be verbs, such as "file" "edit" and so on. This has been largely ignored in subsequent UI developments. A single word verb however is sometimes unclear, and so as to allow for multiple word menu names, the idea of a vertical menu was invented, as seen in NeXTSTEP.