Алан Дэй (Allan Day)
aday@gnome.org
Калум Бенсон (Calum Benson)
Адам Элман (Adam Elman)
Сэт Никел (Seth Nickell)
Колин Робертсон (Colin Robertson)

# Меню

Меню — это список действий и параметров, который появляется при нажатии на заголовок или кнопку. Если меню является контекстным, то меню открывается посредством вспомогательного действия (нажатие вспомогательной кнопки мыши или длительное нажатие на сенсорный экран), выполняемого над элементом содержимого.

# Когда использовать

Меню может быть частью панели меню, контекстным меню (см. режим выделения) или кнопочным меню. На страницах, посвящённым указанным выше типам меню, объясняется, когда использовать тот или иной тип меню.

# Размер и структура

Меню должно содержать от трёх до двенадцати элементов верхнего уровня. Если элементов больше двенадцати, попробуйте сократить их количество, в противном случае расположите часть элементов в подменю. Однако старайтесь не использовать подменю, поскольку они затрудняют использование приложения.

Подменю должно содержать от трёх до шести элементов. Подменю не должно содержать других подменю.

Organize similar menu items into groups using dividers — this will make them easier to understand and quicker to use. When creating groups:

Order groups and group items logically, either by importance, task order, or expected frequency of use. Items at the top and bottom of the menu are more noticeable and easily targeted, so reserve these locations for particularly important or interesting functionality.

Размещайте группы из одного элемента в нижней или верхней части меню или группируйте из с другими одиночными группами.

Do not mix different types of menu item within each group — actions, check box and radio button items should be kept separate.

# Общие рекомендации

Добавьте ускорители для всех элементов меню. В приложении можно можно использовать для различных меню один и тот же ускоритель, но избегайте дублирования ускорителей в одном и том же меню. Помните, что в отличие от других элементов управления, после появления меню ускорители в нём можно использовать, просто нажав на букву, клавишу Alt нажимать необязательно.

В качестве меток в меню используйте глаголы, если это команда, или существительные, если это параметр. При использовании английского языка текстовые метки должны записываться согласно правилу использования прописных букв в заголовках.

Применяйте многоточие, если для выполнения действия элементу меню требуется ввод от пользователя.

Two linked actions can be combined into a single menu item, by changing the label when the item is selected. For example, a Play item may change to Pause. However, only use this type of item when actions are logical opposites which are obvious to users. Likewise, do not use this technique for settings — use check boxes or radio buttons instead.

# API reference

GtkMenu

GtkMenuBar

GtkMenuButton

GtkMenuItem

GtkRadioMenuItem

GtkCheckMenuItem

GtkSeparatorMenuItem

GtkPopoverMenu