HTML5 中用于输入的占位符 VS 标签

Posted

技术标签:

【中文标题】HTML5 中用于输入的占位符 VS 标签【英文标题】:Placeholder VS Label for input in HTML5 【发布时间】:2012-02-27 19:05:30 【问题描述】:

我正在制作一个具有多个输入的表单,我需要在输入本身内部提供表单元素标签,我正在使用这样的

一个例子

<form class="TTWForm">
<input type="email" name="email" required="required" placeholder="Email Address">     
</form>

以上代码在 html5 的 W3C 验证器中有效。

Label 在 HTML 5 中不需要吗?

如果我使用 HTML5 Placeholderinput 中显示标签,可以吗?

是否仍需要 labelplaceholder 才能使其兼容屏幕阅读器?

【问题讨论】:

AppleGrew和SteveAx答案都非常好。要完成,占位符属性的另一个问题是,对于键盘用户,它显示的值将在从上一个链路跳跃后,只要输入获取焦点就会消失。如果没有标签,他们会盯着空白输入,并且必须猜测他们被要求提供什么。 【参考方案1】:

HTML 验证器不会检查可访问性。有效的 HTML 仍可能无法访问或不是最佳的。标签仍然很重要,HTML5 placeholder 不能替代它们。请参阅WCAG 2 Techniques 中的H44: Using label elements to associate text labels with form controls。如果您的布局要求标签对有视力的用户不可见,您始终可以包含标签,但将其移出屏幕并使用负边距/文本缩进。

更新:

一些test result on placeholder 和一个discussion on the W3 Public HTML mailing list about using placeholder without label

【讨论】:

谢谢。此答案应明确标记为正确。【参考方案2】:

Placeholder 不能替代Label,所以我猜对于屏幕阅读器,它应该存在或至少设置title 属性。 Ref

为了跨浏览器的兼容性,您需要使用 javascript。结帐http://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html。

【讨论】:

【参考方案3】:

本质上,这取决于您网页的目标是什么:

Placeholders in Form Fields Are Harmful

我更喜欢“可能有害”...假设我正在创建一种视听体验,例如在浏览器中运行的游戏,标签的使用将不利于布局和有视觉障碍的人(或其他人) 可能无论如何都无法享受游戏。将游戏淡化到任何有任何障碍的人都可以享受它的地步,这需要我拥有一个团队,该团队至少由一个每种类型的障碍的人组成,以确保每个人都能获得正确的体验。大部分内容会在大多数地方被删减以适应,整个体验会因此而改变。

我认为这取决于您想要实现的目标,但您可以自行决定,但这肯定回答了我关于此事的问题

【讨论】:

以上是关于HTML5 中用于输入的占位符 VS 标签的主要内容,如果未能解决你的问题,请参考以下文章

用于输入占位符的 HTML5 图像图标

输入类型日期html5的占位符

输入类型日期html5的占位符

将 HTML5 占位符属性添加到 Spring 3.0 表单输入元素

谷歌的 html5 shiv 不呈现占位符?

HTML5“占位符”支持