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

# Меню

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

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

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

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

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

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

Группируйте похожие элементы при помощи разделителей. Группировка элементов упрощает использование меню. При группировке:

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 targetted, so reserve these locations for particularly important or interesting functionality.

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

Не смешивайте различные типы элементов в одной группе: действия, флажки и радиокнопки должны располагаться отдельного друг от друга.

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

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

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

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

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

# API reference

GtkMenu

GtkMenuBar

GtkMenuButton

GtkMenuItem

GtkRadioMenuItem

GtkCheckMenuItem

GtkSeparatorMenuItem

GtkPopoverMenu