HTML5

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
HTML5
(Hyper Text Markup Language)
Изображение логотипа
Расширение ..html, .htm
MIME-тип text/html
Разработчик Консорциум Всемирной паутины и WHATWG
Опубликован 28 октября 2014
Тип формата Язык разметки
Расширен из SGML
Развит в XHTML5
Стандарт(ы) W3C HTML 5.2
WHATWG HTML Living Standard
Открытый формат? Да
Сайт html.spec.whatwg.org/… (англ.)
Логотип Викисклада Медиафайлы на Викискладе
HTML

HTML5 (англ. HyperText Markup Language, version 5) — язык для структурирования и представления содержимого всемирной паутины. Это пятая версия HTML. Хотя стандарт был завершён (рекомендованная версия к использованию) только в 2014 году[1][2] (предыдущая, четвёртая, версия опубликована в 1999 году[3]), уже с 2013 года[4] браузерами оперативно осуществлялась поддержка, а разработчиками — использование рабочего стандарта (англ. HTML Living Standard). Цель разработки HTML5 — улучшение уровня поддержки мультимедиа-технологий с одновременным сохранением обратной совместимости, удобочитаемости кода для человека и простоты анализа для парсеров.

Во всемирной паутине долгое время использовались стандарты HTML 4.01, XHTML 1.0 и XHTML 1.1. Веб-страницы[5] на практике оказывались свёрстаны с использованием смеси особенностей, представленных различными спецификациями, включая спецификации программных продуктов, например веб-браузеров, а также сложившихся общеупотребительных приёмов. HTML5 был создан как единый язык разметки, который мог бы сочетать синтаксические нормы HTML и XHTML. Он расширяет, улучшает и рационализирует разметку документов, а также добавляет единый API для сложных веб-приложений[6].

В HTML5 реализовано множество новых синтаксических особенностей. Например, элементы <video>, <audio> и <canvas>, а также возможность использования SVG и математических формул. Эти новшества разработаны для упрощения создания и управления графическими и мультимедийными объектами в сети без необходимости использования сторонних API и плагинов. Другие новые элементы, такие как <section>, <article>, <header> и <nav>, разработаны для того, чтобы обогащать семантическое содержимое документа (страницы). Новые атрибуты были введены с той же целью, хотя ряд элементов и атрибутов был удалён. Некоторые элементы, например <a>, <menu> и <cite>, были изменены, переопределены или стандартизированы. API и DOM стали основными частями спецификации HTML5[6]. HTML5 также определяет некоторые особенности обработки ошибок вёрстки, поэтому синтаксические ошибки должны рассматриваться одинаково всеми совместимыми браузерами[7].

WHATWG начал работу над новым стандартом в 2004 году[8], когда World Wide Web Consortium (W3C) сосредоточился на будущих разработках XHTML 2.0, а HTML 4.01 не изменялся с 2000 года[9]. В 2009 году W3C признал, что срок работы у рабочей группы XHTML 2.0 истёк, и решил не возобновлять его. Впоследствии W3C и WHATWG совместно разрабатывали HTML5[10].

Даже несмотря на то, что HTML5 был хорошо известен среди веб-разработчиков в течение нескольких лет, он стал основной темой СМИ только в апреле 2010 года. После этого глава компании Apple Inc. Стив Джобс[11][12][13][14] написал публичное письмо, заголовок которого гласил: «мысли по поводу Flash», где он заключил, что с разработкой HTML5 нет больше необходимости смотреть видеоролики или использовать другие виды приложений с помощью Adobe Flash[15]. По этому поводу вспыхивали дебаты в кругу веб-разработчиков, причём некоторые намекали, что, хотя HTML5 и обеспечивает расширенную функциональность, разработчики должны принимать во внимание различия браузеров и необходимость поддержки различных частей стандартов, равно как и функциональные различия между HTML5 и Flash[16].

Процесс стандартизации

[править | править код]

WHATWG начал работу над спецификацией в июне 2004 года под названием Web Applications 1.0[17]. С января 2011 года спецификация в Draft Standard (Стандартизация проекта) утверждается в WHATWG, Working Draft (рабочий проект) утверждается в W3C. Ян Хиксон из компании Google является редактором спецификации HTML5[18].

Спецификация HTML5 была принята в качестве точки начала работы над новым HTML рабочей группой W3C в 2007 году. Эта рабочая группа опубликовала спецификацию как первый публичный рабочий проект (working draft) 22 января 2008 года[19]. Рабочий проект — это текущая работа, она оставалась на несколько лет, её части HTML5 были закончены и реализованы в браузерах до того момента, когда вся спецификация достигла финального статуса «Рекомендовано»[20].

Ян Хиксон ожидал достижения Candidate Recommendation в течение 2012 года[20].

Чтобы спецификация получила статус W3C Рекомендации, необходимы две законченные на 100 % и полностью взаимодействующие реализации[20].

В интервью TechRepublic Хиксон предполагал, что это случится в 2012 году или позже[21][22]. Однако многие части спецификации были стабильны и могли быть реализованы в продуктах:

«Некоторые части уже относительно стабильны, и сегодня решения, которые уже вполне близки к завершению, могут быть использованы».

WHAT Working Group, Когда HTML5 будет закончен?[20], FAQ

В декабре 2009 года WHATWG переключилась на универсальную модель разработки для спецификации HTML5[23]. W3C всё ещё продолжала публиковать снимки со спецификацией HTML5[5].

14 февраля 2011 года W3C увеличил срок работы для рабочей группы HTML с промежуточными снимками для HTML5. Рабочая группа предполагала продвинуть HTML5 в Last Call, приглашая сообщества к сотрудничеству с W3C, чтобы подтвердить техническое отсутствие дефектов в спецификации в мае 2011 года. Затем группа переключилась на тестирование своей реализации. W3C также разрабатывала всестороннюю проверку, чтобы добиться широкой функциональной совместимости для финальной спецификации 2014 года — ожидаемой даты для Рекомендации[24].

"Даже как инновационное продолжение, продвижение HTML5 в «Рекомендации» обеспечивает всю веб-экосистему стабильным, проверенным и взаимодействующим стандартом. Решение наметить внедрение HTML5 в Last Call в мае 2011 года было важным шагом для урегулирования производственных ожиданий. Сегодня мы сделали следующий шаг, объявив о намерении осуществления цели с получением рекомендации к 2014 году."

Джеф Джэйф, Генеральный директор W3C[24]

С 28 октября 2014 года W3C официально рекомендует использовать HTML5 — это значит, что стандарт окончательно финализирован и готов к широкому использованию[2].

План выпуска новых версий стандартов

[править | править код]
2012 2013 2014 2015 2016 2017 2018
HTML 5.0[36][37] Candidate Rec Call for Review Recommendation
HTML 5.1[38] 1st Working Draft Last Call Candidate Recommendation Recommendation
HTML 5.2[39] W3C First Public Working Draft Candidate Recommendation,
Recommendation
HTML 5.3[40] W3C First Public Working Draft

HTML5[41][42][43] вводит несколько новых элементов и атрибутов, которые отражают типичное использование разметки на современных веб-сайтах. Некоторые из них — семантические замены для использования универсальных блочных (<div>) и строчных (<span>) элементов, например, <nav> (блок навигации по сайту), <footer> (обычно относится к нижней части страницы или последней строке HTML кода) или <audio> и <video> вместо <object>[44][45]. Некоторые устаревшие элементы, которые можно было использовать в HTML 4.01, были исключены, включая чисто оформительские элементы, такие как <font> и <center>, чьи эффекты выполняются с помощью каскадных таблиц стилей. Также в поведении гипертекстовых страниц снова заострено внимание на важности скриптов DOM (например, Javascript).

Синтаксис HTML5 больше не базируется на SGML, несмотря на подобие его разметки. Однако он был разработан обратно совместимым с обычным парсингом более старых версий HTML. В HTML5 применяется новая вводная строка, которая выглядит как объявление типа документа в SGML, <!DOCTYPE html>, запускающая соответствующий стандартам режим визуализации[46]. С 5 января 2009 года HTML5 также включает в себя Web Forms 2.0, ранее бывшие отдельной спецификацией WHATWG.

В дополнение к определению разметки HTML5 устанавливает API[6][47], который может быть использован с JavaScript. Возможности DOM расширены и фактически используемые свойства задокументированы. Также добавлены новые API, например:

