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 г.

См. также[править]