Доброго времени суток, друзья!
В процессе прохождения испытания у меня возник ряд вопросов. Само испытание я завершил с результатом 100% (код ниже), так что вопросы носят скорее самообразовательных характер - это просто попытка разобраться в том, как следует писать код “чище”.
<form action="https://echo.htmlacademy.ru" method="post">
<label>
Ваш логин (email):<br>
<input type="text" name="email" id="email-field"></label>
<label>
<br>
<label>
Пароль:<br>
<input type="password" name="password" id="password-field">
</label>
<br>
<label>
Информация о себе:<br>
<textarea rows="3" name="information" id="information-field">
</textarea>
</label>
<br>
<input type="checkbox" checked name="subscribe" id="subscribe-field">
<label for="subscribe-field">
Подписаться на рассылку
</label>
<br>
<label>
<input type="submit" name="button" id="button-field" value="Зарегистрироваться">
</label>
</form>
-
Испытание я прошёл на 100%, тем ни менее вопрос по моему коду: насколько он корректен? В процессе прохождения курса было обозначена необходимость “логически связывать” текст с той формой, к которой он принадлежит - поэтому везде я заключаю
<input>
в<label>
- верно ли это? -
В связи с предыдущим убеждением осевшим в моей голове, изначально ряд строчек по чек-боксу я написал следующим образом:
<input type="checkbox" checked name="subscribe" id="subscribe-field"> <label for="subscribe-field"> Подписаться на рассылку </label>
Тем ни менее мне зачлось лишь порядка 98% результата, пока я привёл код в тот вид, что приложил вначале. Вопрос: почему так сработал “тест”?
- Исходя из предыдущего вопроса: насколько тождественны оба варианта? Как писать корректнее, при прочих равных? Исходя из самого урока, лично я понял так: связь текста и поля формы через “for” осуществляется, если это к примеру таблица и поле невозможно обрамить
<label>
'ом. Верно ли это моё суждение?
Буду очень рад развёрнутому ответу - мне интересно разобраться, чтобы не писать в будущем убогий код.