HTML5 APIs and related technologies taxonomy and status
  • элемент «холст» для непосредственного метода рисования в 2D. См. спецификацию Canvas 2D API Specification 1.0[48];
  • контроль над проигрыванием медиафайлов, который может использоваться, например, для синхронизации субтитров с видео[49];
  • хранение данных в браузере[50];
  • File API: возможность загрузки документа через выбор (тег <input type="file">) или перетаскиванием (Drag-and-drop)
  • Drag-and-drop: предоставляет набор событий для каждого элемента DOM, таких как появление и нахождение в его зоне, благодаря которым разработчик может информировать пользователя о необходимых действиях и идентификаторе перетаскиваемого файла, содержащего адрес, имя, тип, размер и дату изменения;
  • управление историей браузера;
  • тип MIME и регистрация обработчика протокола;
  • микроданные.

Не все выше перечисленные технологии включены в спецификацию W3C HTML5, хотя они есть в спецификации WHATWG HTML[51]. Немного связанных технологий, которые не являются частью ни одной из спецификаций, следуют далее. W3C публикует спецификации для них отдельно.

  • геолокация;
  • база данных SQL для Web, внутренняя база данных (больше не поддерживаемая)[52];
  • Индексированная база данных (IndexedDB) API, индексирование по типу ключ-значение (прежде — WebSimpleDB)[53];
  • Файл API, дескриптор обновления файлов и управления ими[54];
  • Работа с системой. Этот API предназначен для того, чтобы обеспечить хранение информации со стороны клиента без управления базами данных[55];
  • Запись в файл, использование API для записи в файл информации из приложения[56].

XHTML5 — это XML-сериализация языка HTML5. Документы XML должны быть снабжены XML Internet media type, например, application/xhtml+xml или application/xml[6]. XHTML5 требует строгого и правильно оформленного синтаксиса XML. Выбор между HTML5 и XHTML5 сводится к выбору типа MIME/содержимого: тип медиа, который будет выбран, определит, какой тип документа должен быть использован[57]. В XHTML5 doctype <html> необязателен и может быть просто пропущен[58]. HTML, который был написан, чтобы соответствовать техническим требованиям и HTML и XHTML — и который производит то же DOM дерево, разбирающее HTML или XML, — назван многоязычным[59].

Обработка ошибок

[править | править код]

Спецификация HTML5 предъявляет требования как к юзер-агентам (браузерам), так и к документам. Документы могут содержать не всегда корректный синтаксис, но HTML5-совместимые браузеры, так же, как и их предшественники, применяют алгоритмы разбора ошибок разметки в документах для построения правильной объектной модели (DOM). Чёткое определение требований к юзер-агентам делается с целью достижения совместимости между браузерами разных производителей. Так же, как и требования к синтаксису разметки документов с целью корректного отображения их в различных браузерах[60]. В старых версиях браузеров новые теги HTML5 просто игнорируются.

Отличия HTML5 от HTML4.01 и XHTML1.0

[править | править код]

Ниже представлен список отличий:

  • Изменён синтаксис
  • Встраивание SVG и MathML в text/html
  • Новые элементы: <article>, <aside>, <audio>, <canvas>, <command>, <datalist>, <details>, <embed>, <figcaption>, <figure>, <footer>, <header>, <hgroup>, <keygen>, <main>, <mark>, <meter>, <nav>, <output>, <progress>, <rp>, <rt>, <ruby>[англ.], <section>, <source>, <summary>, <time>, <video>, <wbr>[61]

Полный список изменений в HTML5 представлен в обновляющемся рабочем проекте W3C «Отличия HTML5 от HTML4» (последняя версия от 9 декабря 2014 года)[6].

Логотип HTML5

[править | править код]
Логотип HTML5

18 января 2011 года W3C ввёл логотип, чтобы представить использование или добавить интерес к HTML5. В отличие от других знаков, выпущенных ранее компанией W3C, он не подразумевает соответствие определённому стандарту. С 1 апреля 2011 года этот логотип считается официальным[63].

Во время первого показа его публике, W3C объявил логотип HTML5 как символ «универсальной визуальной идентификации данных для широкого набора открытых Веб-технологий, включая HTML, CSS, SVG, WOFF и другие»[64]. Некоторые защитники веб-стандартов, включая и The Web Standards Project, раскритиковали это определение HTML5 как обобщённое и размытое понятие[64]. Тремя днями позже W3C ответил на отзыв сообщества и изменил определение логотипа, убрав перечисление связанных технологий[65]. Затем W3C заявил, что логотип «представляет HTML5, краеугольный камень для современных Веб приложений»[63].

Пример веб-страницы HTML5

[править | править код]
Семантическая вёрстка страницы
<!DOCTYPE html>
<html>
   <head>
      <meta charset="utf-8">
      <title>
         (Это title) Пример страницы на HTML5
      </title>
   </head>
   <body>
      <header>
         <hgroup>
            <h1>
               Заголовок "h1" из hgroup
            </h1>
            <h2>
               Заголовок "h2" из hgroup
            </h2>
         </hgroup>
      </header>
      <nav>
         <menu>
            <li>
               <a href="link1.html">
                  Первая ссылка из блока "nav"
               </a>
            </li>
            <li>
               <a href="link2.html">
                  Вторая ссылка из блока "nav"
               </a>
            </li>
         </menu>
      </nav>
      <section>
         <article>
            <h3>
               Заголовок статьи из блока "article"
            </h3>
            <p>
               Текст абзаца статьи из блока "article"
            </p>
            <details>
               <summary>
                  Блок "details", текст тега "summary"
               </summary>
               <p>
                  Абзац из блока "details"
               </p>
            </details>
         </article>
      </section>
      <footer>
         <time>
            Содержимое тега "time" блока "footer"
         </time>
         <p>
            Содержимое абзаца из блока "footer"
         </p>
      </footer>
   </body>
</html>

Примечания

[править | править код]
  1. HTML5 is a W3C Recommendation
  2. 1 2 Анонс HTML5
  3. HTML4.01 Specification
  4. W3C Working Draft 29 October 2013. Working Draft. World Wide Web Consortium (29 октября 2013).
  5. 1 2 Ян Хиксон. HTML Is the New HTML5. Дата обращения: 21 января 2011. Архивировано 7 июня 2012 года.
  6. 1 2 3 4 5 HTML5 Differences from HTML4. World Wide Web Consortium (19 Октября 2010 года). Дата обращения: 4 Декабря 2010 года. Архивировано 7 июня 2012 года.
  7. 1.9.2 Syntax Errors. HTML5 (16 Ноября 2010 года). Дата обращения: 4 Декабря 2010 года. Архивировано 7 июня 2012 года.
  8. A feature history of the modern Web Platform
  9. HTML 4 Errata. World Wide Web Consortium. Дата обращения: 4 Декабря 2010 года. Архивировано 7 июня 2012 года.
  10. Frequently Asked Questions (FAQ) About the Future of XHTML. World Wide Web Consortium. Дата обращения: 4 Декабря 2010 года. Архивировано 7 июня 2012 года.
  11. FOX News: No Flash on the iPhone? Apple’s Steve Jobs Finally Explains Why
  12. TIME: Steve Jobs: ‘Flash is No Longer Necessary’ and Other Musings
  13. CBS News: Steve Jobs: Why Apple Banned Flash
  14. FastCompany: Steve Jobs: Adobe’s Flash Is Old PC History, Open Web Is the Future
  15. «Thoughts on Flash», by Steve Jobs, CEO of Apple, Inc.
  16. Is HTML5 Replacing Flash?
  17. [whatwg] WHAT open mailing list announcement. lists.whatwg.org Mailing Lists. Дата обращения: 4 марта 2010. Архивировано 7 июня 2012 года.
  18. HTML5: A vocabulary and associated APIs for HTML and XHTML (Editor's Draft). World Wide Web Consortium. Дата обращения: 12 апреля 2010. Архивировано 7 июня 2012 года.
  19. HTML5: A vocabulary and associated APIs for HTML and XHTML. World Wide Web Consortium. Дата обращения: 28 января 2009. Архивировано 7 июня 2012 года.
  20. 1 2 3 4 When Will HTML5 Be Finished? WHATWG. WHATWG Wiki. Дата обращения: 10 сентября 2009. Архивировано 7 июня 2012 года.
  21. HTML 5 Editor Ian Hickson discusses features, pain points, adoption rate, and more
  22. HTML 5 Editor Ian Hickson discusses the spec’s current status
  23. Ян Хиксон. WHATWG: Switching to an Unversioned Development Model. Дата обращения: 21 января 2011. Архивировано 7 июня 2012 года.
  24. 1 2 W3C Confirms May 2011 for HTML5 Last Call, Targets 2014 for HTML5 Standard. World Wide Web Consortium (14 Февраля 2011 года). Дата обращения: 18 февраля 2011. Архивировано 7 июня 2012 года.
  25. HTML5 W3C Recommendation
  26. Open Web Platform Milestone Achieved with HTML5 Recommendation
  27. Начало разработки версии 5.1 W3C
  28. HTML 5.1 W3C Working Draft 17 December 2012
  29. HTML 5.1 W3C Recommendation
  30. HTML 5.1 is a W3C Recommendation | W3C News
  31. HTML 5.1 2nd Edition is a W3C Recommendation | W3C News
  32. HTML 5.1 is the gold standard | W3C Blog
  33. HTML 5.2 W3C Recommendation
  34. HTML 5.2 is now a W3C Recommendation | W3C News
  35. HTML 5.2 is done, HTML 5.3 is coming | W3C Blog
  36. HTML Working Group Charter
  37. HTML Media Extensions Working Group Charter
  38. Web Platform Working Group Charter
  39. Web Platform Working Group Charter
  40. HTML 5.3 W3C First Public Working Draft, 14 December 2017
  41. Новые элементы в HTML 5
  42. Новые структурные теги HTML5
  43. Основы HTML5: Часть 1-4
  44. Introduction to HTML5 Video
  45. Введение в видео HTML5
  46. HTML5: Worth the Hype?
  47. Differences from HTML4 — APIs WHATWG.
  48. «HTML Canvas 2D Context». World Wide Web Consortium.
  49. Доступное видео в HTML5 с субтитрами на JavaScript (13 января 2010). Архивировано 7 июня 2012 года.
  50. «Web Storage Specification». World Wide Web Consortium.
  51. HTML Standard
  52. «Web SQL Database». World Wide Web Consortium.
  53. «Indexed Database». World Wide Web Consortium.
  54. «File API». World Wide Web Consortium.
  55. «Filesystem API». World Wide Web Consortium.
  56. «File API: Writer». World Wide Web Consortium.
  57. Сергей Анатольевич Мавроди «Sergey’s HTML5 & CSS3 Quick Reference». Belisso Corp., 2010. ISBN 978-0-615-43321-9
  58. The XHTML syntax ― HTML5. WHATWG. Дата обращения: 1 сентября 2009. Архивировано 7 июня 2012 года.
  59. Polyglot Markup: HTML-Compatible XHTML Documents, W3C Working Draft 05 April 2011
  60. FAQ – WHATWG Wiki. WHATWG. Дата обращения: 2 декабря 2010. Архивировано 7 июня 2012 года.
  61. Б. Лоусон Р. Шарп. Изучаем HTML5. Библиотека специалиста / Перевод Т. Качковская, Е. Шикарева. — СПб.: Питер, 2011. — С. 272. — (Библиотека специалиста). — 2000 экз. — ISBN 978-5-459-00269-0.
  62. HTML5: The Markup Language Reference: Input Control. World Wide Web Consortium. Дата обращения: 17 февраля 2011. Архивировано из оригинала 16 августа 2011 года.
  63. 1 2 W3C HTML5 Logo FAQ. World Wide Web Consortium. — «Is this W3C's "official" logo for HTML5? Yes, as of 1 April 2011.» Дата обращения: 21 января 2011. Архивировано из оригинала 14 августа 2011 года.
  64. 1 2 HTML5 Logo: Be Proud, But Don't Muddy the Waters! The Web Standards Project. Дата обращения: 22 января 2011. Архивировано из оригинала 10 августа 2011 года.
  65. The HTML5 Logo Conversation. World Wide Web Consortium. Дата обращения: 21 января 2011. Архивировано из оригинала 6 августа 2011 года.

Литература

[править | править код]
  • Арсений Мирный. HTML5 против Flash-видео // UP Special : журнал. — 2010. — № 5. — С. 42—45.