HTML в профилях/Базовый профиль
В данном разделе мы рассмотрим элементы и атрибуты, без которых на практике не обходится ни один документ HTML. Наличия трех из этих элементов требует действующая версия спецификации, в то время как остальные средства необходимы для несения непосредственно «полезной нагрузки» документа.
Мы также рассмотрим атрибут dir
, используемый для явного указания направления письма (слева направо или справа налево), что особенно важно для воспроизведения документов, содержащих текст на нескольких языках.
Пример документа[править]
Вновь обратимся к простейшему примеру документа, для наглядности приводимому здесь в XHTML-записи.
Пример. Привет, мир!
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru">
<head>
<title >Привет, мир!</title>
</head>
<body>
<p >Это — пример документа HTML5.</p>
</body>
</html>
Это — пример документа HTML5.
Обязательные элементы[править]
Корневым элементом документа является элемент html
. Этот элемент, в свою очередь, обязан содержать два (и только два) дочерних элемента:[1]
head
— метаданные (или «заголовок») документа в целом;body
— «тело».
Кроме того, данный элемент может содержать (незначимые) пробельные символы, комментарии, а также ряд атрибутов, три из которых (lang
, dir
, xmlns
) рассмотрены ниже.
Атрибуты lang и xml:lang[править]
В качестве пожелания, спецификация предлагает всегда указывать атрибут lang
для элемента html
, определяя тем самым основной язык документа согласно BCP 47 (в простейшем случае — используя код языка ISO 639-1.)[2][3]
Свойство языка наследуется дочерними элементами и может быть переопределено на любом уровне вложенности явным указанием атрибута lang
.
В числе прочего, такое указание языка может способствовать использованию речевых синтезаторов и программ автоматизированного перевода,[1] корректной работе Web-поиска, а равно и правильному выбору шрифтовых вариантов некоторых букв (cf.: серб. буква и рус. буква.)
Спецификация XML предусматривает для указания языка атрибут xml:lang
.[4] Использование этого атрибута может быть полезно из соображений совместимости с инструментами обработки XML, не реализующими особо поддержку HTML5. Если при этом также используется и атрибут lang
, его значение обязано совпадать с таковым для xml:lang
.[2]
С целью обеспечения некоторой «совместимости» между представлениями HTML и XHTML, HTML5 допускает использование атрибута xml:lang
также и в HTML-представлении. В этом случае, данный атрибут обязан дублировать атрибут lang
элемента; использование xml:lang
отдельно от lang
, или с отличным значением, не допускается.[2]
Атрибут dir[править]
Наряду с атрибутом lang
, для корректного воспроизведения многоязычных текстов также важен атрибут dir
, определяющий направление письма для содержания элемента, и допускающий три возможных значения:[5]
ltr
— направление письма для данного элемента — слева-направо (от англ. left-to-right);rtl
— справа-налево (от англ. right-to-left); применимо для языков на основе арабского письма, иврита, etc.;auto
— направление письма для данного элемента следует определить автоматически, независимо от направления письма для родительского элемента; (по-умолчанию, направление письма наследуется элементами-потомками.)
Как и в случае атрибута lang
, направление письма наследуется дочерними элементами и может быть переопределено на любом уровне вложенности явным указанием атрибута dir
.
Спецификация HTML5 предлагает использовать вариант auto
только в исключительных случаях, когда направление письма содержащегося в элементе текста действительно не может быть установлено сколь угодно достоверно.[5]
Атрибут xmlns[править]
При использовании представления на основе XML (XHTML), элементы HTML должны быть отнесены к соответствующему пространству имен, чего обычно можно достичь используя атрибут xmlns
в форме xmlns="http://www.w3.org/1999/xhtml"
для корневого элемента, как показано в примере выше.[6][7]
В представлении HTML данный атрибут не используется и допускается спецификацией в том и только том случае, когда имеет указанное значение.[6]
Элемент title[править]
Обязательный элемент head
должен, в свою очередь, содержать элемент title
, содержащий заглавие документа. Этот элемент может присутствовать в документе лишь в единственном экземпляре, и только как дочерний для элемента head
. Содержанием данного элемента может быть только текст, — вложенные элементы не допускаются.[8]
В тех случаях, когда заглавие может быть определено из контекста передачи документа (как, например, при передаче документа электронной почтой), спецификация позволяет не указывать данный элемент.[8] На практике, однако, существующие системы проверки действительности документов HTML[9][10] всегда требуют наличия данного элемента.
Элемент p[править]
Основным элементом разметки текста является элемент p
(от англ. paragraph — «абзац».)[11]
В рамках рассматриваемого профиля, тело документа состоит из произвольного количества элементов p
, каждый из которых может содержать текст на произвольном (задаваемом атрибутом lang) языке, как показано в примере ниже. Отметим, что спецификация HTML5 также включает критерии обнаружения неявных абзацев — задаваемых без использования элемента p
.[12] В данном разделе, однако, мы не будем рассматривать данную возможность.
В тех случаях, когда требуется переопределить язык для участка текста меньшего, чем абзац в целом, можно применить один из элементов, описываемых в разделе Ссылки и акценты.
Пример. Привет, мир! — на разных языках
<!DOCTYPE html>
<html lang="ru" dir="ltr">
<title >Привет, мир!
— на разных языках</title>
<p lang="de" >Hallo Welt!
<p lang="en" >Hello, world!
<p lang="eo" >Saluton, mondo!
<p lang="fa" dir="rtl" >سلام، دنیا
<p >Привет, мир!
<p lang="sr" >Здраво, свете!
Hallo Welt!
Hello, world!
Saluton, mondo!
سلام، دنیا
Привет, мир!
Здраво, свете!
Примечания[править]
Дятел
См. также[править]
- В Википедии:
Дятел
- ↑ а б Ошибка цитирования Неверный тег
<ref>
; для сносокhtml5-html
не указан текст - ↑ а б в Ошибка цитирования Неверный тег
<ref>
; для сносокhtml5-lang
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокbcp47
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокxml-lang
не указан текст - ↑ а б Ошибка цитирования Неверный тег
<ref>
; для сносокhtml5-dir
не указан текст - ↑ а б Ошибка цитирования Неверный тег
<ref>
; для сносокhtml5-global
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокhtml5-xmlns
не указан текст - ↑ а б Ошибка цитирования Неверный тег
<ref>
; для сносокhtml5-title
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокw3c-validation
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокvalidator.nu
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокhtml5-p
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокhtml5-paragraphs
не указан текст