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!
سلام، دنیا
Привет, мир!
Здраво, свете!
Примечания
[править]- ↑ а б The html element(англ.) HTML5. W3C (2014-10-28). Проверено 2014-12-20 г.
- ↑ а б в The lang and xml:lang attributes(англ.) HTML5. W3C (2014-10-28). Проверено 2014-12-19 г.
- ↑ A. Phillips, M. Davis Language Tags
- ↑ Language Identification(англ.) Extensible Markup Language (XML) 1.1. W3C (2006-09-29). Проверено 2014-12-19 г.
- ↑ а б The dir attribute(англ.) HTML5. W3C (2014-10-28). Проверено 2014-12-24 г.
- ↑ а б Global attributes(англ.) HTML5. W3C (2014-10-28). Проверено 2014-12-24 г.
- ↑ Namespaces(англ.) HTML5. W3C (2014-10-28). Проверено 2014-12-19 г.
- ↑ а б The title element(англ.) HTML5. W3C (2014-10-28). Проверено 2014-12-20 г.
- ↑ W3C Markup Validation Service(англ.) Проверено 2014-12-24 г.
- ↑ Validator.nu (X)HTML5 Validator(англ.) Проверено 2014-12-24 г.
- ↑ The p element(англ.) HTML5. W3C (2014-10-28). Проверено 2014-12-20 г.
- ↑ Paragraphs(англ.) HTML5. W3C (2014-10-28). Проверено 2015-03-04 г.
См. также
[править]- В Википедии: