Открыть сервисСервис

Чек-бокс — элемент интерфейса

Чек-бокс (от англ. checkbox — «отметка в квадрате») — элемент графического пользовательского интерфейса, предназначенный для выбора одного или нескольких значений из предложенного набора. В отличие от переключателя (радиокнопки), чек-бокс допускает одновременную отметку нескольких пунктов, а также состояние «не выбрано». Визуально представляет собой небольшой квадрат, рядом с которым размещается подпись; при выборе в квадрате появляется галочка или иной маркер.

История и происхождение термина

Термин «checkbox» закрепился в компьютерной индустрии в конце 1970-х — начале 1980-х годов вместе с развитием графических интерфейсов. Один из ранних примеров — интерфейс системы Xerox Star (1981), где чек-боксы использовались в диалоговых окнах настройки. Позднее элемент стал стандартным компонентом в средах Microsoft Windows, Mac OS и в веб-браузерах.

В русскоязычной документации и литературе по программированию используются как кальки «чек-бокс», «чекбокс», «галочка», «флажок», так и устоявшийся термин «флажок» (в частности, в документации Microsoft). В HTML-разметке элемент называется checkbox.

Принцип работы

Чек-бокс реализует логику булевой переменной: он либо отмечен (значение «истина» / true), либо нет (значение «ложь» / false). При нажатии состояние переключается. Отмеченный чек-бокс визуально отличается от неотмеченного: внутри квадрата появляется галочка, крестик или заливка.

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

Виды и классификация

По назначению и поведению различают:

ТипОписание
Простой чек-боксНезависимый переключатель одного параметра
Группа чек-боксовНабор независимых элементов, допускающий множественный выбор
Чек-бокс с indeterminateТретье состояние, отражающее частичное выделение
Чек-бокс «выбрать все»Управляет состоянием всех элементов группы
Вложенный (дерево)Иерархическая группа с родительскими и дочерними элементами

Отличие от радиокнопки

Главное различие между чек-боксом и радиокнопкой (radio button) — семантика выбора:

  • Чек-бокс — множественный выбор: пользователь может отметить сколько угодно пунктов или ни одного.
  • Радиокнопка — единственный выбор: из группы всегда выбран ровно один элемент, выбор одного автоматически снимает предыдущий.

Именно поэтому в формах настроек «выбрать один вариант из нескольких» оформляют радиокнопками, а «выбрать любое количество» — чек-боксами.

Чек-боксы в веб-разработке

В HTML чек-бокс создаётся тегом <input type="checkbox">. Атрибут checked задаёт начальное состояние, disabled — блокирует элемент. Для группировки используется атрибут name; для связывания с подписью — элемент <label> и атрибут for.

``html <label><input type="checkbox" name="options" value="a"> Вариант А</label> <label><input type="checkbox" name="options" value="b" checked> Вариант Б</label> ``

В CSS состояние чек-бокса можно стилизовать через псевдокласс :checked, что позволяет создавать полностью кастомные элементы управления. В JavaScript состояние читается через свойство checked объекта HTMLInputElement.

Применение

Чек-боксы используются повсеместно:

  • Формы и анкеты — множественный выбор ответов, согласие с условиями, подписка на рассылки.
  • Настройки программ — включение и выключение отдельных функций (например, параметры автосохранения).
  • Файловые менеджеры — выделение нескольких файлов для групповой обработки.
  • Электронные таблицы — отметка строк, фильтрация данных.
  • Онлайн-магазины — выбор дополнительных опций к товару.

Доступность

С точки зрения веб-доступности (WCAG) чек-бокс должен иметь текстовую подпись, связанную с ним через <label>, чтобы пользователи со скринридерами понимали, какой параметр отмечается. Размер области нажатия рекомендуется увеличивать за счёт отступов и заполнения, чтобы элемент было удобно использовать на сенсорных экранах.

Источники:

  • Ян Резерфорд. «Пользовательские интерфейсы: разработка и проектирование»
  • Документация MDN Web Docs — HTMLInputElement
  • Спецификация W3C — HTML Living Standard
  • Microsoft Fluent Design System — Checkbox
  • Якоб Нильсен. «Эргономика интерактивных систем»
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru