Интересно, в чем разница между следующими двумя фрагментами кода:
<label>Input here : </label>
<input type='text' name='theinput' id='theinput'/>
и
<label for='theinput'>Input here : </label>
<input type='text' name='theinput' id='theinput'/>
Я уверен, что он что-то делает, когда вы используете специальную библиотеку JavaScript, но помимо этого он проверяет HTML или требует по какой-то другой причине?