HTML5

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
HTML5
(HyperText Markup Language)

HTML5 logo and wordmark.svg

Расширение

.html, .htm

MIME-тип

text/html

Разработчик

Консорциум Всемирной паутины и WHATWG

Опубликован

28 октября 2014

Тип формата

Язык разметки

Расширен из

SGML

Развит в

XHTML5

Стандарт(ы)

W3C HTML5 Recommendation
W3C HTML5.1 WD
WHATWG HTML

Открытый формат?

Да

 Просмотр этого шаблона  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. Веб-страницы на практике оказывались свёрстаны с использованием смеси особенностей, представленных различными спецификациями, включая спецификации программных продуктов, например веб-браузеров, а также сложившихся общеупотребительных приёмов. HTML5 был создан как единый язык разметки, который мог бы сочетать синтаксические нормы HTML и XHTML. Он расширяет, улучшает и рационализирует разметку документов, а также добавляет единый API для сложных веб-приложений[5].

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

История[править | править вики-текст]

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

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

Процесс стандартизации[править | править вики-текст]

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

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

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

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

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

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


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

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

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]

HTML 5.1[править | править вики-текст]

Консорциум W3C начал разработку[25] следующей версии стандарта 5.1, в которой описываются такие технологии, как вывод титров в видеороликах, заполнение электронных форм с автозавершением, а также проверка правописания.

2012 2013 2014 2015 2016
HTML 5.0 Candidate Rec Call for Review Recommendation
HTML 5.1 1st Working Draft Last Call Candidate Rec Recommendation
HTML 5.2 1st Working Draft

Свойства[править | править вики-текст]

Разметка[править | править вики-текст]

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

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

Новые API[править | править вики-текст]

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

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

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

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

XHTML5[править | править вики-текст]

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

Обработка ошибок[править | править вики-текст]

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

Отличия HTML5 от HTML4.01 и XHTML1.0[править | править вики-текст]

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

  • Изменён синтаксис
  • Встраивание SVG и MathML в text/html
  • Новые элементы: <article>, <aside>, <audio>, <canvas>, <command>, <datalist>, <details>, <embed>, <figcaption>, <figure>, <footer>, <header>, <hgroup>, <keygen>, <mark>, <meter>, <nav>, <output>, <progress>, <rp>, <rt>, <ruby>, <section>, <source>, <summary>, <time>, <video>, <wbr>
  • Новые компоненты ввода: date/time, email, url, search, number, range, tel, color[46]
  • Новые атрибуты: charset (в <meta>), async (в script)
  • Глобальные атрибуты, которые могут быть применены ко всем элементам: id, tabindex, hidden, data-* (пользовательские атрибуты данных)
  • Элементы, которые будут исключены: <acronym>, <applet>, <basefont>, <big>, <center>, <dir>, <font>, <frame>, <frameset>, <isindex>, <noframes>, <strike>, <tt>

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

Логотип HTML5[править | править вики-текст]

Логотип HTML5

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

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

Пример веб-страницы 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>
            <h1>
               Заголовок статьи из блока "article"
            </h1>
            <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 3 4 5 HTML5 Differences from HTML4. World Wide Web Consortium (19 Октября 2010 года). Проверено 4 Декабря 2010 года. Архивировано из первоисточника 7 июня 2012.
  6. 1.9.2 Syntax Errors. HTML5 (16 Ноября 2010 года). Проверено 4 Декабря 2010 года. Архивировано из первоисточника 7 июня 2012.
  7. A feature history of the modern Web Platform
  8. HTML 4 Errata. World Wide Web Consortium. Проверено 4 Декабря 2010 года. Архивировано из первоисточника 7 июня 2012.
  9. Frequently Asked Questions (FAQ) About the Future of XHTML. World Wide Web Consortium. Проверено 4 Декабря 2010 года. Архивировано из первоисточника 7 июня 2012.
  10. FOX News: No Flash on the iPhone? Apple’s Steve Jobs Finally Explains Why
  11. TIME: Steve Jobs: ‘Flash is No Longer Necessary’ and Other Musings
  12. CBS News: Steve Jobs: Why Apple Banned Flash
  13. FastCompany: Steve Jobs: Adobe’s Flash Is Old PC History, Open Web Is the Future
  14. «Thoughts on Flash», by Steve Jobs, CEO of Apple, Inc.
  15. Is HTML5 Replacing Flash?
  16. [whatwg] WHAT open mailing list announcement. lists.whatwg.org Mailing Lists. Проверено 4 Марта 2010 года. Архивировано из первоисточника 7 июня 2012.
  17. HTML5: A vocabulary and associated APIs for HTML and XHTML (Editor's Draft).. World Wide Web Consortium. Проверено 12 Апреля 2010 года. Архивировано из первоисточника 7 июня 2012.
  18. HTML5: A vocabulary and associated APIs for HTML and XHTML.. World Wide Web Consortium. Проверено 28 января 2009 года. Архивировано из первоисточника 7 июня 2012.
  19. 1 2 3 4 When Will HTML5 Be Finished?. WHATWG. WHATWG Wiki. Проверено 10 Сентября 2009 года. Архивировано из первоисточника 7 июня 2012.
  20. HTML 5 Editor Ian Hickson discusses features, pain points, adoption rate, and more
  21. HTML 5 Editor Ian Hickson discusses the spec's current status
  22. Ян Хиксон. WHATWG: Switching to an Unversioned Development Model. Проверено 21 Января 2011 года. Архивировано из первоисточника 7 июня 2012.
  23. Ян Хиксон. HTML Is the New HTML5. Проверено 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. Начало разработки версии 5.1 W3C
  26. Новые элементы в HTML 5
  27. Новые структурные теги HTML5
  28. Основы HTML5: Часть 1-4
  29. Introduction to HTML5 Video
  30. Введение в видео HTML5
  31. HTML5: Worth the Hype?
  32. Differences from HTML4 - APIs WHATWG.
  33. «HTML Canvas 2D Context». World Wide Web Consortium.
  34. Доступное видео в HTML5 с субтитрами на JavaScript (13 Января 2010 года). Архивировано из первоисточника 7 июня 2012.
  35. «Web Storage Specification». World Wide Web Consortium.
  36. HTML Standard
  37. «Web SQL Database». World Wide Web Consortium.
  38. «Indexed Database». World Wide Web Consortium.
  39. «File API». World Wide Web Consortium.
  40. «Filesystem API». World Wide Web Consortium.
  41. «File API: Writer». World Wide Web Consortium.
  42. Сергей Анатольевич Мавроди «Sergey’s HTML5 & CSS3 Quick Reference». Belisso Corp., 2010. ISBN 978-0-615-43321-9
  43. The XHTML syntax ― HTML5. WHATWG. Проверено 1 Сентября 2009 года. Архивировано из первоисточника 7 июня 2012.
  44. Polyglot Markup: HTML-Compatible XHTML Documents, W3C Working Draft 05 April 2011
  45. FAQ – WHATWG Wiki. WHATWG. Проверено 2 декабря 2010. Архивировано из первоисточника 7 июня 2012.
  46. HTML5: The Markup Language Reference: Input Control. World Wide Web Consortium. Проверено 17 Февраля 2011 года. Архивировано из первоисточника 7 июня 2012.
  47. 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 года. Архивировано из первоисточника 7 июня 2012.
  48. 1 2 HTML5 Logo: Be Proud, But Don't Muddy the Waters!. The Web Standards Project. Проверено 22 Января 2011 года. Архивировано из первоисточника 7 июня 2012.
  49. The HTML5 Logo Conversation. World Wide Web Consortium. Проверено 21 Января 2011 года. Архивировано из первоисточника 7 июня 2012.

Ссылки[править | править вики-текст]

Литература[править | править вики-текст]

  • Питер Лабберс, Брайан Олберс, Фрэнк Салим. HTML5 для профессионалов: мощные инструменты для разработки современных веб-приложений = Pro HTML5 Programming: Powerful APIs for Richer Internet Application Development. — М.: «Вильямс», 2011. — С. 272. — ISBN 978-5-8459-1715-7.
  • Стивен Хольцнер. HTML5 за 10 минут, 5-е издание = Sams Teach Yourself HTML5 in 10 Minutes, 5th Edition. — М.: «Вильямс», 2011. — ISBN 978-5-8459-1745-4.
  • Арсений Мирный HTML5 против Flash-видео // UP Special : журнал. — 2010. — № 5. — С. 42—45.