Отличия HTML5 от HTML4
Рабочий Черновик W3C от 25 Мая 2011
- Эта версия:
- http://www.w3.org/TR/2011/WD-html5-diff-20110525/
- Последняя опубликованная версия:
- http://www.w3.org/TR/html5-diff/
- Последний черновик от редактора:
- http://dev.w3.org/html5/html4-differences/
- Предыдущие версии:
- http://www.w3.org/TR/2011/WD-html5-diff-20110405/
- http://www.w3.org/TR/2011/WD-html5-diff-20110113/
- http://www.w3.org/TR/2010/WD-html5-diff-20101019/
- http://www.w3.org/TR/2010/WD-html5-diff-20100624/
- http://www.w3.org/TR/2010/WD-html5-diff-20100304/
- http://www.w3.org/TR/2009/WD-html5-diff-20090825/
- http://www.w3.org/TR/2009/WD-html5-diff-20090423/
- http://www.w3.org/TR/2009/WD-html5-diff-20090212/
- http://www.w3.org/TR/2008/WD-html5-diff-20080610/
- http://www.w3.org/TR/2008/WD-html5-diff-20080122/
- Редакторы:
- Anne van Kesteren (Opera Software ASA) <annevk@opera.com>
- Simon Pieters (Opera Software ASA) <simonp@opera.com>
Copyright © 2011 W3C® (MIT, ERCIM, Keio), Все права защищены. W3C liability, trademark and document use rules apply.
Аннотация
HTML5 это пятый серьезный пересмотр основ языка всемирной паутины, HTML. "Отличия HTML5 от HTML4" описывает различия между HTML4 и HTML5 и предоставляет некоторые разумные объяснения изменениям. Этот документ не может предоставить точную информацию, так как HTML5 еще развивается. Если вы сомневаетесь, всегда сами проверяйте спецификации HTML5. [HTML5]
Статус этого документа
Этот раздел описывает статус этого документа во время его публикации. Другие документы могут заменить этот документ. Список текущих публикаций W3C и последняя поправка этого документа могут быть найдены по ссылке в W3C technical reports index at http://www.w3.org/TR/.
Это версия документа от 25 Мая 2011 W3C Working Draft, который сделан Рабочей Группой - HTML Working Group, которые входят в официальную команду HTML Activity. . Рабочая Группа хочет публиковать этот документ в качестве заметок Working Group Note в качестве дополнения к спецификациям HTML5 . Свои комментарии пишите на W3C Bugzilla. Или, отправляйте комментарии public-html-comments@w3.org (subscribe, archives) and arrangements will be made to transpose the comments to the bug database.
Публикация Рабочего Черновика не означает одобрение со стороны W3C. Этот документ может обновляться, заменяться или устареть в любое время. Неуместно ссылаться на этот документ, как и на любую другую незаконченную работу.
Этот документ был создан группой, работающей по патенту от 5 Февраля 2004 года 5 February 2004 W3C Patent Policy. W3C ведет общедоступный список любых раскрытий патентов сделанных в связи с результатами деятельности группы; на той странице также представлена инструкция по раскрытию патента. Знающие и разюирающиеся в патенте могут оставлть Существенную(-ые) Претензию(-ии) раскрывая информацию в соответсвии с разделом 6 W3C Patent Policy.
Содержание
- 1. Вступление
- 2. Синтаксис
- 3. Язык
- 4. API
- 5. Лог изменений HTML5
- 5.1. Изменения на 5 Апреля 2011
- 5.2. Изменения от 13 Января 2011 по 5 Апреля 2011
- 5.3. Изменения от 19 Октября 2010 to 13 Января 2011
- 5.4. Изменения от 24 Июня 2010 по 19 Октября 2010
- 5.5. Изменения с 4 Марта 2010 до 24 Июня 2010
- 5.4. Изменения с 25 Августа 2009 до 4 Марта 2010
- 5.7. Изменения с 23 Апреля 2009 до 25 Августа 2009
- 5.8. Изменения с 12 Февраля 2009 до 23 Апреля 2009
- 5.9. Изменения с 10 Июня 2008 до 12 Февраля 2009
- 5.10. Изменения с 22 Января 2008 до 10 Июня 2008
- Благодарности
- Ссылки
1. Вступление
HTML постоянно развивается со времени его первого появления в Интернете в начале 90х. Некоторые функции были введены в спецификации; другие были введены в релизах ПО. В некоторых отношениях, реализация и практика авторов переплелись друг с другом, а также со спецификациями и стандартами, но в то же время, они продолжают расходиться.
HTML4 рекомендуется W3C с 1997 года. Хотя он продолжает служить в качестве приблизительного ориентира для многих основных особенностей HTML, он не дает достаточно информации, чтобы построить реализации, которые взаимодействуют друг с другом и, что более важно, с критической массой развернутого содержания. То же самое касается и XHTML1, который определяет XML сериализацию для HTML4, и DOM Level 2 HTML, который определяет JavaScript API-интерфейсы для HTML и XHTML. HTML5 заменит эти документы. [DOM2HTML] [HTML4] [XHTML1]
Проектная версия HTML5 отражает все усилия, предпринятые с 2004 года, по изучению современных реализаций HTML и улучшенному содержанию. Проект:
- Является единым языком и называется HTML5, который может быть написан в HTML синтаксисе и в XML синтаксисе.
- Представляет детализированные модели обработки, что способствует совместимости реализаций.
- Улучшенная разметка документов.
- Представляет разметку и API-интерфейс для появляющихся идиом, таких как Веб-приложения.
1.1. Открытые вопросы
HTML5 все еще является черновиком. Содержание HTML5, также как и содержание текущего документа, зависящего от HTML5, до сих пор обсуждаются в Рабочей Группе HTML и рассылках WHATWG. Открытые вопросы связаны с проектом HTML5.
1.2. Обратная Совместимость
HTML5 определен таким образом, что он имеет обратную совместимость с тем, как агенты пользователей обращаются с развернутым содержанием. Чтобы сохранить язык авторства как можно более простым для авторов, несколько элементов и атрибутов не были включены (как указано в других разделах этого документа), такие презентационные элементы, которые лучше решать с использованием CSS.
Агенты пользователей, однако, всегда будет поддерживать эти устаревшие элементы и атрибуты, и именно поэтому спецификации HTML5 четко разделяют требования для авторов и пользовательских агентов. Например, это означает, что авторы не могут использовать isindex или элемент plaintext, но агенты пользователей должны поддерживать их, чтобы они были совместимы с тем, как эти элементы должны вести себя по совместимости с развернутым содержанием.
Так как HTML5 имеет отдельные требования соответствия для авторов и пользовательских агентов, больше нет необходимости для маркировки функций как "устаревшие".
1.3. Модель развития
Спецификация HTML5 не будет считаться завершенной до тех пор, пока не будут полностью закончены два отдельных внедрения этой спецификации. Будет проведено несколько тестов, чтобы оценить полноту реализации. Такой подход отличается от предыдущих версий HTML, где окончательная спецификация, как правило, утверждалась комитетом раньше, чем на самом деле была внедрена. Цель этого изменения заключается в предоставлении спецификации только тогда, когда ее уже можно будет внедрить, а также чтобы она была полезна авторам, как только будет закончена.
2. Синтаксис
HTML5 определяется как синтаксис HTML, совместимый с документами HTML4 и XHTML1, опубликованными в Интернете, но не совместимый с более эзотерическими функциями SGML из HTML4, такими как инструкции по обработке (processing
instructions) и сокращение разметки (shorthand
markup), так как они не поддерживаются большинством браузеров. Документы, использующие синтаксис HTML, почти всегда подаются с медиа-типом text/html.
HTML5 также определяет детальные правила парсинга (в том числе и "обработку ошибок") для этого синтаксиса, которые в значительной степени совместимы с современными реализациями. Агенты пользователей должны использовать эти правила для ресурсов, у которых есть медиа-тип
text/html. Вот пример документа, который соответствует синтаксису HTML:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Пример документа</title>
</head>
<body>
<p>Пример абзаца</p>
</body>
</html>
HTML5 также определяет медиа-тип text/html-sandboxed для
документов, использующих синтаксис HTML. Это можно использовать при хранении недоверенного
контента.
Другой синтаксис, который можно использовать в HTML5 это XML. Этот синтаксис
совместим с документами и внедрениями XHTML1. Документы, использующие этот
синтаксис должны иметь XML медиа тип и все элементы нужно
помещать в пространство имен http://www.w3.org/1999/xhtml и следовать
правилам, установленным спецификациями XML. [XML]
Ниже представлен пример документа, который использует синтаксис XML в HTML5.
Обратите внимание, что документы XML должны иметь XML тип медиа, такой как
application/xhtml+xml или application/xml.
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Пример документа</title>
</head>
<body>
<p>Пример абзаца</p>
</body>
</html>
2.1. Кодировка символов
Для HTML синтаксиса HTML5 у авторов есть 3 способа указать кодировку символов:
- На транспортном уровне. Используя, к примеру, заголовок HTTP
Content-Type. - Использование символа Unicode Byte Order Mark (BOM) в начале файла. Этот символ указывает какая кодировка будет использоваться во всем документе.
- Используя элемент
metaс атрибутомcharset, который указывает кодировку в первых 1024 байтах документа. Например,<meta charset="UTF-8">можно использовать, чтобы указать кодировку UTF-8. Эта строка заменяет<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">хотя по синтаксису она все еще разрешена.
Для XML синтаксиса при указании кодировки авторам нужно следовать правилам, указанным в спецификации XML.
2.2. DOCTYPE
Для HTML синтаксиса HTML5 требуется указать DOCTYPE, чтобы убедиться, что браузер рендерит страницу по установленным стандартам. У DOCTYPE нет другого назначения; для XML он является необязательным. Документы с XML типом медиа всегда обрабатываются в стандартном режиме. [DOCTYPE]
Указывать DOCTYPE следует так: <!DOCTYPE html> - этот способ чувствителен к регистру в синтаксисе HTML. DOCTYPE в более ранних версиях HTML были длиннее, потому что язык HTML был основан на SGML и поэтому ему требовалась ссылка на DTD. HTML5 больше не использует подобное и DOCTYPE нужен только чтобы включить стандартный режим для документов, написанных с применением синтаксиса HTML. Браузеры уже делают так, используя <!DOCTYPE
html>.
2.3. MathML и SVG
HTML синтаксис HTML5 позволяет использовать элементы MathML и SVG в документе. Например, очень простой документ, использующий минимальный синтаксис, может выглядеть так:
<!doctype html>
<title>SVG в text/html</title>
<p>
Зеленый круг:
<svg> <circle r="50" cx="50" cy="50" fill="green"/> </svg>
</p>
Возможны также и более сложные комбинации. Например, используя элемент SVG foreignObject вы можете разместить MathML, HTML, или оба внутри фрагмента SVG, который сам находится в HTML.
2.4. Разное
Есть еще несколько изменений в синтаксисе, о которых стоит упомянуть:
- В HTML теперь есть поддержка IRI, хотя они могут быть полностью использованы только если кодировка документа - UTF-8 или UTF-16.
- Атрибут lang занимает пустую строку в дополнение к действующему идентификатору языка, в точности как делает
xml:langв XML.
3. Язык
Эта секция разделена на несколько подсекций, чтобы более детально показать различия между HTML4 и HTML5.
3.1. Новые элементы
Были введены следующие элементы для улучшенной структуры:
-
sectionпредставляет собой общий документ или приложение в разделе. Его можно использовать вместе сh1,h2,h3,h4,h5иh6для указания структуры документа. -
articleпредставляет независимую часть содержимого документа, например как запись в блоге или статья в газете. -
asideпредставляет часть содержания, которая лишь частично связана с остальным содержимым страницы. -
hgroupпредставляет заголовок раздела. -
headerпредоставляет собой группу из вступительных или навигационных средств. -
footerпредставляет подвал раздела и может содержать информацию об авторе, копирайт, итп. -
navпредставляет раздел документа, предназначенный для навигации. -
figureпредставляет часть автономного содержимого, на которую, как правило, ссылаются как единую часть основного документа.<figure> <video src="example.webm" controls></video> <figcaption>Пример</figcaption> </figure>figcaptionможно использовать как надпись (это необязательно).
Есть еще несколько новых элементов:
-
videoиaudioдля мультимедийного содержимого. Оба предоставляют API поэтому авторы приложений могут написать собственный интерфейс пользователя, но всегда есть способ запустить пользовательский интерфейс, предоставляемый браузером. Элементыsourceиспользуются вместе с этими элементами, если доступно несколько потоков различного типа. -
trackprovides text tracks for thevideoelement. -
embedиспользуется для содержимого плагина. -
markпредставляет область текста в едином документе, которая была выделена или отмечена для справочных целей, так как актуальна и в другом контексте. -
progressпредставляет завершение задачи, такой как скачивание или выполнение ряда последовательных операций. -
meterпредставляет измерения, например использование дискового пространства. -
timeпредставляет дату и/или время. -
bdiпредставляет фрагмент текста, который должен быть изолирован с целью двустороннего форматирования текста. -
wbrпредставляет возможность написания текста с новой строки. -
canvasиспользуется для преобразования динамической растровой графики «на лету», как например в играх или графиках. -
commandпредставляет команды, которые может вызывать пользователь. -
detailsпредставляет дополнительную информацию или контроллеры, которые пользователь может получить по запросу. Элемент summary представляет его краткое содержание, легенду или подпись. -
datalistвместе с новым атрибутомlistдляinputмогут быть использованы для создания выпадающих списков:<input list="browsers"> <datalist id="browsers"> <option value="Safari"> <option value="Internet Explorer"> <option value="Opera"> <option value="Firefox"> </datalist> -
keygenпредставляет контроллер для генерации ключевой пары. -
outputпредставляет некоторый тип выводы, как например вывод информации из подсчета, сделанного посредством скрипта.
Атрибут type элемента input теперь имеет следующие новые значения:
Идея относительно этих новых типов состоит в том, что пользовательский агент может обеспечить интерфейс для таких объектов как выбор даты в календаре или интеграция с адресной книгой пользователя, и отправить серверу данные в определенном формате. Это дает определенные преимущества пользователям, так как вся веденная информация проверяется перед отправкой на сервер. Это означает, что требуется гораздо меньше времени для ожидания ответа.
3.2. Новые атрибуты
HTML 5 вводит несколько новых атрибутов для элементов, которые уже входили в HTML 4:
-
Элементы
aиareaполучили новый атрибутmediaдля согласованности с элементомlink. -
У элемента
area, для согласованности с элементамиaиlinkтеперь тоже есть атрибутыhreflang,typeиrel. -
У элемента
baseтеперь может иметься также атрибутtarget, в основном для согласованности с элементомa. (Это уже широко поддерживается). -
The
metaelement has acharsetattribute now as this was already widely supported and provides a nice way to specify the character encoding for the document. -
Новый атрибут
autofocusможет быть указан в элементахinput(кроме тех случаев, когда атрибутtypeявляетсяhidden),select,textareaи button. Он представляет декларативный способ сосредоточиться на контроле формы во время загрузки страницы. Использование этой функции должно улучшить впечатление пользователей от пребывания на странице, так как ее можно будет отключить, если, к примеру, она не нравится пользователю. -
Новый атрибут
placeholderможет быть указан в элементахinputиtextarea. Тут указываются подсказки, которые помогут пользователям при вводе информации.<input type=email placeholder="a@b.com"> -
Новый атрибут
formдляinput,output,select,textarea,button,label,objectandfieldsetпозволяет привязывать контроллеры к форме. Т.е. эти элементы теперь можно разместить где угодно на странице, не только в элементformэлементе, and still be associated with aform.<label>Email: <input type=email form=foo name=email> </label> <form id=foo></form> -
Новый атрибут
requiredотносится кinput(кроме случаев, когда атрибутtypeявляетсяhidden,imageили имеет некоторый тип кнопки, напримерsubmit),selectиtextarea. Он указывает, что пользователю необходимо ввести значение, прежде чем он сможет отправить форму. Forselect, the firstoptionelement has to be a placeholder with an empty value.<label>Color: <select name=color required> <option value="">Choose one <option>Red <option>Green <option>Blue </select></label> -
Элемент
fieldsetelement now allows thedisabledattribute which disables all descendant controls when specified, and thenameattribute which can be used for script access. -
У элемента
inputпоявилось несколько новых атрибутов, чтобы указывать ограничения:autocomplete,min,max,multiple,patternиstep. Как было упомянуто ранее, у него также появился новый атрибутlistкоторый можно использовать вместе с элементомdatalist. It also now has thewidthandheightattributes to specify the dimensions of the image when usingtype=image. -
Элементы
inputиtextareaполучили новый атрибут под названиемdirnameкоторый придает направленность контроллеру, как установлено пользователем. -
У элемента
textareaтакже появились два новых атрибута,maxlengthиwrapwhich control max input length and submitted line wrapping behavior, respectively. -
У элемента
formпоявился атрибутnovalidateкоторый можно использовать для отключения проверки формы перед отправкой (т.е. форму можно будет отправить в любом случае). -
У элементов
inputиbuttonпоявились новые атрибутыformaction,formenctype,formmethod,formnovalidate, иformtarget. Если присутствуют, то они отменяют атрибутыaction,enctype,method,novalidate, иtargetв элементеform. -
Элемент
menuтеперь имеет два новых атрибута:typeиlabel. Они позволяют трансформировать элемент в меню, как в типичном пользовательском интерфейсе, также как и предоставление контекстных меню вместе с глобальным атрибутомcontextmenu. -
У элемента
styleесть новый атрибутscopedwhich can be used to enable scoped style sheets. Правила стиля внутри такого элементаstyleприменяются только к текущей ветке. -
У элемента
scriptпоявился новый атрибут,asyncкоторый влияет на загрузку и выполнение скрипта. -
Элемент
htmlполучил новый атрибут под названиемmanifestкоторый указывает на manifest кэша, используемый вместе с API в для оффлайновых Веб-приложений. -
У элемента
linkпоявился новый атрибут под названиемsizes. Его можно использовать вместе с отношениемicon(устанавливается через атрибутrelможно использовать к примеру для фавиконов) для указания размера иконки. Таким образом, у иконок могут быть определенные размеры. -
У элемента
olпоявился новый атрибут под названиемreversed. Если он присутствует, то указывает что список организован в убывающем порядке. -
Элемент
iframeимеет три новых атрибута под названиемsandbox,seamless, andsrcdocкоторые позволяют использовать такой контент как, к примеру, комментарии в блогах.
Некоторые атрибуты из HTML4 теперь можно применить ко всем элементам. Они называются «глобальные атрибуты»:
accesskey, class,
dir, id, lang, style,
tabindex and title. Additionally, XHTML 1.0 only
allowed xml:space on some elements, which is now allowed on
all elements in XHTML documents.
Также появилось несколько новых глобальных атрибутов:
- Атрибут
contenteditableуказывает, что элемент является редактируемой областью. Пользователь может изменять содержимое элемента и изменять разметку. - Атрибут
contextmenuможет быть использован для указания контекстного меню, предоставленного автором. data-*коллекция атрибутов, указанных автором. Авторы могут определять любой атрибут, если только проставят вначале data- во избежание пересечений с будущими версиями HTML. Единственное требование для таких атрибутов – они не используются для расширения агента пользователя.- Атрибуты
draggableиdropzoneмогут использоваться вместе с новым drag & drop API. - Атрибут
hiddenуказывает, что элемент еще, или уже не уместный. - Атрибуты
roleиaria-*могут быть использованы в качестве помощи вспомогательным технологиям. - Атрибут
spellcheckпозволяет давать подсказки о том, может ли содержимое быть проверено на наличие ошибок или нет.
HTML5 обрабатывает все события также как и атрибуты в HTML4, принимает форму
onevent-name, глобальные атрибуты и добавлет несколько новых атрибутов обработчиков событий для новых событий, которые он определяет. К примеру, событие
play которое используется API для медиа-элементов
(video и audio).
3.3. Измененные элементы
Эти элементы немного изменили свое значение в HTML5, чтобы лучше отражать то, как они используются в Интернете или чтобы быть более полезными:
-
Элемент
aбез атрибутаhrefтеперь представляет собой место, куда могла быть в противном случае помещена ссылка. Он также может содержать поточное содержимое, а не ограничиваться содержанием фраз. -
Элемент
addressв данный момент ограничен новой концепцией разделения на секции. -
Элемент
bтеперь представляет область текста, который должен стилистически отличаться от остального текста без передачи какой-либо дополнительной важности, например, так выделяют ключевые слова в аннотации документа, названия продуктов в обзоре, или другие области текста которые нужно выделить полужирным. -
Элемент
citeтеперь самостоятельно представляет заголовок работы (например, книга, эссе, поэма, песня, скрипт, фильм, изображение, итп.). В частности, пример в HTML4, где этот элемент используется для выделения имени человека – такой способ больше не считается правильным. -
Элемент
dlelement now represents an association list of name-value groups, and is no longer said to be appropriate for dialogue. -
The
headelement no longer allows theobjectelement as child. -
Элемент
hrтеперь представляет тематическую разбивку по абзацам. -
Элемент
iтеперь представляет область текста, означающую отличающийся термин или настроение и др., к примеру, технический термин, фраза на другом языке, название корабля. Текст будет выделен курсивом. Использование может очень сильно различаться в зависимости от языка. -
Для элемента
labelбраузер больше не должен перемещать фокус с названия на сам контроллер, если такое поведение не является стандартным для текущей платформы пользователя. -
Элемент
menuбыл переопределен, чтобы быть полезным для панелей инструментов и контекстных меню. -
Элемент
sтеперь представляет содержимое, которое больше не является на 100% верным или является совсем неверным. -
Элемент
smallтеперь представляет маленький шрифт (например, для комментариев). -
Элемент
strongтеперь означает важность, а не сильный акцент на чем-либо. -
The
uelement now represents a span of text with an unarticulated, though explicitly rendered, non-textual annotation, such as labeling the text as being a proper name in Chinese text (a Chinese proper name mark), or labeling the text as being misspelt.
3.4. Измененные атрибуты
The value attribute for the li element is no
longer deprecated as it is not presentational. The same goes for the
start attribute of the ol element.
The target attribute for the a and
area elements is no longer deprecated, as it is useful in Web
applications, e.g. in conjunction with iframe.
Атрибут type в script и
style больше не требуется, если языком скрипта является ECMAScript и языком стиля - CSS соответственно.
The border attribute on table only allows the
values "1" and the empty string.
Следующие атрибуты разрешены, но авторам не рекомендуется их использовать. Вместо этого мы настоятельно рекомендуем использовать альтернативные решения:
-
Атрибут
borderвimg. Если он присутствует, требуется чтобы он имел значение "0". Вместо этого лучше использовать CSS. -
Атрибут
languageвscript. Если он присутствует, требуется чтобы он имел значение "JavaScript" " (чувствительно к регистру) и он не может конфликтовать с атрибутомtype. Авторы могут просто опустить его, так как это не очень полезная функция. -
Атрибут
nameвa. Вместо этого авторы могут использовать атрибутid. -
Атрибут
summaryвtable. В черновой версии HTML5 указано несколько решений. -
The
widthandheightattributes onimgand other elements are no longer allowed to contain percentages.
3.5. Отмененные элементы
Элементы в этом разделе не для использования авторами. Браузеры все равно должны будут их поддерживать и различные разделы HTML5 указывают как. Например, устаревший элемент isindex обрабатывается секцией парсера.
Следующих элементов нет в HTML5, так как они оказывают только визуальный эффект. Их функции лучше всего можно реализовать посредством CSS:
basefontbigcenterfontstrikett
Следующих элементов нет в HTML5, потому что их использование негативно сказалось на доступности и удобстве:
frameframesetnoframes
The following elements are not included because they have not been used often, created confusion, or their function can be handled by other elements:
acronymне включен, так как он создавал путаницу. Используйтеabbrдля аббревиатур.appletустарел в пользуobject.- Использование
isindexможет быть заменено использованием контроллеров форм. dirустарел в пользуul.
И, наконец, элемент noscript является соответствующим только в синтаксисе HTML. Он не включен в синтаксис XML и его использование основывается на парсере HTML.
3.6. Отмененные атрибуты
Некоторые атрибуты из HTML4 не разрешены в HTML5. Эта спецификация указывает как браузеры должны обрабатывать их в документах, но авторы не должны их использовать – атрибуты не пройдут валидацию.
HTML5 дает совет – что вы можете использовать вместо них:
revиcharsetдля атрибутовlinkиa.shapeиcoordsдляa.longdescдляimgиiframe.targetдляlink.nohrefдляarea.profileдляhead.versionдляhtml.nameдляimg(вместо этого используйтеid).schemeдляmeta.archive,classid,codebase,codetype,declareиstandbyдляobject.valuetypeиtypeдляparam.axisиabbrдляtdиth.scopeдляtd.summaryдляtable.
Дополнительно, в HTML5 нет ни одного презентационного атрибута, которые были в HTML4 , так как такой функционал лучше обрабатывается CSS:
alignдляcaption,iframe,img,input,object,legend,table,hr,div,h1,h2,h3,h4,h5,h6,p,col,colgroup,tbody,td,tfoot,th,theadиtr.alink,link,textиvlinkдляbody.backgroundдляbody.bgcolorдляtable,tr,td,thиbody.borderдляobject.cellpaddingиcellspacingдляtable.charиcharoffдляcol,colgroup,tbody,td,tfoot,th,theadиtr.clearдляbr.compactдляdl,menu,olиul.frameдляtable.frameborderдляiframe.heightдляtdиth.hspaceиvspaceдляimgиobject.marginheightиmarginwidthдляiframe.noshadeдляhr.nowrapдляtdиth.rulesдляtable.scrollingдляiframe.sizeдляhr.typeдляli,olиul.valignдляcol,colgroup,tbody,td,tfoot,th,theadиtr.widthдляhr,table,td,th,col,colgroupиpre.
4. APIs
В HTML5 представлено несколько API, который помогают создавать Веб-приложения. Они могут быть использованы вместе с новыми элементами представленными для приложений:
- API для проигрывания видео и аудио, который можно использовать с новыми элементами
videoиaudio. - API, который позволяет работать с автономными Веб-приложениями.
- API, который позволяет Веб-приложениями регистрироваться на определенные протоколы или типы медиа.
- Редактирование API вместе с новым глобальным атрибутом
contenteditable. - Drag & drop API вместе с новым атрибутом
draggable. - API , который предоставляет историю и позволяет добавлять туда страницы, во избежание неправильной работы кнопки «Назад».
4.1. Расширения для
HTMLDocument
HTML5 расширил интерфейс HTMLDocument с DOM Level 2 HTML несколькими способами. В настоящее время интерфейс реализован на всех объектах, использующих интерфейс Document поэтому он остается значимым и в контексте соединенного документа. У него также есть несколько примечательных новых составляющих:
-
getElementsByClassName()- чтобы выбирать элементы по названию их класса. То, как определен этот метод, позволит ему работать с любым содержимым, имеющим атрибутыclassи объектDocumentк примеру, SVG и MathML. -
innerHTML- в качестве легкого способа парсить и сериализировать документ HTML или XML. Этот атрибут ранее был доступен только вHTMLElementв браузерах и не являлся частью какого-либо стандарта. -
activeElementиhasFocusчтобы определить какой элемент является активным в данный момент и активен лиDocumentсоответственно.
4.2. Расширения для
HTMLElement
Интерфейс HTMLElement также получил несколько расширений в HTML5:
-
getElementsByClassName()который является более специализированной версией найденного наHTMLDocument. -
innerHTMLкак используется сегодня во многих браузерах. Также определено как работать в контексте XML (когда он используется в XML документе). -
classListявляется удобным доступом кclassName. Объект, который он возвращает, предоставляет методы (contains(),add(),remove(), иtoggle()) ()) для манипуляции классами элементов. Элементыa,areaиlinkимеют схожий атрибутrelListкоторый предоставляет такую же функциональность для атрибутаrel.
5. Лог изменений HTML5
В данном разделе представлен лог изменений между публикациями черновых версий HTML5.
Обоснования для изменений могут быть найдены в архивах рассылок
public-html@w3.org
и whatwg@whatwg.org
, а также в серии постов в блогах WHATWG Weekly
. Более детальные обоснования собраны на WHATWG страничке вики - Rationale.
Многие редакторские и мелкие технические изменения не включены в этот
лог. Т.е. разработчикам рекомендуется следовать
основным спецификациям и следить за всеми обновлениями.
Изменения в логе расположены в грубом хронологическом порядке для облегчения редактирования этого документа.
5.1. Изменения после 5 Апреля 2011
- Support for the
javascript:scheme inimg,object, CSS, etc, has been dropped. - The
toBlob()method has been added tocanvas. - The
drawFocusRing()method on thecanvas2d context has been split into two methods,drawSystemFocusRing()anddrawCustomFocusRing(). - The
valuesattribute onPropertyNodeListhas been replaced with agetValues()method. - The
selectevent has been specified. - The
selectDirectionIDL attribute has been added toinputandtextarea. - The
:enabledand:disabledpseudo-classes now matchfieldset, and the:indeterminatepseudo-class can now matchprogress. - The
getKind()method has been added toTrackList. - The
MediaControllerAPI and themediagroupattribute have been added to synchronize playback of media elements. - Some ARIA defaults have changed, and it is now invalid to specify ARIA attributes that match the defaults.
- The
getName()method onTrackListwas renamed togetLabel(). - The
borderattribute ontableis now conforming. - The
uelement is now conforming. - The
summaryattribute ontableis now non-conforming. - The
audioattribute onvideowas changed to a booleanmutedattribute. - The
Content-Languagemeta pragma is now non-conforming.
5.2. Changes from 13 January 2011 to 5 April 2011
- The
pushStateandreplaceStatefeatures have been changed based on implementation feedback in Firefox, andhistory.statehas been introduced. - The
tracksIDL attribute on media elements has been renamed totextTracks. - Event handler content attributes now support ECMAScript strict mode.
- The
forminputandformchangeevents, and thedispatchFormInput()anddispatchFormChange()methods have been dropped. - The
relkeywordsarchives,up,last,index,firstand related synonyms have been dropped. - Removing a media element from the DOM and inserting it again in the same script now doesn't pause the media element.
- The
videoelement's letterboxing rules are now specified in terms of CSS 'object-fit'. - Cross-origin fonts now don't leak information about the font when
drawn on a
canvas. - The character encoding declaration is now allowed to be within the first 1024 bytes instead of the first 512 bytes.
- The
onerrorevent handler onwindowis now invoked for compile-time script errors as well as runtime errors. - Script-inserted
scriptelements now haveasyncdefault totrue, which can be set tofalseto make the scripts execute in insertion order. - The
atob()andbtoa()methods have been specified. - The suggested file extension for application cache manifest files has
been changed from
.manifestto.appcache. - The
actionandformactionattributes are no longer allowed to have the empty string as value.
5.3. CИзменения после 19 Октября 2010 to 13 January 2011
- Была усовершенствована модель drag and drop.
- Был добавлен новый глобальный атрибут
dropzone. - Был добавлен новый элемент
bdiдля оказания помощи по содержимому, созданному пользователями, которое может иметь подтекст bidi (биди). - Атрибут
dirполучил новое значение "auto" . - Атрибут
dirnameбыл добавлен к элементамinput. Если пользователем указана направленность, то она будет также отправлена и на сервер. - A new
trackelement and associated TextTrack API were added for video text tracks.
API getSelection() был перемещен в отдельный документ DOM Range .
Также UndoManager был убран из W3C копии HTML5, так как он еще не готов.
5.4. Изменения с 24 Июня 2010 до 19 Октября 2010
- Огромное количество изменений алгоритма парсинга HTML, основываясь на отзывах о внедрении.
- Атрибут
hiddenтеперь работает с элементами, связанными с таблицами. - Метод
canvasgetContext()теперь определен и сможет лучше обрабатывать несколько контекстов. - IDL атрибут медиа элемента
startTimeбыл переименован вinitialTimeи был добавленstartOffsetTime. - Отношение ссылок
prefetchтеперь может использоваться на элементахa. - Атрибут
datetimeвinsиdelбольше не требует указания времени. - Использование PUT и DELETE в качестве методов HTTP для элемента
formбольше не поддерживается. - Элемент
sбольше не считается устаревшим. - У элемента
videoпоявился новый атрибутaudio.
Как и раньше, также было сделано множество мелких изменений и доработок.
5.3. Изменения с 4 Марта 2010 до 24 Июня 2010
- Атрибут
pingбыл убран из W3C версии HTML5. . - Элемент
titleявляется необязательным для документовiframesrcdocи других сценариев, где уже есть заголовок. Точно так же обстоит ситуация и с email. keywordsтеперь является стандартным названием метаданных для элементаmeta.- Значение
allow-top-navigationбыло добавлено для атрибутаsandboxна элементеiframe. - Был добавлен элемент
wbr. - Ключевое слово
alternateдля атрибутаrelв элементеlinkтеперь можно использовать для указания feeds, даже если feed не является альтернативой для документа. - Отображение HTML в Atom было убрано из W3C версии HTML5.
Кроме того, в документ были внесены незначительные изменения, уточнения и поправки.
5.4. Изменения с 25 Августа 2009 до 4 Марта 2010
- Был убран элемент
dialog. Раздел о том, как эффективно помечать разговоры, успешно его заменил. - Был представлен
document.headчтобы предоставить удобный доступ к элементуheadскрипта. - Был убран тип ссылки
feed.alternateтеперь используется вместо него – с отдельными типами медиа. createHTMLDocument()был представлен в качестве API, чтобы позволить быстро создавать HTML документы.- Оба элемента
meterиprogressбольше не обрабатывают свое содержимое «магическим» образом, потому что эта функция не может работать должным образом (в других странах). - Элементы
meterиprogress, также как и элементoutputтеперь могут быть помечены, используя элементlabel. - Был представлен новый тип медиа
text/html-sandboxed, чтобы разрешить размещение потенциально опасного содержимого без причинения вреда. - Был представлен атрибут
srcdocдля элементаiframeчтобы разрешить вставлять код потенциально опасного содержимого. Ожидается, что он будет использоваться вместе с атрибутамиsandboxиseamless. - Элемент
figureтеперь использует новый элементfigcaptionвместоlegendпотому что люди хотят использовать HTML5 задолго до Рекомендации W3C. - Элемент
detailsтеперь использует новый элементsummaryабсолютно по той же причине. - Атрибут
autobufferна медиа-элементах был переименован вpreload.
Было также решено множество мелких вопросов. Список, приведенный выше, приводит лишь те пункты, которые будут наиболее интересны авторам.
В дополнение к написанному выше, Microdata, 2D контекст API для
canvas,и Веб-сообщения (postMessage() API)
), были разделены в отдельные документы в W3C (WHATWG все еще публикует версию HTML5, которая их содержит):
Специальные термины microdata исчезли в W3C черновике HTML5 и не публикуются отдельно. Черновик WHATWG HTML5 все еще их включает.
5.5. Изменения с 23 Апреля 2009 до 25 Августа 2009
- Когда элемент
timeпустой, агенты пользователей должны рендерить локальное время. - Событие
loadотправляется вWindow, но теперь в качестве цели у негоDocument. pushState()теперь виляет на заголовокReferer.onundoиonredoтеперь вWindow.- У медиа элементов теперь есть
startTimeкоторый указывает, где начинается текущий ресурс. headerбыл переименован вhgroupи был представлен новый элементheader.createImageData()теперь также работает с объектамиImageData.createPattern()теперь также в качестве аргумента может приниматьvideo.- Элемент
footerбольше недопустим вheaderиheaderбольше не разрешенaddressилиfooter. - Был представлен новый контроллер:
<input type="tel"> - Command API теперь работает для всех элементов.
accesskeyтеперь обозначен должным образом.sectionиarticleтеперь работают с атрибутомcite. Была представлена новая функция под названием Microdata, которая позволяет людям вставлять пользовательские структуры данных в их HTML документы.- В использование модели Microdata были также включены три рпедустановленных словаря: vCard, vEvent, и модель для лицензирования.
- Drag and drop был обновлен, чтобы работать с моделью Microdata.
- The last of the parsing quirks has been defined.
textLengthбыл добавлен в качестве участника элементаtextarea.- Элемент
rpтеперь обрабатывает содержимое по фразам, а не по символам. location.reload()теперь обозначен.- Событие
hashchangeтеперь активизируется асинхронно. - Были добавлены правила совместимости с XPath 1.0 и XSLT 1.0.
- IDL атрибут
spellcheckтеперь преобразовывается вDOMString. - Поддержка
hasFeature()была сведена к минимуму. - Конструктор
Audio()устанавливает атрибутautobuffer. - Элемент
tdбольше не разрешен вthead. - Элемент
inputи объектDataTransferимеют IDL атрибутfiles. -
datagridиbbбыли убраны, из-за несогласованности по их дизайну. - API диапазона подписи был убран из медиа-элементов.
- The cue range API has been removed from the media elements.
- Была добавлена поддержка для WAI-ARIA.
Внесены незначительные исправления, подправлены опечатки, прояснены вопросы, задаваемые разработчиками, а также внесены другие мелкие поправки.
Дополнительно, следующие части были убраны из HTML5 и, скорее всего, далее будут разрабатываться в IETF:
- Definition of URLs (Определение URL адресов).
- Definition of Content-Type sniffing (Определение анализа типа содержимого).
5.6. Изменения с 12 Февраля 2009 до 23 Апреля 2009
- Был добавлен новый глобальный атрибут
spellcheck. - Было установлено, что скрипт ECMAScript
thisв глобальном объекте возвращает объектWindowProxy, а не объектWindow. - Определен IDL атрибут
valueдля элементовinputв состоянии загрузки файлов. - Definition of
designModewas changed to be more in line with legacy implementations. - The
drawImage()method of the 2D drawing API can now take avideoelement as well. - Был изменен способ, которым медиа-элементы загружали ресурсы.
document.domainтеперь совместим с IPv6.- Элемент
videoполучил логический атрибутautobuffer, который служит подсказкой. - Теперь можно указывать элемент
metaв атрибутеcharsetXML документов, если значение этого атрибута совпадает с кодировкой документа. (Обратите внимание, что он не указывает значение, а просто является талисманом.) - Составляющие
bufferingRateиbufferingThrottledмедиа-элементов были убраны. - Алгоритм выбора ресурса медиа-элемента теперь является асинхронным.
postMessage()теперь берет массив объектовMessagePort, а не только один из них.- Второй аргумент метода
add()в элементеselectи составляющаяoptionsэлементаselectтеперь являются необязательными. - Атрибуты
action,enctype,method,novalidate, иtargetна элементахinputиbuttonбыли переименованы вformaction,formenctype,formmethod,formnovalidate, иformtarget. - Концепт "storage mutex" был добавлен, чтобы иметь дело с отдельными страницами, пытающимися изменить элемент хранения (
document.cookieиlocalStorage).Navigatorполучил методgetStorageUpdates()чтобы он мог быть осовбожден. - Синтаксис для SVG схож с MathML и теперь указано, что SVG может быть включен в ресурсы
text/html. - Атрибут
placeholderбыл добавлен к элементуtextarea. - Добавлен элемент
keygenдля генерации ключевой пары - Элемент
datagridбыл пересмотрен, чтобы сделать API более асинхронным и разрешить незагруженные части сетки.
Дополнительно, были изъяты некоторые части HTML5 и дальше будут разрабатываться Рабочей Группой по Веб Приложениям (Web Applications Working Group) как отдельно стоящие спецификации:
- WebSocket API
- WebSocket protocol
- Server-Sent Events
- Web Storage
(
localStorageиsessionStorage) - Web SQL Database
5.9. Изменения с 10 июня по 12 февраля 2009
- Составляющая
dataобъектаImageDataбыла изменена с массива на объектCanvasPixelArray. - Тени требуются для внедрения элемента
canvasи его API. - Была прояснена модель безопасности для
canvas. - Были применены различные изменения к модели
canvasв ответ на отзывы о внедрении и отзывы авторов. Т.е. прояснения к тому, что случается когда применены значения «нет» и «бесконечность» и внесены изменения в определенияarc()иarcTo(). innerHTMLв XML был слегка изменен для улучшения кругооборота.- Метод
toDataURL()в элементеcanvasтеперь поддерживает установку уровня качества, когда аргумент типа медиа -image/jpeg. - Атрибут
posterэлементаvideoтеперь влияет на внутренние размеры. - Было прояснено поведение атрибута
typeэлементаlink. - Анализ пакетов не разрешен для
link, когда ожидаемый тип - изображение. - Представлен раздел по URL, который имеет дело с тем, как должны быть интерпретированы значения URL и что именно должны делать авторы. Каждая функция этой спецификации, использующая URL, была перефразирована, принимаю в расчет новый раздел по URL.
- Теперь является явным, что атрибут
hrefэлементаbaseне зависит отxml:base. - Не указано каким должно быть поведение, когда меняется URL базы.
- IDL атрибуты декомпозиции URL теперь более согласованы с Internet Explorer.
- Атрибут
xmlnsсо значениемhttp://www.w3.org/1999/xhtmlтеперь разрешен во всех элементах HTML. - Атрибуты
data-*и пользовательские атрибуты элементаembedтеперь должны совпадать с продуктом XMLNameи не могут содержать двоеточие. - Введен WebSocket API для двусторонней связи с сервером.
- Значение
volumeв медиа элементах по умолчанию теперь равно 1.0, а не 0.5. event-sourceбыл переименован вeventsource, потому что никакой элемент HTML не использует тире.- Был введен API канала сообщений, увеличивая
postMessage(). - Был добавлен новый элемент под названием
bb. Он представляет команды браузера, которые могут быть вызваны пользователем. - Метод
addCueRange()медиа элементов был изменен, чтобы принимать идентификатор, который показывается во время обратных запросов. - Теперь определено как изменить DOM в infoset.
- Атрибут
parentобъектаWindowтеперь определен. - Определен элемент
embedчтобы узнавать расширения, совместимые с серверами, которые предоставляют Flash какtext/plain. (Это помечено как вопрос в спецификации, чтобы выяснить – есть ли лучший способ заставить это работать.) -
embedможно теперь использовать и без атрибутаsrc. getElementsByClassName()теперь определен как чувствительный к регистру ASCII в режиме совместимости с CSS. .- В HTML документах
localNameбольше не возвращает имя узла заглавными буквами. - Атрибуты
data-*определены как «всегда строчными буквами». - Атрибут
openerобъектаWindowне должен присутствовать когда страница была открыта по ссылке сtarget="_blank"иrel="noreferrer". - Теперь определен атрибут
topобъектаWindow. - Элемент
aтеперь позволяет иметь вложенный поток содержимого, но не вложенное интерактивное содержимое. - Теперь обозначено что элемент
headerозначает в аннотации документа и содержании. - Определено что означает «извлекать ресурс».
- Теперь требуется, чтобы у всех шаблонов был элемент
canvas. - Атрибут
autosubmitбыл убран из элементаmenu. - Была добавлена поддержка для
outerHTMLиinsertAdjacentHTML(). xml:langтеперь разрешен в HTML, когдаlangтакже указан и они имеют одно и то же значение. В XMLlangразрешен, еслиxml:langтакже указан и они имеют одно и то же значение.- Определен атрибут
frameElementобъектаWindow. . - Цикл событий и очередь задач теперь выполняются по детальному скрипту и событиями. Все функции были обновлены, чтобы соответствовать этому механизму.
- Если в атрибуте
altопущен атрибутtitleто должны присутствовать закрывающий элементfigureс дочерним элементомlegendили вмещающий раздел с соответствующим заголовком. - Атрибут
irrelevantбыл переименован вhidden. - Атрибут
definitionURLв MathML теперь поддерживается должным образом. Раньше он выдал бы результат парсинга - все символы в нижнем регистре. - Браузеры должны обрабатывать US-ASCII как Windows-1252 по причинам совместимости.
- Разрешен альтернативный синтаксис для DOCTYPE для совместимости с некоторыми инструментами XML.
- Были убраны шаблоны данных (состоящие из элементов
datatemplate,ruleиnest). - Медиа элементы теперь поддерживают только один атрибут
loop. - Метод
load()() медиа элементов был определен как асинхронный. Он теперь также рассматривает все файлы по одному, вместо того, чтобы просто смотреть на атрибутtypeэлементаsource. - Новый компонент
canPlayType()был добавлен к медиа-элементам. - Атрибуты
totalBytesиbufferedBytesбыли убраны с медиа-элементов - Объект
Locationполучил методresolveURL(). - Элемент
qбыл снова изменен. Пунктуация снова должна быть предоставлена агентом пользователя. - Различные изменения были произведены с HTML алгоритмом парсинга, чтобы больше соответствовать тому поведению, которое требуют вебсайты.
- Теперь определены события
unloadиbeforeunload. - IDL блоки в спецификации были обновлены, чтобы соответствовать предстоящим Веб IDL спецификациям.
- Заголовки таблиц теперь могут иметь собственные заголовки. Требуется, чтобы браузеры поддерживали атрибут
headersуказывающий на элементtdилиthно требуется также, чтобы авторы позволяли им указывать только элементыth. - Заинтересованные лица могут теперь зарегистрировать новые значения
http-equiv. - Когда у элемента
metaесть атрибутcharset– он должен содержаться в первых 512 байтах. - У объекта
StorageEventтеперь есть атрибутstorageArea. - Теперь определено как должен использоваться HTML внутри SVG элемента
foreignObject. - Был убран API уведомлений.
- Определено то, как работает [[Get]] для
HTMLDocumentи объектовWindow. - Объект
Windowполучил атрибутыlocationbar,menubar,personalbar,scrollbars,statusbarиtoolbar, которые предоставляют информацию о пользовательском интерфейсе. - Раздел кэша приложения был пересмотрен и сильно изменен.
document.domainтеперь основывается на Public Suffix List. [PSL]- Был добавлен ненормативный рендеринг-раздел, который описывает правила рендеринга для агентов пользователей на устаревшие и актуальные элементы.
- Был добавлен нормативный раздел, который определяет когда определенные селекторы, указанные как Selectors и основном пользовательский модуль CSS3 (Basic User Interface Module) совпадают с элементами HTML. [SELECTORS] [CSS-UI]
Веб Формы 2.0, которые раньше были отдельной спецификацией, были полностью интегрированы в HTML5 с последней публикации. Следующие изменения были произведены с формами:
- Была убрана поддержка XML отправки.
- Была убрана поддержка заполнения формы.
- Была убрана поддержка элементов
selectиdatalistчерез атрибутdata. - Убрана возможность ассоциировать поле с несколькими формами. Поле все еще можно ассоциировать с одной формой, но оно не располагается в атрибуте
form. - Методы
dispatchChangeInput()иdispatchFormChange()были убраны из элементовselect,input,textareaиbutton. - Были убраны повторяющиеся шаблоны.
- Атрибут
inputmodeбыл убран. - Элемент
inputв состоянии Загрузки Файлов больше не поддерживает атрибутыminиmax. - Атрибут
allowна элементахinputinput в состоянии Загрузки Файлов больше не является авторитетным. - Атрибуты
patternиacceptдляtextareaбыли удалены. - RFC 3106 больше не поддерживается.
- Метод
submit()теперь только отправляет, он больше не проверяет верны ли элементы управления формы. - Элемент
inputв состоянии ряд (Range) теперь по умолчанию устанавливается на среднем, а не на минимальном значении. - Атрибут
sizeэлементаinputтеперь является подтвержденным (ранее он считался «устаревшим»). - Элементы
objectтеперь принимаю участие в отправке формы. - Атрибут
typeэлементаinputполучил значенияcolorиsearch. - Элемент
inputполучил атрибутmultipleкоторый позволяет либо отправлять несколько e-mail’ов, либо загружать несколько файлов одновременно (в зависимости от значения атрибутаtype). - Элементы
input,buttonиformтеперь имеют атрибутnovalidateдля указания того, что поля в форме необязательно должны иметь правильные значения при отправке. - Когда элемент
labelсодержитinputон все еще может иметь атрибутfor, так как он указывает на элементinput, который его содержит. . - У элемента
inputтеперь есть IDL атрибутindeterminate. - Элемент
inputполучил атрибутplaceholderattribute.
5.8. Изменения с 22 Января 2008 до 10 Июня 2008
- Изменилось внедрение и авторские данные атрибута
ping. <meta http-equiv=content-type>теперь является правильным способом установить кодировку.- Был подчищен API для элемента
canvas. Была добавлена поддержка текста. globalStorageв настоящее время ограничивается политикой единого происхождения и был переименован вlocalStorage. Было прояснено оперативное управление схожими событиями.- Изменился API-интерфейс
postMessage(). . Отображается только источник происхождение сообщения, а не URL как раньше. Также требуется второй аргумент, который указывает происхождение целевого документа. - API-интерфейс перетаскивания стал яснее. Объект
dataTransferтеперь имеет атрибутtypes, указывающий какой тип данных передается. - Элемент
mтеперь называетсяmark. - События, отправляемые сервером, теперь изменились и получили прояснения. Используется новый формат
- Элементу
figureбольше не требуется заголовок. - У элемента
olпоявился новый атрибутreversed. - Изменилось определение кодировки символов в ответ на отзывы о внедрении.
- Изменения были сделаны в секции HTML парсера в ответ на отзывы о внедрении.
- Были произведены различные изменения в секции редактирования, включая добавление
queryCommandEnabled()и связанных методов. - Атрибут
headersбыл добавлен для элементовtd. - У элемента
tableпоявился новый методcreateTBody(). - Была добавлена поддержка MathML в секцию парсера HTML. (Поддержка SVG по прежнему ожидает вставку SVG WG.)
- Были добавлены определенные автором атрибуты. Авторы могут добавлять атрибуты к элементам по типу
data-nameи могут получить доступ через DOM используяdataset[name]в качестве элемента в вопросе. - Был изменен элемент
q– теперь пунктуация требуется внутри, а раньше ее рендерил браузер. - Атрибут
targetтеперь может оставлять значение_blank. - Был определен API
showModalDialog. - Был определен API
document.domain. - У элемента
sourceтеперь есть новый элементpixelratio, полезный дл тех видео, у которых есть какая-либо ошибка с кодировкой. - IDL атрибуты
bufferedBytes,totalBytesиbufferingThrottledбыли добавлены к элементуvideo. - Медиа событие
beginбыло переименовано вloadstart, чтобы соответствовать спецификации Progress Events. - Атрибут
charsetбыл добавлен вscript. - Элемент
iframeполучил аттрибутыsandboxиseamless, которые предоставляют функционал sandboxing (песочницы). - Были добавлены элементы
ruby,rtиrpдля поддержки аннотации ruby. - Был добавлен метод
showNotification(), чтобы показывать сообщения с уведомлениями пользователям. - Была добавлена поддержка для событий
beforeprintиafterprint.
Благодарности
Редактор хотел бы поблагодарить Ben Millard, Bruce Lawson, Cameron McCormack, Charles McCathieNevile, Dan Connolly, David Håsäther, Dennis German, Frank Ellermann, Frank Palinkas, Futomi Hatano, Gordon P. Hemsley, Henri Sivonen, James Graham, Jens Meiert, Jeremy Keith, Jürgen Jeka, Krijn Hoetmer, Leif Halvard Silli, Maciej Stachowiak, Marcos Caceres, Mark Pilgrim, Martijn Wargers, Martyn Haigh, Masataka Yakura, Michael Smith, Ms2ger, Olivier Gendrin, Øistein E. Andersen, Philip Jägenstedt, Philip Taylor, Randy Peterman, Simon Pieters, Toby Inkster, и Yngve Spjeld Landro за их вклад в эту работу, а также всех людей, которые работали над HTML5 на протяжении многих лет, чтобы улучшить наш опыт в вебе!
References
- [CSS-UI]
- CSS3 Basic User Interface Module, T. Çelik. W3C.
- [DOCTYPE]
- Activating Browser Modes with Doctype, H. Sivonen.
- [DOM2HTML]
- Document Object Model (DOM) Level 2 HTML Specification, J. Stenback, P. Le Hégaret, A. Le Hors. W3C.
- [HTML4]
- HTML 4.01 Specification, D. Raggett, A. Le Hors, I. Jacobs, editors. W3C.
- [HTML5]
- HTML5, I. Hickson. W3C.
- HTML5 (editor's draft), I. Hickson. WHATWG.
- HTML5 (editor's draft), I. Hickson. W3C.
- [PSL]
- Public Suffix List, Mozilla Foundation.
- [SELECTORS]
- Selectors, D. Glazman, T. Çelik, I. Hickson. W3C.
- [XHTML1]
- XHTML™ 1.1 - Module-based XHTML (Second Edition), S. McCarron, M. Ishikawa. W3C.
- [XML]
- Extensible Markup Language (XML) 1.0 (Fifth Edition), T. Bray, J. Paoli, C. Sperberg-McQueen, E. Maler, F. Yergeau. W3C.
- Namespaces in XML 1.0 (Third Edition), T. Bray, D. Hollander, A. Layman, R. Tobin, H. S. Thompson. W3C.
→
Учись у других за