HTMLHTML и HTML5Динамический HTML
XHTML
XHTML Mobile Profile[англ.] и CHTMLDocument Object ModelКодировки символовМнемоники в HTMLРедактор HTMLЭлементы HTMLСемантическая вёрсткаКарта изображенийЦвета HTMLФормы HTMLФреймы HTMLHTML5 audio и HTML5 videoCanvasСкрипты в HTMLUnicode и HTML[англ.]Браузерный движокQuirks modeКаскадные таблицы стилейW3C и WHATWGWeb StorageWebGL
Сравнение
языков разметки документовбраузерных движков
.mw-parser-output .hlist dl,.mw-parser-output .hlist.hlist ol,.mw-parser-output .hlist.hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li,.mw-parser-output .hlist .mw-empty-elt{display:none}.mw-parser-output .hlist dt:after{content:": "}.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{content:"\a0 · ";font-weight:bold}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist dd dd:first-child:before,.mw-parser-output .hlist dd dt:first-child:before,.mw-parser-output .hlist dd li:first-child:before,.mw-parser-output .hlist dt dd:first-child:before,.mw-parser-output .hlist dt dt:first-child:before,.mw-parser-output .hlist dt li:first-child:before,.mw-parser-output .hlist li dd:first-child:before,.mw-parser-output .hlist li dt:first-child:before,.mw-parser-output .hlist li li:first-child:before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child:after,.mw-parser-output .hlist dd dt:last-child:after,.mw-parser-output .hlist dd li:last-child:after,.mw-parser-output .hlist dt dd:last-child:after,.mw-parser-output .hlist dt dt:last-child:after,.mw-parser-output .hlist dt li:last-child:after,.mw-parser-output .hlist li dd:last-child:after,.mw-parser-output .hlist li dt:last-child:after,.mw-parser-output .hlist li li:last-child:after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)"\a0 "}.mw-parser-output .hlist-items-nowrap dd,.mw-parser-output .hlist-items-nowrap dt,.mw-parser-output .hlist-items-nowrap li{white-space:nowrap}.mw-parser-output .hlist-items-nowrap dl dl,.mw-parser-output .hlist-items-nowrap dl ol,.mw-parser-output .hlist-items-nowrap dl ul,.mw-parser-output .hlist-items-nowrap ol dl,.mw-parser-output .hlist-items-nowrap ol ol,.mw-parser-output .hlist-items-nowrap ol ul,.mw-parser-output .hlist-items-nowrap ul dl,.mw-parser-output .hlist-items-nowrap ul ol,.mw-parser-output .hlist-items-nowrap ul ul{white-space:normal}.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}.mw-parser-output .infobox .navbar{font-size:100%}.mw-parser-output .navbox .navbar{display:block;font-size:100%}пор
XHTML (англ.extensible hypertext markup language — расширяемый язык гипертекстовой разметки) — семейство языков разметкивеб-страниц на основе XML, повторяющих и расширяющих возможности HTML. Спецификации XHTML 1.0 и XHTML 1.1 являются рекомендациями консорциума Всемирной паутины. Развитие XHTML остановлено; новые версии XHTML не выпускаются.
Главное отличие XHTML от HTML заключается в обработке документа.
Документы XHTML обрабатываются своим модулем (парсером) аналогично документам XML. В процессе этой обработки ошибки, допущенные разработчиками, не исправляются.
XHTML соответствует спецификации SGML, поскольку XML является её подмножеством.
HTML обладает множеством особенностей в процессе обработки и фактически перестал относиться к семейству SGML, что и закреплено в черновике спецификации HTML 5.
Браузер выбирает парсер для обработки документа на основании заголовка content-type, полученного от сервера:
все элементы должны быть закрыты. Теги, которые не имеют закрывающего тега (например, <img> или <br>), должны иметь на конце / (например, <br />);
логические атрибуты записываются в развёрнутой форме. Например, следует писать <option selected="selected"> или <td nowrap="nowrap">;
имена тегов и атрибутов должны быть записаны строчными буквами (например, <img alt="" /> вместо <IMG ALT="" />);
XHTML гораздо строже относится к ошибкам в коде; < и & везде, даже в URL, должны замещаться < и & соответственно. По рекомендации W3C браузеры, встретив ошибку в XHTML, должны сообщить о ней и не обрабатывать документ. Для HTML браузеры должны были попытаться понять, что хотел сказать автор;
кодировкой по умолчанию является UTF-8 (в отличие от HTML, где кодировкой по умолчанию является ISO 8859-1).
Для XHTML-страниц рекомендуется задавать MIME-тип — application/xhtml+xml, но это не является обязательным, более того — браузер Internet Explorer 8 и младшие версии не смогут обрабатывать страницу, поэтому с XHTML 1.0 традиционно используется MIME-тип для HTML — text/html.
Существует три типа документов XHTML: strict, transitional и frameset.
Наиболее употребительной и универсальной из версий XHTML является переходная (англ.transitional), поскольку она позволяет использовать iframe (включение содержимого одной веб-страницы в другую) и атрибут target у ссылок (для указания того, например, что ссылке необходимо открываться в новом окне). Фреймовая версия (англ.frameset) представляет собой расширенный вариант transitional и добавляет к нему, как следует из названия, возможность установки frameset вместо body. DTD ((англ.document type definition) определение типа документа) строгой версии XHTML (англ.strict) не содержит многих тегов и атрибутов, описанных в DTD transitional и признанных устаревшими.
Спецификация XHTML 1.0 одобрена в качестве рекомендации консорциума Всемирной паутины 26 января2000 года. 1 августа2002 года была опубликована вторая редакция спецификации.
XHTML 1.0 определяет три типа документов (по аналогии с HTML 4):
XHTML-1.0-Strict: тип, исключающий использование всех элементов и атрибутов, задающих графическое отображение (например, элемент font или атрибут bgcolor). Это наиболее предпочтительный тип документов.
XHTML-1.0-Transitional: тип, допускающий использование элементов и атрибутов, задающих графическое отображение. Указанные элементы рекомендуется использовать только при необходимости, например, для облегчения миграции документов c HTML 3.2 на XHTML.
XHTML-1.0-Frameset: тип, добавляющий к возможностям XHTML-1.0-Transitional использование фреймов.
XHTML Основной (англ.basic): специальная облегчённая версия XHTML для устройств, которые не могут использовать полный набор элементов XHTML — в основном используется в миниатюрных устройствах, таких как мобильные телефоны. Подразумевается, что он заменит WML и C-HTML.
XHTML мобильного профиля (англ.mobile profile): основанный на XHTML Basic, добавляет специфические элементы для мобильных телефонов.
XHTML 2.0 является последней версией XHTML. Эта версия не достигла статуса рекомендации: деятельность рабочей группы XHTML 2.0 была прекращена в конце 2010 года, а все ресурсы перенесены в рабочую группу HTML 5[1]. Достигнутые результаты работы над XHTML 2.0 были опубликованы 16 декабря2010 года в виде отчёта рабочей группы (англ.working group note).
Валидным (то есть отвечающим всем правилам) XHTML-документом считается документ, удовлетворяющий спецификации. В идеале все браузеры должны следовать веб-стандартам и, в соответствии с ними, валидные документы должны отображаться во всех браузерах на всех платформах. Валидация XHTML-документа рекомендована даже несмотря на то, что она не гарантирует кросс-браузерности. Соответствие документа спецификации может быть проверено на сайте validator.w3.org. При валидации будут обнаружены ошибки в XHTML-разметке; валидатор разъяснит суть ошибок.
Валидный документ должен содержать определение типа документа (DTD). DTD должен быть расположен до всех других элементов документа. Вот наиболее распространённые типы DTD для XHTML:
XHTML 1.0 Strict
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.0 Mobile
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Самыми распространёнными ошибками в XHTML-разметке являются:
незакрытые элементы (XHTML, в отличие от HTML, требует закрытия всех элементов, в том числе не имеющих закрывающего тега, как, например, <br />);
отсутствие альтернативных текстов для изображений (достигающихся применением атрибута alt, который помогает сделать документы доступнее для устройств, которые не в состоянии отображать изображения, или предназначенных для слабовидящих людей);
присутствие текста непосредственно в теге <body> документа (должен быть объявлен блочный элемент, внутрь которого следует помещать содержимое);
вложение блочных элементов внутрь внутристрочных (inline) (например, блочные элементы <div> или <p> не могут быть вложены внутрь инлайновых элементов <a>, <span>, <em> и так далее);
пренебрежение заключением значений атрибутов в кавычки (<a href=http://example.com/> вместо <a href="http://example.com/">);
неправильное вложение элементов (конструкции вида <strong><em> </strong></em>);
неправильное использование ссылок-мнемоник (например, & вместо &);
написание тегов и/или атрибутов прописными буквами вместо строчных (<DIV STYLE="…"> вместо <div style="...">);
задание в теге <!DOCTYPE …> относительного пути к DTD-файлу ("DTD/xhtml11.dtd" вместо "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd").
Этот список не полный и содержит самые частодопускаемые ошибки при составлении XHTML-документов.
Валидный XHTML-документ можно снабжать специальным баннером W3C, подтверждающим валидность XHTML-разметки.
Эрик Фримен, Элизабет Фримен. Изучаем HTML, XHTML и CSS = Head First HTML with CSS & XHTML. — СПб.: «Питер», 2012. — 656 с. — ISBN 978-5-459-01060-2.
Эд Титтел, Джефф Ноубл. HTML, XHTML и CSS для чайников, 7-е издание = HTML, XHTML & CSS For Dummies, 7th Edition. — М.: «Диалектика», 2011. — 400 с. — ISBN 978-5-8459-1752-2.
Стивен Шафер. HTML, XHTML и CSS. Библия пользователя, 5-е издание = HTML, XHTML, and CSS Bible, 5th Edition. — М.: «Диалектика», 2010. — 656 с. — ISBN 978-5-8459-1676-1.