Нецелесообразно рассматривать HTML5 как единую сущность, которую браузеры «поддерживают» или «не поддерживают». HTML5 является:
попытка кодифицировать широко распространенную существующую практику за пределы того, что покрыли предыдущие стандарты W3 HTML и DOM, такие как IE и Firefox расширений, которые скопировали другие браузеры, и многолетняя " DOM Level 0 ", которые все воспринимали как должное, но ранее не были написаны в какой-либо спецификации.
случайный выбор новых расширений, еще не широко используемых, на что надеются производители браузеров. Некоторые из них уже преуспели, уже вошедшие во все новые браузеры; некоторые из них были выделены в свои собственные спецификации (что намного более доступно для всех), некоторые из них противоречивы, а некоторые вообще не заботятся о них.
Было, ИМО, огромная ошибка, чтобы попытаться покрыть эти две базы сразу. Я бы предпочел стандарт «догоняющего» стиля в формате HTML 3.2 и множество отдельных спецификаций расширения. Но сейчас ничего нельзя сделать.
HTML5 также:
- Не закончил. Спецификация является массовой, сложной, неполной и, вероятно, будет изменяться в деталях (или, может быть, более того), прежде чем станет стандартом. Никто не может сказать, что они поддерживают HTML5, но пока никто не знает, что такое «HTML5».
В практическом плане: есть некоторые части HTML5, которые уже давно используются. Есть несколько частей, которые можно безопасно использовать в современных браузерах. Есть несколько частей, которые можно использовать в новых браузерах, кроме IE. Есть много частей, которые вы можете использовать с обходными обходами или «грациозным деградации». Есть некоторые части, которые вы никогда не сможете использовать. Пока вам придется изучать каждый отдельно, потому что не будет браузера, который поддерживает абсолютно все в HTML5 на протяжении многих-многих лет. Если даже. Добавляйте дополнительные функции, которые вам нравятся постепенно, когда вы идете вперед, и их поддерживает большая доля браузеров; не будет «большого взрыва», когда каждый обновит свой браузер сразу.
Что касается data-
атрибутов, ну, да, вы можете уйти от их использования, поскольку большинство браузеров всегда позволяли любым старым атрибутам проходить в любом случае. Это типично для нескольких расширений HTML5, браузеру не нужно явно «поддерживать» его, чтобы он работал.
Но поскольку есть другие способы передачи данных (классы, комментарии, блоки скриптов и т. Д.), Я не полностью убежден, что стоит отказаться (универсально поддерживается, можно утверждать против фиксированного стандарта). Страницы HTML4/XHTML1 для это еще одна особенность.
О атрибутах 'data-', см. Http://stackoverflow.com/questions/2412947/do-html5-custom-data-attributes-work-in-ie-6, http://stackoverflow.com/questions/5696464/are-html-data-attributes-safe-for-old-browsers-eg-ie-6 и другие дубликаты. –
На HTML5 см. Http://diveintohtml5.org/introduction.html –
URL-адрес для diveintohtml5 изменился - он отражен в http://diveintohtml5.ep.io – DanBeale