Спецификация HTML 4.01

Структура спецификации


1.1 Структура спецификации

Разделы данной спецификации:
Разделы 2 и 3: Введение в HTML 4 Введение описывает место HTML в схеме World Wide Web, предлагает краткий исторический обзор развития HTML, объясняет, что может быть сделано с помощью HTML 4, и предлагает некоторые замечания по созданию документов HTML.Краткий учебник по SGML даёт начальные понятия о соотношении HTML и SGML и общую информацию о том, как читать HTML Document Type Definition/Определение Типа Документа (DTD/ОТД).
Разделы 4 - 24: справочник по HTML 4 Основная часть - это справочник по языку HTML, рассматривающий все элементы и атрибуты языка.Этот документ организован по разделам, а не по грамматике HTML.
Разделы выделены по трём категориям: структуры, представления и интерактивность.
Хотя и нелегко точно разделить конструкции языка HTML на эти три категории, такое структурирование документа по представлению, отражающее опыт HTML Working Group, является более эффективным и удобным.
Справочник по языку содержит следующую информацию:
  • Какие символы могут появляться в документе HTML.
  • Базовые типы данных HTML-документов.
  • Элементы, определяющие структуру HTML-документа: текст, списки, таблицы, гиперссылки и внедрённые объекты, изображения и аплеты.
  • Элементы, определяющие вид HTML-документа: каскадные таблицы стилей, шрифты, цвета, линии и другие визуальные элементы, фрэймы (кадры) для многооконного представления.
  • Элементы для интерактивного взаимодействия с пользователем: формы для ввода данных пользователем и скрипты для активных документов.
  • Формальное SGML-объявление HTML-документа:
  • SGML-объявление HTML.
  • Три Определения Типа Документа (ОТД): strict, transitional и frameset.
  • Список ссылок-мнемоник.
  • Дополнения В первом содержится информация об изменениях в сравнении с версией HTML 3.2, что поможет авторам и разработчикам в переносе в версию HTML 4, а также изменения по спецификации
    от 18 декабря 1997 г.
    Во втором содержатся заметки об использовании. Оно предназначено в первую очередь для разработчиков как помощь в создании пользовательских браузеров HTML 4..Ссылки Список информационных и нормативных ссылок. Индексы Три индекса облегчают доступ читателю к ключевым понятиям, элементам и атрибутам.

    Элементы и атрибуты

    1.2.1 Элементы и атрибуты

    Имена элементов пишутся в верхнем регистре (BODY).
    Имена атрибутов пишутся в нижнем регистре (lang, onsubmit).
    Помните, что в HTML имена элементов и атрибутов нечувствительны к регистру, это предусмотрено соглашением.
    Имена элементов в этом документе выделены верхним регистром и могут быть специально обработаны некоторыми браузерами.
    Каждое определение атрибута специфицирует тип своего значения. Если тип позволяет вводить набор значений, то при определении этот набор вводится с разделением элементов знаком (|).
    После ввода информации каждое определение атрибута является чувствительным к регистру между ("[]"). Смотри раздел регистр.

    Замечания и примеры

    1.2.2 Замечания и примеры

    Информационные примечания выделены из окружающего текста и могут быть обработаны некоторыми браузерами.
    Все примеры, иллюстрирующие не рекомендуемые к использованию элементы и др., помечены так: "НЕ РЕКОМЕНДУЕТСЯ". Такие возражения также включают рекомендации по разрешению проблемы.
    Все примеры, иллюстрирующие неверное использование обозначены "НЕВЕРНОЕ ИСПОЛЬЗОВАНИЕ".
    Примеры и замечания выделены верхним регистром и могут быть обработаны некоторыми пользовательскими браузерами.

    Соглашения по документам

    1.2 Соглашения по документам

    Этот документ создавался в расчёте на читателей двух типов: авторов и разработчиков. Мы надеемся, что эта спецификация станет хорошим подспорьем авторам и разработчикам при написании эффективных, привлекательных и доступных документов без излишней детализации исполнения HTML.
    Разработчики найдут здесь всё, что может им понадобиться для создания соответствующих браузеров.
    Спецификация может быть использована различными методами:
  • Читать от начала до конца
    Спецификация начинается общим представлением HTML и становится всё более и более детализированной к концу.
  • Быстрый доступ к информации
    Чтобы получить информацию о синтаксисе и семантике как можно быстрее, эта online-версия спецификации представляет следующие возможности:
  • Каждая справка об элементе или атрибуте содержит ссылки на его определение в спецификации. Каждый элемент или атрибут определён только в одном месте.
  • Каждая страница содержит ссылки на индексы, так что Вы всегда можете найти определение элемента или атрибута.
  • На первой странице каждого раздела справочника по языку находится более детализированное содержание этой секции.



  • О спецификации HTML

    1. О спецификации HTML 4

    Содержание

  • Структура спецификации
  • Соглашения
  • Элементы и атрибуты
  • Замечания и примеры
  • Благодарности
  • Благодарность за этот документ
  • Авторские права


  • Введение


    10.1 Введение

    HTML предлагает авторам несколько механизмов спецификации информации в списках. Все списки должны содержать не менее одного элемента списка. Список может содержать:
  • неупорядоченную информацию;
  • упорядоченную информацию;
  • Определения/Definitions.
  • Предыдущий список, например, это неупорядоченный список, созданный элементом UL:
  • неупорядоченную информацию;
  • упорядоченную информацию;
  • Определения/Definitions. Упорядоченный список, созданный с использованием элемента OL, должен содержать информацию, как этот порядок может быть установлен, как в рецепте:
  • Mix dry ingredients thoroughly.
  • Pour in wet ingredients.
  • Mix for 10 minutes.
  • Bake for one hour at 300 degrees.
  • Списки определений, создаваемые элементом DL, обычно состоят из последовательности пар термин/его определение. Таким образом, представляя продукт, можно использовать список определений:
    Lower cost The new version of this product costs significantly less than the previous one! Easier to use We've changed the product so that it's much easier to use! Safe for kids You can leave your kids alone in a room with this product and they won't get hurt (not a guarantee). что выглядит в HTML так:
    Lower cost
    The new version of this product costs significantly less than the previous one!
    Easier to use
    We've changed the product so that it's much easier to use!
    Safe for kids
    You can leave your kids alone in a room with this product and they won't get hurt (not a guarantee).
    Списки также могут вкладываться, при этом списки разных типов можно использовать вместе, как в следующем примере, который является списком определений, содержащим неупорядоченный список (the ingredients) и упорядоченный список (the procedure):
    The ingredients:
  • 100 g. flour
  • 10 g. sugar
  • 1 cup water
  • 2 eggs
  • salt, pepper
  • The procedure:
  • Mix dry ingredients thoroughly.
  • Pour in wet ingredients.
  • Mix for 10 minutes.
  • Bake for one hour at 300 degrees.
  • Notes: The recipe may be improved by adding raisins. Точное представление списков этих трёх типов зависит от ПА. Мы предостерегаем авторов от использования списков только для вывода текста с отступами. Это вопрос стиля, и он должен соответственно решаться в таблицах стилей.

    Неупорядоченные списки (UL), упорядоченные списки (OL) и элементы списка (LI)


    10.2 Неупорядоченные списки (UL), упорядоченные списки (OL) и элементы списка (LI)

    UL - - (LI)+ -- неупорядоченный список --> %attrs; -- %coreattrs, %i18n, %events -- > OL - - (LI)+ -- упорядоченный список --> %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: необходим
    LI - O (%flow;)* -- элемент списка --> %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: не обязателен
    Определения атрибутов
    type = информация о стиле [CI] Не рекомендуется. Этот атрибут устанавливает стиль элемента списка. Доступные в настоящее время значения касаются визуальных ПА. Возможные значения описаны ниже (вместе с информацией о регистре). start = number [CN] Не рекомендуется. Только для OL. Этот атрибут устанавливает номер первого элемента упорядоченного списка. По умолчанию это "1". Заметьте, что, хотя значением этого атрибута является целое число, соответствующие лэйблы могут быть нечисловыми.
    Так, если стиль элемента списка это латинские буквы в верхнем регистре (A, B, C, ...), start=3 означает "C".
    Если стиль - это римские цифры в нижнем регистре, start=3 означает "iii" и т.д. value = number [CN] Не рекомендуется. Только для LI. Этот атрибут устанавливает номер текущего элемента списка. Заметьте, что, хотя значением этого атрибута является целое число, соответствующие лэйблы могут быть нечисловым (см. атрибут start). compact [CI] Не рекомендуется. Если установлен, этот булев атрибут подсказывает визуальному ПА, что список нужно отображать более компактно. Интерпретация этого атрибута зависит от ПА. Атрибуты, определённые в другом месте
  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (заголовок элемента)
  • style (инлайн-стиль)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • Упорядоченные и неупорядоченные списки отображаются идентичными способами, за исключением того, что визуальные ПА нумеруют элементы упорядоченных списков. ПА могут представлять нумерацию разными способами. Элементы неупорядоченных списков не нумеруются.
    Списки обоих типов состоят из последовательности элементов списка, определённых элементом LI (с отсутствующим конечным тегом).
    Этот пример иллюстрирует базовую структуры списков:
  • ...первый элемент списка...
  • ...второй элемент списка... ... Списки также могут быть вложенными:
    НЕ РЕКОМЕНДУЕТСЯ:
  • ... Уровень 1, номер 1 ...
  • ... Уровень 2, номер 1 ...
  • ... Уровень 2, номер 2 ...
    1. ... Уровень 3, номер 1 ...
    2. ... Уровень 2, номер 3 ...
    3. ... Уровень 1, номер 2 ... Детали. В упорядоченных списках невозможно продолжить автоматически нумерацию списка после предыдущего списка или скрыть нумерацию некоторых элементов списка. Однако, авторы могут сбросить номер элемента списка установкой его атрибута value. Нумерация начинается с нового для списка элементов значения. Например:
    4. устанавливает номер элемента 30.
    5. устанавливает номер элемента 40.
    6. установлен номер элемента 41.

      Визуальное представление списков

      10.3.1 Визуальное представление списков

      Примечание. Это информативное описание поведения некоторых существующих визуальных ПА при форматировании списков. Таблицы стиля дают авторам большие возможности управления форматированием списков (напр., по нумерации, зависящим от языка соглашениям, отступам и т.д.).
      Визуальные ПА обычно осуществляют отступ вложенных списков с учётом текущего уровня вложенности.
      И для OL, и для UL атрибут type определяет опции отображения визуальными ПА.
      Для элемента UL возможные значения атрибута type - disc, square и circle. Значения по умолчанию зависят от уровня вложения. Эти значения нечувствительны к регистру.
      Представление каждого значения зависит от ПА. ПА должны пытаться представить "disc" как маленький заполненный кружок, "circle" как маленький круг и "square" как маленький квадрат.
      Графический ПА может отобразить это так:
      Визуальное представление списков для значения "disc"
      Визуальное представление списков для значения "circle"
      Визуальное представление списков для значения "square"
      Для элемента OL возможные значения атрибута type суммированы в таблице (значение нечувствительны к регистру):
      Type/Тип Стиль нумерации
      1 арабские цифры 1, 2, 3, ...
      a латинский алфавит, нижний регистр a, b, c, ...
      A латинский алфавит, верхний регистр A, B, C, ...
      i римский алфавит, нижний регистр i, ii, iii, ...
      I римский алфавит, верхний регистр I, II, III, ...
      Обратите внимание, что атрибут type не рекомендуется применять, и стили списков должны обрабатываться таблицами стилей.
      Например, используя CSS (Каскадную Таблицу Стилей), можно определить, что стиль нумерации элементов списка должен быть - римские цифры в нижнем регистре. В предыдущем примере каждый элемент OL, принадлежащий к классу "withroman", будет иметь римскую нумерацию перед началом каждого элемента списка.
      1. Step one ...
      2. Step two ... Представление списков Definition также зависит от ПА. Пример:
        Dweeb
        young excitable person who may mature into a Nerd or Geek
        Hacker
        a clever programmer
        Nerd
        technically bright but socially inept person
        может быть отображено так:
        Dweeb young excitable person who may mature into a Nerd or Geek Hacker a clever programmer Nerd technically bright but socially inept person

        Списки Definition: элементы DL, DT и DD


        10.3 Списки Definition: элементы DL, DT и DD

        DL - - (DT|DD)+ -- список definition --> %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: необходим
        DT - O (%inline;)* -- термин --> DD - O (%flow;)* -- описание термина --> %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: не обязателен
        Атрибуты, определённые в другом месте
      3. id, class (идентификаторы документа)
      4. lang (язык), dir (направление текста)
      5. title (заголовок элемента)
      6. style (инлайн-стиль)
      7. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      8. Списки определений лишь немного отличаются от других типов списка тем, что их элемент состоит из двух частей: термина и его описания. Термин задаётся элементом DT и ограничен как инлайн-содержимое. Описание задаётся элементом DD, содержимое которого - уровня блока.
        Вот пример:
        Dweeb
        young excitable person who may mature into a Nerd or Geek
        Hacker
        a clever programmer
        Nerd
        technically bright but socially inept person
        Это пример нескольких терминов и описаний:
        Center
        Centre
        A point equidistant from all points on the surface of a sphere.
        In some field sports, the player who holds the middle position on the field, court, or forward line.
        Другая сфера применения DL это, например, создание диалогов, где каждый DT именует говорящего, а каждый DD содержит его/ её слова.

        Элементы DIR и MENU

        10.4 Элементы DIR и MENU

        DIR и MENU не рекомендуются.
        См. формальное определение в Transitional/Переходном ОТД.
        Атрибуты, определённые в другом месте
      9. id, class (идентификаторы документа)
      10. lang (язык), dir (направление текста)
      11. title (заголовок элемента)
      12. style (инлайн-стиль)
      13. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      14. Элемент DIR был разработан для создания списка из нескольких столбцов. Элемент MENU был разработан для создания списка в один столбец. Оба элемента имеют ту же структуру, что и UL, но другое представление. На практике, ПА будет рассматривать списки DIR или MENU как список UL.
        Мы настоятельно рекомендуем использовать UL вместо этих элементов.

        Списки

        10. Списки

        Содержание
      15. Введение
      16. Неупорядоченные списки (UL), упорядоченные списки (OL) и элементы списка (LI)
      17. Списки Definition: элементы DL, DT и DD
      18. Визуальное представление списков
      19. Элементы DIR и MENU


      20. Введение


        11.1 Введение

        Модель таблиц HTML позволяет авторам упорядочивать данные - текст, форматированный текст, изображения, гиперссылки, формы, поля форм, другие таблицы и т.д. - в ряды и столбцы ячеек.
        Каждая таблица может иметь ассоциированный заголовок (см. элемент CAPTION), представляющий краткое описание назначения таблицы. Полное описание также может быть представлено (атрибутом summary) для использования в ПА по системе Брайля.
        Ряды таблицы могут быть сгруппированы в разделы head, foot и body (элементами THEAD, TFOOT и TBODY соответственно). Группы рядов дополнительно структурируют информацию и могут отображаться в ПА так, чтобы подчеркнуть эту структуризацию. ПА могут использовать разделение head/body/foot для поддержки прокрутки раздела body независимо от разделов head и foot. Если распечатываются большие таблицы, head и foot информация может повторяться на каждой странице с данными таблицы.
        Авторы могут также группировать столбцы, чтобы предоставлять дополнительно структурированную информацию, которая может быть использована ПА. Кроме того, авторы могут объявлять свойства столбцов в начале определения таблицы (элементами COLGROUP и COL) таким образом, чтобы дать ПА возможность просматривать таблицу частями, а не заставлять пользователя ждать загрузки всех данных таблицы, прежде чем начать её отображение.
        Ячейки таблицы могут содержать или "header" информацию (см. элемент TH), или "data" (см. элемент TD). Ячейки могут занимать несколько рядов или столбцов. Модель таблиц HTML 4 позволяет авторам помечать каждую ячейку так, что невизуальные ПА могут легче предавать заголовочную информацию о ячейке пользователю. Эти механизмы не только существенно помогают пользователям с дефектами зрения, они делают также возможным показ таблиц во многорежимных беспроводных браузерах с ограниченными возможностями отображения (например, пэйджеры и телефоны с возможностью отображения Web).
        Таблицы не должны использоваться только с целью форматирования содержимого документа, так как это может создавать проблемы для невизуальных устройств. К тому же, при использовании с графикой, такие таблицы могут потребовать горизонтальной прокрутки для просмотра таблиц, созданных в системе с более широким дисплеем. Чтобы минимизировать эти проблемы, авторы должны использовать для управления выводом таблицы стиля, а не таблицы.
        Примечание. Эта спецификация содержит более детальную информацию о таблицах в разделе рациональный дизайн таблиц и вопросы реализации.
        Вот простая таблица, иллюстрирующая возможности табличной модели HTML.
        Следующее определение таблицы:
        A test table with merged cells
        Average Red
        eyes
        heightweight
        Males1.90.00340%
        Females1.70.00243%
        может отображаться на устройстве tty примерно так:
        A test table with merged cells /-----------------------------------------\ | | Average | Red | | |-------------------| eyes | | | height | weight | | |-----------------------------------------| | Males | 1.9 | 0.003 | 40% | |-----------------------------------------| | Females | 1.7 | 0.002 | 43% | \-----------------------------------------/ или так в графическом ПА:
        Введение

        Элемент TABLE

        11.2.1 Элемент TABLE

        TABLE - - (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)> %attrs; -- %coreattrs, %i18n, %events -- summary %Text; #ПРЕДПОЛАГАЕТСЯ -- назначение/структура для речевого вывода -- width %Length; #ПРЕДПОЛАГАЕТСЯ -- ширина таблицы -- border %Pixels; #ПРЕДПОЛАГАЕТСЯ -- толщина рамки вокруг таблицы -- frame %TFrame; #ПРЕДПОЛАГАЕТСЯ -- какие части фрэйма отображать -- rules %TRules; #ПРЕДПОЛАГАЕТСЯ -- линии между рядами и столбцами -- cellspacing %Length; #ПРЕДПОЛАГАЕТСЯ -- расстояние между ячейками -- cellpadding %Length; #ПРЕДПОЛАГАЕТСЯ -- расстояние между рамкой ячейки и её содержимым -- > Начальный тег: необходим, Конечный тег: необходим
        Определения атрибутов
        summary = text [CS] Определяет общую информацию о назначении и структуре таблицы для ПА с невизуальными носителями: речевых и по Брайлю. align = left|center|right [CI] Не рекомендуется. Этот атрибут определяет положение таблицы по отношению к документу. Допустимые значения:
      21. left: влево;.
      22. center: по центру документа;.
      23. right: справа.
      24. width = length [CN] Определяет необходимую ширину всей таблицы и предназначен для ПА. Если значение указано в процентах, оно является относительным к доступному в ПА горизонтальному пространству. При отсутствии спецификации ширины, ширина таблицы определяется ПА. Атрибуты, определённые в другом месте
      25. id, class (идентификаторы документа)
      26. lang (язык), dir (направление текста)
      27. title (заголовок элемента)
      28. style (инлайн-стиль)
      29. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      30. bgcolor (цвет фона)
      31. frame, rules, border (рамки и сетка разметки)
      32. cellspacing, cellpadding (поля ячейки)
      33. Элемент TABLE содержит все другие элементы, определяющие заголовок таблицы, ряды, содержимое и форматирование.
        Следующая информация описывает, какие операции ПА могут выполнять при отображении таблиц:
      34. Делать общую информацию/summary доступной для пользователя. Авторы должны предоставлять общую информацию о содержимом и структуре таблицы так, чтобы люди, использующие невизуальные ПА могли лучше понять её.
      35. Показывать заголовок таблицы, если он определён.
      36. Показывать "шапку"/header, если определён. Показывать футер/footer таблицы, если определён. ПА должны знать, где отображать шапку и футер. Например, если носитель вывода - страничный, ПА могут размещать шапку вверху каждой страницы, а футер - внизу. Так же, если ПА предоставляет механизм прокрутки рядов, шапка может находиться сверху, а футер - снизу от прокручиваемой области.
      37. Подсчитывать количество столбцов в таблице. Заметьте, что количество рядов в таблице равно количеству элементов TR, содержащихся в элементе TABLE.
      38. Группировать столбцы в соответствии со спецификацией групп столбцов.
      39. Отображать ячейки ряд за рядом, сгруппированными в соответствующие столбцы, между шапкой и футером. Визуальные ПА форматируют таблицу в соответствии со спецификацией атрибутов и таблиц стилей HTML.
      40. Модель таблиц HTML была разработана таким образом, что, с помощью авторов, ПА могут отображать таблицы частями (т.е. по мере получения рядов таблицы), вместо того, чтобы ожидать получения всех данных таблицы перед началом отображения.
        Для того, чтобы ПА форматировали таблицы в один этап, авторы должны сообщить ПА:
      41. Количество столбцов в таблице. См. раздел подсчёт количества столбцов таблицы.
      42. Ширину этих столбцов. См. раздел подсчёт ширины столбцов.
      43. Более точно ПА может отображать таблицу в один этап, если ширина столбцов определена комбинацией элементов COLGROUP и COL. Если какие-либо столбцы определены в относительных единицах или процентах (см. раздел подсчёт ширины столбцов), авторы должны также определить ширину всей таблицы.

        Заголовок таблицы: элемент CAPTION

        11.2.2 Заголовок таблицы: элемент CAPTION

        CAPTION - - (%inline;)* -- заголовок таблицы --> %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: необходим
        Определение атрибута
        align = top|bottom|left|right [CI] Не рекомендуется. Для визуальных ПА этот атрибут определяет положение заголовка относительно таблицы. Возможные значения:
      44. top: заголовок сверху над таблицей. Это значение по умолчанию;
      45. bottom: заголовок снизу под таблицей;
      46. left: заголовок слева от таблицы;
      47. right: заголовок справа от таблицы.
      48. Атрибуты, определённые в другом месте
      49. id, class (идентификаторы документа)
      50. lang (язык), dir (направление текста)
      51. title (заголовок элемента)
      52. style (инлайн-стиль)
      53. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      54. Если элемент CAPTION присутствует, текст должен описывать сущность таблицы. Элемент CAPTION допускается только непосредственно после начального тега TABLE. Элемент TABLE может содержать только один элемент CAPTION.
        Визуальные ПА позволяют зрячим людям разом охватить структуру таблицы, начиная с "шапки". Следствием этого может быть то, что заголовок часто не отражает общее назначение и структуру таблицы для тех, кто просматривает её в невизуальных ПА.
        По этой причине авторы должны позаботиться о предоставлении дополнительной информации, суммирующей назначение и структуру таблицы, используя атрибут summary элемента TABLE. Это особенно важно для таблиц без заголовка. Данные ниже примеры иллюстрируют использование атрибута summary.
        Визуальные ПА должны исключить усечение любой части таблицы, в том числе и заголовка, если только нет цели обеспечить доступ ко всей таблице целиком, например, с помощью горизонтальной или вертикальной прокрутки. Мы рекомендуем, чтобы текст заголовка был расположен на ту же ширину, что и таблица (см. также раздел рекомендуемый алгоритм вывода).

        Группы рядов: элементы THEAD, TFOOT и TBODY

        11.2.3 Группы рядов: элементы THEAD, TFOOT и TBODY

        THEAD - O (TR)+ -- "шапка" таблицы --> TFOOT - O (TR)+ -- футер таблицы --> Начальный тег: необходим, Конечный тег: не обязателен
        TBODY O O (TR)+ -- тело таблицы --> Начальный тег: не обязателен, Конечный тег: не обязателен
        %attrs; -- %coreattrs, %i18n, %events -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- > Атрибуты, определённые в другом месте
      55. id, class (идентификаторы документа)
      56. lang (язык), dir (направление текста)
      57. title (заголовок элемента)
      58. style (инлайн-стиль)
      59. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      60. align, char, charoff, valign (выравнивание в ячейке)
      61. Ряды таблицы могут быть сгруппированы в "шапку", футер и один или более разделов тела документа с помощью элементов THEAD, TFOOT и TBODY соответственно. Это разделение делает возможным для ПА поддерживать прокрутку тела таблицы независимо от "шапки" и футера. Если распечатываются большие таблицы, информация "шапки" и футера может повторяться на каждой странице, содержащей данные таблицы.
        "Шапка" и футер таблицы должны содержать информацию о столбцах таблицы. Тело таблицы должно содержать ряды данных таблицы.
        Если элементы THEAD, TFOOT и TBODY установлены, каждый из них содержит группу рядов.
        Каждая группа рядов должна содержать минимум один ряд, определённый элементом TR.
        Этот пример иллюстрирует порядок и структуру "шапки", футера и тела таблицы.
        ...информация "шапки"... ...информация футера... ...первый ряд данных блока 1... ...второй ряд данных блока 1... ...первый ряд данных блока 2... ...второй ряд данных блока 2... ...третий ряд данных блока 2...
        TFOOT должен появляться перед TBODY внутри определения TABLE так, чтобы ПА могли отобразить футер до получения (возможно, многочисленных) рядов данных. Вот краткое резюме того, какие теги необходимы и какие могут быть опущены:
      62. начальный тег TBODY необходим всегда, за исключением случаев, когда таблица содержит только тело без разделов "шапки" и футера. Конечный тег элемента TBODY всегда может быть спокойно пропущен;
      63. начальный тег элементов THEAD и TFOOT необходим, если соответственно присутствуют разделы "шапки" и футера, но соответствующие конечные теги всегда могут быть пропущены без последствий.
      64. Соответствующие требованиям разборщики пользовательских агентов должны всегда следовать этим правилам для обеспечения обратной совместимости.
        Таблица предыдущего примера может быть укорочена за счёт удаления некоторых конечных тегов:
        ...информация "шапки"... ...информация футера... ...первый ряд данных блока 1... ...второй ряд данных блока 1... ...первый ряд данных блока 2... ...второй ряд данных блока 2... ...третий ряд данных блока 2...
        Разделы THEAD, TFOOT и TBODY должны содержать одинаковое количество столбцов.

        Группы столбцов: элементы COLGROUP и COL

        11.2.4 Группы столбцов: элементы COLGROUP и COL

        Группы столбцов позволяют авторам создавать структурированные подразделения внутри таблицы. Авторы могут сделать эту структуру более ясной с помощью таблиц стилей или атрибутов HTML (напр., атрибут rules элемента TABLE). См. пример визуального представления группы столбцов в образце таблицы.
        Таблица может содержать единую подразумеваемую группу столбцов (нет элементов COLGROUP, разграничивающих столбцы) или любое количество явно определённых групп столбцов (каждая ограничена вхождением элемента COLGROUP).
        Элемент COL позволяет авторам разделять использование атрибутов среди нескольких столбцов без применения какого-либо структурного группирования. Атрибут "span" элемента COL это количество столбцов, которые будут использовать атрибуты элемента.

        Ряды: элемент TR


        11.2.5 Ряды: элемент TR

        TR - O (TH|TD)+ -- ряд таблицы --> %attrs; -- %coreattrs, %i18n, %events -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- > Начальный тег: необходим, Конечный тег: не обязателен
        Атрибуты, определённые в другом месте
      65. id, class (идентификаторы документа)
      66. lang (язык), dir (направление текста)
      67. title (заголовок элемента)
      68. style (инлайн-стиль)
      69. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      70. bgcolor (цвет фона)
      71. align, char, charoff, valign (выравнивание в ячейке)

      72. Элемент TR действует как контейнер для ряда ячеек таблицы. Конечный тег может быть опущен.
        Образец таблицы содержит три ряда, каждый из которых начинается элементом TR:
        ...заголовочный ряд... ...1 ряд данных... ...2 ряд данных... ...остальная часть таблицы...
        Cups of coffee consumed by each senator


        Ячейки: элементы TH и TD

        11.2.6 Ячейки: элементы TH и TD

        TH|TD) - O (%flow;)* -- ячейка заголовочная|данных --> %attrs; -- %coreattrs, %i18n, %events -- abbr %Text; #ПРЕДПОЛАГАЕТСЯ -- аббревиатура для заголовочной ячейки -- axis CDATA #ПРЕДПОЛАГАЕТСЯ -- список разделённых запятыми относительных заголовков-- headers IDREFS #ПРЕДПОЛАГАЕТСЯ -- список id заголовочных ячеек -- scope %Scope; #ПРЕДПОЛАГАЕТСЯ -- область видимости заголовочных ячеек -- rowspan NUMBER 1 -- количество рядов, охваченных ячейкой -- colspan NUMBER 1 -- количество столбцов, охваченных ячейкой -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- > Начальный тег: необходим, Конечный тег: не обязателен
        Определения атрибутов
        headers = idrefs [CS] Определяет список заголовочных ячеек, предоставляющих заголовочную информацию для текущей ячейки данных. Значением этого атрибут является список разделённых пробелами имён ячеек; эти ячейки должны быть именованы путём установки их атрибутов id. Авторы обычно используют атрибут headers для того, чтобы помочь невизуальным ПА представить заголовочную информацию о ячейке данных (напр., заголовочная информация произносится до вывода данных ячейки), но этот атрибут может также использоваться вместе с таблицами стилей. См. также атрибут scope. scope = scope-name [CI] Определяет набор ячеек данных, для которых текущая заголовочная ячейка предоставляет заголовочную информацию. Этот атрибут может использоваться вместо атрибута headers, особенно в простых таблицах. Если установлен, этот атрибут должен иметь одно из следующих значений:
      73. row: текущая ячейка предоставляет заголовочную информацию для оставшейся части ряда, содержащего её (см. также раздел направление таблиц).
      74. col: текущая ячейка предоставляет заголовочную информацию для оставшейся части столбца, содержащего её.
      75. rowgroup: заголовочная ячейка предоставляет заголовочную информацию для оставшейся части группы рядов, содержащих её.
      76. colgroup: заголовочная ячейка предоставляет заголовочную информацию для оставшейся части группы столбцов, содержащих её.
      77. abbr = text [CS] Этот атрибут должен использоваться для представления содержимого ячейки в сокращённой форме и может выводиться ПА, если это удобно, вместо содержимого ячейки. Сокращённые имена должны быть краткими, поскольку ПА могут отображать их повторно. Например, голосовые синтезаторы могут выводить сокращённые заголовки до вывода содержимого этих ячеек. axis = cdata [CI] Этот атрибут может использоваться для помещения ячейки в концептуальные категории, которые можно представить в виде осей в n-размерном пространстве. ПА могут дать пользователям доступ к этим категориям (напр., пользователь может запросить у ПА все ячейки, принадлежащие к определённым категориям, ПА может представить таблицу в форме оглавления и т.д.). См. раздел категоризация ячеек. Значением этого атрибута является список разделённых запятыми имён категорий. rowspan = number [CN] Определяет количество рядов, охваченных текущей ячейкой. Значение по умолчанию ("1").
        ("0") означает, что ячейка охватывает все ряды раздела таблицы, начиная с текущего ряда и заканчивая последним рядом раздела (THEAD, TBODY или TFOOT), в котором ячейка определена. colspan = number [CN] Определяет количество столбцов, охваченных текущей ячейкой. Значение по умолчанию ("1").
        ("0") означает, что ячейка охватывает все столбцы, начиная с текущего столбца и заканчивая последним столбцом группы (COLGROUP), в которой ячейка определена. nowrap [CI] Не рекомендуется. Если установлен, этот булев атрибут просит ПА отменить автоматический перенос строк в данной ячейке. Таблицы стилей должны использоваться вместо этого атрибута.
        Примечание. При неосторожном использовании, этот атрибут может вызвать появление слишком широких ячеек. width = length [CN] Не рекомендуется. Сообщает в ПА рекомендуемую ширину ячейки. height = length [CN] Не рекомендуется. Сообщает в ПА рекомендуемую высоту ячейки. Атрибуты, определённые в другом месте
      78. id, class (идентификаторы документа)
      79. lang (язык), dir (направление текста)
      80. title (заголовок элемента)
      81. style (инлайн-стиль)
      82. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      83. bgcolor (цвет фона)
      84. align, char, charoff, valign (выравнивание в ячейке)
      85. Ячейки таблицы могут содержать информацию двух типов: заголовочную информацию и данные. Такое разделение даёт ПА возможность по разному выводить ячейки заголовков и данных даже при отсутствии таблиц стилей. Например, визуальные ПА могут представлять текст заголовочной ячейки полужирным шрифтом. Голосовые синтезаторы могут представлять информацию заголовка другой интонацией.
        Элемент TH определяет ячейку, содержащую заголовочную информацию. Для ПА доступно две части заголовочной информации: содержимое элемента TH и значение атрибута abbr. ПА должны выводить или содержимое ячейки, или значение атрибута abbr.
        Для визуальных носителей последнее более предпочтительно, когда не хватает пространства для вывода полного содержимого ячейки.
        В невизуальных носителях abbr может использоваться как сокращённая форма заголовков таблицы, когда они выводятся параллельно с содержимым ячеек, к которым относятся.
        Атрибуты headers и scope также позволяют авторам облегчать невизуальным ПА обработку заголовочной информации. См. дополнительную информацию и примеры: пометка ячеек для невизуальных ПА.
        Элемент TD определяет ячейку данных.
        Ячейки могут быть пустыми (т.е. не содержать данных).
        Например, следующая таблица содержит 4 столбца данных, каждый с заголовком, содержащим описание столбца.
        Cups of coffee consumed by each senator
        Name Cups Type of Coffee Sugar?
        T. Sexton 10 Espresso No
        J. Dinnen 5 Decaf Yes
        Вывод ПА для устройства tty может выглядеть так:
        Name Cups Type of Coffee Sugar? T. Sexton 10 Espresso No J. Dinnen 5 Decaf Yes

        Элементы конструирования таблиц


        11.2 Элементы конструирования таблиц


        Рамки и линии сетки таблицы

        11.3.1 Рамки и линии сетки таблицы

        Следующие атрибуты влияют на отображение рамки таблицы и внутренней сетки.
        Определения атрибутов
        frame = void|above|below|hsides|lhs|rhs|vsides|box|border [CI] Этот атрибут определяет, какие стороны рамки окружающей таблицу, будут видны. Возможные значения:
      86. void: не отображается. Это значение по умолчанию;
      87. above: только верхняя часть;
      88. below: только нижняя часть;
      89. hsides: только верхняя и нижняя;
      90. vsides: только правая и левая;
      91. lhs: только левая;
      92. rhs: только правая;
      93. box: все четыре стороны;
      94. border: все четыре стороны.
      95. rules = none|groups|rows|cols|all [CI] Определяет, какие линии появятся между ячейками. Вывод зависит от ПА. Возможные значения:
      96. none: не отображаются. значение по умолчанию;
      97. groups: только линии между группами рядов (см. THEAD, TFOOT и TBODY) и группами столбцов (см. COLGROUP и COL);
      98. rows: только линии между рядами;
      99. cols: только линии между столбцами;
      100. all: линии между всеми рядами и столбцами.
      101. border = pixels [CN] Определяет ширину (только в пикселах) рамки вокруг таблицы (см. Примечание ниже об этом атрибуте). Чтобы выделить ячейки таблицы, мы можем использовать атрибут border элемента TABLE. Рассмотрим предыдущий пример:
        Cups of coffee consumed by each senator
        Name Cups Type of Coffee Sugar?
        T. Sexton 10 Espresso No
        J. Dinnen 5 Decaf Yes
        В следующем примере ПА должен вывести линии толщиной 5 пикселов слева и справа от таблицы и линии между столбцами.
        1 2 3
        4 5 6
        7 8 9
        Следующие установки должны учитываться ПА для обеспечения обратной совместимости:
      102. Установка border="0" подразумевает frame="void" и, если не определено иное, rules="none".
      103. Другие значения border подразумевают frame="border" и, если не определено иное, rules="all".
      104. Значение "border" в начальном теге элемента TABLE должно интерпретироваться как значение атрибута frame. Это подразумевает rules="all" и какое-либо (ненулевое) значение по умолчанию атрибута border.
      105. Например, следующие определения эквивалентны:
        как и следующие:
        Примечание. Атрибут border определяет поведение обрамления для элементов OBJECT и IMG, но принимает для этих элементов разные значения.

        Горизонтальное и вертикальное выравнивание

        11.3.2 Горизонтальное и вертикальное выравнивание

        Следующие атрибуты могут быть установлены для различных элементов таблицы (см. соответствующие определения).
        align (left|center|right|justify|char) #IMPLIED char%Character; #ПРЕДПОЛАГАЕТСЯ -- символ выравнивания, например, char=':' -- charoff%Length; #ПРЕДПОЛАГАЕТСЯ -- offset символа выравнивания --" > valign (top|middle|bottom|baseline) #IMPLIED" > Определения атрибутов
        align = left|center|right|justify|char [CI] Этот атрибут определяет горизонтальное выравнивание данных и положение текста в ячейке. Возможные значения:
      106. left: влево - данные/текст влево. Значение по умолчанию для данных таблицы;
      107. center: по центру - данные/текст по центру. Это значение по умолчанию для заголовков таблицы;
      108. right: вправо - данные/текст вправо;
      109. justify: выравнивание текста по формату;
      110. char: Выравнивание текста по особому символу. Если ПА не поддерживает выравнивание по символу, поведение ПА при установленном (этом) значении не определено.
      111. valign = top|middle|bottom|baseline [CI] Этот атрибут определяет вертикальное выравнивание данных в ячейке. Возможные значения:
      112. top: по верху ячейки;
      113. middle: по центру ячейки. Это значение по умолчанию;
      114. bottom: по нижней границе ячейки;
      115. baseline: все ячейки в том же ряду, что и ячейка с данным установленным значением атрибута valign, должны установить свои текстовые данные так, чтобы первая строка текста появлялась на baseline/базовой линии, общей для всех ячеек ряда. Это ограничение не действует на последующие строки текста в этих ячейках.
      116. char = character[CN] Этот атрибут определяет одиночный символ во фрагменте текста, служащий осью выравнивания. Значением по умолчанию этого атрибута является символ десятичной точки текущего языка, установленного атрибутом lang (напр., точка (".") в английском и запятая во французском (",")). ПА не обязаны поддерживать этот атрибут. charoff = length[CN] Если установлен, этот атрибут определяет offset/отсутствие первого в каждой строке символа выравнивания. Если строка не содержит символа выравнивания, она должна быть горизонтально смещена к концу позиции выравнивания.Если charoff используется для установки офсета символа выравнивания, направление офсета определяется текущим направлением текста (установленным атрибутом dir). В текстах слева-направо (по умолчанию) офсет слева. В текстах справа налево офсет справа. От ПА не требуется поддерживать данный атрибут.
        В этой таблице ряд цен выровнен вокруг десятичной точки. Мы явно устанавливаем символ выравнивания ".".
        Vegetable Cost per kilo
        Lettuce $1
        Silver carrots $10.50
        Golden turnips $100.30
        Форматирование может выглядеть примерно так:
        ------------------------------ | Vegetable |Cost per kilo| |--------------|-------------| |Lettuce | $1 | |--------------|-------------| |Silver carrots| $10.50| |--------------|-------------| |Golden turnips| $100.30| ------------------------------ Если в содержимом ячейки есть более одного символа выравнивания, установленного атрибутом char, и строки содержимого переносятся, поведение ПА не определено. Поэтому авторы должны быть внимательны при использовании char.
        Примечание. Визуальные ПА обычно отображают элементы TH сцентрированными в ячейке вертикально и горизонтально и полужирным шрифтом.

        Поля ячейки

        11.3.3 Поля ячейки

        Определения атрибутов
        cellspacing = length [CN] Определяет, какое пространство ПА должен выделять между левым обрезом таблицы и левым полем самого левого столбца, верхом таблицы и верхней стороной самого верхнего ряда, и так же для правой стороны и низа таблицы. Этот атрибут определяет также размер пустого пространства между ячейками. cellpadding = length [CN] Определяет размер свободного пространства между обрамлением ячейки и её содержимым. Если значением этого атрибута является размер в пикселах, все четыре поля должны быть этого размера. Если значением этого атрибута является размер в процентах, верхняя и нижняя границы должны быть равно удалены от содержимого на базе процентного отношения в пределах доступного вертикального пространства, а левая и правая границы должны быть равно удалены от содержимого на базе процентного отношения в пределах доступного горизонтального пространства. Эти два атрибута управляют полями между ячеек и внутри них. Следующий рисунок поясняет эти соотношения:

        Поля ячейки
        В следующем примере атрибут cellspacing определяет, что ячейки должны отделяться друг от друга и от рамки таблицы полями размером 20 пикселов. Атрибут cellpadding определяет, что верхняя и нижняя границы ячейки отделяются от содержимого полями размером 10% доступного вертикального пространства (всего составляющего 20%). Таким же образом левая и правая границы ячейки отделяются от содержимого полями размером 10% доступного горизонтального пространства (всего составляющего 20%).

        Data1 Data2 Data3
        Если таблица или столбец имеют фиксированную ширину, cellspacing и cellpadding могут потребовать больше пространства, чем назначено. ПА могут дать этим атрибутам преимущество перед атрибутом width, если возникнет конфликт.

        Форматирование таблицы пользовательскими агентами


        11.3 Форматирование таблицы пользовательскими агентами

        Примечание. В данном разделе рассматриваются атрибуты таблиц HTML, относящиеся к визуальному форматированию. Когда эта спецификация была впервые опубликована в 1997 году, [CSS1] не предоставлял механизмы управления всеми аспектами визуального форматирования таблиц. Затем [CSS2] добавил свойства, позволяющие проводить визуальное форматирование таблиц.
        HTML 4 содержит механизмы управления:
      117. стилями обрамления
      118. горизонтальным и вертикальным выравниванием содержимого ячеек
      119. полями ячеек


      120. Ассоциирование заголовочной информации с ячейками данных

        11.4.1 Ассоциирование заголовочной информации с ячейками данных

        Невизуальные ПА, такие как голосовые синтезаторы и Брайль-устройства, могут использовать следующие атрибуты элементов TD и TH, чтобы выводить таблицу более интуитивно:
      121. Для текущей ячейки данных, атрибут headers содержит список ячеек, предоставляющих заголовочную информацию. Для этого каждая заголовочная ячейка должна быть именована атрибутом id. Обратите внимание, что не всегда возможно провести чёткую грань между данными и заголовками в ячейках. Вы должны использовать элемент TD для таких ячеек вместе с атрибутом id или scope, как удобнее.
      122. Для данной заголовочной ячейки, атрибут scope сообщает ПА о ячейках данных, для которых этот заголовок предоставляет информацию. Авторы могут избрать использование этого атрибута вместо headers в зависимости от того, что более подходит; оба эти атрибута выполняют одну и ту же функцию. Атрибут headers нужен обычно, если заголовки помещены в необычную позицию по отношению к данным, к которым они применяются.
      123. Атрибут abbr определяет сокращённую форму заголовочной ячейки, и ПА может быстрее вывести заголовочную информацию.
      124. В следующем примере мы назначаем заголовочную информацию ячейке установкой атрибута headers. Каждая ячейка в том же столбце ссылается на одну и ту же заголовочную ячейку (с помощью атрибута id).
        Cups of coffee consumed by each senator
        Name Cups Type of Coffee Sugar?
        T. Sexton 10 Espresso No
        J. Dinnen 5 Decaf Yes
        Голосовой синтезатор может выводить эту таблицу так:
        Caption: Cups of coffee consumed by each senator Summary: This table charts the number of cups of coffee consumed by each senator, the type of coffee (decaf or regular), and whether taken with sugar. Name: T. Sexton, Cups: 10, Type: Espresso, Sugar: No Name: J. Dinnen, Cups: 5, Type: Decaf, Sugar: Yes Обратите внимание, как заголовок "Type of Coffee" сокращён до "Type" с использованием атрибута abbr.
        Это тот же самый пример, в котором атрибут scope заменил атрибут headers. Заметьте, что значение "col" атрибута scope означает "все ячейки текущего столбца":
        Cups of coffee consumed by each senator
        Name Cups Type of Coffee Sugar?
        T. Sexton 10 Espresso No
        J. Dinnen 5 Decaf Yes
        Вот несколько более сложный пример, иллюстрирующий другие значения атрибута scope:
        Community Courses -- Bath Autumn 1997
        Course Name Course Tutor Summary Code Fee
        After the Civil War Dr. John Wroughton The course will examine the turbulent years in England after 1646. 6 weekly meetings starting Monday 13th October. H27 £32
        An Introduction to Anglo-Saxon England Mark Cottle One day course introducing the early medieval period reconstruction the Anglo-Saxons and their society. Saturday 18th October. H28 £18
        The Glory that was Greece Valerie Lorenz Birthplace of democracy, philosophy, heartland of theater, home of argument. The Romans may have done it but the Greeks did it first. Saturday day school 25th October 1997 H30 £18
        Графический ПА может вывести это так:
        Ассоциирование заголовочной информации с ячейками данных
        Обратите внимание на использование атрибута scope со значением "row". Хотя первая ячейка каждого ряда содержит данные, а не заголовочную информацию, атрибут scope определяет такое же поведение ячеек данных, как для заголовочных ячеек ряда. Это позволяет речевым синтезаторам представлять соответствующее course name по запросу или выставлять его непосредственно перед содержимым каждой ячейки.

        Категоризация ячеек

        11.4.2 Категоризация ячеек

        Пользователи, просматривающие таблицы с помощью речевого ПА, могут дополнительно пожелать услышать разъяснение о содержимом ячейки. Один из методов получить разъяснение состоит в прослушивании ассоциированной заголовочной информации перед прослушиванием содержимого ячеек данных (см. раздел ассоциирование заголовочной информации с ячейками данных).
        Пользователей может также заинтересовать информация о более чем одной ячейке. В этом случае заголовочная информация, даваемая на уровне ячейки (атрибутами headers, scope и abbr), не может предоставить адекватный контекст. Рассмотрим таблицу, классифицирующую цены на еду, отели и транспорт в двух городах (Сан-Хосе и Сиэтл) за несколько дней:

        Категоризация ячеек
        Пользователю может понадобиться извлечь информацию из таблицы в форме запроса:

      125. "What did I spend for all my meals?"
      126. "What did I spend for meals on 25 August?"
      127. "What did I spend for all expenses in San Jose?"
      128. Каждый запрос вызывает вычисления ПА, в которых могут быть задействованы ноль или более ячеек. Чтобы определить, например, стоимость питания 25 августа, ПА должен знать, какая ячейка ссылается на "Meals" (все) и какая ссылается на "Dates" (конкретно, на 25 августа), и найти пересечение двух наборов (данных).
        Чтобы приспособить этот тип запроса, табличная модель HTML 4 позволяет авторам разместить заголовки ячеек и данные по категориям. Например, по таблице цен на проезд автор мог бы сгруппировать заголовочные ячейки "San Jose" и "Seattle" в категорию "Location", заголовки "Meals", "Hotels" и "Transport" - в категорию "Expenses", а 4 дня в категорию "Date". Предыдущие три вопроса получат тогда следующие значения:
      129. "What did I spend for all my meals?" означает "Каковы все ячейки данных в категории "Expenses=Meals"?
      130. "What did I spend for meals on 25 August?" означает "Каковы все ячейки данных в категориях "Expenses=Meals" и "Date=Aug-25-1997"?
      131. "What did I spend for all expenses in San Jose?" означает "Каковы все ячейки данных в категориях "Expenses=Meals, Hotels, Transport" и "Location=San Jose"?
      132. Авторы категоризируют ячейки заголовков или данных установкой атрибута axis для ячейки. К примеру, в таблице затрат на проезд, ячейка, содержащая информацию "San Jose" может быть помещена в категорию "Location" так:
        San Jose любая ячейка, содержащая информацию со ссылкой на "San Jose", должна ссылаться на эту заголовочную ячейку через атрибуты headers или scope.
        Таким образом, затраты на питание 25 августа должны быть помечены так, чтобы ссылаться на атрибут id (значение которого - "a6") заголовочной ячейки "San Jose":
        37.74 Каждый атрибут headers предоставляет список ссылок на id. Авторы могут таким образом категоризировать данные ячейки любыми способами.
        Ниже мы разметим таблицу затрат на путешествие с распределением информации по категориям:
        Travel Expense Report
        Meals Hotels Transport subtotals
        San Jose
        25-Aug-97 37.74 112.00 45.00
        26-Aug-97 27.28 112.00 45.00
        subtotals 65.02 224.00 90.00 379.02
        Seattle
        27-Aug-97 96.25 109.00 36.00
        28-Aug-97 35.00 109.00 36.00
        subtotals 131.25 218.00 72.00 421.25
        Totals 196.27 442.00 162.00 800.27
        Обратите внимание, что такая разметка таблицы позволяет также ПА исключить получение пользователем нежелательной информации. Например, если речевой синтезатор назвал бы все позиции в столбце "Meals" этой таблицы в ответ на запрос "What were all my meal expenses?", пользователь не смог бы отличить ежедневные затраты от общих. Внимательно категоризируя данные в ячейках, авторы позволяют ПА выполнить важное семантическое различение при выводе информации.
        Конечно, нет никаких ограничений по категоризации информации таблицы. В таблице затрат на путешествие, например, мы могли бы добавить дополнительные категории "subtotals" и "totals".
        Эта спецификация не требует от ПА обрабатывать информацию, предоставленную атрибутом axis, как и не даёт каких-либо рекомендаций, как ПА могут представлять пользователям информацию в axis или как пользователи могут запрашивать ПА об этой информации.
        Однако ПА, в особенности речевые синтезаторы, могут выносить за скобки информацию, обычную для некоторых ячеек, которые являются результатом выполнения запроса. Например, если пользователь спрашивает "What did I spend for meals in San Jose?", ПА мог бы сначала определить ячейки для вопроса (25-Aug-1997: 37.74, 26-Aug-1997:27.28), а затем отобразить эту информацию. Речевой ПА смог бы прочитать эту информацию:
        Location: San Jose. Date: 25-Aug-1997. Expenses, Meals: 37.74 Location: San Jose. Date: 26-Aug-1997. Expenses, Meals: 27.28 или более компактно:
        San Jose, 25-Aug-1997, Meals: 37.74 San Jose, 26-Aug-1997, Meals: 27.28 И даже более экономно - можно было бы убрать общую информацию и реорганизовать её:
        San Jose, Meals, 25-Aug-1997: 37.74 26-Aug-1997: 27.28 ПА, поддерживающие такой тип представления, должны иметь способность настраивать представление (напр., с помощью таблиц стилей).

        Алгоритм поиска заголовочной информации

        11.4.3 Алгоритм поиска заголовочной информации

        При отсутствии заголовочной информации в атрибутах scope или headers, ПА могут конструировать заголовочную информацию в соответствии со следующим алгоритмом. Цель этого алгоритма - найти упорядоченный список заголовков. (В следующем описании алгоритма направление в таблице принимается "слева-направо".)
      133. Сначала искать, начиная с левой ячейки, заголовочные ячейки ряда. Затем искать вверх заголовочные ячейки столбца. Поиск в заданном направлении останавливается, если достигнут край таблицы или если ячейка данных найдена после заголовочной ячейки.
      134. Заголовки ряда вставляются в список в том порядке. в каком они появляются в таблице. В таблицах "слева-направо" заголовки вставляются слева направо.
      135. Заголовки столбцов вставляются после заголовков рядов в том порядке. в каком они появляются в таблице, сверху вниз.
      136. Если заголовочная ячейка имеет установленный атрибут headers, тогда заголовки, на которые ссылается данный атрибут, вставляются в список, и поиск в этом направлении останавливается.
      137. Ячейки TD, которые устанавливают атрибут axis, рассматриваются тоже как заголовочные ячейки.


      138. Представление таблиц невизуальными ПА


        11.4 Представление таблиц невизуальными ПА


        Образец таблицы


        11.5 Образец таблицы

        Это пример группировки рядов и столбцов. Он взят из "Developing International Software", Nadine Kano.
        В "ascii-подобном" виде, следующая таблица:
        CODE-PAGE SUPPORT IN MICROSOFT WINDOWS
        Code-Page
        ID
        Name ACP OEMCP Windows
        NT 3.1
        Windows
        NT 3.51
        Windows
        95
        1200Unicode (BMP of ISO/IEC-10646)XX*
        1250Windows 3.1 Eastern EuropeanXXXX
        1251Windows 3.1 CyrillicXXXX
        1252Windows 3.1 US (ANSI)XXXX
        1253Windows 3.1 GreekXXXX
        1254Windows 3.1 TurkishXXXX
        1255HebrewXX
        1256ArabicXX
        1257BalticXX
        1361Korean (Johab)X**X
        437MS-DOS United StatesXXXX
        708Arabic (ASMO 708)XX
        709Arabic (ASMO 449+, BCON V4)XX
        710Arabic (Transparent Arabic)XX
        720Arabic (Transparent ASMO)XX
        могла бы быть представлена так:
        CODE-PAGE SUPPORT IN MICROSOFT WINDOWS =============================================================================== Code-Page | Name | ACP OEMCP | Windows Windows Windows ID | | | NT 3.1 NT 3.51 95 ------------------------------------------------------------------------------- 1200 | Unicode (BMP of ISO 10646) | | X X * 1250 | Windows 3.1 Eastern European | X | X X X 1251 | Windows 3.1 Cyrillic | X | X X X 1252 | Windows 3.1 US (ANSI) | X | X X X 1253 | Windows 3.1 Greek | X | X X X 1254 | Windows 3.1 Turkish | X | X X X 1255 | Hebrew | X | X 1256 | Arabic | X | X 1257 | Baltic | X | X 1361 | Korean (Johab) | X | ** X ------------------------------------------------------------------------------- 437 | MS-DOS United States | X | X X X 708 | Arabic (ASMO 708) | X | X 709 | Arabic (ASMO 449+, BCON V4) | X | X 710 | Arabic (Transparent Arabic) | X | X 720 | Arabic (Transparent ASMO) | X | X =============================================================================== Графический ПА мог бы представить это так:
        Образец таблицы
        Этот пример показывает, как COLGROUP может использоваться для группировки столбцов и установки выравнивания столбцов по умолчанию. Так же TBODY используется для группировки рядов. Атрибуты frame и rules сообщают ПА, какие рамки и сетку отображать.

        Таблицы

        11. Таблицы

        Содержание
      139. Введение
      140. Элементы конструирования таблиц
      141. Элемент TABLE
      142. Направление в таблице
      143. Заголовок таблицы: элемент CAPTION
      144. Группы рядов: элементы THEAD, TFOOT и TBODY
      145. Группы столбцов: элементы COLGROUP и COL
      146. Элемент COLGROUP
      147. Элемент COL
      148. Подсчёт количества столбцов
      149. Подсчёт ширины столбцов
      150. Ряды: элемент TR
      151. Ячейки: элементы TH и TD
      152. Ячейки, занимающие несколько рядов или столбцов
      153. Форматирование таблицы Пользовательскими Агентами (ПА)
      154. Рамки и линии сетки
      155. Горизонтальное и вертикальное выравнивание
      156. Наследование установок выравнивания
      157. Поля ячейки
      158. Представление таблиц невизуальными ПА
      159. Ассоциирование заголовочной информации с ячейками данных
      160. Категоризация ячеек
      161. Алгоритм поиска заголовочной информации
      162. Образец таблицы


      163. Посещение" связанного ресурса

        12.1.1 "Посещение" связанного ресурса

        Акцией по умолчанию, ассоциированной со ссылкой, является запрос другого ресурса Web. Такое действие является обычным и неявно подразумевается при выборе гиперссылки (напр., щелчком на ней мышью, вводом с клавиатуры и т.д.).
        Следующий отрывок HTML содержит две ссылки, якорь одной из которых указывает на документ HTML с названием "chapter2.html", а якорь другой - на GIF-изображение в файле "forest.gif":
        ...текст... Вы найдёте многое на chapter two. См. также здесь карту леса. Активировав эту ссылку (щелчком мыши, вводом с клавиатуры, голосовой командой и т.п.), пользователь может посетить этот ресурс. Заметьте, что атрибут href в каждом якоре специфицирует адрес якоря назначения с применением URI.
        Якорь назначения для гиперссылки может быть элементом в документе HTML. Якорю назначения должно быть дано имя, и любой URI, адресующий этот якорь, должен включать это имя как идентификатор фрагмента.
        Якоря назначения в документах HTML могут быть специфицированы элементом A (атрибутом name) или любым другим элементом (атрибутом id).
        Так, например, автор может создать оглавление, вхождения которого связаны с элементами H2, H3 и т.д. в этом же документе. Используя элемент A для создания якоря назначения, мы могли бы написать:

        Оглавление

        Введение
        Фон
        Несколько заметок
        ...остальная часть оглавления... ...тело документа...

        Введение

        ...раздел 1...

        Фон

        ...раздел 2...

        Несколько заметок

        ...раздел 2.1... Того же эффекта можно достичь, сделав элементы-заголовки якорями:

        Оглавление

        Введение
        Фон
        Несколько заметок
        ...остальная часть оглавления... ...тело документа...

        Introduction

        ...раздел 1...

        Фон

        ...раздел 2...

        Несколько заметок

        ...раздел 2.1...

        Другие соотношения гиперссылок

        12.1.2 Другие соотношения гиперссылок

        Чаще всего гиперссылки используются для запроса другого ресурса Web, как в предыдущих примерах. Однако, авторы могут включать в свои документы гиперссылки, которые не только выполняют действия типа "активировать эту ссылку для посещения соответствующего ресурса". Гиперссылки, выражающие соотношения других типов, имеют тот или иной тип ссылок, специфицированный в якоре этого ресурса.
        Роли гиперссылки, определяемые A или LINK, установлены атрибутами rel и rev.
        Например, ссылки, определённые элементом LINK, могут описывать позицию документа в серии документов. В следующем отрывке гиперссылки в документе, озаглавленном "Chapter 5", указывают на следующую и предыдущую главы:
        ...другая информация "шапки"... Chapter 5 Тип первой ссылки - "prev", а второй - "next" (два из нескольких распознаваемых типов ссылок). Гиперссылки, специфицированные в LINK, не рассматриваются как содержимое документов, хотя ПА могут отображать их другими способами (напр., утилитами навигации).
        Даже если они не используются для навигации, эти гиперссылки могут интерпретироваться интересными способами. Например, ПА, печатающий серию документов HTML как единый документ, может использовать информацию этих ссылок как базис связного линеарного документа. Ниже дана информация о гиперссылках для использования возможностей поисковых машин.

        Спецификация якорей и гиперссылок

        12.1.3 Спецификация якорей и гиперссылок

        Хотя гиперссылки на другие ресурсы создаются разными элементами и атрибутами (напр., элемент IMG, элемент FORM и т.д.), в этом разделе рассматриваются гиперссылки и якоря, создаваемые элементами LINK и A.
        Элемент LINK может появляться только в "шапке" документа.
        Элемент A может появляться только в теле документа.
        Если в элементе A установлен атрибут href, этот элемент определяет якорь-источник гиперссылки, который может быть активирован пользователем для запроса Web-ресурса. Якорь источника это размещение объекта A, а якорь назначения - это ресурс Web.
        Запрошенный ресурс может быть обработан ПА различными способами:
      164. открытие нового документа HTML в том же окне ПА,
      165. открытие нового документа HTML в другом окне,
      166. запуск другой программы для обработки ресурса и т.д.
      167. Поскольку элемент A имеет содержимое (текст, изображения и т.п.), ПА могут обозначить наличие этого содержимого, например, подчёркиванием гиперссылки.
        Если атрибуты name или id элемента A установлены, данный элемент определяет якорь, который может служить якорем назначения других гиперссылок.
        Авторы могут установить атрибуты name и href одновременно в одном и том же A.
        Элемент LINK определяет взаимоотношение между текущим документом и другим ресурсом. Хотя LINK не имеет содержимого, взаимоотношения, определяемые им, могут воспроизводиться некоторыми ПА.

        Заголовки гиперссылок

        12.1.4 Заголовки гиперссылок

        Атрибут title может быть установлен элементами A и LINK для добавления информации о ссылке. Эта информация может произноситься ПА, может быть показана как подсказка, вызывать изменение вида курсора и т.д.
        Таким образом, мы можем расширить предыдущий пример, добавив заголовок к каждой ссылке:
        ...текст... Вы найдёте многое на chapter two. chapter two. См. также здесь карту леса.

        Интернационализация и гиперссылки

        12.1.5 Интернационализация и гиперссылки

        Поскольку гиперссылки могут указывать на документ, имеющий другой набор символов, элементы A и LINK поддерживают атрибут charset. Этот атрибут даёт авторам возможность уведомлять ПА о кодировке, дате и других данных.
        Атрибут hreflang снабжает ПА информацией о языке ресурса гиперссылки так же, как атрибут lang даёт информацию о языке содержимого элемента или значениях атрибутов.
        Вооружённые новыми данными, ПА должны исключить показ пользователю различного "мусора". Вместо этого они могут или указать на ресурсы, необходимые для корректного воспроизведения документа, или, при невозможности размещения ресурса, как минимум предупредить пользователя о том, что документ не будет прочитан и указать причину.

        Гиперссылки и якоря. Введение


        12.1 Гиперссылки и якоря. Введение

        HTML предлагает большое количество согласованных публичных идиом для создания сложных структурированных документов, но что отличает его от большинства других языков разметки, так это богатые возможности гипертекста и интерактивные документы.
        В этом разделе вводится понятие ссылки (или гиперссылки, ссылки Web), базовой конструкции гипертекста. Ссылка это соединение одного Web-ресурса с другим. Несмотря на простоту концепции, ссылка является одной из фундаментальных сил, приведших к успешному развитию Web.
        Ссылка имеет два конца - называемых якорями - и направление. Ссылка начинается от якоря "источника" и указывает на якорь "назначения", который может быть любым ресурсом Web (напр., изображением, видеоклипом, аудиофрагментом, программой, документом HTML, элементом в документе HTML и т.д.).

        Синтаксис имён якорей

        12.2.1 Синтаксис имён якорей

        Имя якоря - это значение атрибута name или id, когда используется в контексте якорей. Имена якорей должны соблюдать следующие правила:
      168. Уникальность: Имена якорей должны быть уникальны в пределах документа.
        Имена якорей, различающиеся только регистром, не могут появляться в одном документе.
      169. Совпадение строк: Сравнение идентификаторов фрагмента и имён якорей должно выполняться с учётом регистра символов.
      170. Таким образом, следующий пример корректен в отношении совпадения строк и должен рассматриваться ПА как совпадение:
        ... ...документ... ... НЕВЕРНОЕ ИСПОЛЬЗОВАНИЕ:
        Это пример неверного использования имён, поскольку имена одинаковы и различаются только регистром:
        ... ... Хотя следующий отрывок HTML верен, поведение ПА в этом случае не определено; некоторые ПА могут (некорректно) рассматривать это как совпадение, а другие - нет.
        ... ...документ... ... Имена якорей должны быть указаны в символах ASCII. См. в приложении дополнительную информацию о не-ASCII символах в значениях атрибутов URI.

        Вложение ссылок не допускается

        12.2.2 Вложение ссылок не допускается

        Ссылки и якоря, определённые элементом A, не могут вкладываться; элемент A не должен содержать других элементов A.
        Поскольку ОТД определяет элемент LINK как пустой, элементы LINK также не могут вкладываться.

        Якоря с атрибутом id

        12.2.3 Якоря с атрибутом id

        Атрибут id может использоваться для создания якоря в начальном теге любого элемента (включая элемент A).
        Этот пример иллюстрирует использование атрибута id для размещения якоря в элементе H2. Якорь связан посредством элемента A.
        Об этом Вы можете узнать больше в Section Two. ...позже в документе

        Раздел 2

        ...позже в документе Смотрите Раздел 2 выше по тексту. В следующем примере якорь назначения именован с помощью атрибута id:
        I just returned from vacation! Here's a photo of my family at the lake.. Атрибуты id и name используют общее пространство имён. Это означает, что они не могут одновременно определять якорь с одним именем в одном и том же документе. Допускается использовать оба атрибута для определения уникальных идентификаторов следующих элементов: A, APPLET, FORM, FRAME, IFRAME, IMG и MAP. Если оба атрибута использованы в одном элементе, их значения должны быть идентичны.
        ПРИМЕР НЕПРАВИЛЬНОГО ИСПОЛЬЗОВАНИЯ:
        Следующий отрывок HTML неверен, поскольку эти атрибуты объявляют одно имя дважды в одном документе:
        ... ...

        ...страницы документа... Следующий пример показывает, что id и name должны быть идентичными, если оба появляются в начальном теге элемента:
        ... В соответствии со своей спецификацией в ОТД HTML, атрибут name может содержать символьные мнемоники. Так, значение Dürst является верным значением атрибута name, как и Dürst. Атрибут id, однако, не может содержать символьных мнемоник.
        Использовать id или name? Авторы должны учитывать следующие обстоятельства при решении вопроса использования для именования якоря id или name:
      171. Атрибут id может действовать не только как имя якоря (напр., селектор таблиц стилей, идентификатор процесса и т.д.).
      172. некоторые старые ПА не поддерживают якоря, созданные атрибутом id.
      173. Атрибут name допускает расширенные имена якорей (с мнемониками).


      174. Недоступные и неидентифицируемые ресурсы

        12.2.4 Недоступные и неидентифицируемые ресурсы

        Ссылка не недоступный или неидентифицируемый ресурс является ошибкой. Хотя ПА могут по разному обрабатывать такие ошибки, мы рекомендуем следующее поведение ПА:
      175. Если ПА не может обнаружить связанный ресурс, он должен предупредить пользователя.
      176. Если ПА не может идентифицировать тип связанного ресурса, он должен попытаться обработать его. Он должен предупредить пользователя и может дать ему (пользователю) возможность доступа для идентификации типа документа.


      177. Элемент A

        12.2 Элемент A

        A - - (%inline;)* -(A) -- якорь --> %attrs; -- %coreattrs, %i18n, %events -- charset %Charset; #ПРЕДПОЛАГАЕТСЯ -- набор символов связанного ресурса -- type %ContentType; #ПРЕДПОЛАГАЕТСЯ -- информативный тип содержимого -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя целевой ссылки -- href %URI; #ПРЕДПОЛАГАЕТСЯ -- URI связанного ресурса -- hreflang %LanguageCode; #ПРЕДПОЛАГАЕТСЯ -- код языка -- rel %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- типы ссылок вперёд -- rev %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- типы ссылок назад -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- shape %Shape; rect -- для использования с клиентскими картами -- coords %Coords; #IПРЕДПОЛАГАЕТСЯ -- для использования с клиентскими картами -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- > Конечный тег: необходим, Конечный тег: необходим
        Определения атрибутов
        name = cdata [CS] Этот атрибут именует текущий якорь, который может стать якорем назначения для другой гиперссылки. Значением этого атрибута должно быть уникальное имя якоря. Областью видимости этого имени является текущий документ. Обратите внимание, что этот атрибут использует то же пространство имён, что и атрибут id. href = uri [CT] Определяет размещение ресурса Web, определяя таким образом ссылку с текущего элемента (якоря-источника) на якорь назначения, определённый этим атрибутом. hreflang = langcode [CI] Определяет базовый язык ресурса, обозначенного в href, и может использоваться, только если href определён. type = content-type [CI] Определяет уведомляющую подсказку, к примеру, о типе содержимого, находящегося по целевому адресу гиперссылки. Она позволяет ПА решить, использовать ли fallback-механизм, или получить содержимое, получив предупреждение о том, что это содержимое имеет тип, не поддерживаемый ПА. Авторы, используя этот атрибут, несут ответственность за обслуживание риска наличия несоответствия с реальным содержимым, находящимся на конечном адресе гиперссылки. Текущий список зарегистрированных типов содержимого см. в [MIMETYPES]. rel = типы ссылок [CI] Описывает соотношение между текущим документом и якорем, определённым атрибутом href. Значением этого атрибута является список разделённых пробелами типов ссылок. rev = типы ссылок [CI] Этот атрибут используется для описания ссылки возврата от якоря, специфицированного атрибутом href, к текущему документу. Значением этого атрибута является разделённый пробелами список типов ссылок. charset = charset [CI] Определяет набор символов ресурса, на который указывает гиперссылка. См. детали в разделе кодировка символов. Атрибуты, определённые в другом месте
      178. id, class (идентификаторы документа)
      179. lang (язык), dir (направление текста)
      180. title (заголовок элемента)
      181. style (инлайн-стиль)
      182. shape и coords (карты изображений)
      183. onfocus, onblur, onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      184. target (целевой фрэйм)
      185. tabindex (навигация табуляцией)
      186. accesskey (символ быстрого доступа)
      187. Каждый элемент A определяет якорь:
      188. Содержимое элемента A определяет местонахождение якоря.
      189. Атрибут name именует якорь так, что он может быть якорем назначения 0 или более ссылок (см. также якоря с атрибутом id).
      190. Атрибут href делает этот якорь источником одной конкретной гиперссылки.
      191. Авторы могут также создать элемент A, который не специфицирует никаких якорей, т.е. не специфицирует href, name или id. Значения этих атрибутов могут быть установлены позже с помощью скриптов.
        В следующем примере элемент A определяет гиперссылку. Якорь-источник - это текст "W3C Web site", а якорь-назначение - это "http://www.w3.org/":
        Дополнительную информацию о W3C см. на W3C Web сайте. Эта гиперссылка указывает на домашнюю страницу World Wide Web Consortium. Если пользователь активирует эту гиперссылку в ПА, ПА запросит соответствующий ресурс, в данном случае - документ HTML.
        ПА обычно отображают гиперссылки так, чтобы сделать их явно видимыми для пользователя (подчёркиванием, обратной прокруткой видео и т.п.). Конкретный вариант зависит от ПА. Вид может зависеть от того, посетил ли уже пользователь ссылку или нет. Предыдущая ссылка может выглядеть так
        Дополнительную информацию о W3C см. на W3C Web сайте. Чтобы явно указать ПА набор символов страницы назначения, установите значение атрибута charset:
        Дополнительную информацию о W3C см. на W3C Web сайте Предположим, мы определили якорь "anchor-one" в файле "one.html".
        ...текст перед якорем... This is the location of anchor one. ...текст после якоря... Так создаётся якорь вокруг текста "This is the location of anchor one.". Обычно содержимое A не отображается, если A определяет только якорь.
        Определив якорь, мы можем ссылаться на него из этого же или другого документа.
        URI, обозначающие якорь, содержат символ "#" и следующее за ним имя якоря (идентификатор фрагмента). Вот несколько примеров таких URI:
      192. Абсолютный URI: http://www.mycompany.com/one.html#anchor-one
      193. Относительный URI: ./one.html#anchor-one or one.html#anchor-one
      194. Если ссылка определена в том же документе, где определён якорь: #anchor-one
      195. Таким образом, гиперссылка, определённая в файле "two.html" в той же директории, что и "one.html", будет ссылаться на якорь так:
        ...текст перед ссылкой... Дополнительную информацию см. на anchor one. ...текст после ссылки... Элемент A в следующем примере определяет гиперссылку (с помощью href) и одновременно создаёт именованный якорь (с помощью name):
        I just returned from vacation! Here's a photo of my family at the lake.. Этот пример содержит ссылку на Web-ресурс другого типа (изображение PNG). Активация гиперссылки должна вызвать получение ресурса из Web (и, возможно, отображение его, если система сконфигурирована соответствующим образом).
        Примечание. ПА должны уметь находить якоря, созданные пустыми элементами A, но некоторые ПА не делают этого. Например, некоторые ПА могут не обнаруживать "empty-anchor" в следующем фрагменте HTML:
        ...some HTML... Link to empty anchor

        Гиперссылки вперёд и назад

        12.3.1 Гиперссылки вперёд и назад

        Атрибуты rel и rev дополнительно могут: атрибут rel - определять ссылки вперёд, а атрибут rev - ссылки назад.
        Рассмотрим два документа - A и B.
        Document A: имеет то же значение, что и:
        Document B: Оба атрибута могут быть определены одновременно.

        Гиперссылки и внешние таблицы стилей

        12.3.2 Гиперссылки и внешние таблицы стилей

        Если элемент LINK связывает внешнюю таблицу стилей с документом, то атрибут type определяет язык таблицы стилей, а атрибут media определяет соответствующие носители представления. ПА могут сэкономить время, запрашивая из сети только те таблицы стилей, которые применимы к текущему устройству.
        Типы носителя рассматриваются в разделе о таблицах стилей.

        Гиперссылки и машины поиска

        12.3.3 Гиперссылки и машины поиска

        Авторы могут использовать элемент LINK для предоставления поисковым машинам различной информации, в том числе:
      196. для ссылок на альтернативные версии документа на других языках;
      197. для ссылок на альтернативные версии документа, разработанные для других носителей, Например, специальные версии для печати документов;
      198. для ссылок на начальную страницу коллекции документов.
      199. Ниже пример иллюстрирует, как информация о языке, типах носителя и типах ссылок может быть объединена для упрощения обработки документа поисковой машиной.
        Здесь мы используем атрибут hreflang, чтобы сообщить поисковой машине, где найти датскую, португальскую и арабскую версии документа. Обратите внимание на использование атрибута charset для арабского варианта учебника. Отметьте также использование атрибута lang для указания на то, что значение атрибута title элемента LINK, указывающего на французский учебник, - французский.
        Учебник на английском В следующем примере мы сообщаем поисковой машине, где искать версию для печати:
        Справочник В следующем примере мы сообщаем поисковой машине, где искать начальную страницу коллекции документов:
        Справочник -- Страница 5 Дополнительная информация находится в примечаниях: помощь поисковым машинам в индексации Вашего Web-сайта.

        Взаимосвязи документов: элемент LINK


        12.3 Взаимосвязи документов: элемент LINK

        LINK - O EMPTY -- медиа-независимая ссылка --> %attrs; -- %coreattrs, %i18n, %events -- charset %Charset; #ПРЕДПОЛАГАЕТСЯ -- набор символов связанного ресурса -- href %URI; #ПРЕДПОЛАГАЕТСЯ -- URI связанного ресурса -- hreflang %LanguageCode; #ПРЕДПОЛАГАЕТСЯ -- код языка -- type %ContentType; #ПРЕДПОЛАГАЕТСЯ -- информативный тип содержимого -- rel %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- типы ссылок вперёд -- rev %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- типы ссылок назад -- media %MediaDesc; #ПРЕДПОЛАГАЕТСЯ -- для представления на данном носителе -- > Начальный тег: необходим, Конечный тег: запрещён
        Атрибуты, определённые в другом месте
      200. id, class (идентификаторы документа)
      201. lang (язык), dir (направление текста)
      202. title (название элемента)
      203. style (инлайн-стиль)
      204. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      205. href, hreflang, type, rel, rev (ссылки и якоря)
      206. target (целевой фрэйм)
      207. media (стиль "шапки")
      208. charset(набор символов документа)
      209. Этот элемент определяет ссылку. В отличие от A, он может появляться только в разделе HEAD - "шапки" документа, хотя и может появляться любое количество раз. Хотя LINK не имеет содержимого, он выражает информацию о взаимоотношениях, которая может отображаться ПА различными способами (напр., панель с выпадающим меню со ссылками).
        Этот пример показывает, как различные определения LINK могут появляться в разделе HEAD документа. Текущий документ - "Chapter2.html". Атрибут rel специфицирует соотношение связанного документа с текущим. Значения "Index", "Next" и "Prev" разъясняются в разделе типы ссылок.
        Chapter 2 ...оставшаяся часть документа...

        Расширение относительных URI

        12.4.1 Расширение относительных URI

        ПА должны вычислять базовый URI для расширения относительных URI в соответствии с [RFC1808], раздел 3.
        Ниже объясняется, как [RFC1808] применяется в специфике HTML.
        ПА должны высчитывать базовый URI в такой последовательности (приоритет от высшего к низшему):
      210. Базовый URI, установленный элементом BASE.
      211. Базовый URI, полученный из метаданных во время взаимодействия с протоколом, как из "шапки" HTTP (см. [RFC2616]).
      212. По умолчанию, базовым считается URI текущего документа. Не все документы HTML имеют базовый URI (напр., полноценный документ HTML может появиться в email и может не иметь на себя указателя в виде URI). Документы HTML считаются ошибочными, если они содержат относительные URI и соотносятся с базовым URI по умолчанию.
      213. В дополнение к сказанному, элементы OBJECT и APPLET определяют атрибуты, имеющие преимущество перед значениями, установленными элементом BASE. См. определения этих элементов для получения дополнительной информации о вопросах URI, касающихся конкретно этих элементов.
        Примечание. Для версий HTTP, определяющих "шапку" Link, ПА могут обрабатывать эти "шапки" точно так же, как элементы LINK в документе. HTTP 1.1, как определено в [RFC2616], не содержит поле "шапки" Link (см. раздел 19.6.3).

        Информация пути: элемент BASE


        12.4 Информация пути: элемент BASE

        BASE - O EMPTY -- базовый URI документа --> href %URI; #НЕОБХОДИМ -- URI, действующий как базовый URI -- > Начальный тег: необходим, Конечный тег: запрещён
        Определение атрибута
        href = uri [CT] Этот атрибут определяет абсолютный URI, действующий как базовый URI для разрешения (расширения) относительных URI. Атрибут, определённый в другом месте
      214. target (целевой фрэйм)
      215. В HTML гиперссылки и ссылки на внешние изображения, аплеты, программы обработки форм, таблицы стилей и т.д. всегда специфицируются в URI. Относительные URI разрешаются (расширяются) в соответствии с базовым URI, который может поступать из различных источников. Элемент BASE позволяет авторам явно указать базовый URI.
        При наличии, элемент BASE должен появляться в разделе HEAD документа HTML перед любым элементом, ссылающимся на внешний ресурс. Специфицированная элементом BASE информация о пути действует только на URI в том документе, где элемент BASE появляется.
        Например, при объявлении следующих BASE и A:
        Наши Продукты Вы видели наши Клетки для Птиц? относительный URI "../cages/birds.gif" будет расширен до:
        http://www.aviary.com/cages/birds.gif

        Гиперссылки

        12. Гиперссылки

        Содержание
      216. Гиперссылки и якоря. Введение
      217. "Посещение" связанного ресурса
      218. Другие соотношения гиперссылок
      219. Спецификация якорей и гиперссылок
      220. Заголовки гиперссылок
      221. Интернационализация и гиперссылки
      222. Элемент A
      223. Синтаксис имён якорей
      224. Вложение гиперссылок не допускается
      225. Якоря с атрибутом id
      226. Недоступные и неидентифицируемые ресурсы
      227. Взаимосвязи документов: элемент LINK
      228. Гиперссылки вперёд и назад
      229. Гиперссылки и внешние таблицы стилей
      230. Гиперссылки и машины поиска
      231. Информация пути: элемент BASE
      232. Расширение относительных URI


      233. Глава 13.1 Введение


        13.1 Введение

        Мультимедиа возможности HTML позволяют авторам включать в свои страницы изображения, аплеты (программы, которые автоматически загружаются и запускаются на выполнение на машине пользователя), видеоклипы и другие документы HTML.
        Например, чтобы включить в документ изображение в формате PNG, автор может записать:
        Here's a closeup of the Grand Canyon: This is a closeup of the Grand Canyon. Предыдущие версии HTML позволяли авторам включать изображения (с помощью IMG) и аплеты (с помощью APPLET). Эти элементы имели несколько ограничений:
      234. они не могли решить более общую проблему включения новых и будущих типов носителя;
      235. элемент APPLET работал только с аплетами Java. Этот элемент не рекомендуется. Вместо него нужно использовать OBJECT;
      236. они создавали проблемы доступности.
      237. Для адресации этих вопросом HTML 4 ввёл элемент OBJECT, предлагающий общий способ включения объектов. Элемент OBJECT позволяет авторам HTML специфицировать всё необходимое для представления объектов в ПА (пользовательских агентах): код, начальные значения и данные процесса выполнения. В этой спецификации термин "object/объект" используется для описания предметов, которые человек может поместить в документы HTML; другие обычные термины для обозначения этих предметов: аплеты, plug-ins/плагины и т.д.
        Новый элемент OBJECT соединяет некоторые задачи, выполняемые существующими элементами.
        Посмотрите на эту таблицу функциональности:
        Тип объектаСпецифический элемент Общий элемент
        Изображение IMG OBJECT
        Аплет APPLET (не рекомендуется) OBJECT
        Другой документ HTML IFRAME OBJECT
        Таблица показывает, что вставка каждого объекта имеет специфическое и общее решение. Общий элемент OBJECT послужит решением для включения в будущем новых типов носителя.
        Чтобы вставить изображение, автор может использовать элементы OBJECT или IMG.
        Чтобы вставить аплет, автор должен использовать элемент OBJECT, так как элемент APPLET не рекомендуется использовать.
        Чтобы включить один документ HTML в другой, авторы могут использовать новый элемент IFRAME или элемент OBJECT. В обоих случаях, внедрённый документ остаётся независимым от главного документа. Визуальные ПА могут представлять внедрённый документ в отдельном окне внутри главного документа. См. замечания о внедрённых документах, чтобы сравнить вставку документов элементами OBJECT и IFRAME.
        Изображения и другие включённые объекты могут иметь ассоциированные с ними гиперссылки, используя стандартные механизмы ссылок, а также посредством карт изображений. Карта изображений определяет активные геометрические регионы включённого объекта и назначает гиперссылку каждому такому региону. При активации эти ссылки могут вызвать запрос документа, запустить программу на сервере и т.д.
        В следующих разделах мы обсудим различные доступные авторам механизмы вставки мультимедиа и создания карт изображений для таких вставок.

        Вставка изображения: элемент IMG


        13.2 Вставка изображения: элемент IMG

        IMG - O EMPTY -- Внедрённое изображение --> %attrs; -- %coreattrs, %i18n, %events -- src %URI; #НЕОБХОДИМ -- URI изображения для вставки -- alt %Text; #НЕОБХОДИМ -- краткое описание -- longdesc %URI; #ПРЕДПОЛАГАЕТСЯ -- ссылка на полное описание (дополняет alt) -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя изображения (для скриптов) -- height %Length; #ПРЕДПОЛАГАЕТСЯ -- переопределить высоту -- width %Length; #ПРЕДПОЛАГАЕТСЯ -- переопределить ширину -- usemap %URI; #ПРЕДПОЛАГАЕТСЯ -- использовать клиентские карты изображений -- ismap (ismap) #ПРЕДПОЛАГАЕТСЯ -- использовать серверные карты изображений -- > Начальный тег: необходим, Конечный тег: запрещён
        Определения атрибутов
        src = uri [CT] Специфицирует размещение ресурса изображения. Наиболее распространённые форматы изображений: GIF, JPEG и PNG. longdesc = uri [CT] Определяет ссылку на полное описание изображения. Это описание должно дополнять краткое описание, предоставляемое атрибутом alt. Если изображение имеет ассоциированную карту изображений, этот атрибут должен предоставлять информацию о содержимом карты изображений. Это особенно важно для серверных карт.
        Поскольку элемент IMG может находиться внутри содержимого элемента A, механизм ПА в пользовательском интерфейсе для доступа к ресурсу "longdesc" первого должен отличаться от механизма к доступу ресурса href второго. name = cdata [CI] Этот атрибут именует элемент так, что на него можно будет ссылаться из таблиц стилей или скриптов. Примечание. Этот атрибут включён для обеспечения обратной совместимости. Приложения должны использовать для идентификации элементов атрибут id. Атрибуты, определённые в другом месте
      238. id, class (идентификаторы документа)
      239. alt (альтернативный текст)
      240. lang (язык), dir (направление текста)
      241. title (заголовок элемента)
      242. style (инлайн-стиль)
      243. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      244. ismap, usemap (клиентские карты изображений)
      245. align, width, height, border, hspace, vspace (визуальное представление объектов, изображений и аплетов)
      246. Элемент IMG внедряет изображение в текущий документ в месте определения элемента. Элемент IMG не имеет содержимого; обычно он замещается на ходу изображением, указанным в атрибуте src, исключение составляют изображения, выровненные влево или вправо, которые "обтекаются" по контуру.
        В предыдущем примере мы определили ссылку на семейное фото. Здесь мы вставим фото непосредственно в текущий документ:
        I just returned from vacation! Here's a photo of my family at the lake: A photo of my family at the lake. Это включение может быть выполнено также элементом OBJECT:
        I just returned from vacation! Here's a photo of my family at the lake: A photo of my family at the lake. Атрибут alt устанавливает альтернативный текст, который отображается, если изображение не может быть выведено (см. ниже как установить альтернативный текст). ПА должны отображать альтернативный текст, если они не поддерживают изображения, не поддерживают изображения определённых типов или если сконфигурированы так, чтобы не показывать изображения.
        Следующий пример показывает, как атрибут longdesc можно использовать для ссылки на полное описание:
        HP Labs Site Map Атрибут alt предоставляет краткое описание изображения. Этого должно быть достаточно, чтобы пользователь мог решить, перейти ли по ссылке, заданной атрибутом longdesc для полного описания, здесь - "sitemap.html".
        См. раздел визуальное представление объектов, изображений и аплетов для получения информации о размерах изображения, выравнивании и рамках.

        Правила представления объектов

        13.3.1 Правила представления объектов

        ПА должны интерпретировать элемент OBJECT в соответствии с со следующими правилами приоритета:
      247. ПА должен сначала попытаться отобразить объект. Он не должен отображать содержимое элементов, но обязан проверить элементы на предмет наличия каких-либо прямых потомков, которые являются элементами PARAM (см. инициализация объекта) или элементами MAP (см. клиентские карты изображений).
      248. Если ПА не может по каким-либо причинам отобразить объект (не сконфигурирован, недостаточно ресурсов, неверная архитектура и т.д.), он обязан попытаться отобразить его (объекта) содержимое.
      249. Авторы не должны включать содержимое в элементы OBJECT, появляющиеся в элементе HEAD.
        В следующем примере мы вставляем аплет аналоговых часов в документ посредством элемента OBJECT. Аплет, написанный на языке Python, не требует дополнительных данных или значений для этапа выполнения. Атрибут classid определяет размещение аплета:
        Обратите внимание, что часы будут отображены сразу, как только ПА интерпретирует это объявление OBJECT. Можно отсрочить отображение объекта, первоначально объявив его (описано ниже).
        Авторы должны дополнить это объявление включением альтернативного текста как содержимого OBJECT на тот случай, если ПА не сможет отобразить часы.
        An animated clock. Важным следствием дизайна элементов OBJECT является то, что он предоставляет механизм альтернативного представления объектов; каждое объявление внедрённого OBJECT может специфицировать альтернативные типы содержимого. Если ПА не может отобразить наиболее удалённые OBJECT, он пытается отобразить содержимое, которое может быть другим элементом OBJECT и т.д.
        В следующем примере мы внедряем несколько объявлений OBJECT, чтобы проиллюстрировать, как работают альтернативные представления.
        ПА будет пытаться отобразить первый элемент OBJECT, который он сможет, в следующем порядке:
        (1) аплет Earth, написанный на языке Python,
        (2) MPEG-анимацию Earth,
        (3) GIF-рисунок Earth,
        (4) альтернативный текст.
        The Earth as seen from space. Самое внешнее объявление специфицирует аплет, который не требует дополнительных данных или начальных значений. Второе объявление специфицирует анимацию MPEG и, поскольку не определяется размещение программы обработки MPEG, обращается к ПА для обработки анимации. Мы также установили атрибут type, чтобы ПА, "знающий", что он не может обработать MPEG, не загружал "TheEarth.mpeg" из сети. Третье объявление специфицирует размещение файла GIF и определяет альтернативный текст на тот случай, если все остальные механизмы не сработают.
        Инлайн или внешние данные. Отображаемые данные могут быть получены двумя путями: инлайн (т.е. из самого документа) и из внешнего источника. Хотя предыдущий метод обычно приводит к более быстрому отображению, это не всегда бывает удобно при выводе данных большого объёма.
        Вот пример, иллюстрирующий, как инлайн-данные могут быть поданы в OBJECT:
        A clock. Информацию о размере объекта, выравнивании и рамках см. в визуальном представлении объектов, изображений и аплетов.

        Инициализация объекта: элемент PARAM

        13.3.2 Инициализация объекта: элемент PARAM

        PARAM - O EMPTY -- именованное значение свойства --> id ID #ПРЕДПОЛАГАЕТСЯ -- уникальный id документа -- name CDATA #НЕОБХОДИМ -- имя свойства -- value CDATA #ПРЕДПОЛАГАЕТСЯ -- значение свойства -- valuetype (DATA|REF|OBJECT) DATA -- как интерпретировать значение -- type %ContentType; #ПРЕДПОЛАГАЕТСЯ -- тип содержимого для значения, если valuetype=ref -- > Начальный тег: необходим, Конечный тег: запрещён
        Определения атрибутов
        name = cdata Определяет имя параметра этапа выполнения, принимаемого вставленным объектом. Является ли имя свойства чувствительным к регистру, зависит от конкретной реализации объекта. value = cdata Определяет значение параметра этапа выполнения, специфицированного в name. Значение свойства не важно для HTML; эти значения определяются объектом при запросе. valuetype = data|ref|object [CI] Специфицирует тип атрибута value. Возможные значения:
      250. data: Значение по умолчанию. Означает, что определённое в value значение будет вычислено и передано в реализацию объекта как строка.
      251. ref: Значением value является URI, указывающий на ресурс, где хранятся значения этапа выполнения. Это позволяет поддерживать утилиты идентификации URI, заданного в качестве параметра. URI должен быть передан объекту как есть, т.е. без обработки.
      252. object: Значением value является идентификатор, ссылающийся на объявление OBJECT в этом же документе. Идентификатор должен быть значением атрибута id, установленного для объявленного элемента OBJECT.
      253. type = content-type [CI] Этот атрибут определяет тип содержимого ресурса, на который указывает атрибут value, только в том случае, когда valuetype установлен в "ref". Этот атрибут, таким образом, устанавливает для ПА тип значений, которые будут найдены по URI, указанному в value. Атрибут, определённый в другом месте
      254. id (идентификатор документа)
      255. Элементы PARAM определяют набор значений, которые могут потребоваться объекту на этапе выполнения. Элементы PARAM могут появляться в содержимом элементов OBJECT или APPLET в любом количестве, в любом порядке, но должны размещаться в начале содержимого элементов OBJECT или APPLET.
        Синтаксис имён и значений должен быть понятен в данной реализации объекта. Данный документ не определяет ни то, как ПА должны запрашивать пары имя/значение, ни то, как ПА должны интерпретировать имена параметров, которые появляются дважды.
        Мы возвращаемся к примеру с "часами", чтобы проиллюстрировать использование PARAM:
        предположим, что аплет может принять два параметра этапа выполнения, определяющих его начальные ширину и высоту. Мы можем установить начальные размеры 40x40 пикселов с помощью двух элементов PARAM.
        This user agent cannot render Python applications. В следующем примере, данные этапа выполнения для параметра "Init_values" определены как внешний ресурс (файл GIF). Значение атрибута valuetype, таким образом, установлено в "ref", а value - это URI, указывающий на ресурс.
        valuetype="ref"> Обратите внимание, что мы установили также атрибут standby для того, чтобы ПА мог отобразить сообщение, пока загружается механизм представления.
        Если элемент OBJECT отображён, ПА должен искать содержимое только тех элементов PARAM, которые являются прямыми потомками и "снабдить" ими OBJECT.
        Так, в следующем примере, если "obj1" отображён, "param1" применяется к "obj1" (а не к "obj2"). Если "obj1" не отображён, а "obj2" отображён, "param1" игнорируется, а "param2" применяется к "obj2". Если ни один OBJECT не отображён, ни один PARAM не применяется.


        Глобальные схемы именования объектов

        13.3.3 Глобальные схемы именования объектов

        Размещение реализации объекта задаётся в URI. Как мы уже видели во введении в URI, первый сегмент абсолютного URI специфицирует схему именования, используемую для передачи данных, указанных в URI. Для документов HTML эта схема, чаще всего, "http". Некоторые аплеты могут применять другие схемы именования. Например, при спецификации аплета Java, авторы могут использовать URI, начинающиеся с "java", а для аплетов ActiveX - использовать "clsid".
        В следующем примере мы вставляем аплет Java в документ HTML:
        При установленном атрибуте codetype, ПА может решить, запрашивать ли приложение Java, на основе его (ПА) способности выполнить аплет.
        Некоторые схемы отображения требуют наличия дополнительной информации для идентификации конкретной реализации, и поэтому им нужно сообщить, где эту информацию искать. Авторы могут задать путь реализации объекта с помощью атрибута codebase:
        codebase="http://foooo.bar.com/java/myimplementation/" В следующем примере специфицирован (в атрибуте classid) объект ActiveX в URI, начинающемся со схемы именования "clsid". Атрибут data локализует данные для отображения ("часы").
        Это приложение не поддерживается.

        Объявление и размещение объектов

        13.3.4 Объявление и размещение объектов

        Предыдущие примеры иллюстрировали только изолированные определения объектов. Если документ содержит более чем одну инстанцию (сущность, объект) одного и того же объекта, можно разделить объявление объекта и его инстанции. Такой подход даёт определённые преимущества:
      256. Данные могут быть запрошены ПА из сети только один раз (при объявлении) и повторно использоваться для каждой инстанции.
      257. Можно размещать инстанции из другого места, например, из гиперссылки.
      258. Можно определять объекты как данные этапа выполнения других объектов.
      259. Для объявления объекта так, чтобы он не исполнялся после считывания ПА, установите булев атрибут declare элемента OBJECT. Одновременно авторы должны идентифицировать объявление установкой уникального значения атрибута id элемента OBJECT. Последующие инстанции этого объекта будут ссылаться на этот идентификатор.
        Объявленный OBJECT должен появиться до первой инстанции этого OBJECT.
        Объект, объявленный с атрибутом declare, размещается каждый раз, когда элемент, который ссылается на этот объект, запрашивает его (объект) для отображения (напр., гиперссылка, ссылающаяся на него, активирована, объект, ссылающийся на него, активирован и т.д.).
        В следующем примере мы объявляем OBJECT и размещаем его вызовом из гиперссылки. Таким образом, объект может быть активирован щелчком на выделенном тексте, например:
        Земля - вид из космоса. ...позже в документе... Вот анимация Earth! Следующий пример иллюстрирует, как специфицировать значения этапа выполнения, которые являются другими объектами. Здесь мы посылаем текст (стих) гипотетическому механизму просмотра стихов. Объект распознаёт параметр этапа выполнения под названием "font" (для отображения текста стиха определённым шрифтом). Значение этого параметра само по себе является объектом, которое вставляет (но не отображает) объект шрифта. Соотношение между объектом font и объектом просмотра стиха достигается путём
        (1) установки id "tribune" в объявлении объекта font и
        (2) ссылкой на него из элемента PARAM объекта просмотра стиха (с помощью valuetype и value).
        ...здесь просматривается KublaKhan.txt... You're missing a really cool poem viewer ... ПА, не поддерживающие атрибут declare, должны отображать содержимое объявления OBJECT.

        Общая вставка: элемент OBJECT

        13.3 Общая вставка: элемент OBJECT

        OBJECT - - (PARAM | %flow;)* -- общий внедрённый объект --> %attrs; -- %coreattrs, %i18n, %events -- declare (declare) #ПРЕДПОЛАГАЕТСЯ -- объявляет, но не устанавливает флаг -- classid %URI; #ПРЕДПОЛАГАЕТСЯ -- идентифицирует класс -- codebase %URI; #ПРЕДПОЛАГАЕТСЯ -- базовый URI для classid, data, archive-- data %URI; #ПРЕДПОЛАГАЕТСЯ -- ссылка на данные объекта -- type %ContentType; #ПРЕДПОЛАГАЕТСЯ -- тип содержимого данных -- codetype %ContentType; #ПРЕДПОЛАГАЕТСЯ -- тип содержимого кода -- archive CDATA #ПРЕДПОЛАГАЕТСЯ -- список разделённых пробелами URI -- standby %Text; #ПРЕДПОЛАГАЕТСЯ -- сообщение для показа во время загрузки -- height %Length; #ПРЕДПОЛАГАЕТСЯ -- переопределить высоту -- width %Length; #ПРЕДПОЛАГАЕТСЯ -- переопределить ширину -- usemap %URI; #ПРЕДПОЛАГАЕТСЯ -- использовать клиентские карты -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- отправить как часть формы -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- > Начальный тег: необходим, Конечный тег: необходим
        Определения атрибутов
        classid = uri [CT] Этот атрибут может использоваться для определения размещения класса объекта посредством URI. Может использоваться вместе с- или как альтернатива атрибуту data, в зависимости от типа объекта. codebase = uri [CT] Определяет базовый путь, используемый для разрешения относительных URI, специфицированных атрибутами classid, data и archive. При отсутствии, значением по умолчанию является базовый URI текущего документа. codetype = content-type [CI] Этот атрибут специфицирует тип содержимого данных, ожидаемых при загрузке объекта, определённого атрибутом classid. Этот атрибут не обязателен, но рекомендуется, если classid определён, поскольку он позволяет ПА избежать загрузки информации с неподдерживаемыми типами содержимого. При отсутствии, по умолчанию принимается значение атрибута type. data = uri [CT] Может использоваться для спецификации размещения данных объекта, например, данных изображения для объекта, определяющего изображения, или шире, сериализованных форм объекта, который может быть использован для его (изображения?) воссоздания. Если задан как относительный URI, то должен интерпретироваться относительно атрибута codebase. type = content-type [CI] Этот атрибут специфицирует тип содержимого данных, определённых в data. Атрибут не обязателен, но рекомендуется, если data определён, поскольку он позволяет ПА избежать загрузки информации с неподдерживаемыми типами содержимого. Если значение этого атрибута отличается от HTTP Content-Type, возвращённого сервером после запроса объекта, HTTP Content-Type имеет приоритет. archive = uri-list [CT] Этот атрибут может использоваться для определения разделённого пробелами списка URI для архивов, содержащих ресурсы, относящиеся к объекту, который (список) может включать ресурсы, определённые атрибутами classid и data. Предварительная загрузка архивов как правило уменьшает время загрузки объектов. Архивы, определённые как относительные URI, должны интерпретироваться относительно атрибута codebase. declare [CI] Если установлен, этот булев атрибут делает определение текущего OBJECT только объявлением. Объект должен быть установлен последующим определением OBJECT, ссылающимся на это объявление. standby = text [CS] Определяет сообщение, которое ПА может показывать при загрузке класса объекта и данных. Атрибуты, определённые в другом месте
      260. id, class (идентификаторы документа)
      261. lang (язык), dir (направление текста)
      262. title (заголовок элемента)
      263. style (инлайн-стиль)
      264. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      265. tabindex (навигация табуляцией)
      266. usemap (клиентские карты изображений)
      267. name (отправка формы)
      268. align, width, height, border, hspace, vspace (визуальное представление объектов, изображений и аплетов)
      269. Большинство ПА имеют встроенные механизмы для отображения данных обычных типов, таких как рисунки GIF, цвета, шрифты и небольшое количество графических элементов. Чтобы иметь возможность отображать данные, изначально не поддерживаемые, ПА обычно запускают внешние приложения. Элемент OBJECT позволяет авторам контролировать, должны ли данные просматриваться независимо (вне ПА) или программой определённой автором для просмотра внутри ПА.
        В самом общем случае, автору необходимо специфицировать три типа информации:
      270. Реализацию (класс) включённого объекта. Например, если включаемый объект - это аплет "часы", автор должен указать, где находится исполняемый код аплета.
      271. Данные для отображения, например, если включаемый объект - это программа, отображающая данные шрифтов, автор должен указать, где находятся эти данные.
      272. Дополнительные значения, необходимые для объекта на этапе выполнения. Например, некоторым аплетам требуются начальные значения параметров.
      273. Элемент OBJECT позволяет авторам специфицировать данные всех трёх типов, но не всегда необходимо определять все три. Например, некоторым объектам не нужны данные (аплет, выполняющий небольшую анимацию). Другие не требуют инициализации при выполнении. Наконец, третьи могут не требовать дополнительной информации о выполнении, т.е. ПА может уже сам "знать", как отображать данные такого типа (напр., рисунки GIF).
        Авторы определяют реализацию объекта и размещение данных, отображаемых элементом OBJECT. Чтобы определить значения времени выполнения, авторы используют элемент PARAM, который рассматривается в разделе инициализация объекта.
        Элемент OBJECT может также появляться в содержимом элемента HEAD. Поскольку ПА обычно не отображают элементы в HEAD, авторы должны удостовериться, что любой элемент OBJECT в HEAD не специфицирует содержимое, которое может отображаться. См. в разделе разделение данных фрэйма пример включения элемента OBJECT в элемент HEAD.
        См. раздел элементы управления (ЭУ) формы об элементе OBJECT в формах.
        Этот документ не специфицирует поведение элементов OBJECT, использующих как атрибут classid для идентификации реализации, так и атрибут data для определения данных для этой реализации. Чтобы обеспечить переносимость, авторы должны использовать элемент PARAM для того, чтобы сообщить в реализацию, где находятся дополнительные данные.

        Вставка аплета: элемент APPLET


        13.4 Вставка аплета: элемент APPLET

        APPLET Не рекомендуется (со всеми его атрибутами). Следует использовать OBJECT. См. формальное определение в Переходном ОТД.
        Определения атрибутов
        codebase = uri [CT] Определяет базовый URI аплета. Если не установлен, тогда по умолчанию используется тот же базовый URI, что и для текущего документа. Значения этого атрибута могут ссылаться только на субдиректории той директории, в которой находится текущий документ.
        Примечание.
        Поскольку ограничения на субдиректории являются отходом от принятой практики и спецификации HTML 3.2, HTML Working Group решила оставить данные ограничения в этой версии спецификации из соображений обеспечения безопасности. code = cdata [CS] Специфицирует имя файла класса, который содержит скомпилированный подкласс аплета, или путь к этому классу, включая и сам файл класса. Интерпретируется в соответствии с кодовой базой аплета. Должен присутствовать code или object. name = cdata [CS] Определяет имя инстанции аплета, что делает возможным для аплетов в пределах той же страницы находить друг друга (и взаимодействовать). archive = uri-list [CT] Определяет список разделённых запятыми URI для архивов, содержащих классы и другие ресурсы, которые будут "предзагружены". Классы загружаются с использованием объекта AppletClassLoader с установленным codebase. Относительные URI для архивов интерпретируются в соответствии с codebase аплета. Предварительная загрузка ресурсов может значительно ускорить выполнение аплетов. object = cdata [CS] Этот атрибут именует ресурс, содержащий сериализованное представление состояния аплета. Он интерпретируется относительно codebase аплета. Сериализованные данные содержат имя класса аплета, но не реализацию. Имя класса используется для запроса реализации из файла класса или архива.Если аплет "десериализован", вызывается метод start(), но не метод init(). Значения атрибутов после сериализации оригинального объекта не восстанавливаются. Любые атрибуты, передаваемые в инстанцию APPLET, будут доступны аплету. Авторы должны предельно осторожно пользоваться этой возможностью. Аплет должен быть остановлен перед тем, как будет сериализован.
        Атрибуты code или object должны присутствовать. Если задан и code, и object, то будет считаться ошибкой, если они будут задавать разные имена класса.
        width = length [CI] Определяет начальную ширину области отображения аплета (за исключением любых окон или диалоговых окон, создаваемых аплетом)). height = length [CI] Определяет начальную высоту области отображения аплета (за исключением любых окон или диалоговых окон, создаваемых аплетом). Атрибуты, определённые в другом месте
      274. id, class (идентификаторы документа)
      275. title (заголовок элемента)
      276. style (инлайн-стиль)
      277. alt (альтернативный текст)
      278. align, hspace, vspace (визуальное представление объектов, изображений и аплетов)
      279. Этот элемент, поддерживаемый всеми браузерами с поддержкой Java, позволяет дизайнерам внедрять аплет Java в документ HTML. Он не рекомендуется. Вместо него следует применять элемент OBJECT.
        Содержимое APPLET функционирует как альтернативная информация для ПА, не поддерживающих этот элемент или сконфигурированных так, чтобы не поддерживать аплеты. В противном случае ПА должны игнорировать содержимое.
        НЕ РЕКОМЕНДУЕТСЯ:
        В этом примере элемент APPLET вставляет аплет Java в документ. Поскольку отсутствует codebase, предполагается, что аплет находится в той же директории, что и текущий документ.
        Java applet that draws animated bubbles. Этот пример можно переписать с использованием OBJECT:
        Java applet that draws animated bubbles. Начальные значения могут быть переданы аплету элементом PARAM.
        НЕ РЕКОМЕНДУЕТСЯ:
        Этот участок аплета Java:
        Java applet that plays a welcoming sound. можно переписать с OBJECT:
        Java applet that plays a welcoming sound.

        Замечания о внедрённых документах


        13.5 Замечания о внедрённых документах

        Иногда, вместо того, чтобы ссылаться на документ, автор может захотеть встроить объект непосредственно в основной документ HTML. Для этого авторы могут использовать элементы IFRAME или OBJECT, но эти элементы отличаются друг от друга. Они не только имеют разные модели содержимого; элемент IFRAME может быть целевым фрэймом (см. детали в определении информации целевого фрэйма) и может быть "выбран" пользовательским агентом как фокус для печати, просмотра текста-источника HTML и т.д. ПА могут отображать выбранные фрэймы не так, как невыбранные (например, прорисовкой рамки вокруг выбранного фрэйма).Внедрённый документ полностью независим от документа, в который он внедрён. Например, относительные URI внутри внедрённого документа разрешаются в соответствии с базовым URI внедрённого документа, а не с базовым URI главного документа. Внедрённый документ отображается только внутри другого документа (напр., в дочернем окне), в то же время, он остаётся независимым.
        К примеру, следующие строки внедряют содержимое файла embed_me.html в то место, где появляется определение OBJECT:
        ...текст до... Warning: embed_me.html could not be embedded. ...текст после... Напоминаем, что содержимое OBJECT должно отображаться только в том случае, если файл, определённый в атрибуте data не может быть загружен.
        Поведение ПА в тех случаях, когда файл внедряет сам себя, не определено.

        Клиентские карты изображений: элементы MAP и AREA

        13.6.1 Клиентские карты изображений: элементы MAP и AREA

        MAP - - ((%block;) | AREA)+ -- клиентская карта изображений --> %attrs; -- %coreattrs, %i18n, %events -- name CDATA #НЕОБХОДИМ -- для ссылок usemap -- > Начальный тег: необходим, Конечный тег: необходим
        AREA - O EMPTY -- регион клиентской карты --> %attrs; -- %coreattrs, %i18n, %events -- shape %Shape; rect -- управляет интерпретацией coords -- coords %Coords; #ПРЕДПОЛАГАЕТСЯ -- список разделённых запятыми размеров -- href %URI; #ПРЕДПОЛАГАЕТСЯ -- URI связанного ресурса -- nohref (nohref) #ПРЕДПОЛАГАЕТСЯ -- этот регион не имеет action -- alt %Text; #НЕОБХОДИМ -- краткое описание -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- > Начальный тег: необходим, Конечный тег: запрещён
        Определения атрибутов элемента MAP
        name = cdata [CI] Назначает имя карте изображений, определённой элементом MAP. Определения атрибутов элемента AREA
        shape = default|rect|circle|poly [CI] Этот атрибут определяет границы региона. Возможные значения:
      280. default: весь регион;
      281. rect: прямоугольный регион;
      282. circle: круглый регион;
      283. poly: многоугольный регион.
      284. coords = coordinates [CN] Определяет позицию на экране и очертания. Количество и порядок значений зависят от определяемой фигуры. Возможные сочетания:
      285. rect: left-x, top-y, right-x, bottom-y.
      286. circle: center-x, center-y, radius.
        Примечание. Если значение radius - в процентах, ПА должны вычислять окончательное значение радиуса на базе ширины и высоты ассоциированного объекта. Значение радиуса должно быть меньше 2.
      287. poly: x1, y1, x2, y2, ..., xN, yN. Первая пара координат x и y и последняя должны бить одинаковыми, чтобы "закрыть" многоугольник. Если эти значения не одинаковы, ПА должен вычислить дополнительную пару координат, чтобы закрыть многоугольник.
      288. Координаты относительны к верхнему левому углу объекта. Все значения являются размерами. Все значения разделены запятыми.
        nohref [CI] Если установлен этот булев атрибут, то он указывает, что регион не имеет ассоциированной гиперссылки. Атрибут для ассоциирования карты с элементом
        usemap = uri [CT] Ассоциирует карту с элементом. Карта изображений определяется элементом MAP. Значение usemap должно совпадать со значением атрибута name ассоциированного элемента MAP. Атрибуты, определённые в другом месте
      289. id, class (идентификаторы документа)
      290. lang (язык), dir (направление текста)
      291. title (заголовок элемента)
      292. style (инлайн-стиль)
      293. name (отправка объектов с формой)
      294. alt (альтернативный текст)
      295. href (ссылка-якорь) target (целевой фрэйм)
      296. tabindex (навигация табуляцией)
      297. accesskey (символ быстрого доступа)
      298. shape (карты изображений)
      299. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup, onfocus, onblur (внутренние события)
      300. Элемент MAP определяет клиентскую карту (или другой механизм навигации), который может быть ассоциирован с другими элементами (IMG, OBJECT или INPUT). Карта ассоциируется с элементом посредством атрибута usemap. Элемент MAP может использоваться без ассоциированного изображения для механизмов общей навигации.
        Наличие атрибута usemap в элементе OBJECT подразумевает, что включаемый объект - это изображение. Кроме того, если элемент OBJECT имеет ассоциированную клиентскую карту, ПА могут выполнять взаимодействие с пользователем через OBJECT, только в понятиях клиентской карты. Это позволяет ПА (таким как аудиобраузер или робот) взаимодействовать с OBJECT без его выполнения (прогона); ПА может даже избрать вариант - не запрашивать (или не исполнять) объект. Если OBJECT имеет ассоциированную карту изображений, авторы не могут рассчитывать, что объект будет запрошен или выполнен любым ПА.
        Модель содержимого элемента MAP позволяет авторам комбинировать:
      301. Один или более элементов AREA. Эти элементы не имеют содержимого, но определяют геометрические регионы карты изображений и гиперссылки, ассоциированные с каждым регионом. Заметьте, что ПА обычно не отображают элементы AREA. Поэтому авторы должны предоставлять альтернативный текст для каждого AREA в атрибуте alt (см. ниже как определить альтернативный текст).
      302. Содержимое уровня блока. Это содержимое должно включать элементы A, которые специфицируют геометрические регионы карты и ссылки, ассоциированные с каждым регионом. Обратите внимание, что ПА должен отображать содержимое уровня блока элемента MAP. Авторы должны использовать этот метод для создания более доступных документов.
      303. Если элемент MAP имеет смешанное содержимое (элементов AREA и содержимое уровня блока), ПА должны игнорировать элементы AREA.
        Авторы должны специфицировать геометрию карты изображений полностью элементами AREA, полностью элементами A или полностью теми и другими, если содержимое смешанное. Авторы могут смешивать содержимое так, чтобы старые ПА обрабатывали очертания карт, определённые элементами AREA, а новые ПА использовали преимущества содержимого уровня блоков.
        Если два или более регионов перекрываются, элемент, определяющий регион, который появился раньше в документе, имеет приоритет (напр., ответить на ввод пользователя).
        ПА и авторы должны предоставлять текстовую альтернативу графической карте для тех случаев, когда графика недоступна или пользователь не может её получить. Например, ПА могут использовать текст из alt для создания текстовых ссылок вместо графической карты изображений. Такие ссылки могут быть активированы разными способами (с клавиатуры, голосом и т.д.).
        Примечание. MAP не имеет обратной совместимости с ПА HTML 2.0.

        Серверные (на стороне сервера) карты изображений

        13.6.2 Серверные (на стороне сервера) карты изображений

        Серверные карты могут представлять интерес в тех случаях, когда карта слишком сложна , чтобы работать как карта на стороне клиента.
        Можно определить серверные карты только для элементов IMG и INPUT.
        IMG должен находиться внутри элемента A, а булев атрибут ismap ([CI]) должен быть установлен.
        INPUT должен быть типа "image".
        Когда пользователь активирует ссылку щелчком на изображении, координаты экрана передаются непосредственно тому серверу, где находится документ. Значения координат экрана выражены в пикселах относительно изображения. Нормативную информацию об определении пикселов и о том, как их обсчитывать, см. в [CSS1].
        В следующем примере активный регион определяет ссылку к серверу. Таким образом, щелчок где-либо на изображении вызывает отправку координат щелчка на сервер:
        target Точка щелчка предаётся на сервер так: ПА устанавливает новый URI из URI, определённого атрибутом href в элементе A, присоединением `?' с последующими координатами x и y, разделёнными запятыми. Теперь переход осуществляется по новому URI. Например, в предыдущем отрывке, если пользователь щёлкнул в точке x=10, y=27, тогда новый URI будет "http://www.acme.com/cgi-bin/competition?10,27".
        ПА, не предоставляющие пользователю возможность выбора определённых координат (неграфические ПА, которые имеют только клавиатурный ввод, речевые ПА и т.д.), должны при активации гиперссылки отсылать серверу координаты "0,0".

        Карты изображений


        13.6 Карты изображений

        Карты изображений позволяют авторам специфицировать регионы/области изображения или объекта и назначать отдельное действие каждому региону (напр., запросить документ, запустить программу и т.п.). Если регион активируется пользователем, действие запускается на выполнение.Карта изображений (image map) создаётся путём ассоциирования объекта со спецификацией сенситивного геометрического региона на объекте.
        Существуют карты двух типов:
      304. Клиентские\на стороне клиента (Client-side). Если пользователь активирует мышью регион клиентской карты, координаты щелчка (в пикселах) интерпретируются ПА. ПА выбирает ссылку, определённую для данного региона, и переходит по ней.
      305. Серверные\На стороне сервера (Server-side). Если пользователь активирует мышью регион серверной карты, координаты щелчка (в пикселах) пересылаются на сервер агенту, определённому атрибутом href элемента A. Агент на сервере интерпретирует координаты и выполняет некоторое действие.
      306. Клиентские карты изображений предпочтительнее, нежели серверные по двум (как минимум) причинам: они доступны для людей, просматривающих документ в неграфических браузерах, и немедленно реагируют при перемещении указателя над активным регионом.

        Ширина и высота

        13.7.1 Ширина и высота

        Определения атрибутов
        width = length [CN] Переопределяет ширину изображения и объекта. height = length [CN] Переопределяет высоту изображения и объекта. Если установлены, атрибуты width и height сообщают ПА , что нужно переопределить натуральные размеры изображения или объекта новыми значениями.
        Если объектом является изображение, оно может быть обсчитано. ПА должны обсчитывать объект или изображение для установки ширины и высоты, специфицированных автором. Напоминаем, что размеры, выраженные в процентах, базируются на доступном вертикальном или горизонтальном пространстве, а не на натуральных размерах изображения, объекта или аплета.
        Атрибуты height и width сообщают ПА основную идею о размерах изображения или объекта, чтобы ПА мог зарезервировать под них пространство и продолжить показ документа, пока продолжается получение данных изображения.

        Свободное пространство вокруг изображений и объектов

        13.7.2 Свободное пространство вокруг изображений и объектов

        Определения атрибутов
        hspace = pixels [CN] Не рекомендуется. Определяет размер свободного пространства слева и справа от IMG, APPLET или OBJECT. Значение по умолчанию не определено, но обычно это небольшая ненулевая величина. vspace = pixels [CN] Не рекомендуется. Определяет размер свободного пространства сверху и снизу от IMG, APPLET или OBJECT. Значение по умолчанию не определено, но обычно это небольшая ненулевая величина.

        Рамки

        13.7.3 Рамки

        Изображение или объект могут быть окружены рамкой (напр., если рамка определена пользователем или если изображение является содержимым элемента A).
        Определение атрибута
        border = pixels [CN] Не рекомендуется. Определяет в пикселах ширину рамки вокруг IMG или OBJECT. Значение по умолчанию зависит от ПА.

        Выравнивание

        13.7.4 Выравнивание

        Определение атрибута
        align = bottom|middle|top|left|right Не рекомендуется. Определяет положение IMG, OBJECT или APPLET в соответствии с их контекстом. Вот значения для align, касающиеся позиции объекта по отношению к окружающему тексту:
      307. bottom: означает, что низ объекта должен быть выровнен вертикально по текущей базовой линии. Это значение по умолчанию.
      308. middle: означает, что центр объекта должен быть выровнен вертикально по текущей базовой линии.
      309. top: означает, что верх объекта должен быть выровнен вертикально по верхней границе текущей строки.
      310. Два других значения, left и right, заставляют изображение "отплывать" к левому или правому краю. Они рассматриваются разделе всплывающие объекты.
        Различия в интерпретации выравнивания. ПА отличаются в интерпретации атрибута align. Некоторые только принимают во внимание то, что появляется в строке перед элементом, другие учитывают текст по обе стороны от элемента.

        Визуальное представление изображений, объектов и аплетов


        13.7 Визуальное представление изображений, объектов и аплетов

        Все атрибуты элементов IMG и OBJECT, касающиеся визуального выравнивания и представления, не рекомендуются. Вместо этого рекомендуется использовать таблицы стилей.



        Как установить альтернативный текст


        13.8 Как установить альтернативный текст

        Определение атрибута
        alt = text [CS] Для ПА, которые не могут выводить изображения, формы или аплеты, этот атрибут определяет альтернативный текст. Язык альтернативного текста определяется атрибутом lang. Некоторые нетекстовые элементы (IMG, AREA, APPLET и INPUT) позволяют авторам вводить альтернативный текст, служащий содержимым в тех случаях, когда элемент не может быть отображён нормально.
        Установка альтернативного текста помогает пользователям без графических дисплеев, пользователям, чьи браузеры не поддерживают формы, пользователям с дефектами зрения, тем, кто использует голосовые синтезаторы, тем, кто настроил свои графические ПА так, чтобы не показывать изображения и т.д.
        Атрибут alt должен быть определён для элементов IMG и AREA. Он не обязателен для элементов INPUT и APPLET.
        Поскольку альтернативный текст может оказать существенную помощь, он должен быть определён очень тщательно. Авторы должны руководствоваться следующим:
      311. Не определяйте не относящийся к делу альтернативный текст при включении изображений, предназначенных для форматирования страницы, например, alt="red ball" не подойдёт для изображения, которое добавляет красные мячи для декорирования заголовка или параграфа. В этом случае альтернативный текст должен быть пустой строкой (""). В любом случае авторам не стоит использовать изображения для форматирования страниц. Вместо этого нужно использовать таблицы стилей.
      312. Не указывайте бессмысленный альтернативный текст (напр., "пустой текст"). Это не только дезориентирует пользователей, но и замедляет работу ПА, которые должны конвертировать текст для речевого или брайль-вывода.
      313. Разработчики должны просмотреть раздел о доступности для получения информации о том, как обрабатывать ситуации с отсутствием альтернативного текста.

        Объекты, Изображения и Аплеты

        13. Объекты, Изображения и Аплеты

        Содержание
      314. Введение
      315. Вставка изображения: элемент IMG
      316. Общая вставка: элемент OBJECT
      317. Правила представления объектов
      318. Инициализация объекта: элемент PARAM
      319. Глобальные схемы именования объектов
      320. Объявление и размещение объектов
      321. Вставка аплета: элемент APPLET
      322. Замечания о внедрённых документах
      323. Карты изображений
      324. Клиентские (на стороне клиента) карты изображений: элементы MAP и AREA
      325. Примеры клиентских карт
      326. Серверные (на стороне сервера) карты изображений
      327. Визуальное представление изображений, объектов и аплетов
      328. Ширина и высота
      329. Свободное пространство вокруг изображений и объектов
      330. Рамки
      331. Выравнивание
      332. Как установить альтернативный текст


      333. Введение


        14.1 Введение

        Таблицы стилей являются грандиозным прорывом в области Web-дизайна. В научных кругах, там, где был придуман Web, больше интересуются содержимым документов, чем их внешним видом. Поскольку всё больше людей открывают для себя Web, ограничения HTML становятся постоянным источником разочарований, и авторы должны постоянно придумывать, как преодолеть эти стилистические ограничения. Хотя намерения были самыми благими - улучшить внешний вид Web-страниц - техника исполнения этого имела, к сожалению, побочные эффекты. Эта техника иногда работает, но не всегда и не везде. Она включает:
      334. использование подходящих расширений HTML;
      335. конвертирование текста в изображение;
      336. использование изображений для управления пробелами;
      337. использование таблиц для форматирования текста;
      338. написание программ вместо использования HTML.
      339. Эти способы явно увеличивали сложность страниц Web, ограничивали свободу действий, создавали проблемы совместимости, а также сложности для пользователей с физическими проблемами.
        Таблицы стилей решают эти задачи, одновременно выходя за узкие рамки механизмов представления в HTML. Таблицы стилей облегчают установку межстрочных интервалов, отступов, цвета текста и фона, размера и стиля шрифта и других деталей.
        Например, эта небольшая CSS (таблица стилей), находящаяся в файле "special.css", устанавливает цвет текста параграфа в зелёный и окружает его сплошной красной рамкой:
        P.special { color : green; border: solid red; } Авторы могу подключить эту таблицу стилей к основному документу HTML с помощью элемента LINK:

        Текст в этом параграфе должен быть зелёного цвета. HTML 4 поддерживает следующие возможности таблиц стилей:
        Гибкость размещения информации о стиле Размещение таблиц стилей в отдельных файлах облегчает их повторное использование. Иногда необходимо включить инструкции представления в документ, к которому они применяются, путём группировки их в начале документа или установкой в атрибутах по всему телу документа. Чтобы облегчить работу со стилями на базе сайта, эта спецификация описывает, как использовать заголовки-"шапки"/headers HTTP для установки применения таблиц стилей в документах. Независимость от конкретного языка таблицы стилей Эта спецификация не привязывает HTML к какому-то определённому языку таблиц стилей. Это позволяет использовать разные языки, например, простой для большинства пользователей и более сложный - для пользователей с узко специализированными потребностями. Примеры, данные ниже, используют язык CSS (Cascading Style Sheets) [CSS1], но возможны и другие языки таблиц стилей. Каскадирование Это возможность, предоставляемая некоторыми языками таблиц стилей, такими как CSS, соединять информацию стилей из различных источников. Это могут быть, например, корпоративные руководства по стилям, стили для групп документов и стили, специфические для отдельного документа. Сохраняя эту информацию раздельно, таблицы стилей могут быть повторно использованы, облегчая творчество и более эффективное использование сетей. Каскад определяет упорядоченную последовательность таблиц стилей, где правила более поздних таблиц имеют преимущество перед правилами более ранних таблиц. Не все языки таблиц стилей поддерживают каскадирование. Зависимость от типа носителя HTML позволяет авторам определять media-независимые документы. Это даёт пользователям возможность использовать Web-страницы на разных устройствах и носителях информации, например, графические дисплеи компьютеров, использующих Windows, Macintosh OS и X11, телевизионные устройства, специально адаптированные телефоны и портативные устройства на базе PDA, речевые браузеры и тактильные брайль-устройства.Таблицы стилей, наоборот, применяются к конкретным носителям или группам носителей. Таблица, предполагаемая для использования с экраном, может функционировать при печати на принтере, но мало подходит для речевых браузеров.
        Эта спецификация позволяет Вам определить устройства из широкого набора, в которых данная таблица стилей может быть применена. Это позволяет пользовательским агентам (ПА) исключить употребление неподходящих таблиц стилей. Языки таблиц стилей могут включать возможности описания в той же самой таблице зависимости от типа носителя.
        Альтернативные стили У авторов может появиться желание предоставить пользователям различные способы просмотра документа. Например, создав таблицу стилей для компактного просмотра документов со шрифтом небольшого размера, или таблицу, определяющую более крупный шрифт для удобства чтения. Эта спецификация даёт авторам возможность определять основную таблицу стилей, а также альтернативы в зависимости от условий конечного пользователя и типа носителя. ПА должны давать пользователям возможность выбора их нескольких таблиц стилей или объединения этих таблиц. Возражения в связи с ухудшением параметров работы Некоторыми высказывается озабоченность в связи с ухудшением параметров работы, связанным с использованием таблиц стилей. Например, загрузка внешней таблицы стилей может задержать вывод документа. Такие ситуации возникают чаще, если "шапки" документов содержат большое количество информации о стиле.В настоящее время предлагается для решения этой проблемы включать соответствующие инструкции непосредственно в каждый элемент HTML. Информация о представлении в этом случае всегда доступна для ПА при отображении конкретного элемента.
        Во многих случаях, авторы предпочитают использовать обычные таблицы стилей для групп документов. При использовании внедрённых таблиц стилей, передача стилевых установок документам действительно приводит к значительному снижению параметров работы, поскольку, для большинства документов, таблицы стилей будут размещены в локальном кэше. Общедоступность хороших таблиц стилей способствует этому.

        Установка языка по умолчанию для таблиц стилей

        14.2.1 Установка языка по умолчанию для таблиц стилей

        Авторы могут специфицировать язык таблиц стилей для стилевой информации, ассоциированной с документом HTML.
        Авторы должны использовать элемент META для установки в данного документе языка по умолчанию для таблиц стилей. Для этого, например, автор должен поместить следующее объявление в HEAD своих документов:
        Язык по умолчанию для таблиц стилей может быть также установлен в заголовках HTTP. Предыдущее объявление META эквивалентно объявлению в заголовке HTTP:
        Content-Style-Type: text/css ПА должны определять язык по умолчанию для таблиц стилей документа в такой последовательности (приоритет по убыванию):
      340. Если какое-либо объявление META устанавливает "Content-Style-Type", это выражение определяет язык по умолчанию для таблиц стилей.
      341. Иначе, если какое-либо объявление заголовка HTTP устанавливает "Content-Style-Type", тогда данное выражение определяет язык по умолчанию для таблиц стилей.
      342. Иначе языком по умолчанию является "text/css".
      343. Документы, содержащие элементы с установленным атрибутом style, но не определившие язык по умолчанию для таблиц стилей, являются некорректными. Авторские утилиты должны генерировать информацию о языке по умолчанию для таблиц стилей (обычно в объявлении META) так, чтобы ПА не должны были обращаться к языку по умолчанию - "text/css".

        Инлайн-стиль (внедрённый)

        14.2.2 Инлайн-стиль (внедрённый)

        Определение атрибута
        style = style [CN] Этот атрибут определяет стилевую информацию для данного элемента. Синтаксис значений атрибута style определяется языком по умолчанию для таблиц стилей. Например, для инлайн-стиля [[CSS2]] используйте синтаксис блока объявлений, описанный в разделе 4.1.8 (без фигурных скобок-ограничителей).
        Этот пример CSS устанавливает цвет и шрифт текста параграфа:

        Aren't style sheets wonderful? В CSS правильное объявление имеет форму "имя : значение" (с разделяющим двоеточием).
        Для установки стилевой информации в нескольких элементах авторы могут использовать элемент STYLE.
        Для достижения максимальной гибкости авторы должны определять стили во внешних таблицах стилей.

        Информация о стиле в заголовках: элемент STYLE

        14.2.3 Информация о стиле в заголовках: элемент STYLE

        STYLE - - %StyleSheet -- информация о стиле --> %i18n; -- lang, dir, для использования с названием элемента -- type %ContentType; #НЕОБХОДИМ -- тип содержимого языка стилей -- media %MediaDesc; #ПРЕДПОЛАГАЕТСЯ -- создан для использования с этим носителем -- title %Text; #ПРЕДПОЛАГАЕТСЯ -- информативное название -- > Начальный тег: необходим, Конечный тег: необходим
        Определения атрибутов
        type = content-type [CI] Определяет язык стиля содержимого элемента и переопределяет язык по умолчанию для таблиц стилей. Язык таблиц стилей определён как тип содержимого (напр., "text/css"). Авторы обязаны указывать значение этого атрибута. Значение по умолчанию отсутствует. media = media-дескрипторы [CI] Определяет предполагаемый носитель для стилевой информации. Это может быть один media-дескриптор или список разделённых запятыми значений. Значение по умолчанию для этого атрибута - "screen". Атрибуты, определённые в другом месте
      344. lang (язык), dir (направление текста)
      345. title (название элемента)
      346. Элемент STYLE позволяет разместить информацию стиля в "шапке" документа. HTML допускает любое количество элементов STYLE в разделе HEAD документа.
        ПА, не поддерживающие таблицы стилей или не поддерживающие определённый язык таблиц стиля, используемый элементом STYLE, должны прятать содержимое элемента STYLE. Ошибочным будет отображать это содержимое как часть текста документа. Некоторые языки таблиц стиля поддерживают синтаксис скрытия содержимого от несоответствующих ПА.
        Синтаксис данных стиля зависит от языка таблиц стиля.
        Некоторые реализации таблиц стиля могут допускать больший набор правил в элементе STYLE, нежели в атрибуте style. Например, при наличии CSS, правила могут быть объявлены в элементе STYLE для:
      347. всех объектов определённого элемента HTML (напр., все элементы P , все элементы H1 и т.д.);
      348. всех объектов элемента HTML, принадлежащих к определённому классу (т.е. тех, чей атрибут class установлен в некоторое значение);
      349. одиночных объектов элементов HTML (т.е. тех, чей атрибут id установлен в некоторое значение).
      350. Правила иерархии и наследования стиля зависят от языка таблиц стилей.
        Следующее объявление CSS STYLE помещает рамку вокруг каждого элемента H1 в документе и выравнивает их по центру страницы.
        Чтобы эта информация стиля воздействовала только на элементы H1 определённого класса, мы изменим её так:

        В этом H1 наш стиль действует

        Здесь наш стиль не действует

        Наконец, чтобы ограничить область видимости стилевой информации до одного объекта H1, установим атрибут id:

        На этот H1 не действует

        На этот H1 действует

        На этот H1 не действует

        Хотя информация стиля может быть установлена почти для любого элемента HTML, два из них, DIV и SPAN, используются обычно так, чтобы не иметь семантики представления (кроме уровня блока и инлайн). В комбинации с таблицами стиля эти элементы позволяют пользователю расширять HTML, особенно при использовании атрибутов class и id.
        В этом примере мы используем элемент SPAN для установки стиля шрифта нескольких слов в начале параграфа в малые прописные.
        The first few words of this paragraph are in small-caps. В данном примере мы используем DIV и атрибут class для выравнивания по формату текста нескольких параграфов, образующих воображаемый раздел научной статьи. Эта стилевая информация может использоваться повторно для другого раздела путём установки атрибута class в любом нужном месте документа.
        The Chieftain product range is our market winner for the coming year. This report sets out how to position Chieftain against competing products. Chieftain replaces the Commander range, which will remain on the price list until further notice.


        Типы носителя

        14.2.4 Типы носителя

        HTML позволяет создавать документы, использующие преимущества тех носителей, где документы должны просматриваться (напр., графические дисплеи, телеэкраны, портативные устройства, речевые браузеры, тактильные брайль-устройства и т.д.). Устанавливая атрибут media, авторы дают ПА возможность выборочно загружать и использовать таблицы стилей. См. список распознаваемы media-дескрипторов.
        Данное объявление относится к элементам H1. При отображении на бизнес-совещании, все объекты будут голубого цвета. При печати - будут центрироваться.
        Здесь добавлены звуковой эффекты к якорю для использования в голосовом выводе:
        Media-элемент представляет особый интерес при применении к таблице стилей, поскольку ПА может сэкономить время, запрашивая по сети только те таблицы, которые применяются непосредственно к текущему устройству. К примеру, речевые браузеры могут исключить загрузку таблиц стилей, созданных для визуального представления. См. также раздел media-зависимые каскады.

        Добавление стиля в HTML


        14.2 Добавление стиля в HTML

        Примечание. Образец таблицы стилей HTML 4, включённый в [CSS2], показывает обычно приемлемую информацию по умолчанию для каждого элемента. Авторы и разработчики могут найти его вполне пригодным.
        Документы HTML могут содержать правила таблиц стилей непосредственно в себе или импортировать таблицы стилей.
        Любой язык таблиц стилей может быть использован в HTML. Простой язык может удовлетворить потребности большинства пользователей, а другие языки больше подходят для решения узкоспециализированных задач. В этой спецификации использован язык стилей "Cascading Style Sheets" ([CSS1]), сокращённо - CSS.
        Синтаксис данных стиля зависит от языка таблицы стилей.

        Основные и альтернативные таблицы стилей

        14.3.1 Основные и альтернативные таблицы стилей

        HTML позволяет ассоциировать любое число внешних таблиц стилей с документом. Язык таблицы стилей определяет, сколько внешних таблиц стилей взаимодействует с документом (например, "каскадные" правила CSS).
        Авторы могут определить несколько взаимоисключающих таблиц стилей, называемых альтернативными таблицами стилей. Пользователь может сделать выбор, в зависимости от своих предпочтений. К примеру, автор может определить одну таблицу стилей для малого экрана, а другую - для слабовидящих (напр., крупные шрифты). ПА должны предоставить пользователю возможность выбора из нескольких таблиц стилей.
        Авторы могут определить одну из альтернативных таблиц стилей как основную (предпочтительную). ПА должны использовать такую таблицу, если только пользователь не выбрал другую.
        Авторы могут группировать несколько альтернативных таблиц стилей (включая основную авторскую) под одним именем стиля. Если пользователь выбирает именованный стиль, ПА должен применить все таблицы стилей с этим именем. ПА не должны применять альтернативные таблицы стилей с другим именем стиля. В разделе спецификация внешней таблицы стилей объясняется, как именовать группу таблиц стилей.
        Авторы также могут определить постоянные\persistent таблицы стилей, которые обязаны применяться ПА в дополнение к любой альтернативной таблице стилей.
        ПА обязаны учитывать media-декскрипторы при использовании любой таблицы стилей.
        ПА должны также давать пользователю возможность полностью отключить авторские таблицы стилей. В этом случае, ПА обязан не применять любую, постоянную или альтернативную, таблицу стилей.

        Спецификация внешней таблицы стилей

        14.3.2 Спецификация внешней таблицы стилей

        Авторы определяют внешнюю таблицу стилей со следующими атрибутами элемента LINK:
      351. href указывает на расположение файла таблицы стилей. Значением href является URI;
      352. значение атрибута type указывает язык связанного ресурса (таблицы стилей). Это позволяет ПА избегать загрузки таблиц стилей для не поддерживаемого языка таблиц стилей;
      353. определить, является таблица стилей постоянной, основной или альтернативной:
      354. чтобы сделать таблицу постоянной, установите атрибут rel в "stylesheet" и не устанавливайте атрибут title;
      355. чтобы сделать таблицу основной, установите атрибут rel в "stylesheet" и именуйте таблицу с помощью атрибута title;
      356. чтобы сделать таблицу альтернативной, установите атрибут rel в "alternate stylesheet" и именуйте таблицу с помощью атрибута title.
      357. ПА должен предоставлять пользователю возможность видеть список альтернативных стилей и выбрать из него. Значение атрибута title рекомендуется как название каждого пункта выбора.
        В этом примере мы сначала определяем постоянную таблицу стилей, находящуюся в файле mystyle.css:
        Установка атрибута title делает её авторской основной:
        Добавление ключевого слова "alternate" к атрибуту rel делает её альтернативной таблицей стилей:
        Дополнительную информацию о таблицах стилей см. раздел гиперссылки и внешние таблицы стилей.
        Авторы могут использовать элемент META для установки основной таблицы стилей документа. Например, чтобы установить основную таблицу стилей в "compact" (см. предыдущий пример), авторы могут включить следующую строчку в HEAD:
        Основная таблица стилей может быть специфицирована заголовками HTTP. Предыдущее объявление META эквивалентно заголовку HTTP:
        Default-Style: "compact" Если два или более объявления META или заголовка HTTP определяют основную таблицу стилей, самая последняя имеет приоритет. Заголовки HTTP появляются раньше, чем HEAD документа.
        Если два или более элемента LINK определяют основную таблицу стилей, первая таблица имеет преимущество.
        Основная таблица стилей, определённая в META или в заголовке HTTP, имеет преимущество перед таблицами, определёнными в элементе LINK.

        Внешние таблицы стилей


        14.3 Внешние таблицы стилей

        Авторы могут отделить таблицы стилей от основных документов HTML. Это даёт следующие преимущества:
      358. авторы и менеджеры Web-сайтов могут разделять использование таблиц стилей среди нескольких документов (и сайтов);
      359. авторы могут изменять таблицы стилей без изменения самих документов;
      360. ПА могут выборочно загружать таблицы стилей (в зависимости от media-дескриптора).


      361. Media-зависимые каскады

        14.4.1 Media-зависимые каскады

        Каскад может включать таблицы стилей, применяемые для разных типов носителя. И LINK, и STYLE могут использоваться с атрибутом media. ПА в этом случае отвечает за фильтрацию тех таблиц, которые не применяются для текущего носителя.
        В следующем примере мы определяем каскад, где таблица "corporate" даётся в нескольких версиях: одна для печати, другая для экрана и третья для речевых браузеров (используемая, как говорят, при чтении email в автомобиле). Таблица "techreport" применима ко всем носителям. Правило цвета, определённое элементом STYLE, используется для печати и экрана, но не для речевого представления.


        Наследование и каскадирование

        14.4.2 Наследование и каскадирование

        Если ПА хочет отобразить документ, ему нужно найти значения для свойств стиля, например, семейство шрифтов, стиль шрифта, размер, высота строки, цвет текста и так далее. Точный механизм зависит от языка таблиц стилей, но следующее описание в целом применимо:
        Механизм каскадирования применяется, если несколько правил стиля применяются непосредственно к элементу. Этот механизм позволяет ПА сортировать правила по специфике, чтобы определить, какое правило применить. Если не найдено ни одного правила, следующий шаг зависит от того, может или нет наследоваться это свойство стиля. Не все свойства могут наследоваться. Для этих свойств язык таблиц стиля предоставляет значения по умолчанию для того, чтобы использовать их при отсутствии явных правил для конкретного элемента.
        Если свойство может наследоваться, ПА проверяет непосредственно включаемые элементы, чтобы убедиться, применимо ли к ним правило. Этот процесс продолжается до тех пор, пока ПА находит применимые правила. Этот механизм позволяет компактно специфицировать таблицы стилей. К примеру, авторы могут определить семейство шрифтов для всех элементов внутри BODY одним правилом, которое применяется к элементу BODY.

        Каскадные таблицы стилей


        14.4 Каскадные таблицы стилей

        Языки каскадных таблиц стилей, такие как CSS, разрешают объединять стилевую информацию из различных источников. Однако, не все языки таблиц стилей поддерживают каскадирование. Чтобы создать каскад, авторы определяют последовательность элементов LINK и/или STYLE. Стилевая информация каскадируется в том порядке, в котором элементы появляются в HEAD.
        Примечание. Эта спецификация не определяет, как каскадируются таблицы стилей на другом языке таблиц стилей. Авторы должны исключить смешение языков таблиц стилей.
        В следующем примере мы определяем две альтернативные таблицы стилей с названием "compact". Если пользователь выберет стиль "compact", ПА обязан применить обе внешние таблицы стилей, также как и постоянную таблицу стилей "common.css". Если пользователь выберет стиль "big print", только альтернативная таблица "bigprint.css" и постоянная "common.css" будут применены.
        Пример каскада, который использует элементы LINK и STYLE.


        Скрытие данных стиля от пользовательских агентов (ПА)


        14.5 Скрытие данных стиля от пользовательских агентов (ПА)

        Некоторые языки таблиц стилей поддерживают синтаксис, позволяющий авторам прятать содержимое элементов STYLE от несоответствующих ПА.
        Этот пример иллюстрирует, как в CSS закомментировать содержимое элементов STYLE так, чтобы быть уверенным наверняка, что несоответствующие ПА не будут рассматривать его как текст.


        Ссылки на таблицы стилей в заголовках HTTP

        14.6 Ссылки на таблицы стилей в заголовках HTTP

        Этот раздел относится только к тем ПА, которые соответствуют версиям HTTP, определяющим поле заголовка Link. Обратите внимание, что HTTP 1.1, как определено в [RFC2616] ,не содержит поле заголовка Link (см. раздел 19.6.3).
        Менеджеры Web-сервера могут найти удобным сконфигурировать сервер так, чтобы таблица стилей применялась к группе страниц. Заголовок HTTP Link имеет то же действие, что и элемент LINK с теми же атрибутами и значениями. Множественные заголовки Link соответствуют множественным элемента LINK, появляющимся в том же порядке. Например:
        Link: ; REL=stylesheet соответствует:
        Можно определить несколько альтернативных стилей, используя множественные заголовки Link, и использовать затем атрибут rel для определения стиля по умолчанию.
        В этом примере "compact" применяется по умолчанию, поскольку опущено ключевое слово "alternate" для атрибута rel.
        Link: ; rel="stylesheet"; title="compact" Link: ; rel="alternate stylesheet"; title="big print" Это должно также работать, если документы HTML пересылаются по email. Некоторые агенты email могут изменять порядок заголовков [RFC822]. Чтобы защитить каскадный порядок таблиц стилей, определённый заголовками Link, авторы могут использовать конкатенацию заголовков для сращивания нескольких объектов одного поля заголовка. Знак кавычек нужен только тогда, когда значения атрибутов содержат пробелы. Используйте мнемоники SGML для ссылки на символы, которые недопустимы в заголовках HTTP или email или могут быть изменены при прохождении через шлюзы.
        Элементы LINK и META, ожидаемые заголовками HTTP, определены как появляющиеся явно перед каким-либо элементом LINK или META в HEAD документа.

        Таблицы стилей

        14. Таблицы стилей

        Содержание
      362. Введение
      363. Добавление стиля в HTML
      364. Установка языка по умолчанию для таблиц стилей
      365. Инлайн-стиль (внедрённый)
      366. Информация о стиле в заголовках: элемент STYLE
      367. Типы носителя
      368. Внешние таблицы стиля
      369. Основные и альтернативные таблицы стилей
      370. Спецификация внешней таблицы стилей
      371. Каскадные таблицы стилей
      372. Media-зависимые каскады
      373. Наследование и каскадирование
      374. Скрытие данных стиля от ПА
      375. Ссылки на таблицы стилей в заголовках HTTP


      376. Цвет фона

        15.1.1 Цвет фона

        Определение атрибута
        bgcolor = color [CI] Не рекомендуется. Этот атрибут устанавливает цвет фона документа или ячеек таблицы. Этот атрибут устанавливает цвет фона "канвы" тела документа (элемент BODY) или таблицы (элементы TABLE, TR, TH и TD). Дополнительные атрибуты, устанавливающие цвет текста, могут использоваться с элементом BODY.
        Этот атрибут не рекомендуется использовать для определения цвета фона. Лучше использовать таблицы стилей.

        Выравнивание

        15.1.2 Выравнивание

        Можно выравнивать блок элементов (таблицы, изображения, объекты, параграфы и т.п.) на "канве" с помощью атрибута align. Хотя этот атрибут может быть установлен для многих элементов HTML, диапазон его значений может отличаться, в зависимости от элемента. Здесь мы обсуждаем только значение атрибута "выравнивание" для текста.
        Определение атрибута
        align = left|center|right|justify [CI] Не рекомендуется. Этот атрибут определяет горизонтальное выравнивание элемента по отношению к окружающему контексту. Возможные значения:
      377. left: строки текста выравниваются по левому краю;
      378. center: строки текста выравниваются по центру;
      379. right: строки текста выравниваются по правому краю;
      380. justify: строки текста выравниваются по обоим полям.
      381. Значение по умолчанию зависит от базового направления текста. Для направления слева направо - это align=left, для направления справа налево - по умолчанию .
        НЕ РЕКОМЕНДУЕТСЯ:
        Здесь заголовок центрируется.

        Что за прелесть эта мерзость!

        Используя CSS (каскадные таблицы стилей), например, Вы можете достичь того же эффекта следующим образом:
        Что за прелесть эта мерзость!

        Что за прелесть эта мерзость!

        Учтите, что это будет действовать на все элементы H1. Вы можете ограничить область видимости стиля, установив атрибут class элемента:
        Что за прелесть эта мерзость!

        Что за прелесть эта мерзость!

        НЕ РЕКОМЕНДУЕТСЯ:
        также, для того, чтобы выровнять вправо параграф на "канве" атрибутом HTML align, Вы могли бы записать:

        ...параграф текста... что в таблице стиля могло бы быть:
        Что за прелесть эта мерзость!

        ...параграф текста... НЕ РЕКОМЕНДУЕТСЯ:
        Чтобы выровнять вправо несколько параграфов, сгруппируйте их элементом DIV:

        ...текст первого параграфа... ...текст второго параграфа... ...текст третьего параграфа...
        В таблице стиля свойство выравнивания текста наследуется от предка, поэтому Вы можете использовать:
        Что за прелесть эта мерзость!
        ...текст первого параграфа... ...текст второго параграфа... ...текст третьего параграфа..
        Чтобы выровнять по центру весь документ:
        Что за прелесть эта мерзость! ...тело выровнено по центру... Элемент CENTER полностью эквивалентен определению элемента DIV с атрибутом align, установленным в "center". Элемент CENTER не рекомендуется.

        Плавающие объекты

        15.1.3 Плавающие объекты

        Изображения и объекты могут появляться непосредственно "in-line" или "всплывать" к одной из сторон страницы, изменяя временно поля текста, который может обтекать объект по любой его стороне.

        Форматирование


        15.1 Форматирование


        Элементы стиля шрифта: TT, I, B, BIG, SMALL, STRIKE, S и U

        15.2.1 Элементы стиля шрифта: TT, I, B, BIG, SMALL, STRIKE, S и U

        TT | I | B | BIG | SMALL"> %fontstyle;|%phrase;) - - (%inline;)*> %fontstyle;|%phrase;) %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: необходим
        Атрибуты, определённые в другом месте
      382. id, class (идентификаторы документа)
      383. lang (язык), dir (направление текста)
      384. title (название элемента)
      385. style (инлайн-стиль)
      386. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown onkeyup (внутренние события)
      387. Представление элементов стиля шрифта зависит от пользовательского агента (ПА). Следующее описание является лишь информативным.
        TT: моноширинный текст, телетайп. I: курсив. B: полужирный. BIG: "большой" шрифт. SMALL: "малый" шрифт. STRIKE и S: не рекомендуются, зачёркнутый текст. U: не рекомендуется, подчёркнутый. Вот несколько примеров определения шрифта:
        bold, italic, bold italic, teletype text, and big and small text. Это будет отображено так:
        Элементы стиля шрифта: TT, I, B, BIG, SMALL, STRIKE, S и U
        Можно применить более сложные варианты отображения шрифтов, используя таблицы стилей. Чтобы отобразить голубой курсив в параграфе с помощью таблицы стилей (CSS):

        ...голубой курсив... Элементы стиля шрифта должны вкладываться соответствующим образом. Отображение вложенных элементов стиля шрифта зависит от ПА.

        Элементы модификатора шрифта: FONT и BASEFONT

        15.2.2 Элементы модификатора шрифта: FONT и BASEFONT

        FONT и BASEFONT не рекомендуется применять.
        См. формальное определение в разделе Переходное ОТД.
        Определения атрибутов
        size = cdata [CN] Не рекомендуется. Устанавливает размер шрифта. Возможные значения:
      388. Целое число от 1 до 7. Устанавливает шрифт в определённый фиксированный размер, представление которого зависит от ПА. Не все ПА могут отобразить все семь размеров.
      389. Относительное увеличение размера шрифта. "+1" означает: на один размер больше. "-3" означает: на три размера меньше. Все размеры находятся в пределах шкалы от 1 до 7.
      390. color = color [CI] Не рекомендуется. Устанавливает цвет текста. face = cdata [CI] Не рекомендуется. Определяет список имён шрифтов, разделённых запятыми, которые ПА должен искать в порядке убывания приоритета. Атрибуты, определённые в другом месте
      391. id, class (идентификаторы документа)
      392. lang (язык), dir (направление текста)
      393. title (название элемента)
      394. style (инлайн-стиль)
      395. Элемент FONT изменяет размер шрифта и цвет текста своего содержимого.
        Элемент BASEFONT устанавливает базовый размер шрифта (используя атрибут size). Размер шрифта, определяемый FONT, является относительным по отношению к BASEFONT. Если BASEFONT не используется, размер базового шрифта составляет 3.
        НЕ РЕКОМЕНДУЕТСЯ:
        В этом примере показана разница между шрифтами семи размеров элемента FONT:
        size=1 size=2 size=3 size=4 size=5 size=6 size=7 Это может выглядеть так:
        Элементы модификатора шрифта: FONT и BASEFONT
        А это пример относительного изменения размера шрифта с использованием базового размера 3:
        Элементы модификатора шрифта: FONT и BASEFONT
        Базовый размер шрифта не применяется к заголовкам/headings, за исключением тех случаев, когда заголовки изменены с использованием относительного изменения размера в элементе FONT.

        Шрифты

        15.2 Шрифты

        Последующие элементы HTML специфицируют информацию о шрифте. Хотя они и не относятся к не рекомендуемым, их использование менее предпочтительно, чем таблиц стилей.

        Горизонтальные линии: элемент HR

        15.3 Горизонтальные линии: элемент HR

        HR - O EMPTY -- горизонтальная линия --> %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: запрещён
        Определение атрибутов
        align = left|center|right [CI] Не рекомендуется. Определяет горизонтальное выравнивание линии по отношению к окружающему контексту. Возможные значения:
      396. left: линия выравнивается влево.
      397. center: линия выравнивается по центру.
      398. right: линия выравнивается вправо.
      399. По умолчанию align=center.
        [CI] Не рекомендуется. Если этот булев атрибут установлен, он требует, чтобы ПА отображал горизонтальную линию сплошным цветом, а не традиционно с двухцветной "тенью". size = pixels [CI] Не рекомендуется. Определяет высоту линии. Значение по умолчанию зависит от ПА. width = length [CI] Не рекомендуется. Определяет ширину линии. Ширина по умолчанию - 100%, т.е. линия растянута по ширине всей "канвы". Атрибуты, определённые в другом месте
      400. id, class (идентификаторы документа)
      401. lang (язык), dir (направление текста)
      402. title (название элемента)
      403. style (инлайн-стиль)
      404. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      405. Элемент HR отображает горизонтальную линию в ПА.
        Величина свободного пространства под и над горизонтальной линией зависит от ПА.
        НЕ РЕКОМЕНДУЕТСЯ:
        В этом примере линия центрируется, размер установлен в половину доступной ширины между краями страницы. Верхняя линия имеет толщину по умолчанию, а две нижние - по 5 пикселов. Нижняя линия должна отображаться сплошным цветом без тени:



        Эти линии должны выглядеть примерно так:

        Горизонтальные линии: элемент HR

        Выравнивание, стили шрифта и горизонтальные линии

        15. Выравнивание, стили шрифта
        и горизонтальные линии

        Содержание
      406. Форматирование
      407. Цвет фона
      408. Выравнивание
      409. Плавающие объекты
      410. Всплывание объекта
      411. Обтекание текста вокруг объекта
      412. Шрифты
      413. Элементы стиля шрифта: элементы TT, I, B, BIG, SMALL, STRIKE, S и U
      414. Элементы модификатора шрифта: FONT и BASEFONT
      415. Горизонтальные лини: элемент HR
      416. В этом разделе спецификации рассматриваются элементы и атрибуты HTML, которые используются для визуального форматирования элементов. Многие из них не рекомендуется применять.

        Фрэймы - Введение


        16.1 Фрэймы - Введение

        Фрэймы HTML позволяют авторам представить документ одновременно в нескольких окнах, которые могут быть независимыми окнами или подокнами. Такой вид позволяет сохранить видимой важную информацию, в то время как другие фрэймы могут прокручиваться и меняться. Например, в одном общем окне один фрэйм может содержать статичный баннер, второй - меню навигации, третий - главный документ, который может прокручиваться или заменяться при навигации по второму фрэйму.
        Вот простой документ с фрэймами:
        Простой набор фрэймов Это набор фрэймов: <LI><A href="contents_of_frame1.html">Некоторое содержимое</A> <LI><IMG src="contents_of_frame2.gif" alt="Изображение"> <LI><A href="contents_of_frame3.html">Другое содержимое</A> который выводит фрэймы примерно так:
        --------------------------------------- | | | | | | | Frame 1 | | | | | | | | |---------| | | | Frame 3 | | | | | | | | | | | Frame 2 | | | | | | | | | | | | | | --------------------------------------- Если пользовательский агент (ПА) не может выводить фрэймы (или сконфигурирован так), он будет выводить содержимое элемента NOFRAMES.

        Элемент FRAMESET

        16.2.1 Элемент FRAMESET

        %HTML.Frameset; [ FRAMESET - - ((FRAMESET|FRAME)+ & NOFRAMES?) -- разделение окна --> %coreattrs; -- id, class, style, title -- rows %MultiLengths; #ПРЕДПОЛАГАЕТСЯ -- список размеров, по умолчанию: 100% (1 ряд) -- cols %MultiLengths; #ПРЕДПОЛАГАЕТСЯ -- список размеров, по умолчанию: 100% (1 столбец)-- onload %Script; #ПРЕДПОЛАГАЕТСЯ -- все фрэймы загружены -- onunload %Script; #ПРЕДПОЛАГАЕТСЯ -- все фрэймы удалены -- > ]]> Определения атрибутов
        rows = multi-length-list [CN] Определяет вывод горизонтальных фрэймов. Это разделённый запятыми список пикселов, процентов и относительных размеров. По умолчанию - 100%, один ряд. cols = multi-length-list [CN] Определяет вывод вертикальных фрэймов. Это разделённый запятыми список пикселов, процентов и относительных размеров. По умолчанию - 100%, один столбец. Атрибуты, определённые в другом месте
      417. id, class (идентификаторы документа)
      418. title (название элемента)
      419. style (инлайн-стиль)
      420. onload, onunload (внутренние события)
      421. Элемент FRAMESET определяет вывод главного пользовательского окна в виде набора прямоугольников (кадров).

        Элемент FRAME

        16.2.2 Элемент FRAME

        %HTML.Frameset; [ FRAME - O EMPTY -- подокно --> %coreattrs; -- id, class, style, title -- longdesc %URI; #ПРЕДПОЛАГАЕТСЯ -- ссылка на полное описание (дополняет title) -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя целевого фрэйма -- src %URI; #ПРЕДПОЛАГАЕТСЯ -- источник содержимого фрэйма -- frameborder (1|0) 1 -- установка бордюра-рамки фрэйма -- marginwidth %Pixels; #ПРЕДПОЛАГАЕТСЯ -- ширина полей, в пикселах -- marginheight %Pixels; #ПРЕДПОЛАГАЕТСЯ -- высота полей, в пикселах -- noresize (noresize) #ПРЕДПОЛАГАЕТСЯ -- запрещает/разрешает пользователю изменение размеров фрэйма -- scrolling (yes|no|auto) auto -- прокрутка -- > ]]> Определения атрибутов
        name = cdata [CI] Этот атрибут назначает имя текущему фрэйму. Это имя может использоваться как целевое в последующих ссылках. longdesc = uri [CT] Определяет ссылку к полному описанию фрэйма. Это описание должно дополнять краткое описание, данное атрибутом title, и может использоваться для невизуальных ПА. src = uri [CT] Определяет размещение первоначального содержимого фрэйма. noresize [CI] При наличии, этот булев атрибут сообщает ПА, что окно фрэйма не может изменять свои размеры. scrolling = auto|yes|no [CI] Прокрутка окна фрэйма. Возможные значения:
      422. auto: это значение требует от ПА предоставлять возможность прокрутки при необходимости. Это значение по умолчанию.
      423. yes: это значение требует от ПА всегда предоставлять возможность прокрутки.
      424. no: это значение требует от ПА не предоставлять возможность прокрутки.
      425. frameborder = 1|0 [CN] Этот атрибут сообщает ПА информацию об обрамлении фрэйма. Возможные значения:
      426. 1: это значение требует от ПА рисовать разделитель между этим фрэймом и каждым смежным фрэймом. Это значение по умолчанию.
      427. 0: это значение требует от ПА не рисовать разделитель между этим фрэймом и каждым смежным фрэймом. Учтите, что разделители всё же будут прорисованы, если они установлены в других фрэймах.
      428. marginwidth = pixels [CN] Этот атрибут определяет левое и правое поля между границей фрэйма и его содержимым. Значение должно быть больше нуля (в пикселах). Значение по умолчанию зависит от ПА. marginheight = pixels [CN] Определяет верхнее и нижнее поля между границей фрэйма и его содержимым. Значение должно быть больше нуля (в пикселах). Значение по умолчанию зависит от ПА. Атрибуты, определяемые в другом месте
      429. id, class (идентификаторы документа)
      430. title (название элемента)
      431. style (инлайн-стиль)
      432. Элемент FRAME определяет вид и содержимое одного фрэйма.

        Вывод фрэймов


        16.2 Вывод фрэймов

        Документ HTML, описывающий вывод фрэймов (называемый документ с фрэймами), имеет несколько другой состав, нежели документ HTML без фрэймов. Стандартный документ содержит один раздел HEAD и один раздел BODY. Набор фрэймов содержит раздел HEAD, и раздел FRAMESET вместо BODY.
        Раздел FRAMESET определяет вывод нескольких кадров в главном окне. Дополнительно раздел FRAMESET может содержать элемент NOFRAMES для представления альтернативного содержимого в ПА, не поддерживающих фрэймы или сконфигурированных так. чтобы не отображать фрэймы.
        Элементы, которые могут быть нормально размещены в элементе BODY, не должны появляться перед первым элементом FRAMESET , иначе FRAMESET будет проигнорирован.

        Установка целевого фрэйма по умолчанию

        16.3.1 Установка целевого фрэйма по умолчанию

        Если многие ссылки в одном документе имеют один целевой фрэйм, можно установить его однократно в атрибуте target каждого элемента. Это делается установкой атрибута target элемента BASE.
        Мы возвращаемся к предыдущему примеру, размножая на этот раз информацию о цели, определяя её в элементе BASE и удаляя её из элементов A.
        A document with BASE with a specific target ...начало документа... Now you may advance to slide 2. ...документ... You're doing great. Now on to slide 3.

        Семантика цели

        16.3.2 Семантика цели

        ПА должны определять целевой фрэйм, в который нужно загружать связанный ресурс, следующим образом (приоритет от высшего к низшему):
      433. Если атрибут target элемента установлен на известный фрэйм, при активации элемента (т.е. сделан переход по ссылке или форма обрабатывается), ресурс назначения для элемента должен быть загружен в целевой фрэйм.
      434. Если атрибут target элемента не установлен, но есть элемент BASE, атрибут target элемента BASE определяет целевой фрэйм.
      435. Если ни элемент, ни элемент BASE не имеют ссылки на целевой фрэйм, ресурс должен быть загружен во фрэйм, содержащий элемент.
      436. Если любой атрибут target ссылается на неизвестный фрэйм F, ПА должен новое окно и фрэйм, назначить фрэйму имя F и загрузить ресурс, назначенный элементом, в новый фрэйм.
      437. ПА могут предоставлять пользователям механизм переопределения атрибута target.

        Установка целевого фрэйма

        16.3 Установка целевого фрэйма

        Примечание. Информацию о текущей практике определения целевого фрэйма см. замечания о фрэймах в приложении.
        Определение атрибута
        target = frame-target [CI] Определяет имя фрэйма, в котором будет открыт документ. Установив атрибут name, авторы могут ссылаться на него как на "target" (целевой) для ссылок, определённых в других элементах. Атрибут target может быть установлен для элементов, создающих ссылки (A, LINK), карты изображений (AREA) и формы (FORM). См. раздел имя целевого фрэйма о распознавании имён фрэймов.
        Этот пример иллюстрирует, как целевые фрэймы позволяют динамически модифицировать содержимое фрэйма. Сначала мы определяем набор фрэймов в документе frameset.html:
        A frameset document затем в init_dynamic.html мы создаём ссылку на фрэйм с именем "dynamic":
        A document with anchors with specific targets ...начало документа... Now you may advance to slide 2. ...документ... You're doing great. Now on to slide 3. Активация любой ссылки открывает новый документ во фрэйме с именем "dynamic", в то время как другой фрэйм - "fixed", сохраняет первоначальное содержимое.
        Примечание. Определение набора фрэймов никогда не меняется, но содержимое любого из них - может меняться. Как только содержимое фрэйма изменилось, определение набора фрэймов больше не отражает текущее состояние своих фрэймов.
        В настоящее время отсутствует возможность кодировать всё состояние набора фрэймов в URI. В то же время, многие ПА не позволяют пользователям устанавливать закладки на набор фрэймов.
        Наборы фрэймов могут сделать навигацию в "истории" ПА более затруднительной для пользователя.

        Элемент NOFRAMES

        16.4.1 Элемент NOFRAMES

        %HTML.Frameset; [ ]]> %flow;)*"> NOFRAMES - - %noframes.content; -- контейнер альтернативного содержимого для просмотра в режиме "без фрэймов" --> %attrs; -- %coreattrs, %i18n, %events -- > Атрибуты, определённые в другом месте
      438. id, class (идентификаторы документа)
      439. lang (язык), dir (направление текста)
      440. title (название элемента)
      441. style (инлайн-стиль)
      442. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      443. Элемент NOFRAMES определяет содержимое, которое должно отображаться, только если ПА не поддерживает фрэймы или сконфигурирован так, чтобы не отображать их. ПА, поддерживающие фрэймы, должны отображать содержимое элемента NOFRAMES, если сконфигурированы так, чтобы не отображать фрэймы. ПА, не поддерживающие фрэймы, должны отображать содержимое элемента NOFRAMES в любом случае.
        Элемент NOFRAMES является частью ОТД transitional/переходное и frameset. В документе, использующем ОТД frameset, NOFRAMES должен использоваться в конце раздела FRAMESET документа.
        Например:
        A frameset document with NOFRAMES Here is the <A href="main-noframes.html"> non-frame based version of the document.</A> NOFRAMES может использоваться, например, в документе - источнике фрэйма, использующего переходное ОТД. Это позволит авторам объяснить задачи документа в тех случаях, когда он просматривается вне набора фрэймов или в ПА, не поддерживающем фрэймы.

        Полное описание фрэймов

        16.4.2 Полное описание фрэймов

        Атрибут longdesc позволяет авторам сделать документ с фрэймами более доступным для людей, использующих невизуальные ПА. Этот атрибут создаёт ресурс, который предоставляет полное описание фрэйма. Авторы должны помнить, что полное описание, ассоциированное с фрэймами, присоединяется к фрэйму, а не к его содержимому. Поскольку содержимое может меняться, начальное полное описание могло бы стать несоответствующим более позднему содержимому фрэйма. В особенности авторы не должны включать изображение как единственное содержимое фрэйма.
        Следующий frameset-документ описывает два фрэйма. Левый содержит оглавление, а правый первоначально содержит изображение страуса:
        A poorly-designed frameset document Заметьте, что изображение включено во фрэйм независимо от какого-либо элемента HTML, так что автор не имеет другого пути дать альтернативный текст, кроме как атрибутом longdesc. Если содержимое правого фрэйма изменилось (напр., пользователь отделил гремучую змею от содержимого), пользователи больше не будут иметь прямого доступа к новому содержимому фрэйма.
        Таким образом, авторы не должны помещать изображение непосредственно во фрэйм. Вместо этого, изображение должно быть определено в отдельном документе HTML и здесь обозначено соответствующим альтернативным текстом:
        A well-designed frameset document The fast and powerful ostrich These ostriches sure taste good!

        Альтернативное содержимое


        16.4 Альтернативное содержимое

        Авторы должны предоставлять альтернативное содержимое для тех ПА, которые не поддерживают фрэймы или сконфигурированы так, чтобы не отображать их.

        Инлайн-фрэймы: элемент IFRAME

        16.5 Инлайн-фрэймы: элемент IFRAME

        IFRAME - - (%flow;)* -- inline подокно --> %coreattrs; -- id, class, style, title -- longdesc %URI; #ПРЕДПОЛАГАЕТСЯ -- ссылка на полное описание (дополняет title) -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя целевого фрэйма -- src %URI; #ПРЕДПОЛАГАЕТСЯ -- источник содержимого фрэйма -- frameborder (1|0) 1 -- бордюр фрэйма -- marginwidth %Pixels; #ПРЕДПОЛАГАЕТСЯ -- ширина полей, в пикселах -- marginheight %Pixels; #ПРЕДПОЛАГАЕТСЯ -- высота полей, в пикселах -- scrolling (yes|no|auto) auto -- прокручивать или нет -- align %IAlign; #ПРЕДПОЛАГАЕТСЯ -- вертикальное и горизонтальное выравнивание -- height %Length; #ПРЕДПОЛАГАЕТСЯ -- высота фрэйма -- width %Length; #ПРЕДПОЛАГАЕТСЯ -- ширина фрэйма -- > Определения атрибутов
        longdesc = uri [CT] Определяет ссылку на полное описание фрэйма. Это описание должно дополнять краткое описание, даваемое атрибутом title, и должно использоваться для невизуальных ПА. name = cdata [CI] Устанавливает имя текущего фрэйма. Это имя может использоваться для последующих ссылок. width = length [CN] Ширина инлайн-фрэйма. height = length [CN] Высота инлайн-фрэйма. Атрибуты, определённые в другом месте
      444. id, class (идентификаторы документа)
      445. title (название элемента)
      446. style (инлайн-стиль)
      447. name, src, frameborder, marginwidth, marginheight, scrolling (элементы управления и оформления фрэйма)
      448. align (выравнивание)
      449. Элемент IFRAME позволяет авторам вставлять фрэйм внутрь блока текста. Вставка инлайн-фрэйма в раздел текста очень похожа на вставку объекта элементом OBJECT: Обе позволяют Вам вставить документ HTML в середину другого, оба могут быть выровнены с окружающим текстом и т.д.Информация. вставляемая инлайн, создаётся атрибутом src данного элемента. Содержимое элемента IFRAME, с другой стороны, должно отображаться ПА, только если он (ПА) не поддерживает фрэймы или соответствующим образом сконфигурирован, чтобы не отображать фрэймы.
        В ПА поддерживающих фрэймы, этот пример помещает инлайн-фрэйм, окружённый бордюром, в середину текста.
        Инлайн-фрэймы не могут менять свои размеры (и таким образом, они не принимают атрибут noresize).
        Примечание. Документы HTML могут также быть встроены в другие документы HTML с помощью элемента OBJECT. См. раздел встроенные документы.

        Фрэймы (кадры)

        16. Фрэймы (кадры)

        Содержание
      450. Введение
      451. Вывод фрэймов
      452. Элемент FRAMESET
      453. Ряды и столбцы
      454. Вложенные фрэймы
      455. Разделение данных между фрэймами
      456. Элемент FRAME
      457. Установка начального содержимого фрэйма
      458. Визуальное представление фрэймов
      459. Установка целевого фрэйма
      460. Целевой фрэйм по умолчанию
      461. Семантика цели
      462. Альтернативное содержимое
      463. Элемент NOFRAMES
      464. Полное описание фрэймов
      465. Инлайн-фрэймы: элемент IFRAME


      466. Введение


        17.1 Введение

        Форма HTML это раздел документа, содержащий обычные данные, разметку, специальные элементы, называемые "элементы управления" (переключатель, radio-кнопка, меню и т.д.), и лэйблы для этих элементов управления.
        Пользователи обычно "заполняют" форму, изменяя содержимое её элементов (вводя текст, выбирая пункты меню и т.д.), прежде чем отправить её агенту для обработки (напр., Web-серверу, mai-серверу и т.п.)
        Вот пример простой формы, включающей лэйблы, radio-кнопки и кнопки push (для очистки или отправки формы):



        Male
        Female

        Примечание. Эта спецификация содержит более развёрнутую информацию о формах в разделе вопросы отображения форм.

        Навигация с помощью табуляции Определение

        В тех случаях, когда ввод данных пользователем не нужен или не желателен, важно иметь возможность делать ЭУ недоступными или "только для чтения". Например, кнопка submit может быть недоступной, пока пользователь не введёт нужные данные. Также автор может включить отрывок текста "только для чтения", который должен быть отправлен вместе с формой. Следующий раздел описывает Недоступные и "Только для чтения" ЭУ.

        Передача фокуса элементу

        Элемент в документе HTML должен получить фокус от пользователя, чтобы активизироваться для выполнения своих задач. Например, пользователь должен активизировать гиперссылку, определённую элементом A, чтобы перейти по ней. Так же необходимо передать фокус элементу TEXTAREA для того, чтобы ввести текст.
        Существует несколько способов передачи фокуса элементу:
      467. Указать на элемент указательным устройством.
      468. Переходить от одного элемента к другому с помощью клавиатуры. Автор документа может установить порядок табуляции, определяющий последовательность получения элементами фокуса, если пользователь пользуется для навигации клавиатурой (см. навигация с помощью табуляции). После выбора элемент может быть активизирован какой-нибудь другой последовательностью клавиш.
      469. Выбрать элемент клавишами доступа (называемыми иногда "быстрые клавиши" или "горячие клавиши").


      470. Типы элементов управления формы (ЭУ)


        17.2.1 Типы элементов управления формы (ЭУ)

        HTML определяет следующие типы ЭУ:
        кнопки Авторы могут создавать кнопки трёх типов:
      471. кнопки submit: при активации кнопка submit отправляет форму. Форма может содержать несколько кнопок submit;
      472. кнопки reset: при активации кнопка reset устанавливает все ЭУ в их начальные значения;
      473. кнопки push: кнопки push не имеют предопределённых функций. Каждая кнопка push может иметь клиентский сценарий (выполняемый на стороне клиента), ассоциированный с атрибутом event/событие. При возникновении события (напр., пользователь нажал кнопку, отпустил её и т.д.), включается ассоциированный сценарий (скрипт).Автор должен указать язык сценария кнопки push путём объявления языка скриптов по умолчанию (в элементе META).
      474. Авторы создают кнопки, используя ЭУ BUTTON, или ЭУ INPUT. См. определение этих ЭУ .
        Примечание. Авторы должны иметь в виду, что возможности ЭУ BUTTON богаче, чем у INPUT.
        переключатели/checkboxes Переключатели (и radio-кнопки) это переключатели типа вкл./выкл., управляемые пользователем. Переключатель "включён", если установлен атрибут checked ЭУ. Если форма отправлена, только переключатель "включён" может быть "действующим".Несколько переключателей в форме могут использовать одно имя ЭУ. Так, например, переключатели позволяют пользователям выбрать несколько значений для одного свойства. ЭУ INPUT используется для создания переключателей.
        radio-кнопки Radio-кнопки похожи на переключатели/checkboxes, за исключением того, что, при использовании одного и того же имени ЭУ, они действуют взаимоисключающе: если одна выбрана "включено", все остальные с тем же именем "выключены". Элемент INPUT используется для создания ЭУ "radio-кнопка". Если ни одна radio-кнопка из использующих общее имя первоначально не установлена во "включено", поведение пользовательского агента (ПА) по установлению того, какая из кнопок включена, не определено.
        Примечание. Поскольку существующие приложения обрабатывают эту ситуацию по-разному, данная спецификация отличается от RFC 1866 ([RFC1866] раздел 8.1.2.4) в следующем: В определённый момент времени только одна radio-кнопка из набора может быть "включена". Если ни один из элементов набора radio-кнопок не установлен (`CHECKED'), тогда ПА обязан вначале включить первую из кнопок набора. Поскольку поведение ПА различно, авторы должны убедиться, что в каждом наборе radio-кнопок одна "включена".
        меню Меню дают возможность выбора из списка значений. Элемент SELECT создаёт меню в комбинации с элементами OPTGROUP и OPTION.
        текстовые поля
        Авторы могут создавать поля для ввода текста двух видов. Элемент INPUT создаёт однострочный ЭУ, а элемент TEXTAREA - многострочный. В обоих случаях, введённый текст становится текущим значением.
        выбор файла/file select
        ЭУ этого типа позволяют пользователям выбрать файлы, и их содержимое может пересылаться с формой. Элемент INPUT используется для создания ЭУ выбор файла/file select.
        hidden control/скрытый ЭУ
        Авторы могут создавать невидимые ЭУ, значения которых пересылаются вместе с формой. Обычно ЭУ этого типа используются для хранения информации при обмене клиент/сервер, которая иначе может быть утеряна из-за нестатичной природы HTTP (см. [RFC2616]). Элемент INPUT используется для создание скрытых ЭУ/hidden control.
        ЭУ object
        Авторы могут вставлять в форму общие объекты, чьи ассоциированные значения пересылаются вместе с другими данными. Авторы создают объект с помощью ЭУ OBJECT. Элементы, используемые для создания ЭУ, обычно размещаются внутри элемента FORM, но могут также находиться и вне объявления элемента FORM, если используются для создания пользовательского интерфейса. Этот вопрос рассматривается в разделе внутренние события. Обратите внимание - ЭУ вне формы не могут быть "действующими ЭУ".

        Элементы управления

        17.2 Элементы управления

        Пользователь взаимодействует с формой посредством элементов управления.
        Имя элемента управления (ЭУ), "control name", задаётся атрибутом name. Областью видимости атрибута name ЭУ внутри формы является элемент FORM.
        Каждый ЭУ имеет начальное и текущее значение типа "символьная строка". См. определение каждого ЭУ для спецификации начальных значений и возможные ограничения значений, принимаемых ЭУ. В целом, "начальное значение\initial value" может быть установлено атрибутом value ЭУ. Однако начальное значение ЭУ TEXTAREA задаётся его содержимым, а начальное значение ЭУ OBJECT в форме определяется реализацией данного объекта (т.е. находится вне пределов данной спецификации).
        "Текущее значение\current value"ЭУ вначале устанавливается в первоначальное значение. После этого текущее значение ЭУ можно изменять, взаимодействуя с пользователем, и с помощью скриптов (сценариев).
        Начальное значение ЭУ не изменяется. Таким образом, при очистке формы текущее значение каждого ЭУ устанавливается в начальное значение.
        Если ЭУ не имеет начального значения, воздействие очистки формы на данный ЭУ не определено.
        При отправке формы на обработку, некоторые ЭУ образуют пары "имя/значение", которые затем пересылаются с формой. ЭУ, чьи пары имя/значение высланы, называются "действующие ЭУ".

        Элемент FORM


        17.3 Элемент FORM

        FORM - - (%block;|SCRIPT)+ -(FORM) -- интерактивная форма --> %attrs; -- %coreattrs, %i18n, %events -- action %URI; #НЕОБХОДИМ -- обработчик на стороне сервера -- method (GET|POST) GET -- HTTP метод отправки формы-- enctype %ContentType; "application/x-www-form-urlencoded" accept %ContentTypes; #ПРЕДПОЛАГАЕТСЯ -- список типов MIME для загрузки файлов -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя формы (для скриптов) -- onsubmit %Script; #ПРЕДПОЛАГАЕТСЯ -- событие: форма отправлена -- onreset %Script; #ПРЕДПОЛАГАЕТСЯ -- событие: форма очищена -- accept-charset %Charsets; #ПРЕДПОЛАГАЕТСЯ -- список поддерживаемых наборов символов -- > Начальный тег: необходим, Конечный тег: необходим
        Определения атрибутов
        action = uri [CT] Определяет обработчик формы. Поведение пользовательского агента (ПА) для значений, отличных от HTTP URI не определено. method = get|post [CI] Определяет, какой метод HTTP используется для отправки набора данных формы. Возможные (нечувствительные к регистру) значения - "get" (по умолчанию) и "post". См. родственную информацию в разделе отправка формы. enctype = content-type [CI] Определяет тип содержимого/content type при отправке формы на сервер (если значение method'a - "post"). Значением по умолчанию этого атрибута является "application/x-www-form-urlencoded". Значение "multipart/form-data" должно использоваться в комбинации с элементом INPUT, type="file".accept-charset = список наборов символов [CI] Определяет список кодировок для вводимых данных, принимаемых сервером, обрабатывающим данную форму. Значением является список наборов символов, разделённых пробелами и/или запятыми. Клиент должен интерпретировать этот список как список XOR (exclusive-or), т.е. сервер может принять любой отдельный символ кодировки на каждый полученный объект. Значением по умолчанию этого атрибута является зарезервированная строка "UNKNOWN".
        ПА могут интерпретировать это значение как кодировку символов, использованную для передачи документа, содержащего форму FORM. accept = content-type-list [CI] Определяет список разделённых запятыми типов содержимого, которые сервер-обработчик формы будет обрабатывать корректно. ПА могут использовать эту информацию для фильтрации несоответствующих файлов при запросе пользователя на выбор файлов, пересылаемых серверу (сравните элемент INPUT с type="file"). name = cdata [CI] Этот атрибут именует элементы таким образом, что на них можно ссылаться из таблицы стилей или скрипта (сценария).
        Примечание. Этот атрибут введён для обеспечения обратной совместимости. Приложения должны использовать атрибут id для идентификации элементов. Атрибуты, определённые в другом месте
      475. id, class (идентификаторы документа)
      476. lang (язык), dir (направление текста)
      477. style (инлайн-стиль)
      478. title (название элемента)
      479. target (целевой фрэйм)
      480. onsubmit, onreset, onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      481. Элемент FORM действует как контейнер для ЭУ. Он определяет:
      482. Вид формы (в зависимости от содержимого элементов).
      483. Программу, которая будет обрабатывать заполненную и отправленную форму - обработчик формы (указанный в атрибуте action). Программа должна разбирать пары имя/значение для их последующего использования.
      484. Метод отправки данных пользователя на сервер (атрибут method).
      485. Кодировку символов, понимаемую сервером - для обработки формы (атрибут accept-charset).
        ПА должны уведомлять пользователя о значении атрибута accept-charset и/или ограничивать возможность введения пользователем нераспознаваемых символов.
      486. Форма может содержать текст и разметку (параграфы, списки и т.п.) в дополнение к ЭУ формы.
        В следующем примере показана форма, обрабатываемая программой "adduser" после отправки.
        Форма будет отправлена программе методом "post".
        ...содержимое формы...
        См. раздел отправка формы о том, как ПА должны готовить данные формы для сервера и как ПА должны обработать ожидаемый ответ.
        Примечание. Обсуждение работы сервера, принимающего данные формы, находится за рамками данной спецификации.

        Типы ЭУ, создаваемых в элементе INPUT


        17.4.1 Типы ЭУ, создаваемых в элементе INPUT

        Тип ЭУ, определяемый элементом INPUT, зависит от значения атрибута type:
        text Однострочный ЭУ для ввода текста. password Как "text", но вводимый текст изображается так, чтобы скрыть вводимые символы (напр., серией "звёздочек"). ЭУ этого типа часто используется для ввода специальной информации, напр., пароля. Заметьте, что текущее значение, это текст, введённый пользователем, а не текст, изображаемый ПА. Примечание. Разработчики программного обеспечения должны иметь в виду, что этот механизм обеспечивает лишь некоторую защиту. Хотя пароль маскируется ПАгентом от случайного просмотра, он передаётся на сервер в виде обычного текста и может быть прочитан кем-нибудь, имеющим низкоуровневый доступ к сети.
        checkbox Создаёт переключатель. radio Создаёт кнопку radio. submit Создаёт кнопку submit. image Создаёт кнопку submit. Значение атрибута src определяет URI изображения, служащего для украшения кнопки. Из соображений доступности, авторы должны предоставлять альтернативный текст установкой атрибута alt.Если для щелчка на кнопке image используется указательное устройство (мышь и т.п.), форма отправляется и координаты щелчка передаются серверу. Значение Х измеряется в пикселах от левого края изображения, а значение У - в пикселах от верхнего края изображения. Отправленные данные включают значения name.x=x-value и name.y=y-value, где "name" это значение атрибута name, а x-value и y-value это значения координат x и y соответственно.
        Если сервер выполняет разные действия в зависимости от места нажатия на элементе, пользователи неграфических браузеров окажутся в затруднительном положении. По этим причинам авторы должны предусматривать дополнительные варианты:
      487. Использовать несколько кнопок submit (каждая со своим изображением) вместо единой графической кнопки submit. Авторы могут использовать таблицы стилей для управления положением кнопок.
      488. Использовать клиентские карты изображений в сочетании со скриптами.
      489. reset Создаёт a кнопку reset. button Создаёт кнопку push. ПА должны использовать значение атрибута value как лэйбла кнопки. hidden Создаёт элемент hidden. file Создаёт ЭУ file select. ПА могут использовать значение атрибута value начальное имя файла.

        Примеры форм, содержащих ЭУ в элементе INPUT


        17.4.2 Примеры форм, содержащих ЭУ в элементе INPUT

        Следующий фрагмент HTML определяет простую форму, которая даёт пользователю возможность ввести имя, фамилию, email адрес и пол. При активации кнопки submit, форма посылается программе, указанной в атрибуте action.
        First name:
        Last name:
        email:
        Male
        Female

        Эта форма будет выглядеть примерно так:

        Элемент INPUT


        17.4 Элемент INPUT

        INPUT - O EMPTY -- ЭУ формы --> %attrs; -- %coreattrs, %i18n, %events -- type %InputType; TEXT -- тип ЭУ -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- отправляется как часть формы -- value CDATA #ПРЕДПОЛАГАЕТСЯ -- для radio-кнопок и переключателей -- checked (checked) #ПРЕДПОЛАГАЕТСЯ -- для radio-кнопок и переключателей -- disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- readonly (readonly) #ПРЕДПОЛАГАЕТСЯ -- для text и passwd -- size CDATA #ПРЕДПОЛАГАЕТСЯ -- специфичен для каждого типа поля -- maxlength NUMBER #ПРЕДПОЛАГАЕТСЯ -- максимальное к-во символов для полей text -- src %URI; #ПРЕДПОЛАГАЕТСЯ -- для полей с изображениями -- alt CDATA #ПРЕДПОЛАГАЕТСЯ -- краткое описание -- usemap %URI; #ПРЕДПОЛАГАЕТСЯ -- использовать клиентские карты изображений -- ismap (ismap) #ПРЕДПОЛАГАЕТСЯ -- использовать серверные карты изображений -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- onselect %Script; #ПРЕДПОЛАГАЕТСЯ -- текст был выделен -- onchange %Script; #ПРЕДПОЛАГАЕТСЯ -- значение элемента было изменено -- accept %ContentTypes; #ПРЕДПОЛАГАЕТСЯ -- список типов MIME для загрузки файлов -- > Начальный тег: необходим, Конечный тег: запрещён
        Определения атрибутов
        type = text|password|checkbox|radio|submit|reset|file|hidden|image|button [CI] Определяет тип создаваемого ЭУ. Значение этого атрибута по умолчанию - "text". name = cdata [CI] Имя ЭУ. value = cdata [CA] Начальное значение ЭУ. Не обязательно, если только атрибут type не имеет значение "radio" или "checkbox". size = cdata [CN] Сообщает пользовательскому агенту начальную ширину ЭУ. Ширина задаётся в пикселах, за исключением случаев, когда атрибут type имеет значение "text" или "password". В этом случае значение атрибута - (integer) целое число символов. maxlength = number [CN] Если атрибут type имеет значение "text" или "password", этот атрибут определяет максимальное количество символов, которое может ввести пользователь. Это число может оказаться больше установленного размера (size). В этом случае ПА должен предоставить возможность прокрутки. По умолчанию значением этого атрибута является неограниченное количество. checked [CI] Если атрибут type имеет значение "radio" или "checkbox", данный булев атрибут определяет , что кнопка нажата. ПА должны игнорировать этот атрибут в ЭУ всех других типов. src = uri [CT] Если атрибут type имеет значение "image", этот атрибут устанавливает место нахождения изображения, используемого в качестве кнопки submit. Атрибуты, определённые в другом месте
      490. id, class (идентификаторы документа)
      491. lang (язык), dir (направление текста)
      492. title (название элемента)
      493. style (инлайн-стиль)
      494. alt (альтернативный текст)
      495. align (выравнивание)
      496. accept (доступные для сервера типы содержимого)
      497. readonly (ЭУ "только для чтения")
      498. disabled (недоступен)
      499. tabindex (позиция при табуляции)
      500. accesskey (символ быстрого доступа)
      501. usemap (клиентская карта изображений)
      502. ismap (серверная карта изображений)
      503. onfocus, onblur, onselect, onchange, onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)


      504. Элемент BUTTON

        17.5 Элемент BUTTON

        BUTTON - - (%flow;)* -(A|%formctrl;|FORM|FIELDSET) -- кнопка push --> %attrs; -- %coreattrs, %i18n, %events -- name CDATA #ПРЕДПОЛАГАЕТСЯ value CDATA #ПРЕДПОЛАГАЕТСЯ -- отсылается на сервер при отправке формы -- type (button|submit|reset) submit -- используется как кнопка формы -- disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в этом контексте -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция при табуляции -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- > Начальный тег: необходим, Конечный тег: необходим
        Определения атрибутов
        name = cdata [CI] Определяет имя ЭУ. value = cdata [CS] Устанавливает начальное значение кнопки. type = submit|button|reset [CI] Объявляет тип кнопки. Возможные значения:
      505. submit: создаёт кнопку submit. Это значение по умолчанию.
      506. reset: создаёт кнопку reset.
      507. button: создаёт кнопку push.
      508. Атрибуты, определённые в другом месте
      509. id, class (идентификаторы документа)
      510. lang (язык), dir (направление текста)
      511. title (название элемента)
      512. style (инлайн-стиль)
      513. disabled (недоступен)
      514. accesskey (символ быстрого доступа)
      515. tabindex (позиция при табуляции)
      516. onfocus, onblur, onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      517. Кнопки, созданные элементом BUTTON работают почти так же, как и кнопки, созданные элементом INPUT, но дают больше возможностей представления: элемент BUTTON может иметь содержимое. Например, элемент BUTTON, содержащий изображение, работает и может выглядеть как элемент INPUT, чей type установлен "image", но элемент BUTTON может иметь содержимое.
        Визуальные ПА могу представлять кнопку BUTTON с рельефом и смещением вверх/вниз при нажатии, в то время как они могут рассматривать кнопки INPUT только как "плоские" изображения.
        Этот пример расширяет предыдущий, но создаёт кнопки submit и reset элементом BUTTON вместо INPUT. Кнопки содержат изображения так же, как элемент IMG.
        First name:
        Last name:
        email:
        Male
        Female

        Напоминаем, что авторы должны указывать альтернативный текст для элемента IMG.
        Недопустимо ассоциировать карту изображений с IMG, который является содержимым элемента BUTTON.
        НЕВЕРНОЕ ИСПОЛЬЗОВАНИЕ:
        Это неверный HTML.


        Предустановленные опции


        17.6 Элементы SELECT, OPTGROUP и OPTION SELECT - - (OPTGROUP|OPTION)+ -- селектор опций --> %attrs; -- %coreattrs, %i18n, %events -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя поля -- size NUMBER #ПРЕДПОЛАГАЕТСЯ -- видимые ряды -- multiple (multiple) #ПРЕДПОЛАГАЕТСЯ -- по умолчанию в одном выделении -- disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция при табуляции -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- onchange %Script; #ПРЕДПОЛАГАЕТСЯ -- значение элемента изменено -- > Начальный тег: необходим, Конечный тег: необходим
        Определения атрибутов элемента SELECT
        name = cdata [CI] Устанавливает имя ЭУ. size = number [CN] Если элемент SELECT представлен в виде прокручиваемого списка, этот атрибут определяет количество видимых одновременно рядов в списке. Визуальные ПА не требуют представления элемента SELECT как прокручиваемого списка; они могут использовать для этого ниспадающее меню. multiple [CI] При установке это булев атрибут разрешает множественный выбор. Если не установлен, элемент SELECT допускает выбор только одной позиции. Атрибуты, определённые в другом месте
      518. id, class (идентификаторы документа)
      519. lang (язык), dir (направление текста)
      520. title (название элемента)
      521. style (инлайн-стиль)
      522. disabled (недоступен)
      523. tabindex (табуляция)
      524. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      525. Элемент SELECT создаёт меню. Каждая опция выбора представляется элементом OPTION. Элемент SELECT должен содержать не менее одного элемента OPTION.
        Элемент OPTGROUP позволяет группировать опции логически. Это особенно удобно, когда пользователь должен выбрать из большого списка опций: группы связанных опций легче осмыслить и запомнить, чем один большой список опций. В HTML 4 все элементы OPTGROUP должны быть определены непосредственно в элементе SELECT (т.е. группы не могут быть вложенными).

        Предустановленные опции

        TEXTAREA - - (#PCDATA) -- многострочное текстовое поле --> %attrs; -- %coreattrs, %i18n, %events -- name CDATA #ПРЕДПОЛАГАЕТСЯ rows NUMBER #НЕОБХОДИМ cols NUMBER #НЕОБХОДИМ disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- readonly (readonly) #ПРЕДПОЛАГАЕТСЯ tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция при табуляции -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- onselect %Script; #ПРЕДПОЛАГАЕТСЯ -- некоторый текст выделен -- onchange %Script; #ПРЕДПОЛАГАЕТСЯ -- значение элемента изменено -- > Начальный тег: необходим, Конечный тег: необходим
        Определения атрибутов
        name = cdata [CI] Устанавливает имя элемента. rows = number [CN] Количество видимых строк. Пользователь может вводить большее число опций, поэтому ПА должен предоставить возможность прокрутки содержимого элемента, если оно выходит за пределы зоны видимости. cols = number [CN] Определяет видимую ширину, измеряемую в символах средней ширины. Пользователь должен иметь возможность ввести более длинную строку, чем заданная, поэтому ПА должны предоставить средства для прокрутки содержимого ЭУ, если оно выходит за пределы области видимости. ПА могут переносить строки видимого текста для того, чтобы видимыми длинные строки без необходимости прокрутки. Атрибуты, определённые в другом месте
      526. id, class (информация о документе)
      527. lang (язык), dir (направление текста)
      528. title (название элемента)
      529. style (инлайн-стиль)
      530. readonly (элемент ввода "только для чтения")
      531. disabled (недоступен)
      532. tabindex (табуляция)
      533. onfocus, onblur, onselect, onchange, onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      534. Элемент TEXTAREA создаёт многострочный ЭУ для ввода текста. ПА должны использовать содержимое этого элемента как начальное значение элемента и отображать этот текст как начальный.
        В этом примере создаётся ЭУ TEXTAREA, в котором 20 рядов и 80 столбцов, содержащий 2 строки начального текста. За ЭУ TEXTAREA идут кнопки submit и reset.

        Установка атрибута readonly позволяет отображать в TEXTAREA неизменяемый текст.
        Это отличается от использования стандартного текста разметки в документе, поскольку значение TEXTAREA отсылается вместе с формой.

        Элементы SELECT, OPTGROUP и OPTION

        SELECT - - (OPTGROUP|OPTION)+ -- селектор опций --> %attrs; -- %coreattrs, %i18n, %events -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя поля -- size NUMBER #ПРЕДПОЛАГАЕТСЯ -- видимые ряды -- multiple (multiple) #ПРЕДПОЛАГАЕТСЯ -- по умолчанию в одном выделении -- disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция при табуляции -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- onchange %Script; #ПРЕДПОЛАГАЕТСЯ -- значение элемента изменено -- > Начальный тег: необходим, Конечный тег: необходим
        Определения атрибутов элемента SELECT
        name = cdata [CI] Устанавливает имя ЭУ. size = number [CN] Если элемент SELECT представлен в виде прокручиваемого списка, этот атрибут определяет количество видимых одновременно рядов в списке. Визуальные ПА не требуют представления элемента SELECT как прокручиваемого списка; они могут использовать для этого ниспадающее меню. multiple [CI] При установке это булев атрибут разрешает множественный выбор. Если не установлен, элемент SELECT допускает выбор только одной позиции. Атрибуты, определённые в другом месте
      535. id, class (идентификаторы документа)
      536. lang (язык), dir (направление текста)
      537. title (название элемента)
      538. style (инлайн-стиль)
      539. disabled (недоступен)
      540. tabindex (табуляция)
      541. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      542. Элемент SELECT создаёт меню. Каждая опция выбора представляется элементом OPTION. Элемент SELECT должен содержать не менее одного элемента OPTION.
        Элемент OPTGROUP позволяет группировать опции логически. Это особенно удобно, когда пользователь должен выбрать из большого списка опций: группы связанных опций легче осмыслить и запомнить, чем один большой список опций. В HTML 4 все элементы OPTGROUP должны быть определены непосредственно в элементе SELECT (т.е. группы не могут быть вложенными).

        Элемент ISINDEX

        ISINDEX не рекомендуется. Этот элемент создаёт однострочноеокно для ввода текста. Авторы должны использовать элемент INPUT для создания элементов для ввода текста.
        См. формальное определение: Переходное ОТД/Transitional DTD.
        Определение атрибута
        prompt = text [CS] Не рекомендуется. Этот атрибут определяет строку промпта для текстового поля. Атрибуты, определённые в другом месте
      543. id, class (идентификаторы документа)
      544. lang (язык), dir (направление текста)
      545. title (название элемента)
      546. style (инлайн-стиль)
      547. Элемент ISINDEX создаёт однострочный ЭУ для ввода текста, позволяющий вводить любое количество символов. ПА должны использовать значение атрибута prompt как название промпта.
        НЕ РЕКОМЕНДУЕТСЯ:
        Следующее объявление ISINDEX:
        можно переписать для INPUT так:
        Введите Ваш текст для поиска:
        Семантика ISINDEX. В настоящее время семантика элемента ISINDEX определяется хорошо, если только URI документа является HTTP URI. На практике строка ввода ограничивается набором символов Latin-1, так как отсутствует URI механизм определения другого набора символов.

        Элемент LABEL FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- группа ЭУ --> %attrs; -- %coreattrs, %i18n, %events -- > LEGEND - - (%inline;)* -- "легенда" набора полей --> %attrs; -- %coreattrs, %i18n, %events -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- > Начальный тег: необходим, Конечный тег: необходим
        Определение атрибута элемента LEGEND
        align = top|bottom|left|right [CI] Не рекомендуется. Этот атрибут определяет позицию "легенды" в том, что касается набора полей. Возможные значения:
      548. top: "Легенда" находится сверху над набором полей. Это значение по умолчанию.
      549. bottom: "Легенда" находится под набором полей..
      550. left: "Легенда" находится слева от набора полей.
      551. right: "Легенда" находится справа от набора полей.
      552. Атрибуты, определённые в другом месте
      553. id, class (идентификаторы документа)
      554. lang (язык), dir (направление текста)
      555. title (название элемента)
      556. style (название стиля)
      557. accesskey (символ быстрого доступа)
      558. onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
      559. Элемент FIELDSET позволяет тематически группировать ЭУ и лэйблы. Группирование ЭУ облегчает пользователю понимание их назначение, одновременно облегчая навигацию табуляцией для визуальных ПА и речевую навигацию для ПА, ориентированных на голосовое управление. Правильное использование этого элемента делает документы более доступными.
        Элемент LEGEND даёт возможность установить заглавие к FIELDSET. "Легенда" улучшает доступность, если FIELDSET просматривается невизуально.
        В этом примере мы создаём форму, которая может заполняться в мед. учреждении. Она состоит из трёх разделов: персональная информация, история болезни и текущее лечение. Каждый раздел содержит ЭУ для ввода соответствующей информации:
        Персональная информация Фамилия: Имя: Адрес: ...другая информация...
        История болезни Оспа Свинка Головокружение Кашель ...другие данные...
        Текущее лечение Лечитесь ли Вы сейчас? Да Нет Если Вы лечитесь, укажите ниже, как:
        Заметьте, что в этом примере мы улучшили визуальное представление формы выравниванием элементов в каждом FIELDSET (с помощью таблиц стилей), изменив цвета и шрифты (с помощью таблиц стилей), добавив скрипты (т.е., чтобы открыть только "Текущее лечение", если пользователь укажет, что он/она лечится в данный момент) и т.д.

        Лэйблы

        Некоторые ЭУ автоматически содержат лэйблы, ассоциированные с ними (кнопки), а другие - нет (поля ввода текста, переключатели, radio-кнопки и меню).
        Для ЭУ, имеющих встроенные лэйблы, ПА должны использовать значения атрибута value как строку лэйбла.
        Элемент LABEL используется для определения лэйблов в ЭУ, не имеющих встроенных лэйблов.

        Формы

        17. Формы

        Оглавление
      560. Введение
      561. Элементы управления (ЭУ)
      562. типы элементов управления
      563. Элемент FORM
      564. Элемент INPUT
      565. типы элементов управления, создаваемы в INPUT
      566. примеры форм, содержащих элементы управления
      567. Элемент BUTTON
      568. Элементы SELECT, OPTGROUP и OPTION
      569. предустановленные опции
      570. Элемент TEXTAREA
      571. Элемент ISINDEX
      572. Лэйблы
      573. элемент LABEL
      574. Структурирование формы: элементы FIELDSET и LEGEND
      575. Передача элементу фокуса ввода
      576. навигация при помощи табуляции
      577. клавиши быстрого доступа
      578. Элементы управления - недоступные и "только для чтения"
      579. недоступные
      580. "только для чтения"
      581. Отправка формы
      582. метод отправки
      583. "действующие" элементы управления
      584. Обработка данных формы
      585. Шаг 1: идентификация "успешных" элементов управления
      586. Шаг 2: создание набора данных формы
      587. Шаг 3: кодирование набора данных формы
      588. Шаг 4: отправка кодированного набора данных формы
      589. Типы содержимого формы
      590. application/x-www-form-urlencoded
      591. multipart/form-data


      592. Введение

        18.1 Введение

        Скрипт, выполняемый на стороне клиента (клиентский), это программа, которая может быть загружена вместе с документом HTML ил встроена прямо в него. Программа выполняется на клиентской машине при загрузке документа или в другое время, когда, например, если активируется гиперссылка. Поддержка скриптов языком HTML не зависит от языка скриптов. Скрипты, таким образом, позволяют авторам расширить возможности документов HTML, как активные, так и интерактивные. Например:
      593. Сценарии могут выполняться по мере загрузки документа для динамической модификации содержимого этого документа.
      594. Сценарии могут находиться в форме и обрабатывать ввод данных пользователем. Части формы могут динамически заполняться на основе значений других полей. Можно также проверять соответствие введённых данных значениям определённого диапазона, эти поля могут быть взаимосвязаны и т.д.
      595. Скрипты могу запускаться событиями, происходящими в документе: загрузка документа, выгрузка, передача фокуса элементу, движение мыши и т.д.
      596. Скрипты могут быть связаны с ЭУ (напр., кнопками) для создания графического интерфейса пользователя.
      597. Есть два вида скриптов, которые могут быть включены в документ HTML:
      598. выполняемые однократно при загрузке документа ПА. Скрипты внутри элемента SCRIPT выполняются при загрузке документа. Для ПА, которые не могут или "не хотят" выполнять скрипты, авторы могут включить альтернативное содержание с помощью элемента NOSCRIPT.
      599. выполняемые каждый раз при возникновении определённого события. Эти скрипты могут быть подключены к нескольким элементам с помощью атрибутов внутренних событий.
      600. Примечание. Эта спецификация содержит более детальную информацию о сценариях в разделе о макросах сценариев.

        Элемент SCRIPT

        18.2.1 Элемент SCRIPT

        SCRIPT - - %Script; -- операторы скрипта --> charset %Charset; #ПРЕДПОЛАГАЕТСЯ -- набор символов связанного ресурса -- type %ContentType; #НЕОБХОДИМ -- тип содержимого языка скрипта -- src %URI; #ПРЕДПОЛАГАЕТСЯ -- URI внешнего скрипта -- defer (defer) #ПРЕДПОЛАГАЕТСЯ -- ПА могут отложить исполнение скрипта -- > Начальный тег: необходим, Конечный тег: необходим
        Определения атрибутов
        src = uri [CT] Определяет местонахождение внешнего скрипта. type = content-type [CI] Определяет язык скрипта содержимого элемента и переопределяет язык по умолчанию. Язык сценария определяется как тип содержимого (напр., "text/javascript"). Авторы обязаны указать значение этого атрибута. Для этого атрибута нет значения по умолчанию. language = cdata [CI] Не рекомендуется. Определяет язык скрипта содержимого элемента. Его значением является идентификатор языка, но поскольку эти идентификаторы не стандартизованы, этот атрибут применять не рекомендуется, в отличие от атрибута type. defer [CI] Если установлен, этот булев атрибут подсказывает ПА, что скрипт не запущен для генерации какого-либо содержимого документа (напр., "document.write" в javascript), и, таким образом, ПА может продолжить разбор и вывод документа. Атрибут, определённый в другом месте
      601. charset(набор символов)
      602. Элемент SCRIPT помещает скрипт в документ. Этот элемент может появляться любое число раз в HEAD и BODY документа HTML.
        Скрипт может быть определён внутри элемента SCRIPT или во внешнем файле. Если атрибут src не установлен, ПА должен интерпретировать содержимое элемента как скрипт. Если src имеет значение URI, ПА должен игнорировать содержимое элемента и затребовать скрипт по URI.
        Обратите внимание, что атрибут charset относится к кодировке символов скрипта, обозначенного атрибутом src; он не касается содержимого элемента SCRIPT.
        Скрипты выполняются машиной скриптов, которая должна быть известна пользовательскому агенту.
        Синтаксис данных скрипта зависит от языка скриптов.

        Установка языка скриптов

        18.2.2 Установка языка скриптов

        Поскольку HTML не соотносится с определённым языком сценариев, авторы документа должны однозначно указать ПА язык каждого скрипта. Это можно сделать, объявив значение по умолчанию или локально.

        Внутренние события

        18.2.3 Внутренние события

        Примечание. Обращаем внимание авторов документов HTML, что изменения вскоре могут появиться в определении внутренних событий (напр., как скрипты ограничены событиями). Исследования в этой сфере проводятся членами W3C Document Object Model Working Group (см. W3C сайт http://www.w3.org/).
        Определения атрибутов
        onload = script [CT] Событие onload возникает, когда ПА закончил загрузку окна или всех фрэймов FRAMESET. Этот атрибут может быть использован элементами BODY и FRAMESET. onunload = script [CT] Событие onunload возникает, когда ПА удаляет документ из окна или фрэйма. Этот атрибут может быть использован элементами BODY и FRAMESET. onclick = script [CT] Событие onclick возникает, когда указательное устройство "щёлкает" на элементе. Этот атрибут может быть использован с большинством элементов. ondblclick = script [CT] Событие ondblclick возникает, когда указательное устройство дважды "щёлкает" на элементе. Этот атрибут может быть использован с большинством элементов. onmousedown = script [CT] Событие onmousedown возникает, когда кнопка указательного устройства "нажала" на элемент. Этот атрибут может быть использован с большинством элементов. onmouseup = script [CT] Событие onmouseup возникает, когда кнопка указательного устройства отпущена над элементом. Этот атрибут может быть использован с большинством элементов. onmouseover = script [CT] Событие onmouseover возникает, когда указательное устройство проходит над элементом. Этот атрибут может быть использован с большинством элементов. onmousemove = script [CT] Событие onmousemove возникает, когда указательное устройство перемещается в тот момент, когда находится над элементом. Этот атрибут может быть использован с большинством элементов. onmouseout = script [CT] Событие onmouseout возникает, когда указательное устройство убирается с элемента. Этот атрибут может быть использован с большинством элементов. onfocus = script [CT] Событие onfocus возникает, когда элемент получает фокус от указательного устройства или при навигации табуляцией. Этот атрибут может использоваться в элементах: A, AREA, LABEL, INPUT, SELECT, TEXTAREA и BUTTON. onblur = script [CT] Событие onblur возникает, когда элемент теряет фокус от указательного устройства или при навигации табуляцией. Может использоваться с теми же элементами, что и onfocus. onkeypress = script [CT] Событие onkeypress возникает, когда клавиша нажата и отпущена над элементом. Этот атрибут может быть использован с большинством элементов. onkeydown = script [CT] Событие onkeydown event возникает, когда клавиша нажата над элементом. Этот атрибут может быть использован с большинством элементов. onkeyup = script [CT] Событие onkeyup возникает, когда клавиша отпущена над элементом. Этот атрибут может быть использован с большинством элементов. onsubmit = script [CT] onsubmit возникает при отправке формы. Применяется только к элементу FORM. onreset = script [CT] onreset возникает при "очистке" формы. Применяется только к элементу FORM. onselect = script [CT] onselect возникает, когда пользователь выделяет какой-либо текст в текстовом поле. Этот атрибут может использоваться в элементах INPUT и TEXTAREA. onchange = script [CT] onchange возникает, когда ЭУ теряет фокус ввода и его значение изменилось с момента получения фокуса. Применяется в элементах: INPUT, SELECT и TEXTAREA. Можно ассоциировать действие с определённым количеством событий, возникающих при взаимодействии пользователя с ПА. Каждое из "внутренних событий", перечисленных выше, имеет значение - скрипт. Скрипт выполняется , как только возникает событие в данном элементе. Синтаксис данных скрипта зависит от языка скрипта.
        ЭУ, такие как INPUT, SELECT, BUTTON, TEXTAREA и LABEL, все откликаются на определённые внутренние события. Если эти элементы находятся вне формы, они могут использоваться для расширения возможностей пользовательского интерфейса документа.
        К примеру, авторы могут вставить в документ кнопку, которая не отправляет форму, а взаимодействует с сервером при активации.
        Следующие примеры показывают некоторые ЭУ и действия пользовательского интерфейса на базе внутренних событий.
        Здесь заполнение поля userName является необходимым. Если пользователь переносит фокус с этого поля, событие onblur вызовет функцию JavaScript для того, чтобы удостовериться, что userName содержит приемлемое значение:
        Вот пример другого JavaScript:
        Пример VBScript-обработчика события для текстового поля:
        Пример с использованием Tcl:
        Пример JavaScript для события, связанного со скриптом. Сначала - простой обработчик щелчка кнопки:
        Более интересный обработчик окна:
        В Tcl это выглядит похоже:
        Учтите, что "document.write" или аналогичные операторы в обработчиках внутренних событий создают новый документ и записывают туда, а не модифицируют текущий документ.

        Динамическое изменение документов


        18.2.4 Динамическое изменение документов

        Скрипты, выполняемые при загрузке документа, могут использоваться для динамической модификации документа. Возможность сделать это зависит от самого языка скриптов (напр., оператор "document.write" в объектной модели HTML не поддерживается некоторыми производителями). Динамическая модификация документа может быть смоделирована так:
      603. Все элементы SCRIPT выполняются в том порядке, как они загружаются.
      604. Все конструкции скриптов в данном элементе SCRIPT, генерирующем SGML CDATA, выполняются. Их комбинированный сгенерированный текст вставляется в документ вместо элемента SCRIPT.
      605. Сгенерированные CDATA выполняется заново.
      606. Документы HTML должны соответствовать Определению Типа Данных (ОТД) HTML и до, и после обработки элемента SCRIPT.
        Следующий пример иллюстрирует, как скрипты могут модифицировать документ динамически.
        Скрипт:
        Test Document работает так же, как и :
        Test Document Hello World!

        Дизайн документов для ПА, поддерживающих скрипты


        18.2 Дизайн документов для ПА, поддерживающих скрипты

        В следующем разделе обсуждаются вопросы, касающиеся ПА, поддерживающих скрипты.

        Элемент NOSCRIPT

        18.3.1 Элемент NOSCRIPT

        NOSCRIPT - - (%block;)+ -- контейнер для альтернативного содержимого при отображении без использования скриптов --> %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: необходим
        Элемент NOSCRIPT даёт авторам возможность предоставить альтернативное содержимое, если скрипт не выполняется. Содержимое элемента NOSCRIPT должно отображаться ПА, "понимающим" скрипты, только в следующих случаях:
      607. ПА сконфигурирован так, чтобы не выполнять скрипты;
      608. ПА не поддерживает язык скриптов, ранее заявленный в элементе SCRIPT в этом документе.
      609. ПА, не поддерживающие скрипты на стороне клиента, обязаны выводить содержимое этого элемента.
        В следующем примере ПА, исполняющий SCRIPT, будет включать некоторые динамически создаваемые данные в документ. Если ПА не поддерживает скрипты, пользователь сможет запросить данные по гиперссылке.


        Скрытие данных скрипта от ПА

        18.3.2 Скрытие данных скрипта от ПА

        Есть вероятность того, что ПА, не распознающие элемент SCRIPT, будут рассматривать его содержимое как текст. Некоторые машины скриптов, в том числе для языков JavaScript, VBScript и Tcl, разрешают включение операторов скрипта в комментарий SGML. ПА, не распознающие элемент SCRIPT, будут тогда игнорировать комментарий, в то время как более совершенные машины скриптов "поймут", что скрипт внутри комментария должен выполняться.
        Другим решением проблемы является сохранение скриптов во внешнем документе и ссылка на него с помощью атрибута src.
        Комментирование скриптов в JavaScript
        Машина JavaScript допускает "" от разборщика JavaScript.
        Комментирование скриптов в VBScript
        В VBScript одиночная кавычка указывает, что оставшаяся часть строки должна рассматриваться как комментарий. Таким образом, она может использоваться для скрытия "-->" от VBScript, например:
        Комментирование скриптов в TCL
        В Tcl символ"#" обозначает комментарий до конца строки:
        Примечание. Некоторые браузеры закрывают комментарий при обнаружении первого символа ">", поэтому, для того, чтобы спрятать скрипт от таких браузеров, Вы можете поменять местами операнды в операторах сравнения и смещения (напр., использовать "y < x" вместо "x > y") или использовать зависимые от языка скриптов escape-последовательности для ">".

        Дизайн документов для ПА, не поддерживающих сценарии


        18.3 Дизайн документов для ПА, не поддерживающих сценарии

        В данном разделе рассматривается, как авторы могут создать документ, работающий с ПА, не поддерживающими скрипты.

        Сценарии (скрипты)

        18. Сценарии (скрипты)

        Содержание
      610. Введение
      611. Дизайн документов для пользовательских агентов (ПА), поддерживающих скрипты (сценарии)
      612. Элемент SCRIPT
      613. Установка языка скрипта
      614. Язык по умолчанию
      615. Локальное объявление языка скриптов
      616. Ссылки на элементы HTML из скрипта
      617. Внутренние события
      618. Динамическое изменение документа
      619. Дизайн документов для ПА, не поддерживающих скрипты
      620. Элемент NOSCRIPT
      621. Скрытие данных скрипта от ПА


      622. Проверка документов

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

        Многие авторы используют ограниченное число браузеров для проверки создаваемых документов, предполагая, что если документы нормально просматриваются в этих браузерах, то они корректны.
        К сожалению, это не очень надёжный способ проверки документов, поскольку браузеры сделаны так, чтобы "справляться" с некорректными документами, отображая их по возможности корректно.
        Более надёжно тестировать документы в разборщиках SGML, таких как nsgmls (см. [SP]), для проверки соответствия документов HTML определению типа данных (ОТД) HTML 4. Если объявление типа документа в Вашем документе включает URI, и Ваш разборщик SGML поддерживает этот тип системного идентификатора, то разборщик будет получать ОТД напрямую. В ином случае, Вы можете использовать предлагаемый каталог образцов SGML. ОТД в нём сохранено в файле "strict.dtd", а мнемоники - в файлах "HTMLlat1.ent", "HTMLsymbol.ent" и "HTMLspecial.ent". В других случаях, удостоверьтесь, что Ваш разборщик SGML способен обрабатывать документы [ISO10646]. См. документацию на утилиты проверки.
        Учтите, что такая проверка, широко рекомендуемая и используемая, не гарантирует полного соответствия документов спецификации HTML 4. Это потому, что разборщик SGML учитывает только данное ОТД SGML, которое не отражает все аспекты верного документа HTML 4. Конкретно, разборщик SGML проверяет, что синтаксис, структура, список элементов и их атрибуты верны. Но он, к примеру, не может отлавливать ошибки, такие как установки неверных значений атрибута width элемента IMG (т.е. "foo" или "12.5"). Хотя эта спецификация ограничивает возможные значения этого атрибута как "целое число пикселов," ОТД определяет только, что значение является CDATA, что в настоящее время допускает любые значения. Только специализированная программа может охватить всю спецификацию HTML 4.
        Несмотря на это, данный тип проверки настоятельно рекомендуется, поскольку выполняется обнаружение большого количества ошибок, делающих документ некорректным.

        Каталог образцов SGML

        19.2 Каталог образцов SGML

        Этот каталог содержит директиву override для того, чтобы удостовериться, что программа, такая как nsgmls, использует public-идентификаторы, а не системные. Это значит, что пользователи не должны быть соединены с Web при затребовании системных идентификаторов на базе URI.
        OVERRIDE YES PUBLIC "-//W3C//DTD HTML 4.01//EN" strict.dtd PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" loose.dtd PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" frameset.dtd PUBLIC "-//W3C//ENTITIES Latin1//EN//HTML" HTMLlat1.ent PUBLIC "-//W3C//ENTITIES Special//EN//HTML" HTMLspecial.ent PUBLIC "-//W3C//ENTITIES Symbols//EN//HTML" HTMLsymbol.ent

        Справочная информация SGML для HTML

        19. Справочная информация SGML для HTML

        Содержание
      623. Проверка документов
      624. Каталог образцов SGML
      625. Этот раздел содержит формальное SGML-определение HTML 4. Оно включает SGML-объявление, Определение Типа Данных (ОТД) и символьные ссылки-мнемоники, а также каталог образцов SGML.
        Эти файлы доступны также в формате ASCII :
        ОТД по умолчанию: strict.dtdПереходное ОТД/Transitional DTD: loose.dtdОТД набора фрэймов/Frameset DTD: frameset.dtdSGML-объявление: HTML4.declФайлы определений мнемоник: HTMLspecial.ent
        HTMLsymbol.ent
        HTMLlat1.ent Каталог образцов:HTML4.cat

        Введение в URI

        2.1.1 Введение в URI

        Каждый доступный на Web ресурс - документ HTML, рисунок, видеоклип, программа и т д. - имеет адрес, который может быть кодирован как Universal Resource Identifier\Универсальный идентификатор ресурса, или "URI".
        URI обычно состоят из трёх частей:
      626. Схема именования механизма, используемого для доступа к ресурсу.
      627. Имя машины - владельца (хоста) ресурса.
      628. Имя самого ресурса, даваемое как путь/path.
      629. Рассмотрите URI страницы Technical Reports на сайте W3C:
        http://www.w3.org/TR Этот URI можно прочитать так: это документ, доступный по протоколу HTTP (см. [RFC2616]), находящийся на машине www.w3.org, доступный в пути "/TR". Другие схемы именования, которые Вы можете встретить в документах HTML, включают "mailto" для email (электронной почты) и "ftp" для FTP.
        Вот другой URI. Этот ссылается на почтовый ящик пользователя:
        ...здесь какой-либо текст... Для комментариев высылайте, пожалуйста, email по адресу Владимиру Ульянову. Примечание. Большинство читателей, наверное, знакомы с термином "URL" и не знакомы с термином "URI". URL образуют подраздел более общей схемы именования - URI.

        Идентификаторы фрагментов документа (закладки)

        2.1.2 Идентификаторы фрагментов документа (закладки)

        Некоторые URI ссылаются на место внутри ресурса. URI этого типа заканчиваются знаком "#", после которого следует идентификатор якоря (называемый идентификатор фрагмента). Например, вот URI, указывающий на закладку с названием section_2:
        http://somesite.com/html/top.html#section_2

        Относительные URI

        2.1.3 Относительные URI

        Относительные URI не содержат информацию о схеме именования. Их "путь" обычно ссылается на ресурс на той же машине, где находится и текущий документ. Относительные URI могут содержать компоненты относительного пути (например, ".." - на один уровень выше в иерархии пути), а также закладки.
        Относительный URI расширяется до полного URI с использованием базового URI.
        К примеру, предположим, что у нас есть базовый URI "http://www.acme.com/support/intro.html".
        Относительный URI в следующей разметке для перехода по гиперссылке:
        Suppliers будет расширен до полного URI "http://www.acme.com/support/suppliers.html", а относительный URI для рисунка в следующей разметке:
        logo будет расширен до полного URI "http://www.acme.com/icons/logo.gif".
        В HTML URI используются для:
      630. ссылки на другой документ или ресурс (см. элементы A и LINK);
      631. ссылки на внешнюю таблицу стилей или сценарий/скрипт (см. элементы LINK и SCRIPT);
      632. включения в страницу рисунка, объекта или аплета (см. элементы IMG, OBJECT, APPLET и INPUT);
      633. создания карт изображений (см. элементы MAP и AREA);
      634. отправки формы (см. FORM);
      635. создания многооконного документа - фрэймов (см. элементы FRAME и IFRAME);
      636. цитирования внешней ссылки (см. элементы Q, BLOCKQUOTE, INS и DEL).;
      637. ссылки на соглашения по метаданным, описывающим документ (см. элемент HEAD).
      638. Прочтите также раздел о типе URI.

        Что такое World Wide Web?


        2.1 Что такое World Wide Web?

        World Wide Web (Web)\Всемирная паутина это сеть информационных ресурсов. Web использует три механизма, делающих эти ресурсы доступными максимально возможной аудитории:
      639. Единообразная схема именования размещения ресурсов в Web (напр., URI).
      640. Протоколы для доступа к именованным ресурсам Web (напр., HTTP).
      641. Гипертекст для быстрой навигации по ресурсам (напр., HTML).
      642. Связи этих механизмов станут очевидными после изучения данной спецификации.

        Краткая история HTML

        2.2.1 Краткая история HTML

        HTML был первоначально разработан Tim Berners-Lee как CERN и популяризован браузером Mosaic, разработанным NCSA. В течение 90х гг. он буквально расцвёл в связи с бурным развитием Web. В это время HTML развивался разными путями. Web зависит от соглашений между создателями документов и провайдерами услуг. Это является причиной совместной работы над HTML.
        HTML 2.0 (ноябрь 1995, см. [RFC1866]) был создан под эгидой Internet Engineering Task Force (IETF) для кодирования в конце 1994 г.. HTML+ (1993) и HTML 3.0 (1995, см. [HTML30]) представляли собой более "навороченные" версии HTML. Несмотря на то, что консенсус никогда не достижим в дискуссиях о стандартах, эти проекты вели к обобщению большого объёма новых возможностей. Усилия World Wide Web Consortium's HTML Working Group по кодификации практических наработок в 1996 г. выразились в появлении HTML 3.2 (январь 1997, см. [HTML32]). Изменения, сделанные в HTML 3.2 суммированы Приложении A.
        Большинство было согласно с тем, что документы HTML должны хорошо работать на различных платформах и в различных браузерах. Достижение универсальности уменьшает затраты провайдеров, поскольку они должны создавать документы одной версии языка. Если это не будет сделано, увеличится риск того, что Web будет развиваться во множестве несовместимых форматов, уменьшая коммерческий потенциал Web для всех участников.
        Каждая версия HTML пытается добиться большего согласия среди участников этой игры так, чтобы затраты, сделанные провайдерами информации, не оказались бесполезными и чтобы их документы не стали через короткое время "нечитабельными".
        HTML был разработан в расчёте на то, что все виды устройств смогут получить информацию на Web: PC графическими дисплеями различного разрешения и глубины цвета, сотовыми телефонами, переносными устройствами, разговорными устройствами, компьютерами с высокой и низкой тактовой частотой и так далее.

        Что такое HTML?


        2.2 Что такое HTML?

        Для публикации информации и её глобального распространения необходим универсальный язык типа основного всеобщего языка, который потенциально понятен всем компьютерам. Таким языком, используемым в World Wide Web, является HTML (от HyperText Markup Language/Язык Гипертекстовой Разметки).
        HTML даёт авторам средства для того, чтобы:
      643. публиковать online-документы с оглавлением, текстом, таблицами, списками, фотографиями и т.д.;
      644. запрашивать online-информацию, переходя по гиперссылкам, нажимая кнопки;
      645. создавать формы для взаимодействия с удалённым сервисом, для поиска информации, создания архивов, продажи товаров и т д.;
      646. включать таблицы данных, видео и аудиоклипы и другие приложения прямо в документы.


      647. Интернационализация

        2.3.1 Интернационализация

        Эта версия HTML была разработана при помощи экспертов в вопросах интернационализации так, чтобы документы могли быть написаны на любом языке и переданы в любую точку планеты. Это было сделано с участием [RFC2070], тех, кто имеет отношение к интернационализации HTML.
        Важным этапом стало принятие стандарта ISO/IEC: 10646 (см. [ISO10646]) как набора символов для документа HTML. Это самый обобщённый мировой стандарт, содержащий решения по вопросам представления международных символов, направления текста, пунктуации и других вопросов языка.
        В данный момент HTML предоставляет поддержку различных человеческих языков в документах. Это позволяет применять качественную индексацию документы для машин поиска, высококачественную типографскую печать, лучшую конверсию текст-речь и т.д.

        Доступность

        2.3.2 Доступность

        Поскольку сообщество Web разрастается, и его члены различны по своим возможностям и уровню, решающим становится соответствие базовых технологий специфическим задачам Web. HTML разработан так, чтобы сделать страницы Web более доступными людям с физическими недостатками. Развитие HTML 4, вызванное проблемой обеспечения доступности, включает в себя:
      648. большее разделение структуры и представления документа продвижением таблиц стилей вместо элементов и атрибутов представления HTML;
      649. доработка форм, добавление символов быстрого доступа, возможность семантически группировать элементы управления (ЭУ) и опции SELECT, активные лэйблы;
      650. возможность разметки текстового описания включённых объектов (элементом OBJECT);
      651. новый механизм клиентских карт изображений (элемент MAP), позволяющий авторам интегрировать изображения и гиперссылки;
      652. требование установки альтернативного текста для изображений для элемента IMG и карт изображений для элемента AREA;
      653. поддержка атрибутов title и lang для всех элементов;
      654. поддержка элементов ABBR и ACRONYM;
      655. широкий круг целевых носителей информации (tty, по Брайлю и т.п.) для использования с таблицами стилей;
      656. доработанные таблицы, заголовки, группы столбцов и механизмы, облегчающие невизуальное восприятие;
      657. полное описание таблиц, изображений фрэймов и т.д.
      658. Авторы, разрабатывающие страницы с учётом их доступности, не только заслуживают благодарности, но получат также и другое преимущество: хорошо проработанные документы HTML с разделением структуры и представления в будущем легче будут адаптироваться к новым технологиям.
        Примечание. О дизайне доступных документов HTML см. [WAI].

        Таблицы


        2.3.3 Таблицы

        Новая модель таблиц HTML базируется на [RFC1942]. Авторы имеют теперь больший контроль над структурой и внешним видом (напр., группы столбцов). Возможность рекомендовать ширину столбцов даёт возможность ПА отображать таблицы частями (по мере загрузки), а не дожидаться получения всей таблицы целиком.
        Примечание. Некоторые утилиты для создания документов HTML широко используют таблицы для форматирования, что может легко привести к проблемам с доступностью документов.

        Составные документы


        2.3.4 Составные документы

        HTML предлагает стандартный механизм внедрения объектов приложений в документы HTML. Элемент OBJECT (вместе со своими более специализированными предшественниками IMG и APPLET) предоставляет механизм включения в документ изображений, видео, звука, математических выражений, специализированных приложений и других объектов. Авторам предлагается также устанавливать иерархию альтернативного представления для ПА, не поддерживающих какие-либо виды специального представления.

        Таблицы стилей


        2.3.5 Таблицы стилей

        Таблицы стилей упрощают разметку HTML и снимают значительную долю нагрузки на HTML в вопросах представления документов. Они дают и авторам, и ПА контроль над представлением документов - шрифты, выравнивание, цвет и т.п.
        Стилевая информация может быть определена для конкретного элемента или для группы элементов. Стилевая информация может быть установлена в документе HTML или во внешней таблице стилей.
        Механизм ассоциации таблицы стилей с документом не зависит от языка таблицы стилей.
        До появления таблиц стилей авторы имели ограниченный контроль над представлением документа. HTML 3.2 включал несколько атрибутов и элементов, позволявших управлять выравниванием, размером шрифта и цветом текста. Авторы также использовали таблицы и изображения как средство форматирования вывода страниц.
        Относительно много времени занимает обновление пользователями своих браузеров, и это означает, что постепенно новые возможности начнут широко использоваться. Одновременно, поскольку таблицы стилей предлагают более совершенный механизм представления, World Wide Web Consortium осуществляет постепенный отход от многих элементов и атрибутов представления документов HTML. В этой спецификации элементы и атрибуты "риска" отмечены как "не рекомендуемые". Они сопровождаются примерами того, как добиться того же эффекта применением других элементов или таблиц стилей.

        Сценарии (скрипты)


        2.3.6 Сценарии (скрипты)

        С помощью сценариев авторы могут создавать динамические Web-страницы (напр., "умные формы", которые реагируют на их заполнение пользователем) и использовать HTML как средство создания сетевых приложений.
        Механизм включения скриптов в документ HTML не зависит от языка скриптов.

        Печать


        2.3.7 Печать

        Иногда авторам необходимо облегчить пользователям печать сложных документов. Если документы являются частью более объёмной работы, соотношения между ними могут быть описаны с использованием элемента HTML LINK или W3C's Resource Description Framework (RDF) (см. [RDF10]).

        расширяет HTML механизмами таблиц


        2.3 HTML 4

        HTML 4 расширяет HTML механизмами таблиц стилей, сценариев, фрэймов, внедрённых объектов, улучшенной поддержкой текста левого и правого направлений, сложными таблицами и улучшениями в формах, увеличением доступности для людей с физическими недостатками.

        В HTML 4.01 сделан пересмотр HTML 4.0, исправлены ошибки и внесены некоторые изменения по сравнению с предыдущей версией.

        Разделение структуры и представления

        2.4.1 Разделение структуры и представления

        HTML имеет корни в SGML, который всегда был языком спецификации структурной разметки. Поскольку HTML уже достаточно развился, всё больше его элементов представления и атрибутов заменяются другими механизмами, в особенности - таблицы стилей. Опыт показывает, что отделение структуры документа от его представления уменьшает стоимость обслуживания на основе широкого спектра платформ, носителей и т.д. и облегчает обновление документов.

        Предусматривайте универсальность доступа к Web

        2.4.2 Предусматривайте универсальность доступа к Web

        Чтобы сделать Web доступным каждому, особенно людям с физическими недостатками, авторы должны учитывать, как их документы будут выглядеть на различных платформах: речевых браузерах, устройств чтения по системе Брайля и т.п. Мы не рекомендуем авторам ограничивать себя творчески, необходимо только предусмотреть альтернативные возможности представления документа. HTML предоставляет несколько механизмов для этого (напр., атрибуты alt, accesskey и т.п.)
        В то же время, авторы должны всегда помнить, что их документы доступны для широкой аудитории, для компьютеров разной конфигурации. Для того, чтобы документы интерпретировались корректно, авторы должны включать в свои страницы информацию о языке и направлении текста, о кодировке и других объектах интернационализации.

        Помогать пользовательским агентам (ПА) показывать содержимое частями

        2.4.3 Помогать пользовательским агентам (ПА) показывать содержимое частями

        Будьте аккуратны при создании таблиц и использовании новых возможностей HTML 4.
        Авторы могут помочь ПА отображать документы быстрее.
        Авторы могут узнать, как создавать таблицы для отображения частями (см. элемент TABLE).
        Разработчики должны прочесть заметки о таблицах в приложении об алгоритме вывода частями.

        и разработчикам рассмотреть следующие общие

        2.4 Создание документов HTML 4

        Мы рекомендуем авторам и разработчикам рассмотреть следующие общие принципы при работе с HTML 4.

        Что такое World Wide

        2. Введение в HTML 4

        Содержание

      659. Что такое World Wide Web?
      660. Введение в URI
      661. Идентификаторы фрагментов документа (закладки)
      662. Относительные URI
      663. Что такое HTML?
      664. Краткая история HTML
      665. HTML 4
      666. Интернационализация
      667. Доступность
      668. Таблицы
      669. Составные документы
      670. Таблицы стилей
      671. Сценарии (скрипты)
      672. Печать
      673. Создание документов HTML 4
      674. Разделение структуры и представления
      675. Предусматривайте универсальность доступа к Web
      676. Помогать пользовательским агентам (ПА) показывать содержимое частями


      677. Объявление SGML

        20.1 Объявление SGML





        Общее количество кодовых точек, допустимых

        20. SGML - объявление HTML 4

        Примечание. Общее количество кодовых точек, допустимых в наборе символов документа этого объявления SGML, включает 17 уровней [ISO10646] (17 раз по 65536). Это сделано потому, что это число ограничено размером 8 цифр в текущей версии стандарта SGML. Это не подразумевает каких-либо утверждений о возможности долгосрочных ограничений символов в UCS для первых 17 уровней. Очень вероятно, что ограничение до 8 цифр в SGML будет устранено и что эта спецификация будет обновлена. Примечание. Строго говоря, ISO Registration Number 177 относится к первоначальному состоянию [ISO10646] в 1993 г.. Изменения после 1993 г. состояли в дополнении символов и однократной операции перемещения большого количества кодовых точек для Korean Hangul (Поправка 5). Пересмотры спецификации HTML 4 могут обновить ссылку на ISO 10646 для включения дополнительных изменений.

        Определение Типа Документа (ОТД)

        21. Определение Типа Документа (ОТД)

        CDATA" -- тип носителя, как в [RFC2045] --> CDATA" -- список разделённых запятыми типов носителя, как в [RFC2045] --> CDATA" -- кодировка символов, как в [RFC2045] --> CDATA" -- список разделённых запятыми кодировок, как в [RFC2045] --> NAME" -- код языка, как в [RFC1766] --> CDATA" -- отдельный символ из [ISO10646] --> CDATA" -- список разделённых запятыми типов гиперссылок --> CDATA" -- одиночный медиа-дескриптор, или список разделённых запятыми медиа-дескрипторов --> CDATA" -- Uniform Resource Identifier - Универсальный Идентификатор Ресурса, см. [URI] --> CDATA" -- дата и время. ISO формат данных --> CDATA" -- скрипт-выражение --> CDATA" -- данные таблиц стилей --> CDATA"> SCRIPT|STYLE|META|LINK|OBJECT" -- повторяемые элементы заглавия --> H1|H2|H3|H4|H5|H6"> UL | OL"> PRE"> %HTMLlat1; %HTMLsymbol; %HTMLspecial; id ID #ПРЕДПОЛАГАЕТСЯ -- уникальный идентификатор документа -- class CDATA #ПРЕДПОЛАГАЕТСЯ -- разделённый пробелами список классов -- style %StyleSheet; #ПРЕДПОЛАГАЕТСЯ -- информация об ассоциированных стилях -- title %Text; #ПРЕДПОЛАГАЕТСЯ -- информативное название --" > lang %LanguageCode; #ПРЕДПОЛАГАЕТСЯ -- код языка -- dir (ltr|rtl) #ПРЕДПОЛАГАЕТСЯ -- направление текста --" > onclick %Script; #ПРЕДПОЛАГАЕТСЯ -- щёлкнула кнопка указателя (мыши) -- ondblclick %Script; #ПРЕДПОЛАГАЕТСЯ -- дважды щёлкнула кнопка указателя (мыши) -- onmousedown %Script; #ПРЕДПОЛАГАЕТСЯ -- кнопка указателя (мыши) нажата -- onmouseup %Script; #ПРЕДПОЛАГАЕТСЯ -- кнопка указателя (мыши) отпущена -- onmouseover %Script; #ПРЕДПОЛАГАЕТСЯ -- указатель проведён над -- onmousemove %Script; #ПРЕДПОЛАГАЕТСЯ -- указатель проведён внутри -- onmouseout %Script; #ПРЕДПОЛАГАЕТСЯ -- указатель убран за пределы -- onkeypress %Script; #ПРЕДПОЛАГАЕТСЯ -- клавиша была нажата и отпущена -- onkeydown %Script; #ПРЕДПОЛАГАЕТСЯ -- клавиша была нажата -- onkeyup %Script; #ПРЕДПОЛАГАЕТСЯ -- клавиша была отпущена --" > %HTML.Reserved; [ %URI; #ПРЕДПОЛАГАЕТСЯ -- одиночный или табличный Data Source -- datafld CDATA #ПРЕДПОЛАГАЕТСЯ -- свойство имени столбца -- dataformatas (plaintext|html) plaintext -- text или html --" > ]]> %coreattrs; %i18n; %events;"> TT | I | B | BIG | SMALL"> EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE | ABBR | ACRONYM" > formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON"> %fontstyle; | %phrase; | %special; | %formctrl;"> %fontstyle;|%phrase;) - - (%inline;)*> %fontstyle;|%phrase;) %attrs; -- %coreattrs, %i18n, %events -- > SUB|SUP) - - (%inline;)* -- нижний индекс, верхний индекс --> %attrs; -- %coreattrs, %i18n, %events -- > SPAN - - (%inline;)* -- общий язык/контейнер стиля --> %attrs; -- %coreattrs, %i18n, %events -- %reserved; -- зарезервирован для использования в будущем -- > BDO - - (%inline;)* -- I18N BiDi переопределение --> %coreattrs; -- id, class, style, title -- lang %LanguageCode; #ПРЕДПОЛАГАЕТСЯ -- код языка -- dir (ltr|rtl) #НЕОБХОДИМ -- направление текста -- > BR - O EMPTY -- принудительный обрыв строки --> %coreattrs; -- id, class, style, title -- > %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT | BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS"> %block; | %inline;"> BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- тело документа --> %attrs; -- %coreattrs, %i18n, %events -- onload %Script; #ПРЕДПОЛАГАЕТСЯ -- документ был загружен -- onunload %Script; #ПРЕДПОЛАГАЕТСЯ -- документ был удалён -- > %inline;)* -- информация об авторе --> %attrs; -- %coreattrs, %i18n, %events -- > DIV - - (%flow;)* -- общий язык/контейнер стиля --> %attrs; -- %coreattrs, %i18n, %events -- %reserved; -- зарезервирован для использования в будущем -- > CDATA" -- разделённый запятыми список размеров --> A - - (%inline;)* -(A) -- якорь --> %attrs; -- %coreattrs, %i18n, %events -- charset %Charset; #ПРЕДПОЛАГАЕТСЯ -- символьная кодировка связанного ресурса -- type %ContentType; #ПРЕДПОЛАГАЕТСЯ -- информативный тип содержимого -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- именованный конец гиперссылки -- href %URI; #ПРЕДПОЛАГАЕТСЯ -- URI связанного ресурса -- hreflang %LanguageCode; #ПРЕДПОЛАГАЕТСЯ -- код языка -- rel %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- типы гиперссылок вперёд -- rev %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- типы гиперссылок назад -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ ключа доступа -- shape %Shape; rect -- для использования с клиентскими картами изображений -- coords %Coords; #ПРЕДПОЛАГАЕТСЯ -- для использования с клиентскими картами изображений -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- > MAP - - ((%block;) | AREA)+ -- клиентские карты изображений --> %attrs; -- %coreattrs, %i18n, %events -- name CDATA #НЕОБХОДИМ -- для ссылок usemap -- > AREA - O EMPTY -- область клиентских карт изображений --> %attrs; -- %coreattrs, %i18n, %events -- shape %Shape; rect -- интерпретация координат -- coords %Coords; #ПРЕДПОЛАГАЕТСЯ -- список разделённых запятыми размеров -- href %URI; #ПРЕДПОЛАГАЕТСЯ -- URI связанного ресурса -- nohref (nohref) #ПРЕДПОЛАГАЕТСЯ -- эта область не имеет action -- alt %Text; #НЕОБХОДИМ -- краткое описание -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- > LINK - O EMPTY -- media-независимая ссылка --> %attrs; -- %coreattrs, %i18n, %events -- charset %Charset; #ПРЕДПОЛАГАЕТСЯ -- набор символов связанного ресурса -- href %URI; #ПРЕДПОЛАГАЕТСЯ -- URI связанного ресурса -- hreflang %LanguageCode; #ПРЕДПОЛАГАЕТСЯ -- код языка -- type %ContentType; #ПРЕДПОЛАГАЕТСЯ -- информативный тип содержимого -- rel %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- типы ссылок вперёд -- rev %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- типы ссылок назад -- media %MediaDesc; #ПРЕДПОЛАГАЕТСЯ -- для представления на этом носителе -- > CDATA" -- nn размер в пикселах, nn% - в процентах --> CDATA" -- пиксел, процент или относительный размер --> %HTML.Frameset; [ CDATA" -- список разделённых запятыми MultiLength --> ]]> CDATA" -- целое число, представляющее размер в пикселах --> IMG - O EMPTY -- внедрённое изображение --> %attrs; -- %coreattrs, %i18n, %events -- src %URI; #НЕОБХОДИМ -- URI изображения для внедрения -- alt %Text; #НЕОБХОДИМ -- краткое описание -- longdesc %URI; #ПРЕДПОЛАГАЕТСЯ -- ссылка на полное описание (дополняет alt) -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя изображения (для сценариев) -- height %Length; #ПРЕДПОЛАГАЕТСЯ -- переопределить высоту -- width %Length; #ПРЕДПОЛАГАЕТСЯ -- переопределить ширину -- usemap %URI; #ПРЕДПОЛАГАЕТСЯ -- использовать клиентские карты изображений -- ismap (ismap) #ПРЕДПОЛАГАЕТСЯ -- использовать серверные карты изображений -- > OBJECT - - (PARAM | %flow;)* -- общий внедрённый объект --> %attrs; -- %coreattrs, %i18n, %events -- declare (declare) #ПРЕДПОЛАГАЕТСЯ -- объявляет, но не устанавливает флаг -- classid %URI; #ПРЕДПОЛАГАЕТСЯ -- идентифицирует класс -- codebase %URI; #ПРЕДПОЛАГАЕТСЯ -- базовый URI для classid, data, archive-- data %URI; #ПРЕДПОЛАГАЕТСЯ -- ссылка на данные объекта -- type %ContentType; #ПРЕДПОЛАГАЕТСЯ -- тип содержимого данных -- codetype %ContentType; #ПРЕДПОЛАГАЕТСЯ -- тип содержимого для кода -- archive CDATA #ПРЕДПОЛАГАЕТСЯ -- список разделённых пробелами URI -- standby %Text; #ПРЕДПОЛАГАЕТСЯ -- сообщение, которое показывается при загрузке -- height %Length; #ПРЕДПОЛАГАЕТСЯ -- переопределить высоту -- width %Length; #ПРЕДПОЛАГАЕТСЯ -- переопределить ширину -- usemap %URI; #ПРЕДПОЛАГАЕТСЯ -- использовать клиентские карты изображений -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- отправить как часть формы -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- %reserved; -- зарезервирован для возможного использования в будущем -- > PARAM - O EMPTY -- именованное значение свойства --> id ID #ПРЕДПОЛАГАЕТСЯ -- уникальный идентификатор документа -- name CDATA #НЕОБХОДИМ -- имя свойства -- value CDATA #ПРЕДПОЛАГАЕТСЯ -- значение свойства -- valuetype (DATA|REF|OBJECT) DATA -- как интерпретировать значение -- type %ContentType; #ПРЕДПОЛАГАЕТСЯ -- тип содержимого значения, если valuetype=ref -- > HR - O EMPTY -- горизонтальная линия --> %attrs; -- %coreattrs, %i18n, %events -- > P - O (%inline;)* -- параграф --> %attrs; -- %coreattrs, %i18n, %events -- > %heading;) - - (%inline;)* -- заголовок --> %heading;) %attrs; -- %coreattrs, %i18n, %events -- > pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP"> PRE - - (%inline;)* -(%pre.exclusion;) -- форматированный текст --> %attrs; -- %coreattrs, %i18n, %events -- > Q - - (%inline;)* -- сокращённое закавычивание инлайн --> %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #ПРЕДПОЛАГАЕТСЯ -- URI документа-источника или сообщения -- > BLOCKQUOTE - - (%block;|SCRIPT)+ -- полные кавычки --> %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #ПРЕДПОЛАГАЕТСЯ -- URI документа-источника или сообщения -- > INS|DEL) - - (%flow;)* -- вставленный текст, удалённый текст --> %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #ПРЕДПОЛАГАЕТСЯ -- цитата или ссылка на другой ресурс -- datetime %Datetime; #ПРЕДПОЛАГАЕТСЯ -- дата и время изменения -- > DL - - (DT|DD)+ -- список definition/определений --> %attrs; -- %coreattrs, %i18n, %events -- > DT - O (%inline;)* -- определяемый термин --> DD - O (%flow;)* -- определение этого термина --> %attrs; -- %coreattrs, %i18n, %events -- > OL - - (LI)+ -- упорядоченный список --> %attrs; -- %coreattrs, %i18n, %events -- > UL - - (LI)+ -- неупорядоченный список --> %attrs; -- %coreattrs, %i18n, %events -- > LI - O (%flow;)* -- элемент списка --> %attrs; -- %coreattrs, %i18n, %events -- > FORM - - (%block;|SCRIPT)+ -(FORM) -- интерактивная форма --> %attrs; -- %coreattrs, %i18n, %events -- action %URI; #НЕОБХОДИМ -- обработчик формы (на сервере) -- method (GET|POST) GET -- метод HTTP, используемый для отправки формы -- enctype %ContentType; "application/x-www-form-urlencoded" accept %ContentTypes; #ПРЕДПОЛАГАЕТСЯ -- список типов MIME для подгрузки файлов -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя формы (для сценариев) -- onsubmit %Script; #ПРЕДПОЛАГАЕТСЯ -- форма была отправлена -- onreset %Script; #ПРЕДПОЛАГАЕТСЯ -- форма была очищена -- accept-charset %Charsets; #ПРЕДПОЛАГАЕТСЯ -- список поддерживаемы наборов символов -- > LABEL - - (%inline;)* -(LABEL) -- текст лэйбла поля формы --> %attrs; -- %coreattrs, %i18n, %events -- for IDREF #ПРЕДПОЛАГАЕТСЯ -- в паре со значением ID поля -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- > INPUT - O EMPTY -- элемент управления формы --> %attrs; -- %coreattrs, %i18n, %events -- type %InputType; TEXT -- тип элемента управления (ЭУ) -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- отправить как часть формы -- value CDATA #ПРЕДПОЛАГАЕТСЯ -- для radio-кнопок и переключателей -- checked (checked) #ПРЕДПОЛАГАЕТСЯ -- для radio-кнопок и переключателей -- disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- readonly (readonly) #ПРЕДПОЛАГАЕТСЯ -- для text и passwd -- size CDATA #ПРЕДПОЛАГАЕТСЯ -- специфический для каждого типа поля -- maxlength NUMBER #ПРЕДПОЛАГАЕТСЯ -- максимум символов для ввода (в текстовых полях) -- src %URI; #ПРЕДПОЛАГАЕТСЯ -- для полей с изображениями -- alt CDATA #ПРЕДПОЛАГАЕТСЯ -- краткое описание -- usemap %URI; #ПРЕДПОЛАГАЕТСЯ -- использовать клиентские карты изображений -- ismap (ismap) #ПРЕДПОЛАГАЕТСЯ -- использовать серверные карты изображений -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- onselect %Script; #ПРЕДПОЛАГАЕТСЯ -- некоторый текст был выделен -- onchange %Script; #ПРЕДПОЛАГАЕТСЯ -- значение элемента изменено -- accept %ContentTypes; #ПРЕДПОЛАГАЕТСЯ -- список типов MIME для подгрузки файлов -- %reserved; -- зарезервирован для возможного использования в будущем -- > SELECT - - (OPTGROUP|OPTION)+ -- переключатель опций --> %attrs; -- %coreattrs, %i18n, %events -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя поля -- size NUMBER #ПРЕДПОЛАГАЕТСЯ -- количество видимых рядов -- multiple (multiple) #ПРЕДПОЛАГАЕТСЯ -- по умолчанию выбран один (элемент) -- disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- onchange %Script; #ПРЕДПОЛАГАЕТСЯ -- значение элемента изменено -- %reserved; -- зарезервирован для возможного использования в будущем -- > OPTGROUP - - (OPTION)+ -- группа опций --> %attrs; -- %coreattrs, %i18n, %events -- disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- label %Text; #НЕОБХОДИМ -- для использования в иерархических меню -- > OPTION - O (#PCDATA) -- переключаемый выбор --> %attrs; -- %coreattrs, %i18n, %events -- selected (selected) #ПРЕДПОЛАГАЕТСЯ disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- label %Text; #ПРЕДПОЛАГАЕТСЯ -- для использования в иерархических меню -- value CDATA #ПРЕДПОЛАГАЕТСЯ -- по умолчанию для содержимого элемента -- > TEXTAREA - - (#PCDATA) -- многострочное поле ввода текста --> %attrs; -- %coreattrs, %i18n, %events -- name CDATA #ПРЕДПОЛАГАЕТСЯ rows NUMBER #ПРЕДПОЛАГАЕТСЯ cols NUMBER #ПРЕДПОЛАГАЕТСЯ disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- readonly (readonly) #ПРЕДПОЛАГАЕТСЯ tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- onselect %Script; #ПРЕДПОЛАГАЕТСЯ -- некоторый текст был выделен -- onchange %Script; #ПРЕДПОЛАГАЕТСЯ -- значение элемента было изменено -- %reserved; -- зарезервирован для возможного использования в будущем -- > FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- группа ЭУ формы --> %attrs; -- %coreattrs, %i18n, %events -- > LEGEND - - (%inline;)* -- "легенда" набора полей --> %attrs; -- %coreattrs, %i18n, %events -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- > BUTTON - - (%flow;)* -(A|%formctrl;|FORM|FIELDSET) -- кнопка push --> %attrs; -- %coreattrs, %i18n, %events -- name CDATA #ПРЕДПОЛАГАЕТСЯ value CDATA #ПРЕДПОЛАГАЕТСЯ -- отсылается на сервер при отправка формы -- type (button|submit|reset) submit -- используется как кнопка формы -- disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- %reserved; -- зарезервирован для возможного использования в будущем -- > TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> TRules "(none | groups | rows | cols | all)"> align (left|center|right|justify|char) #ПРЕДПОЛАГАЕТСЯ char %Character; #ПРЕДПОЛАГАЕТСЯ -- символ выравнивания, напр., char=':' -- charoff %Length; #ПРЕДПОЛАГАЕТСЯ -- offset/сдвиг? символа выравнивания --" > valign (top|middle|bottom|baseline) #ПРЕДПОЛАГАЕТСЯ" > TABLE - - (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)> CAPTION - - (%inline;)* -- заглавие таблицы --> THEAD - O (TR)+ -- "шапка" таблицы --> TFOOT - O (TR)+ -- футер --> TBODY O O (TR)+ -- тело таблицы --> COLGROUP - O (COL)* -- группа столбцов --> COL - O EMPTY -- столбец --> TR - O (TH|TD)+ -- ряд --> TH|TD) - O (%flow;)* -- заголовочная ячейка|ячейка данных --> %attrs; -- %coreattrs, %i18n, %events -- summary %Text; #ПРЕДПОЛАГАЕТСЯ -- цель/структура речевого вывода -- width %Length; #ПРЕДПОЛАГАЕТСЯ -- ширина таблицы -- border %Pixels; #ПРЕДПОЛАГАЕТСЯ -- ширина рамки вокруг таблицы -- frame %TFrame; #ПРЕДПОЛАГАЕТСЯ -- какие части фрэйма отображать -- rules %TRules; #ПРЕДПОЛАГАЕТСЯ -- линии между рядами и столбцами -- cellspacing %Length; #ПРЕДПОЛАГАЕТСЯ -- свободное пространство между ячейками -- cellpadding %Length; #ПРЕДПОЛАГАЕТСЯ -- свободное пространство между границей ячейки и её содержимым -- %reserved; -- зарезервирован для возможного использования в будущем -- datapagesize CDATA #ПРЕДПОЛАГАЕТСЯ -- зарезервирован для возм. использования в будущем -- > %attrs; -- %coreattrs, %i18n, %events -- > %attrs; -- %coreattrs, %i18n, %events -- span NUMBER 1 -- значение по умолчанию количества столбцов в группе -- width %MultiLength; #ПРЕДПОЛАГАЕТСЯ -- значение по умолчанию ширины для включённых COL -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- > %attrs; -- %coreattrs, %i18n, %events -- span NUMBER 1 -- атрибуты COL воздействуют на N столбцов -- width %MultiLength; #ПРЕДПОЛАГАЕТСЯ -- спецификация ширины столбца -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- > %attrs; -- %coreattrs, %i18n, %events -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- > %attrs; -- %coreattrs, %i18n, %events -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- > %attrs; -- %coreattrs, %i18n, %events -- abbr %Text; #ПРЕДПОЛАГАЕТСЯ -- сокращение для заголовочной ячейки -- axis CDATA #ПРЕДПОЛАГАЕТСЯ -- список разделённых запятыми относительных заголовков -- headers IDREFS #ПРЕДПОЛАГАЕТСЯ -- список id заголовочных ячеек -- scope %Scope; #ПРЕДПОЛАГАЕТСЯ -- область видимости заголовочных ячеек -- rowspan NUMBER 1 -- количество рядов, занимаемых ячейкой -- colspan NUMBER 1 -- количество столбцов, занимаемых ячейкой -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- > HEAD O O (%head.content;) +(%head.misc;) -- "шапка" документа --> %i18n; -- lang, dir -- profile %URI; #ПРЕДПОЛАГАЕТСЯ -- именованный словарь метаинформации -- > TITLE - - (#PCDATA) -(%head.misc;) -- название документа --> %i18n> BASE - O EMPTY -- базовый URI документа --> href %URI; #НЕОБХОДИМ -- URI, действующий как базовый URI -- > META - O EMPTY -- родовая метаинформация --> %i18n; -- lang, dir для использования с содержимым -- http-equiv NAME #ПРЕДПОЛАГАЕТСЯ -- имя "шапки" для ответа HTTP -- name NAME #ПРЕДПОЛАГАЕТСЯ -- метаинформационное имя -- content CDATA #НЕОБХОДИМ -- ассоциированная информация -- scheme CDATA #ПРЕДПОЛАГАЕТСЯ -- выбор формы содержимого -- > STYLE - - %StyleSheet -- информация о стиле --> %i18n; -- lang, dir для использования с title -- type %ContentType; #НЕОБХОДИМ -- тип содержимого языка стилей -- media %MediaDesc; #ПРЕДПОЛАГАЕТСЯ -- разработан для использования с данным носителем -- title %Text; #ПРЕДПОЛАГАЕТСЯ -- информативное название -- > SCRIPT - - %Script; -- операторы сценария/скрипта --> charset %Charset; #ПРЕДПОЛАГАЕТСЯ -- набор символов связанного ресурса -- type %ContentType; #НЕОБХОДИМ -- тип содержимого языка скриптов -- src %URI; #ПРЕДПОЛАГАЕТСЯ -- URI внешнего скрипта -- defer (defer) #ПРЕДПОЛАГАЕТСЯ -- ПА может отсрочить выполнение скрипта -- event CDATA #ПРЕДПОЛАГАЕТСЯ -- зарезервирован для возможного использования в будущем -- for %URI; #ПРЕДПОЛАГАЕТСЯ -- зарезервирован для возможного использования в будущем -- > NOSCRIPT - - (%block;)+ -- контейнер альтернативного содержимого для представления без скриптов --> %attrs; -- %coreattrs, %i18n, %events -- > HTML O O (%html.content;) -- корневой элемент документа --> %i18n; -- lang, dir -- >



        Переходное Определение Типа Документа (ОТД)

        22. Переходное Определение Типа Документа (ОТД)

        HTML.Version "-//W3C//DTD HTML 4.01 Transitional//EN" -- типичное использование: ... ... URI, используемый как системный идентификатор с public-идентификатором, позволяет ПА загрузить ОТД и наборы объектов, как это необходимо. FPI для Strict HTML 4.01 DTD: "-//W3C//DTD HTML 4.01//EN" Эта версия strict DTD: http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd Авторы должны использовать Строгое ОТД, если только они не хотят представить ЭУ пользовательским агентам, которые не (адекватно) поддерживают таблицы стилей. Если Вы создаёте документ с использованием фрэймов, записывайте FPI: "-//W3C//DTD HTML 4.01 Frameset//EN". Эта версия ОТД набора фрэймов/frameset: http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd Используйте следующие (относительные) URI для ОТД и определения объектов этой спецификации: "strict.dtd" "loose.dtd" "frameset.dtd" "HTMLlat1.ent" "HTMLsymbol.ent" "HTMLspecial.ent" --> CDATA" -- тип носителя, как в [RFC2045] --> CDATA" -- список разделённых запятыми типов носителя, как в [RFC2045] --> CDATA" -- набор символов, как в [RFC2045] --> CDATA" -- список разделённых пробелами наборов символов, как в [RFC2045] --> NAME" -- код языка, как в [RFC1766] --> CDATA" -- одиночный символ из [ISO10646] --> CDATA" -- список разделённых пробелами типов ссылок --> CDATA" -- одиночный медиа-дескриптор, или список разделённых запятыми --> CDATA" -- Uniform Resource Identifier, см. [URI] --> CDATA" -- дата и время. ISO формат даты --> CDATA" -- выражение (скрипта) --> CDATA" -- данные таблицы стилей --> CDATA" -- целевой фрэйм --> CDATA"> SCRIPT|STYLE|META|LINK|OBJECT" -- повторяемые элементы "шапки" --> H1|H2|H3|H4|H5|H6"> UL | OL | DIR | MENU"> PRE"> CDATA" -- цвет sRGB: #RRGGBB это 16-ричное значение --> %Color; #ПРЕДПОЛАГАЕТСЯ -- цвет фона документа -- text %Color; #ПРЕДПОЛАГАЕТСЯ -- цвет текста -- link %Color; #ПРЕДПОЛАГАЕТСЯ -- цвет гиперссылки -- vlink %Color; #ПРЕДПОЛАГАЕТСЯ -- цвет помещённой гиперссылки -- alink %Color; #ПРЕДПОЛАГАЕТСЯ -- цвет выбранной гиперссылки -- "> %HTMLlat1; %HTMLsymbol; %HTMLspecial; id ID #ПРЕДПОЛАГАЕТСЯ -- уникальный идентификатор документа -- class CDATA #ПРЕДПОЛАГАЕТСЯ -- список разделённых пробелами классов -- style %StyleSheet; #IПРЕДПОЛАГАЕТСЯ -- ассоциированная информация стиля -- title %Text; #ПРЕДПОЛАГАЕТСЯ -- информативный заголовок --" > lang %LanguageCode; #ПРЕДПОЛАГАЕТСЯ -- код языка -- dir (ltr|rtl) #ПРЕДПОЛАГАЕТСЯ -- направление текста --" > onclick %Script; #ПРЕДПОЛАГАЕТСЯ -- щёлкнула кнопка указателя мыши -- ondblclick %Script; #ПРЕДПОЛАГАЕТСЯ -- дважды щёлкнула кнопка указателя мыши -- onmousedown %Script; #ПРЕДПОЛАГАЕТСЯ -- кнопка указателя мыши была нажата -- onmouseup %Script; #ПРЕДПОЛАГАЕТСЯ -- кнопка указателя мыши была отпущена -- onmouseover %Script; #ПРЕДПОЛАГАЕТСЯ -- указатель мыши был проведён над -- onmousemove %Script; #ПРЕДПОЛАГАЕТСЯ -- указатель мыши был проведён внутри -- onmouseout %Script; #ПРЕДПОЛАГАЕТСЯ -- указатель мыши был убран (с элемента) -- onkeypress %Script; #ПРЕДПОЛАГАЕТСЯ -- клавиша была нажата и отпущена -- onkeydown %Script; #ПРЕДПОЛАГАЕТСЯ -- клавиша была нажата -- onkeyup %Script; #ПРЕДПОЛАГАЕТСЯ -- клавиша была отпущена --" > %HTML.Reserved; [ %URI; #ПРЕДПОЛАГАЕТСЯ -- одиночный или табличный Data Source -- datafld CDATA #ПРЕДПОЛАГАЕТСЯ -- свойство или имя столбца -- dataformatas (plaintext|html) plaintext -- text или html --" > ]]> %coreattrs; %i18n; %events;"> align "align (left|center|right|justify) #IMPLIED" -- по умолчанию: left для ltr параграфов, right для rtl -- > TT | I | B | U | S | STRIKE | BIG | SMALL"> EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE | ABBR | ACRONYM" > formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON"> %fontstyle; | %phrase; | %special; | %formctrl;"> %fontstyle;|%phrase;) - - (%inline;)*> %fontstyle;|%phrase;) %attrs; -- %coreattrs, %i18n, %events -- > SUB|SUP) - - (%inline;)* -- подиндекс|надиндекс --> %attrs; -- %coreattrs, %i18n, %events -- > SPAN - - (%inline;)* -- общий язык/контейнер стиля --> %attrs; -- %coreattrs, %i18n, %events -- %reserved; -- зарезервирован для возможного использования в будущем -- > BDO - - (%inline;)* -- I18N BiDi over-ride --> %coreattrs; -- id, class, style, title -- lang %LanguageCode; #ПРЕДПОЛАГАЕТСЯ -- код языка -- dir (ltr|rtl) #REQUIRED -- направление текста -- > BASEFONT - O EMPTY -- базовый размер шрифта --> id ID #ПРЕДПОЛАГАЕТСЯ -- уникальный идентификатор документа -- size CDATA #НЕОБХОДИМ -- базовый размер шрифта для элемента FONT -- color %Color; #ПРЕДПОЛАГАЕТСЯ -- цвет текста -- face CDATA #ПРЕДПОЛАГАЕТСЯ -- список разделённых запятыми названий шрифтов -- > FONT - - (%inline;)* -- локальное изменение шрифта --> %coreattrs; -- id, class, style, title -- %i18n; -- lang, dir -- size CDATA #ПРЕДПОЛАГАЕТСЯ -- [+|-]nn, например, size="+1", size="4" -- color %Color; #ПРЕДПОЛАГАЕТСЯ -- цвет текста -- face CDATA #ПРЕДПОЛАГАЕТСЯ -- список разделённых запятыми названий шрифтов -- > BR - O EMPTY -- принудительный обрыв строки --> %coreattrs; -- id, class, style, title -- clear (left|all|right|none) none -- управление обтеканием текста -- > %heading; | %list; | %preformatted; | DL | DIV | CENTER | NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR | TABLE | FIELDSET | ADDRESS"> %block; | %inline;"> BODY O O (%flow;)* +(INS|DEL) -- тело документа --> %attrs; -- %coreattrs, %i18n, %events -- onload %Script; #ПРЕДПОЛАГАЕТСЯ -- документ был загружен -- onunload %Script; #ПРЕДПОЛАГАЕТСЯ -- документ был удалён -- background %URI; #ПРЕДПОЛАГАЕТСЯ -- текстуры для фона документа -- %bodycolors; -- bgcolor, text, link, vlink, alink -- > ADDRESS - - ((%inline;)|P)* -- информация об авторе --> %attrs; -- %coreattrs, %i18n, %events -- > DIV - - (%flow;)* -- родовой язык/контейнер --> %attrs; -- %coreattrs, %i18n, %events -- %align; -- align, выравнивание текста -- %reserved; -- зарезервирован для возможного использования в будущем -- > CENTER - - (%flow;)* -- сокращение для DIV align=center --> %attrs; -- %coreattrs, %i18n, %events -- > CDATA" -- список разделённых запятыми размеров --> A - - (%inline;)* -(A) -- якорь --> %attrs; -- %coreattrs, %i18n, %events -- charset %Charset; #ПРЕДПОЛАГАЕТСЯ -- набор символов связанного ресурса -- type %ContentType; #ПРЕДПОЛАГАЕТСЯ -- информативный тип содержимого -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- именованный конец гиперссылки -- href %URI; #ПРЕДПОЛАГАЕТСЯ -- URI связанного ресурса -- hreflang %LanguageCode; #ПРЕДПОЛАГАЕТСЯ -- код языка -- target %FrameTarget; #ПРЕДПОЛАГАЕТСЯ -- целевой фрэйм -- rel %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- типы ссылок вперёд -- rev %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- типы ссылок назад -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- shape %Shape; rect -- для использования с клиентскими картами -- coords %Coords; #ПРЕДПОЛАГАЕТСЯ -- для использования с клиентскими картами -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- > MAP - - ((%block;) | AREA)+ -- клиентская карта изображений --> %attrs; -- %coreattrs, %i18n, %events -- name CDATA #НЕОБХОДИМ -- для ссылок usemap -- > AREA - O EMPTY -- область клиентской карты --> %attrs; -- %coreattrs, %i18n, %events -- shape %Shape; rect -- управление интерпретацией координат -- coords %Coords; #ПРЕДПОЛАГАЕТСЯ -- список разделённых запятыми размеров -- href %URI; #ПРЕДПОЛАГАЕТСЯ -- URI связанного ресурса -- target %FrameTarget; #ПРЕДПОЛАГАЕТСЯ -- целевой фрэйм -- nohref (nohref) #ПРЕДПОЛАГАЕТСЯ -- этот регион не имеет action -- alt %Text; #НЕОБХОДИМ -- краткое описание -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- > LINK - O EMPTY -- a media-независимая ссылка --> %attrs; -- %coreattrs, %i18n, %events -- charset %Charset; #ПРЕДПОЛАГАЕТСЯ -- набор символов связанного ресурса -- href %URI; #ПРЕДПОЛАГАЕТСЯ -- URI связанного ресурса -- hreflang %LanguageCode; #ПРЕДПОЛАГАЕТСЯ -- код языка -- type %ContentType; #ПРЕДПОЛАГАЕТСЯ -- информативный тип содержимого -- rel %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- тип ссылок вперёд -- rev %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- тип ссылок назад -- media %MediaDesc; #ПРЕДПОЛАГАЕТСЯ -- для представления данным устройством -- target %FrameTarget; #ПРЕДПОЛАГАЕТСЯ -- целевой фрэйм -- > CDATA" -- размер nn в пикселах или nn% в процентах --> CDATA" -- пикселы, проценты или относительный --> %HTML.Frameset; [ CDATA" -- список разделённых запятыми MultiLength --> ]]> CDATA" -- целое число, представляющее размер в пикселах --> IAlign "(top|middle|bottom|left|right)" -- выравнивание --> IMG - O EMPTY -- внедрённое изображение --> %attrs; -- %coreattrs, %i18n, %events -- src %URI; #НЕОБХОДИМ -- URI изображения для внедрения -- alt %Text; #НЕОБХОДИМ -- краткое описание -- longdesc %URI; #ПРЕДПОЛАГАЕТСЯ -- ссылка на полное описание (дополняет alt) -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя изображения (для сценариев) -- height %Length; #ПРЕДПОЛАГАЕТСЯ -- переопределить высоту -- width %Length; #ПРЕДПОЛАГАЕТСЯ -- переопределить ширину -- usemap %URI; #ПРЕДПОЛАГАЕТСЯ -- использовать клиентские карты -- ismap (ismap) #ПРЕДПОЛАГАЕТСЯ -- использовать серверные карты -- align %IAlign; #ПРЕДПОЛАГАЕТСЯ -- вертикальное или горизонтальное выравнивание -- border %Pixels; #ПРЕДПОЛАГАЕТСЯ -- толщина бордюра ссылки -- hspace %Pixels; #ПРЕДПОЛАГАЕТСЯ -- горизонтальный выступ -- vspace %Pixels; #ПРЕДПОЛАГАЕТСЯ -- вертикальный выступ -- > OBJECT - - (PARAM | %flow;)* -- общий внедрённый объект --> %attrs; -- %coreattrs, %i18n, %events -- declare (declare) #ПРЕДПОЛАГАЕТСЯ -- объявляет, но не устанавливает флаг -- classid %URI; #ПРЕДПОЛАГАЕТСЯ -- идентифицирует класс -- codebase %URI; #ПРЕДПОЛАГАЕТСЯ -- базовый URI для classid, data, archive-- data %URI; #ПРЕДПОЛАГАЕТСЯ -- ссылка на данные объекта -- type %ContentType; #ПРЕДПОЛАГАЕТСЯ -- тип содержимого данных -- codetype %ContentType; #ПРЕДПОЛАГАЕТСЯ -- тип содержимого кода -- archive CDATA #ПРЕДПОЛАГАЕТСЯ -- список разделённых пробелами URI -- standby %Text; #ПРЕДПОЛАГАЕТСЯ -- сообщение для показа при загрузке -- height %Length; #ПРЕДПОЛАГАЕТСЯ -- переопределить высоту -- width %Length; #ПРЕДПОЛАГАЕТСЯ -- переопределить ширину -- usemap %URI; #ПРЕДПОЛАГАЕТСЯ -- использовать клиентские карты -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- отправить как часть формы -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- align %IAlign; #ПРЕДПОЛАГАЕТСЯ -- вертикальное или горизонтальное выравнивание -- border %Pixels; #ПРЕДПОЛАГАЕТСЯ -- толщина бордюра ссылки -- hspace %Pixels; #ПРЕДПОЛАГАЕТСЯ -- горизонтальный выступ -- vspace %Pixels; #ПРЕДПОЛАГАЕТСЯ -- вертикальный выступ -- %reserved; -- зарезервирован для возможного использования в будущем -- > PARAM - O EMPTY -- именованное значение свойства --> id ID #ПРЕДПОЛАГАЕТСЯ -- уникальный идентификатор документа -- name CDATA #НЕОБХОДИМ -- имя свойства -- value CDATA #ПРЕДПОЛАГАЕТСЯ -- значение свойства -- valuetype (DATA|REF|OBJECT) DATA -- как интерпретировать значение -- type %ContentType; #ПРЕДПОЛАГАЕТСЯ -- тип содержимого для значения, если valuetype=ref -- > APPLET - - (PARAM | %flow;)* -- аплет Java --> %coreattrs; -- id, class, style, title -- codebase %URI; #ПРЕДПОЛАГАЕТСЯ -- необязательный базовый URI аплета -- archive CDATA #ПРЕДПОЛАГАЕТСЯ -- список разделённых запятыми archive -- code CDATA #ПРЕДПОЛАГАЕТСЯ -- файл класса аплета -- object CDATA #ПРЕДПОЛАГАЕТСЯ -- сериализованный файл аплета -- alt %Text; #ПРЕДПОЛАГАЕТСЯ -- краткое описание -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- позволяет аплетам обращаться друг к другу -- width %Length; #НЕОБХОДИМ -- начальная ширина -- height %Length; #НЕОБХОДИМ -- начальная высота -- align %IAlign; #ПРЕДПОЛАГАЕТСЯ -- вертикальное или горизонтальное выравнивание -- hspace %Pixels; #ПРЕДПОЛАГАЕТСЯ -- горизонтальный выступ -- vspace %Pixels; #ПРЕДПОЛАГАЕТСЯ -- вертикальный выступ -- > HR - O EMPTY -- горизонтальная линия --> %attrs; -- %coreattrs, %i18n, %events -- align (left|center|right) #ПРЕДПОЛАГАЕТСЯ () #ПРЕДПОЛАГАЕТСЯ size %Pixels; #ПРЕДПОЛАГАЕТСЯ width %Length; #ПРЕДПОЛАГАЕТСЯ > P - O (%inline;)* -- параграф --> %attrs; -- %coreattrs, %i18n, %events -- %align; -- align, выравнивание текста -- > %heading;) - - (%inline;)* -- заголовок --> %heading;) %attrs; -- %coreattrs, %i18n, %events -- %align; -- align, выравнивание текста -- > pre.exclusion "IMG|OBJECT|APPLET|BIG|SMALL|SUB|SUP|FONT|BASEFONT"> PRE - - (%inline;)* -(%pre.exclusion;) -- форматированный текст --> %attrs; -- %coreattrs, %i18n, %events -- width NUMBER #ПРЕДПОЛАГАЕТСЯ > Q - - (%inline;)* -- краткое инлайн закавычивание --> %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #ПРЕДПОЛАГАЕТСЯ -- URI документа-источника или сообщения -- > BLOCKQUOTE - - (%flow;)* -- полное закавычивание --> %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #ПРЕДПОЛАГАЕТСЯ -- URI документа-источника или сообщения -- > INS|DEL) - - (%flow;)* -- вставленный|удалённый текст --> %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #ПРЕДПОЛАГАЕТСЯ -- цитирование -- datetime %Datetime; #IПРЕДПОЛАГАЕТСЯ -- дата и время -- > DL - - (DT|DD)+ -- список definition --> %attrs; -- %coreattrs, %i18n, %events -- compact (compact) #ПРЕДПОЛАГАЕТСЯ -- уменьшенные пропуски между элементами -- > DT - O (%inline;)* -- термин --> DD - O (%flow;)* -- его определение --> %attrs; -- %coreattrs, %i18n, %events -- > CDATA" -- ограничено до: "(1|a|A|i|I)" --> OL - - (LI)+ -- упорядоченный список --> %attrs; -- %coreattrs, %i18n, %events -- type %OLStyle; #ПРЕДПОЛАГАЕТСЯ -- стиль нумерации -- compact (compact) #ПРЕДПОЛАГАЕТСЯ -- уменьшенные пропуски между элементами -- start NUMBER #ПРЕДПОЛАГАЕТСЯ -- начальный номер нумерации -- > UL - - (LI)+ -- неупорядоченный список --> %attrs; -- %coreattrs, %i18n, %events -- type %ULStyle; #ПРЕДПОЛАГАЕТСЯ -- стиль маркировки -- compact (compact) #ПРЕДПОЛАГАЕТСЯ -- уменьшенные пропуски между элементами -- > DIR|MENU) - - (LI)+ -(%block;) -- список directory, список menu --> %attrs; -- %coreattrs, %i18n, %events -- compact (compact) #ПРЕДПОЛАГАЕТСЯ -- уменьшенные пропуски между элементами -- > %attrs; -- %coreattrs, %i18n, %events -- compact (compact) #ПРЕДПОЛАГАЕТСЯ -- уменьшенные пропуски между элементами -- > CDATA" -- ограничено до: "(%ULStyle;|%OLStyle;)" --> LI - O (%flow;)* -- элемент списка --> %attrs; -- %coreattrs, %i18n, %events -- type %LIStyle; #ПРЕДПОЛАГАЕТСЯ -- стиль элемента списка -- value NUMBER #ПРЕДПОЛАГАЕТСЯ -- устанавливает нумерацию -- > FORM - - (%flow;)* -(FORM) -- интерактивная форма --> %attrs; -- %coreattrs, %i18n, %events -- action %URI; #НЕОБХОДИМ -- обработчик формы (на сервере) -- method (GET|POST) GET -- метод HTTP, используемый для отправки формы -- enctype %ContentType; "application/x-www-form-urlencoded" accept %ContentTypes; #ПРЕДПОЛАГАЕТСЯ -- список типов MIME для подгрузки файлов -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя формы (для сценариев) -- onsubmit %Script; #ПРЕДПОЛАГАЕТСЯ -- форма была отправлена -- onreset %Script; #ПРЕДПОЛАГАЕТСЯ -- форма была очищена -- target %FrameTarget; #ПРЕДПОЛАГАЕТСЯ -- целевой фрэйм -- accept-charset %Charsets; #ПРЕДПОЛАГАЕТСЯ -- список поддерживаемых наборов символов -- > LABEL - - (%inline;)* -(LABEL) -- текст лэйбла поля формы --> %attrs; -- %coreattrs, %i18n, %events -- for IDREF #ПРЕДПОЛАГАЕТСЯ -- в паре к значению ID -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- > INPUT - O EMPTY -- элемент управления (ЭУ) формы --> %attrs; -- %coreattrs, %i18n, %events -- type %InputType; TEXT -- тип элемента -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- отправить как часть формы -- value CDATA #ПРЕДПОЛАГАЕТСЯ -- для radio-кнопок и переключателей -- checked (checked) #ПРЕДПОЛАГАЕТСЯ -- для radio-кнопок и переключателей -- disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- readonly (readonly) #ПРЕДПОЛАГАЕТСЯ -- для text и passwd -- size CDATA #ПРЕДПОЛАГАЕТСЯ -- свой для каждого поля -- maxlength NUMBER #ПРЕДПОЛАГАЕТСЯ -- максим. количество символов (для текстовых полей) -- src %URI; #ПРЕДПОЛАГАЕТСЯ -- для полей с изображением -- alt CDATA #ПРЕДПОЛАГАЕТСЯ -- краткое описание -- usemap %URI; #ПРЕДПОЛАГАЕТСЯ -- использовать клиентские карты -- ismap (ismap) #ПРЕДПОЛАГАЕТСЯ -- использовать серверные карты -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- onselect %Script; #ПРЕДПОЛАГАЕТСЯ -- некоторый текст был выделен -- onchange %Script; #ПРЕДПОЛАГАЕТСЯ -- значение элемента было изменено -- accept %ContentTypes; #ПРЕДПОЛАГАЕТСЯ -- список типов MIME для подгрузки файлов -- align %IAlign; #ПРЕДПОЛАГАЕТСЯ -- вертикальное или горизонтальное выравнивание -- %reserved; -- зарезервирован для возможного использования в будущем -- > SELECT - - (OPTGROUP|OPTION)+ -- селектор опций --> %attrs; -- %coreattrs, %i18n, %events -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя поля -- size NUMBER #ПРЕДПОЛАГАЕТСЯ -- количество видимых рядов -- multiple (multiple) #ПРЕДПОЛАГАЕТСЯ -- по умолчанию выбран один -- disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- onchange %Script; #ПРЕДПОЛАГАЕТСЯ -- значение элемента было изменено -- %reserved; -- зарезервирован для возможного использования в будущем -- > OPTGROUP - - (OPTION)+ -- группа опций --> %attrs; -- %coreattrs, %i18n, %events -- disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- label %Text; #НЕОБХОДИМ -- для использования в иерархических меню -- > OPTION - O (#PCDATA) -- выбор переключением --> %attrs; -- %coreattrs, %i18n, %events -- selected (selected) #ПРЕДПОЛАГАЕТСЯ disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- label %Text; #ПРЕДПОЛАГАЕТСЯ -- для использования в иерархических меню -- value CDATA #ПРЕДПОЛАГАЕТСЯ -- значение по умолчанию для содержимого элемента -- > TEXTAREA - - (#PCDATA) -- многострочное текстовое поле --> %attrs; -- %coreattrs, %i18n, %events -- name CDATA #ПРЕДПОЛАГАЕТСЯ rows NUMBER #НЕОБХОДИМ cols NUMBER #НЕОБХОДИМ disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- readonly (readonly) #ПРЕДПОЛАГАЕТСЯ tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- onselect %Script; #ПРЕДПОЛАГАЕТСЯ -- некоторый текст был выделен -- onchange %Script; #ПРЕДПОЛАГАЕТСЯ -- значение элемента было изменено -- %reserved; -- зарезервирован для возможного использования в будущем -- > FIELDSET - - (#PCDATA, LEGEND,(%flow;)*) -- группа ЭУ формы --> %attrs; -- %coreattrs, %i18n, %events -- > LEGEND - - (%inline;)* -- "легенда" набора полей --> %attrs; -- %coreattrs, %i18n, %events -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- align %LAlign; #ПРЕДПОЛАГАЕТСЯ -- выравнивание относительно набора полей -- > BUTTON - - (%flow;)* -(A|%formctrl;|FORM|ISINDEX|FIELDSET|IFRAME) -- кнопка push --> %attrs; -- %coreattrs, %i18n, %events -- name CDATA #ПРЕДПОЛАГАЕТСЯ value CDATA #ПРЕДПОЛАГАЕТСЯ -- переслать на сервер при отправке (формы) -- type (button|submit|reset) submit -- для использования в качестве кнопки формы -- disabled (disabled) #ПРЕДПОЛАГАЕТСЯ -- недоступен в данном контексте -- tabindex NUMBER #ПРЕДПОЛАГАЕТСЯ -- позиция в порядке табуляции -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- onfocus %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент получил фокус -- onblur %Script; #ПРЕДПОЛАГАЕТСЯ -- элемент потерял фокус -- %reserved; -- зарезервирован для возможного использования в будущем -- > TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> TRules "(none | groups | rows | cols | all)"> align (left|center|right|justify|char) #IMPLIED char %Character; #ПРЕДПОЛАГАЕТСЯ -- символ выравнивания, напр., char=':' -- charoff %Length; #ПРЕДПОЛАГАЕТСЯ -- офсет символа выравнивания --" > valign (top|middle|bottom|baseline) #IMPLIED" > TABLE - - (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)> CAPTION - - (%inline;)* -- заголовок таблицы --> THEAD - O (TR)+ -- "шапка" таблицы --> TFOOT - O (TR)+ -- футер --> TBODY O O (TR)+ -- тело таблицы --> COLGROUP - O (COL)* -- группа столбцов --> COL - O EMPTY -- столбец --> TR - O (TH|TD)+ -- ряд --> TH|TD) - O (%flow;)* -- заголовочная|данных ячейка --> %attrs; -- %coreattrs, %i18n, %events -- summary %Text; #ПРЕДПОЛАГАЕТСЯ -- назначение/структура для речевого вывода-- width %Length; #ПРЕДПОЛАГАЕТСЯ -- ширина таблицы -- border %Pixels; #ПРЕДПОЛАГАЕТСЯ -- толщина рамки фрэйма вокруг таблицы -- frame %TFrame; #ПРЕДПОЛАГАЕТСЯ -- какие части фрэйма отображать -- rules %TRules; #ПРЕДПОЛАГАЕТСЯ -- линии между рядами и столбцами -- cellspacing %Length; #ПРЕДПОЛАГАЕТСЯ -- пространство между ячейками -- cellpadding %Length; #ПРЕДПОЛАГАЕТСЯ -- пространство между рамками ячеек и их содержимым -- align %TAlign; #ПРЕДПОЛАГАЕТСЯ -- позиция таблицы относительно окна -- bgcolor %Color; #ПРЕДПОЛАГАЕТСЯ -- цвет фона ячеек -- %reserved; -- зарезервирован для возможного использования в будущем -- datapagesize CDATA #ПРЕДПОЛАГАЕТСЯ -- зарезервирован для возможного использования в будущем -- > %attrs; -- %coreattrs, %i18n, %events -- align %CAlign; #ПРЕДПОЛАГАЕТСЯ -- относительно таблицы -- > %attrs; -- %coreattrs, %i18n, %events -- span NUMBER 1 -- количество, по умолчанию, столбцов в группе -- width %MultiLength; #ПРЕДПОЛАГАЕТСЯ -- ширина по умолчанию для каждого столбца группы -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- > %attrs; -- %coreattrs, %i18n, %events -- span NUMBER 1 -- атрибуты элемента COL воздействуют на N столбцов -- width %MultiLength; #ПРЕДПОЛАГАЕТСЯ -- спецификация ширины столбца -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- > %attrs; -- %coreattrs, %i18n, %events -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- > %attrs; -- %coreattrs, %i18n, %events -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- bgcolor %Color; #ПРЕДПОЛАГАЕТСЯ -- цвет фона для ряда -- > %attrs; -- %coreattrs, %i18n, %events -- abbr %Text; #ПРЕДПОЛАГАЕТСЯ -- сокращение для заголовочной ячейки -- axis CDATA #ПРЕДПОЛАГАЕТСЯ -- список разделённых запятыми относительных заголовков-- headers IDREFS #ПРЕДПОЛАГАЕТСЯ -- список id-ов заголовочных ячеек -- scope %Scope; #ПРЕДПОЛАГАЕТСЯ -- область видимости, покрываемая заголовочными ячейками -- rowspan NUMBER 1 -- количество рядов, занимаемых ячейкой -- colspan NUMBER 1 -- количество столбцов, занимаемых ячейкой -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- nowrap (nowrap) #ПРЕДПОЛАГАЕТСЯ -- отменяет перенос слов -- bgcolor %Color; #ПРЕДПОЛАГАЕТСЯ -- цвет фона ячейки -- width %Length; #ПРЕДПОЛАГАЕТСЯ -- ширина ячейки -- height %Length; #ПРЕДПОЛАГАЕТСЯ -- высота ячейки -- > %HTML.Frameset; [ FRAMESET - - ((FRAMESET|FRAME)+ & NOFRAMES?) -- разделение окна --> %coreattrs; -- id, class, style, title -- rows %MultiLengths; #ПРЕДПОЛАГАЕТСЯ -- список размеров, по умолчанию: 100% (1 ряд) -- cols %MultiLengths; #ПРЕДПОЛАГАЕТСЯ -- список размеров, по умолчанию: 100% (1 столбец) -- onload %Script; #ПРЕДПОЛАГАЕТСЯ -- все фрэймы загружены -- onunload %Script; #ПРЕДПОЛАГАЕТСЯ -- все фрэймы удалены -- > ]]> %HTML.Frameset; [ FRAME - O EMPTY -- фрэйм --> %coreattrs; -- id, class, style, title -- longdesc %URI; #ПРЕДПОЛАГАЕТСЯ -- ссылка на полное описание (дополняет title) -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя фрэйма для назначения в качестве целевого -- src %URI; #ПРЕДПОЛАГАЕТСЯ -- источник содержимого фрэйма -- frameborder (1|0) 1 -- бордюры фрэйма -- marginwidth %Pixels; #ПРЕДПОЛАГАЕТСЯ -- ширина полей в пикселах -- marginheight %Pixels; #ПРЕДПОЛАГАЕТСЯ -- высота полей в пикселах -- noresize (noresize) #ПРЕДПОЛАГАЕТСЯ -- запрещает изменение размеров фрэйма -- scrolling (yes|no|auto) auto -- полоса прокрутки -- > ]]> IFRAME - - (%flow;)* -- инлайн-фрэйм --> %coreattrs; -- id, class, style, title -- longdesc %URI; #ПРЕДПОЛАГАЕТСЯ -- ссылка на полное описание (дополняет title) -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя фрэйма для назначения в качестве целевого -- src %URI; #ПРЕДПОЛАГАЕТСЯ -- источник содержимого фрэйма -- frameborder (1|0) 1 -- бордюры фрэйма -- marginwidth %Pixels; #ПРЕДПОЛАГАЕТСЯ -- ширина полей в пикселах -- marginheight %Pixels; #ПРЕДПОЛАГАЕТСЯ -- высота полей в пикселах -- scrolling (yes|no|auto) auto -- полоса прокрутки -- align %IAlign; #ПРЕДПОЛАГАЕТСЯ -- вертикальное или горизонтальное выравнивание -- height %Length; #ПРЕДПОЛАГАЕТСЯ -- высота фрэйма -- width %Length; #ПРЕДПОЛАГАЕТСЯ -- ширина фрэйма -- > %HTML.Frameset; [ noframes.content "(BODY) -(NOFRAMES)"> ]]> %flow;)*"> NOFRAMES - - %noframes.content; -- контейнер альтернативного содержимого для просмотра без фрэймов --> %attrs; -- %coreattrs, %i18n, %events -- > head.content "TITLE & ISINDEX? & BASE?"> HEAD O O (%head.content;) +(%head.misc;) -- "шапка" документа --> %i18n; -- lang, dir -- profile %URI; #ПРЕДПОЛАГАЕТСЯ -- именованный словарь метаинформации -- > TITLE - - (#PCDATA) -(%head.misc;) -- название документа --> %i18n> ISINDEX - O EMPTY -- однострочный промпт --> %coreattrs; -- id, class, style, title -- %i18n; -- lang, dir -- prompt %Text; #ПРЕДПОЛАГАЕТСЯ -- промпт-сообщение --> BASE - O EMPTY -- базовый URI документа --> href %URI; #ПРЕДПОЛАГАЕТСЯ -- URI, действующий как базовый URI -- target %FrameTarget; #ПРЕДПОЛАГАЕТСЯ -- отображать в этом фрэйме -- > META - O EMPTY -- общая метаинформация --> %i18n; -- lang, dir, для использования с содержимым -- http-equiv NAME #ПРЕДПОЛАГАЕТСЯ -- имя заголовка ответа HTTP -- name NAME #ПРЕДПОЛАГАЕТСЯ -- метаинформационное имя -- content CDATA #НЕОБХОДИМ -- ассоциированная информация -- scheme CDATA #ПРЕДПОЛАГАЕТСЯ -- выбор формы содержимого -- > STYLE - - %StyleSheet -- информация о стиле --> %i18n; -- lang, dir, для использования с title -- type %ContentType; #НЕОБХОДИМ -- тип содержимого языка стилей -- media %MediaDesc; #ПРЕДПОЛАГАЕТСЯ -- разработан для использования с этим устройством -- title %Text; #ПРЕДПОЛАГАЕТСЯ -- информативное название -- > SCRIPT - - %Script; -- операторы скрипта --> charset %Charset; #ПРЕДПОЛАГАЕТСЯ -- набор символов связанного ресурса -- type %ContentType; #НЕОБХОДИМ -- тип содержимого языка скриптов -- language CDATA #ПРЕДПОЛАГАЕТСЯ -- предопределённое название языка скриптов -- src %URI; #ПРЕДПОЛАГАЕТСЯ -- URI внешнего скрипта -- defer (defer) #ПРЕДПОЛАГАЕТСЯ -- пользовательский агент (ПА) может отложить выполнение скрипта -- event CDATA #ПРЕДПОЛАГАЕТСЯ -- зарезервирован для возможного использования в будущем -- for %URI; #ПРЕДПОЛАГАЕТСЯ -- зарезервирован для возможного использования в будущем -- > NOSCRIPT - - (%flow;)* -- контейнер альтернативного содержимого для представления без скриптов --> %attrs; -- %coreattrs, %i18n, %events -- > CDATA #ФИКСИРОВАННЫЙ '%HTML.Version;'"> %HTML.Frameset; [ ]]> HTML O O (%html.content;) -- корневой элемент документа --> %i18n; -- lang, dir -- %version; >



        ОТД Набора Фрэймов

        23. ОТД Набора Фрэймов

        ... ... --> %HTML4.dtd;



        Введение


        24.1 Введение

        Символ-мнемоника это конструкция SGML, которая ссылается на символ из набора символов документа.Эта версия HTML поддерживает разные наборы мнемоник:
      678. ISO 8859-1 (Latin-1) символы. В соответствии с разделом 14 [RFC1866], набор мнемоник Latin-1 расширен этой спецификацией для покрытия всей правой части ISO-8859-1 (всех кодовых позиций с набором битов high-order), включая уже известные  , © и ®. Названия мнемоник взяты из приложений SGML (определённых в [ISO8879]).
      679. Символы, математические символы и греческие буквы. Эти символы могут быть представлены глифами в шрифте Adobe "Symbol".
      680. Мнемоники для символов разметки и интернационализации (напр., для двунаправленного текста).
      681. В последующих разделах представлен полный список мнемоник. Хотя по соглашению [ISO10646] комментарии, следующие за каждым элементом, пишутся обычно в верхнем регистре, мы конвертировали их в этой спецификации в нижний регистр для удобства чтения.

        Список символов

        24.2.1 Список символов





        мнемоники из этого раздела производят


        24.2 Ссылки-мнемоники для символов ISO 8859-1

        Ссылки- мнемоники из этого раздела производят символы, чьи цифровые эквиваленты должны поддерживаться пользовательскими агентами (ПА), соответствующими HTML 2.0. Таким образом, мнемоника ÷ более удобна, чем ÷, для получения знака деления (÷).

        Для того, чтобы поддерживать такие мнемоники, ПА должны распознавать названия мнемоник и конвертировать их в символы репертуара [ISO88591].

        Символ 65533 (FFFD 16-ричная) это последний действительный символ UCS-2. 65534 (FFFE 16-ричная) это беззнаковая и полученная обращением байтов версия ZERO WIDTH NON-BREAKING SPACE для целей определения порядка байтов. 65535 (FFFF 16-ричная) является беззнаковым числом.

        Список символов

        24.3.1 Список символов

        В ISO 10646 не говорится, что это то же, что и стрелка 'подразумевает', но также нет другого символа для этой функции. Так что ? lArr может использоваться для 'подразумевает', как предлагает ISOtech -->



        Ссылки-мнемоники для символов, математических символов, и греческих букв


        24.3 Ссылки-мнемоники для символов, математических символов, и греческих букв

        Символьные ссылки-мнемоники этого раздела выводят символы, которые могут быть представлены глифами в широко распространённом шрифте Adobe Symbol, включая греческие буквы, различные скобки, некоторые математические операторы, такие как градиент, произведение и сумма.
        Чтобы поддерживать эти мнемоники, ПА должны поддерживать полный [ISO10646] или использовать другие средства. Изображение глифов для этих символов может быть достигнуто возможностью изображения соответствующих [ISO10646] символов или другими способами, такими как составление внутренней карты мнемоник, цифровые мнемоники и символы на подходящей позиции в каком-либо шрифте, содержащем требуемые глифы.
        При использовании греческих букв. Этот набор мнемоник содержит все буквы современного греческого. Однако он не включает греческую пунктуацию, акцентированные символы и акценты (tonos, dialytika), необходимые для их составления.
        Отсутствуют архаические буквы, коптские буквы и буквы Polytonic Греческого. Мнемоники, определённые здесь, непригодны для представления современных греческих текстов; они предназначены для эпизодического введения греческих символов, используемых в технических предметах и математике.

        Список символов

        24.4.1 Список символов





        Ссылки-мнемоники для символов разметки и интернационализации


        24.4 Ссылки-мнемоники для символов разметки и интернационализации

        Мнемоники этого раздела предназначены для escaping-символов разметки (они те же, что и в HTML 2.0 и 3.2) при обозначении пробелов и тире. Остальные символы этого раздела относятся к вопросам интернационализации, таким как недвусмысленность двунаправленного текста (см. раздел двунаправленный текст).
        Мнемоники добавлены также для остальных символов CP-1252, не вошедших в наборы мнемоник HTMLlat1 или HTMLsymbol. Эти мнемоники находятся в диапазоне от 128 до 159 набора CP-1252. Данные мнемоники позволяют отображать символы в платформно-независимой манере.
        Чтобы поддерживать эти мнемоники, ПА должны поддерживать полный набор [ISO10646] или использовать другие подходы. Изображение глифов этих символов может быть получено при наличии возможности отображения соответствующих символов [ISO10646] или другими средствами, таким как создание внутренних карт мнемоник, цифровые символьные ссылки и символы на подходящей позиции в каком-либо шрифте, содержащем требуемые глифы.

        мнемоники для символов, математических символов

        24. Ссылки-мнемоники на символы в HTML 4

        Содержание

      682. Введение
      683. Ссылки-мнемоники для символов ISO 8859-1
      684. Список символов
      685. Ссылки- мнемоники для символов, математических символов и греческих букв
      686. Список символов
      687. Ссылки-мнемоники для символов разметки и интернационализации
      688. Список символов


      689. Введение в SGML


        3.1 Введение в SGML

        SGML - это система определения языков разметки. Авторы размечают свои документы, вводя структурную, представительную и семантическую информацию параллельно с основным содержимым.
        HTML - это один из языков разметки. Вот пример документа HTML:
        My first HTML document Hello world! Документ HTML состоит из раздела-шапки (здесь - между и ) и тела (здесь - между и ). Название документа содержится в шапке (наряду с другой информацией о документе), а содержимое документа находится в его теле/ body. Тело в этом примере состоит из одного параграфа, помеченного .
        Каждый язык разметки, определённый в SGML, называется SGML приложением. Приложение SGML обычно характеризуется:
      690. Объявлением SGML. Объявление SGML определяет, какие символы и ограничители могут появляться в приложении.
      691. Определением типа документов (ОТД). ОТД определяет синтаксис конструкций разметки. ОТД может включать дополнительные определения, такие как символьные ссылки-мнемоники.
      692. Спецификация, описывающая семантику, относится к разметке. Эта спецификация также даёт ограничения синтаксиса, которые не могут быть выражены внутри ОТД.
      693. Объектами документа, содержащими данные (содержимое) и разметку. Каждый объект содержит ссылку на ОТД, чтобы иметь возможность быть интерпретированным.
      694. Эта спецификация включает объявление SGML, три определения типа документов (см. раздел информация о версии HTML) список ссылок-мнемоник.

        Элементы

        3.2.1 Элементы

        Определение типа документа в SGML определяет типы элементов, представляющих структуру или необходимое поведение. HTML содержит типы элементов, представляющих параграфы, гипертекстовые ссылки, списки, таблицы, изображения и т.д.
        Каждое объявление типа элемента обычно описывает три части: начальный тег, содержимое и конечный тег.
        Название элемента появляется в начальном теге (<название-элемента>) и в конечном теге (); обратите внимание на слэш "/" перед названием элемента в конечном теге. Например, стартовый и конечный теги типа элемента UL обозначают границы списка:
      695. ...элемент списка 1...
      696. ...элемент списка 2... Некоторые элементы HTML допускают отсутствие конечного тега (напр., типы элементов P и LI).
        Немногие элементы допускают также отсутствие и начальных тегов, например, HEAD и BODY. ОТД HTML указывает для каждого типа элементов, требуются ли начальный и конечный теги.
        Некоторые типы элементов HTML не имеют содержимого. Например, обрыв строки BR не имеет содержимого, его единственная задача - обозначить конец строки текста. Такие пустые элементы никогда не имеют конечного тега. В определении типа документа и в тексте этой спецификации указывается, является ли элемент пустым (не имеет содержимого) или, если он может иметь содержимое, что может быть допустимым содержимым.
        Названия элементов всегда нечувствительны к регистру
        См. в стандарте SGML информацию о правилах использования элементов (напр., они должны быть правильно вложены, конечный тег закрывает, назад по направлению к соответствующему начальному тегу, все незакрытые начальные теги с отсутствующими конечными тегами (раздел 7.5.1) и т.д.).
        Например, этот параграф:
        Это первый параграф.
        ...элемент блок... может быть переписан без конечного тега:
        Это первый параграф. ...элемент блок... поскольку начальный тег закрывается следующим после него блоком. То же самое, если параграф закрыт элементом блок:
        Это параграф.
        конечный тег окружающего элемента блок (здесь -
  • ) подразумевает конечный тег открытого начального тега .
    Элементы это не теги. Многие полагают, что элементы - это и есть теги (напр., "тег P").
    Помните, что элемент - это одно, а тег (начальный или конечный) - это другое. К примеру, элемент HEAD всегда представлен, даже если оба тега HEAD, начальный и конечный, отсутствуют в разметке.
    Все типы элементов, объявленные в этой спецификации, перечислены в Индексе элементов.

    Атрибуты

    3.2.2 Атрибуты

    Элементы могут иметь ассоциированные свойства, называемые атрибутами, которые могут иметь значения (по умолчанию или устанавливаемые автором или скриптом). Пары атрибут/значение появляются перед конечным символом ">" начального тега элемента. Любое количество (допустимое) пар значений атрибута, разделённых пробелами, может появляться в начальном теге элемента. Они могут появляться в любом порядке.
    В этом примере атрибут id установлен для элемента H1:

    Это идентифицируемый заголовок, благодаря атрибуту id

    По умолчанию SGML требует, чтобы все значения атрибутов были ограничены с использованием двойных кавычек либо метки двойной кавычки (ASCII десятеричная 34) или метки одиночной кавычки (ASCII десятеричная 39). Знак одиночной кавычки может быть включена в значение атрибута, если это значение ограничено знаком двойной кавычки, и наоборот. Авторы могут также использовать цифровые ссылки-мнемоники для представления двойной (") и одинарной (') кавычек. Для двойных кавычек можно использовать также символьную ссылку-мнемонику ".
    В некоторых случаях авторы могут устанавливать значение атрибута без использования кавычек. Значение атрибута может содержать только (a-z и A-Z), цифры (0-9), дефисы (ASCII десятеричная 45), точку (ASCII десятеричная 46), символ подчёркивания (ASCII десятеричная 95) и двоеточие (ASCII десятеричная 58).
    Мы рекомендуем использовать знак кавычек даже тогда, когда можно обойтись без него..
    Названия атрибутов всегда нечувствительны к регистру.
    Значения атрибутов вообще нечувствительны к регистру В определении каждого атрибута в справочнике указано, является ли его значение нечувствительным к регистру.
    Все атрибуты, определённые в этой спецификации, перечислены индексе атрибутов.

    Ссылки-мнемоники

    3.2.3 Ссылки-мнемоники

    Ссылки-мнемоники это цифровые или символьные имена символов, которые могут быть включены в документ HTML. Они употребляются как ссылки на редко используемые или затруднительные для воспроизведения авторскими утилитами символы. Вы встретите такие ссылки-мнемоники в этом документе повсюду, они начинаются знаком "&" и заканчиваются точкой с запятой (;). Вот некоторые распространённые сочетания:
  • "<" - знак <
  • ">" - знак >
  • """ - знак "
  • "å" (десятеричная) буква "a" с маленьким кружком наверху
  • "И" (десятеричная) кириллическая "И".
  • "水" (шестнадцатеричная) китайский "водяной" символ.
  • Мы детально обсуждаем ссылки-мнемоники HTML позже в разделе набор символов документа HTML. В этой спецификации есть также список символьных ссылок, которые могут употребляться в документах HTML 4.

    Комментарии

    3.2.4 Комментарии

    Комментарии HTML имеют следующий синтаксис:
    Не допускаются пробелы между открывающим ограничителем объявления разметки (""). Обычная ошибка - включение внутрь комментария строки ("---"). Авторы должны исключить использование внутри комментариев двух или более смежных дефисов.
    Информация комментариев не имеет специального значения (напр., ссылки-мнемоники не интерпретируются как таковые).
    Обратите внимание, что комментарии это разметка.

    Конструкции SGML, используемые в HTML


    3.2 Конструкции SGML, используемые в HTML

    Следующие разделы посвящены конструкциям SGML, используемым в HTML.
    В приложении описаны некоторые возможности SGML, которые не поддерживаются широко утилитами HTML и пользовательскими агентами (ПА), и использование которых должно быть исключено.

    Комментарии в ОТД

    3.3.1 Комментарии в ОТД

    Комментарии в ОТД могут быть одно- или многострочными. Комментарии в ОТД это текст, ограниченный парами знаков "--", например:
    Данный комментарий "именованное значение свойства" поясняет использование типа элемента PARAM. Комментарии в ОТД носят исключительно информативный характер.

    Определения объектов-параметров

    3.3.2 Определения объектов-параметров

    ОТД HTML начинается серией определений объектов-параметров. Определение объекта-параметра определяет макрос особого типа, на который можно ссылаться и который может быть развёрнут где-либо в ОТД. Эти макросы могут не появляться в самом документе HTML, а только в ОТД. Макросы других типов, называемые ссылки-мнемоники, могут быть использованы в тексте документа HTML или внутри значений атрибутов.
    Если на объект-параметр ссылаются по имени из ОТД, он разворачивается в строку.
    Определение объекта-параметра начинается ключевым словом . Появления объектов-параметров в ОТД начинаются со знака "%", затем имени объекта-параметра и необязательного заключительного знака ";".
    Вот определение строки, в которую разворачивается объект-параметр "%fontstyle;".
    Строка, в которую разворачивается объект-параметр, может содержать имена других объектов-параметров. Эти имена разворачиваются рекурсивно. В следующем примере, объект-параметр "%inline;" определён с включением объектов-параметров "%fontstyle;", "%phrase;", "%special;" и "%formctrl;".
    Вы можете заметить далее, что два объекта-параметра ОТД часто появляются в ОТД HTML: "%block;" и "%inline;". Они используются, если модель содержимого включает соответственно элементы уровня блока/block-level и инлайн/ inline (определены в разделе глобальная структура документа HTML).

    Объявление элементов

    3.3.3 Объявление элементов

    Как правило, ОТД HTML состоит из объявления типа элемента и его атрибута. Ключевое слово закрывает. Между ними определяются:
  • имя элемента;
  • обязательно ли указывать теги элемента. Два дефиса после имени элемента означают, что начальный и конечный теги должны присутствовать. Один дефис и буква "O" означают, что конечный тег может отсутствовать. Две буквы "O" означают, что и начальный, и конечный теги могут отсутствовать;
  • содержимое элемента, если есть. Допустимое для данного элемента содержимое называется моделью содержимого. Типы элементов, которые разработаны так, чтобы не иметь содержимого, называются пустыми элементами. Модель содержимого для таких типов элементов объявляется ключевым словом "EMPTY".
  • В этом примере:
  • объявляемый тип элемента - UL;
  • два дефиса означают, что оба тега, начальный и конечный , для этого типа элементов должны присутствовать;
  • Модель содержимого этого типа элементов объявлена как "не менее одного элемента LI". Ниже объясняется, как специфицировать модель содержимого.
  • В этом примере иллюстрируется объявление пустого типа элемента:
  • объявляется тип элемента IMG;
  • дефис и последующая "O" означают, что конечный тег может быть опущен, но, в сочетании с моделью содержимого "EMPTY", это значение усиливается: конечный тег должен отсутствовать;
  • ключевое слово "EMPTY" означает, что объект этого типа обязан не иметь содержимого.


  • Объявление атрибутов

    3.3.4 Объявление атрибутов

    Ключевое слово .
    Каждое определение атрибута состоит из трёх частей:
  • имя атрибута;
  • тип значения атрибута или явно указанный список возможных значений. Значения, определённые явно в ОТД, нечувствительны к регистру. Дополнительную информацию о типах значений атрибутов можно найти в базовых типах данных HTML;
  • предполагается ли значение атрибута по умолчанию (ключевое слово "#ПРЕДПОЛАГАЕТСЯ"), в этом случае значение по умолчанию должно быть предоставлено пользовательским агентом (ПА) (в некоторых случаях - путём наследования от элементов-предков); требуется всегда (ключевое слово "#НЕОБХОДИМ"), или фиксируется данным значением (ключевое слово "#ФИКСИРОВАННЫЙ"). Некоторые определения атрибутов явно определяют для атрибута значение по умолчанию.
  • В этом примере атрибут name определён для элемента MAP. Атрибут для этого элемента не обязателен.
    Тип допустимых значений атрибута даётся как CDATA типа данных SGML. CDATA это текст, который может содержать символьные ссылки-мнемоники.
    Дополнительную информацию о "CDATA", "NAME", "ID" и других типах данных см. в разделе типы данных HTML.
    Следующие примеры иллюстрируют различные определения атрибутов:
    rowspan NUMBER 1 -- количество рядов таблицы, занимаемых ячейкой -- http-equiv NAME #ПРЕДПОЛАГАЕТСЯ -- имя "шапки" ответа HTTP -- id ID #ПРЕДПОЛАГАЕТСЯ -- уникальный идентификатор документа id -- valign (top|middle|bottom|baseline) #IMPLIED Атрибут rowspan требует значение типа NUMBER. Значение по умолчанию даётся явно как "1". Предполагаемый атрибут http-equiv требует значений типа NAME. Предполагаемый атрибут id требует значений типа ID. Предполагаемый атрибут valign сконструирован так, чтобы принимать значения из списка {top, middle, bottom, baseline}.

    Как читать Определение Типа Данных (ОТД) HTML


    3.3 Как читать Определение Типа Данных (ОТД) HTML

    Каждое объявление элемента или атрибута в этой спецификации сопровождается соответствующим фрагментом определения типа документа. Мы решили включать фрагменты ОТД в спецификацию вместо того, чтобы использовать более подходящие, но и более длинные и менее точные способы описания свойств элемента.
    Этот учебник должен помочь читателям, не знакомым с SGML, разобраться в ОТД и понять технические детали этой спецификации HTML.

    О SGML и HTML

    3. О SGML и HTML

    Содержание
  • Введение в SGML
  • Конструкции SGML, используемые в HTML
  • Элементы
  • Атрибуты
  • Ссылки-мнемоники
  • Комментарии
  • Как читать Определение Типа Данных (ОТД) HTML
  • Комментарии в ОТД
  • Определение объектов-параметров
  • Объявление элементов
  • Определение модели содержимого
  • Объявление атрибутов
  • Объекты ОТД в определении атрибутов
  • Булевы атрибуты
  • Этот раздел посвящён SGML и его взаимосвязям с HTML. Полное обсуждение SGML находится в стандарте (см. [ISO8879]).

    Определения

    4.1 Определения

    HTML - документДокумент HTML это документ SGML, удовлетворяющий требованиям этой спецификации.Автор Автор - это человек или программа, пишущая или генерирующая HTML- документы. Авторизующая утилита- это частный случай автора, т.е., это программа, генерирующая HTML.Мы рекомендуем создавать документы в соответствии со строгим ОТД, нежели с другими ОТД, определёнными в спецификации.
    Просмотрите, пожалуйста, раздел информация о версиях для детального рассмотрения ОТД, определённых в HTML 4.
    Пользователь Пользователь это лицо, взаимодействующее с пользовательским агентом с целью просмотра или другого использования документа HTML.
    Пользовательский агент HTMLПользовательский агент (ПА) HTML - любое устройство, интерпретирующее документ HTML. Пользовательские агенты: визуальные браузеры(программы просмотра: Netscape Navigator, Internet Explorer), текстовые и графические, невизуальные браузеры (audio, по Брайлю), поисковые машины, proxies, и т.п.Соответствующий пользовательский агент (СПА) для HTML
    - тот, который соответствует обязательным требованиям ("must/обязан"), установленным ранее в этой спецификации, включая следующие пункты:
  • ПА должен избегать навязывания ограничений длины символьных значений атрибутов (смотри раздел о возможностях SGML деклараций).
    По вводной информации о атрибутах SGML см. раздел объявление атрибутов.
  • ПА обязан гарантировать, что воспроизведение будет неизменным, независимо от наличия или отсутствия начальных и конечных тегов, если HTML DTD указывает, что они не обязательны.
    По вводной информации о элементах SGML см. раздел объявление элементов.
  • Из соображений обратной совместимости, интерпретирующие HTML 4, продолжали поддерживать HTML 3.2 (см. [HTML32]) и HTML 2.0 (см. [RFC1866]).
  • Ошибочные условия Эта спецификация не определяет, как СПА обрабатывает общие ошибки, в том числе, как поведение ПА в случае обнаружения элементов, атрибутов, значений атрибутов или образований, не специфицированных в этом документе.Мы, однако, рекомендуем: для предсказуемой обработки ошибок, проконсультироваться в замечаниях о несоответствии документов.
    Не рекомендуемый Не рекомендуемый элемент или атрибут - тот, который устарел по сравнению с новыми конструкциями. Не рекомендуемые элементы определены в справочнике в соответствующем месте, но однозначно помечены как не рекомендуемые. Не рекомендуемые элементы могут быть объявлены устаревшими в следующих версиях HTML.ПА должны продолжать поддерживать не рекомендуемые элементы для обратной совместимости.
    Не рекомендуемые атрибуты и элементы явно отмечены в Определении.
    В эту спецификацию включены примеры того, как избежать использования не рекомендуемых элементов. В большинстве случаев это зависит от поддержкой ПАгентом каскадных таблиц стилей.
    Вообще, следует использовать таблицы стилей для достижения эффектов стилизации и форматирования, а не для использования представительных атрибутов HTML. Представительные атрибуты HTML не рекомендуются при наличии таблиц стилей (см., например, [CSS1]).
    Устаревший Устаревший элемент или атрибут - тот, при использовании которого поддержка ПА не гарантирована. Устаревшие элементы более не определены в спецификации, но перечислены в разделе изменений справочника как историческая справка.

    SGML

    4.2 SGML

    HTML 4 это SGML приложение, соответствующее Международному Стандарту ISO 8879 -- Standard Generalized Markup Language (Стандартный Обобщённый Язык Разметки) SGML (определённому в [ISO8879]).
    Примеры в тексте соответствуют определению документа строгого типа, если только пример не относится к элементам и атрибута, определённым исключительно определением документа переходного типа или определением документа типа "набор кадров"/frameset.
    Из соображений краткости, большинство примеров в этой спецификации не начинаются с объявления версии HTML документа, что является обязательным в начале каждого документа HTML.
    Фрагменты DTD (ОТД - определение типа документа) в определении элементов исходят из определения документов строгого типа, за исключением элементов, относящихся к кадрам.
    Просмотрите, пожалуйста, раздел информация о версии HTML для выяснения того, когда нужно использовать ОТД "строгое", "переходное" или "кадры".
    Комментарии, появляющиеся в ОТД HTML 4 , не имеют нормативного значения, они только информативные.
    ПА не должны воспроизводить инструкции процессов SGML (например, ) или комментарии.
    Для получения информации об этой и других возможностях SGML, которые могут быть использованы в HTML, но не поддерживаются широко HTML ПА, см. раздел ограниченно поддерживаемые возможности SGML.


    Тип содержимого text/html

    4.3 Тип содержимого text/html

    Документы HTML пересылаются по Internet как последовательность байтов и сопутствующей информации о кодировке (описанной в разделе кодировка символов ).
    Структура передачи, называемой тело сообщения, определена в [RFC2045] и [RFC2616].
    Тело сообщения с типом содержимого "text/html" представляет собой документ HTML.
    Тип содержимого документа HTML определяется так:
    Имя типа содержимого/Content type name: textИмя подтипа содержимого/Content subtype name:html Обязательные параметры/Required parameters:none/отсутствуют Необязательные параметры/Optional parameters:charset/кодовый набор Кодировка/Encoding considerations:допустима любая кодировка Безопасность/Security considerations:См. замечания по безопасности/security.Необязательный параметр "charset" имеет отношение к кодировке символов, используемой для представления документа HTML как последовательности байтов. Верные значения этого параметра определены в разделе Кодировка символов.
    Хотя это и необязательный параметр, мы рекомендуем его всегда указывать.

    Соответствие: требования и рекомендации

    4. Соответствие: требования и рекомендации

    Содержание
  • Определения
  • SGML
  • Тип содержимого text/html
  • В этом разделе мы начинаем спецификацию HTML 4 с соглашения между авторами, документами, пользователями и браузерами.
    Ключевые слова "MUST/ДОЛЖЕН", "MUST NOT/НЕ ДОЛЖЕН", "REQUIRED/НЕОБХОДИМ", "SHALL/БУДЕТ", "SHALL NOT/НЕ БУДЕТ", "SHOULD/ДОЛЖЕН", "SHOULD NOT/НЕ ДОЛЖЕН", "RECOMMENDED/РЕКОМЕНДУЕТСЯ", "MAY/МОЖЕТ" и "OPTIONAL/ПО ВЫБОРУ" в этом документе интерпретируются так, как описано в [RFC2119].
    Однако, для удобства чтения эти слова не употребляются в этой спецификации со всеми буквами в верхнем регистре.
    Время от времени авторы этой спецификации дают практические рекомендации авторам и разработчикам. Эти рекомендации не являются нормативными и согласованными с этой спецификацией. Эти рекомендации содержат выражения типа: "мы рекомендуем ...", "эта спецификация рекомендует ...", или другие подобные конструкции.

    Кодовая страница документа

    5.1 Кодовая страница документа

    С целью улучшения взаимодействия, SGML требует, чтобы каждое приложение (приложение HTML - в том числе) специфицировало свой набор символов. Набор символов (кодовая страница) состоит из:
  • "Репертуара": набора абстрактных символов, таких как латинская буква "A", русская буква "И", китайские "водяные знаки" и т.д.
  • Позиции символа: набора цифровых ссылок на символы в "репертуаре".
  • Каждый документ SGML (включая каждый документ HTML) - это последовательность символов из "репертуара". Операционная система компьютера идентифицирует каждый символ по его кодовой позиции. Например, в наборе символов ASCII кодовые позиции 65, 66 и 67 ссылаются на символы 'A', 'B' и 'C' соответственно.
    Набор символов ASCII недостаточен для глобальных информационных систем, таких как Web, поэтому HTML использует более полный набор символов, называемый Universal Character Set (UCS)/Универсальный Набор символов, определённый в документе [ISO10646]. Этот стандарт определяет репертуары тысяч наборов символов, используемых во всём мире.
    Набор символов, определённый в [ISO10646], это символ-символ эквивалент Юникода ([UNICODE]). Оба этих стандарта время от времени дополняются новыми символами, и по этим поправкам нужно постоянно консультироваться на соответствующих Web-сайтах. В текущей спецификации ISO10646 использован для определения набора символов, в то время как UNICODEзарезервирован для ссылок на двунаправленный текстовый алгоритм.
    Одного набора символов, однако, недостаточно для того, чтобы браузеры пользователя могли корректно интерпретировать документы HTML, так как они обычно кодируются как последовательность байтов в файле во время передачи по сети. Браузер пользователя должен также "знать" специфическую кодировку, используемую для трансформации документа в поток байтов.

    Выбор кодировки

    5.2.1 Выбор кодировки

    Средства создания документов (например, текстовые редакторы) могут кодировать документы HTML по своему усмотрению, и это зависит в основном от соглашений, используемых разработчиками программ. Эти программы для создания документов используют любую подходящую кодировку, которая отображает большую часть нужных символов, корректно обозначая эту кодировку. Отдельные символы, не входящие в соответствующую кодировку, могут быть вставлены по ссылке. Это всегда имеет отношение к набору символов документа, а не к кодировке.
    Серверы и proxy-серверы могут изменять кодировку символов (это называется transcoding) "на ходу", чтобы принять запрос пользовательского браузера (смотри раздел 14.2 в [RFC2616], заголовок запроса "Accept-Charset" HTTP). Серверы и прокси-серверы не должны обязательно обслуживать документ в той кодировке, которая покрывает весь набор символов этого документа.
    Обычно в Web используются кодировки: ISO-8859-1 (также известная как "Latin-1", используется для большинства западноевропейских языков), ISO-8859-5 (поддерживающая кириллицу), SHIFT_JIS (японская кодировка), EUC-JP (другая японская кодировка) и UTF-8 (кодировка ISO 10646, использующая различное число байтов для различных символов). Названия кодировок нечувствительны к регистру. Таким образом, "SHIFT_JIS", "Shift_JIS" и "shift_jis" эквивалентны.
    Эта спецификация не предписывает, какие кодировки браузер должен поддерживать.
    Соответствие браузеров. Браузеры должны отвечать отображению, по ISO 10646, всех символов в любой кодировке, которые ими распознаются (или они должны действовать, как если бы они распознавали их).

    Определение кодировки

    5.2.2 Определение кодировки

    Как сервер определяет кодировку документа? Некоторые серверы проверяют несколько первых байтов документа или проверяют информацию в базе данных об известных файлах и кодировках. Многие современные серверы дают Web-мастеру больше возможностей для контроля за конфигурацией наборов символов. Web-мастера должны использовать эти механизмы для передачи сведений "charset" всегда, когда это возможно, и не обозначать документ неправильным значением параметра "charset".
    Как браузер пользователя распознаёт кодировку документа?
    Эту информацию должен предоставлять сервер. Прямой путь для этого - использование параметра "charset" заголовочного поля "Content-Type" протокола HTTP ([RFC2616], разделы 3.4 и 14.17). Например, следующий заголовок HTTP объявляет кодировку EUC-JP:
    Content-Type: text/html; charset=EUC-JP Пожалуйста, просмотрите определение text/html в разделе соответствие.
    Протокол HTTP ([RFC2616], раздел 3.7.1) упоминает ISO-8859-1 как кодировку по умолчанию в случае отсутствия параметра "charset" в поле заголовка "Content-Type". На практике эта рекомендация оказывается бесполезной, поскольку некоторые серверы не пересылают параметр "charset", а другие могут быть не сконфигурированы для пересылки параметра. Таким образом, браузер может не получить значение параметра "charset" по умолчанию.
    Чтобы адресоваться к серверу или из-за ограничений конфигурации, документы HTML могут включать точную информацию о кодировке документа: элемент META может быть использован для предоставления этой информации браузерам.
    Например, для указания кодировки документа в "EUC-JP" документ должен содержать следующее объявление META:
    Объявление META должно использоваться, только если кодировка организована как ASCII-значащие байтовые позиции для символов ASCII (хотя бы до того, как элемент META уже разобран). Объявление META должно появиться в элементе HEAD как можно раньше.
    Для случаев, когда ни HTTP-протокол, ни элемент META не дают информации о кодировке страницы, HTML предоставляет атрибут charset в некоторых элементах. Комбинируя эти возможности, автор повышает шансы того, что браузер пользователя, получив документ, правильно распознает кодировку страницы.
    Суммируя вышесказанное: браузеры соответствующие требованиям, должны соблюдать следующие приоритеты при определении кодировки документа (от высшего приоритета к низшему):
  • HTTP параметр "charset" в поле "Content-Type".
  • Объявление META с "http-equiv", установленным в "Content-Type", и значением, установленным в "charset".
  • Атрибут charset, установленный в элементе, обозначающем внешний ресурс.
  • В дополнение к этому списку приоритетов, браузер может использовать heuristics и пользовательские установки. Например, многие браузеры используют heuristics для различения кодировок японского текста. Также браузеры обычно используют локальные кодировки по умолчанию, определяемые пользователем, которые применяются при отсутствии других указателей.
    Браузеры могут предоставлять механизм, позволяющий пользователю обойти некорректную информацию "charset". Однако, если браузер предоставляет такой механизм, он должен предлагать его только для просмотра, но не для редактирования, чтобы исключить создание Web-страниц, маркированных некорректным параметром "charset".
    Примечание. Если в определённом приложении нужно обратиться к набору символов вне [ISO10646], символы должны быть выделены в отдельное пространство (private zone), чтобы исключить конфликты с будущими версиями стандарта. Однако, это крайне не рекомендуется из соображений переносимости.

    Кодовые страницы


    5.2 Кодовые страницы

    То, что в этой спецификации называется кодировкой символов, известно под различными названиями в других спецификациях (что может иногда смущать). Однако общее понимание - одно во всей сети Internet.
    Заголовки протоколов (protocol headers), атрибуты и параметры, относящиеся к кодировке символов, используют один термин - "charset" и одни и те же значения из регистрации [IANA] (смотри полный список в [CHARSETS]).
    Параметр "charset" идентифицирует кодировку символов, которая представляет собой метод конвертации последовательности байтов в последовательность символов. Эта конвертация соответствует, по своей природе, схеме деятельности Web: серверы посылают документы HTML браузерам пользователей как поток байтов, браузеры пользователей интерпретируют его в последовательность символов.
    Методы конвертации варьируются от простых один-за-другим до сложных схем переключения и алгоритмов.
    Простая техника кодирования, один-байт-один-символ, недостаточна для использования символов, не входящих в "репертуар" [ISO10646]. Есть несколько различных кодировок, начиная с частичных кодировок с использованием [ISO10646], и до кодировок полного набора символов (как UCS-4).

    Цифровые мнемоники

    5.3.1 Цифровые мнемоники

    Цифровые ссылки-мнемоники на символы определяют кодовую позицию символа в символьном наборе документа. Цифровые мнемоники бывают двух видов:
  • "&#D;", где D, десятеричное число, ссылается на десятеричное значение D символа ISO 10646.
  • "&#xH;" или "&#XH;", где H, шестнадцатеричное число, ссылается на шестнадцатеричное значение H символа ISO 10646. Шестнадцатеричные числа в цифровых мнемониках нечувствительны к регистру.
  • Вот несколько примеров цифровых мнемоник:
  • å (10-ная) представляет букву "a" с маленьким кружком сверху (используется, напр., в Норвегии);
  • å (16-ная) та же самая буква;
  • å (16-ная) то же самое;
  • И (10-ная) русская "И" заглавная;
  • 水 (16-ная) китайский "водяной" символ.
  • Примечание. Хотя 16-ное представление не определено в [ISO8879], это ожидается при пересмотре, как описано в [WEBSGML]. Это соглашение особенно актуально, пока стандарты символов используют 16-ные представления.

    Символьные ссылки-мнемоники (по псевдониму)

    5.3.2 Символьные ссылки-мнемоники (по псевдониму)

    Чтобы предоставить авторам более интуитивный способ ссылки на символы в символьном наборе документа, HTML предлагает символьные ссылки-мнемоники. Символьные мнемоники используют псевдонимы, так что авторы могут не запоминать кодовую позицию. Например, символьную мнемонику å ссылающуюся на "a" с кружком сверху , "å" запомнить легче, чем å.
    HTML 4 не определяет символьные мнемоники для всех символов кодового набора. В частности, нет символьной мнемоники для русской заглавной "И". Пожалуйста, просмотрите полный список символьных мнемоник, определённых в HTML 4.
    Символьные мнемоники чувствительны к регистру. Так, Å ссылается на другую букву (A с кружком в верхнем регистре), а не на å (а с кружком в нижнем регистре).
    Четыре символьные мнемоники должны быть упомянуты отдельно, так как они часто используются в определённых escape-последовательностях:
  • "<" - знак <
  • ">" - знак >
  • "&" - знак &
  • "" - знак "
  • Автор, желающий использовать символ "<" в тексте, должен записать "<" (ASCII десятичная 60), чтобы избежать возможных конфликтов с началом тега (стартовый ограничитель тега). Так же автор должен использовать и ">" (ASCII десятеричная 62) вместо ">", чтобы избежать конфликтов со старыми браузерами, которые некорректно распознают это как конец тега (закрывающий ограничитель тега), если он появляется в значении атрибута в кавычках.
    Автор должен использовать "&" (ASCII десятичное 38) вместо "&" во избежание конфликтов с обозначением начала ссылки. Автор также должен употреблять "&" в значениях атрибутов, пока символьные мнемоники допускаются внутри значений атрибутов CDATA.
    Некоторые авторы используют символьную мнемонику """ для кодирования появление двойных кавычек ("), поскольку этот символ используется как ограничитель в значениях атрибутов.

    Мнемоники (символы по ссылке, по псевдониму)

    5.3 Мнемоники (символы по ссылке, по псевдониму)

    Конкретная кодировка может не давать возможность отобразить все символы набора символов документа. Для таких кодировок, или если конфигурация "железа" или программного обеспечения не позволяют пользователю непосредственно вводить некоторые символы, авторы могут использовать SGML - ссылки на символы. Ссылки на символы - это механизм для ввода любых символов, не зависящий от кодового набора документа.
    Ссылки на символ (мнемоники) могут быть двух видов:
  • Цифровые мнемоники (десятеричные или шестнадцатеричные).
  • Мнемоники из символьных элементов.
  • Мнемоники внутри комментариев не имеют специального значения: это только лишь данные комментариев.
    Примечание. HTML предоставляет другие возможности для представления символьных данных, в особенности - встроенные изображения\inline images.
    Примечание. В SGML возможно отсутствие конечного символа ";" после ссылки-мнемоники в некоторых случаях (например, перед line break или непосредственно перед тегом). В других условиях это символ не может быть опущен (например, в середине слова). Мы настоятельно советуем использовать ";" во всех случаях, чтобы исключить проблемы с браузерами пользователей.

    Неотображаемые символы

    5.4 Неотображаемые символы

    Браузер может не отображать корректно все символы в документе. Например, если у пользователя нет соответствующего шрифта, символ имеет значение, которое отсутствует во внутренней кодировке браузера, и т.д.
    Поэтому вид документа во многих случаях становится непредсказуемым. В зависимости от реализации, неотображаемые символы также могут обрабатываться системой дисплея, а не самой программой. В связи с этим, мы рекомендуем следующие действия в отношении браузеров пользователей:
  • Создать ясный, но ненавязчивый механизм сообщения пользователю об отсутствующем ресурсе.
  • Если отсутствующие символы представлены цифрами, используйте 16-ные (не десятеричные) формы, пока эти формы есть в стандартах.


  • Представление документа HTML

    5. Представление документа HTML

    Содержание
  • Набор символов документа
  • Кодировка
  • Выбор кодировки
  • Замечания по специальной кодировке
  • Определение кодировки
  • Ввод символов по ссылкам-мнемоникам
  • Цифровые мнемоники
  • Символьные мнемоники
  • Неотображаемые символы
  • В этой главе мы обсудим, как документы HTML отображаются на компьютере и в Internet.
    В разделе кодовая страница документа обсуждается вопрос о том, как абстрактные символы могут быть частью документа HTML. Символы включают буквы латиницы, кириллицы, китайские символы "водяные знаки", и т.д.
    В разделе виды кодировки обсуждается представление символов в файле или при пересылке в Internet. Поскольку некоторые кодировки не могут прямо представить все символы, которые автор хочет включить в документ, HTML предлагает механизм, называемый ссылки-мнемоники, для изображения любых символов.
    Поскольку существует огромное количество символов в языках различных народов и большое разнообразие способов представления этих символов, нужен особый подход для того, чтобы документы были доступны для чтения в любом браузере в любой точке земного шара.

    Регистр


    6.1 Регистр

    Каждое определение атрибута включает информацию о чувствительности его значения к регистру. Информация о регистре представлена следующими ключами:
    CS Значение чувствительно к регистру (т.е., пользовательский агент (ПА) интерпретирует "a" и "A" по-разному). CIЗначение нечувствительно к регистру (т.е., (ПА) интерпретирует "a" и "A" одинаково).CN Значение не является объектом, учитывающим регистр (нейтрально), напр., это набор символов из символьного набора документа.CA Определение элемента или атрибута само предоставляет информацию о регистре. CTПросмотрите определение типа для уточнения чувствительности к регистру.Если значением атрибута является список, ключи применяются к каждому значению списка, если не указано иное.

    Отдельные символы


    6.10 Отдельные символы

    Определённые атрибуты вызывают отдельные символы из кодового набора документа. Эти атрибуты имеют тип %Character в ОТД.
    Отдельные символы могут быть определены также мнемониками (напр., "&").

    Дата и время


    6.11 Дата и время

    [ISO8601] допускает много вариантов и опций в представлении даты и времени. Данная спецификация использует один из форматов, описанный в [DATETIME], для определения действительных строк date/time (%Datetime в ОТД).
    Формат таков:
    YYYY-MM-DDThh:mm:ssTZDгде:YYYY = год из 4 цифр MM = месяц из 2 цифр (01=January, и т.д..) DD = число месяца из 2 цифр (от 01 до 31) hh = час - 2 цифры (от 00 до 23) (am/pm НЕДОПУСТИМЫ) mm = минуты - 2 цифры (от 00 до 59) ss = секунды - 2 цифры (от 00 до 59) TZD = часовой поясОбозначение часового пояса - одно из следующих:
    Zобозначает UTC (Coordinated Universal Time). "Z" должно быть в верхнем регистре.+hh:mmобозначает локальное время - hh часы и mm минуты до(+) UTC.-hh:mm обозначает локальное время - hh часы и mm минуты после (-) UTC. Компоненты должны быть представлены точно в такой пунктуации.
    Заметьте, что "T" стоит в строке как буква (должна быть в верхнем регистре), показывая начало элемента "время" , как специфицировано в [ISO8601].
    Если приложение "не знает" время с точностью до секунд, оно может использовать значение секунд "00" (и минуты и часы так же, если необходимо).
    Примечание. [DATETIME] не адресует учёт високосных секунд.

    Типы ссылок


    6.12 Типы ссылок

    Авторы могут использовать следующие распознаваемые типы ссылок, перечисленные здесь с их интерпретацией в соответствии с соглашениями. В ОТД %LinkTypes ссылается на разделённый пробелами список типов ссылок. Пробелы внутри типов ссылок недопустимы.
    Типы ссылок нечувствительны к регистру, т.е., "Alternate" значит то же, что и "alternate".
    ПА, поисковые машины и т.д. могут интерпретировать эти типы ссылок различными способами. Например, ПА может предоставить доступ к связанному ресурсу через панель навигации/navigation bar.
    Alternative/Альтернативный Замещающая версия для документа, на который указывает ссылка. Используемый вместе с атрибутом lang, он подразумевает переведённую версию документа. Если используется вместе с атрибутом media, подразумевает версию, созданную для другого носителя.
    Stylesheet/Таблица стилей Ссылается на внешнюю таблицу стилей. См. детали в разделе внешние таблицы стилей. используется вместе со ссылкой типа "Alternate" внешних таблиц, выбираемых пользователем.Старт/Start Ссылается на первый документ в серии документов. Эта ссылка сообщает поисковой машине, какой документ установлен автором в качестве исходного пункта серии документов.
    Next/Следующий
    Ссылается на следующий документ в линеарной последовательности документов. ПА могут заранее подгрузить документ "next", чтобы уменьшить в последующем затраты времени.
    Prev/Предыд.
    Ссылается на предыдущий документ в упорядоченной серии документов. Некоторые ПА также поддерживают синоним "Previous".
    Contents/Содержание
    Ссылается на документ с оглавлением. Некоторые ПА также поддерживают синоним ToC(от "Table of Contents").
    Index/Индекс
    Ссылается на документ по индексу.
    Glossary/Словарь-справочник
    Ссылается на документ из словаря терминов, имеющий отношение к текущему документу.
    Copyright/Авторские права
    Ссылается на оператор авторских прав для текущего документа.
    Chapter/Глава
    Ссылается на документ, являющийся главой в серии документов.
    Section/Раздел
    Ссылается на документ, являющийся разделом в серии документов.
    Subsection/Подраздел
    Ссылается на документ, являющийся подразделом в серии документов.
    Appendix/Дополнение
    Ссылается на документ, являющийся дополнением в серии документов. Help/Помощь Ссылается на документ помощи (больше информации, ссылки на др. ресурсы и т.д.)
    Bookmark/Закладка
    Ссылается на закладку. Закладка это ссылка на точку внутри документа. Атрибут title, например, может быть использован для маркировки закладкой. Заметьте, что в каждом документе может быть установлено несколько закладок.Автор может пожелать определить дополнительные типы ссылок, не описанные в этой спецификации. Чтобы сделать это, он должен использовать профиль для цитирования соглашений, используемых для определения типов ссылок. См. атрибут profile элемента HEAD.
    Для продолжения обсуждения типов ссылок см. ссылки в документах HTML.

    Дескрипторы типа носителя


    6.13 Дескрипторы типа носителя

    Список распознаваемых дескрипторов типа носителя ( %MediaDesc в ОТД):
    screenПодразумевается нестраничный экран. ttyПодразумевается носитель, использующий сетку символов фиксированного размера, такие как телетайп, терминалы или портативные устройства с ограниченными возможностями дисплея.tvПодразумевается устройство типа телевизора (низкое разрешение и цветопередача, ограниченная возможность прокрутки экрана).projectionПодразумевается прожектор. handheldПодразумеваются портативные устройства (маленькие экраны, монохромные, растровая графика, частотные ограничения).printПодразумевается страничный непрозрачный материал и документы, просматриваемые на экране в режиме предварительного просмотра печати.brailleПодразумеваются устройства для слепых. auralПодразумевается речевой синтезатор .all Подходит для всех устройств.Будущие версии HTML могут вводить новые значения и могут допускать параметризованные значения. Чтобы облегчить введение этих расширений, соответствующие ПА должны быть способны разобрать значения атрибута media так:
  • Значение - список, разделённый запятыми. Например, media="screen, 3d-glasses, print and resolution > 90dpi" разбирается в :
    "screen""3d-glasses""print and resolution > 90dpi"
  • Каждое вхождение усекается перед первым символом не-US ASCII [a-z, A-Z] (ISO 10646 hex 41-5a, 61-7a), не-цифрой [0-9] (hex 30-39), или не-дефисом (hex 2d). В этом примере это даёт: "screen" "3d-glasses" "print"
  • Пара, чувствительная к регистру, подбирается затем из набора типов носителя, определённого выше. ПА может игнорировать неподходящие вхождения. В примере мы остались со значениями screen и print.
  • Примечание. Таблицы стилей могут включать независимые от типа варианты внутри себя (напр., конструкция CSS @media). В таких случаях может быть удобно использовать "media=all".

    Данные сценариев


    6.14 Данные сценариев

    Данные сценариев ( %Script; в ОТД) могут быть содержимым элемента SCRIPT и значением внутреннего события атрибута. ПА не должны вычислять данные сценария как метки HTML, а вместо этого должны передавать их как данные обработчику сценария.
    Чувствительность к регистру данных скрипта зависит от применяемого языка сценариев.
    Обратите внимание, что данные скрипта, являющегося содержимым элемента, могут не содержать символьных мнемоник, но данные скрипта, являющегося значением атрибута, могут их содержать. Дополнение содержит информацию о спецификации не-HTML данных.

    Данные таблиц стилей


    6.15 Данные таблиц стилей

    Данные таблиц стилей (%StyleSheet; в ОТД) могут быть содержимым элемента STYLE и значением атрибута style. ПА не должен вычислять данные стиля как метки HTML.
    Чувствительность к регистру данных стиля зависит от языка таблиц стилей.
    Заметьте, что данные таблиц стилей, являющиеся содержимым элемента, могут не содержать символьных мнемоник, но данные, являющиеся значением атрибута могут содержать их. В дополнении предлагается дополнительная информация о спецификации не-HTML данных.

    Имя целевого фрэйма


    6.16 Имя целевого фрэйма

    За исключением зарезервированных имён, перечисленных ниже, имя целевого фрэйма (%FrameTarget; в ОТД) должно начинаться алфавитным символом (a-z, A-Z). ПА должны игнорировать все другие имена.
    Следующие имена целевого фрэйма зарезервированы и имеют специальное применение:
    _blankПА должен загрузить документ в новое безымянное окно._selfПА должен загрузить документ в том же фрэйме, что и элемент, вызвавший его._parentПА должен загрузить документ в родительский, по отношению к нему, фрэйм набора FRAMESET. Это значение эквивалентно _self если текущий фрэйм не имеет предка._top ПА должен загрузить документ в полное оригинальное окно (отменяя, таким образом все другие фрэймы). Это значение эквивалентно _self, если текущий фрэйм не имеет предка.

    Базовые типы SGML


    6.2 Базовые типы SGML

    Определение типа документа (ОТД) специфицирует синтаксис содержимого элемента и значения атрибута HTML, используя лексемы SGML (напр., PCDATA, CDATA, NAME, ID и т.д.). См. их полные определения в [ISO8879].
    Здесь суммирована ключевая информация:
  • CDATA - последовательность символов из символьного набора документа, может включать мнемоники. Пользовательские агенты (ПА) должны интерпретировать значения атрибутов так:
  • заменить мнемоники символами,
  • игнорировать символы конца строки,
  • заменить каждый символ возврата каретки или табуляции символом пробела.
  • ПА могут игнорировать ведущие и конечные символы пробела в значениях атрибута CDATA(напр., "myval " может интерпретироваться как "myval"). Авторам не следует объявлять атрибуты с ведущими и конечными пробелами.
    Для некоторых атрибутов HTML 4 со значениями атрибутов CDATA спецификация устанавливает дальнейшие ограничения допустимых значений этого атрибута, которые могу быть не определены ОТД.
    Хотя элементы STYLE и SCRIPT используют CDATA в своих моделях данных, CDATA для этих элементов обрабатывается ПА по-другому. Метки и мнемоники должны рассматриваться как необработанный текст и передаваться в приложение "как есть/as is".
    Первое появления последовательности символов "
  • Лексемы ID и NAME должны начинаться с буквы ([A-Za-z]), и за ними может следовать любое количество букв, цифр ([0-9]), дефисов ("-"), символов подчёркивания ("_"), двоеточий (":") и точек (".").
  • IDREF и IDREFS - это ссылки на лексемы ID, определённые другими атрибутами. IDREF это единичная лексема, а IDREFS это разделённый пробелами список лексем.
  • Лексема NUMBER должна содержать не менее одной цифры ([0-9]).


  • Текстовые строки


    6.3 Текстовые строки

    Атрибуты текста ( %Text в ОТД) делают его пригодным для чтения.
    Введение об атрибутах см. в учебной дискуссии об атрибутах.

    URI


    6.4 URI

    Данная спецификация использует термин URI, как определено в [URI] (см. также [RFC1630]).
    Заметьте, что URI включают URL (как определено в [RFC1738] и [RFC1808]).
    Относительные URI дополняются до полных URI, используя базовые URI.
    [RFC1808]
    , раздел 3, определяет нормативный алгоритм этого процесса. Дополнительную информацию о базовых URI см. в разделе базовые URI в главе о ссылках.
    URI представляются в ОТД мнемоникой %URI;.
    URI в общем случае нечувствительны к регистру. Могут быть URI, или части URI, где регистр не имеет значения (напр., имя машины/хост), но их идентификация может быть затруднительна. Пользователь должен всегда предполагать, что URI чувствительны к регистру (чтобы быть уверенными в последствиях своих действий).
    Пожалуйста, прочтите дополнение к информации о не-ASCII символах в значениях атрибутов URI.

    Использование цветов


    6.5.1 Использование цветов

    Хотя цвета придают много дополнительного смысла документу и делают его более "читабельным", учитывайте следующие советы при использовании цвета в Ваших документах:
  • Использование элементов и атрибутов HTML для установки цвета не рекомендуется. Вместо этого лучше использовать таблицы стилей.
  • Не используйте такие комбинации цветов, которые могут создать проблемы людям, страдающим дальтонизмом и др. подобными расстройствами.
  • Если Вы используете фоновый рисунок или устанавливаете цвет фона, установите также подходящий цвет текста.
  • Цвета, определяемые элементами BODY и FONT и bgcolor в таблицах выглядят по-разному на различных платформах (напр., PC, Macs, Windows и экраны LCD отличаются от CRT), так что Вы не должны всецело полагаться на то, что эффект будет таким, как Вы ожидаете. В будущем поддержка цветовой модели [SRGB] вместе с профилями ICC должна смягчить эту проблему.
  • На практике старайтесь применять различные соглашения, чтобы уменьшить вероятность возможных неудобств для пользователя.


  • Глава 6.5 Цвета


    6.5 Цвета

    Значение атрибута "color" (%Color;) ссылается на определение цвета [SRGB]. Значение цвета может быть или 16-ричным числом (предваряемым знаком #), или одним из следующих 16 названий цвета. Названия цветов нечувствительны к регистру.
    Названия и sRGB - значения цветов
    Содержание главы 6.5 Цвета Black = "#000000"Содержание главы 6.5 Цвета Green = "#008000"
    Содержание главы 6.5 Цвета Silver = "#C0C0C0"Содержание главы 6.5 Цвета Lime = "#00FF00"
    Содержание главы 6.5 Цвета Gray = "#808080"Содержание главы 6.5 Цвета Olive = "#808000"
    Содержание главы 6.5 Цвета White = "#FFFFFF"Содержание главы 6.5 Цвета Yellow = "#FFFF00"
    Содержание главы 6.5 Цвета Maroon = "#800000"Содержание главы 6.5 Цвета Navy = "#000080"
    Содержание главы 6.5 Цвета Red = "#FF0000"Содержание главы 6.5 Цвета Blue = "#0000FF"
    Содержание главы 6.5 Цвета Purple = "#800080"Содержание главы 6.5 Цвета Teal = "#008080"
    Содержание главы 6.5 Цвета Fuchsia = "#FF00FF"Содержание главы 6.5 Цвета Aqua = "#00FFFF"
    Таким образом, значение "#800080" и "Purple" оба обозначают пурпурный цвет.

    Размер значений атрибутов


    6.6 Размер значений атрибутов

    HTML специфицирует три типа значений размера для атрибутов:
  • Pixels: Значение (%Pixels; в ОТД) является целочисленным/integer, представляя количество пикселов "канвы" (экрана, бумаги). таким образом, "50" означает 50 пикселов. Нормативную информацию об определении пиксела см. в [CSS1].
  • Length: Значение (%Length; в ОТД) может быть %Pixel; или процент от доступного вертикального или горизонтального пространства. Таким образом, "50%" означает половину доступного пространства.
  • MultiLength: Значение ( %MultiLength; в ОТД) может быть %Length; относительный размер. Относительный размер имеет форму "i*", где "i" - это целое число.
    Распределяя пространство между "конкурирующими" элементами, ПА сначала распределяет размер в пикселах или процентах, затем разделяет остающееся свободным пространство между "относительными размерами". Каждый "относительный размер" получает часть доступного пространства пропорционально целому числу с префиксом "*". Значение "*" эквивалентно "1*". Таким образом, если 60 пикселов пространства доступны после того, как ПА распределяет пространство в пикселах и процентах, и "конкурирующие" относительные размеры - 1*, 2* и 3*, 1* будет выделено 10 пикселов, 2* - 20 пикселов и 3* - 30 пикселов.
  • Значения размера нейтральны к регистру.

    Типы содержимого/носителя (типы MIME)


    6.7 Типы содержимого/носителя (типы MIME)

    Примечание: "Тип носителя" (определённый в [RFC2045] и [RFC2046]) специфицирует природу связанного ресурса. Эта спецификация использует термин "content type\тип содержимого", а не "media type\тип носителя", в соответствии с текущей практикой.
    В то же время, в этой спецификации, "media type" может относиться к дескрипторам там, где ПА воспроизводит документ.
    Этот тип представлен в ОТД: %ContentType;.
    Тиры содержимого нечувствительны к регистру.
    Примеры типа содержимого: "text/html", "image/png", "image/gif", "video/mpeg", "text/css" и "audio/basic".
    Текущий список зарегистрированных MIME-типов см. в [MIMETYPES].

    Коды языка


    6.8 Коды языка

    Значение атрибута, чей тип - код языка ( %LanguageCode в ОТД), ссылается на код языка, специфицированный в [RFC1766], раздел 2.
    О том, как специфицировать код языка в HTML, см. в разделе коды языка. Пробелы внутри кода языка недопустимы.
    Коды языка нечувствительны к регистру.

    Кодировка


    6.9 Кодировка

    Атрибуты "charset" (%Charset в ОТД) ссылаются на кодировку символов, как описано в разделе кодировка символов. Значения должны быть строками (напр., "euc-jp") из регистра IANA (см. полный список в [CHARSETS]).
    Наименования кодировки символов нечувствительны к регистру.
    Пользовательские агенты (ПА) должны осуществлять серию шагов, предусмотренных в разделе определения кодировки символов, чтобы определить характер кодировки внешнего ресурса.

    Базовые типы данных HTML

    6. Базовые типы данных HTML

    Содержание
  • Регистр
  • Базовые типы SGML
  • Текстовые строки
  • URI
  • Цвета
  • Использование цветов
  • Размер значений атрибутов
  • Типы содержимого (MIME-типы)
  • Коды языка
  • Кодировка символов
  • Отдельные символы
  • Дата и время
  • Типы ссылок
  • Медиа-дескрипторы (дескрипторы типа носителя)
  • Данные сценариев
  • Данные таблиц стилей
  • Имя целевого фрэйма
  • Этот раздел спецификации описывает базовые типы данных, которые могут быть элементами содержимого или значениями атрибутов.
    Вводную информацию о том, как читать ОТД (DTD) HTML, см. в справочнике SGML.

    Введение


    7.1 Введение

    Документ HTML 4 состоит из трёх частей:
  • строка, содержащая информацию о версии HTML,
  • объявляющий раздел header/"шапка" (ограниченный элементом HEAD),
  • тело, содержащее собственно сам документ. Тело может выполняться в элементах BODY или FRAMESET.
  • Пробельные символы (пробелы, символы новой строки, символы табуляции и комментарии) могут появляться до или после этого раздела. Разделы 2 и 3 должны быть в границах элемента HTML.
    Вот пример простого документа HTML:
    My first HTML document Hello world!

    Информация о версии HTML

    7.2 Информация о версии HTML

    Корректный документ HTML объявляет, какую версию HTML использует данный документ. Объявление типа документа именует определение типа документа (ОТД) для использования в этом документе (см. [ISO8879]).
    HTML 4.01 специфицирует три ОТД, таким образом, авторы обязаны включить в свой документ одно из нижеследующих объявлений типа документа. ОТД различаются тем, какие элементы они поддерживают.
  • HTML 4.01 Strict/Строгое ОТД включает все элементы и атрибуты, которые не являются не рекомендуемыми или не входят в документ типа "набор фрэймов". Для документов, использующих это ОТД, дайте такое объявление типа :
  • HTML 4.01 Transitional/Переходное ОТД включает всё из строгого ОТД плюс не рекомендуемые элементы и атрибуты (большинство из которых касается визуального представления). Для документов, использующих это ОТД, дайте такое объявление типа:
  • HTML 4.01 Frameset/Набор Фрэймов ОТД включает всё из переходного ОТД плюс сами фрэймы. Для документов, использующих это ОТД, дайте такое объявление типа:
  • URI в каждом из этих объявлений типа документа позволяет пользовательским агентам (ПА) загрузить необходимые ОТД наборы мнемоник. Следующие (относительные) URI ссылаются на ОТД и наборы мнемоник для HTML 4:
  • "strict.dtd" -- строгое ОТД ,по умолчанию
  • "loose.dtd" -- свободное ОТД
  • "frameset.dtd" -- ОТД для набора фрэймов
  • "HTMLlat1.ent" -- Latin-1 мнемоники
  • "HTMLsymbol.ent" -- мнемоники символов
  • "HTMLspecial.ent" -- специальные мнемоники
  • Связь между публичными идентификаторами и файлами может быть установлена с использованием файла каталога образцов в соответствии с форматом, рекомендованным Oasis Open Consortium (см. [OASISOPEN]). Файл каталога образцов HTML 4.01 включён в начало раздела справочной информации SGML для HTML. Последние две буквы в объявлении обозначают язык ОТД. Для HTML это всегда английский ("EN").
    Примечание. Начиная с версии HTML 4.01 от 24 декабря, the HTML Working Group придерживается следующей политики:
  • любые будущие изменения в ОТД HTML 4 не изменят корректности документов. соответствующих ОТД настоящей спецификации. The HTML Working Group оставляет за собой право корректировать обнаруженные "жучки";
  • программные средства, соответствующие ОТД настоящей спецификации, могут игнорировать возможности будущих ОТД HTML 4, которые ими не распознаются.
  • Это означает, что в объявлении типа документа авторы могут спокойно использовать системные идентификаторы, которые ссылаются на позднейшую версию ОТД HTML 4.
    Авторы могут также выбрать использование системных идентификаторов, ссылающихся на специфическую (датированную) версию ОТД HTML 4 при проверке необходимости наличия конкретного ОТД.
    W3C приложит соответствующие усилия для того, чтобы архивные документы были неограниченно доступны по своим оригинальным адресам и в своей оригинальной форме.

    Элемент HTML


    7.3 Элемент HTML

    HTML O O (%html.content;) -- корневой элемент документа --> %i18n; -- lang, dir -- > Начальный тег: не обязателен, Конечный тег: не обязателен
    Определение атрибута
    version = cdata [CN] Не рекомендуется. Значением этого атрибута является версия ОТД HTML, под управлением которого создан текущий документ. Этот атрибут не рекомендуется использовать, поскольку он является излишним при наличии информации о версии, предоставляемой объявлением типа документа. Атрибут, определённый в другом месте
  • lang (язык), dir (направление текста)
  • После объявления типа документа, остальной документ HTML является содержимым элемента HTML.
    Таким образом, типичный документ HTML имеет такую структуру:
    ...элементы head, body и т.п. идут здесь...

    Элемент HEAD

    7.4.1 Элемент HEAD

    HEAD O O (%head.content;) +(%head.misc;) -- "шапка" документа --> %i18n; -- lang, dir -- profile %URI; #ПРЕДПОЛАГАЕТСЯ -- именованный словарь метаинформации -- > Начальный тег: не обязателен, Конечный тег: не обязателен
    Определение атрибута
    profile = uri [CT] Определяет размещение одного или более профилей метаданных, разделённых пробелами. С учётом будущих расширений, ПА должны рассматривать значение как список, даже если в данной спецификации значащим является только первый URI. Профили обсуждаются ниже в разделе метаданные. Атрибут, определённый в другом месте
  • lang (язык), dir (направление текста)
  • Элемент HEAD содержит информацию о текущем документе, такую как название/title, ключевые слова, которые могут оказаться полезными при использовании маши поиска, и другие данные, не являющиеся содержимым документа. ПА вообще-то не должны отображать как содержимое документа информацию элемента HEAD. Они могут, однако, сделать информацию из HEAD доступной пользователю с помощью других механизмов.

    Элемент TITLE

    7.4.2 Элемент TITLE

    TITLE - - (#PCDATA) -(%head.misc;) -- Заголовок документа --> %i18n> Начальный тег: необходим, Конечный тег: необходим
    Атрибуты, определённые в другом месте
  • lang (язык), dir (направление текста)
  • Каждый документ HTML обязан элемент TITLE в разделе HEAD.
    Авторы должны использовать элемент TITLE для идентификации содержимого документа. Поскольку пользователи часто обращаются к документам вне контекста, авторы должны предоставлять осмысленные заголовки. Таким образом, вместо такого заголовка, как "Introduction", который не даёт достаточно информации о документе, авторы должны записать, например, так: "Introduction to Medieval Bee-Keeping".
    Из соображений доступности документов, ПА всегда должны делать содержимое элемента TITLE доступным для пользователя (включая элемент TITLE фрэймов).
    Конкретный механизм выполнения этого зависит от ПА (т.е. заглавие, фраза).
    Заголовок может содержать символьные мнемоники (для изображения букв с акцентами, специальных символов и т.д.), но не может содержать разметку (в том числе и комментарии).
    Вот пример заголовка:
    A study of population dynamics ...другие элементы "шапки"... ...тело документа...

    Атрибут title

    7.4.3 Атрибут title

    Определение атрибута
    title = text [CS] Этот атрибут предоставляет информативные данные об элементе, в котором он содержится. В отличие от элемента TITLE, который даёт информацию обо всём документе и может появиться в документе только один раз, атрибут title может содержаться в любом количестве элементов. См. определения элементов, чтобы удостовериться, что они поддерживают этот атрибут.
    Значения атрибута title по разному могут рассматриваться ПА. К примеру, визуальные браузеры часто отображают title как "подсказку" (краткое сообщение, появляющееся при наведении указательного устройства на объект). Аудио ПА могут "произносить" информацию заголовка в аналогичном контексте. Например, установка этого атрибута для гиперссылки позволяет ПА (визуальным и не-) сделать сообщение о связанном ресурсе:
    ...какой-нибудь текст... Here's a photo of me scuba diving last summer ...ещё какой-нибудь текст... Атрибут title при использовании с элементом LINK дополнительно играет роль указателя на внешнюю таблицу стилей. См. детали в разделе гиперссылки и таблицы стилей.
    Примечание. Для улучшения качества воспроизведения голосового синтеза, будущие версии HTML могут включать атрибут для введения фонетической и голосовой информации.

    Метаданные

    7.4.4 Метаданные

    Примечание. The W3C Resource Description Framework (Структура Описания Ресурса) (см. [RDF10]) стал W3C Recommendation в феврале 1999 года. RDF даёт авторам возможность специфицировать читаемые машиной метаданные о документах HTML и других ресурсах, доступных в сети.
    HTML позволяет авторам специфицировать метаданные - информацию о самом документе, а не о его содержимом - различными способами.
    Например, чтобы специфицировать автора документа, можно использовать элемент META:
    Элемент META определил свойство (здесь - "Author") и установил ему значение (здесь - "Dave Raggett").
    Эта спецификация не определяет набор действительных свойств метаданных. Значение свойства и набор действительных значений для этого свойства должны быть определены в справочном словаре, называемом профиль. Например, профиль, созданный для помощи поисковым машинам при индексировании документов, может определять свойства, такие как "author", "copyright", "keywords" и т.д.

    Шапка" документа

    7.4 "Шапка" документа


    Элемент BODY

    7.5.1 Элемент BODY

    BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- тело документа --> %attrs; -- %coreattrs, %i18n, %events -- onload %Script; #ПРЕДПОЛАГАЕТСЯ -- документ был загружен -- onunload %Script; #ПРЕДПОЛАГАЕТСЯ -- документ был удалён -- > Начальный тег: не обязателен, Конечный тег: не обязателен
    Определения атрибутов
    background = uri [CT] Не рекомендуется. Значением атрибута является URI, обозначающий источник изображения. Изображение обычно используется для размножения и заполнения фона (для визуальных браузеров). text = color [CI] Не рекомендуется. Устанавливает цвет текста (для визуальных браузеров). link = color [CI] Не рекомендуется. Цвет непосещённых гиперссылок (для визуальных браузеров). vlink = color [CI] Не рекомендуется. Цвет посещённых гиперссылок (для визуальных браузеров). alink = color [CI] Не рекомендуется. Цвет гиперссылок при выборе пользователем (для визуальных браузеров). Атрибуты, определённые в другом месте
  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (заголовок элемента)
  • style (инлайн-стиль)
  • bgcolor (цвет фона)
  • onload, onunload (внутренние события)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • В теле документа находится содержимое документа. Содержимое может быть представлено ПА разными способами. Например, для визуальных ПА можно представить тело как канву, на которой появляется содержимое: текст, изображения, цвета, графика и т.д. В аудио ПА то же содержимое может быть звучащей речью. Поскольку сейчас предпочтительно использование таблиц стилей для спецификации представления документа, атрибуты представления BODY не рекомендуются.
    НЕ РЕКОМЕНДУЕТСЯ:
    Этот фрагмент HTML иллюстрирует использование не рекомендуемых атрибутов.
    Здесь установлен белый цвет фона канвы, чёрный цвет текста, красный первоначальный цвет гиперссылок, фуксиновый при активации и коричневый после посещения.
    A study of population dynamics ... тело документа... Использование таблиц стилей приведёт к тому же результату:
    A study of population dynamics ... тело документа... Использование внешних (связанных) таблиц стилей позволяет более гибко управлять представлением, не пересматривая документ-источник HTML:
    A study of population dynamics ... тело документа... Наборы фрэймов и тело документа HTML. Документы, содержащие набор фрэймов, замещают элемент BODY элементом FRAMESET. См. раздел фрэймы.

    Идентификаторы элемента: атрибуты id и class


    7.5.2 Идентификаторы элемента: атрибуты id и class

    Определения атрибутов
    id = name [CS] Устанавливает имя элемента. Имя должно быть уникальным для данного документа. class = cdata-list [CS] Устанавливает имя класса или набор имён классов для элемента. Любому количеству элементов может быть назначено то же имя или имена класса. Множественные имена классов могут разделяться пробельными символами. Атрибут id назначает элементу уникальны идентификатор (который может проверяться разборщиком SGML). Например, следующие параграфы различаются значениями своих id:

    Этот параграф имеет уникальное имя.

    Этот параграф тоже имеет уникальное имя.
    Атрибут id имеет несколько ролей в HTML:

  • переключатель таблиц стилей;
  • anchor/якорь назначения для гипертекстовых ссылок;
  • как значение для ссылки на конкретный элемент из скрипта;
  • как имя объявленного элемента OBJECT;
  • для общих надобностей обработки в ПА (напр., для идентификации полей при извлечении данных из страниц HTML в базы данных, переводе документов HTML в другие форматы и т.п.).
  • Атрибут class одновременно назначает элементу одно или более имён классов; можно сказать, что элемент принадлежит данным классам. Имя класса может разделяться несколькими объектами элемента. Атрибут class имеет несколько ролей в HTML:
  • переключатель таблиц стилей (если автор захочет назначить информацию о стиле нескольким элементам);
  • для общих надобностей обработки в ПА.
  • В следующем примере элемент SPAN используется вместе с атрибутами id и class для разметки сообщений документа. Сообщения появляются в английской и французской версиях.
    Variable declared twice Undeclared variable Bad syntax for variable name Variable déclarée deux fois Variable indéfinie Erreur de syntaxe pour variable Следующие правила CSS (Каскадной Таблицы Стилей) могут сообщить визуальным ПА, что необходимо отобразить информационные сообщения зелёным цветом, предупреждения - жёлтым, а ошибки - красным:
    SPAN.info { color: green } SPAN.warning { color: yellow } SPAN.error { color: red } Обратите внимание, что французское "msg1" и английское "msg1" не могут появляться в одном документе, поскольку они разделяют одно значение id. Авторы могут также использовать атрибут id для уточнения представления определённых сообщений, делать их якорями назначения и т.п.
    Почти любому элементу HTML может быть назначен идентификатор и информация класса.
    Предположим, например, что мы создаём документ о языке программирования. Документ содержит несколько отформатированных примеров. Мы используем элемент PRE для форматирования примеров. Мы назначаем также цвет фона (зелёный) всем объектам элемента PRE, принадлежащих классу "example".
    ... заголовок документа ...
     ...здесь - код примера...
    
    Установив в этом примере атрибут id, мы можем
    (1) делать ссылки на класс и
    (2) переопределять информацию стиля класса с помощью объекта информации стиля.
    Примечание. Атрибут id разделяет то же пространство имён, что и атрибут name, когда используется для именования якоря. См. дополнительно раздел якоря с id.

    Элементы инлайн и уровня блока

    7.5.3 Элементы инлайн и уровня блока

    Некоторые элементы HTML, которые могут появляться в BODY, называются "элементы уровня блока", а другие - "inline/инлайн" (известные также как "text level/уровня текста"). Значение может быть выведено из нескольких понятий:
    Модель содержимого Вообще, элементы уровня блока могут содержать инлайн-элементы и другие элементы уровня блока. Вообще, инлайн-элементы могут содержать только данные и другие инлайн-элементы. Сущностью этого структурного отличия является идея, что элементы блока создают более "широкие" структуры, чем инлайн-элементы. Форматирование По умолчанию элементы уровня блока форматируются иначе, нежели инлайн-элементы.
    Как правило элементы уровня блока начинаются с новой строки, а инлайн-элементы - нет. Информацию о пробелах, разрывах строки и форматировании блоков см. в разделе о тексте. Направление (текста) По техническим причинам - включение двунаправленного текстового алгоритма [UNICODE], элементы уровня блока и инлайн различаются тем, как они наследуют информацию о направлении. См. детали в разделе наследование направления текста. Таблицы стилей предоставляют значения для спецификации представления произвольных элементов, в том числе - элементов уровня блока и инлайн-элементов. В некоторых случаях, таких как инлайн-стиль элементов-списков, это подходит, но в целом авторам не рекомендуется таким образом переопределять согласованную интерпретацию элементов HTML.
    Изменение традиционных идиом представления для элементов уровня блока и инлайн также воздействует на двунаправленный текстовый алгоритм. См. раздел действие таблиц стилей на двунаправленность.

    Группирование элементов: элементы DIV и SPAN

    7.5.4 Группирование элементов: элементы DIV и SPAN

    DIV - - (%flow;)* -- общий язык/контейнер стиля --> %attrs; -- %coreattrs, %i18n, %events -- > SPAN - - (%inline;)* -- общий язык/контейнер стиля --> %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: необходим
    Атрибуты, определённые в другом месте
  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (заголовок элемента)
  • style (инлайн-стиль)
  • align (выравнивание)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • Элементы DIV и SPAN в сочетании с атрибутами id и class предоставляют общий механизм для добавления структуры к документу. Эти элементы определяют содержимое как инлайн (SPAN) или уровня блока (DIV), но не навязывают других идиом представления содержимого. Таким образом, авторы могут использовать эти элементы в сочетании с таблицами стилей, атрибутом lang и т.д. и приспособить HTML к выполнению нужных задач.
    Предположим, например, что мы хотим сгенерировать документ HTML, на основе информации из базы данных клиента. Поскольку HTML не имеет элементов, идентифицирующих объект, таких как "client", "telephone number", "email address" и т.д., мы используем DIV и SPAN для достижения желаемого структурного эффекта и представления. Можно использовать элемент TABLE для структурирования информации:
    Client information:
    Last name:Boyera
    First name:Stephane
    Tel:(212) 555-1212
    Email:sb@foo.org
    Client information:
    Last name:Lafon
    First name:Yves
    Tel:(617) 555-1212
    Email:yves@coucou.com
    Позже мы легко можем добавить объявление таблицы стилей для более точной настройки представления объектов этой базы данных.
    Другие примеры использования см. в разделе атрибуты class и id.
    Визуальные ПА обычно помещают разрыв строки перед и после элементов DIV, например:
    aaaaaaaaa
    bbbbbbbbb
    cccccccccc
    что обычно отображается так:
    aaaaaaaaa bbbbbbbbb ccccc ccccc

    Заголовки: элементы H1, H2,

    7.5. 5 Заголовки: элементы H1, H2, H3, H4, H5, H6

    H1|H2|H3|H4|H5|H6"> %heading;) - - (%inline;)* -- заголовок %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: необходим

    Атрибуты, определённые в другом месте

  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (заголовок элемента)
  • style (инлайн-стиль)
  • align (выравнивание)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • Элемент heading кратко описывает смысл раздела, которому он предшествует. Информация заголовка может использоваться ПА, например, для автоматического создания оглавления документа.

    Имеется шесть уровней заголовков HTML: от H1 (самый крупный/верхний) до H6. Визуальные браузеры обычно отображают более значительный заголовок более крупным шрифтом.

    В этом примере видно, как с помощью элемента DIV ассоциировать заголовок с разделом документа, который следует за ним. Это позволит Вам определить таблицу стилей для данного раздела (фон, шрифт и т.д.).

    Forest elephants

    In this section, we discuss the lesser known forest elephants. ...раздел продолжается...

    Habitat

    Forest elephants do not live in trees but among them. ...этот раздел продолжается...
    Эта структура может быть украшена с помощью таблицы стилей:

    ... заголовок документа ... Нумерованные разделы и ссылки.
    HTML сам по себе не генерирует номера разделов в соответствии с заголовками. Это может, однако, выполняться некоторыми ПА. В ближайшем будущем языки таблиц стилей, такие как CSS, позволят авторам управлять генерацией заголовков разделов (что может пригодиться для создания ссылок в печатных документах (см. раздел 7.2).

    Некоторые считают скрывание уровней заголовков плохой практикой. Они принимают H1 H2 H1 не принимают H1 H3 H1, поскольку во втором случае заголовок уровня H2 пропущен.

    Элемент ADDRESS

    7.5.6 Элемент ADDRESS

    %inline;)* -- информация об авторе --> %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: необходим
    Атрибуты, определённые в другом месте
  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (заголовок элемента)
  • style (инлайн-стиль)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • Элемент ADDRESS может использоваться авторами для указания контактной информации в документе или в большой части документа, например, в форме. Этот элемент часто появляется в начале или в конце документа.
    Например, страница на W3C Web-сайте, относящаяся к HTML, может содержать следующую контактную информацию:
    Dave Raggett, Arnaud Le Hors, contact persons for the W3C HTML Activity
    $Date: 1999/12/24 23:07:14 $


    Тело документа


    7.5 Тело документа


    Общая структура документа HTML

    7. Общая структура документа HTML

    Содержание
  • Введение
  • Информация о версии HTML
  • Элемент HTML
  • "Шапка" документа
  • Элемент HEAD
  • Элемент TITLE
  • Атрибут title
  • Метаданные
  • Спецификация метаданных
  • Элемент META
  • Профили метаданных
  • Тело документа
  • Элемент BODY
  • Идентификаторы элемента: атрибуты id и class
  • Элементы инлайн и уровня блока
  • Группирование элементов: элементы DIV и SPAN
  • Заголовки: элементы H1, H2, H3, H4, H5, H6
  • Элемент ADDRESS


  • Коды языка

    8.1.1 Коды языка

    Значением атрибута lang является код языка, идентифицирующий язык, используемый людьми для разговора, письма и других видов общения. Компьютерные языки исключены из кодов языка.
    [RFC1766] определяет и разъясняет коды языка, которые должны использоваться в документах HTML.
    Если говорить кратко, коды языка состоят из первичного кода и, возможно пустых, серий субкодов:
    language-code = primary-code ( "-" subcode )* Вот примеры кодов некоторых языков:
  • "en": английский,
  • "en-US": американский английский,
  • "en-cockney": Cockney-версия английского,
  • "i-navajo": навахо,
  • "x-klingon": тег "x" обозначает экспериментальный тег языка.
  • Двухсимвольные первичные коды зарезервированы для аббревиатур [ISO639].
    Двухсимвольные коды включают fr (французский), de (немецкий), it (итальянский), nl (фламандский), el (греческий), es (испанский), pt (португальский), ar (арабский), he (еврейский), ru (русский), zh (китайский), ja (японский), hi (хинди), ur (урду) и sa (санскрит).
    Любые двухбуквенный субкод понимается как код страны в [ISO3166].

    Наследование кодов языка

    8.1.2 Наследование кодов языка

    Элемент наследует информацию кода языка в следующем порядке (приоритет от высшего к низшему):
  • установлен атрибут lang в самом элементе;
  • установлен атрибут lang ближайшего элемента-предка (т.е. атрибут lang наследован);
  • заголовок HTTP "Content-Language" (который может быть сконфигурирован на сервере). Например: Content-Language: en-cockney
  • значения ПА по умолчанию и установки пользователя.
  • В этом примере основной язык документа - французский ("fr"). Один параграф объявлен как испанский ("es"), после которого возвращается основной язык (французский). Следующий параграф содержит фразу на внедрённом японском ("ja"), после чего возвращается основной язык (французский).
    Un document multilingue ...интерпретируется как французский...

    ...интерпретируется как испанский... ...снова интерпретируется как французский... ...французский текст прерывается японским... что-нибудь на японскомздесь снова продолжается французский... Примечание. Если ячейка занимает область из нескольких ячеек (span), то она может наследовать значение lang не из своего предка, а из первой ячейки в span . См. детали в разделе наследование выравнивания.

    Интерпретация кодов языка

    8.1.3 Интерпретация кодов языка

    В контексте HTML код языка должен интерпретироваться ПА как иерархия понятий, а не отдельное понятие. Когда ПА уточняет отображение, используя информацию о языке (путём сравнения кодов языка таблиц стилей и значений атрибута lang), он всегда должен находить точное совпадение, но должен также учитывать совпадение основных кодов. Таким образом, если значение атрибута lang "en-US" установлено для элемента HTML, ПА должен сначала отдать предпочтение информации, совпадающей с "en-US", а уже затем - с более общим значением "en".
    Примечание. Иерархии кодов языка не гарантируют, что все языки с обычным префиксом будут свободно пониматься, но они (иерархии) позволяют пользователю запрашивать эту сообщность, если для пользователя это является верным.

    Спецификация языка содержимого: атрибут lang


    8.1 Спецификация языка содержимого: атрибут lang

    Определение атрибута lang = language-code [CI] Этот атрибут определяет базовый язык значений атрибутов элементов и содержимого текста. По умолчанию значение этого атрибута неизвестно. Информация о языке, определённая атрибутом lang, может быть использована Пользовательским Агентом (ПА) для управления представлением различными путями.
    Вот некоторые ситуации, где предоставленная автором информация о языке может быть полезной:
  • содействие поисковым машинам;
  • содействие речевым синтезаторам;
  • помощь ПА в выборе вариантов глифов для высококачественной печати;
  • помощь ПА в выборе вариантов кавычек;
  • помощь ПА в принятии решений о дефисах, лигатурах и пробелах;
  • помощь программам проверки правописания.
  • Атрибут lang определяет язык содержимого элемента и значений атрибутов. Относится ли это к соответствующему атрибуту, зависит от синтаксиса и семантики атрибута и выполняемой операции.
    Цель атрибута lang - создать ПА условия для более понятного представления содержимого на базе принятой для данного языка культурной практики. Это не означает, что ПА должны отображать нетипичные для конкретного языка символы менее осмысленным способом. ПА обязаны действовать наилучшим образом для отображения всех символов независимо от значений атрибута lang.
    Например, если символы греческого алфавита появляются в окружении английского текста:
    Her super-powers were the result of γ-radiation, he explained.
    ПА должен
    (1) попытаться представить английское содержимое соответствующим образом (например, при обработке знаков кавычек) и
    (2) обязан попытаться представить символ γ наилучшим образом, несмотря на то, что этот символ не является английской буквой.
    См. дополнительную информацию в разделе неотображаемые символы.

    Двунаправленный алгоритм. Введение.

    8.2.1 Двунаправленный алгоритм. Введение.

    Следующий пример иллюстрирует ожидаемое поведение двунаправленного алгоритма. Он включает английский, скрипт слева-направо, и еврейский языки, скрипт справа-налево:
    english1 HEBREW2 english3 HEBREW4 english5 HEBREW6 Символы в этом примере (и во всех подобных) хранятся на компьютере таким образом: первый символ в файле - "e", второй - "n" и последний - "6".
    Предположим, преобладающий язык документа, содержащего этот параграф, английский. Это означает, что базовое направление - слева-направо. Корректное представление этого:
    english1 2WERBEH english3 4WERBEH english5 6WERBEH <------ <------ <------ H H H -------------------------------------------------> E Линии обозначают структуру предложения: английский - основной, а еврейский - внедрён. Достичь корректного представления можно без дополнительной разметки, поскольку еврейские фрагменты корректно повёрнуты ПА с применением двунаправленного алгоритма.
    Если наоборот, преобладающий язык документа - еврейский, то базовое направление - справа-налево. Тогда корректное представление:
    6WERBEH english5 4WERBEH english3 2WERBEH english1 -------> -------> -------> E E E <------------------------------------------------- H В этом случае, всё предложение представлено как текст справа-налево, и внедрённая последовательность символов на английском соответствующим образом повёрнута с помощью двунаправленного алгоритма.

    Наследование информации о направлении текста

    8.2.2 Наследование информации о направлении текста

    Двунаправленный алгоритм Unicode требует наличия базового направления для текстовых блоков. Чтобы определить базовое направление элементов на уровне блока, установите атрибут dir в элементе. Значение атрибута dir по умолчанию - "ltr" (left-to-right/слева-направо).
    Если атрибут dir установлен для элементов уровня блока, он действует на период существования самого элемента и всех вложенных элементов уровня блока. Установка атрибута dir во вложенном элементе переопределяет наследованное значение.
    Чтобы установить базовое направление текста для всего документа, установите атрибут dir элемента HTML.
    Например:
    ...заглавие справа-налево... ...текст справа-налево...

    ...текст слева-направо...
    ...снова текст справа-налево...
    В то же время, инлайн-элементы не наследуют атрибут dir. Это значит, что инлайн-элемент без атрибута dir не открывает дополнительный уровень в установке двунаправленного алгоритма. (Элемент рассматривается здесь как уровня инлайн или блока на основе его представления по умолчанию. Обратите внимание, что элементы INS и DEL могут быть уровня блока или инлайн в зависимости от контекста.)

    Установка направления внедрённого текста

    8.2.3 Установка направления внедрённого текста

    Двунаправленный алгоритм [UNICODE] автоматически поворачивает внедрённые последовательности символов в соответствии с их унаследованным направлением (как показано в предыдущих примерах). Однако в целом только один уровень внедрения может быть просчитан. Чтобы установить дополнительные уровни внедрённых изменений направления, придётся использовать атрибут dir в инлайн-элементах.
    Рассмотрим тот же текст, что и ранее:
    english1 HEBREW2 english3 HEBREW4 english5 HEBREW6 Предположим, преобладающим языком документа, содержащего этот параграф, является английский. С другой стороны, это предложение на английском содержит раздел на еврейском от HEBREW2 до HEBREW4, и раздел на еврейском содержит в себе английский (english3). Нужное представление предложения таково:
    english1 4WERBEH english3 2WERBEH english5 6WERBEH -------> E <----------------------- H -------------------------------------------------> E Чтобы выполнить два изменения направления, мы должны предоставить дополнительную информацию путём явного разграничения. В этом примере мы используем элемент SPAN и атрибут dir для разметки текста:
    english1 HEBREW2 english3 HEBREW4 english5 HEBREW6 Авторы могут также использовать специальные символы Unicode для выполнения множественных внедрённых изменений направления текста. Для получения внедрения "слева-направо", окружите внедряемый текст символами LEFT-TO-RIGHT EMBEDDING ("LRE", 16-ричная 202A) и POP DIRECTIONAL FORMATTING ("PDF", 16-ричная 202C). Для получения внедрения "справа-налево", окружите внедряемый текст символами RIGHT-TO-LEFT EMBEDDING ("RTE", 16-ричная l 202B) и PDF.
    Использование разметки направления HTML с символами Unicode. Авторы и разработчики авторских программных продуктов должны знать, что конфликты могут увеличиться, если атрибут dir в инлайн-элементах (включая BDO) соседствует с символами форматирования [UNICODE]. Лучше использовать то или другое. Метод разметки даёт больше гарантии структурной целостности документа и облегчает решение некоторых проблем при редактировании двунаправленного текста HTML в простом текстовом редакторе, но некоторые программы могут быть более адаптированы к использованию символов [UNICODE]. Если используются оба метода, нужно быть очень внимательным, устанавливая вложенную разметку и внедрённые изменения направления, иначе результаты отображения могут быть непредсказуемыми.

    Переопределение двунаправленного алгоритма: элемент BDO

    8.2.4 Переопределение двунаправленного алгоритма: элемент BDO

    BDO - - (%inline;)* -- I18N BiDi over-ride --> %coreattrs; -- id, class, style, title -- lang %LanguageCode; #ПРЕДПОЛАГАЕТСЯ -- код языка -- dir (ltr|rtl) #НЕОБХОДИМ -- направление -- > Начальный тег: необходим, Конечный тег: необходим
    Определение атрибута
    dir = LTR | RTL [CI] Этот обязательный атрибут определяет базовое направление текста в содержимом элемента. Это направление переопределяет унаследованное направление символов, как указано в [UNICODE]. Возможные значения:
  • LTR: Left-to-right/слева-направо;
  • RTL: Right-to-left/справа-налево.
  • Атрибут, определённый в другом месте
  • lang (информация о языке)
  • Двунаправленного алгоритма и атрибута dir обычно достаточно для обслуживания внедрённых изменений направления. Однако, в некоторых ситуациях двунаправленный алгоритм может быть причиной некорректного представления. Элемент BDO позволяет авторам отключить двунаправленный алгоритм в определённом фрагменте текста.
    Рассмотрим документ, содержащий текст:
    english1 HEBREW2 english3 HEBREW4 english5 HEBREW6 и представим, что этот текст уже выведен в таком визуальном порядке. Причиной этого может быть то, что стандарт MIME ([RFC2045], [RFC1556]) отдаёт преимущество визуальному расположению, т.e. что последовательности текста "справа-налево" вставляются справа-налево в потоке байтов.
    В email этот пример может быть сформатирован с включением символов новой строки:
    english1 2WERBEH english3 4WERBEH english5 6WERBEH Это конфликтует с двунаправленным алгоритмом [UNICODE], поскольку этот алгоритм повернёт 2WERBEH, 4WERBEH и 6WERBEH вторично, отображая еврейские слова слева-направо вместо справа-налево.
    Решением в данном случае будет переопределение двунаправленного алгоритма помещением отрывка Email в элемент PRE (для сохранения символов новой строки) и каждой строки в элемент BDO, атрибут dir которого установлен в LTR:
     english1 2WERBEH english3 4WERBEH english5 6WERBEH 
    Это говорит двунаправленному алгоритму "Оставь меня слева-направо!" и должно создать желаемое представление:
    english1 2WERBEH english3 4WERBEH english5 6WERBEH Элемент BDO должен использоваться в конструкциях, где нужен полный контроль за порядком расположения (напр., несколько многоязычных частей). Наличие атрибута dir для этого элемента обязательно.
    Авторы могут также использовать специальные символы Unicode для переопределения двунаправленного алгоритма. -- LEFT-TO-RIGHT OVERRIDE (202D) или RIGHT-TO-LEFT OVERRIDE (202E). Символ POP DIRECTIONAL FORMATTING (202C) заключает любое переопределение двунаправленного алгоритма.
    Примечание. Напоминаем, что может увеличиться количество конфликтов, если атрибут dir в инлайн-элементах (включая BDO) соседствует с символами форматирования [UNICODE].
    Двунаправленность и кодировка символов. В соответствии с [RFC1555] и [RFC1556], существуют несколько специальных соглашений об использовании значений параметра "charset" для обозначения двунаправленного представления в MIME mail, в особенности для различения визуального, подразумеваемого, и явного указания направления. Значение параметра "ISO-8859-8" (для еврейского языка) обозначает визуальное кодирование, "ISO-8859-8-i" обозначает подразумеваемую двунаправленность и "ISO-8859-8-e" обозначает явную двунаправленность.
    Поскольку HTML использует двунаправленный алгоритм Unicode, соответствующие документы, кодированные с использованием ISO 8859-8, должны быть помечены как "ISO-8859-8-i". Явный контроль направления также возможен в HTML, но он не может быть выражен в ISO 8859-8, так что "ISO-8859-8-e" не должен использоваться.
    Значение "ISO-8859-8" подразумевает, что документ сформатирован визуально, с потерей некоторой разметки (такой как TABLE с правым выравниванием и запретом переноса слов), чтобы обеспечить верное отображение в более старых ПА, не обрабатывающих двунаправленность. Такие документы не соответствуют настоящей спецификации. При необходимости они могут быть оформлены в соответствии с настоящей спецификацией (и одновременно будут корректно отображаться в более старых ПА) путём добавления разметки BDO там, где это необходимо. В противоположность уже сказанному в [RFC1555] и [RFC1556], ISO-8859-6 (арабский язык) визуально не упорядочивается.

    Символьные мнемоники для указания направления и управление сращиванием

    8.2.5 Символьные мнемоники для указания направления и управление сращиванием

    Поскольку иногда возникают двусмысленные ситуации при установке направления определённых символов (напр., знаки препинания), спецификация [UNICODE] содержит символы для соответствующего разрешения таких ситуаций. Также Unicode включает некоторые символы управления поведением сращивания там, где это необходимо (напр., некоторые ситуации с арабскими буквами). HTML 4 включает символьные ссылки-мнемоники для таких символов.
    Следующий отрывок ОТД представляет некоторые мнемоники направления:
    Мнемоника zwnj используется для блокировки сращивания в контексте, когда сращивание есть, но нежелательно.
    Мнемоника zwj действует наоборот: она форсирует сращивание, когда его не должно быть, но оно необходимо. Например, арабская буква "HEH" используется как сокращение от "Hijri", названия исламской календарной системы. Поскольку изолированно форма "HEH" похожа на цифру пять, как принято в арабском письме (на базе индийской нумерации), для предотвращения конфликтов "HEH" с конечной цифрой пять в обозначении года используется начальная форма "HEH". В то же время, отсутствует контекст (т.е. сращивание букв), к которому "HEH" можно присоединить. Символ zwj обеспечивает такой контекст.
    Также в персидских текстах встречаются случаи, когда буквы, которые обычно могут сращиваться с последующими, в курсивном соединении не делают этого. Символ zwnj используется для блокировки сращивания в таких случаях.
    Другие символы, lrm и rlm, используются для форсирования направленных или нейтрально направленных символов. Например, если знак двойной кавычки вставляется между арабскими (справа-налево) и латинскими (слева-направо) буквами, направление знака кавычки на определено (закавычивает ли она арабский или латинский текст?). Символы lrm и rlm имеют свойство направления, но не имеют свойств ширины и разрыва слов/строки. См. детали в [UNICODE].
    "Зеркальные" глифы символов. Вообще двунаправленный алгоритм не отражает "зеркально" глифы символов, а оставляет их без воздействия. исключение составляют символы, такие как скобки (см. [UNICODE], таблица 4-7). В тех случаях, когда зеркальное отражение необходимо, например, для египетских иероглифов или греческих Bustrophedon, или для достижения специальных дизайнерских эффектов, этим можно управлять с помощью стилей.

    Действие таблиц стилей на двунаправленность

    8.2.6 Действие таблиц стилей на двунаправленность

    В целом, использование таблиц стилей для изменения визуального представления элементов с уровня блока на инлайн и наоборот является более прямым путём. Однако, поскольку двунаправленный алгоритм основывается на различении уровней блок/инлайн, необходимо особое внимание при обеспечении трансформации.
    Если инлайн-элемент, не имеющий атрибута dir, трансформируется в элемент уровня блока с помощью таблицы стилей, он наследует атрибут dir от ближайшего родительского блок-элемента для определения базового направления блока.
    Если блок-элемент, не имеющий атрибута dir, трансформируется в стиль инлайн-элемента с помощью таблицы стилей, результат представления должен быть эквивалентным, в плане двунаправленного форматирования, форматированию, получаемому путём явного добавления атрибута dir (с установкой наследуемого значения) к трансформируемому элементу.

    Спецификация направления в тексте и в таблицах: атрибут dir


    8.2 Спецификация направления в тексте и в таблицах: атрибут dir

    Определение атрибута
    dir = LTR | RTL [CI] Определяет направление движения изначально нейтрального текста (т.е. текста, который не имеет унаследованного направления, как определено в [UNICODE]), из содержимого элемента и значений атрибута. Устанавливает также направление в таблицах.
    Возможные значения:
  • LTR: слева-направо, текст или таблица;
  • RTL: справа-налево: текст или таблица.
  • В дополнение к спецификации языка документа с помощью атрибута lang, авторам может понадобиться определить базовое направление (слева-направо или справа-налево) части текста документа, структуры таблицы и т.д. Это устанавливается в атрибуте dir.
    Спецификация [UNICODE] назначает направление символам и определяет (сложный) алгоритм для определения соответствующего направления текста. Если документ не содержит отображаемых справа-налево символов, то от соответствующего ПА не требуется применять двунаправленный алгоритм [UNICODE]. Если документ содержит отображаемые справа-налево символы и если ПА отображает эти символы, ПА обязан использовать двунаправленный алгоритм.
    Хотя Unicode специфицирует символы с направлением текста, HTML предлагает высокоуровневые конструкции разметки, которые делают то же самое: атрибут dir (не путайте с элементом DIR) и элемент BDO. Таким образом, для отображения еврейских кавычек более интуитивно понятно будет записать:
    ...еврейские кавычки... чем то же самое в мнемониках Unicode:
    ‫״...еврейские кавычки...״‬ ПА не должны использовать атрибут lang для определения направления текста.
    Атрибут dir наследуется и может быть переопределён. См. детали в разделе информация о наследовании направления текста.

    Информация о языке и направлении текста

    8. Информация о языке и направлении текста

    Содержание
  • Спецификация языка содержимого: атрибут lang
  • Коды языка
  • Наследование кодов языка
  • Интерпретация кодов языка
  • Спецификация направления в тексте и в таблицах: атрибут dir
  • Двунаправленный алгоритм. Введение.
  • Наследование информации о направлении текста
  • Установка направления внедрённого текста
  • Переопределение двунаправленного алгоритма: элемент BDO
  • Символьные мнемоники для указания направления и управление сращиванием
  • Действие таблиц стилей на двунаправленность
  • В этом разделе обсуждаются два важных вопроса, которые влияют на интернационализацию HTML: спецификация языка (атрибут lang) и направление (атрибут dir) текста в документе.

    Пробелы


    9.1 Пробелы

    Наборы символов документа содержат большое количество разных пробельных символов. Многие из них являются типографскими элементами, используемыми в некоторых приложениях для создания особых визуальных эффектов. В HTML как пробельные символы определены только :
  • ASCII space/пробел ( )
  • ASCII tab/табуляция ( )
  • ASCII form feed/прогон страницы ( )
  • Zero-width space/нулевой пробел (​)
  • Переносы строк также являются пробельными символами. Обратите внимание, что, хотя 
 и 
 недвусмысленно определены в [ISO10646] как разделители строк и параграфов соответственно, они не образуют переносов строк в HTML, и данная спецификация не включает их в более общую категорию пробельных символов.
    Данная спецификация не определяет поведение и представление прочих символов пробела, кроме тех, которые явно указаны в ней как пробельные символы. В связи с этим авторы должны использовать подходящие элементы и стили для получения нужного форматирования с использованием свободного пространства, а не ограничиваться лишь пробельными символами.
    Для всех элементов HTML за исключением PRE, последовательности пробелов разделяют "слова" (мы используем здесь термин "слово" для обозначения "последовательности непробельных символов"). При форматировании текста, ПА (пользовательские агенты) должны идентифицировать эти слова и отделять их в соответствии с соглашениями конкретного языка (скрипта) и целевого носителя.
    Такой вывод может включать пробелы между словами (называемые межсловное пространство), но соглашения по межсловному пространству варьируются от языка к языку. Например, в языках с латиницей, межсловное пространство обычно представлено как пробел ASCII ( ), а в тайских - это нулевой пробел (​). В японском и китайском межсловное пространство обычно вообще не представляется.
    Обратите внимание, что последовательность межсловных пробелов между словами в документе-источнике может давать совершенно другое представление межсловного пространства (за исключением тех случаев, когда используется элемент PRE). Обычно ПА сжимают полученные на вводе последовательности пробелов при создании межсловного пространства на выходе. Это может и должно делаться даже при отсутствии информации о языке (в атрибуте lang, в поле "шапки" HTTP "Content-Language" (см. [RFC2616], раздел 14.12), в установках ПА и т.д.).
    Элемент PRE используется для форматирования текста, когда пробелы являются значащими.
    Чтобы избежать проблем с правилами обрыва строк SGML и несоответствий с сохранившимися ещё программами, авторы не должны доверять ПА отображать пробелы непосредственно после начального тега или непосредственно перед конечным тегом. Таким образом, авторы, и в особенности - авторские утилиты, должны записать:
    We offer free technical support for subscribers.
    а не:
    We offer free technical support for subscribers.


    Элементы абзаца: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ABBR и ACRONYM

    9.2.1 Элементы абзаца: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ABBR и ACRONYM

    EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE | ABBR | ACRONYM" > %fontstyle;|%phrase;) - - (%inline;)*> %fontstyle;|%phrase;) %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: необходим
    Атрибуты, определённые в другом месте
  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (название элемента)
  • style (инлайн стиль)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • Элементы абзаца добавляют структурную информацию к фрагментам текста. Обычно значение элементов абзаца таково:
    EM: Курсив. STRONG: Полужирный. CITE: Содержит цитату или ссылку на другой ресурс. DFN: Определение термина. CODE: Обозначает фрагмент компьютерного кода. SAMP: Образец вывода программ, скриптов и т.п. KBD: Обозначает текст, введённый пользователем. VAR: Аргумент переменной или программы. ABBR: Сокращённая форма (напр., WWW, HTTP, URI, Mass. и т.д.). ACRONYM: Акроним (напр., WAC, radar и т.п.). EM и STRONG используются для выделения текста. Другие элементы параграфа имеют специальные значения в технической документации. Вот примеры использования некоторых элементов абзаца:
    As Harry S. Truman said, The buck stops here. More information can be found in [ISO-0000]. Please refer to the following reference number in future correspondence: 1-234-55 Представление элементов абзаца зависит от ПА. Обычно визуальные ПА представляют EM текст курсивом, а STRONG текст полужирным шрифтом. ПА с голосовым синтезом могут менять параметры синтеза, такие как уровень громкости, высота и диапазон.
    Элементы ABBR и ACRONYM позволяют авторам точно обозначить появления аббревиатур и акронимов.
    В западных языках акронимы широко используются: "GmbH", "NATO" и "F.B.I.", также как и аббревиатуры: "M.", "Inc.", "et al.", "etc.".
    В китайском и японском используется аналогичный механизм сокращений, когда на полное имя ссылаются последовательностью символов набора Han. Разметка таких конструкций предоставляет полезную информацию для ПА и утилит, таких как проверка правописания, голосовые синтезаторы, системы перевода и индексирующие программы в поисковых машинах.
    Содержимое элементов ABBR и ACRONYM определяет само сокращённое выражение так, как оно нормально выглядит в тексте. Атрибут title этих элементов может использоваться для предоставления полной формы этих выражений.
    Вот образцы использования ABBR:
    WWW SNCF Doña abbr. Заметьте, что аббревиатуры и акронимы часто имеют варианты произнесения. Например, если "IRS" и "BBC" обычно произносятся буква за буквой, то "NATO" и "UNESCO" произносятся фонетически (как слова).
    К тому же, некоторые сокращённые формы (напр., "URI" и "SQL") произносятся некоторыми побуквенно, а другими - как слова. При необходимости, авторы должны использовать таблицы стилей для спецификации произношения сокращённых форм.

    Кавычки: элементы BLOCKQUOTE и Q


    9.2.2 Кавычки: элементы BLOCKQUOTE и Q

    BLOCKQUOTE - - (%block;|SCRIPT)+ -- полная форма ("закавычивания") --> %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #ПРЕДПОЛАГАЕТСЯ -- URI документа-источника или msg -- > Q - - (%inline;)* -- сокращённая инлайн-форма ("закавычивания") --> %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #ПРЕДПОЛАГАЕТСЯ -- URI документа-источника или msg -- > Начальный тег: необходим, Конечный тег: необходим
    Определение атрибута
    cite = uri [CT] Значением этого атрибута является URI, обозначающий источник документа или сообщения. Этот атрибут предназначается для сообщения информации о источнике, из которого заимствованы кавычки. Атрибуты, определённые в другом месте
  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (название элемента)
  • style (инлайн стиль )
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события )
  • Эти два элемента обозначают текст в кавычках. BLOCKQUOTE предназначен для полной формы (содержимое уровня блока), а Q - для краткой формы (инлайн содержимое), которая не требует разрывов параграфов.
    Это пример форматирует отрывок из "The Two Towers", J.R.R. Tolkien, блок в кавычках.
    They went in single file, running like hounds on a strong scent, and an eager light was in their eyes. Nearly due west the broad swath of the marching Orcs tramped its ugly slot; the sweet grass of Rohan had been bruised and blackened as they passed.


    Подиндекс и надиндекс: элементы SUB и SUP


    9.2.3 Подиндекс и надиндекс: элементы SUB и SUP

    SUB|SUP) - - (%inline;)* -- подиндекс, надиндекс --> %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: необходим
    Атрибуты, определённые в другом месте
  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (название элемента)
  • style (инлайн стиль )
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события )
  • Многие скрипты (напр., на французском) требуют над- или подиндексов для соответствующего представления. Элементы SUB и SUP должны использоваться для разметки текста в этих случаях.
    H2O E = mc2 Mlle Dupont

    Структурированный текст

    9.2 Структурированный текст


    Параграфы: элемент P

    9.3.1 Параграфы: элемент P

    P - O (%inline;)* -- параграф --> %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: не обязателен
    Атрибуты, определённые в другом месте
  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (название элемента)
  • style (инлайн стиль )
  • align (выравнивание)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события )
  • Элемент P представляет параграф. Он не может содержать элементы уровня блока (включая сам P).
    Мы не советуем авторам использовать пустые элементы P. ПА должны игнорировать пустые элементы P.

    Управление обрывом строки

    9.3.2 Управление обрывом строки

    Обрыв строки определён как символ возврата каретки ( ), символ прогона строки ( ) или пара символов возврат каретки/прогон строки. Все обрывы строк являются пробелами.
    Больше информации о SGML спецификации обрывов строк см. в примечаниях об обрыве строки в приложении.

    Дефисы

    9.3.3 Дефисы

    В HTML имеются дефисы двух типов: обычный и "мягкий". Обычный дефис должен интерпретироваться в ПА как обычный символ. Мягкий дефис сообщает ПА о том, где может появляться обрыв строки.
    Браузеры, интерпретирующие мягкие дефисы, должны соблюдать следующую семантику: если строка оборвана на мягком дефисе, символ дефиса должен отображаться в конце первой строки; если строка не оборвана на мягком дефисе, ПА не должен отображать символ дефиса. Для таких операций, как поиск и сортировка, мягкий дефис должен всегда игнорироваться.
    В HTML обычный дефис представлен символом "-" (- или -). Мягкий дефис представляется ссылкой-мнемоникой ­ (­ или ­)

    Форматированный текст: элемент PRE

    9.3.4 Форматированный текст: элемент PRE

    PRE - - (%inline;)* -(%pre.exclusion;) -- форматированный текст --> %attrs; -- %coreattrs, %i18n, %events -- > Начальный тег: необходим, Конечный тег: необходим
    Определение атрибута
    width = number [CN] Не рекомендуется. Этот атрибут подсказывает ПА желаемую ширину форматированного блока. ПА может использовать эту информацию для выбора шрифта подходящего размера или установки соответствующих отступов. Ширина выражается несколькими символами. В данный момент этот атрибут не поддерживается достаточно широко. Атрибуты, определённые в другом месте
  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (название элемента)
  • style (инлайн стиль )
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события )
  • Элемент PRE сообщает визуальным ПА, что текст в этом элементе "форматирован". При обработке форматированного текста ПА:
  • могут оставить пробелы без изменений;
  • могут отображать текст шрифтом фиксированного размера;
  • могут отключить автоматический перенос слов;
  • не должны отключать двунаправленный процесс.
  • Невизуальным ПА не нужно учитывать пробелы в содержимом элемента PRE.
    Дополнительную информацию о SGML спецификации обрывов строки см. в замечаниях об обрыве строк в приложении.
    Предыдущий фрагмент ОТД указывает, какие элементы не могут появляться внутри объявления PRE. Это то же самое, что и в HTML 3.2, и предназначено для сохранения постоянных пробелов между строками и выравнивания колонок текста, отображаемого шрифтом фиксированной ширины. Авторам не рекомендуется изменять такое поведение с помощью таблиц стилей.
    Следующий пример показывает версию форматированной поэмы Shelly's "To a Skylark":
     Higher still and higher From the earth thou springest Like a cloud of fire; The blue deep thou wingest, And singing still dost soar, and soaring ever singest. 
    А вот как это обычно отображается:
    Higher still and higher From the earth thou springest Like a cloud of fire; The blue deep thou wingest, And singing still dost soar, and soaring ever singest. Символ горизонтальной табуляции.
    Символ горизонтальной табуляции (десятеричная 9 в [ISO10646] и [ISO88591] ) интерпретируется обычно визуальными ПА как наименьше ненулевое количество пробелов (8), после которых устанавливаются точки табуляции. Мы настоятельно не рекомендуем использовать горизонтальную табуляцию в форматированном тексте, поскольку обычно при редактировании устанавливают другие размеры табуляции, что приводит к нарушению выравнивания в документе.

    Визуальное представление параграфов


    9.3.5 Визуальное представление параграфов

    Примечание. Следующий раздел является информативным описанием того, как ведут себя некоторые из существующих визуальных ПА при форматировании параграфов. Таблицы стилей дают больший контроль над форматированием параграфов.
    То, как параграфы отображаются, зависит от ПА. Параграфы обычно выравниваются по левому краю с "рваным" правым обрезом. Другие значения по умолчанию предусмотрены для письма справа-налево.
    HTML ПА традиционно отображают параграфы с пропусками над и под, например,
    At the same time, there began to take form a system of numbering, the calendar, hieroglyphic writing, and a technically advanced art, all of which later influenced other peoples. Within the framework of this gradual evolution or cultural progress the Preclassic horizon has been divided into Lower, Middle and Upper periods, to which can be added a transitional or Protoclassic period with several features that would later distinguish the emerging civilizations of Mesoamerica. Это контрастирует со стилем, где есть отступы в первых строках параграфов и обычные расстояния между последней строкой одного и первой строкой другого параграфа, например,
    At the same time, there began to take form a system of numbering, the calendar, hieroglyphic writing, and a technically advanced art, all of which later influenced other peoples. Within the framework of this gradual evolution or cultural progress the Preclassic horizon has been divided into Lower, Middle and Upper periods, to which can be added a transitional or Protoclassic period with several features that would later distinguish the emerging civilizations of Mesoamerica. Следуя первоначальным установкам браузера NCSA Mosaic browser в 1993 г., ПА обычно не выравнивают оба края, отчасти из-за того, что это трудно сделать эффективно при отсутствии соответствующих шаблонов обработки переноса слов. Появление таблиц стилей и неподставляемых шрифтов с субпикселным позиционированием обещает авторам HTML новые широкие возможности.
    Таблицы стилей предоставляют точный контроль над размером и стилем шрифта, полями, пробелами над и под параграфом, отступом первой строки, выравниванием и многим другими деталями.
    Таблица стилей по умолчанию в ПА рассматривает элементы P в привычной форме, как показано выше. Можно в принципе переопределить это представление параграфов и отображать их без пробелов над и под параграфами. В общем, поскольку это может смутить пользователя, мы не рекомендуем этого делать.
    По соглашению, визуальные ПА HTML переносят строки, заполняя доступное пространство страницы. Алгоритмы переноса зависят от языка форматируемого текста.
    В западных языках, например, текст должен переноситься только на пробелах. Ранние ПА некорректно переносили строки или после начального тега, или перед конечным тегом элемента, что приводило к появлению знаков "висячей" пунктуации. Например, рассмотрите это предложение:
    A statue of the Cihuateteus, who are patron ... Перенос строки сразу перед конечным тегом элемента A вызывает появление запятой в начале новой строки:
    A statue of the Cihuateteus , who are patron ... Это ошибка, поскольку в этом месте в разметке не было пробела.

    Строки и параграфы

    9.3 Строки и параграфы

    Авторы традиционно выделяют свои мысли последовательностями параграфов. Организация информации по параграфам не зависит от того, как параграфы представляются: параграфы, выровненные по формату, содержат тот же текст, что и параграфы, выровненные влево.
    Разметка HTML, определяющая параграф, проста - это элемент P.
    Визуальное представление параграфа - не такое простое. Несколько позиций, стилистических и технических, должно быть определено:
  • трактовка пробелов
  • обрыв строки и перенос слов
  • выключка строк
  • дефисы
  • соглашения по языку и направлению текста
  • форматирование параграфов относительно окружающего содержимого
  • Мы рассмотрим эти вопросы далее. Выравнивание параграфов и всплывающие объекты рассматриваются далее в этом документе.

    Маркировка изменений документа: элементы INS и DEL


    9.4 Маркировка изменений документа: элементы INS и DEL

    INS|DEL) - - (%flow;)* -- вставленный текст, удалённый текст --> %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #ПРЕДПОЛАГАЕТСЯ -- информация о причинах изменений -- datetime %Datetime; #ПРЕДПОЛАГАЕТСЯ -- дата и время изменения -- > Начальный тег: необходим, Конечный тег: необходим
    Определения атрибутов
    cite = uri [CT] Значением данного атрибута является URI, указывающий на документ или сообщение-источник. Предполагается, что этот атрибут указывает на информацию, объясняющую, почему документ был изменён. datetime = datetime [CS] Определяет дату и время изменения документа. Атрибуты, определённые в другом месте
  • id, class (идентификаторы документа)
  • lang (язык), dir (направление текста)
  • title (название элемента)
  • style (инлайн стиль )
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события )
  • INS и DEL используются для маркировки разделов документа, которые были вставлены или удалены для сравнения с другими версиями документа (например, в проектах законов, где законодателям необходимо просматривать изменения).
    Эти два элемента необычны для HTML тем, что могут обрабатывать элементы уровня блока или инлайн-элементы (но не те и другие вместе). Они могут содержать одно или более слов в параграфе или один или более элемент уровня блока, такой как параграфы, списки или таблицы.
    Этот пример мог бы быть из билля, изменяющего закон о том, что округ Sheriff может теперь выбирать не 3, а 5 депутатов.
    A Sheriff can employ 35 deputies.
    Элементы INS и DEL не должны иметь содержимого уровня блока, если эти элементы действуют как инлайн-элементы.
    НЕВЕРНОЕ ИСПОЛЬЗОВАНИЕ:
    ...содержимое уровня блока...

    ПА должны отображать вставленный и удалённый текст так, чтобы это было заметно. К примеру, вставленный текст может быть выделен другим шрифтом, удалённый текст может вообще не выводиться или выводиться как перечёркнутый или со специальной маркировкой и т.д.
    Оба следующих примера относятся к 5 ноября 1994 г., 8:15:30 утра, US Eastern Standard Time.
    1994-11-05T13:15:30Z 1994-11-05T08:15:30-05:00 С использованием INS это выглядит так:
    Furthermore, the latest figures from the marketing department suggest that such practice is on the rise. Документ "http://www.foo.org/mydoc/comments.html" будет содержать комментарии о том, почему информация была вставлена в документ.
    Авторы могут также вводить комментарии во вставленном и удалённом тексте и в значениях атрибута title элементов INS и DEL. ПА могут показывать эту информацию пользователю (как всплывающие подсказки). Например:
    Furthermore, the latest figures from the marketing department suggest that such practice is on the rise.

    Текст

    9. Текст

    Содержание
  • Пробелы
  • Структурированный текст
  • Элементы абзаца: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ABBR и ACRONYM
  • Кавычки: элементы BLOCKQUOTE и Q
  • Представление кавычек
  • Подиндекс и надиндекс: элементы SUB и SUP
  • Строки и параграфы
  • Параграф: элемент P
  • Управление обрывом строк
  • Форсирование обрыва строки: элемент BR
  • Запрет обрыва строк
  • Дефисы
  • Форматированный текст: элемент PRE
  • Визуальное представление параграфов
  • Маркировка изменений документа: элементы INS и DEL
  • В этом разделе рассматриваются вопросы структурирования текста. Элементы, представляющие текст (элементы выравнивания, элементы шрифта, таблицы стилей и т.д.), обсуждаются по всей спецификации. Информацию о символах см. в разделе Набор символов документа.

    A.1.1 Изменения в спецификации


    A.1.1 Изменения в спецификации


    A.1.2 Замеченные ошибки


    A.1.2 Замеченные ошибки

    (Всё исправлено)



    A.1.3 Исправленные опечатки


    A.1.3 Исправленные опечатки

    (Всё исправлено)



    A.1.4 Разъяснения


    A.1.4 Разъяснения

    Раздел 3.2.1 В седьмом параграфе добавлено "назад до соответствующего начального тега" к "(т.е., они должны быть соответствующим образом вложены, конечный тег закрывает назад до соответствующего начального тега все незакрытые теги внутри с опущенными конечными тегами (раздел 7.5.1) и т.д.)." Раздел 3.2.4 Добавлено положение, что комментарии являются метками.Раздел 3.3.3 Во втором элементе списка изменить "конечный тег элемента" на "теги элементов". Раздел3.3.3.1В определении модели содержимого, "A" означает, что "A" должно появляться один и только один раз. Также добавлены "+(A)" и "-(A)" к разделу синтаксиса модели содержимого.Раздел7.4.2 Разъяснено, что TITLE может не содержать комментариев. Раздел10.3 Все употребления "крэкер" в этом разделе и его подразделах заменены на "хакер". Также определения "хакер" и "nerd" взяты из "The Hacker's Dictionary". Раздел13.7.2 Употребление атрибутов hspace и vspace не рекомендуется.Раздел13.7.4 Атрибут align не рекомендован для IMG, OBJECT и APPLET.



    A.1.5 Известные проблемы с браузерами


    A.1.5 Известные проблемы с браузерами

  • Некоторые версии Netscape Navigator 4.0X зависают при чтении 3 Главы предыдущей версии этой спецификации. Netscape знает об этом и устранил это в версии 4.5. Чтобы работать без этого "жучка", отмените Style Sheets (и возможно - JavaScript) в меню Edit/Preferences/Advanced.




  • A.1 Отличия версий HTML 4.02 от 4 апреля 1998 г. и HTML 4.01 от 24 декабря 1999 г.


    A.1 Отличия версий HTML 4.02 от 4 апреля 1998 г. и HTML 4.01 от 24 декабря 1999 г.

    В этом разделе описаны отличия спецификации версии HTML 4.01 24 декабря 1999 г. от спецификации версии HTML 4.0 24 апреля 1998 г.

    A.2.1 Замеченные ошибки

    A.2.1 Замеченные ошибки

    (Всё исправлено)



    A.2.2 Исправленные опечатки

    A.2.2 Исправленные опечатки

    (Всё исправлено)



    Отличия версий 18 декабря 1997

    A.2 Отличия версий 18 декабря 1997 и 24 апреля 1998

    Этот раздел описывает, чем версия спецификации HTML 4.0 от 24 апреля 1998 г. отличается от версии 18 декабря 1997 г.

    A.3.1 Элементы

    A.3.1 Элементы


    A.3.10 Таблицы стилей

    A.3.10 Таблицы стилей

    HTML 4.0 поддерживает широкий набор media-дескрипторов, так что авторы могут писать таблицы стилей, чувствительные к типу устройства.

    A.3.11 Фрэймы

    A.3.11 Фрэймы

    HTML 4.0 поддерживает фрэймы и inline/инлайн-фрэймы.

    A.3.12 Сценарии/scripting

    A.3.12 Сценарии/scripting

    Многие элементы обладают теперь атрибутами событий, что может быть соединено с возможностями скриптов: скрипт выполняется при возникновении события (напр., когда документ загрузился, нажата кнопка мыши и т.п.).

    A.3.13 Интернационализация

    A.3.13 Интернационализация

    HTML 4.0 интегрирует рекомендации [RFC2070] для интернационализации HTML.
    Однако, эта спецификация и [RFC2070] отличаются в следующем:
  • Атрибут accept-charset установлен для элемента FORM, а не для элементов TEXTAREA и INPUT.
  • Спецификация HTML 4.0 даёт дополнительные разъяснения о двунаправленном алгоритме.
  • Использование CDATA для определения элементов SCRIPT и STYLE не сохраняет возможность для транскодирования документов, как описано в разделе 2.1 в [RFC2070].


  • A.3.2 Атрибуты

    A.3.2 Атрибуты

  • Почти все элементы, определяющие вид документа HTML ( color, alignment, font, graphics и т.д.) не рекомендуется использовать. Вместо них нужно использовать каскадные таблицы стилей. В списке атрибутов в приложении отмечены не рекомендуемые атрибуты.
  • Атрибуты id и class позволяют авторам указать name и class - информацию таких элементов в таблицах стилей, как anchors, scripting, объявление объектов и т.д.




  • A.3.3 Доступность

    A.3.3 Доступность

    В HTML 4.0 внесены многочисленные изменения для того, чтобы обеспечить доступность:
  • Атрибут title может теперь быть установлен на практически каждый элемент.
  • Авторы могу предоставить длинное описание таблиц (см. атрибут summary), изображений и фрэймов (см. атрибут longdesc).


  • A.3.4 Данные meta

    A.3.4 Данные meta

    Авторы могут теперь установить профили, предоставляющие объяснения meta-данных, специфицированных элементами META или LINK.

    A.3.5 Текст

    A.3.5 Текст

  • Новые возможности интернационализации позволяют авторам определять направление текста и язык.
  • Элементы INS и DEL позволяют авторам помечать изменения в своих документах.
  • Элементы ABBR и ACRONYM позволяют авторам помечать аббревиатуры и акронимы в своих документах.




  • A.3.6 Гиперссылки

    A.3.6 Гиперссылки

  • Атрибут id делает любой элемент целевым элементом для якоря ссылки.




  • A.3.7 Таблицы

    A.3.7 Таблицы

    Модель таблиц HTML 4.0 превзошла всё до сих пор существовавшее в HTML+ и в HTML3.0. Предыдущие модели были расширены в соответствии с запросами провайдеров информации следующим образом:
  • Авторы могут установить, что таблицы отображаются частями, по мере получения данных ПАгентом.
  • Авторы могут сделать таблицы более доступными для пользователей с невизуальными ПА.
  • Авторы могут определить в таблицах заголовки и футеры. ПА могут получить при этом преимущества при прокрутке больших таблиц или просмотре таблиц в устройствах страничного просмотра.
  • Модель таблиц 4.0 также даёт возможность установки значений по умолчанию на базе столбцов, больше гибкости в определении табличных фрэймов и разметки и возможность выравнивать по определённым символам. Ожидается, однако что таблицы стилей в ближайшем будущем будут использоваться для представления таблиц.
    Кроме того, важной целью является обеспечение обратной совместимости с широко применяемой разработкой таблиц фирмы Netscape. Другой целью является упрощение импортирования таблиц в соответствии с моделью SGML CALS. Последние разработки делают атрибут align совместимым с последними версиями популярных браузеров. Некоторые разъяснения были даны о роли атрибута dir и рекомендуемом поведении при смешивании абсолютных и относительных параметров ширины столбца.
    Новый элемент COLGROUP введён для того, чтобы дать возможность группировать наборы столбцов различной ширины и выравнивания, установленных одним или несколькими элементами COL. Семантика COLGROUP разъяснена по сравнению с предыдущими разработками, и rules="basic" заменён на rules="groups".
    Атрибут style включён, как предполагается, для расширения свойств, ассоциированных с кромками и внутренней частью групп ячеек. Например, стиль линий: dotted, double, thin/thick и т.п., заполнение цвет/паттерн для внутренней части, поля ячеек и информация о шрифте. Всё это будет объектом соответствующей спецификации таблиц стилей.
    Атрибуты frame и rules модифицированы для устранения конфликтов имён SGML с другими и для избежания конфликтов с атрибутами align и valign. Эти изменения объясняются также желанием избежать в будущем проблем, если эта спецификация расширит использование атрибутов frame и rules с другими элементами таблиц.

    A.3.8 Изображения, объекты и карты изображений

    A.3.8 Изображения, объекты и карты изображений

  • Элемент OBJECT допускает родовое включение объектов.
  • Элементы IFRAME и OBJECT позволяют авторам создавать внедрённые документы.
  • Атрибут alt требуется для элементов IMG и AREA.
  • механизм создания карт изображений позволяет теперь авторам создавать более доступные карты изображений. Модель содержимого элемента MAP по этой причине изменена.




  • A.3.9 Формы

    A.3.9 Формы

    В этой спецификации вводятся новые элементы, воздействующие на формы:
  • Атрибут accesskey позволяет авторам устанавливать прямой доступ с клавиатуры к элементам управления.
  • Атрибут disabled позволяет авторам установить элемент управления в начальное положение "отключён".
  • Атрибут readonly позволяет авторам запретить изменения элемента формы.
  • Элемент LABEL ассоциирует надпись с определённым элементом формы.
  • Элемент FIELDSET группирует связанные поля и, при ассоциации с элементом LEGEND, может использоваться для именования группы. Оба эти элемента дают больше возможностей для представления документа и интерактивности. Речевые браузеры могут лучше описать форму, а графические браузеры - сделать лэйблы чувствительными.
  • Новый набор атрибутов, в сочетании со скриптами, дают возможность проверять данные, введённые пользователем, на стороне клиента.
  • Элемент BUTTON и INPUT с type, установленным в "button", могут использоваться в комбинации со скриптами для создания сложных форм.
  • Элемент OPTGROUP позволяет авторам группировать опции меню в SELECT, что особенно важно для доступности форм.
  • Дополнительные изменения в интернационализации.


  • A.3 Изменения в HTML 3.2 и HTML 4.0 (18 декабря 1997 г.)

    A.3 Изменения в HTML 3.2 и HTML 4.0 (18 декабря 1997 г.)

    В этом разделе объясняется, чем версия спецификации HTML 4.0 от 18 декабря 1997 г. отличается от HTML 3.2 ([HTML32]).

    Алгоритм автовывода

    Алгоритм автовывода

    Если количество столбцов не установлено элементами COL или COLGROUP, тогда ПА должен использовать алгоритм автовывода. Он использует два шага по данным таблицы и линеарно сканирует размер таблицы.
    На первом этапе перенос строк запрещён, и ПА отслеживает минимальную и максимальную ширину каждой ячейки.
    Максимальная ширина берётся по самой длинной строке. Пока перенос строк запрещён, параграфы рассматриваются как длинные строки, если только они не прерываются элементами BR.
    Минимальная ширина берётся по самому широкому элементу (слову, изображению и т.п.) с учётом ведущих отступов, значков списка и т.п. Другими словами, нужно определить минимальную ширину, которую ячейка может занимать в окне, прежде чем она начнёт переполняться. Разрешение для ПА разделять слова уменьшает необходимость горизонтальной прокрутки или, в худшем случае, сжатия содержимого ячейки.
    Этот же процесс применяется и к каждой вложенной в ячейке таблице. Минимальная и максимальная ширина ячеек во вложенной таблице используется, чтобы определить минимальную и максимальную ширину этих таблиц и, следовательно - самой ячейки родительской таблицы. Алгоритм линеарен по совокупному содержимому ячейки и, говоря шире, не зависит от глубины вложения.
    Для определения выравнивания содержимого ячейки, алгоритм делает три прохода min/max для каждого столбца: Left или align char, right или align char и unaligned. Минимальная ширина столбца тогда: max(min_left + min_right, min_non-aligned).
    Минимальная и максимальная ширина ячейки используются затем для определения соответствующих минимальной и максимальной ширины столбца. Они в свою очередь используются, чтобы найти минимальную и максимальную ширину таблицы. Обратите внимание, что ячейки могут содержать вложенные таблицы, но это не усложняет код существенно.
    Следующий шаг - установка ширины столбцов в соответствии доступным пространством (т.е. пространством между текущими правым и левым полями).
    Для ячеек, занимающих несколько столбцов, простой подход состоит в распределении min/max ширины равномерно между всеми столбцами.
    Слегка более усложнённый подход заключается в использовании min/max ширины нерасширенных ячеек для определения того, как распределяется ширина расширенных ячеек. Эксперименты показывают, что соединение этих двух подходов даёт хорошие результаты для широкого круга таблиц.
    Рамки таблицы и поля между ячейками должны учитываться при установке ширины столбцов. Есть три варианта:
  • Минимальная ширина таблицы равна или больше, чем доступное пространство. В этом случае установите минимальную ширину и разрешите пользователю горизонтальную прокрутку. Для конверсии по Брайлю нужно будет заменить ячейки ссылками на примечания, предоставляющие их полное содержание. По соглашению, это выводится перед таблицей.
  • Максимальная ширина таблицы соответствует доступному пространству. В этом случае установите максимальную ширину столбцов.
  • Максимальная ширина таблицы больше, чем доступное пространство, но минимальная ширина таблицы - меньше. В этом случае найдите разницу между доступным пространством и минимальной шириной таблицы, назовём её W. Назовём также Dразность между минимальной и максимальной шириной таблицы.Для каждого столбца d будет разностью между между минимальной и максимальной шириной этого столбца.
    Теперь установим ширину столбца на минимум плюс d раз W через D. Это установит столбцы с большей разностью максимальной и минимальной ширины более широкими, чем столбцы с меньшей разностью.
  • Этот установочный шаг затем повторяется для вложенных таблиц с использованием минимальной и максимальной ширины, выводимой для всех этих таблиц на первом шаге. В этом случае ширина ячейки родительской таблицы играет роль окна с текущими размерами в предыдущем описании. Этот процесс рекурсивно повторяется для всех вложенных таблиц. Самая верхняя таблица перерисовывается затем с учётом установленных величин. Вложенные таблицы последовательно рассматриваются как содержимое ячейки родительской таблицы.
    Если ширина таблицы установлена атрибутом width, ПА пытается установить соответствующую ширину столбцов. Атрибут width не связывается, если результат в колонках меньше, чем их минимум (т.е. неделимой) ширины.
    Если относительная ширина установлена элементом COL, алгоритм модифицируется, чтобы увеличить ширину столбцов выше минимальной ширины, чтобы удовлетворить ограничениям относительной ширины. Элементы COL рассматриваются только как подсказка, так что столбцы не должны устанавливаться меньше, чем их минимальная ширина. Таким же образом столбцы не должны быть такими широкими, что таблица растянется за пределы окна. Если элемент COL устанавливает относительную ширину в 0, столбец всегда должен быть установлен на свою минимальную ширину.
    При использовании двухшагового алгоритма позиция выравнивания по умолчанию, при отсутствии явного или наследуемого атрибута charoff, может быть определена выбором позиции, которая центрирует строки, для которых ширина до и после символа выравнивания установлена в максимальные значения для любой из строк столбца, в которых align="char". Для вывода таблицы частями, рекомендуемое значение charoff="50%". В разных ячейках различных рядов, для одного столбца используйте выравнивание символов, затем по умолчанию все эти ячейки должны быть выровнены line up, независимо от того. какой символ используется для выравнивания. Правила обработки слишком широких для столбца объектов применяются, если явное или подразумеваемое выравнивание даёт в результате количество данных, превосходящее установленную ширину столбца.
    Выбор имени атрибута. Лучше выбирать значения атрибута frame последовательно с атрибутом rules и значениями, используемыми для выравнивания. Например: none, top, bottom, topbot, left, right, leftright, all. К сожалению, SGML требует перечисляемых значений атрибута, уникальных для каждого элемента, не зависящих от имени атрибута. Это создаёт проблемы для "none", "left", "right" и "all". Значения атрибута frame выбирались так, чтобы исключить конфликты с атрибутами rules, align и valign. Это потребует в будущем большой корректуры, поскольку ожидается, что атрибуты frame и rules будут добавлены к другим элементам таблицы в последующих версиях спецификации. Альтернативой может стать установление frame атрибутом CDATA.
    Решением W3C HTML Working Group было то, что преимущества, даваемые использованием SGML утилитами проверки значения атрибутов на базе перечисляемых значений перевешивает необходимость в последовательном именовании.

    B.10.1 Вопросы безопасности форм

    B.10.1 Вопросы безопасности форм

    ПА не должны пересылать все файлы, запрашиваемые пользователем. Таким образом, HTML ПА должны требовать подтверждения обработки любых файлов, которые могут быть запрошены в атрибуте value элемента INPUT. Скрытые элементы управления не должны специфицировать файлы.
    Эта спецификация не содержит механизма шифровки данных; это должно выполняться каким-либо другим механизмом шифровки передачи данных.
    Как только файл загружен, ПА должен обработать и сохранить его соответствующим образом.

    B.10 Безопасность

    B.10 Безопасность

    Якоря, внедрённые изображения и др. элементы, содержащие URI, как параметры могу модифицировать URI в ответ на действия пользователя. В этом случае, необходимо рассмотреть вопросы безопасности в [RFC1738], раздел 6. Широко используемы методы отправки данных формы - HTTP и SMTP - не гарантируют конфиденциальности. Провайдеры, запрашивающие частную информацию с помощью форм, - особенно через элемент INPUT, type="password" - должны быть уверены, и убедить своих пользователей, в конфиденциальности передачи информации.

    B.2.1 Не-ASCII символы в значениях атрибутов URI

    B.2.1 Не-ASCII символы в значениях атрибутов URI

    Хотя URI не содержат не-ASCII значений (см. [URI], раздел 2.1), авторы иногда определяют не-ASCII значения в атрибутах, ожидаемых URI (т.е. определённых с %URI; в ОТД).
    К примеру, данное значение href недопустимо:
    ...Мы рекомендуем, чтобы ПА соблюдали следующее соглашение по обработке не-ASCII символов:
  • Представлять каждый символ в UTF-8 (см. [RFC2279]) как один или более байтов.
  • Вводить эти байты с помощью Escape-механизма URI (т.е. конвертированием каждого байта в %HH, где HH - это 16-ричное изображение значения байта).
  • Результатом этой процедуры будет синтаксически допустимый URI (как определено в [RFC1738], раздел 2.2, или в [RFC2141], раздел 2), не зависящий от кодировки, в которой документ HTML, содержащий URI, может транскодироваться.
    Примечание. Некоторые старые ПА упрощённо разбирают URI в HTML, используя байты кодировки полученного документа. Некоторые старые документы HTML придерживаются этой практики, и загрузка нарушается при транскодировании. ПА, которые обрабатывают такие старые документы, должны, при получении URI, содержащего символы за пределами допустимого набора, использовать соглашение, базирующееся на UTF-8. Только в том случае, если URI не разобран, они должны попытаться сконструировать URI на базе байтов кодировки полученного документа.
    Примечание. Такое же соглашение, базирующееся на UTF-8, должно применяться к значениям атрибута name элемента A .

    B.2.2 Амперсанды в значениях атрибута URI


    B.2.2 Амперсанды в значениях атрибута URI

    URI, конструируемый при отправке формы, может быть использован как ссылка в стиле якоря (напр., атрибут href элемента).
    К сожалению, использование символа "&" для разделения полей пересекается с его использованием в значениях атрибутов SGML при разграничении мнемонических ссылок. Например, чтобы использовать URI "http://host/?x=1&y=2" как связующий URI, он должен быть записан или
    .
    Мы рекомендуем, чтобы разработчики HTTP сервера и в особенности - разработчики CGI поддерживали использование ";" вместо "&" для предотвращения проблем с использованием escaping-символов "&".

    B.2 Специальные символы в значениях атрибутов URI


    B.2 Специальные символы в значениях атрибутов URI


    B.3.1 Обрыв строки

    B.3.1 Обрыв строки

    SGML (см.
    [ISO8879], раздел 7.6.1) определяет, что обрыв строки идущий непосредственно за начальным тегом, игнорируется, так же, как и обрыв строки непосредственно перед закрывающим тегом. Это применяется ко всем элементам HTML без исключения.
    Следующие два примера идентичны:
    Thomas is watching TV.
    Thomas is watching TV.
    Как и следующие два примера:
    My favorite Website My favorite Website

    B.3.2 Спецификация не-HTML данных

    B.3.2 Спецификация не-HTML данных

    Данные сценария и стиля могут появляться как содержимое элемента или как значения атрибута. Следующий раздел очерчивает границы между разметкой HTML и другими данными.
    Примечание. ОТД определяет, что данные сценария и стиля должны быть CDATA и для содержимого элемента, и для значений атрибута. Правила SGML не допускают символьных ссылок в содержимом элемента CDATA, но допускают их в значениях атрибута в CDATA. Авторы должны уделить особое внимание при вырезке и вставке данных сценариев и стиля между содержимым элемента и значениями атрибута.
    Эта асимметрия также предполагает, что при транскодировании из более сложной в более простую кодировку транскодер не может просто заменить неконвертируемые символы в данных сценария или стиля на соответствующие цифровые мнемоники; он должен разобрать документ HTML и "знать" всё о синтаксисе языка сценария или стиля для того, чтобы трактовать данные корректно.

    B.3.3 Возможности SGML с ограниченной поддержкой

    B.3.3 Возможности SGML с ограниченной поддержкой

    Системы SGML, соответствующие [ISO8879], должны распознавать ряд возможностей, которые не поддерживаются широко в настоящее время Пользовательскими Агентами HTML. Мы рекомендуем авторам избегать использования всех этих возможностей.

    B.3.4 Булевы атрибуты

    B.3.4 Булевы атрибуты

    Авторы должны учитывать, что многие ПА распознают только минимизированные формы булевых атрибутов, а не полные формы.
    Например, автор может определить: