Язык
Контакты
GitHub
Поддержка
Регистрация
Войти
Логин: Пароль: Запомнить:
Пользователи
Голосование

    Какую CMS Вы предпочитаете

    AtomX
    Fapos CMS
    Drunya CMS
Последние комментарии
Топ пользователей
Drunya
Репутация: 110
Сообщений: 3527
Сашка_из_Шебекино
Репутация: 87
Сообщений: 1803
boriska
Репутация: 65
Сообщений: 846
ARMI
Репутация: 46
Сообщений: 1858
BAH0
Репутация: 26
Сообщений: 544
Легенды о HTML 5
Всем привет! Вот решил собрать в одну новость 5 наиболее популярных заблужденияй о HTML5, встречающихся в обсуждениях , на форуме htmlbook.ru и на css-live.ru. Если вы считаете, что для HTML5 обязательно нужен доктайп <!DOCTYPE html>, что HTML5 будет ,или не будет готов к 2022 году, что HTML5 поддерживается ,или не поддерживается, какими-то браузерами, что на HTML5 можно перейти в любое время — возможно, вам окажется интересно и полезно.

HTML5 — еще не стандарт и нескоро им станет.Если смотреть на буквы спецификаций, то всё наоборот. Слово «стандарт» красуется только на спецификации WHATWG. Все спецификации W3C — по их же букве, в лучшем случае рекомендации HTML 4.01 дал начало ISO/IEC 15445, но это скорее курьез. Однако CSS 2.1 не был рекомендацией вплоть до июня 2011 г. — что не мешало разработчикам как сайтов, так и браузеров воспринимать его как действующий стандарт.

Существует «особый режим HTML5», для включения которого нужен доктайп <!DOCTYPE html>.Доктайп <!DOCTYPE html> включает тот же самый режим, что строгие доктайпы HTML 4.01 и XHTML 1.0. Все браузерные функции при всех этих доктайпах работают абсолютно одинаково.

Старые браузеры не распознают <!DOCTYPE html> и переходят в Quirks mode
Реальность: единственное назначение доктайпа в HTML5 — перевести браузеры в режим поддержки стандартов максимально полной, на какую браузер вообще способен, без всяких «Almost», как c Transitional-доктайпами. Авторы спецификации долго и упорно выбирали самый короткий вариант доктайпа, чтобы он решал эту задачу во всех актуальных браузерах, т.е. начиная с IE6 включительно. И выбрали.

Без доктайпа <!DOCTYPE html> HTML5 — не HTML5

Согласно спецификации, для HTML5-страниц допускаются все строгие доктайпы HTML 4.x и XHTML 1.x!

Т.е. хорошо сверстанная страница может быть валидным (вернее, конформным) HTML5 даже без смены доктайпа на новый. Конечно, старые доктайпы использовать не рекомендуется, но для валидатора это не ошибка, а лишь предупреждение (и то на уровне житейской логики — «если не видно разницы, зачем писать больше?»). Короткий доктайп рекомендуется лишь потому, что он короткий ,легко запоминается и набирается вручную, «экономия байт» и т.п., а также не вводит в заблуждение старые валидаторы ,хотя специализированный html5.validator.nu всё понимает.

Для XHTML5 необходим доктайп <!DOCTYPE html> (или еще какой-либо)
Реальность: для XHTML5 необходим Content-type: application/xhtml+xml. И всё. Только Content-type различает HTML5 и XHTML5 по определению — и ни доктайп, ни синтаксис, ни что-либо еще это изменить не может HTML-синтаксис поддерживается только для text/html, а XML-синтаксис — для обоих, но это и так ясно. Вообще доктайп для XHTML5 необязателен и ни один браузер его не требует. Но доктайп от XHTML 1.x ничему не мешает .

Старые браузеры (типа IE7-8) не поддерживают HTML5
Ни один браузер не поддерживает ни одного HTML полностью.

