到目前为止,我主要将标签和输入放在专用的段落标记中:
<p>
<label for="myInput">Blah</label>
<input type="text" ... />
</p>
但是这个标签是为文本段落制作的。在语义上是否正确使用它?应该使用div吗?
答案 0 :(得分:6)
从语义上讲,不,这是不正确的。您的表单输入不是任何意义上的段落。
如果您是CSS专家,请尝试使用<ol>
和<li>
代码并重新设置它们以查看您的喜好,因为您的表单字段是有序列表项目。有关此格式所需的HTML和CSS的示例,请参阅A List Apart's article on Prettier Accessible Forms。
答案 1 :(得分:1)
你似乎几乎已经回答了你的第一个问题,因为它在语义上不是段落,所以使用<p>
对我来说是错误的。
是否使用<div>
的第二个问题取决于您的使用情况,但除了越来越庞大的代码之外,我不明白为什么不这样做,尽管这可能不会增加太多的重量。页。
我自己倾向于将<input />
嵌套在<label>
标记内,尽管这在语义上是不正确的,因为输入不是标签的一部分,只是它的对应部分。
当然,两种方式都起作用并产生大致相同的视觉效果;我从来没有在GUI浏览器中使用过替代语言转换器等,所以我不能说它是否为残疾用户增添了奇怪之处。