HTML5 (англ. HyperText Markup Language, version 5) — пятая версия языка разметкиHTML. Версия языка, полностью соответствующая стандарту XML, называется XHTML5.
Многие идеи HTML5 были изначально предложены WHATWG в стандарте Web Applications 1.0. HTML 5 включает другой стандарт WHATWG, Web Forms 2.0. Разработка HTML5 началась в новой рабочей группе W3C в 2007 году.
Первый черновик спецификации стал доступен широкой общественности 22 января2008. Спецификация сейчас находится в разработке и может находиться в этой стадии ещё несколько лет, хотя предполагается, что отдельные части HTML 5 будут закончены и реализованы в браузерах до того, как спецификация официально получит статус рекомендации.
Новая разметка
HTML5 вводит несколько новых элементов и атрибутов. Некоторые из них технически являются эквивалентами div и span, но имеют своё семантическое значение, например nav (навигационная панель) и footer. Эти теги будут облегчать работу поисковикам, а также обработку сайта с КПК или читающих программ.
Другие элементы предоставляют новую функциональность, такие как audio и video. До настоящего времени для воспроизведения музыки и видео в браузере нужна была установка плагинов — например, проигрывателя Flash Player от Adobe. Но HTML 5 должен изменить эту ситуацию, благодаря новым тегам audio и video, которые обеспечивают интеграцию мультимедийных данных. Простой встроенный плеер будет способен воспроизвести данные непосредственно на самом веб-сайте, без дополнительного плагина.
Некоторые устаревшие элементы HTML4, такие как font и center, были удалены из HTML5.
Пример веб-страниц HTML5
<html>
<head>
<title>Пример веб-страницы HTML5</title>
</head>
<body>
<header>
<h1>...</h1>
</header>
<section>
<article>
<h1>...</h1>
<p>...</p>
</article>
<article>
<h1>...</h1>
<p>...</p>
</article>
<nav>
<a href="http://...">...</a>
<a href="http://...">...</a>
</nav>
</section>
<footer>
<p>...</p>
</footer>
</body>
</html>
Новые API
Помимо определения разметки, в HTML5 определены API. Существующие интерфейсы DOM расширены, также были добавлены новые API:
- Рисование 2D-картинок в реальном времени;
- Контроль над проигрыванием медиафайлов, который может использоваться, например, для синхронизации субтитров с видео;
- Хранение данных в браузере;
- Редактирование;
- Drag-and-drop;
- Работа с сетью;
- FileAPI;
- MIME.
Некоторые новые возможности HTML5 включены в стандарт языка только из-за отсутствия желающих разделить стандарт HTML5 и поддерживать отдельные спецификации.
Отличия от HTML4
Основные отличия HTML5 от HTML4 составляют:
- Новые правила лексического разбора;
- Новые элементы: header, footer, section, article, video, audio, progress, nav, meter, time, aside, canvas;
- Новые типы input-элементов;
- Добавлены новые атрибуты для элементов, существовавших в HTML4;
- Атрибуты class, dir, id, lang, style, tabindex, title, существовавшие в HTML4, стали применимы для всех элементов (глобальные атрибуты);
- Добавлены новые глобальные атрибуты: aria-*, contenteditable, contextmenu, data-*, draggable, dropzone, hidden, role, spellcheck;
- Исключены не рекомендованные для использования элементы: acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, strike, tt, u.
Спецификация HTML5 предъявляет требования как к юзер-агентам (браузерам), так и к документам. Документы могут не всегда содержать корректный синтаксис, но HTML5-совместимые браузеры, так же, как и их предшественники, применяют алгоритмы разбора ошибок разметки в документах для построения правильной объектной модели (DOM). Четкое определение требований к юзер-агентам делается с целью достижения совместимости между браузерами разных производителей. Так же, как и требования к синтаксису разметки документов с целью корректного отображения их в различных браузерах.
В старых версиях браузеров новые теги HTML5 просто игнорируются.