Я читал спецификацию формы *1001* w3.org HTML5 и был удивлен, увидев следующий HTML:
<p><label>Customer name: <input name="custname"></label></p>
<p><label>Telephone: <input type=tel name="custtel"></label></p>
<p><label>E-mail address: <input type=email name="custemail"></label></p>
Семантически это меня смущает. Разве <label>
не имеет больше смысла в качестве родного брата для <input>
, а не в качестве родителя?
В дикой природе я более привык видеть следующую конфигурацию:
<p>
<label for="customer_name">Customer name:</label>
<input id="customer_name" name="customer[name]">
</p>
Я знаю, что подавляющее большинство разметки там искажено, но мне интересно услышать мысли других о том, каким должно быть правильное соглашение.
Я исправлен, но, похоже, каждый генератор разметки и помощник по формам, которые я использовал, существенно нарушают предложения W3 - даже те, которые требуют поддержки HTML5, с использованием проверок на стороне клиента и т. П.
Мысли