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 DOM Level 2. [7]
HTML5 включает подробные модели обработки, способствующие более совместимым реализациям; он расширяет, улучшает и рационализирует разметку, доступную для документов, а также представляет интерфейсы разметки и прикладного программирования (API) для сложных веб-приложений . [8] По тем же причинам HTML5 также является кандидатом на роль кроссплатформенных мобильных приложений, поскольку он включает в себя функции, разработанные с учетом потребностей маломощных устройств.
Включено множество новых синтаксических функций. Для естественного включения и обработки мультимедийного и графического контента были добавлены новые элементы и <video>
; расширяемые разделы изначально реализуются посредством CSS или JavaScript , а не в зависимости от них; Также была добавлена поддержка содержимого масштабируемой векторной графики (SVG) и MathML для математических формул. Для обогащения смыслового содержания документов добавляются новые элементы структуры страницы, такие как , , , , , , и . Были введены новые атрибуты , некоторые элементы и атрибуты были удалены, а другие, такие как , , были изменены, переопределены или стандартизированы. API и объектная модель документа (DOM) теперь являются фундаментальными частями спецификации HTML5, [8] и HTML5 также лучше определяет обработку любых недействительных документов. [9]<audio>
<canvas>
<summary>...</summary>
<details>...</details>
<main>
<section>
<article>
<header>
<footer>
<aside>
<nav>
<figure>
<a>
<cite>
<menu>
Рабочая группа по технологиям веб-гипертекстовых приложений (WHATWG) начала работу над новым стандартом в 2004 году. В то время HTML 4.01 не обновлялся с 2000 года [10] , а Консорциум World Wide Web (W3C) сосредоточил будущие разработки на XHTML. 2.0 . В 2009 году W3C допустил истечение срока действия устава рабочей группы XHTML 2.0 и решил не продлевать его. [11]
Фонд Mozilla и Opera Software представили позиционный документ на семинаре Консорциума World Wide Web в июне 2004 года, [12] сосредоточив внимание на разработке технологий, обратно совместимых с существующими браузерами, [13] включая первоначальный проект спецификации Web Forms 2.0. Семинар завершился голосованием — 8 за, 14 против — за продолжение работы над HTML. [14] Сразу после семинара была сформирована WHATWG, чтобы начать работу на основе этого документа с изложением позиции, а также был анонсирован второй проект, «Веб-приложения 1.0». [15] Позже эти две спецификации были объединены в HTML5. [16] Спецификация HTML5 была принята в качестве отправной точки работы новой рабочей группы HTML W3C в 2007 году.
Ян Хиксон из WHATWG ( Google ) и Дэвид Хаятт ( Apple ) подготовили первый общедоступный рабочий проект спецификации W3C 22 января 2008 года. [2]
Хотя некоторые функции 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 года, а запуск всего Flash-контента в Flash Player был заблокирован, поскольку от 12 января 2021 г. [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. [40] [41]
Объединенные сроки рекомендаций W3C по HTML5, HTML 5.1, HTML 5.2 и HTML 5.3:
28 мая 2019 года W3C передал полномочия над стандартами HTML и DOM WHATWG, поскольку считал, что наличие двух стандартов вредно. [47] [48] [49] [4] HTML «Уровень жизни» теперь является авторитетным. Однако 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 как противостоящую первоначальным планам Hickson и WHATWG по HTML5, а затем с опозданием вступающую в эту тенденцию (хотя Хиксон также контролировал спецификацию W3C HTML5). Тем не менее, это указывает на серьезный философский разрыв между организациями: [53]
Затем в течение ряда лет обе группы работали вместе. Однако в 2011 году группы пришли к выводу, что у них разные цели: W3C хотел опубликовать «законченную» версию «HTML5», а WHATWG хотела продолжить работу над «Живым стандартом» для HTML, постоянно поддерживая спецификацию. вместо того, чтобы замораживать ее в состоянии с известными проблемами и добавлять новые функции по мере необходимости для развития платформы.
С тех пор WHATWG работала над этой спецификацией (помимо других), а W3C копировал исправления, сделанные WHATWG, в свою версию документа (которая также содержит и другие изменения).
Две организации подписали соглашение о совместной работе над единой версией HTML 28 мая 2019 года. [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>
and <video>
вместо <object>
. [91] [92] [93]
Некоторые устаревшие элементы из HTML 4.01 были удалены, включая чисто презентационные элементы, такие как <font>
и <center>
, эффекты которых уже давно заменены более функциональными каскадными таблицами стилей . [94] Также вновь уделяется внимание важности клиентского JavaScript, используемого для создания динамических веб-страниц . [ нужна цитата ]
Синтаксис HTML5 больше не основан на SGML [95] [96] , несмотря на сходство его разметки. Однако он был разработан с учетом обратной совместимости с обычным анализом старых версий HTML. Он поставляется с новой вводной строкой, которая выглядит как объявление типа документа SGML , которая запускает режим рендеринга<!DOCTYPE html>
, соответствующий стандартам . [97]
С 5 января 2009 года HTML5 также включает в себя Web Forms 2.0 , ранее отдельную спецификацию WHATWG . [98] [99]
Помимо определения разметки, HTML5 определяет программные интерфейсы приложений (API) для сценариев, которые можно использовать с JavaScript . [101] Существующие интерфейсы объектной модели документа (DOM) расширены, а функции де-факто документированы. Есть также новые API, такие как:
Не все из вышеперечисленных технологий включены в спецификацию W3C HTML5, хотя они входят в спецификацию HTML WHATWG. [113] Ниже приведены некоторые связанные технологии, которые не являются частью спецификации HTML5 W3C или HTML WHATWG. W3C публикует спецификации для них отдельно:
HTML5 не может обеспечить анимацию на веб-страницах. Для анимации HTML-элементов необходим дополнительный JavaScript или CSS3 . Анимация также возможна с использованием JavaScript и HTML 4 [124] [ не удалось проверить ] , а также внутри элементов SVG через SMIL , хотя поддержка последнего браузером остается неравномерной по состоянию на 2011 год [обновлять].
Документы XML должны обслуживаться с типом Интернет-носителей XML (часто называемым « типом MIME »), таким как application/xhtml+xml
или application/xml
, [101] и должны соответствовать строгому, правильному синтаксису XML. XHTML5 — это просто данные HTML5, сериализованные в формате XML (то есть HTML5, ограниченные строгими требованиями XHTML, например, не имеющие незакрытых тегов), отправленные с одним из типов мультимедиа XML. HTML, который был написан в соответствии со спецификациями HTML и XHTML и, следовательно, создает одно и то же дерево DOM, независимо от того, анализируется ли он как HTML или XML, известен как многоязычная разметка . [125]
Для XHTML5 не существует DTD. [126]
HTML5 спроектирован таким образом, что старые браузеры могут безопасно игнорировать новые конструкции HTML5. [8] В отличие от HTML 4.01, спецификация HTML5 дает подробные правила лексического анализа и синтаксического анализа с намерением, чтобы совместимые браузеры давали одинаковые результаты при анализе неправильного синтаксиса. [127] Хотя HTML5 теперь определяет согласованное поведение для документов « супа тегов », эти документы не соответствуют стандарту HTML5. [127]
Согласно отчету, опубликованному 30 сентября 2011 года, 34 из 100 крупнейших веб-сайтов мира использовали HTML5 – внедрение, возглавляемое поисковыми системами и социальными сетями . [128] Другой отчет, опубликованный в августе 2013 года, показал, что 153 из компаний из списка Fortune 500 в США внедрили HTML5 на своих корпоративных веб-сайтах. [129]
С 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
[130]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» [131] , в которой представлен полный обзор дополнений, удалений и изменений между HTML5 и HTML4.
18 января 2011 года W3C представил логотип, обозначающий использование HTML5 или интерес к нему. В отличие от других значков, ранее выпускавшихся W3C, он не подразумевает действительности или соответствия определенному стандарту. С 1 апреля 2011 года этот логотип является официальным. [132]
Первоначально представляя его публике, W3C объявил логотип HTML5 как «визуальную идентичность общего назначения для широкого набора открытых веб-технологий, включая HTML5, CSS , SVG, WOFF и другие». [133] Некоторые сторонники веб-стандартов, в том числе The Web Standards Project , раскритиковали определение «HTML5» как обобщающего термина, указав на размытие терминологии и возможность недопонимания. [133] Три дня спустя W3C отреагировал на отзывы сообщества и изменил определение логотипа, исключив перечисление связанных технологий. [134] Затем в W3C заявили, что логотип «представляет собой HTML5, краеугольный камень современных веб-приложений». [132]
Игроки отрасли, включая BBC , Google, Microsoft , Apple Inc. , лоббируют включение Encrypted Media Extensions (EME), [135] [136] [137] [138] [139] формы управления цифровыми правами (DRM). ), в стандарт HTML5. По состоянию на конец 2012 — начало 2013 года 27 организаций [140] , включая Free Software Foundation [141], начали кампанию против включения управления цифровыми правами в стандарт HTML5. [142] [143] Однако в конце сентября 2013 года рабочая группа W3C по HTML решила, что Encrypted Media Extensions, форма DRM, находится «в области применения» и потенциально будет включена в стандарт HTML 5.1. [144] [145] «Уровень жизни HTML» WHATWG продолжал разрабатываться без предложений с поддержкой DRM. [145]
Ману Спорни, член W3C , заявил, что EME не решит проблему, которую он должен был решить. [146] Оппоненты отмечают, что EME сам по себе представляет собой всего лишь архитектуру подключаемого механизма DRM. [147]
Первыми, кто реализовал DRM в HTML5, были Google [148] и Microsoft. [149] В число сторонников также входит компания Adobe. [150] 14 мая 2014 года Mozilla объявила о планах поддержки EME в Firefox , последнем крупном браузере, не использующем DRM. [151] [152] Назвав это «трудным и неудобным шагом», Андреас Гал из Mozilla объяснил, что будущие версии Firefox останутся с открытым исходным кодом, но будут поставляться с песочницей, предназначенной для запуска модуля расшифровки контента, разработанного Adobe [151] позже. он был заменен модулем Widevine от Google , который гораздо более широко применяется поставщиками контента. Пообещав «работать над альтернативными решениями», исполнительный председатель Mozilla Митчелл Бейкер заявил, что отказ от внедрения EME приведет лишь к убеждению многих пользователей сменить браузер. [152] Это решение было осуждено Кори Доктороу и Фондом свободного программного обеспечения . [153] [154]
По состоянию на декабрь 2023 года W3C изменил свое мнение об EME , заявив: «Encrypted Media Extensions (EME) обеспечивает большую совместимость, лучшую конфиденциальность, безопасность, доступность и удобство для пользователей при просмотре фильмов и телепередач в Интернете». [155]
HTML4 стал рекомендацией W3C в 1997 году. Хотя он продолжает служить приблизительным руководством по многим основным функциям HTML, он не предоставляет достаточно информации для создания реализаций, взаимодействующих друг с другом и, что более важно, с веб-контентом.
То же самое касается XHTML1, который определяет сериализацию XML для HTML4, и HTML уровня 2 DOM, который определяет API-интерфейсы JavaScript как для HTML, так и для XHTML.
HTML заменяет эти документы.
Этот документ устарел.
Это «официальный» логотип W3C для HTML5?
Да, с 1 апреля 2011 г.