HTML в профилях/Базовый профиль

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

Мы также рассмотрим атрибут dir, используемый для явного указания направления письма (слева-направо или справа-налево), что особенно важно для воспроизведения документов, содержащих текст на нескольких языках.

Пример документаПравить

Вновь обратимся к простейшему примеру документа, для наглядности приводимому здесь в XHTML-записи.

Пример. Привет, мир!

<html xmlns="http://www.w3.org/1999/xhtml" lang="ru">
  <head>
    <title >Привет, мир!</title>
  </head>
  <body>
    <p >Это &#8212; пример документа HTML5.</p>
  </body>
</html>


Это — пример документа HTML5.

Обязательные элементыПравить

Корневым элементом документа является элемент html. Этот элемент, в свою очередь, обязан содержать два (и только два) дочерних элемента:[1]

  1. headметаданные (или «заголовок») документа в целом;
  2. 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!

سلام، دنیا

Привет, мир!

Здраво, свете!

ПримечанияПравить

  1. а б The html element(англ.) HTML5. W3C (2014-10-28). Проверено 2014-12-20 г.
  2. а б в The lang and xml:lang attributes(англ.) HTML5. W3C (2014-10-28). Проверено 2014-12-19 г.
  3. A. Phillips, M. Davis Language Tags
  4. Language Identification(англ.) Extensible Markup Language (XML) 1.1. W3C (2006-09-29). Проверено 2014-12-19 г.
  5. а б The dir attribute(англ.) HTML5. W3C (2014-10-28). Проверено 2014-12-24 г.
  6. а б Global attributes(англ.) HTML5. W3C (2014-10-28). Проверено 2014-12-24 г.
  7. Namespaces(англ.) HTML5. W3C (2014-10-28). Проверено 2014-12-19 г.
  8. а б The title element(англ.) HTML5. W3C (2014-10-28). Проверено 2014-12-20 г.
  9. W3C Markup Validation Service(англ.) Проверено 2014-12-24 г.
  10. Validator.nu (X)HTML5 Validator(англ.) Проверено 2014-12-24 г.
  11. The p element(англ.) HTML5. W3C (2014-10-28). Проверено 2014-12-20 г.
  12. Paragraphs(англ.) HTML5. W3C (2014-10-28). Проверено 2015-03-04 г.

См. такжеПравить