Введение
Элемент пользовательского интерфейса
Контекстное меню (также называемое контекстным, быстрым доступом и всплывающим меню) — это меню в графическом пользовательском интерфейсе (GUI), которое появляется в результате взаимодействия пользователя, например, при нажатии правой кнопкой мыши. Контекстное меню предлагает ограниченный набор опций, доступных в текущем состоянии или контексте операционной системы или приложения, к которому оно принадлежит. Как правило, доступные опции — это действия, связанные с выбранным объектом. С технической точки зрения, такое контекстное меню является графическим элементом управления.
История
Контекстные меню впервые появились в среде Smalltalk на компьютере Xerox Alto, где они назывались всплывающими меню; их изобрел Дэн Ингаллс в середине 1970-х годов. Microsoft Office v3.0 представил контекстное меню для функций копирования и вставки в 1990 году. Компания Borland продемонстрировала широкое использование контекстного меню в 1991 году на Второй конференции Paradox в Фениксе, штат Аризона. Lotus 1-2-3/G для OS/2 v1.0 добавил дополнительные параметры форматирования в 1991 году. Borland Quattro Pro для Windows v1.0 представил опцию контекстного меню "Свойства" в 1992 году.
Реализация
Контекстные меню открываются с помощью различных видов взаимодействия пользователя, направленных на область графического интерфейса, поддерживающую контекстные меню. Конкретный вид взаимодействия и способ выбора области могут различаться: на компьютерах с Microsoft Windows, macOS или Unix с системой X Window System, нажатие вторичной кнопки мыши (обычно правой) открывает контекстное меню для области под указателем мыши. Для ускорения работы некоторые реализации могут дополнительно поддерживать выделение при удержании и отпускании кнопки, то есть указатель удерживается и перетаскивается, а затем отпускается над нужным пунктом меню. На системах с однокнопочной мышью контекстные меню обычно открываются нажатием и удержанием первичной кнопки мыши (это работает с иконками в Dock на macOS) или комбинацией клавиш и кнопки мыши (например, Ctrl + щелчок мыши в Classic Mac OS и macOS). В macOS альтернативным способом является включение «Клавиш мыши» в «Универсальном доступе». Затем, в зависимости от типа клавиатуры (ноутбук, компактная или полноразмерная), сочетание клавиш будет ++5 или +5 (цифровая клавиатура) или ++i (ноутбук). На системах с мультитач-интерфейсом, таких как MacBook или Surface, контекстное меню можно открыть нажатием или касанием двумя пальцами вместо одного. Некоторые камеры смартфонов, например, распознают QR-код при съемке изображения. В этом случае появляется всплывающее окно с предложением «открыть» содержимое QR-кода, которое может быть веб-сайтом или настройкой подключения телефона к Wi-Fi. См. изображение. В некоторых пользовательских интерфейсах элементы контекстного меню сопровождаются значками для более быстрого распознавания при навигации. Контекстные меню также могут содержать верхний ряд значков для быстрого доступа к наиболее часто используемым опциям. В Windows контекстное меню не открывается при нажатой кнопке мыши, а только при ее отпускании, поэтому пользователю приходится щелкать еще раз, чтобы выбрать пункт меню. Это отличается от поведения macOS и большинства графических интерфейсов свободного программного обеспечения. В Microsoft Windows контекстное меню для активной области можно открыть нажатием клавиши Application или Shift+F10. Контекстные меню иногда организованы иерархически, что позволяет перемещаться по уровням структуры меню. Реализации могут различаться: Microsoft Word был одним из первых приложений, который отображал только подпункты некоторых пунктов меню после нажатия на значок стрелки в контекстном меню, в противном случае выполняя действие, связанное с родительским пунктом. Это позволяет быстро повторить действие с параметрами предыдущего выполнения и лучше разделять параметры и действия.
On a computer running Microsoft Windows, macOS, or Unix running the X Window System, clicking the secondary mouse button (usually the right button) opens a context menu for the region that is under the mouse pointer. For quickness, implementations may additionally support hold and release selection, meaning the pointer is held down and dragged, and released at desirable menu entry. On systems that support one button mice, context menus are typically opened by pressing and holding the primary mouse button (this works on the icons in the Dock on macOS) or by pressing a keyboard/mouse button combination (e. g. Ctrl mouse click in Classic Mac OS and macOS). A keyboard alternative for macOS is to enable Mouse keys in Universal Access. Then, depending on whether a laptop or compact or extended keyboard type is used, the shortcut is ++5 or +5 (numeric keypad) or ++i (laptop). On systems with a multi touch interface such as MacBook or Surface, the context menu can be opened by pressing or tapping with two fingers instead of just one. Some cameras on smartphones for example recognize a QR code when a picture is taken. Then a pop up appears if you want to 'open' the QR content. This could be anything like a website or to configure your phone to connect to Wi Fi. See image. On some user interfaces, context menu items are accompanied by icons for quicker recognition upon navigation. Context menus can also have a top row of icons only for quick access to most frequently used options. Windows mouse click behavior is such that the context menu doesn't open while the mouse button is pressed, but only opens the menu when the button is released, so the user has to click again to select a context menu item. This behavior differs from that of macOS and most free software GUIs. In Microsoft Windows, pressing the Application key or Shift+F10 opens a context menu for the region that has focus. Context menus are sometimes hierarchically organized, allowing navigation through different levels of the menu structure. The implementations differ: Microsoft Word was one of the first applications to only show sub entries of some menu entries after clicking an arrow icon on the context menu, otherwise executing an action associated with the parent entry. This makes it possible to quickly repeat an action with the parameters of the previous execution, and to better separate options from actions.
Удобство использования
Контекстные меню подверглись критике со стороны специалистов по юзабилити при некорректном использовании, так как некоторые приложения делают определенные функции доступными только через контекстные меню, что может запутать даже опытных пользователей (особенно если контекстные меню можно активировать только в ограниченной области клиентского окна приложения). Контекстные меню обычно открываются в фиксированной позиции под курсором, но когда курсор находится близко к краю экрана, меню смещается, что снижает согласованность и затрудняет использование мышечной памяти. Если контекстное меню вызывается с клавиатуры, например, с помощью Shift + F10, оно появляется рядом с активным элементом управления, а не в позиции курсора, чтобы облегчить его распознавание.
В документации
Руководство Microsoft предписывает всегда использовать термин «контекстное меню» и явно не рекомендует использовать термин «меню быстрого доступа».