Этот вопрос был немного вдохновлен этим вопросом , в котором наиболее одобренный ответ рекомендовал использовать функцию из HTML 5. Это, конечно, показалось мне хорошим методом, но меня это заинтересовало использование функций из будущей спецификации в целом.
HTML 5 предлагает множество приятных улучшений, многие из которых могут быть использованы без проблем в современных браузерах.
Некоторые примеры:
// new, simple HTML5 doctype (puts browsers in standards mode)
<!doctype HTML>
// new input types, for easy, generic client side validation
<input type="email" name="emailAddress"/>
<input type="number" name="userid"/>
<input type="date" name="dateOfBirth"/>
// new "required" attribute indicates that a field is required
<input type="text" name="userName" required="true"/>
// new 'data-' prefixed attributes
// for easy insertion of js-accessible metadata in dynamic pages
<div data-price="33.23">
<!-- -->
</div>
<button data-item-id="93024">Add Item</button>
Многие из этих новых функций предназначены для того, чтобы позволить браузерам автоматически проверять формы, а также предоставлять им более качественные данные (например, средство выбора даты). Некоторые из них просто удобны и кажутся хорошим способом подготовиться к будущему.
В настоящее время они ничего не ломают (насколько я могу судить) в текущих браузерах и допускают чистый, общий клиентский код.
Однако, несмотря на то, что все они действительны в HTML 5, они НЕ действительны для HTML 4, и на этом этапе HTML 5 все еще является черновиком.
Это хорошая идея, чтобы пойти дальше и использовать эти функции рано?
Есть ли проблемы с реализацией браузера, с которыми я не справился?
Должны ли мы сейчас разрабатывать веб-страницы, использующие черновики HTML 5?