所以我又陷入了一场哲学辩论;
当您想要的只是文本输入时,您是否应该type为 an指定一个?input
的默认值type当然是text,因此省略默认属性可以实现您想要的并在标记中节省 12 个字节。
但是,我不禁觉得这有什么不对。一个真实的场景是实现一个库,比如Formalize;它不会触及没有明确types 的元素。
给我的替代方案是要么使用:not([type])它杀死 IE8 支持,要么将文本输入样式应用于所有inputs,然后为submits 和其他不应该看起来像文本框的人撤消它们。当仅编写typein 标记要简单得多时,这两种方法对我来说听起来都非常笨拙。
它还让我误以为浏览器会直到时间结束才知道你的意思而没有明确定义它。例如,随着 Windows 的成长,我只是认为 Times New Roman 是所有网页上的默认字体。然后我安装了 Ubuntu,我很惊讶。
不定义是不好的形式type吗?是否有任何令人信服的理由不定义它?除了我提到的那些之外,还有其他关于不指定type和依赖默认值的问题吗?此默认设置是否适用于旧版浏览器?非特定inputs 的可访问性如何?