HTML5 ( язык разметки гипертекста 5 ) — язык разметки , используемый для структурирования и представления гипертекстовых документов во Всемирной паутине . Это была пятая и последняя [4] основная версия HTML , которая в настоящее время является устаревшей рекомендацией Консорциума Всемирной паутины (W3C). Текущая спецификация известна как HTML Living Standard . Она поддерживается Рабочей группой по технологиям приложений веб-гипертекста (WHATWG), консорциумом основных поставщиков браузеров ( Apple , Google , Mozilla и Microsoft ).
HTML5 был впервые выпущен в общедоступной форме 22 января 2008 года [2] с крупным обновлением и статусом «Рекомендация W3C» в октябре 2014 года. [5] [6] Его целями были улучшение языка с поддержкой новейших мультимедиа и других новых функций; сохранение языка как легко читаемым для людей, так и последовательно понимаемым компьютерами и устройствами, такими как веб-браузеры , парсеры и т. д., без жесткости XHTML ; и сохранение обратной совместимости со старым программным обеспечением. HTML5 предназначен для включения не только HTML 4 , но также XHTML1 и даже самого HTML уровня 2. [7]
HTML5 включает в себя подробные модели обработки для поощрения более совместимых реализаций; он расширяет, улучшает и рационализирует разметку, доступную для документов, и вводит интерфейсы программирования разметки и приложений (API) для сложных веб-приложений . [8] По тем же причинам HTML5 также является кандидатом для кроссплатформенных мобильных приложений, поскольку он включает функции, разработанные с учетом маломощных устройств.
Включено много новых синтаксических функций. Для изначального включения и обработки мультимедийного и графического контента были добавлены новые элементы<video>
, <audio>
и ; расширяемые разделы изначально реализованы через и , а не в зависимости от CSS или JavaScript; также была добавлена поддержка масштабируемого векторного графического контента (SVG) и MathML для математических формул. Для обогащения семантического контента документов добавлены новые элементы структуры страницы, такие как , , , , , , и . Были введены новые атрибуты , некоторые элементы и атрибуты были удалены, а другие, такие как , , и были изменены, переопределены или стандартизированы. API и объектная модель документа (DOM) теперь являются основными частями спецификации HTML5, [8] и HTML5 также лучше определяет обработку любых недействительных документов. [9]<canvas>
<summary>...</summary>
<details>...</details>
<main>
<section>
<article>
<header>
<footer>
<aside>
<nav>
<figure>
<a>
<cite>
<menu>
Рабочая группа по технологии веб-гипертекстовых приложений (WHATWG) начала работу над новым стандартом в 2004 году. В то время HTML 4.01 не обновлялся с 2000 года, [10] а Консорциум Всемирной паутины (W3C) сосредоточил будущие разработки на XHTML 2.0 . В 2009 году W3C допустил истечение срока действия устава рабочей группы XHTML 2.0 и решил не продлевать его. [11]
Mozilla Foundation и Opera Software представили позиционный документ на семинаре World Wide Web Consortium в июне 2004 года, [12] сосредоточившись на разработке технологий, которые обратно совместимы с существующими браузерами, [13] включая первоначальный проект спецификации Web Forms 2.0. Семинар завершился голосованием — 8 за, 14 против — за продолжение работы над HTML. [14] Сразу после семинара была сформирована WHATWG для начала работы на основе этого позиционного документа, а также был анонсирован второй проект, Web Applications 1.0. [15] Позднее эти две спецификации были объединены в HTML5. [16] Спецификация HTML5 была принята в качестве отправной точки работы новой рабочей группы HTML W3C в 2007 году.
22 января 2008 года Иэн Хиксон ( Google ) и Дэвид Хайатт ( Apple ) из WHATWG подготовили первый публичный рабочий проект спецификации W3C. [2]
Многие веб-браузеры, выпущенные после 2009 года, поддерживают HTML5, включая Google Chrome 3.0, Safari 3.1, Firefox 3.5 , Opera 10.5, Internet Explorer 9 и более поздние версии.
Хотя некоторые функции HTML5 часто сравнивают с Adobe Flash , эти две технологии очень разные. Обе включают функции для воспроизведения аудио и видео на веб-страницах, а также для использования масштабируемой векторной графики . Однако HTML5 сам по себе не может использоваться для анимации или интерактивности — его необходимо дополнять CSS3 или JavaScript . Существует множество возможностей Flash, которые не имеют прямого аналога в HTML5 (см. Сравнение HTML5 и Flash ). Интерактивные возможности HTML5 стали темой внимания основных СМИ примерно в апреле 2010 года [17] [18] [19] [20] после того, как тогдашний генеральный директор Apple Inc. Стив Джобс опубликовал публичное письмо под названием «Мысли о Flash», в котором он пришел к выводу, что «Flash больше не нужен для просмотра видео или потребления любого вида веб-контента» и что «новые открытые стандарты, созданные в мобильную эпоху, такие как HTML5, победят». [21] Это вызвало дебаты в кругах веб-разработчиков, предполагающих, что, хотя HTML5 обеспечивает расширенную функциональность, разработчики должны учитывать различную поддержку браузерами различных частей стандарта, а также другие различия в функциональности между HTML5 и Flash. [22] В начале ноября 2011 года Adobe объявила, что прекратит разработку Flash для мобильных устройств и переориентирует свои усилия на разработку инструментов с использованием HTML5. [23] 25 июля 2017 года Adobe объявила, что и распространение, и поддержка Flash прекратятся к концу 2020 года. [24] Сама Adobe официально прекратила поддержку Flash 31 декабря 2020 года, и с 12 января 2021 года весь Flash-контент был заблокирован для запуска в Flash Player. [25]
14 февраля 2011 года W3C расширила устав своей рабочей группы HTML с четкими вехами для HTML5. В мае 2011 года рабочая группа перевела HTML5 в «последний звонок», приглашая сообщества внутри и за пределами W3C подтвердить техническую обоснованность спецификации. W3C разработала комплексный набор тестов для достижения широкой совместимости для полной спецификации к 2014 году, который был целевой датой для рекомендации. [26] В январе 2011 года WHATWG переименовала свою спецификацию «HTML5» в HTML Living Standard . Тем не менее W3C продолжила свой проект по выпуску HTML5. [27]
В июле 2012 года WHATWG и W3C приняли решение о степени разделения. W3C продолжит работу над спецификацией HTML5, сосредоточившись на едином окончательном стандарте, который WHATWG считает «моментальным снимком». Организация WHATWG продолжает свою работу с HTML5 как «живым стандартом». Концепция живого стандарта заключается в том, что он никогда не бывает полным и постоянно обновляется и улучшается. Могут быть добавлены новые функции, но функциональность не будет удалена. [28]
В декабре 2012 года W3C обозначил HTML5 как Кандидата в Рекомендации. [29] Критерием для продвижения к Рекомендациям W3C являются «две 100% полные и полностью совместимые реализации». [30]
16 сентября 2014 года W3C переместил HTML5 в категорию «Предлагаемые рекомендации». [31] 28 октября 2014 года HTML5 был выпущен в качестве Рекомендации W3C, [32] завершив процесс спецификации. [5] 1 ноября 2016 года HTML 5.1 был выпущен в качестве Рекомендации W3C. [33] 14 декабря 2017 года HTML 5.2 был выпущен в качестве Рекомендации W3C. [34]
W3C прекратил поддержку HTML5 27 марта 2018 года. [35] Кроме того, прекращение поддержки коснулось HTML 4.0, [36] HTML 4.01, [37] XHTML 1.0, [38] и XHTML 1.1. [39] HTML 5.1, HTML 5.2 и HTML 5.3 были прекращены 28 января 2021 года в пользу стандарта HTML living. [40] [41]
Объединенные сроки рекомендаций W3C HTML5, HTML 5.1, HTML 5.2 и HTML 5.3:
W3C передал полномочия по стандартам HTML и DOM группе WHATWG 28 мая 2019 года, поскольку посчитал, что наличие двух стандартов вредно. [47] [48] [49] [4] HTML Living Standard теперь является авторитетным. Однако W3C по-прежнему будет участвовать в процессе разработки HTML.
До передачи полномочий W3C и WHATWG характеризовались как работающие вместе над разработкой HTML5, [11] и в то же время находящиеся в противоречии [28] [5] с момента раскола в июле 2012 года. Стандарт W3C "HTML5" был основан на снимках (HTML5, HTML 5.1 и т. д.) и был статичным, в то время как "живой стандарт HTML" WHATWG постоянно обновлялся. Отношения описывались как "хрупкие", даже "разногласия", [50] и характеризовались "склоками". [5]
По крайней мере в одном случае, а именно в отношении допустимого содержания элемента , две спецификации прямо противоречили друг другу (по состоянию на июль 2018 г.), при этом определение W3C допускало более широкий спектр использования, чем определение WHATWG. [51] [52]<cite>
[обновлять]
Раздел «Введение» в спецификации WHATWG (отредактированный Яном «Хикси» Хиксоном ) критикует W3C, например: « Примечание: хотя мы и просили их прекратить это делать, W3C также переиздает некоторые части этой спецификации в качестве отдельных документов». В подразделе «История» он изображает W3C как сопротивляющуюся первоначальным планам Хиксона и WHATWG по HTML5, а затем запоздало присоединившуюся к ним (хотя Хиксон также контролировал спецификацию W3C HTML5). Независимо от этого, это указывает на серьезный философский разрыв между организациями: [53]
В течение нескольких лет обе группы работали вместе. Однако в 2011 году группы пришли к выводу, что у них разные цели: W3C хотел опубликовать «законченную» версию «HTML5», в то время как WHATWG хотел продолжить работу над Живым Стандартом для HTML, постоянно поддерживая спецификацию, а не замораживая ее в состоянии с известными проблемами, и добавляя новые функции по мере необходимости для развития платформы.
С тех пор WHATWG работала над этой спецификацией (помимо прочих), а W3C копировала исправления, внесенные WHATWG, в свою версию документа (в которой также есть и другие изменения).
28 мая 2019 года обе организации подписали соглашение о совместной работе над единой версией HTML. [54]
Помимо противоречия в упомянутом выше элементе, по состоянию на сентябрь 2018 года между двумя стандартами имеются, по крайней мере, следующие различия :<cite>
[обновлять]
В следующей таблице приведены данные Mozilla Development Network о совместимости с основными браузерами по состоянию на сентябрь 2018 года [обновлять]элементов HTML, уникальных для одного из стандартов:
W3C предложил больше полагаться на модульность как ключевую часть плана для достижения более быстрого прогресса, что означает определение конкретных функций, либо предлагаемых, либо уже существующих в спецификации, и продвижение их в качестве отдельных спецификаций. Некоторые технологии, которые изначально были определены в самом HTML5, теперь определены в отдельных спецификациях:
Некоторые функции, которые были удалены из исходной спецификации HTML5, были стандартизированы отдельно как модули, такие как Microdata и Canvas . Технические спецификации, представленные как расширения HTML5, такие как разметка Polyglot, также были стандартизированы как модули. Некоторые спецификации W3C, которые изначально были отдельными спецификациями, были адаптированы как расширения или функции HTML5, такие как SVG . Некоторые функции, которые могли замедлить стандартизацию HTML5, были или будут стандартизированы как будущие спецификации.
HTML5 вводит элементы и атрибуты , которые отражают типичное использование на современных веб-сайтах. Некоторые из них являются семантическими заменами для обычных видов использования общих блочных ( <div>
) и встроенных ( <span>
) элементов, например <nav>
(блок навигации веб-сайта), <footer>
(обычно ссылается на нижнюю часть веб-страницы или на последние строки HTML-кода), или <audio>
и <video>
вместо <object>
. [92] [93] [94]
Некоторые устаревшие элементы из HTML 4.01 были удалены, включая чисто презентационные элементы, такие как <font>
и <center>
, эффекты которых давно были заменены более эффективными каскадными таблицами стилей . [95] Также вновь подчеркивается важность клиентского JavaScript, используемого для создания динамических веб-страниц . [ необходима цитата ]
Синтаксис HTML5 больше не основан на SGML [96] [97], несмотря на схожесть его разметки. Однако он был разработан для обеспечения обратной совместимости с общим анализом старых версий HTML. Он поставляется с новой вводной строкой, которая выглядит как объявление типа документа SGML , которая запускает режим рендеринга,<!DOCTYPE html>
соответствующий стандартам . [98]
С 5 января 2009 года HTML5 также включает Web Forms 2.0 , ранее отдельную спецификацию WHATWG . [99] [100]
В дополнение к указанию разметки, HTML5 определяет интерфейсы программирования приложений (API) для сценариев, которые могут использоваться с JavaScript . [102] Существующие интерфейсы Document Object Model (DOM) расширены и де-факто задокументированы. Также есть новые API, такие как:
Не все из вышеперечисленных технологий включены в спецификацию W3C HTML5, хотя они есть в спецификации WHATWG HTML. [114] Некоторые связанные технологии, которые не являются частью ни спецификации W3C HTML5, ни спецификации WHATWG HTML, перечислены ниже. W3C публикует спецификации для них отдельно:
HTML5 не может обеспечить анимацию на веб-страницах. Для анимации элементов HTML необходимы дополнительные JavaScript или CSS3 . Анимация также возможна с использованием JavaScript и HTML 4 [125] [ неудачная проверка ] и внутри элементов SVG через SMIL , хотя поддержка браузерами последнего остается неравномерной по состоянию на 2011 год [обновлять].
XML-документы должны обслуживаться с помощью XML Internet media type (часто называемого « MIME type»), например , application/xhtml+xml
или application/xml
, [102] и должны соответствовать строгому, правильно сформированному синтаксису XML. XHTML5 — это просто сериализованные в XML данные HTML5 (то есть HTML5, ограниченный строгими требованиями XHTML, например, не имеющий никаких незакрытых тегов), отправленные с помощью одного из XML media types. HTML, который был написан в соответствии со спецификациями HTML и XHTML и, следовательно, создает одно и то же дерево DOM, независимо от того, анализируется ли он как HTML или XML, называется полиглот-разметкой . [126]
Для XHTML5 не существует DTD. [127]
HTML5 разработан таким образом, чтобы старые браузеры могли безопасно игнорировать новые конструкции HTML5. [8] В отличие от HTML 4.01, спецификация HTML5 дает подробные правила для лексического анализа и парсинга , с намерением, что совместимые браузеры будут выдавать те же результаты при парсинге неправильного синтаксиса. [128] Хотя HTML5 теперь определяет последовательное поведение для документов « тегового супа », эти документы не соответствуют стандарту HTML5. [128]
Согласно отчету, опубликованному 30 сентября 2011 года, 34 из 100 крупнейших веб-сайтов мира использовали HTML5 — внедрение было инициировано поисковыми системами и социальными сетями . [129] Другой отчет, опубликованный в августе 2013 года, показал, что 153 из 500 крупнейших американских компаний внедрили HTML5 на своих корпоративных веб-сайтах. [130]
С 2014 года HTML5, по крайней мере частично, поддерживается большинством популярных движков верстки.
Ниже приведен краткий список различий и некоторые конкретные примеры.
text/html
article
, aside
, audio
, bdi
, canvas
, command
, data
, datalist
, , , , , , , , , , , , , , , details
, , , , , , , , ,embed
figcaption
figure
footer
header
keygen
mark
meter
nav
output
progress
rp
rt
ruby
section
source
summary
time
track
video
wbr
dates and times
, email
, url
, search
, number
, range
, tel
, color
[131]charset
(on meta
), async
(on script
)id
, tabindex
, hidden
, data-*
(пользовательские атрибуты данных)acronym
, applet
, basefont
, big
, center
, dir
, , font
, frame
, frameset
, isindex
, noframes
, strike
,tt
Рабочая группа W3C публикует «Отличия HTML5 от HTML 4» [132] , в котором представлен полный обзор дополнений, удалений и изменений между HTML5 и HTML4.
18 января 2011 года W3C представил логотип, представляющий использование или интерес к HTML5. В отличие от других значков, выпущенных ранее W3C, он не подразумевает действительность или соответствие определенному стандарту. С 1 апреля 2011 года этот логотип является официальным. [133]
Первоначально представляя его публике, W3C объявил логотип HTML5 «универсальным визуальным идентификатором для широкого набора открытых веб-технологий, включая HTML5, CSS , SVG, WOFF и другие». [134] Некоторые сторонники веб-стандартов, включая The Web Standards Project , раскритиковали это определение «HTML5» как обобщающего термина, указав на размытость терминологии и потенциальную возможность недопонимания. [134] Три дня спустя W3C отреагировал на отзывы сообщества и изменил определение логотипа, исключив перечисление связанных технологий. [135] Затем W3C заявил, что логотип «представляет HTML5, краеугольный камень современных веб-приложений». [133]
Отраслевые игроки, включая BBC , Google, Microsoft , Apple Inc., лоббировали включение Encrypted Media Extensions (EME), [136] [137] [138] [139] [140] формы управления цифровыми правами (DRM), в стандарт HTML5. По состоянию на конец 2012 года и начало 2013 года 27 организаций [141] , включая Free Software Foundation [142], начали кампанию против включения управления цифровыми правами в стандарт HTML5. [143] [144] Однако в конце сентября 2013 года рабочая группа W3C HTML решила, что Encrypted Media Extensions, форма DRM, находится «в сфере действия» и потенциально будет включена в стандарт HTML 5.1. [145] [146] «HTML Living Standard» WHATWG продолжал разрабатываться без предложений с поддержкой DRM. [146]
Ману Спорни, член W3C , сказал, что EME не решит проблему, которую он должен был решить. [147] Оппоненты указывают, что сам EME — это всего лишь архитектура для механизма подключаемого модуля DRM. [148]
Первоначальными инициаторами DRM в HTML5 были Google [149] и Microsoft. [150] Сторонниками также является Adobe. [151] 14 мая 2014 года Mozilla объявила о планах по поддержке EME в Firefox , последнем крупном браузере, избежавшем DRM. [152] [153] Назвав это «трудным и неудобным шагом», Андреас Гал из Mozilla объяснил, что будущие версии Firefox останутся с открытым исходным кодом, но будут поставляться с песочницей, предназначенной для запуска модуля дешифрования контента, разработанного Adobe, [152] позже он был заменен модулем Widevine от Google , который гораздо более широко принят поставщиками контента. Обещая «работать над альтернативными решениями», исполнительный председатель Mozilla Митчелл Бейкер заявил, что отказ от внедрения EME не достиг бы ничего большего, чем убедил бы многих пользователей сменить браузеры. [153] Это решение было осуждено Кори Доктороу и Free Software Foundation . [154] [155]
По состоянию на декабрь 2023 года W3C изменил свое мнение относительно EME , заявив: «Расширения зашифрованных носителей (EME) обеспечивают большую совместимость, лучшую конфиденциальность, безопасность, доступность и пользовательский опыт при просмотре фильмов и телепередач в Интернете». [156]
Хотя он продолжает служить грубым руководством по многим основным функциям HTML, он не предоставляет достаточно информации для создания реализаций, которые взаимодействуют друг с другом и, что более важно, с веб-контентом. То же самое касается XHTML1, который определяет сериализацию XML для HTML4, и DOM Level 2 HTML, который определяет API JavaScript как для HTML, так и для XHTML. HTML заменяет эти документы.
Этот документ устарел.
ли этот логотип W3C "официальным" для HTML5? Да, по состоянию на 1 апреля 2011 г.