HTML5

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

HTML5 logo and wordmark.svg

Расширение

.html, .htm

MIME

text/html

Разработчик

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

Тип формата

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

Расширен из

SGML

Стандарт(ы)

dev.w3.org/html5/spec/

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

Да

Сайт

whatwg.org/html
w3.org/TR/html5

 Просмотр этого шаблона  HTML

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

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

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

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

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

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

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

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

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

Ян Хиксон, редактор спецификации HTML5, ожидает достижения Candidate Recommendation в течение 2012 года[17]. Для того чтобы спецификация получила статус «W3C рекомендована», необходимы две законченные на 100 % и полностью взаимодействующие реализации[17]. В интервью с TechRepublic Хиксон предполагает, что это случится в 2012 году или позже[18]. Однако, многие части спецификации стабильны и могут быть реализованы в продуктах:

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

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

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

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

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

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

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

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

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

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

В дополнение к определению разметки HTML5 устанавливает скриптовый интерфейс прикладного программирования (API)[26]. Существующий интерфейс DOM расширен и особенности зарегистрированы фактически. Также существуют новые API, например:

  • элемент-холст для непосредственного метода рисования в 2D. Смотрите спецификацию Canvas 2D API Specification 1.0[27];
  • контроль над проигрыванием медиафайлов, который может использоваться, например, для синхронизации субтитров с видео[28];
  • хранение баз данных оффлайн[29];
  • редактирование документа;
  • Drag-and-drop;
  • управление историей браузера;
  • тип MIME и регистрация обработчика протокола;
  • микроданные.

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

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

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

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

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

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

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

Ниже представлен список отличий и несколько необычных примеров:

  • Изменён синтаксис
  • Встраивание 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[41]
  • Новые атрибуты: charsetmeta), asyncscript)
  • Глобальные атрибуты, которые могут быть применены ко всем элементам: id, tabindex, hidden, data-* (пользовательские атрибуты данных)
  • Элементы, которые будут исключены: acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, strike, tt

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

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

Логотип HTML5

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

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

Пример веб-страницы 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>

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

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

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. HTML5 Differences from HTML 4. Working Draft. World Wide Web Consortium (5 Апреля 2011 года). Проверено 30 Апреля 2011 года. Архивировано из первоисточника 7 июня 2012.
  2. W3C Working Draft 29 October 2013. Working Draft. World Wide Web Consortium (29 октября 2013 года).
  3. 1 2 HTML5 Differences from HTML4. World Wide Web Consortium (19 Октября 2010 года). Проверено 4 Декабря 2010 года. Архивировано из первоисточника 7 июня 2012.
  4. 1.9.2 Syntax Errors. HTML5 (16 Ноября 2010 года). Проверено 4 Декабря 2010 года. Архивировано из первоисточника 7 июня 2012.
  5. HTML 4 Errata. World Wide Web Consortium. Проверено 4 Декабря 2010 года. Архивировано из первоисточника 7 июня 2012.
  6. Frequently Asked Questions (FAQ) About the Future of XHTML. World Wide Web Consortium. Проверено 4 Декабря 2010 года. Архивировано из первоисточника 7 июня 2012.
  7. FOX News: No Flash on the iPhone? Apple’s Steve Jobs Finally Explains Why
  8. TIME: Steve Jobs: ‘Flash is No Longer Necessary’ and Other Musings
  9. CBS News: Steve Jobs: Why Apple Banned Flash
  10. FastCompany: Steve Jobs: Adobe’s Flash Is Old PC History, Open Web Is the Future
  11. «Thoughts on Flash», by Steve Jobs, CEO of Apple, Inc.
  12. Is HTML5 Replacing Flash?
  13. [whatwg] WHAT open mailing list announcement. lists.whatwg.org Mailing Lists. Проверено 4 Марта 2010 года. Архивировано из первоисточника 7 июня 2012.
  14. HTML5: A vocabulary and associated APIs for HTML and XHTML (Editor's Draft).. World Wide Web Consortium. Проверено 12 Апреля 2010 года. Архивировано из первоисточника 7 июня 2012.
  15. HTML5: A vocabulary and associated APIs for HTML and XHTML.. World Wide Web Consortium. Проверено 28 января 2009 года. Архивировано из первоисточника 7 июня 2012.
  16. When Will HTML5 Be Finished?. WHATWG. WHATWG Wiki. Проверено 10 Сентября 2009 года. Архивировано из первоисточника 7 июня 2012.
  17. 1 2 3 When Will HTML5 Be Finished?. FAQ. WHAT Working Group. Проверено 29 Ноября 2009 года. Архивировано из первоисточника 7 июня 2012.
  18. HTML5 Editor Ian Hickson Discusses Features, Pain Points, Adoption Rate, and More. Проверено 21 Июня 2010 года. Архивировано из первоисточника 7 июня 2012.
  19. Ян Хиксон. WHATWG: Switching to an Unversioned Development Model. Проверено 21 Января 2011 года. Архивировано из первоисточника 7 июня 2012.
  20. Ян Хиксон. HTML Is the New HTML5. Проверено 21 Января 2011 года. Архивировано из первоисточника 7 июня 2012.
  21. 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.
  22. Introduction to HTML5 video
  23. IBM Developer Works New elements in HTML5: Structure and semantics
  24. ICAMD.org Finalcut Silverlight Films that Videographers share Quicktime in a Flash : Video on the Web using HTML5 and other Codecs
  25. InstantShift [1] HTML5: Worth the Hype?
  26. «HTML5 Differences from HTML 4 — APIs». World Wide Web Consortium.
  27. «HTML Canvas 2D Context». World Wide Web Consortium.
  28. Доступное видео в HTML5 с субтитрами на JavaScript (13 Января 2010 года). Архивировано из первоисточника 7 июня 2012.
  29. «Web Storage Specification». World Wide Web Consortium.
  30. HTML Standard
  31. «Web SQL Database». World Wide Web Consortium.
  32. «Indexed Database». World Wide Web Consortium.
  33. «File API». World Wide Web Consortium.
  34. «Filesystem API». World Wide Web Consortium.
  35. «File API: Writer». World Wide Web Consortium.
  36. Anne, van Kesteren HTML5 differences from HTML 4 – W3C Working Draft 19 October 2010. World Wide Web Consortium. Проверено 2 Ноября 2010 года. Архивировано из первоисточника 7 июня 2012.
  37. Сергей Анатольевич Мавроди «Sergey’s HTML5 & CSS3 Quick Reference». Belisso Corp., 2010. ISBN 978-0-615-43321-9
  38. The XHTML syntax ― HTML5. Web Hypertext Application Technology Working Group. Проверено 1 Сентября 2009 года. Архивировано из первоисточника 7 июня 2012.
  39. Polyglot Markup: HTML-Compatible XHTML Documents, W3C Working Draft 05 April 2011
  40. FAQ – WHATWG Wiki. WHATWG. Проверено 2 декабря 2010. Архивировано из первоисточника 7 июня 2012.
  41. HTML5: The Markup Language Reference: Input Control. World Wide Web Consortium. Проверено 17 Февраля 2011 года. Архивировано из первоисточника 7 июня 2012.
  42. HTML5 Differences from HTML4. FAQ. World Wide Web Consortium (29 мая 2012 года). Проверено 12 июня 2012 года. Архивировано из первоисточника 7 июня 2012.
  43. 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.
  44. 1 2 HTML5 Logo: Be Proud, But Don't Muddy the Waters!. The Web Standards Project. Проверено 22 Января 2011 года. Архивировано из первоисточника 7 июня 2012.
  45. The HTML5 Logo Conversation. World Wide Web Consortium. Проверено 21 Января 2011 года. Архивировано из первоисточника 7 июня 2012.
  46. Начало разработки версии 5.1 Софт@Mail.Ru

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

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

  • Питер Лабберс, Брайан Олберс, Фрэнк Салим 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