Введение от W3C

Введение

HTML находится в непрерывной эволюции, так как она была введена в Интернете в начале 1990-х годов. Некоторые функции были введены в спецификациях, а другие были введены в версий программного обеспечения. В некоторых отношениях, реализации и практики авторы сошлись друг с другом и со спецификациями и стандартами, но в других отношениях, они разошлись.

HTML4 был представлен в виде рекомендации W3C в 1997 году. В то время как он продолжает служить в качестве приблизительного ориентира для многих основных особенностей HTML, она не дает достаточно информации для создания реализаций, которые взаимодействуют друг с другом и, что более важно, с критической массой развернутых web-приложений. То же самое касается XHTML1, который определяет XML-сериализацию для HTML4, и DOM Level 2 HTML, JavaScript, который определяет API-интерфейсы для HTML и XHTML. HTML5 призван заменить эти документы.

HTML5, как проект, отражает усилия, начатые в 2004 году для изучения современных реализаций HTML и web-приложений. В проекте:

  1. Определяет единый язык под называнием HTML, который может быть описаны в синтаксисе HTML и синтаксисе XML.
  2. Определяет подробные модели обработки способствующих совместимости реализаций.
  3. Улучшает разметку документов.
  4. Представляет разметки и API-интерфейсы для новых идиом, таких как веб-приложения.

Открытые вопросы

HTML5 еще проект. Содержание HTML5, а также содержание этого документа, которые зависят от HTML5, до сих пор обсуждается на рабочей группе HTML и WHATWG. Открытые вопросы, связанные с проектом HTML5.

Обратная совместимость

HTML5 определен таким образом, что он обратно совместим с тем, как ПА (пользовательские агенты, браузеры) обрабатывают контент. Чтобы сохранить авторский язык относительно простым для авторов, некоторые элементы и атрибуты, которые не включены, как это указано в других разделах этого документа, такие, как презентационные элементы, которые лучше решать с помощью CSS.

Агенты пользователей, однако, всегда будут поддерживать эти устаревшие элементы и атрибуты, и именно поэтому в спецификации HTML5 четко разделяются требования для авторов и пользователей средств. Например, это означает, что авторы не могут использовать ISINDEX или текст элемента, но ПА должны поддерживать их таким образом, совместимым с тем, как эти элементы должны вести себя для совместимости с развернутыми содержанием.

С HTML5 имеет отдельные требования соответствия для авторов и пользователей средств больше нет необходимости для обозначения черты «устарела».

Модель развития

Спецификации HTML5, не будет рассматриваться законченной по крайней мере две полные реализации спецификации. Наборы тестов будут использоваться для оценки полноты реализации. Этот подход отличается от предыдущих версий HTML, где окончательная спецификация, как правило, утверждаются комитетом, прежде чем на самом деле реализована.

Синтаксис

HTML5 определяет HTML-синтаксис, который совместим с HTML4 и XHTML1 документов, опубликованных в Интернете, но не совместима с более эзотерические SGML особенности HTML4, например, инструкции по обработке и сокращение разметки , как это не поддерживается большинством броузеров. Документы  HTML почти всегда отдаются с text/html типом.

HTML5 также определяет подробные правила разбора (в том числе «Обработка ошибок») для этого синтаксиса, который в значительной степени совместим с популярными реализациями. Агенты пользователей должны использовать эти правила для ресурсов, которые имеют text/html тип. Вот пример документа, соответствующего HTML синтаксису:

<! DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> Пример документа </ title> </ HEAD> <body> пункт <p> Пример </ P> </ Body> </ Html>

Другой синтаксис, который может быть использован для HTML5 является XML. Этот синтаксис совместим с XHTML1 документов и реализации. Документы, используя следующий синтаксис необходимо отдавать с типом XML средствами массовой информации и элементы должны быть помещены в http://www.w3.org/1999/xhtml имен в соответствии с правилами, изложенными в XML-спецификаций. [XML]

Ниже приведен пример документа, соответствующего XML-синтаксису HTML5. Обратите внимание, что XML-документы должны быть поданы с типом XML-носителей, таких как application/XHTML + XML или application/XML.

<? XML-версия = "1.0" кодирования = "UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Пример документа </ title> </ HEAD> <body> пункт <p> Пример </ P> </ Body> </ Html>

Кодировка

Для HTML-синтаксиса HTML5 авторы имеют три способа настройки кодировки:

  • На транспортном уровне. При использовании HTTP Content-Type заголовка, например.
  • Использование Unicode Byte Order Mark (BOM) символ в начале файла. Этот символ представляет собой подпись в используемую кодировку.
  • Использование мета элемент с кодировкой атрибут, который определяет кодировку в течение первых 1024 байт документа. Например, <meta charset="UTF-8"> могут быть использованы для определения UTF-8 кодировке. Это заменяет необходимость <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> хотя этот синтаксис все еще ??разрешен.

Для XML-синтаксиса, авторы должны использовать правила, изложенные в XML-спецификаций, чтобы установить кодировку.

Doctype

HTML синтаксис HTML5 требует тип документа который должен быть указан для того, чтобы браузер отображал страницу в стандартном режиме. Тип документа не имеет другой цели, и, следовательно, обязателен для XML. Документы с типом XML СМИ всегда обрабатываются в стандартном режиме. [DOCTYPE]

DOCTYPE декларации <! DOCTYPE html> и без учета регистра в HTML синтаксисе. DOCTYPEs от предыдущих версий HTML были длиннее, потому что язык HTML был создан на SGML основе и, следовательно, требовал ссылку на DTD. В HTML5 это не так и типа документа необходимо лишь включить режим стандартов для документов, написанных с использованием HTML синтаксис. Обозреватели уже делают это для <! DOCTYPE HTML> .

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>

Более сложные комбинации также возможны.

Разное

Есть несколько других изменений синтаксиса достойных упоминания:

  • HTML теперь имеет встроенную поддержку для IRI, хотя они могут быть полностью использованы, если документ кодирован UTF-8 или UTF-16.
  • < и > имени ссылки на символы в настоящее время расширить до U +27 E8 и U +27 E9 вместо U +2329 и U +232, соответственно.