Кнопка выбора¶
Кнопка выбора — элемент интерфейса программного обеспечения, предназначенный для выбора одного или нескольких вариантов из предложенного набора. В отличие от кнопки действия (которая запускает команду), кнопка выбора фиксирует состояние — какой вариант выбран пользователем. Широко применяется в графических интерфейсах, веб-формах, пультах управления и промышленных панелях.
¶Классификация
По способу взаимодействия кнопки выбора делятся на:
- Радиокнопки (radio buttons) — допускают выбор только одного варианта из группы; выбор одного варианта снимает выделение с остальных.
- Флажки (checkboxes) — допускают независимый выбор нескольких вариантов; каждый флажок хранит состояние «включено/выключено».
- Кнопки-переключатели (toggle buttons) — двухпозиционные элементы, переключающиеся между двумя состояниями.
- Выпадающие списки (dropdown) — кнопка, открывающая список вариантов; применяется, когда набор вариантов велик, а место ограничено.
- Кнопки в группах (button groups) — визуально объединённые кнопки, из которых выбирается один вариант (часто используются в панелях форматирования текста).
¶Устройство и поведение
Кнопка выбора в программном интерфейсе описывается набором свойств:
| Свойство | Назначение |
|---|---|
| Состояние (checked) | Выбран ли вариант |
| Доступность (enabled/disabled) | Можно ли взаимодействовать |
| Группировка | Принадлежность к группе взаимоисключающих вариантов |
| Подпись (label) | Текст, описывающий вариант |
| Метка доступности | Текст для синтезатора речи |
В веб-стандартах радиокнопки и флажки реализуются элементами <input type="radio"> и <input type="checkbox"> языка HTML. Атрибут name объединяет радиокнопки в группу, гарантируя взаимоисключение выбора. Состояние элемента доступно скриптам через свойство checked.
В десктопных приложениях (Windows, macOS, Linux с GTK/Qt) кнопки выбора предоставляются стандартными библиотеками виджетов. В Windows API соответствующие элементы создаются стилями BS_AUTORADIOBUTTON и BS_AUTOCHECKBOX.
¶Принципы проектирования
Основные рекомендации по использованию кнопок выбора в интерфейсах:
- Радиокнопки применяются, когда вариантов немного (обычно до 7) и требуется выбрать один.
- Флажки используются для независимых булевых параметров.
- Если вариантов более 7–10, предпочтителен выпадающий список или поле ввода.
- Порядок вариантов должен быть логичным (алфавитный, по частоте использования или по смысловой группировке).
- Выбранный по умолчанию вариант задаётся заранее, чтобы минимизировать действия пользователя.
¶Физические кнопки выбора
Помимо программных элементов, кнопкой выбора называют и физические органы управления. В промышленных пультах это могут быть кнопки с фиксацией положения, поворотные переключатели или мембранные клавиши, задающие режим работы оборудования. В бытовой технике — кнопки выбора программы на панели стиральной машины, СВЧ-печи или кондиционера.
Физические кнопки выбора классифицируются по типу фиксации:
- с самовозвратом (импульсные) — возвращаются в исходное положение;
- с фиксацией — удерживают выбранное состояние до следующего нажатия;
- с ключом — требуют вставки и поворота ключа для выбора режима (применяется в системах безопасности).
¶Кнопка выбора в контексте программирования
В языках программирования и средах разработки кнопка выбора реализуется как объект с событиями. Классический пример — класс RadioButton и CheckBox в .NET WinForms, QRadioButton и QCheckBox в Qt, GtkRadioButton и GtkCheckButton в GTK. Обработчик события изменения состояния (например, CheckedChanged или toggled) получает уведомление о выборе и запускает соответствующую логику приложения.
В тестировании интерфейсов кнопки выбора проверяются на корректность взаимоисключения (для радиокнопок), сохранение состояния и доступность с клавиатуры (перемещение фокуса стрелками, пробел для переключения).
¶Значение
Кнопка выбора является одним из базовых паттернов пользовательского интерфейса, описанных в руководствах по дизайну (Apple Human Interface Guidelines, Material Design, Microsoft Fluent Design). Стандартизация этих элементов обеспечивает предсказуемость поведения программ для пользователей разных платформ.
Источники:
- Ян Резерфорд. «Дизайн интерфейсов. Паттерны»
- Microsoft Fluent Design Guidelines
- Material Design Guidelines (Google)
- Apple Human Interface Guidelines
- Стандарт WCAG 2.1 (W3C) — доступность элементов управления