Тот же самый IE7 не поддерживает элемент <button> из HTML 4 (при отправке формы передает вместо value нажатой кнопки непонятно что). Все IE до 9-го не поддерживали XHTML в натуральном виде (т.е. с Content-type: application/xhtml+xml — при котором XHTML воспринимается как XML-приложение со всеми «плюшками» типа простого парсинга и внедрения других неймспейсов, а не как недоHTML с непонятным мусором в виде слешей в одиночных тегах. Кстати, эти слеши в XHTML-страницах не ломали отображение лишь потому, что HTML-браузеры в отличие от HTML-валидатора, никогда не поддерживали всех возможностей SGML, по правилам которого слеш в теге закрывает его и следующий символ ">". должен выводиться как контент — т.е., фактически потому, что они не поддерживают HTML 4 (поскольку HTML 4 базируется на SGML)! Не говоря о табличных атрибутах char и charoff ,которые не поддерживаются нигде, и не только.

HTML5 задумывался для плавного, эволюционного перехода. Конечно, наивно ждать, что в браузерах 2001 или 2005 года выпуска внезапно заработает функция, придуманная в 2008-м или 2012-м. Но те же короткий доктайп и короткое объявление кодировки <meta charset="UTF-8", атрибуты autocomplete, contenteditable и data-что-угодно, DOM-методы типа insertAdjacentHTML и т.п. — всё это в старых IE работает точно (а в IE8 — еще и Web Storage впридачу). Да, новые структурные теги там не стилизуются без общеизвестного JS-пинка — но, строго говоря, никто и не заставляет, HTML5 вполне позволяет вешать оформление по старинке на дивы, а новыми тегами лишь выделять смысловые части для машинного анализа (на вид громоздко, но гуру рекомендуют не бояться лишней разметки, если это способствует надежности). Да, не стоит злоупотреблять возможностью не закрывать <p> перед </section> (и т.п.) в FF3.6 — но этим вообще злоупотреблять не стоит. И т.д.

В общем, если брать не сугубо ультрамодные новинки, а спецификацию в целом, дела с поддержкой не так уж плохи. И HTML5 в любом случае предлагает больше работающих полезных возможностей, чем предшественники. А на самый крайний случай есть «polyfills» практически для всего.

Переходить на HTML5 еще рано!

Больше половины существующих браузеров FF 4+, Chrome 7+ и Opera 11.6+ — AntonDiaz, уже воспринимают любой HTML как HTML5 — поскольку стандарт обратно совместим со всеми реально использовавшимися возможностями предшественников .У этих браузеров для любого HTML используется HTML5-парсер. Вот-вот к ним присоединится Opera 12 и IE10. Так что «писать по старинке на HTML4» больше нельзя по построению, и вопрос «переходить или подождать» не стоит вообще. HTML5 — не опция. Будущее наступает, не спрашивая разрешения, независимо от того, готовы ли вы к нему.

Что действительно рано — это использовать все новые возможности напропалую. К счастью, в самой спецификации WHATWG для каждой функции указан статус реализованности в браузерах в выноске слева от заголовка, при наведении могут всплыть подробности. Ну и ссылки из предыдущего опровержения полезны с учетом специфики аудитории конкретного проекта, само собой. Хотя вы это и так знаете.Подтверждения: Mozilla Firefox, Google Chrome, Opera, MS.

Буду очень рад, если кто-то найдет в этой новости что-то новое и полезное.Спасибо за внимание.
Легенды о HTML 5

Теги: HTML 5;
Автор: advert_rip
Категория: Разное
Просмотров: 3516
Комментариев: 4

Комментарии
  • User avatar

    Drunya

    Ага. А еще <menu> и прочее.
    Дата отправления: 27 Мар 2012
  • User avatar

    LIFE-STALKER

    Из всех плюшек HTML 5 мне нравится логика разделения сайта на части, теги <header> <footer> и т.д.
    Дата отправления: 24 Мар 2012
  • User avatar

    Drunya

    тем более, что все плюшки внедрять можно постепенно и это не будет противоречить валидаторам и "спецификации". Чуть ранее я писал статью о новых плюшках HTML5. Есть очень интересные)
    Дата отправления: 22 Мар 2012
  • User avatar

    JoKeR

    Интересная информация :) Нас сейчас учат XHTML. Но сам я понимаю, что использовать HTML5 можно уже привыкать, хотябы изучать его спецификации и возможности.
    Дата отправления: 20 Мар 2012
Категории:
Сейчас online: 81. Зарегистрированных: 0. Гостей: 81.
-->