Флажок
Флажок (чекбокс, англ. checkbox) — один из базовых элементов графических пользовательских интерфейсов и предназначен для отображения и переключения бинарного состояния объекта с «Выбран» на «Не выбран». Реже может использоваться третье состояние — «Не определено». В качестве объекта может использоваться параметр, свойство, при этом не рекомендуется использовать флажок для действий.
Составляющие флажка
- Квадратная область (стандарт де факто для чекбокса, рекомендуется от него не отходить)
- Индикатор включенного состояния (галочка или крестик)
- Подпись (текстовая метка, опционально), расположенная слева или, реже, справа от чекбокса.
Состояния
Чекбокс может быть в состоянии только для чтения (служить только для индикации состояния объекта), либо активным. В зависимости от этого, доступны другие состояния.
Флажок в активном режиме
Режим enabled:
- Не выбран (unchecked)
- Нормальное состояние (normal)
- Наведенное состояние (hovered)
- Состояние нажатия (pressed)
- Выбран (checked)
- Нормальное состояние (normal)
- Наведенное состояние (hovered)
- Состояние нажатия (pressed)
- Неопределенное состояние (indeterminate)
- Нормальное состояние (normal)
- Наведенное состояние (hovered)
- Состояние нажатия (pressed)
Флажок в режиме только для чтения
Read/only или disabled. Иногда эти состояния разделяют на два отдельных в целях удобочитаемости (первое чисто «текстовое», а disabled — показывает, что в данном месте он может быть и enabled, в зависимости от состояния других объектов).
- Не выбран (unchecked)
- Выбран (checked)
- Неопределенное состояние (indeterminate)
Поведение
Для активных флажков с двумя состояниями (без неопределенного) клик по нему переводит его в противоположное.
В случае наличия неопределенного состояния, оно как правило визуализируется, и клик по чекбоксу переводит в состояние «выбран». Обычно это также переводит чекбокс в состояние бинарного выбора — то есть происходит переключение «выбран — не выбран» и вернуться к состоянию «не определено» невозможно, но в редких случаях бывают исключения.