单选按钮组中是否应始终选中一个HTML单选按钮?

6
有没有任何标准(如HTML、UI、可访问性等),规定在给定的一组单选按钮中,必须始终选择一个单选按钮?
我遇到了一个业务需求,要求将一组单选按钮中的两个单选按钮都保持未选中状态,然后通过逻辑强制用户在继续之前选择其中一个。
虽然我知道如何实现这一点,但感觉不太对,因此我想了解更明确规定这一点的指南,以便将其纳入我们自己的标准。
5个回答

13

是的:http://www.w3.org/TR/html401/interact/forms.html#radio

在任何时候,一组单选按钮中只有一个被选中。 如果一组单选按钮中没有任何元素指定为“CHECKED”,则用户代理必须最初检查该组的第一个单选按钮。

规范使用术语"user agent"来表示通常称为"browser"的东西。 因此,规范指出如果没有选中任何选项,则浏览器将选中第一个选项。

更新:请注意,我试过的4个浏览器实际上都没有这样做!他们不会选中第一个选项,并且没有将任何单选按钮作为=on给到服务器。 好的Web框架应该执行服务器端检查(它应该这样做,因为突然中止或伪造的POST可能会导致相同问题)。


简洁明了,但正好符合我的需求。接受此答案是因为它链接到正式标准,我可以进行参考。向其他所有人道歉,虽然所有有帮助的答案都被投票支持。 - James Wiseman

5

标准并不总是有意义的

如果您按照标准(这是Neilson的做法)来做,就像其他答案所述 - 那么一个单选按钮应始终被选中。

但是,如果您按照常识和用例设计,则答案显然是不需要。由于某种原因,标准完全忽视了一个非常流行的用例:

用户应该做出一个互斥的选择,但不应存在默认值。

可能最好的例子是Likert量表-任何默认值都会影响参与者:

A likert survery

现代语言的例子

如何将以下问题翻译为界面:

你想喝茶还是咖啡?

标准强制要求您这样问:

你想喝茶还是咖啡?我相信你想要茶。

因此没有人遵守它们

正是因为标准没有考虑到这些情况(以及替代方案的可用性不足,例如具有空白选项的组合框),没有浏览器遵守标准- 想象一下带有默认值的单选按钮的Google表单。


5
我同意有时没有默认选项是有道理的,但我不确定李克特量表实际上是一个好的例子。从“常识”角度来看,在每种情况下默认选择“中性”选项可能更合理。(我将把关于李克特量表在一般情况下可用性的争论留到另一天 :)) - DA.

5
我本来想说我之前读过Jakob Neilson的某篇文章,但是我找到了它:
PS. 个人而言,我总是默认选择一个选项按钮,对于选择框也是一样,但是在法律条款方面,律师们很害怕。当然,如果你将猫喂给你的狗,你永远都会害怕小猫:
引用: 对于单选按钮列表,始终要提供一个默认选择。按定义,单选按钮始终只选择一项选项,因此不应该在没有默认选择的情况下显示它们。(相比之下,复选框通常默认为未选择任何选项。)如果用户可能需要避免做出选择,则应为此选择提供单选按钮,例如标有“无”的单选按钮。提供用户可单击的显式中性选项比要求从列表中不选择的隐式行为更好,尤其是因为…… http://www.useit.com/alertbox/20040927.html

2

任何时候,如果你要覆盖默认的浏览器行为,就会给用户带来不确定性。此外,平均而言,当有两个选项时,预先选择的选项有50%的几率是正确的。强制用户选择它只会让他们变得更慢,因为假设他们要么是盲人,要么是无知的人。

我个人认为这个概念很侮辱人,但我不是经理。


就像这样思考:男性、女性,至少50%的受众不必点击... :) - Ayyash
1
另外的50%会感到恼怒,因为其他选项被认为是默认选项。(我赞同一般的论点,但在相关问题领域中仍有需要解决的棘手问题。) - chryss

0
一个很好的例子是当你有一个网店并且希望顾客做出积极的选择,而不是让一些订单通过,其中顾客只是点击了添加到购物车,而没有选择任何尺寸,因此得到预先选择的尺寸。
我错了吗?

这就是为什么我们使用下拉菜单来选择尺寸,而不是单选按钮的原因。 - Billy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接