Кнопка (элемент интерфейса программ)

Кнопка — элемент интерфейса компьютерных программ, является метафорой кнопки в технике и, соответственно, изображается схожей с ней и выполняет аналогичные функции. При нажатии на неё происходит программно связанное с этим нажатием действие либо событие (например, выйти из приложения).

В широком смысле, кнопкой называют любой экранный элемент, с очерченной границей, нажатие на который приводит к некоему действию.

Кнопка может быть реализована как в графических, так и в текстовых интерфейсах.

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

Виды кнопок

Простая кнопка 
Простая кнопка имеет шесть состояний — «нажато», «отжато», «в фокусе», «не в фокусе», «разблокировано» и «заблокировано».

Счётная кнопка 
Счётная кнопка (toggle button) может иметь два, три и более состояний, работает как многофазный счётный триггер, то есть при каждом нажатии переходит в следующее состояние по модулю счёта. В общем случае счётная кнопка не удерживается в нажатом состоянии. Состояние счётной кнопки определяется косвенно, по состоянию устройства или элементов индикации. В частном случае счёта по модулю 2 счётная кнопка может удерживаться в нажатом состоянии, тогда состояние счётной кнопки определяется положением самой счётной кнопки.

В зависимости от стиля визуального исполнения может иметь как выпуклый, так и утопленный или плоский вид. Также при «нажатии» зачастую визуально имитируется утапливание её в поверхность.

Радиокнопка 
Кнопка, входящая в группу кнопок с зависимой фиксацией для выбора одного из предложенных вариантов, выделяется в специализированный элемент управления — радиокнопку.

Группа кнопок схожей функциональности может быть объединена в единую панель инструментов.

Для управления с клавиатуры кнопка может быть снабжена управляемым фокусом ввода: при получении фокуса клавиатурный ввод (обычно пробел) инициирует нажатие на кнопку. При смене состояния управляемой кнопкой функции программы может отображать это состояние изменением значка или надписи на своей поверхности.

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

Комбо-кнопка 
В панелях инструментов распространена практика расширения функционала кнопок за счёт использования так называемых комбо-кнопок. Такие кнопки кроме обозначенной функции могут вызывать выпадающий список. Для этого требуется либо нажать на значок выпадающего списка, расположенный на кнопке, либо держать кнопку нажатой около секунды. Также распространён вариант, когда список раскрывается, если, удерживая кнопку, перемещать курсор. Наиболее распространённые способы использования комбинированной кнопки: выполнение действий, аналогичных нажатию на кнопку несколько раз (например, в навигационных кнопках веб-браузеров имеются списки, позволяющие перейти на несколько страниц назад или вперёд), либо изменяющих значение самой кнопки (например, в Adobe Photoshop можно выбрать из группы схожих кистей одну, которая будет отображаться на панели инструментов).

См. также 
 Элемент интерфейса
 Радиокнопка

Примечания

Литература 
 : кнопки — стр. 496; комбо-кнопки — стр. 503

Ссылки 
 Рекомендации  W3C по элементам управления на веб-страницах
 О кнопках  в Apple HIG 
 О кнопках в Gnome HIG 
 

Элементы интерфейса