【发布时间】:2014-12-03 01:38:23
【问题描述】:
是否有任何标准(HTML、UI、可访问性等)规定应始终选择给定单选按钮组中的一个单选按钮?
我遇到了一个业务需求,要求我不选中组中的两个单选按钮,然后让逻辑强制用户在继续之前选择一个。
虽然我知道如何实现这一点,但感觉不对,因此我暗示了这一点,但我正在寻找更明确地规定这一点的指南,以便我可以将其纳入我们自己的标准。
【问题讨论】:
标签: html radio-button
是否有任何标准(HTML、UI、可访问性等)规定应始终选择给定单选按钮组中的一个单选按钮?
我遇到了一个业务需求,要求我不选中组中的两个单选按钮,然后让逻辑强制用户在继续之前选择一个。
虽然我知道如何实现这一点,但感觉不对,因此我暗示了这一点,但我正在寻找更明确地规定这一点的指南,以便我可以将其纳入我们自己的标准。
【问题讨论】:
标签: html radio-button
是的:http://www.w3.org/TR/html401/interact/forms.html#radio
始终只选中一组中的一个单选按钮。如果一组单选按钮的任何元素都没有指定“已检查”,则用户代理必须首先检查该组的第一个单选按钮。
规范使用术语“用户代理”来表示通常称为“浏览器”。 所以规范说如果没有检查,浏览器会先检查。
更新: 请注意,我尝试过的 4 个浏览器都没有真正做到这一点! 他们不检查第一个和 没有 收音机是以=on 的形式提供给服务器。一个好的 Web 框架应该进行服务器端检查(无论如何都应该这样做,因为突然或伪造的 POST 可能会导致相同的结果)。
【讨论】:
我本来想说我过去读过 Jakob Neilson 的一些东西,但见鬼,我找到了: PS。就我个人而言,我总是默认选择一个,所以对于选择框,但是在法律条款和条件下会发生什么,律师很害怕,当然,你把猫喂给你的狗你总是会害怕小猫:
始终提供默认选择 单选按钮列表。根据定义, 单选按钮总是只有一个 选择了选项,因此您 不应该显示它们 默认选择。 (复选框,在 相反,通常默认没有 选择的选项。) ◦如果用户 可能需要避免 选择,你应该提供一个收音机 此选项的按钮,例如一个 标记为“无”。为用户提供 明确的、中性的点击选项是 比要求隐含行为好 不从列表中选择, 尤其是因为
【讨论】:
如果您遵循其他答案所述的标准(这是 Neilson 所做的),那么应该始终选中一个单选按钮。
但如果您遵循常识并针对用例进行设计,那么答案是显然不是。天知道为什么标准完全忽略了一个非常流行的用例:
用户应做出排他性选择,但不存在默认值。
也许这方面的一个主要例子是李克特量表 - 任何默认值都将主要参与者:
你会如何将以下问题翻译成界面:
你想要茶还是咖啡?
标准迫使你这样问:
你想要茶还是咖啡?我相信你想要的是茶。
正是因为标准没有考虑这种情况(以及替代方案缺乏可用性,例如带有空白选项的组合框),所以没有浏览器符合标准 - 想象一下带有默认单选按钮的 Google 表单。
【讨论】:
任何时候您覆盖默认浏览器行为都会给用户带来不确定性。此外,平均而言,当有两个选项时,预选的选项有 50% 的机会是正确的。强迫用户选择它只会减慢他们的速度,假设他们要么是盲目的,要么是无知的。
我个人会觉得这个概念很侮辱 - 但我不是经理。
【讨论】:
一个很好的例子是当您有一个网上商店并希望客户做出积极的选择,而不是让一些订单通过客户只需点击添加到购物车而不选择任何尺寸并因此获得预先选择的尺寸。
我错了吗?
【讨论】: