HTML5 audio
- 1 year ago
- 0
- 0
HTML5 ( англ. HyperText Markup Language, version 5 ) — язык для структурирования и представления содержимого всемирной паутины . Это пятая версия HTML . Хотя стандарт был завершён (рекомендованная версия к использованию) только в 2014 году (предыдущая, четвёртая, версия опубликована в 1999 году ), уже с 2013 года браузерами оперативно осуществлялась поддержка, а разработчиками — использование рабочего стандарта ( англ. HTML Living Standard ). Цель разработки HTML5 — улучшение уровня поддержки мультимедиа -технологий с одновременным сохранением обратной совместимости, удобочитаемости кода для человека и простоты анализа для парсеров .
Во всемирной паутине долгое время использовались стандарты HTML 4.01, XHTML 1.0 и XHTML 1.1. Веб-страницы на практике оказывались свёрстаны с использованием смеси особенностей, представленных различными спецификациями, включая спецификации программных продуктов, например веб-браузеров , а также сложившихся общеупотребительных приёмов. HTML5 был создан как единый язык разметки , который мог бы сочетать синтаксические нормы HTML и XHTML. Он расширяет, улучшает и рационализирует разметку документов, а также добавляет единый API для сложных веб-приложений .
В HTML5 реализовано множество новых синтаксических особенностей. Например, элементы
<video>
,
<audio>
и
<canvas>
, а также возможность использования
SVG
и
математических формул
. Эти новшества разработаны для упрощения создания и управления графическими и мультимедийными объектами в сети без необходимости использования сторонних
API
и
плагинов
. Другие новые элементы, такие как
<section>
,
<article>
,
<header>
и
<nav>
, разработаны для того, чтобы обогащать
семантическое
содержимое документа (страницы). Новые атрибуты были введены с той же целью, хотя ряд элементов и атрибутов был удалён. Некоторые элементы, например
<a>
,
<menu>
и
<cite>
, были изменены, переопределены или стандартизированы. API и
DOM
стали основными частями спецификации HTML5
. HTML5 также определяет некоторые особенности обработки ошибок вёрстки, поэтому синтаксические ошибки должны рассматриваться одинаково всеми совместимыми браузерами
.
W3C , к 2004 году захвативший множество компаний, не связанных напрямую с браузерами, вроде Adobe , настаивал на XHTML — машиночитаемом, но малопригодном для человеческого редактирования формате , да и просто медленно внедрял новшества. Потому была создана новая рабочая группа, WHATWG .
В 2005 году появился YouTube — основной видеохостинг Интернета вплоть до настоящего времени (2021). Его плеер был написан на Adobe Flash — распространённой системе интернет-приложений. На момент появления YouTube это было нормально, поскольку просмотр страниц происходил в основном с компьютеров и ноутбуков, а порты Flash были под все крупные ОС.
В 2007 году появился iPhone . Телефоны до него либо использовали чисто мобильные технологии вроде WAP , либо полагались на серверный рендеринг ( Opera Mini ). iPhone же располагал полноценным браузером — а YouTube, полагавшийся на Flash, был реализован отдельной программой. Одной из задач HTML5 стало снизить потребность в Flash — с помощью HTML5 video , SVG и холстов .
iPhone поставил новый стандарт смартфона — прибор с сенсорным экраном на всю переднюю панель. Экранная клавиатура обычно миниатюрная, и потому для разных типов ввода — чисел, дат, адресов электронной почты — нужны разные клавиатуры. HTML5 добавил и другие новшества для мобильных устройств — геолокацию , управление кэшем для офлайн-работы и т.д. Как в HTML5, так и в CSS3 добавлены механизмы перевёрстки сайтов под мобильные устройства и страничные медиа ( электронная книга , печатный документ).
Всё больше распространяются AJAX и одностраничные сайты , и добавился API для управления историей в них.
Выяснилось, что вебмастера ставят
какой попало — потому эта строка упрощена до
<!DOCTYPE html>
. Поддержка ошибочных документов унифицирована и в других местах.
WHATWG начал работу над новым стандартом в 2004 году , когда World Wide Web Consortium (W3C) сосредоточился на будущих разработках XHTML 2.0 , а HTML 4.01 не изменялся с 2000 года . В 2009 году W3C признал, что срок работы у рабочей группы XHTML 2.0 истёк, и решил не возобновлять его. Впоследствии W3C и WHATWG совместно разрабатывали HTML5 .
Даже несмотря на то, что HTML5 был хорошо известен среди веб-разработчиков в течение нескольких лет, он стал основной темой СМИ только в апреле 2010 года. После этого глава компании Apple Inc. Стив Джобс написал публичное письмо, заголовок которого гласил: «мысли по поводу Flash», где он заключил, что с разработкой HTML5 нет больше необходимости смотреть видеоролики или использовать другие виды приложений с помощью Adobe Flash . По этому поводу вспыхивали дебаты в кругу веб-разработчиков, причём некоторые намекали, что, хотя HTML5 и обеспечивает расширенную функциональность, разработчики должны принимать во внимание различия браузеров и необходимость поддержки различных частей стандартов, равно как и функциональные различия между HTML5 и Flash .
WHATWG начал работу над спецификацией в июне 2004 года под названием Web Applications 1.0 . С января 2011 года спецификация в Draft Standard (Стандартизация проекта) утверждается в WHATWG, Working Draft (рабочий проект) утверждается в W3C. Ян Хиксон из компании Google является редактором спецификации HTML5 .
Спецификация HTML5 была принята в качестве точки начала работы над новым HTML рабочей группой W3C в 2007 году. Эта рабочая группа опубликовала спецификацию как первый публичный рабочий проект (working draft) 22 января 2008 года . Рабочий проект — это текущая работа, она оставалась на несколько лет, её части HTML5 были закончены и реализованы в браузерах до того момента, когда вся спецификация достигла финального статуса «Рекомендовано» .
Ян Хиксон ожидал достижения Candidate Recommendation в течение 2012 года .
Чтобы спецификация получила статус W3C Рекомендации, необходимы две законченные на 100 % и полностью взаимодействующие реализации .
В интервью TechRepublic Хиксон предполагал, что это случится в 2012 году или позже . Однако многие части спецификации были стабильны и могли быть реализованы в продуктах:
«Некоторые части уже относительно стабильны, и сегодня решения, которые уже вполне близки к завершению, могут быть использованы».
— WHAT Working Group, Когда HTML5 будет закончен? , FAQ
В декабре 2009 года WHATWG переключилась на универсальную модель разработки для спецификации HTML5 . W3C всё ещё продолжала публиковать снимки со спецификацией HTML5 .
14 февраля 2011 года W3C увеличил срок работы для рабочей группы HTML с промежуточными снимками для HTML5. Рабочая группа предполагала продвинуть HTML5 в Last Call, приглашая сообщества к сотрудничеству с W3C, чтобы подтвердить техническое отсутствие дефектов в спецификации в мае 2011 года. Затем группа переключилась на тестирование своей реализации. W3C также разрабатывала всестороннюю проверку, чтобы добиться широкой функциональной совместимости для финальной спецификации 2014 года — ожидаемой даты для Рекомендации .
"Даже как инновационное продолжение, продвижение HTML5 в «Рекомендации» обеспечивает всю веб-экосистему стабильным, проверенным и взаимодействующим стандартом. Решение наметить внедрение HTML5 в Last Call в мае 2011 года было важным шагом для урегулирования производственных ожиданий. Сегодня мы сделали следующий шаг, объявив о намерении осуществления цели с получением рекомендации к 2014 году."
— Джеф Джэйф, Генеральный директор W3C
С 28 октября 2014 года W3C официально рекомендует использовать HTML5 — это значит, что стандарт окончательно финализирован и готов к широкому использованию .
2012 | 2013 | 2014 | 2015 | 2016 | 2017 | 2018 | |
---|---|---|---|---|---|---|---|
HTML 5.0 | Candidate Rec | Call for Review | Recommendation | ||||
HTML 5.1 | 1st Working Draft | Last Call | Candidate Recommendation | Recommendation | |||
HTML 5.2 | W3C First Public Working Draft |
Candidate Recommendation,
Recommendation |
|||||
HTML 5.3 | W3C First Public Working Draft |
HTML5
вводит несколько новых
элементов
и атрибутов, которые отражают типичное использование разметки на современных
веб-сайтах
. Некоторые из них — семантические замены для использования универсальных блочных (<div>) и строчных (<span>) элементов, например,
<nav>
(блок навигации по сайту), <footer> (обычно относится к нижней части страницы или последней строке HTML кода) или <audio> и
<video>
вместо <object>
. Некоторые устаревшие элементы, которые можно было использовать в
HTML 4.01
, были исключены, включая чисто оформительские элементы, такие как <font> и <center>, чьи эффекты выполняются с помощью
каскадных таблиц стилей
. Также в поведении гипертекстовых страниц снова заострено внимание на важности скриптов
DOM
(например,
Javascript
).
Синтаксис HTML5 больше не базируется на SGML , несмотря на подобие его разметки. Однако он был разработан обратно совместимым с обычным парсингом более старых версий HTML. В HTML5 применяется новая вводная строка, которая выглядит как объявление типа документа в SGML, <!DOCTYPE html>, запускающая соответствующий стандартам режим визуализации . С 5 января 2009 года HTML5 также включает в себя Web Forms 2.0 , ранее бывшие отдельной спецификацией WHATWG .
В дополнение к определению разметки HTML5 устанавливает API , который может быть использован с JavaScript . Возможности DOM расширены и фактически используемые свойства задокументированы. Также добавлены новые API, например:
<input type="file">
) или перетаскиванием (Drag-and-drop)
Не все выше перечисленные технологии включены в спецификацию W3C HTML5, хотя они есть в спецификации WHATWG HTML . Немного связанных технологий, которые не являются частью ни одной из спецификаций, следуют далее. W3C публикует спецификации для них отдельно.
XHTML5 — это XML-сериализация языка HTML5. Документы XML должны быть снабжены XML Internet media type , например, application/xhtml+xml или application/xml . XHTML5 требует строгого и правильно оформленного синтаксиса XML. Выбор между HTML5 и XHTML5 сводится к выбору типа MIME /содержимого: тип медиа, который будет выбран, определит, какой тип документа должен быть использован . В XHTML5 <html> необязателен и может быть просто пропущен . HTML, который был написан, чтобы соответствовать техническим требованиям и HTML и XHTML — и который производит то же DOM дерево, разбирающее HTML или XML, — назван многоязычным .
Спецификация HTML5 предъявляет требования как к юзер-агентам ( браузерам ), так и к документам. Документы могут содержать не всегда корректный синтаксис, но HTML5-совместимые браузеры, так же, как и их предшественники, применяют алгоритмы разбора ошибок разметки в документах для построения правильной объектной модели ( DOM ). Чёткое определение требований к юзер-агентам делается с целью достижения совместимости между браузерами разных производителей. Так же, как и требования к синтаксису разметки документов с целью корректного отображения их в различных браузерах . В старых версиях браузеров новые теги HTML5 просто игнорируются.
Ниже представлен список отличий:
|
|
Полный список изменений в HTML5 представлен в обновляющемся рабочем проекте W3C «Отличия HTML5 от HTML4» (последняя версия от 9 декабря 2014 года ) .
18 января 2011 года W3C ввёл логотип, чтобы представить использование или добавить интерес к HTML5. В отличие от других знаков, выпущенных ранее компанией W3C, он не подразумевает соответствие определённому стандарту. С 1 апреля 2011 года этот логотип считается официальным .
Во время первого показа его публике W3C объявил логотип HTML5 как символ «универсальной визуальной идентификации данных для широкого набора открытых Веб-технологий, включая HTML , CSS , SVG , WOFF и другие» . Некоторые защитники веб-стандартов, включая и The Web Standards Project, раскритиковали это определение HTML5 как обобщённое и размытое понятие . Тремя днями позже W3C ответил на отзыв сообщества и изменил определение логотипа, убрав перечисление связанных технологий . Затем W3C заявил, что логотип «представляет 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>