HTML5为什么不允许多行占位符?

4

我正在创建一个非常简单的表单,其中包含一个文本区域。 文本区域接受由换行符分隔的格式化名称块。 为了使应用程序稍微更易于使用,如果我可以包括一个具有多行文本的占位符示例,那将是很好的。 不幸的是,这似乎在HTML5规范中不可能实现。 有谁知道为什么吗?


1
我会建议您咨询HTML工作组,而不是向我们询问 :) - PeeHaa
这个问题并不主观地询问多行占位符是好事还是坏事。它询问为什么W3C选择不包括它们。我认为根据SO规则,这是一个公正的问题。 - LandonSchropp
我认为这不是SO规则的问题。但是如果你问那些做出决定的人,你会得到更好的答案。 - PeeHaa
1
@PeeHaa 做决策的人也使用 SO :-) - Gichamba
1个回答

2
<placeholder> 对我来说就像 <blockquote> 一样,有一个特定的用途。
在单行表单字段中,<placeholder> 属性主要用于提示用户输入数据,而不是文本区域。
你在单行表单字段中多久使用一次换行符?从不。 <placeholder> 属性表示一个短提示(一个词或短语),旨在帮助用户输入数据。提示可以是示例值或对预期格式的简要描述。如果指定了该属性,则必须具有不包含 U+000A LINE FEED(LF)或 U+000D CARRIAGE RETURN(CR)字符的值。
由于 HTML5 仍然很新、新颖,并且在各种浏览器中继续进行优化和调整,如果 <placeholder> 属性没有设置如此严格的指南,谁知道会发生什么疯狂的事情?
网络似乎正在朝着帮助设计师/开发人员少输入代码、减少错误的方向发展。
我看到一些帖子(例如 Paul Irish 和 Jeffrey Way)谈论省略像关闭标签这样的东西,许多标准元素已经被修改为更短/更容易(例如 <!doctype html>)。此外,用于使网页功能良好的传统属性现在可以轻松地全部放弃。网络变得更简单,同时也更复杂。
总之,如果你想要解决这个问题(从你的问题语气来看似乎你正在遭受困扰),那么只需使用 <title> 属性即可。请参阅以下链接中所选答案的问题: Can you have multiline HTML5 placeholder text in a <textarea>?

然而,title属性支持任何内容的多行内容,但是文本区域的placeholder属性不支持。这是一个奇怪的设计决定。placeholder属性非常方便,用JS提供相同的功能很复杂,容易出错,并且在大多数情况下完全是多余的,如果允许多行占位符!;-) 因此,它不是一个小众问题,而应该更加普遍和通用。 - Frunsi

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