Радиогруппа, радиокнопки, группа радиокнопок. Элемент графического интерфейса, предназначенный для выбора одного из нескольких взаимоисключающих вариантов. Радиогруппы используют для выбора объекта, свойства или уточнения действия.
Радиоприёмник «Альпинист РП‑224»
СССР, 1991
Радиоприёмник «Альпинист РП‑224»
СССР, 1991
Название отсылает к кнопкам выбора режима на радиоприёмнике. Группа кнопок так устроена механически, что при нажатии любой одной кнопки, другая автоматически «выпрыгивает». Иногда удаётся нажать кнопку ровно настолько, что другие уже выпрыгивают, а эта ещё не залипает. Иногда удаётся «силой» зажать сразу две кнопки. В таких случаях поведение приёмника не определено, а механизм может быть повреждён.
Классический вид радиогруппы в операционных системах — перечень подписей с окружностями слева, а выбранная обозначена жирным кружком внутри:
Тема оформления
🔘 светлая
○ тёмная
○ авто
Радиокнопками называют сами окружности слева. Подписи отдельных радиокнопок внутри группы должны быть согласованы по форме как однородные члены предложения. У радиогруппы, как правило, есть общая подпись, помогающая понять, что именно выбирается радиокнопками; она содержит прочие члены предложения.
Радиогруппа синтаксически родственна текстовому перечню. Только обобщающий текст перечня, в отличие от радиогруппы, приводят во множественном числе:
Темы оформления:
светлая,
тёмная,
авто.
В качестве подписей радиокнопок не используют слова «да» и «нет», «вкл.» и «выкл.» и подобные пары: они нарушают синтаксис и страдают нулевой информативностью, так как суть выбора переносится из элемента выбора в заголовок всей группы. Если радиогруппа состоит из подобных буквальных антонимов, вероятно, лучше подойдёт чекбокс.
Из подписей радиокнопок часто удаётся выделить и вынести за скобку повторяющиеся слова (как «тема» в нашем примере), чтобы подписи радиокнопок описывали только отличия. С другой стороны, вариант без общей подписи и с повторами иногда компактнее:
🔘 Светлая тема
○ Тёмная тема
○ Автовыбор темы
Радиокнопки, образующие группу, следует располагать друг под другом, чтобы близость показывала их связь. При расположении в строку они оказываются разделены подписями, что ещё и создаёт проблему установления связи между кнопками и подписями:
Тема 🔘 светлая ○ тёмная ○ авто
Для взаимоисключающего выбора в одну строку лучше подходят переключатели и выпадающие списки.
Чтобы выбрать радиокнопку, нужно в неё кликнуть. Для удобства прицеливания нажимаемой делают не только саму радиокнопку, но и всю её подпись. Поэтому нежелательно использовать ссылки в тексте подписи.
Радиогруппа обычно используется как элемент формы: для наступления последствий выбора нужно дать отдельную команду («Отправить», «Применить» и пр.).
Радиогруппы мгновенного действия используют, в частности, в настройке системы на Маке: вариант применяется непосредственно в момент выбора. Это редкое, и потому неожиданное поведение. Важно убедиться, что множественные изменения выбора, применяясь сразу, не порождают необратимых последствий. Желательно избежать запуска процессов, даже обратимых, при смене выбора, так как это создаёт ощущение неуправляемости.
Обычно основной или рекомендуемый вариант располагают первым. Но если список вариантов образует последовательность, её не ломают, а по умолчанию выбирают рекомендуемый вариант:
Размер текста
○ мелкий
🔘 средний
○ крупный
Требование ровно одного выбранного варианта создаёт проблему в ситуации, когда вариант «по умолчанию» давать нежелательно, и важно, чтобы пользователь сделал выбор сам. Примеры ситуаций: тест (нельзя подсказывать), исследование (поленятся менять вариант по умолчанию, результаты исказятся), выбор пола (вариант по умолчанию нарушает идею равенства полов).
Частое решение — сделать «сломанную» радиогруппу, где изначально не выбрано ни одного варианта, нарушив принцип обратимости. Формально можно вернуть обратимость, добавив кнопку «Сбросить» рядом. Ещё вариант — добавить вырожденный вариант «без ответа» или «не указано» и выбрать его по умолчанию:
Пол
🔘 не указан
○ женский
○ мужской
Уважаемые советчики! Что бы вы исправили или дополнили?