E3.10.1binary choice switch or radio设计
二选一用开关或单选
别名: 二选一 · binary choice · 两项互斥
概念解释
选项恰好两个、且必须占一个时,控件收成开关或一对单选,不要用下拉、分段堆叠或一个孤零零的复选框。两个控件的分工不靠数量,靠命题形状:开关管「这一属性开或关」(静音、夜间模式),一对单选管「两个具名替代项里取一个」(自取 / 外送、英文 / 中文界面)。数量是二,只是把选择空间缩到最小;选哪一种外形,仍要看两项是一个属性的两端,还是两个并列的名词。
复选框在这里是错的,因为它允许零项或暗示还可再勾别的。下拉则是为两项去收起比较,纯损耗。
机制
二选一的决策已经很轻,控件却能把它弄重或弄歪。下拉要求先打开再看见另一项,把本可并行的两个词藏起来。单个复选框把「不勾」当成第二项,但「不勾」没有名字,用户不知道空着等于哪一个替代项。开关把两项压成一个对象的真值,若两项其实是两个名词(「信用卡 / 借记卡」),关着的那一端没有标签,另一项在感知上消失了。
一对可见的单选把两个名词同时留在视野里,互斥和必选都由圆点承担。开关把「关」做成默认的另一端,适合有自然关态的属性。数量相同,命题结构不同,外形不能互换。
边界
两项里有一项代价高(删除账户 / 保留)时,即使用单选也要把危险项从视觉上拉开,不能做成一对对等的圆点再靠文案补救。立即生效的属性用开关,随表单提交的两项用单选——时钟规则在数量为二时仍然成立。看似两项、其实可空的(「男 / 女」外加不愿回答)已经不是二选一,应加第三项或改控件。两个开关并排放「选项 A」「选项 B」会做出全开全关,那是两个独立二值,不是二选一。
怎么落地
- 先写两项的名字。能改成「某某:开/关」用开关;必须并列出两个名词用一对单选。
- 不要用下拉装两项,也不要用一个未勾选的复选框去冒充第二项。
- 两项随表单提交时用单选,不要因为「只有两个」就换成开关。
- 验证:遮住控件只留文案,问「不选会怎样 / 另一项叫什么」。答不出另一项的名字,就是用开关或复选框把替代项藏了。