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

Атрибуты

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

Это определенный заголовок, спасибо атрибуту id


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

Что такое HTML?

Чтобы представить информацию для глобального использования, нужен универсальный язык, который понимали бы все компьютеры. Языком публикации, используемым в World Wide Web, является HTML (HyperText Markup Language - язык разметки гипертекстов).
HTML дает авторам средства для:
  • публикации электронных документов с заголовками, текстом, таблицами, списками, фотографиями и т.д.

  • загрузки электронной информации с помощью щелчка мыши на гипертекстовой ссылке.

  • разработки форм для выполнения транзакций с удаленными службами, для использования в поиске информации, резервировании, заказе продуктов и т.д.

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


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

    World Wide Web (Web) - это сеть информационных ресурсов. Для того, чтобы сделать эти ресурсы доступными наиболее широкой аудитории, в Web используются три механизма:
  • Единая схема наименования для поиска ресурсов в Web (например, URI).
  • Протоколы для доступа к именованным ресурсам через Web (например, HTTP).
  • Гипертекст для простого перемещения по ресурсам (например, HTML).

  • Связи между этими тремя механизмами становятся очевидными по прочтении этой спецификации.

    Доступность

    Поскольку сообщество Web растет, и возможности и умения его членов различаются, очень важно, чтобы основные технологии соответствовали потребностям. Язык HTML разработан так, чтобы сделать Web-страницы более доступными для пользователей с физическими недостатками. В HTML 4.0 имеются следующие дополнения, продиктованные соображениями доступности:
  • усилено разделение структуры и представления документа, что побуждает использовать таблицы стилей вместо элементов и атрибутов представления языка HTML.

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

  • добавлена возможность разметки текстового описания включенного объекта (с помощью элемента ).

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

  • альтернативный текст для изображений, включаемых с помощью элемента , обязателен.

  • добавлена поддержка атрибутов и во всех элементах.

  • добавлена поддержка элементов и .

  • более широкий диапазон целевых устройств (телетайп, шрифт Бройля и т.д.) для использования в таблицах стилей.

  • улучшены таблицы, включена поддержка заголовков, групп столбцов и механизмов для упрощения невизуального представления документа.

  • добавлены длинные описания таблиц, изображений, кадров и т.д.

  • Авторы, разрабатывающие страницы с учетом доступности, получат не только эту возможность, но также и некоторые другие: хорошо разработанные документы HTML с разделенными структурой и представлением будут легче адаптироваться к новым технологиям.
    Примечание.
    Подробнее о разработке доступных документов HTML Вы можете прочесть в [WAIGUIDE].

    вводятся механизмы таблиц стилей,

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

    Идентификаторы фрагментов

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

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

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

    Элементы

    SGML объявляет типы элементов, представляющие структуры или желательное поведение. HTML включает типы элементов, представляющие абзацы, гипертекстовые ссылки, списки, таблицы, изображения и т.д.
    Каждое объявление типа элемента обычно включает три части: начальный тэг, содержимое и конечный тэг.
    Имя элемента отображается в начальном тэге (пишется <имя-элемента>) и в конечном тэге (пишется ); не забывайте про слеш перед именем элемента в конечном тэге. Например, начальные и конечные тэги элемента определяют список:
  • ...элемент списка 1...
  • ...элемент списка 2...

    Некоторые типы элементов HTML позволяют авторам опускать конечные тэги (например, типы элементов and ). Несколько типов элементов также позволяют опускать начальные тэги; например, и . HTML DTD указывает для каждого типа элемента, являются ли начальный и конечный тэги обязательными.
    Некоторые типы элементов HTML не имеют содержимого. Например, элемент перехода на следующую строку не имеет содержимого; его роль - прерывание строки текста. Такие пустые элементы никогда не имеют конечных тэгов. Определение типа документа и текст спецификации указывают, является ли тип элемента пустым (не имеет содержимого) или, если он может иметь содержимое, что является допустимым содержимым.
    Имена элементов всегда учитывают регистр.
    Информацию о правилах, управляющих элементами, (например, что они могут быть вложенными соответствующим образом, конечный тэг закрывает все опущенные начальные тэги вплоть до соответствующего ему начального тэга (раздел 7.5.1) и т.д.) см. в стандарте SGML.
    Например, следующий абзац:
    Это первый абзац.
    ...элемент блока...
    можно перезаписать без конечного тэга:
    Это первый абзац. ...элемент блока...
    поскольку начальный тэг закрывается следующим элементом блока. Точно так же, если абзац включен в элемент блока, например:
    Это абзац.

    конечный тэг включающего элемента блока (здесь -
  • ) служит также конечным тэгом открытого начального тэга .
    Элементы - это не тэги. Некоторые люди называют элементы тэгами (например, "тэг P "). Помните, что элемент - это одно, а тэг (начала или конца, неважно) - другое. Например, элемент HEAD всегда присутствует, даже если начальный и конечный тэги HEAD отсутствуют.
    Все типы элементов, объявленные в этой спецификации, перечислены в .

    Как читать HTML DTD

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

    Комбинации DTD в определениях атрибутов

    Определения атрибутов могут также содержать ссылки на комбинации параметров.
    В этом примере мы видим, что список определений атрибутов для элемента начинается с комбинации параметров "%attrs;".

    Начальный тег: обязателен, Конечный тег: запрещен
    Комбинация параметров "%attrs;" определена следующим образом:

    Комбинация "%coreattrs;" в определении "%attrs;" разворачивается следующим образом:

    Комбинация параметров "%attrs;" определена для удобства, поскольку эти атрибуты определены для большинства типов элементов HTML.
    Таким же образом DTD определяет комбинацию параметров "%URI;" как расширение строки "CDATA".
    -->
    Как показано в этом примере, комбинация параметров "%URI;" предоставляет читателям DTD больше информации, чем для типа данных, ожидаемого для этого атрибута. Похожие entities определены для "%Color;", "%Charset;", "%Length;", "%Pixels;" и т.д.

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

    В DTD комментарии могут занимать несколько строк. В DTD комментарии отделяются парой меток "--", например,

    Здесь комментарий "значение именованного свойства" объясняет использование типа элемента . Комментарии в DTD носят информативный характер.

    это тоже комментарий, он занимает

    Комментарии в HTML имеют следующий синтаксис:

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

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

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

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

    Язык HTML был разработан Тимом Бернерс-Ли во время его работы в CERN и распространен браузером Mosaic, разработанным в NCSA. В 1990-х годах он добился особенных успехов благодаря быстрому росту Web. В это время HTML был расширен и дополнен. В 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 по HTML в упорядочении общепринятых положений в 1996 привели к версии HTML 3.2 (январь 1997, см. [HTML32]). Изменения по отношению к HTML 3.2 перечислены в
    Большинство людей признают, что документы HTML должны работать в различных браузерах и на разных платформах. Достижение совместимости снижает расходы авторов, поскольку они могут разрабатывать только одну версию документа. В противном случае возникает еще больший риск, что Web будет представлять собой смесь личных несовместимых форматов, что в конечном счете приведет к снижению коммерческого потенциала Web для всех участников.
    В каждой версии HTML предпринималась попытка отразить все большее число соглашений между работниками и пользователями этой индустрии, чтобы усилия авторов не были потрачены впустую, а их документы не стали бы нечитаемыми в короткий срок.
    Язык HTML разрабатывался с той точки зрения, что все типы устройств должны иметь возможность использовать информацию в Web: персональные компьютеры с графическими дисплеями с различным разрешением и числом цветов, сотовые телефоны, переносные устройства, устройства для вывода и ввода речи, компьютеры с высокой и низкой частотой и т.д.

    Логические атрибуты

    Некоторые атрибуты играют роль логических переменных (например, атрибут для элемента ). Их наличие в начальном тэге элемента подразумевает, что значением атрибута является "истина". Их отсутствие означает "ложь".
    Логические атрибуты могут принимать только одно значение: собственно имя атрибута (например, selected="selected").
    В этом примере атрибут определяется как булев.
    selected (selected) #IMPLIED -- уменьшенный интервал между элементами --
    Для атрибута устанавливается значение "истина", поскольку он находится в начальном тэге элемента:

    Информация о клиенте:
    Фамилия:Lafon
    Имя:Yves
    Тел:(617) 555-1212
    Email:yves@coucou.com

    Затем мы легко сможем добавить объявление таблицы стиля для настройки представления этих записей.
    Другой пример см. в разделе об атрибутах .
    Визуальные агенты пользователей обычно помещают символ перевода строки перед и после элементов , например:
    ааааааааа
    ббббббббб
    вввввввввв

    что обычно генерируется как:
    ааааааааа ббббббббб ввввв
    ввввв

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

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

    Группы строк: элементы THEAD, TFOOT и TBODY


    Начальный тег: обязателен, конечный тег: необязателен

    Начальный тег: необязателен, конечный тег: необязателен

    Атрибуты, определяемые в любом другом месте
  • , ()

  • (), ()

  • ()

  • ()

  • , , , , , , , , ,
    ()

  • , , ,
    ()

  • Строки таблицы могут группироваться в заголовки, нижние заголовки и один или несколько разделов тела таблицы с помощью элементов , и соответственно. Это подразделение позволяет агентам пользователей поддерживать прокрутку тела таблицы независимо от заголовков. При печати длинных таблиц информация из заголовков может повторяться на каждой странице, на которой имеются данные таблицы.
    Заголовки таблицы должны содержать информацию о столбцах таблицы. Тело таблицы должно содержать строки данных таблицы.
    Если элементы , и присутствуют, каждый из них содержит группу строк. Каждая группа строк должна содержать по крайней мере одну строку, определяемую элементом .
    В этом примере показан порядок и структура заголовков таблицы, нижних заголовков и тел.
    ...заголовок...
    ...нижний заголовок...
    ...первая строка данных блока 1...
    ...вторая строка данных блока 1...
    ...первая строка данных блока 2...
    ...вторая строка данных блока 2...
    ...третья строка данных блока 2...

    Элемент должен располагаться до элемента в определении , чтобы агенты пользователей могли генерировать нижний заголовок до получения всех (возможно, многочисленных) строк данных. Ниже приводится сводка обязательных тегов и тегов, которые можно опустить:
  • Начальный тег всегда обязателен, если только таблица не содержит единственного тела без верхних и нижних заголовков. Конечный тег всегда можно опускать.

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

  • Соответствующий спецификации агент пользователя при разборе должен obey эти правила из соображений совместимости с предыдущими версиями.
    Таблицу из предыдущего примера можно сократить, удалив конечные теги, как показано ниже:
    ...верхний заголовок...
    ...нижний заголовок...
    ...первая строка данных блока 1...
    ...вторая строка данных блока 1...
    ...первая строка данных блока 2...
    ...вторая строка данных блока 2...
    ...третья строка данных блока 2...

    Разделы , и должны содержать одинаковое число столбцов.

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

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

    Этот абзац имеет уникальное имя.

    Этот абзац тоже имеет уникальное имя.

    Атрибут имеет в HTML несколько ролей:

  • Способ выбора .

  • Назначение цели для гипертекстовых ссылок.

  • Средство ссылки на определенный элемент сценария.

  • Имя объявленного объекта .

  • В целях обработки агентами пользователей (например. для полей идентификации при извлечении данных из страниц HTML в базу данных, преобразовании документов HTML в другие форматы и т.д.).

  • Атрибут , с другой стороны, назначает одно или несколько имен классов элементу; при этом элемент может называться принадлежащим к этим классам. Имя класса может использоваться несколькими экземплярами элемента. Атрибут имеет в HTML несколько ролей:
  • Способ выбора (когда автор хочет назначить информацию о стиле набору элементов).

  • Для общей обработки агентами пользователей.

  • Далее элемент example используется вместе с атрибутами и для пометки сообщений документа. Сообщения отображаются в английской и русской версиях.
    Variable declared twice Undeclared variable Bad syntax for variable name
    Переменная объявлена дважды Переменная не объявлена Синтаксическая ошибка в имени переменной

    Следующие правила стиля CSS сообщат агентам пользователя о необходимости отображения информации зеленым цветом, предупреждений - желтым, а сообщений об ошибках - красным:

    SPAN.info { color: green } SPAN.warning { color: yellow } SPAN.error { color: red }

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

    Почти каждому элементу HTML может быть назначен идентификатор и информация о классе.

    Предположим, мы пишем документ о языке программирования. Этот документ должен включать ряд отформатированных примеров. Для форматирования примеров мы используем элемент . Мы также назначаем цвет фона (зеленый) всем экземплярам элемента , принадлежащим классу "example".

    ... название документа...
     ...код примера...



    Установив атрибут для этого примера, мы можем (1) создать на него гиперссылку и (2) использовать информацию о стиле, отличную от определенной в таблицы, для одного экземпляра информации о стиле.

    Примечание. Атрибут использует одно пространство имен с атрибутом name, если он используется для имен якорей. Подробнее см. в разделе о .

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












  • В этом разделе документа обсуждаются два важных вопроса интернационализации HTML: задание языка (атрибут ) и направления (атрибут ) текста в документе.

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


    Начальный тэг: обязателен, Конечный тэг: запрещен
    Определения атрибутов
    href =
    Этот атрибут задает абсолютный URI, служащий базовым URI для разрешения относительных URI.
    Атрибуты, определяемые в другом месте
  • ()

  • В HTML ссылки на внешние изображения, апплеты, программы для обработки форм, таблицы стилей и т.д. всегда задаются с помощью URI. Относительные URI в соответствии с базовым URI, который может определяться из различных источников. Элемент позволяет авторам явно указать базовый URI документа.
    Если элемент указан, он должен присутствовать в разделе документа HTML, до элементов, ссылающихся на внешние ресурсы. Информация о пути, указанная в элементе , влияет только на URI в документе, в котором присутствует этот элемент.
    Например, даны следующее объявление и объявление :
    Наши продукты
    Вы видели наши клетки для птиц?
    относительный URI "../cages/birds.gif" будет разрешен в:
    http://www.aviary.com/cages/birds.gif

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

    В документе HTML должна быть объявлена используемая в нем версия языка HTML. Объявление типа документа указывает определение типа документа (DTD), используемое в этом документе (см. [ISO8879]).
    HTML 4.0 определяет три DTD, так что авторы должны включать в свои документы одно из следующих объявлений типов. Разница между DTD заключается в поддерживаемых ими элементах.
  • HTML 4.0 Strict DTD (строгое определение) включает все элементы и атрибуты, не являющиеся и не использующиеся в документах с кадрами. Для документов, использующих это DTD, используйте такое объявление типа документа:

  • HTML 4.0 Transitional DTD (переходное определение) включает все, что включено в строгое DTD, а также нежелательные элементы и атрибуты (большинство из которых относится к визуальному представлению). Для документов, использующих это DTD, используйте такое объявление типа документа:

  • HTML 4.0 Frameset DTD (определение для кадров) включает все, что включено в переходное DTD, а также кадры. Для документов, использующих это DTD, используйте такое объявление типа:

  • URI в каждом объявлении типа документа позволяет агентам пользователей загрузить DTD и все необходимые . Следующие URI указывают на DTD и наборы комбинаций для HTML 4.0, поддерживаемого W3C:
  • "" - строгое DTD по умолчанию
  • "" - переходное DTD
  • "" -- DTD для документов, использующих кадры
  • "" - комбинации Latin-1
  • "" - комбинации символов
  • "" - специальные комбинации

  • Связь между общими идентификаторами и файлами можно указать с использованием файла каталога, за которым следует формат, рекомендуемый Открытым консорциумом SGML (см. [SGMLOPEN]). включен в начало раздела о справочной информации об SGML для HTML. Две последние буквы декларации указывают язык DTD. Для HTML это всегда английский ("EN").

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


    Начальный тег: обязателен, Конечный тег: запрещен
    Определения атрибутов
    name = cdata Этот атрибут определяет имя рабочего параметра, которое должно быть понятно вставляемому объекту. Учитывает ли имя свойства регистр, зависит от конкретной реализации объекта.
    value = Этот атрибут определяет значение рабочего параметра, задаваемого атрибутом . Значения свойств не имеют значения в HTML; их значение определяется объектом.
    valuetype = data|ref|object
    Этот атрибут определяет тип атрибута value. Возможные значения:
  • data: Это значение используется по умолчанию. Оно означает, что значение, задаваемое атрибутом value, будет определяться и передаваться в объект в виде строки.

  • ref: Значение, задаваемое атрибутом value, является адресом URI ресурса, где хранятся рабочие значения. Это позволяет средствам поддержки идентифицировать адреса URI, данные в качестве параметров. Адрес URI должен передаваться в объект как есть, то есть неразрешенным.

  • object: Значение, задаваемое атрибутом value, является идентификатором, ссылающимся на объявление в этом же документе. Идентификатором должно быть значение атрибута для объявленного элемента .

  • type = content-type [CI]
    Этот атрибут задает тип содержимого ресурса, назначаемого атрибутом value только в случае, если значением атрибута является "ref". Таким образом, этот атрибут определяет для агента пользователя тип значений, которые будут находиться по адресу URI, назначенному атрибутом value.
    Атрибуты, определенные в другом месте
    ()
    Элементы определяют набор значений, которые могут понадобиться объекту во время работы. В элементах или может присутствовать любое число атрибутов в любом порядке, но они должны помещаться в начале тела включающего элемента или .

    Синтаксис имен и значений считается понятным обработчику объекта. Данный документ не указывает, как агенты пользователей должны загружать пары имя/значение, а также того, как они должны интерпретировать повторяющиеся имена параметров.

    Вернемся к примеру с часами и покажем использование элемента : предположим, что апплет может принимать два рабочих параметра, определяющих его начальную высоту и ширину. Мы можем установить исходные размеры 40x40 пикселов с помощью двух элементов .

    Этот агент пользователя не может сгенерировать приложение на языке Python.

    В следующем примере рабочие данные для параметра "Init_values" объекта задаются в виде внешнего ресурса (файл GIF). Таким образом для атрибута устанавливается значение "ref", а атрибутом value является адрес URI ресурса.

    valuetype="ref">

    Обратите внимание, что мы также установили атрибут , так что агент пользователя может отобразить сообщение во время загрузки генерирующего механизма.

    Когда элемент сгенерирован, агенты пользователя должны выполнить поиск содержимого только для тех элементов , которые являются их прямыми дочерними элементами и "feed" их to the .

    Таким образом, в следующем примере, если сгенерирован "obj1", "param1" применяется к "obj1" (и не применяется к "obj2"). Если "obj1" не сгенерирован, а "obj2" сгенерирован, "param1" игнорируется, а "param2" применяется к "obj2". Если ни один не сгенерирован, ни один не применяется.



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

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

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

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

    Ячейки, span несколько строк или столбцов

    Ячейки могут span несколько строк или столбцов. Число строк или столбцов, spanned ячейкой, устанавливается с помощью атрибутов и элементов и .
    В этом определении таблицы мы указываем, что ячейка в четвертой строке во втором столбце span все три столбца, включая текущий.
    Сколько чашек кофе выпивает каждый сенатор
    ИмяЧисло чашекТип кофеСахар?
    Т. Секстон10ЭспрессоНет
    Дж. Диннен5Без кофеинаДа
    А. СориаНет данных

    На терминале эта таблица может генерироваться следующим образом:
    Сколько чашек кофе выпивает каждый сенатор ---------------------------------------------- | Имя |Число чашек|Тип кофе |Сахар?| ---------------------------------------------- |Т. Секстон|10 |Эспрессо |Нет | ---------------------------------------------- |Дж. Диннен|5 |Без кофеина |Да | ---------------------------------------------- |А. Сориа |Нет данных | ----------------------------------------------
    В следующем примере показано (с помощью границ таблицы), как определения ячеек, span несколько строк или столбцов, влияют на определения следующих ячеек. Рассмотрите следующее определение таблицы:
    1 2 3
    4 6
    7 8 9

    Поскольку ячейка "2" spans первую и вторую строки, определение второй строки будет принято во внимание. Таким образом, второй элемент в строке два в действительности определяет третью ячейку строки. Визуально на терминале таблица может генерироваться следующим образом:
    ------------- | 1 | 2 | 3 | ----| |---- | 4 | | 6 | ----|---|---- | 7 | 8 | 9 | -------------
    а графический агент пользователя может представить ее так:

    Ячейки, span несколько строк или столбцов

    Помните, что, если элемент , определяющий ячейку "6", опущен, агенты пользователя будут добавлять дополнительную пустую ячейку, чтобы заполнить строку.

    Точно так же в следующем определении таблицы:

    1 2 3
    4 6
    7 8 9


    ячейка "4" spans два столбца, так что второй элемент в строке на самом деле определяет третью ячейку ("6"):

    ------------- | 1 | 2 | 3 | --------|---- | 4 | 6 | --------|---- | 7 | 8 | 9 | -------------

    Графический агент пользователя может представить это следующим образом:

    Ячейки, span несколько строк или столбцов

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

    В следующем примере недопустимого использования показано, как можно создать перекрывающиеся ячейки. В этой таблице ячейка "5" spans две строки, а ячейка "7" spans два столбца, так что они обе используют ячейку между "7" и "9":

    1 2 3
    4 5 6
    7 9


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




    Начальный тег: обязателен, Конечный тег: не обязателен
    Определения атрибутов
    headers =
    В этом атрибуте указывается список ячеек заголовков, предоставляющих заголовочную информацию для текущей ячейки данных. Значением этого атрибута является разделенный пробелами список названий ячеек; имена ячейкам должны даваться с помощью атрибута . Авторы обычно используют атрибут с целью помочь невизуальным агентам пользователей в генерации заголовков ячеек данных (например, заголовок произносится перед прочтением данных ячейки), но этот атрибут может также использоваться вместе с таблицами стилей. См. также атрибут .
    scope = имя области действия
    Этот атрибут определяет набор ячеек данных, для которых заголовочная информация задается текущим заголовком. Этот атрибут может использоваться вместо атрибута a href="tables.html#adef-headers" class="noxref">headers, особенно в простых таблицах. Если этот атрибут используется, он должен иметь одно из следующих значений:
  • row: В ячейке представлена заголовочная информация для оставшейся части строки, в которой содержится эта ячейка (см. также раздел о ).
  • col: В текущей ячейке представлена заголовочная информация для оставшейся части столбца, в котором содержится эта ячейка.
  • rowgroup: В ячейке представлена заголовочная информация для оставшейся , в которой содержится эта ячейка.
  • colgroup: В ячейке представлена заголовочная информация для оставшейся , в которой содержится эта ячейка.


  • abbr =

    Этот атрибут следует использовать для представления сокращенной формы содержимого ячейки; он может генерироваться агентами пользователей в подходящий момент вместо содержимого ячейки. Сокращенные имена должны быть короче, и агенты пользователей могут повторять их. Например, синтезаторы речи могут генерировать сокращенные заголовки, относящиеся к определенной ячейке, перед генерацией содержимого ячейки.

    axis =

    Этот атрибут может использоваться вместо ячейки в концептуальных категориях, которая может использоваться для формирования axes в n-мерном пространстве. Агенты пользователей могут давать пользователям доступ к этим категориям (например, пользователь может запрашивать у агента все ячейки, принадлежащие к определенной категории, агент пользователя может представлять таблицу в форме оглавления и т.д.). Подробнее см. в разделе о . Значением этого атрибута является список имен категорий, разделенных запятыми.

    rowspan =

    Этот атрибут определяет число строк, spanned текущей ячейкой. По умолчанию используется значение один ("1"). Значение ноль ("0") означает, что ячейка spans все строки от текущей до последней строки таблицы.

    colspan =

    Этот атрибут определяет число столбцов, spanned текущей ячейкой. По умолчанию используется значение один ("1"). Значение ноль ("0") означает, что ячейка spans все столбцы от текущего до последнего столбца таблицы.

    nowrap

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

    width = Этот атрибут дает агентам пользователей рекомендуемую ширину ячейки.

    height = Нежелателен. Этот атрибут дает агентам пользователей рекомендуемую высоту ячейки.

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

  • , ()


  • (), ()



  • ()


  • ()


  • , , , , , , , , , ()


  • ()


  • , , , ()


  • Ячейки таблицы могут содержать информацию двух типов: заголовочную информацию и данные. Это различие позволяет агентам пользователей генерировать ячейки заголовков и данных различным образом даже при отсутствии таблиц стилей. Например, визуальные агенты пользователей могут представлять текст ячеек заголовков жирным шрифтом. Синтезаторы речи могут выделять заголовочную информацию голосом.

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

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

    Элемент определяет ячейку, содержащую данные.

    Ячейка может быть пустой (т.е. не содержать данных).

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

    Сколько чашек кофе выпивает каждый сенатор
    Имя Число чашек Тип кофе Сахар?
    Т. Секстон 10 Эспрессо Нет
    Дж. Диннен 5 Без кофеина Да


    Агент пользователя, выполняющий генерацию для терминала, может отобразить это следующим образом:

    Имя Число чашек Тип кофе Сахар?

    Т. Секстон 10 Эспрессо Нет Дж. Диннен 5 Без кофеина Да

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

    Атрибут может использоваться для создания якоря в начальном тэге любого элемента (включая элемент ).
    В данном примере показано использование атрибута для размещения якоря в элементе . Связь с якорем осуществляется с помощью элемента .
    Подробнее об этом Вы можете прочесть в Разделе 2. ...далее в документе

    Раздел 2

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

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

    ...страницы и страницы...

    По спецификации в HTML DTD атрибут может содержать ссылки на символы. Таким образом, значение Dürst является допустимым для атрибута , так же как Dürst . Атрибут не может содержать ссылки на символы.
    Что использовать - или ? При выборе элемента или для указания имени якоря авторы должны иметь в виду следующее:
  • Атрибут может быть не только именем якоря (а также селектором таблицы стилей, идентификатором обработки и т.д.).

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

  • Атрибут обеспечивает более разнообразные имена якорей (с использованием ).


  • Элемент A


    Начальный тэг: обязателен, Конечный тэг: обязателен
    Определения атрибутов
    name = cdata
    Этот атрибут дает якорю имя, так что он может служить целью другой ссылки. Значением этого атрибута должно быть уникальное имя. Область действия имени - текущий документ. Обратите внимание, что этот атрибут использует общее пространство имен с атрибутом .
    href = uri
    Этот атрибут определяет местоположение ресурса Web, определяя связь между текущим элементом (исходным якорем) и целевым якорем, определяемым этим атрибутом.
    hreflang =
    Этот атрибут задает базовый язык ресурса, назначаемого атрибутом , и может использоваться, только если указан атрибут .
    type =
    Если этот атрибут задан, он определяет тип части содержимого, например, результат обратного действия ссылки на ресурс. Типы содержимого определены в разделе [MIMETYPES].
    rel =
    Этот атрибут описывает отношение из текущего документа к якорю, заданному атрибутом . Значением этого атрибута является разделенный пробелами список типов ссылок.
    rev =
    Этот атрибут используется для описания из якоря, задаваемого атрибутом , в текущий документ. Значением этого атрибута является разделенный пробелами список типов ссылок.
    charset =
    Этот атрибут задает кодировку символов назначаемого ссылкой ресурса. Подробнее см. в разделе о .
    Атрибуты, определяемые в другом месте
  • , ()

  • (), ()

  • ()

  • ()

  • and ()


  • , , , , , , , , , , , (внутренние события)


  • ()


  • ()


  • ()


  • Каждый элемент A определяет якорь

  • Содержимое элемента определяет положение якоря.


  • Атрибут задает имя якоря, так что он может служить пунктом назначения любого числа ссылок (см. также ).


  • Атрибут назначает якорь пунктом назначения ровно одной ссылки.


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

    В следующем примере элемент определяет ссылку. Исходным якорем является текст " Web-сайте W3C", а пунктом назначения - "http://www.w3.org/":

    Подробнее о W3C Вы можете узнать на Web-сайте W3C.

    Эта ссылка указывает на страницу World Wide Web Consortium. Если пользователь активизирует эту ссылку в своем агенте, агент загрузит ресурс, в данном случае - документ HTML.

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

    Подробнее о W3C Вы можете узнать на Web-сайте W3C. ~~~~~~~~~~~~~

    Чтобы дать агентам пользователей явное указание кодировки символов целевой страницы, установите атрибут :

    Подробнее о W3C Вы можете узнать на Web-сайте W3C

    Предположим, мы определяем якорь с именем "anchor-one" в файле "one.html".

    ...текст до якоря...

    Это местоположение первого якоря. ...текст после якоря...

    В данном фрагменте вокруг текста "Это местоположение первого якоря" создается якорь. Обычно содержимое элемента не представляется каким-либо особым образом, если элемент определяет только якорь.


    Определив якорь, мы можем связать его с этим же или с другим документом. URI, назначающие якорь, включают символ "#", за которым следует имя якоря (идентификатор фрагмента). Вот несколько примеров таких URI:

  • Абсолютный URI:

    http://www.mycompany.com/one.html#anchor-one


  • Относительный URI: ./one.html#anchor-one или one.html#anchor-one


  • Если ссылка определена в том же документе: #anchor-one


  • Таким образом, ссылка, определенная в файле "two.html", который находится в одном каталоге с файлом "one.html", будет указывать на этот якорь следующим образом:

    ...текст до ссылки...

    Подробнее см. первый якорь. ...текст после ссылки...

    Элемент в следующем примере задает ссылку (с помощью атрибута ) и одновременно создает именованный якорь (с помощью атрибута ):

    Я только что вернулся из отпуска! Вот фотография моей семьи на озере..

    В этом примере содержится ссылка на другой тип ресурса Web (изображение в формате PNG). Активизация ссылки должна привести к загрузке изображения из Web (и, возможно, его отображению, если система сконфигурирована соответствующим образом).

    Примечание.

    Агенты пользователей должны уметь находить якоря, созданные пустыми элементами , но некоторые агенты не могут этого делать. Например, некоторые агенты пользователей могут не найти "empty-anchor" в следующем фрагменте HTML:

    ...некоторые текст в формате HTML... Ссылка на пустой якорь

    Элемент ADDRESS


    Начальный тег: обязателен, Конечный тег: обязателен
    Атрибуты, определяемые в любом другом месте
  • , ()
  • (), ()
  • , , , , , , , , , (внутренние события)

  • Элемент может использоваться авторами для указания контактной информации или основной части документа, такой как форма. Этот элемент часто находится в начале или в конце документа.
    Например, страница на сервере W3C, относящаяся к языку HTML, может включать следующую контактную информацию:
    Dave Raggett, Arnaud Le Hors, contact persons for the W3C HTML Activity
    $Date: 1997/12/16 05:38:14 $



    Элемент BODY


    Начальный тег: не обязателен, Конечный тег: не обязателен
    Определения атрибутов
    background = Значение этого атрибута - URI, указывающий на изображение. Это изображение является фоном (для визуальных браузеров).
    text = Этот атрибут устанавливает цвет текста (для визуальных браузеров).
    link =
    Этот атрибут устанавливает цвет текста гипертекстовых ссылок, по которым Вы не переходили (для визуальных браузеров).
    vlink = color
    Этот атрибут устанавливает цвет текста ссылок, по которым Вы переходили (для визуальных браузеров).
    alink =
    Этот атрибут устанавливает цвет текста ссылок, когда они выбраны пользователем (для визуальных браузеров).
    Атрибуты, определяемые в любом другом месте
  • , ()
  • (), ()
  • ()
  • (встроенная информация о стиле)
  • (цвет фона)
  • , (внутренние события)
  • , , , , , , , , , (внутренние события)

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

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



    Используя , того же эффекта можно достичь следующим образом:

    Динамика популяции ... тело документа...



    Использование внешних (связываемых) таблиц стилей обеспечивает гибкость при изменении представления без пересмотра источника документа HTML:

    Динамика популяции ... тело документа...



    Кадры и тела документов HTML. В документах, содержащих кадры, элемент заменяется элементом . Подробнее см. в разделе о .

    Элемент COL


    Начальный тег: обязателен, Конечный тег: запрещен
    Определения атрибутов
    span =
    Этот атрибут, значением которого должно быть целое число больше нуля, определяет число столбцов, "spanned" элементом ; атрибуты элемента распространяются на все столбцы, которые он spans. Значение по умолчанию для этого атрибута - 1 (т.е. элемент означает один столбец). Если для атрибута установлено значение N > 1, атрибуты текущего элемента распространяются на следующие N-1 столбец.
    width =
    Этот атрибут определяет ширину каждого столбца, spanned текущим элементом , используемую по умолчанию. Он имеет то же значение, что и атрибут для элемента и имеет над ним приоритет.
    Атрибуты, определяемые в любом другом месте
  • , ()

  • (), ()

  • ()

  • ()

  • , , , , , , , , , ()

  • , , , ()

  • Элемент позволяет авторам группировать определения атрибутов для столбцов таблицы. Атрибут не группирует столбцы структурно - эту роль играет элемент .
    Элементы являются пустыми и служат только для поддержания атрибутов. Они могут находиться внутри или вне явной группы столбцов (т.е. элемента ).
    Атрибут для элемента означает ширину каждого столбца в span элемента.

    Элемент COLGROUP


    Начальный тег: обязателен, Конечный тег: необязателен
    Определения атрибутов
    span =
    Этот атрибут, значением которого должно быть целое число больше нуля, определяет число столбцов в группе. Значения означают следующее:
  • При отсутствии атрибута каждый элемент определяет группу столбцов, состоящую из одного столбца.

  • Если для атрибута установлено значение N > 0, текущий элемент определяет группу, содержащую N столбцов.

  • Агенты пользователей должны игнорировать этот атрибут, если элемент содержит один или несколько элементов .
    width =
    Этот атрибут определяет ширину каждого столбца в текущей группе, используемую по умолчанию. Кроме стандартных значений в пикселах, процентах и относительных значений, в этом атрибуте может использоваться специальная форма "0*" (ноль со звездочкой), которая означает, что ширина каждого столбца в группе должна быть минимальной, необходимой для размещения содержимого столбца. Подразумевается, что содержимое столбца известно до того, как можно будет корректно вычислить его ширину. Авторы должны знать, что использование "0*" не позволит агентам пользователей генерировать таблицу последовательно.
    Этот атрибут переопределяется для любого столбца из группы, для которого значение атрибута задано в элементе .
    Атрибуты, определяемые в любом другом месте
  • , ()

  • (), ()

  • ()

  • ()

  • , , , , , , , ,, ()

  • , , , ()

  • Элемент создает явную группу столбцов. Число столбцов в группе может быть указано двумя взаимоисключающими способами:
  • Атрибут элемента (значение по умолчанию - 1) задает число столбцов в группе.

  • Каждый элемент в представляет один или несколько столбцов в группе.

  • Преимуществом использования атрибута является то, что авторы могут группировать информацию о ширине столбцов. Таким образом, если в таблице содержится сорок столбцов, каждый из которых имеет ширину 20 пикселов, проще написать:



    чем:

    ...все сорок элементов COL...



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



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

    Таблица в следующем примере содержит две группы столбцов. Первая группа включает 10 столбов, вторая - 5. Ширина по умолчанию для каждого столбца в первой группе - 50 пикселов. Ширина каждого столбца во второй группе - минимальная, необходимая для этого столбца.

    ...



    Элемент HEAD



    Начальный тег: не обязателен, Конечный тег: не обязательно
    Определения атрибутов
    profile =
    Этот атрибут указывает местоположение одного или нескольких профилей метаданных, отделяемых пробелами. Для расширения в будущем агенты пользователей должны предполагать, что значение является списком, хотя в данной спецификации значащим считается только первый URI. Профили обсуждаются ниже в разделе о .
    Атрибуты, определяемые в любом другом месте
  • (), ()

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

    Элемент HTML



    Начальный тег: необязателен, Конечный тег: необязателен
    Определения атрибутов
    версия = cdata Значение этого атрибута указывает версию HTML DTD, которой подчиняется этот документ. Этот атрибут является нежелательным, поскольку он является избыточным при наличии указываемой в объявлении типа документа.
    Атрибуты, определяемые в любом другом месте
  • (), ()

  • После объявления типа документа остальная часть документа HTML содержится в элементе . Таким образом, типичный документ HTML имеет такую структуру:
    ...Здесь идут заголовок, тело и т.д...


    Элемент META


    Начальный тег: обязателен, Конечный тег: запрещен
    Определения атрибутов
    Для следующих атрибутов допустимые значения и их интерпретация зависят от :
    name =
    Этот атрибут определяет имя свойства. В данной спецификации не перечисляются допустимые значения этого атрибута.
    content =
    Этот атрибут определяет значение свойства. В данной спецификации не перечисляются допустимые значения этого атрибута.
    scheme =
    Этот атрибут дает имя схеме, используемой для интерпретации значения свойства (подробнее см. раздел о ).
    http-equiv =
    Этот атрибут может использоваться вместо атрибута name. Серверы HTTP используют этот атрибут для сбора информации для заголовков сообщений ответов HTTP.
    Атрибуты, определяемые в любо другом месте
  • (), (направление текста)

  • Элемент может использоваться для идентификации свойств документа (например, автора, срок истечения, список ключевых слов и т.д.) и назначения им значений. В этой спецификации не определяется нормативный набор значений.
    Каждый элемент задает пару свойство/значение. Атрибут name определяет свойства, а атрибут - значение.
    Например, в следующем объявлении устанавливается значение свойства Author:

    Атрибут может использоваться с элементом для указания языка значения атрибута . Это позволяет синтезаторам речи использовать правила произношения для разных языков.
    В этом примере имя автора объявляется на французском языке:

    Примечание. Элемент - это общий механизм задания метаданных. Однако некоторые элементы и атрибуты HTML уже обрабатывают некоторые части метаданных и могут использоваться авторами вместо элементов для указания этих частей: элементы , , и , атрибут и атрибут .
    Примечание. Если свойство, заданное с помощью элемента , принимает значение , некоторые авторы предпочитают указывать метаданные с помощью элемента . Таким образом, следующее объявление:

    можно также записать следующим образом:


    Элемент TABLE


    Начальный тег: обязателен, конечный тег: обязателен
    Определения атрибутов
    summary = текст
    Краткая информация о назначении и структуре таблицы для агентов пользователей, выполняющих генерацию для невизуальных средств, таких как синтезаторы речи или азбуки Бройля.
    align
    = left|center|right
    Этот атрибут задает положение таблицы относительно документа. Допустимые значения:
  • left: Таблица находится в левой части документа.

  • center: Таблица находится в центре документа.

  • right: Таблицы находится в правой части документа.

  • width
    =
    Этот атрибут определяет необходимую ширину всей таблицы и предназначен для визуальных объектов пользователей. Если значение указано в процентах, это означает долю в процентах от доступного горизонтального пространства. Если ширина не указана, она определяется агентом пользователя.
    Атрибуты, определяемые в любом другом месте
  • , ()

  • (), ()

  • ()

  • ()

  • , , , , , , , , ,
    ()

  • ()

  • , , ()

  • , ()

  • Элемент содержит все другие элементы, определяющие заголовок, строки, содержимое и форматирование.
    В следующем списке описано, какие операции может выполнять агент пользователя при генерации таблиц:
  • Предоставление пользователю . Авторам следует предоставлять краткую информацию о содержании и структуре таблицы, чтобы люди, работающие с невизуальными агентами пользователей, могли лучше понять ее.
  • Генерация caption, если он определен.
  • Генерация верхнего заголовка таблицы, если он определен. Генерация нижнего заголовка, если он определен. Агенты пользователей должны знать, где нужно генерировать верхний и нижний заголовки. Например, если средство вывода делится на страницы, агенты пользователей могут помещать верхний заголовок в верхней части каждой страницы, а нижний - внизу. Точно так же, если агент пользователя предоставляет механизм прокрутки строк, верхний заголовок может отображаться вверху прокручиваемой области, а нижний - внизу.


  • Вычисление в таблице. Помните, что число строк в таблице равно числу элементов , содержащихся в элементе .


  • Группировка столбцов в соответствии со спецификациями .


  • Построчная генерация ячеек и группировка в столбцы между верхним и нижним заголовками. Визуальные агенты пользователей должны в соответствии с атрибутами HTML и спецификациями таблиц стилей.


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

    Чтобы агенты пользователей могли форматировать таблицу за один проход, авторы должны сообщить агентам пользователей следующую информацию:

  • Число столбцов в таблице. Подробнее о том, как указать эту информацию, см. в разделе о .
  • Ширину столбцов. Подробнее о том, как указать эту информацию, см. в разделе о .


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

    Элемент TITLE


    Начальный тег: обязателен, Конечный тег: обязателен
    Атрибуты, определяемые в любом другом месте
  • (), ()

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


    Элементы DIR и MENU

    Использование элементов DIR и MENU нежелательно.
    Формальное определение см. в .
    Атрибуты, определяемые в любом другом месте
  • , ()
  • (), ()
  • ()
  • ()
  • , , , , , , , , , (внутренние события)

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


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


    Начальный тег: обязателен, Конечный тег: обязателен
    Атрибуты, определяемые в любом другом месте
  • , ()

  • (), ()

  • ()

  • ()

  • , , , , , , , , , ( внутренние события)

  • Фразовые элементы добавляют в текстовые фрагменты структуру. Обычное значение фразовых элементов следующее:
    EM:
    Выделение.
    STRONG:
    Более сильное выделение.
    CITE:
    Содержит цитату или ссылку на другие ресурсы.
    DFN:
    Указывает, что это является определением вложенного термина.
    CODE:
    Фрагмент компьютерного кода.
    SAMP:
    Вывод примера программ, сценариев и т.д.
    KBD:
    Текст, который должен ввести пользователь.
    VAR:
    Экземпляр переменной или аргумента программы.
    ABBR:
    Сокращенная форма (например, WWW, HTTP, URI, Mass., и т.д.).
    ACRONYM:
    Акроним (например, WAC, радар и т.д.).
    Элементы и используются для выделения. Другие фразовые элементы имеют определенное значение в технических документах. В следующих примерах показано использование некоторых фразовых элементов:
    Как сказал Гари Трумэн, The buck stops here.
    Подробнее см. [ISO-0000].
    В дальнейшем используйте следующий номер ссылки: 1-234-55
    Представление фразовых элементов зависит от агента пользователя. Обычно визуальные агенты пользователей представляют текст элемента курсивом, а текст элемента полужирным шрифтом. Синтезаторы речи могут изменять параметры синтеза, например, громкость, повышение тона и скорости соответственно.
    Элементы и позволяют авторам явно показывать использование аббревиатур и акронимов. Западные языки широко используют акронимы, такие как "GmbH", "НАТО" и "ФБР", а также аббревиатуры типа "M.", "Inc.", "et al.", "etc.". В китайском и японском языках используются аналогичные механизмы аббревиатур, когда длинное название заменяется последовательностью символов Han из оригинала. Разметка этих конструкций предоставляет агентам пользователей и вспомогательным средствам, таким как средства проверки орфографии, синтезаторы речи, переводящие системы и индексаторы поисковых машин, полезную информацию.

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

    Несколько примеров использования элемента :

    WWW SNCF Doña abbr.

    Помните, что аббревиатуры и акронимы часто имеют различное произношение. Например, если слова "США" и "BBC" обычно произносятся побуквенно, слова "НАТО" и "ЮНЕСКО" произносятся фонетически. Другие формы аббревиатур (например, "URI" и "SQL") некоторыми людьми произносятся побуквенно, а другими - как слова. При необходимости авторам следует использовать таблицы стилей для указания произношения аббревиатур.

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

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

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

    Определения атрибутов
    alt =
    Для агентов пользователей, не имеющих возможности вывести изображения, формы или апплеты, этот атрибут определяет альтернативный текст. Язык альтернативного текста определяется атрибутом .
    Для некоторых нетекстовых элементов (, , и ) авторы должны указывать альтернативный текст, служащий содержимым, если элемент нельзя нормально сгенерировать. Задание альтернативного текста помогает пользователям, не имеющих графических дисплеев, пользователям, браузеры которых не поддерживают формы, visually impaired users, пользователям синтезаторов речи, пользователям, графический агент которых сконфигурирован так, чтобы не выводить изображения и т.д.
    Атрибут должен быть указан для элементов и . Он не является обязательным для элементов и .
    В то время как альтернативный текст может быть очень полезным, использовать его нужно осторожно. Авторы должны иметь в виду следующее:
  • Не указывайте несоответствующий альтернативный текст, включая изображения, предназначенные для форматирования страницы, например, alt="red ball" не соответствует изображению, определяющему красный круг для отметки заголовка абзаца. В этих случаях в качестве альтернативного текста следует указать пустую строку (""). Авторам в любом случае рекомендуется не использовать изображения для форматирования страниц; вместо этого следует использовать таблицы стилей.

  • Не указывайте бессмысленный альтернативный текст (например, "dummy text"). Он не только будет frustrate пользователей, но также будет замедлять агенты пользователей, преобразующие текст в речь или текст Бройля.

  • Информацию об обработке случаев, когда альтернативный текст отсутствует, разработчики могут найти в разделе о .
    Примечание.
    Подробнее о создании доступных документов HTML см. [WAIGUIDE].


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

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

  • Каждый запрос подразумевает вычисления, выполняемые агентом пользователя, которые могут затрагивать несколько или ни одной ячейки. Чтобы определить, например, расходы на еду 25 августа, агент пользователя должен знать, какие ячейки таблицы относятся к "Еде" (все эти ячейки), а какая к "Датам" (25 августа), и найти пересечение этих двух наборов.
    Для принятия запроса такого типа модель таблиц HTML 4.0 позволяет авторам помещать заголовки и данные ячеек в категории. Например, в таблице расходов на командировку автор может сгруппировать ячейки заголовков "Сан-Хосе" и "Сиэтл" в категорию "Пункт", заголовки "Еда", "Гостиницы" и "Транспорт" в категорию "Расходы", а четыре дня в категорию "Дата". Тогда предыдущие три вопроса будут иметь следующее значение:
  • "Сколько всего денег я потратил на еду?" означает "Все ячейки данных из категории "Расходы=Еда"?
  • "Сколько я потратил на еду 25 августа?" означает "Все ячейки данных из категорий "Расходы=Еда" и "Дата=25-авг-1997"?
  • "Сколько всего денег я потратил в Сан-Хосе?" означает "Все ячейки данных из категорий "Расходы=Еда, Гостиницы, Транспорт" и "Пункт=Сан-Хосе"?


  • Авторы определяют категории заголовков или ячеек данных, устанавливая для ячейки атрибут . Например, в таблице расходов на командировку ячейка, содержащая информацию "Сан-Хосе" может быть помещена в категорию "Пункт" следующим образом:

    Сан-Хосе

    Любая ячейка, содержащая информацию, относящуюся к "Сан-Хосе", должна ссылаться на эту ячейку заголовка с помощью атрибута или . Таким образом, расходы на еду 25-авг-1997 должны иметь ссылку на атрибут (значение которого здесь - "a6") ячейки заголовка "Сан-Хосе":

    37.74

    Каждый атрибут содержит список ссылок . Авторы таким образом могут определять категории для данной ячейки с помощью данного ряда способов (или along any number of "headers", hence the name).

    Ниже в таблице командировочных расходов указана информация о категориях:

    Отчет о командировочных расходах
    Еда Гостиницы Транспорт итого
    Сан-Хосе
    25-авг-97 37.74 112.00 45.00
    26-авг-97 27.28 112.00 45.00
    итого 65.02 224.00 90.00 379.02
    Сиэтл
    27-авг-97 96.25 109.00 36.00
    28-авг-97 35.00 109.00 36.00
    итого 131.25 218.00 72.00 421.25
    Всего 196.27 442.00 162.00 800.27



    Обратите внимание на то, что такая разметка таблицы также позволяет агентам пользователей не сбивать пользователей с толку ненужной информацией. Например, если синтезатор речи должен был произнести все цифры из столбца "Еда" этой таблицы в ответ на запрос "Все расходы на еду?", пользователь не смог бы отличить дневные расходы от итоговой суммы. С помощью тщательной категоризации данных авторы позволяют агентам пользователей делать важные семантические различия при генерации.

    Конечно, авторы не ограничены в категоризации информации в таблице. В таблице командировочных расходов, например, мы можем ввести дополнительные категории "итого" и "всего".

    Данная спецификация не выставляет требование к агентам пользователей по обработке информации, предоставляемой атрибутом , а также не дает никаких рекомендаций относительно представления агентами пользователей информации из атрибута или спецификации запросов пользователями этой информации у агентов.

    Однако агенты пользователей, особенно синтезаторы речи, могут выделять информацию, общую для нескольких ячеек, являющихся результатами запроса. Например, если пользователь спрашивает "Сколько всего денег я потратил на еду в Сан-Хосе?", агент пользователя должен определить соответствующие ячейки (25-авг-1997: 37.74, 26-авг-1997:27.28), а затем сгенерировать информацию. Агент пользователя может произнести следующую информацию:

    Пункт: Сан-Хосе. Дата: 25-авг-1997. Расходы, Еда: 37.74 Пункт: Сан-Хосе. Дата: 26-авг-1997. Расходы, Еда: 27.28

    или более компактно:

    Сан-Хосе, 25-авг-1997, Еда: 37.74 Сан-Хосе, 26-авг-1997, Еда: 27.28

    Еще более экономичная генерация может выделить еще более общую информацию и переупорядочить ее:

    Сан-Хосе, Еда, 25-авг-1997: 37.74 26-авг-1997: 27.28

    Агенты пользователей, поддерживающие генерацию такого типа, должны обеспечивать средства настройки генерации (например, с помощью таблиц стилей).

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


    Начальный тег: обязателен, конечный тег: обязателен
    Определения атрибутов
    cite = uri
    Значением этого атрибута является URI, определяющий источник документа или сообщения. Этот атрибут предназначен для предоставления информации об источнике, из которого заимствована цитат.
    Атрибуты, определяемые в любом другом месте
  • , ()

  • (), ()

  • ()

  • ()

  • , , , , , , , , , (внутренние события)

  • Эти два элемента определяют текст в кавычках. Элемент предназначен для длинных цитат (содержимое уровня блока) и предназначен для коротких цитат (встроенное содержимое), в которых не нужно разбиение на абзацы.
    В этом примере цитата из книги "Две твердыни" Дж. Р. Р. Толкиена отформатирована с помощью элемента blockquote.
    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.


    Клиентские навигационные карты: элементы MAP и AREA


    Начальный тег: обязателен, Конечный тег: обязателен

    Начальный тег: обязателен, Конечный тег: запрещен
    Определения атрибутов элемента MAP
    name =
    Этот атрибут назначает имя навигационной карты, определяемой элементом .
    Определения атрибутов элемента AREA
    shape = default|rect|circle|poly
    Этот атрибут определяет форму области. Возможные значения:
  • default: Задает всю область.
  • rect: Определяет прямоугольную область.
  • circle: Определяет круглую область.
  • poly: Определяет многоугольную область.

  • coords = координаты Этот атрибут определяет положение формы на экране. Число и порядок значений зависят от определенной формы. Возможные комбинации:
  • rect: x левой границы, y верхней границы, x правой границы, y нижней границы.
  • circle: x центра, y центра, радиус. Примечание. Если радиус указан в процентах, агенты пользователя должны вычислять окончательное значение радиуса в зависимости от назначенных объекту ширины и высоты. Радиус должен быть наименьшим из этих двух значений.
  • poly: x1, y1, x2, y2, ..., xN, yN.

  • Координаты задаются относительно верхнего левого угла объекта. Все значения являются . Все значения отделяются друг от друга запятыми.
    nohref
    Если этот логический атрибут установлен, он указывает, что с этой областью ссылка не связана.
    Атрибут для установления связи навигационной карты с элементом
    usemap = uri
    Этот атрибут связывает навигационную карту с элементом. Навигационная карта определяется с помощью элемента . Значение атрибута usemap должно совпадать со значением атрибута связанного элемента .

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

  • , ()
  • (), ()
  • ()
  • ()
  • ()
  • ()
  • () ()
  • ()
  • ()
  • ()
  • , , , , , , , , , , ,

    ()


  • Элемент определяет клиентскую навигационную карту, которая может быть связана с одним или несколькими элементами (, или ). Навигационная карта связывается с элементом с помощью атрибута этого элемента.

    Наличие атрибута в элементе подразумевает, что объект включается в виде изображения. Более того, если с элементом связана клиентская навигационная карта, агенты пользователей могут интерпретировать взаимодействие пользователя с элементом исключительно в терминах клиентской навигационной карты. Это позволяет агентам пользователей (например, звуковым браузерам или роботам) взаимодействовать с элементом , не обрабатывая его; агент пользователя может даже не загружать (или не обрабатывать) объект. Если с элементом связана навигационная карта, авторы не могут быть уверены, что этот объект будет загружаться и обрабатываться всеми агентами пользователей.

    Каждый элемент MAP может содержать следующее:

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


  • Содержимое уровня блока. Сюда должны включаться элементы , определяющие геометрические области навигационной карты, и ссылки, связанные с каждой областью. Обратите внимание, что при использовании этого метода содержимое элемента может генерироваться агентом пользователя. Для создания более доступных документов авторам следует использовать этот способ.


  • Если несколько определенных регионов перекрываются, приоритет имеет элемент, указанный в документе первым (т.е. на ввод пользователя отвечает именно этот элемент).

    Агенты пользователей и авторы должны обеспечивать текстовые альтернативы графических навигационных карт на случай, если графика недоступна или пользователь не может получить к ней доступ. Например, агенты пользователей могут использовать текст атрибута для создания текстовых ссылок вместо графической навигационной карты. Такие ссылки могут активизироваться различными способами (клавиатура, голос и т.д.).

    Примечание.

    Элемент не совместим с агентами пользователей для языка HTML версии 2.0.

    Коды языков

    Значением атрибута является код языка, идентифицирующий естественный разговорный язык, который устно, письменно или иным образом используется для передачи информации между людьми. Компьютерные языки явным образом исключены из кодов языков.
    В документе [RFC1766] определены и описаны все коды языков, которые должны использоваться в документах на языке HTML.
    Кратко говоря, коды языков состоят из первичного кода и ряда подкодов, который может быть пустым:
    код-языка = первичный-код ( "-" подкод )*
    Вот несколько примеров кодов языков:
  • "en": английский
  • "en-US": американская версия английского.
  • "en-cockney": кокни (диалект английского).
  • "i-navajo": навахо (язык американских индейцев).
  • "x-klingon": Первичный код "x" обозначает экспериментальный код языка

  • Двухбуквенные первичные коды зарезервированы для сокращений языков по стандарту [ISO639]. Сюда входят коды fr (французский), de (немецкий), it (итальянский), nl (голландский), el (греческий), es (испанский), pt (португальский), ar (арабский), he (иврит), ru (русский), zh (китайский), ja (японский), hi (хинди), ur (урду) и sa (санскрит).
    Любой двухбуквенный подкод считается кодом страны в стандарте [ISO3166].

    META и информация по умолчанию

    Элемент может использоваться для указания информации по умолчанию для документа в следующих случаях:
  • .
  • по умолчанию.
  • .

  • В следующем примере для документа указывается кодировка символов ISO-8859-5


    META и PICS

    Platform for Internet Content Selection (Платформа для выбора содержимого Интернет) (PICS, specified in [PICS]) - это инфраструктура для связывания меток (метаданных) с содержимым Интернет. Созданная для помощи родителям и учителям в управлении доступом детей к Интернет, она также упрощает другое использование меток, включая управление подписью кодов, секретностью и правами интеллектуальной собственности.
    Этот пример иллюстрирует использование объявления для включения метки PICS 1.1:
    ... название документа ...

    META и поисковые машины

    Основной способ использования элемента - задание ключевых слов, которые поисковые машины могут использовать для улучшения результатов поиска. Если информация о документе представлена в нескольких элементах в зависимости от языка, поисковые машины могут фильтровать атрибут и отображать результаты поиска с использованием выбранного пользователем языка. Например,
    <-- Для говорящих на американском английском --> <-- Для говорящих на британском английском --> <-- для русскоязычных пользователей -->
    Эффективность поисковых машин можно также повысить с использованием элемента the для задания ссылок на переводы документа на другие языки, ссылки на версии документа для другого носителя (например, PDF), и, если документ является частью набора, ссылки на соответствующую начальную точку для просмотра набора.
    Дальнейшая информация находится в разделе Как помочь поисковым машинам проиндексировать Ваш Web-сервер .

    META и заголовки HTTP

    Атрибут может использоваться вместо атрибута name; он особенно важен, если документы загружаются по протоколу передачи гипертекста (HTTP). Серверы HTTP могут использовать имя свойства, указанное в атрибуте для создания заголовка в ответе HTTP в стиле [RFC822]. Подробнее о допустимых заголовках HTTP см. в спецификации HTTP ([RFC2068]).
    В следующем примере объявление :

    вернет следующий заголовок HTTP:
    Expires: Tue, 20 Aug 1996 14:25:27 GMT
    Это может использоваться кэш-памятью для определения того, когда следует загрузить новую копию связанного документа.
    Некоторые агенты пользователей поддерживают использование элемента для обновления текущей страницы по истечении указанного числа секунд с возможностью замены на другой URI.

    content - это число, указывающее задержку в секундах, за которым следует URI, который нужно загрузить по прошествии этого времени. Этот механизм широко используется для создания кратковременных заставок. Однако поскольку некоторые агенты пользователей не поддерживают этот механизм, авторам следует включить в заставку возможность перейти на следующую страницу (чтобы они на "зависли" на заставке).

    Метаданные

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

    Элемент задает свойство (здесь "Author (Автор)") и назначает ему значение (здесь - "Дэйв Рэггетт").
    Данная спецификация не определяет набор допустимых свойств метаданных. Значение свойства и набор допустимых значений этого свойства должны определяться в относительном словаре, называемом профилем. Например, профиль, разработанный для помощи в индексировании документов для поисковых машин может определять такие свойства как "author", "copyright", "keywords" и т.д.

    Направление таблиц

    Направление таблицы либо наследуется (по умолчанию используется направление слева направо), либо определяется атрибутом элемента .
    Для таблиц, направление которых слева направо, нулевой столбец находится слева, а нулевая строка - сверху. Для таблиц, направление которых справа налево, нулевой столбец находится справа, а нулевая строка - сверху.
    Если агент пользователя allots в строку дополнительные ячейки (см. раздел о ), дополнительные ячейки строки добавляются в таблицу справа для таблиц, имеющих направление слева направо, и слева для таблиц, имеющих направление справа налево.
    Помните, что - единственный элемент, для которого атрибут обращает визуальный порядок столбцов; нельзя изменить порядок одной строки () или группы столбцов ().
    Если для элемента установлен атрибут , он также влияет на направление текста в ячейках таблицы (поскольку атрибут наследуется элементами уровня блока).
    Чтобы определить таблицу с направлением справа налево, установите атрибут следующим образом:
    ...продолжение таблицы...

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

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

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

    ...текст слева направо...
    ...опять текст справа налево...

    Встроенные элементы, с другой стороны, не наследуют атрибут . Это означает, что встроенный элемент без атрибута не открывает дополнительного уровня внедрения в соответствии с двунаправленным алгоритмом. (Здесь элементом считается элемент уровня блока или встроенный элемент на основе представления по умолчанию. Помните, что элементы и могут быть элементами уровня блока или встраиваемыми элементами в зависимости от контекста.)

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

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

  • Самый близкий родительский элемент, для которого установлено значение атрибута (то есть атрибут наследуется).

  • Заголовок HTTP "Content-Language" (который может конфигурироваться на сервере). Например:
    Content-Language: en-cockney

  • Значения по умолчанию и настройки агента пользователя.

  • В этом примере первичным языком документа является французский ("fr"). Один абзац объявлен на испанском языке ("es"), после чего язык снова становится французским. В следующий абзац включена японская фраза ("ja"), после чего язык опять изменяется на французский.
    Un document multilingue ...текст интерпретируется как французский...

    ... текст интерпретируется как испанский...
    ... текст опять интерпретируется как французский...
    ...французский текст, в котором попадается
    фрагмент на японском, а здесь опять начинается французский...

    Примечание. Ячейки таблицы могут наследовать значения атрибута не от родителя, а из первой ячейки объединения. Подробнее см. в разделе .

    Наследование параметров выравнивания

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

  • Атрибут выравнивания, установленный в ячейке ( и ).

  • Атрибут выравнивания, установленный в элементе группировки столбцов ( и ). Если ячейка является частью span из нескольких столбцов, свойство выравнивания наследуется от определения ячейки в начале span.

  • Атрибут выравнивания, установленный в элементе строки или группировки строк(, , и ). Если ячейка является частью span из нескольких строк, свойство выравнивания наследуется от определения ячейки в начале span.

  • Атрибут выравнивания, установленный в таблице().

  • Значение выравнивания по умолчанию.

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

  • Атрибут, установленный для ячейки ( и ).

  • Атрибут, установленный для элемента строки или группировки строк (, , и ). Если ячейка является частью span из многих строк, значение атрибута наследуется от определения ячейки в начале span.

  • Атрибут, установленный для элемента группировки столбцов ( и ). Если ячейка является частью span из многих столбцов, значение атрибута наследуется от определения ячейки в начале span.

  • Атрибут, установленный для таблицы().

  • Значение атрибута по умолчанию.

  • Кроме того, при генерации ячеек горизонтальное выравнивание определяется сначала для столбцов, а потом для строк, а вертикальное выравнивание - для строк, а потом для столбцов.
    Выравнивание ячеек по умолчанию зависит от агента пользователя. Однако агенты пользователя должны подставлять атрибут по умолчанию соответственно текущем направлению (то есть не просто "left" во всех случаях).
    Агенты пользователя, не поддерживающие значение "justify" атрибута должны использовать значение, соответствующее направлению.
    Примечание. Помните, что ячейка может наследовать атрибут не от родителя, а от первой ячейки в span. Это является исключением из общих правил наследования атрибутов.

    Навигационные карты

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

    Недоступные и неопределяемые ресурсы

    Ссылка на недоступный или неопределяемый ресурс является ошибкой. Хотя агенты пользователей могут по-разному обрабатывать такие ошибки, рекомендуется следующее поведение:
  • Если агент пользователя не может найти связанный ресурс, он должен уведомить об этом пользователя.

  • Если агент пользователя не может идентифицировать тип связанного ресурса, он должен попытаться обработать его. Он должен уведомить пользователя и позволить пользователю вмешаться и определить тип документа.


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

    включает множество различных неотображаемых символов. Многие из них являются типографскими элементами, используемым в некоторых приложениях для достижения специальных визуальных эффектов отображения. В языке HTML только следующие символы определяются как неотображаемые:
  • пробел набора символов ASCII ( )
  • табуляция набора символов ASCII ( )
  • ASCII form feed ( )
  • пробел нулевой ширины (​)

  • также являются неотображаемыми. Помните, что хотя символы 
 и 
 определены в спецификации как разделители строк и абзацев соответственно, это не определяет символы перевода строки в HTML, а также в этой спецификации они не включены в более общую категорию неотображаемых символов.
    В этой спецификации не определяется поведение, отображение и пр. символов пробелов, если они явно не определены как неотображаемые символы. По этой причине для достижения визуальных эффектов форматирования, использующих неотображаемые символы вместо пробелов, авторам следует использовать соответствующие элементы и таблицы стилей.
    Для всех элементов HTML, кроме последовательностей неотображаемых слово (мы используем термин "слово" для обозначения "последовательности отображаемых символов") в теге . При форматировании текст агенты пользователей должны идентифицировать эти слова и обрабатывать их в соответствии с соглашениями относительно определенного языка и целевого носителя.
    Форматирование может включать пробелы между словами (называемые межсловными пробелами), но соглашения относительно межсловных пробелов меняются в зависимости от сценария. Например, в латинских сценариях межсловный пробел обычно отображается как пробел набора символов ASCII ( ), в то время как в таиландской кодировке это разделитель слов нулевой ширины (​). В японской и китайской кодировке межсловный пробел обычно вообще не генерируется.
    Помните, что последовательность неотображаемых символов между словами в исходном документе может вызвать отображение совершенно другого межсловного пробела (кроме элемента ). В частности, агенты пользователей должны прекращать ввод последовательностей неотображаемых символов при выводе межсловного пробела. Это можно и нужно делать, даже при отсутствии информации о языке (из атрибута , полях заголовка HTTP "Content-Language" (см. [RFC2068], раздел14.13), настроек агента пользователя и т.д.).
    Элемент используется для форматированного текста, в котором неотображаемые символы имеют важное значение.
    Для того, чтобы избежать проблем с правилами переноса строк SGML и несоответствия между существующими применениями, авторы не должны полагаться на агенты пользователей при генерации неотображаемых символов непосредственно после начального тега или непосредственно перед конечным тегом. Таким образом, авторы и особенно средства разработки, должны писать, например:
    Мы предлагаем бесплатную техническую поддержку для зарегистрированных пользователей.

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


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


    Начальный тег: обязателен, Конечный тег: обязателен

    Начальный тег: обязателен, Конечный тег: не обязателен
    Определения атрибутов
    type = информация о стиле
    Этот атрибут устанавливает стиль элемента списка. Доступные в настоящее время значения предназначены для визуальных агентов пользователей. описаны ниже (включая информацию о регистре).
    start
    =
    Только для . Этот атрибут задает начальный номер первого элемента в упорядоченном списке. По умолчанию начальный номер - "1". Помните, что, хотя значением этого атрибута является целое число, соответствующая метка может быть нецифровая. Если в качестве стиля выбраны латинские буквы верхнего регистра (A, B, C, ...), start=3 означает "C". Если в качестве стиля выбраны римские цифры нижнего регистра, start=3 означает "iii" и т.д.
    value = число [CN] Нежелетельно. Только для . Этот атрибут устанавливает номер текущего элемента списка. Помните, что, хотя значением атрибута является целое число, соответствующая метка может быть нечисловая (см. атрибут ).
    compact
    Если этот логический атрибут установлен, он сообщает визуальным агентам пользователей о том, что генерировать список нужно более компактно. Интерпретация этого атрибута зависит от агента пользователя.
    Атрибуты, определяемые в любом другом месте
  • , ()
  • (), ()
  • ()
  • ()
  • , , , , , , , , , (внутренние события)

  • Упорядоченные и неупорядоченные списки генерируются одинаково за исключением того, что визуальные агенты пользователей нумеруют упорядоченные списки. Агенты пользователей могут представлять эти номера несколькими способами. Элементы неупорядоченного списка не нумеруются.
    Оба эти типа списков состоят из последовательностей элементов списков, определяемых элементом LI (конечный тег которого можно опустить).

    В этом примере показана общая структура списка.

  • ... первый элемент списка...

  • ... второй элемент списка...

    ...

    Списки могут быть вложенными:

    ПРИМЕР НЕЖЕЛАТЕЛЬНОГО ИСПОЛЬЗОВАНИЯ:

  • ... Уровень один, номер один...

  • ... Уровень два, номер один...

  • ... Уровень два, номер два...

    1. ... Уровень три, номер один...

    2. ... Уровень два, номер три...

    3. ... Уровень один, номер два...

      Информация о порядке номеров. В упорядоченных списках невозможно продолжать нумерацию автоматически из предыдущего списка или убрать нумерацию для некоторых элементов. Однако авторы могут пропустить несколько элементов списка, установив для них атрибут value. Нумерация для последующих элементов списка продолжается с нового значения. Например:

    4. элемент списка номер 30.
    5. элемент списка номер 40.
    6. элемент списка номер 41.

      Объявление и инициализация объекта

      В приведенных выше примерах были показаны отдельные определения объектов. Если в документе должно содержаться несколько экземпляров одного и того же объекта, объявление и инициализацию объекта можно разделить. Такой способ имеет несколько преимуществ:
    7. Данные могут загружаться агентом пользователя из сети один раз (во время объявления) и повторно использоваться в каждой инициализации.
    8. Инициализировать объект можно из местоположения, отличного от того, в котором объект объявлялся, например, из ссылки.
    9. Объекты можно определять в качестве рабочих данных для других объектов.

    10. Чтобы объявить объект так, чтобы он не обрабатывался агентом пользователя при чтении, установите логический атрибут элемента . В то же время авторы должны идентифицировать объявление, установив уникальное значение для атрибута в элементе . Инициализация объекта позже будет ссылаться на этот идентификатор.
      Объявленный должен присутствовать в документе до первого экземпляра .
      Объект, определенный с атрибутом , инициализируется каждый раз, когда необходима генерация элемента, ссылающегося на этот объект (например, активизируется ссылка на него, активизируется объект, ссылающийся на него и т.д.).
      В следующем примере мы объявляем и вызываем его инициализацию, указав его в ссылке. Таким образом объект можно активизировать, щелкнув, например, на выделенном тексте.
      Вид Земли из космоса. ...далее в документе...
      Красивое анимационное изображение Земли!
      В следующем примере показано, как указать рабочие значения, являющиеся другими объектами. В этом примере мы отправляем текст (стихотворение) гипотетическому механизму для просмотра стихотворений. Объект распознает рабочий параметр с именем "font" (скажем, для генерации текста стихотворения с использованием определенного шрифта). Значение этого параметра само является объектом, вставляющим (но не генерирующим) объект шрифта. Отношение между объектом шрифта и объектом механизма просмотра стихотворений достигается с помощью (1) назначения атрибута в объявлении объекта шрифта и (2) ссылки на него в элементе объекта механизма просмотра стихотворений (с помощью и value).
      ...просмотр стихотворения из файла KublaKhan.txt...
      У вас нет такой классной программы просмотра стихотворений...
      Агенты пользователей, не поддерживающие атрибут , должны генерировать содержимое объявления .

      Общее включение: элемент OBJECT


      Начальный тег: обязателен, Конечный тег: обязателен
      Определения атрибутов
      classid = uri
      Этот атрибут может использоваться для указания местоположения объекта с помощью URI. Он может использоваться вместе с атрибутом или как альтернатива ему, в зависимости от типа объекта.
      codebase =
      Этот атрибут определяет базовый путь, используемый для разрешения относительных адресов URI, задаваемых в атрибутах , и . Если этот атрибут отсутствует, значением по умолчанию является базовый адрес URI текущего документа.
      codetype = [CI]
      Этот атрибут определяет тип содержимого данных, получения которых следует ожидать при загрузке объекта, задаваемого атрибутом . Этот атрибут не является обязательным, но рекомендуется, если используется атрибут , поскольку он позволяет агенту пользователя избежать загрузки информации для типа содержимого, который он не поддерживает. Если этот атрибут отсутствует, по умолчанию используется значение атрибута type.
      data = uri
      Этот атрибут может использоваться для указания местоположения данных объекта, например, данных изображения для объектов, определяющих изображения, или в более общем случае - serialized формы объекта, который может использоваться для повторного его создания. Если дается относительный адрес URI, он должен интерпретироваться относительно атрибута codebase.

      type = [CI]

      Этот атрибут определяет тип содержимого для данных, задаваемых атрибутом . Этот атрибут не является обязательным, но рекомендуется, если используется атрибут , поскольку он позволяет агенту пользователя избежать загрузки информации для типа содержимого, который они не поддерживают.

      archive =

      Этот атрибут может использоваться для определения разделенного пробелами списка адресов URI архивов, содержащих относящиеся к объекту ресурсы, который может включать ресурсы, задаваемые атрибутами и . Предварительная загрузка архивов приведет к уменьшению времени загрузки объекта. Архивы, указанные в виде относительных адресов URI, должны интерпретироваться относительно атрибута codebase.

      declare

      Если этот логический атрибут указан, он делает текущее определение только объявлением. Объект должен быть instantiated последующим определением , ссылающимся на это объявление.

      standby = text

      Этот атрибут определяет сообщение, которое агент пользователя может генерировать при загрузке implementation и данных объекта.

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

    11. , ()
    12. (), ()
    13. ()
    14. ()
    15. , , , , , , , , , (внутренние события)
    16. ()
    17. ()
    18. ()
    19. , , , , , ()


    20. В большинстве агентов пользователей имеются встроенные механизмы для генерации основных типов данных, таких как текст, изображения в формате GIF, цвета, шрифты и ряд графических элементов. Для генерации типов данных, которые агенты пользователей не поддерживают по умолчанию, они обычно запускают внешние приложения. Элемент позволяет авторам управлять генерацией данных - задавать внешнюю генерацию или использование некоторой определяемой автором программы, генерирующей данные в агенте пользователя.

      В более общем случае автор должен будет определить три типа информации:

    21. Реализация включенного объекта. Например, если включенный объект - апплет, автор должен указать местоположение исполняемого кода апплета.


    22. Генерируемые данные. Например, если включенный объект является программой, генерирующей данные шрифта, автор должен указать местоположение этих данных.



    23. Дополнительные значения, необходимые объекту. Например, некоторым апплетам могут быть нужны исходные значения для их параметров.


    24. Элемент позволяет авторам указать все три типа данных объекта, но авторы не обязательно должны указывать их все. Например, некоторым объектам не требуются данные (например, апплет, выполняющий анимацию). Другим может быть не нужна инициализация. Другим же может не понадобиться дополнительная информация о реализации, то есть сам агент пользователя может уже знать, как генерировать этот тип данных (например, изображения в формате GIF).

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

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

      Информацию об элементе в формах см. в разделе об управлении формами.

      Отношения документов: элемент LINK


      Начальный тэг: обязателен, Конечный тэг: запрещен
      Атрибуты, определяемые в другом месте
    25. , ()

    26. (), ()

    27. ()

    28. ()

    29. , , , , , , , , , (внутренние события)

    30. , , , , ()

    31. ()

    32. (информация о стиле заголовка)

    33. ()

    34. Этот элемент определяет связь. В отличие от элемента , он может присутствовать только в разделе документа, хотя может присутствовать неограниченное число раз. Хотя элемент не имеет содержимого, он содержит информацию об отношениях, которая может представляться агентами пользователей различными способами (например, в виде панели с выпадающим списком ссылок).
      В данном примере показано, как несколько определений элемента могут быть представлены в разделе документа. Текущим документом является "Chapter2.html". Атрибут указывает отношение связанного документа с текущим документом. Значения "Index", "Next" и "Prev" описаны в разделе, посвященном .
      Глава 2 ...продолжение документа...

      Отображение информации в кавычках

      Визуальные агенты пользователей обычно генерируют элемент как блок с отступом.
      Визуальные агенты пользователей должны обеспечивать отображение содержимого элемента с кавычками в начале и в конце. Авторы не должны помещать кавычки в начало и в конец текста в элементе .
      Агенты пользователей должны генерировать кавычки с учетом принятого в данном языке стиля (см. атрибуты ). Во многих языках используются различные стили для внешних и внутренних (вложенных) кавычек, которые должны соответственно отображаться агентами пользователей.
      В примере ниже показаны вложенные кавычки в элементе .
      John said, I saw Lucy at lunch, she says Mary wants you to get some ice cream on your way home. I think I will get some at Ben and Jerry's, on Gloucester Road.
      Поскольку в обеих цитатах используется английский язык, агенты пользователей должны генерировать их соответственно - одиночные кавычки во внутренних кавычках и двойные - во внешних:
      John said, "I saw Lucy at lunch, she told me 'Mary wants you to get some ice cream on your way home.' I think I will get some at Ben and Jerry's, on Gloucester Road."
      Примечание.В реализации таблиц стилей рекомендуется обеспечение механизма вставки кавычек перед цитатой, определяемой элементом , и после нее в соответствии с текущим языком и степенью вложенности кавычек.
      Однако, поскольку некоторые авторы использовали элемент в основном для отступа текста, чтобы не нарушать намерения авторов, агенты пользователей не должны вставлять кавычки в стиль по умолчанию.
      В связи с этим использование элемента для смещения текста .

      Переход к ресурсу, на который указывает ссылка

      По умолчанию со ссылкой связана загрузка другого ресурса Web. Это поведение достигается обычно путем выбора ссылки (например, с помощью щелчка мыши, ввода с клавиатуры и т.д.).
      В следующем HTML-фрагменте содержится две ссылки, у одной целевым anchor является документ HTML с именем "chapter2.html", а у второй целевой anchor - изображение в формате GIF, расположенное в файле "forest.gif":
      ...какой-то текст...
      Подробнее см. в главе два. См. также карту леса.
      Путем активизации этих ссылок (с помощью щелчка мыши, ввода с клавиатуры, голосовых команд и т.д.) пользователи могут перейти к этим ресурсам. Обратите внимание, что атрибут в каждом исходном anchor указывает адрес целевого anchor с использованием URI.
      Целевой anchor ссылки может быть элементом в документе HTML. Целевому anchor должно даваться имя и адрес URI, адресующий этот anchor, Должен содержать это имя в качестве идентификатора фрагмента.
      Целевые anchors в документах HTML могут указываться с помощью элемента (именующего его с помощью атрибута ) или с помощью любого другого элемента (именующего с помощью атрибута ).
      Таким образом, например, автор может создавать оглавление, элементы Которого являются ссылками на элементы заголовков , и т.д. в том же документе. Используя элемент для создания целевых anchors, можно записать:

      Содержание;/H1> Введение
      Предыстория
      Более конкретные заметки
      ...продолжение содержания...
      ...тело документа...

      Введение

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

      Предыстория

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

      Более конкретные заметки

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

      Содержание

      Введение
      Предыстория
      Более конкретные заметки
      ...продолжение содержания...
      ...тело документа...

      Введение

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

      Предыстория

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

      Более конкретные заметки

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

      Переносы

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

      Подсчет числа столбцов в таблице

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

    36. Для каждого элемента - значение его атрибута (по умолчанию 1).

    37. Для каждого элемента , содержащего по крайней мере один элемент - игнорировать атрибут для элемента . Для каждого элемента выполнить вычисление из шага 1.

    38. Для каждого пустого элемента - значение его атрибута (по умолчанию 1).

    39. В противном случае, если элемент не содержит элементов или , агенты пользователей определять число столбцов из того, что необходимо для строк. Число столбцов равно число столбцов, необходимых строке с наибольшим числом столбцов, включая ячейки, span несколько столбцов. Для любой строки, число столбцов в которой меньше, конец этой строки будет дополняться пустыми ячейками. "Конец" строки зависит от .

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

      ...
      ...строки...

      ...
      ...строки...



      Подсчет ширины столбцов

      Авторы могут указывать ширину столбцов тремя способами:
      Фиксированная
      Указание фиксированной ширины дается в пикселах (например, width="30"). Использование фиксированной ширины позволяет использовать последовательную генерацию.
      В процентах
      Указание ширины в процентах (например, width="20%") означает процент горизонтального пространства, доступного для таблицы (между текущим левым и правым полями, включая floats). Помните, что это пространство не зависит от самой таблицы, поэтому указание ширины в процентах позволяет использовать последовательную генерацию.
      Пропорциональная
      Указание пропорциональной ширины (например, width="3*") означает число частей горизонтального пространства, необходимого для таблицы. Если ширина таблицы определяется как фиксированное значение (с помощью атрибута width элемента ), агенты пользователей могут генерировать таблицу последовательно и с указанием пропорциональной ширины.
      Однако если ширина таблицы не фиксирована, агенты пользователей должны получить все данные таблицы перед тем, как они смогут определить горизонтальное пространство, необходимое для таблицы. Только тогда это пространство может быть распределено между столбцами, для которых указана пропорциональная ширина.
      Если автор не указывает для столбца информацию о ширине, агент пользователя не сможет форматировать таблицу последовательно, поскольку он вынужден будет ждать получения всех данных столбца для определения его ширины.
      Если указанная для столбца ширина недостаточна для размещения содержимого какой-либо ячейки, агенты пользователей могут переформатировать таблицу.
      Таблица в этом примере содержит шесть столбцов. Первый не принадлежит к явной группе столбцов. Следующие три образуют первую явную группу столбцов, а последние два - вторую явную группу столбцов. Эту таблицу нельзя отформатировать последовательно, поскольку она содержит столбцы пропорциональной ширины, а значение атрибута для элемента не указано.
      Когда агент пользователя (визуальный) получит данные таблицы, доступное горизонтальное пространство будет распределяться агентом пользователя следующим образом: сначала агент пользователя распределит 30 пикселов на первый и второй столбец. Затем будет зарезервировано минимальное пространство, необходимое для третьего столбца. Оставшееся горизонтальное пространство будет разделено на шесть равных частей (поскольку 2* + 1* + 3* = 6 частей). Четвертый столбец (2*) получит две таких части, пятый (1*) - одну, а шестой - (3*) три.
      ...

      ...строки...



      Для атрибута во второй группе столбцов мы установили значение "center". Все ячейки в каждом столбце этой группы будут наследовать это значение, но могут переопределять его. В действительности последний элемент делает именно это, потому что в нем указано, что каждая ячейка столбца, которым он управляет, будет выровнена с использованием символа ":".

      В следующей таблице спецификации ширины столбца позволяют агентам пользователя форматировать таблицу последовательно:

      ...

      ...строки...



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

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

      Поля ячейки

      Определения атрибутов
      cellspacing =
      Этот атрибут определяет пространство, которое агент пользователя должен оставить между левой стороной таблицы и левым краем крайнего левого столбца, верхней границей таблицы и верхним краем самой верхней строки и так далее для правой и нижней границ таблицы. Этот атрибут также определяет пространство между ячейками.
      cellpadding =
      Этот атрибут определяет пространство между границей ячейки и ее содержимым. Если значение этого атрибута указано в пикселах, все четыре поля должны иметь этот размер. Если значение атрибута указано в процентах, верхнее и нижнее поля должны быть отделены от содержимого на одинаковый процент доступного вертикального пространства, а левое и правое поля должны быть отделены от содержимого на одинаковый процент доступного горизонтального пространства.
      Эти два атрибута управляют расстоянием между ячейками и внутри них. Они объясняются на следующей иллюстрации:
      Поля ячейки
      В следующем примере атрибут задает расстояние в двадцать пикселов между ячейками и от края таблицы. Атрибут определяет, что верхнее и нижнее поля ячейки отделяются от содержимого ячейки на 10% доступного вертикального пространства (всего 20%). Точно так же, левое и правое поле ячейки будут отделены от содержимого на 10% доступного горизонтального пространства (всего 20%).
      Данные1 Данные2 Данные3

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

      Правила генерации объектов

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

    42. Если агент пользователя по какой-либо причине не может сгенерировать объект (не сконфигурирован для этого, недостаточно ресурсов, ошибочная архитектура и т.д.), он должен попытаться сгенерировать его содержимое.

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

      Обратите внимание на то, что часы будут генерироваться, как только агент пользователя интерпретирует это объявление . Можно отложить генерацию объекта, начав с объявления объекта (описывается ниже).
      Авторы должны выполнять объявление, включая альтернативный текст в качестве содержимого элемента в случае, если агент пользователя не может сгенерировать часы.
      Часы с анимацией.
      Одним важным последствием создания элемента является то, что он предлагает механизм задания альтернативной генерации объектов; в каждом внедренном объявлении могут задаваться альтернативные типы содержимого. Если агент пользователя не может сгенерировать outermost , он пытается сгенерировать содержимое, которое может юыть другим элементом и т.д.
      В следующем примере мы внедряем несколько объявлений для того, чтобы показать работу альтернативной генерации. Агент пользователя попытается сгенерировать первый элемент , который он может, в следующем порядке: (1) апплет Earth, написанный на языке Python, (2) клип Земли в формате MPEG, (3) изображение Земли в формате GIF, (4) альтернативный текст.

      Вид Земли из космоса.

      Внешнее объявление определяет апплет, которому не нужны данные или начальные значения. Второе объявление определяет клип в формате MPEG и, поскольку местоположение обработчика формата MPEG не указано, предполагается, что клип будет обрабатываться агентом пользователя. Мы также установили атрибут type, так что агент пользователя, который знает, что он не может сгенерировать клип в формате MPEG, не будет загружать файл "TheEarth.mpeg" из сети. В третьем объявлении задается местоположение файла в формате GIF и определяется альтернативный текст на случай, если все прочие механизмы не сработают.

      Встроенные и внешние данные. Данные, которые должны генерироваться, могут указываться двумя способами: в виде встроенного или внешнего ресурса. Последний метод обычно обеспечивает более быструю генерацию, но неудобен при генерации большого объема данных.

      Ниже приводится пример, показывающий, как встроенные данные могут be fed to an :

      Часы.

      Информацию о размере, выравнивании и границах объекта см. в разделе .

      Пример таблицы

      В этом примере показаны сгруппированные строки и столбцы. Пример взят из книги "Разработка интернационального программного обеспечения" Надин Кэно.
      В "формате ascii" следующая таблица:
      ПОДДЕРЖКА КОДОВЫХ СТРАНИЦ В MICROSOFT WINDOWS
      ИД кодовой
      страницы
      Название ACP OEMCP Windows
      NT 3.1
      Windows
      NT 3.51
      Windows
      95
      1200Unicode (BMP of ISO/IEC-10646)XX*
      1250Windows 3.1 ВосточноевропейскаяXXXX
      1251Windows 3.1 КириллицаXXXX
      1252Windows 3.1 США (ANSI)XXXX
      1253Windows 3.1 ГреческаяXXXX
      1254Windows 3.1 ТурецкаяXXXX
      1255ИвритXX
      1256АрабскаяXX
      1257БалтийскаяXX
      1361Корейская (Johab)X**X
      437США MS-DOSXXXX
      708Арабская (ASMO 708)XX
      709Арабская (ASMO 449+, BCON V4)XX
      710Арабская (Прозрачная арабская)XX
      720Арабская (Прозрачная ASMO)XX


      может быть сгенерирована следующим образом:
      ПОДДЕРЖКА КОДОВЫХ СТРАНИЦ В MICROSOFT WINDOWS ================================================================================= ИД кодовой| Название | ACP OEMCP | Windows Windows Windows Страницы | | | NT 3.1 NT 3.51 95 --------------------------------------------------------------------------------- 1200 | Unicode (BMP of ISO 10646) | | X X * 1250 | Windows 3.1 Восточноевропейская| X | X X X 1251 | Windows 3.1 Кириллица | X | X X X 1252 | Windows 3.1 США (ANSI) | X | X X X 1253 | Windows 3.1 Греческая | X | X X X 1254 | Windows 3.1 Турецкая | X | X X X 1255 | Иврит | X | X 1256 | Арабская | X | X 1257 | Балтийская | X | X 1361 | Корейская (Johab) | X | ** X ------------------------------------------------------------------------------- 437 | США MS-DOS | X | X X X 708 | Арабская (ASMO 708) | X | X 709 | Арабская (ASMO 449+, BCON V4) | X | X 710 | Арабская (Прозрачная арабская) | X | X 720 | Арабская (Прозрачная ASMO) | X | X ===============================================================================
      Графический агент пользователя может сгенерировать ее следующим образом:
      Пример таблицы
      В данном примере показано, как можно использовать для группировки столбцов и установки выравнивания столбцов по умолчанию. Точно так же используется для группировки строк. Атрибуты и сообщают агенту пользователя, какие границы и rules должны генерироваться.


      Примеры клиентских навигационных карт

      В следующем примере мы создаем клиентскую навигационную карту для элемента . Сы не хотим генерировать содержимое карты при генерации элемента , поэтому мы "скроем" элемент в содержимом элемента . Затем содержимое элемента будет генерироваться, только если нельзя сегенировать содержимое элемента .
      Крутая страница! Перемещение по узлу: Руководство по доступу | Переход | Поиск | Первые десять<
      Нам может понадобиться генерация содержимого карты, даже если агент пользователя может сгенерировать элемент . Например, мы хотим связать навигационную карту с элементом и включить текстовую навигационную панель внизу страницы. Чтобы это сделать, определим элемент вне элемента :
      Крутая страница!
      ...продолжение страницы...
      Перемещение по узлу: Руководство по доступу | Переход | Поиск | Первые десять

      В следующем примере мы создаем сходную навигационную карту, на этот раз используя элемент . Обратите внимание на использование текста :
      Это навигационная панель.
      Руководство по доступу Поиск Переход Первые десять
      Вот версия с использованием элемента вместо элемента (с тем же самым объявлением ):
      навигационная панель
      В следующем примере показано, как элементы могут совместно использовать навигационные карты.
      Вложенные элементы полезны для обеспечения fallbacks в случае, если агент пользователя не поддерживает определенные форматы. Например:
      текст с описанием изображения...

      Если агент пользователя не поддерживает формат PNG, он пытается сгенерировать изображение в формате GIF. Если он не поддерживает GIF (например, это речевой агент пользователя), он воспроизводит текстовое описание, указанное в содержимсом внутреннего элемента . Если элементы вложены таким образом, авторы могут обеспечивать совместное использование этими элементами навигационных карт:
      Перемещение по узлу: Руководство по доступу | Переход | Поиск | Первые десять
      В следующем примере показано, как можно указать anchors для создания неактивных зон в навигационной карте. Первый anchor определяет небольшую круглую область, с которой не связана ссылка. Второй anchor определяет круглую область большего размера с той же координатой центра. Обе они вместе образуют кольцо, центр которого неактивен, а внешняя часть активна. Порядок определения anchor важен, поскольку меньший круг должен иметь приоритет над большим.
      Я неактивная. Я активная.
      Точно так же атрибут элемента объявляет, что с геометрической областью не связана ссылка.

      Принудительный переход на новую строку: элемент BR


      Начальный тег: обязателен, Конечный тег: запрещен
      Атрибуты, определяемые в любом другом месте
    44. , ()

    45. ()

    46. ()

    47. ()

    48. Элемент принудительно разбивает (заканчивает) текущую строку текста.
      Для визуальных агентов пользователей можно использовать атрибут для определения того, обтекает ли следующая за элементом разметка изображения и другие объекты, плавающие относительно левого или правого поля или начинается ниже объекта. Дальнейшая информация приведена в разделе о . Авторам рекомендуется использовать таблицы стилей для управления обтеканием текстом изображений и других объектов.
      С использованием двунаправленного форматирования, элемент должен действовать так же, как действует символ РАЗДЕЛИТЕЛЬ СТРОКИ [ISO10646] в двунаправленном алгоритме.

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


      Начальный тег: обязателен, Конечный тег: обязателен
      Определения атрибутов
      dir = LTR | RTL
      Этот обязательный атрибут указывает основное направление текстового содержимого элемента. Это направление имеет приоритет по отношению к наследуемому направлению символов, как определено в [UNICODE]. Возможные значения:
    49. LTR: Направление слева направо.
    50. RTL: Направление справа налево.

    51. Атрибуты, определяемые в любом другом месте
    52. ()

    53. Двунаправленного алгоритма и атрибута обычно достаточно для управления изменением направления внедренного текста. Однако в некоторых ситуациях двунаправленный алгоритм может привести к некорректному представлению. Элемент позволяет авторам отключать двунаправленный алгоритм для выбранных фрагментов текста.
      Рассмотрите документ с тем же текстовым фрагментом:
      английский1 ИВРИТ2 английский3 ИВРИТ4 английский5 ИВРИТ6
      но предположите, что этот текст уже представлен в нужном порядке. Одной причиной этого может быть то, что стандарт MIME ([RFC2045], [RFC1556]) благоприятствует визуальному порядку, то есть последовательности с направлением справа налево вставляются в байтовый поток с направлением справа налево. В электронной почте это может форматироваться, включая перевод строки, например:
      английский1 2ТИРВИ английский3 4ТИРВИ английский5 6ТИРВИ
      Это конфликтует с двунаправленным алгоритмом [UNICODE], поскольку этот алгоритм инвертирует 2ТИРВИ, 4ТИРВИи 6ТИРВИ во второй раз, так что слова на иврите отображаются слева направо, а не справа налево.
      В этом случае решением будет переопределить действие двунаправленного алгоритма, поместив выдержку Email в элемент (для сохранения переводов строки) и каждую строку, для которой атрибут установлен в LTR, в элемент :
       английский1 2ТИРВИ английский3 4ТИРВИ английский5 6ТИРВИ 


      Двунаправленному алгоритму выдается команда "Я должен быть слева направо!", что приведет к нужному представлению:

      английский1 2ТИРВИ английский3 4ТИРВИ английский5 6ТИРВИ

      Элемент следует использовать в сценариях, где необходим абсолютный контроль над последовательностью (например, многоязыковые номера частей). Атрибут для этого элемента является обязательным.

      Авторы могут также использовать специальные символы Unicode для того, чтобы избежать использования двунаправленного алгоритма -- LEFT-TO-RIGHT OVERRIDE (202D) или RIGHT-TO-LEFT OVERRIDE (шестнадцатеричный код 202E). Символ POP DIRECTIONAL FORMATTING (шестнадцатеричный код 202C) заканчивает любую последовательность, используемую для обхода двунаправленного алгоритма.

      Примечание.

      Помните, что при использовании атрибута во встроенных элементах (включая ) одновременно с соответствующими символами форматирования [UNICODE], могут возникать конфликты.

      Двунаправленность и кодировка символов В соответствии с [RFC1555] и [RFC1556] существуют специальные соглашения относительно использования значений параметра "charset" для указания обработки двунаправленности в почте MIME, в частности для отличия визуальной, явной и неявной направленности. Значение параметра "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" подразумевает, что документ отформатирован визуально, и некоторая разметка будет использоваться неправильно (например, с выравниванием по правому краю без разбивки строк), чтобы гарантировать правильное отображение для более старых агентов пользователя, не поддерживающих двунаправленность. Такие документы не удовлетворяют настоящей спецификации. При необходимости их можно изменить (и одновременно они будут корректно отображаться в старых версиях агентов пользователей), добавив, где нужно, разметку .

      Вопреки сказанному в [RFC1555] и [RFC1556], кодировка ISO-8859-6 (арабская) не представляет визуального порядка.

      Прямые и обратные ссылки

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

      Профили метаданных

      Атрибут элемента указывает местоположение профиля метаданных. Значением атрибута является URI. Агенты пользователей могут использовать этот URI двумя способами:
    54. Как глобальное уникальное имя. Агенты пользователя могут распознавать имя (не загружая в действительности профиль) и выполнять некоторые действия на базе известных соглашений для этого профиля. Например, поисковые машины могут обеспечивать интерфейс для поиска в каталогах документов HTML, где все эти документы используют один и тот же профиль для представления записей каталога.

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

    56. В этом примере используется гипотетический профиль, определяющий полезные свойства для индексирования документов. Для свойств, определяемых этим профилем - включая "author", "copyright", "keywords" и "date" -- значения устанавливаются с помощью последовательных объявлений .
      How to complete Memorandum cover sheets
      Во время написания этой спецификации распространенной стала практика использования форматов дат, описанных в [RFC2068], раздел 3.3. Поскольку обработка этих форматов относительно сложна, мы рекомендуем авторам использовать формат даты [ISO8601]. Подробнее см. разделы об элементах и .
      Атрибут позволяет авторам предоставлять агентам пользователей дополнительный контекст для корректной интерпретации метаданных. Иногда такая дополнительная информация может иметь важное значение, например, если метаданные указаны в другом формате. Например, автор может указать дату в формате "10-9-97" (неоднозначно); означает ли это 9 октября 1997 г. или 10 сентября 1997 г.? Значение атрибута "Month-Date-Year" устранит неоднозначность.
      В других случаях атрибут может предоставлять агентам пользователей полезную, но не столь важную информацию.
      Например, следующее объявление поможет агентам пользователей определить, что значение свойства "identifier" - номер кода ISBN:

      Значения атрибута зависят от свойства name и связанного .
      Примечание. Примером профиля является Dublin Core (см. [DCORE]). Этот профиль определяет набор рекомендуемых свойств для электронных библиографических описаний и предназначен для обеспечения интероперабельности в несопоставимых моделях описаний.

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

      Атрибуты vspace и hspace определяют свободное пространство слева и справа (hspace) и над и под (vspace) , , . По умолчанию значение этого атрибута не определено, но обычно это небольшое ненулевое значение. Оба атрибута имеют значение типа .

      Разметка изменений в документе: Элементы INS и DEL


      Начальный тег: обязателен, Конечный тег: обязателен
      Определения атрибутов
      cite =
      Значением этого атрибута является адрес URI, определяющий источник документа или сообщения. Этот атрибут указывает на информацию, объясняющую причины изменения документа.
      datetime
      =
      Значение этого атрибута указывает дату и время выполнения изменения.
      Атрибуты, определяемые в любом другом месте
    57. , ()

    58. (), ()

    59. ()

    60. ()

    61. , , , , , , , , , (внутренние события)

    62. Элементы и используются для разметки вставленных или удаленных разделов документа по отношению к другой версии документа (например, в черновике законопроекта, куда юристы должны вносить поправки).
      Эти два элемента необычны для HTML, поскольку они могут служить элементами уровня блока или встроенными элементами (но не теми и другими). Они могут содержать одно или несколько слов в абзаце или один или несколько элементов уровня блока - абзацев, списков и таблиц.
      Это пример законопроекта о количестве депутатов у окружного шерифа - 3 исправлено на 5.
      У шерифа может быть 35 депутатов.

      Элементы и не должны включать содержимое уровня блока, если они являются встроенными элементами.
      ПРИМЕР НЕДОПУСТИМОГО ИСПОЛЬЗОВАНИЯ:

      Ниже показан недопустимый код HTML.
      ...содержимое уровня блока...


      Агенты пользователей должны генерировать вставленный и удаленный текст так, чтобы изменения были очевидны. Например, вставленный текст может отображаться специальным шрифтом, удаленный текст может вообще не отображаться, отображаться перечеркнутым или со специальными пометками и т.д.
      Оба примера ниже соответствуют 5 ноября 1994 года, 20 ч. 15 мин. 30 с по стандартному восточному времени США.

      1994-11-05T13:15:30Z 1994-11-05T08:15:30-05:00

      С использованием элемента получаем:

      Более того, последние цифры из отдела маркетинга говорят о том, что это полезная практика.

      В документе "http://www.foo.org/mydoc/comments.html" должны содержаться комментарии о том, почему эта информация помещена в документ.

      Авторы также могут оставлять комментарии о вставленном или удаленном тексте для элементов и с помощью атрибута . Агенты пользователей могут представлять эту информацию пользователю (например, в виде всплывающего сообщения). Например:

      Более того, последние цифры из отдела маркетинга говорят о том, что это полезная практика.



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

      Агенты пользователей должны вычислять базовый URI для разрешения относительных URI в соответствии с [RFC1808], раздел 3. Далее описано, как [RFC1808]
      применяется именно к HTML.
      Агенты пользователей должны вычислять базовый URI в соответствии со следующим приоритетом (от высшего приоритет к низшему):
    63. Базовый URI, устанавливаемый элементом .

    64. Базовый URI, задаваемый метаданными, обнаруженными в процессе работы по протоколу, такими как заголовок HTTP (см. [RFC2068]).

    65. По умолчанию базовым URI является URI текущего документа. Не все документы HTML имеют базовый URI (например, документ HTML может присутствовать в сообщении электронной почты и может не определяться никаким URI). Такие документы HTML считаются erroneous, если они содержат относительные URI и используют базовый URI по умолчанию.

    66. Кроме того, элементы и определяют атрибуты, имеющие преимущество над значением, установленным для элемента . Подробнее об относящихся к ним определениям URI см. в определениях этих элементов.
      Ссылки, указанные в заголовках HTTP, обрабатываются в точности так, как элементы , явно установленные в документе.


      Серверные навигационные карты

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

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

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

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

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

      Следующий пример не является корректным в смысле уникальности, поскольку два имени отличаются только регистром:
      ... ...
      Хотя далее приводится допустимый код HTML, поведение агента пользователя в данном случае не определено; некоторые агенты пользователей могут (ошибочно) считать это совпадением, другие могут так не считать.
      ... ...некоторый текст...
      ...
      Имена якорей должны содержать только символы набора ASCII. Подробнее см. в разделе .

      Списки определений: элементы DL, DT и DD



      Начальный тег: обязателен, Конечный тег: обязателен

      Начальные тег: обязателен, Конечный тег: не обязателен
      Атрибуты, определяемые в любом другом месте
    67. , ()
    68. (), ()
    69. ()
    70. ()
    71. , , , , , , , , , (внутренние события)

    72. Списки определений незначительно отличаются от других типов списков - тем, что элементы состоят из двух частей: термина и определения. Термин обозначается с помощью элемента и может иметь только встроенное содержимое. Описание указывается с помощью элемента , имеющим содержимое уровня блока.
      Пример:
      Dweeb
      young excitable person who may mature into a Nerd or Geek
      Cracker
      hacker on the Internet
      Nerd
      male so into the Net that he forgets his wife's birthday

      Вот пример с несколькими терминами и определениями:
      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.

      Другим применением элемента , например, может быть разметка диалогов, где каждый элемент означает говорящего, а в каждом элементе содержатся его слова.

      Ссылки и поисковые машины

      Авторы могут использовать элемент для указания различной информации для поисковых машин, включая:
    73. Ссылки на альтернативные версии документа, написанные на других языках.

    74. Ссылки на альтернативные версии документа, разработанные для других устройств, например, на версии, предназначенные специально для печати.

    75. Ссылки на начальные страницы набора документов.

    76. В примерах ниже показано, как информация о языке, типах устройств и типах ссылок может использоваться для улучшения обработки документа поисковыми машинами.
      В следующем примере мы используем атрибут , чтобы сообщить поисковым машинам, где находятся голландская, португальская и арабская версии документа. Обратите внимание на использование атрибутов и для руководства на арабском языке, а также на использование атрибута для указания того, что значением атрибута для элемента , указывающего руководство на французском языке, задано по-французски.
      Руководство на английском языке
      В следующем примере мы сообщаем поисковым машинам, где находится печатная версия руководства.
      Руководство
      В следующем примере мы сообщаем поисковым машинам, где находится первая страница набора документов.
      Руководство - страница 5
      Дальнейшая информация приведена в замечаниях в приложении о том, .

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

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

      Ссылки на символы для управления направлением и объединением

      Поскольку иногда возникает двусмысленность относительно некоторых символов (например, символов пунктуации), спецификация [UNICODE] включает символы для правильного определения назначения. Спецификация Unicode также включает некоторые символы для управления объединением при необходимости (например, в некоторых ситуациях с арабскими символами). HTML 4.0 включает для этих символов .
      Следующее DTD определяет представление некоторых объектов направления:

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

      Строки и абзацы

      Авторы традиционно разделяют свои тексты на последовательности абзацев. Организация информации в абзацы не влияет на представление абзаца: абзацы с двойным выравниванием содержат те же мысли, что и абзацы с выравниванием влево.
      Разметка HTML для определения абзаца проста: элемент определяет новый абзац.
      Визуальное представление абзаца не так просто. Имеется ряд проблем, стилистических и технических:
    77. Обработка непечатных символов

    78. Перенос строки и продолжение слов

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

    80. Перенос

    81. Соглашения относительного письменного языка и направления текста

    82. Форматирование абзацев относительно окружающего

    83. Эти вопросы обсуждаются ниже. обсуждаются далее в этом документе.

      Строки таблицы: элемент TR


      Начальный тег: обязателен, Конечный тег: не обязателен
      Атрибуты, определяемые в любом другом месте
    84. , ()

    85. (), ()

    86. ()

    87. ()

    88. , , , , , , , , , ()

    89. , , , ()

    90. Элементы служат контейнерами для строки ячеек таблицы. Конечный тег можно опустить.
      Эта простая таблица состоит из трех строк, каждая из которых начинается с элемента :
      ...Строка заголовка...
      ...Первая строка данных...
      ...Вторая строка данных...
      ...продолжение таблицы...
      Сколько чашек кофе выпивает каждый сенатор


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

      Невизуальные агенты пользователей, такие как синтезаторы речи и устройства на базе азбуки Бройля, могут использовать следующие атрибуты элементов и для более intuitive генерации ячеек таблицы:
    91. Для данной ячейки данных в атрибуте перечислено, в каких ячейках находится pertinent информация заголовка. С этой целью каждая ячейка заголовка должна получить имя с использованием атрибута . Помните, что не всегда возможно явно разделить ячейки на заголовки и данные. В таких ячейка следует использовать элемент вместе с атрибутами или .

    92. Для данной ячейки заголовка атрибут сообщает агенту пользователя ячейки данных, информация для которых указывается этим заголовком. Авторы могут использовать этот атрибут вместо в зависимости от того, что более удобно; эти два атрибута имеют одну и ту же функцию. Атрибут обычно нужен, если заголовки помещаются в нестандартном положении по отношению к данным, к которым они применяются.
      Атрибут abbr задает сокращенный заголовок для ячеек заголовков, так что агенты пользователя могут быстрее генерировать информацию заголовка.
      В следующем примере мы назначаем информацию заголовка ячейкам, устанавливая атрибут . Каждая ячейка в одном и том же столбце относится к одной и той же ячейке заголовка (с помощью атрибута ).
      Сколько чашек кофе выпивает каждый сенатор
      Имя Сколько Тип кофе Сахар?
      Т. Секстон 10 Эспрессо Нет
      Дж. Диннен 5 Без кофеина Да


      Синтезатор речи может генерировать эту таблицу следующим образом:

      Заголовок: Сколько чашек кофе выпивает каждый сенатор Summary: В этой таблице приводится информация о том, сколько чашек кофе выпивает каждый сенатор, о типа кофе (без кофеина или обычный) и о сахаре. Имя: Т. Секстон, Сколько: 10, Тип: Эспрессо, Сахар: Нет Имя: Дж. Диннен, Сколько: 5, Тип: Без кофеина, Сахар: Да

      Заметьте, что заголовок "Тип кофе" сокращается до "Тип" с помощью атрибута .

      Вот тот же пример, использующий атрибут вместо атрибута . Обратите внимание на значение "col" для атрибута , означающее "все ячейки в текущем столбце":

      Сколько чашек кофе выпивает каждый сенатор
      Имя Сколько Тип кофе Сахар?
      Т. Секстон 10 Эспрессо Нет
      Дж. Диннен 5 Без кофеина Да


      Ниже приводится несколько более сложный пример, в котором показаны другие значения атрибута :

      Курсы - Бат, осень 1997 г.
      Название курса Преподаватель курса Описание Код Стоимость
      После Гражданской войны Доктор Джон Раутон В этом курсе изучаются turbulent годы в Англии после 1646 года. 6 еженедельных занятий, начиная с понедельника, 13 октября. H27 £32
      Англо-саксонская Англия - введение Марк Коттл Однодневный курс - введение в раннесредневековый период Реконструкции англо-саксонского общества. Суббота, 18 октября. H28 £18
      Греция Валери Лоренц Колыбель демократии, философии, сердце театра, родина аргумента. Это могли сделать римляне, если бы греки не опередили их. Субботняя школа 25 октября 1997 года H30 £18


      Графический агент пользователя может сгенерировать это следующим образом:

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

      Обратите внимание на использование атрибута со значением "row". Хотя первая ячейка в каждой строке содержит данные, а не заголовок, благодаря атрибуту ячейки данных выглядят как ячейки заголовка строки. Это позволяет синтезаторам речи указывать соответствующее название курса по запросу или произносить его непосредственно перед содержимым ячейки.

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

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


      Текст













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

      Указание метаданных

      В общем случае задание метаданных состоит из двух шагов:
    94. Объявление свойства и его значения. Это можно сделать двумя способами:

    95. Из документа с помощью элемента .

    96. Не из документа с помощью ссылки на метаданные через элемент (см. раздел о ).

    97. Сославшись на в котором определяются свойства и их допустимые значения. Для назначения профиля используйте атрибут элемента .

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

      Указание направления текста и таблиц: атрибут dir

      Определения атрибутов
      dir = LTR | RTL
      Этот атрибут задает основное направление нейтрального в смысле направления текста (например, текста, который не наследует направленность, как определено в [UNICODE]) и . Возможные значения:
    99. LTR: Слева направо.
    100. RTL: Справа налево.

    101. Кроме задания языка документа с помощью атрибута , авторы могут указать основное направление (слева направо или справа налево) частей текста, таблицы и т.д. Это делается с помощью атрибута .
      Спецификация [UNICODE] назначает направление символам и определяет (сложный) алгоритм для определения соответствующего направления текста. Если документ не содержит отображаемых справа налево символов, агент пользователя не должен использовать двунаправленный алгоритм [UNICODE]. Если документ содержит такие символы, и если агент пользователя и отображает, он должен использовать двунаправленный алгоритм.
      Хотя в Unicode определены специальные символы, отвечающие за направление текста, HTML предлагает конструкции разметки высшего уровня, выполняющие те же функции: атрибут (не спутайте с элементом ) и элемент . Таким образом, чтобы привести цитату на иврите, проще написать
      ...цитата на иврите...
      чем с эквивалентными ссылками Unicode:
      ‫״...цитата на иврите...״‬
      Агенты пользователей не должны использовать атрибут lang для определения направления текста.
      Атрибут наследуется, и его можно переопределить. Подробнее см. в разделе о .

      Управление переходом на следующую строку

      Переходом на следующую строку считается возврат каретки ( ), перевод строки (�OA;) или пара возврат каретки/перевод строки. Все переходы на другую строку являются
      Подробнее о переходе на другую строку в спецификации SGML см. в разделе в приложении.

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

      Двунаправленный алгоритм [UNICODE] автоматически обращает последовательности внедренных символов в соответствии с наследуемым направлением (как показано в предыдущих примерах). Однако в общем в расчет принимается только один уровень внедрения. Для того, чтобы изменения направления достигали дополнительных уровней, используйте атрибут во встроенном элементе.
      Рассмотрите текст предыдущего примера:
      английский1 ИВРИТ2 английский3 ИВРИТ4 английский5 ИВРИТ6
      Предположим, основным языком для документа, содержащего этот абзац, является английский. В этом английском предложении содержится фрагмент на иврите, продолжающийся от ИВРИТ2 до ИВРИТ4, и в нем содержится англоязычный фрагмент (английский3). Таким образом, желаемое представление текста:
      английский1 4ТИРВИ английский3 2ТИРВИ английский5 6ТИРВИ -------> А <----------------------- И ----------------------------------------------------> А
      Для изменения направления текста двух внедренных фрагментов необходимо задать дополнительную информацию, что мы и делаем, явно разделяя второе внедрение. В этом примере мы используем для разметки текста элемент и атрибут :
      английский1 ИВРИТ2 английский3 ИВРИТ4 английский5 ИВРИТ6
      Авторы также могут использовать для изменения направления нескольких внедренных фрагментов символы Unicode. Для указания направления слева направо во внедряемом фрагменте окружите текст символами LEFT-TO-RIGHT EMBEDDING ("LRE", шестнадцатеричный код 202A) и POP DIRECTIONAL FORMATTING ("PDF", шестнадцатеричный код 202C). Для указания направления справа налево во внедряемом фрагменте окружите текст символами RIGHT-TO-LEFT EMBEDDING ("RTE", шестнадцатеричный код 202B) и PDF.
      Использование разметки направленности HTML с символами Unicode. Авторы и разработчики средств создания HTML-документов должны знать о возможных конфликтах, возникающих при использовании атрибута со встроенными элементами (включая ) одновременно с соответствующими символами форматирования [UNICODE]. Предпочтительнее использовать только один метод. Метод с использованием разметки гарантирует структурную целостность документа и устраняет некоторые проблемы с редактированием двунаправленного текста HTML в простых текстовых редакторах, но некоторое программное обеспечение может лучше использовать символы [UNICODE]. Если используются оба метода, следует хорошо позаботиться о правильном вложении разметки и символов, иначе результаты могут быть непредсказуемыми.

      Верхние и нижние индексы: элементы SUBи SUP


      Начальный тег: обязателен, Конечный тег: обязателен
      Атрибуты, определяемые в любом другом месте
    102. , ()

    103. (), ()

    104. ()

    105. ()

    106. , , , , , , , , , (внутренние события)

    107. Часто для правильной генерации необходимы верхние и нижние индексы (например, во французском языке). В этих случаях для разметки текста должны использоваться элементы и .
      H2O E = mc2 Mlle Dupont

      Визуальное отображение абзацев

      Примечание.В следующем разделе содержится информативное описание обработки некоторыми из визуальных агентов пользователя форматированного текста. Таблицы стилей предоставляют лучшие возможности управления форматированием текста.
      Визуальное генерирование абзацев зависит от агента пользователя. Обычно абзацы генерируются с выравниванием влево и неровным правым полем. Для направления текста справа налево используются другие значения по умолчанию.
      Агенты пользователей HTML традиционно генерируют абзацы с непечатным символом перед абзацем и после него, например,
      Одновременно начали формироваться система нумерации, календарь, иероглифическое письмо и технически развитое искусство, все, что позже повлияло на других людей.
      В рамках этого развития или культурного прогресса Предклассическая эпоха подразделяется на Ранний, Средний и Поздний периоды, к которым можно добавить переходный или протоклассический период, некоторые черты которого будут потом присущи цивилизациям Америки.
      Это отличается от стиля, используемого в романах, где первая строка каждого абзаца смещена, а интервал между последней строкой текущего абзаца и первой строкой следующего не отличается от межстрочных интервалов внутри абзаца, например,
      Одновременно начали формироваться система нумерации, календарь, иероглифическое письмо и технически развитое искусство, все, что позже повлияло на других людей. В рамках этого развития или культурного прогресса Предклассическая эпоха подразделяется на Ранний, Средний и Поздний периоды, к которым можно добавить переходный или протоклассический период, некоторые черты которого будут потом присущи цивилизациям Америки.
      Следуя установкам браузера NCSA Mosaic, созданного в 1993 году, агенты пользователей обычно не выравнивают оба поля, частично из-за сложности этого процесса при отсутствии специальных процедур расстановки переносов. Использование таблиц стилей и шрифтов без псевдонимов с субпиксельным позиционированием обещает авторам текстов на языке HTML более широкие возможности.

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

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

      В западных сценариях, например, текст должен разбиваться только в позиции, где стоит неотображаемый символ. Ранние версии агентов пользователей некорректно разбивали строки сразу же после начального тега или перед конечным тегом элемента, что приводило к нарушению пунктуации. Например, рассмотрите предложение:

      Статуя Свободы, которая является ...

      Разбиение строки сразу перед конечным тегом элемента приведет к тому, что запятая будет помещена в начало следующей строки:

      Статуя Свободы , которая является ...

      Это ошибка, поскольку в разметке в этой позиции нет неотображаемого символа.

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

      Примечание.Ниже приводится информативное описание поведения некоторых имеющихся на настоящий момент визуальных агентов пользователей при форматировании списков. Таблицы стилей предоставляют большие возможности управления форматированием списков (например, в отношении нумерации, соглашений, используемых в разных языках, отступов и т.д.).
      Визуальные агенты пользователей обычно сдвигают вложенные списки соответственно уровню вложенности.
      Для элементов и атрибут определяет параметры генерации для визуальных агентов пользователей.
      Для элемента возможными значениями атрибута являются disc, square и circle. Значение, используемое по умолчанию, зависит от уровня вложенности текущего списка. Эти значения не учитывают регистр.
      Представление каждого значения зависит от агента пользователя. Агенты пользователей должны пытаться представлять "disc" в виде небольшого заполненного кружка, "circle" - в виде окружности, а "square" в виде небольшого квадрата.
      Графические агенты пользователь могут генерировать их как:
      Визуальное отображение списков для значения "disc"

      Визуальное отображение списков для значения "circle"

      Визуальное отображение списков для значения "square"
      Для элемента возможные значения атрибута приведены в следующей таблице (они учитывают регистр):

      TypeСтиль нумерации
      1арабские цифры1, 2, 3, ...
      aбуквы нижнего регистраa, b, c, ...
      Aбуквы верхнего регистраA, B, C, ...
      iримские цифры в нижнем регистреi, ii, iii, ...
      Iримские цифры в верхнем регистре I, II, III, ...

      Помните, что использование атрибута , и стили списков должны определяться с помощью таблиц стилей.
      Например, с помощью CSS можно указать, что стиль нумерации для элементов списка в нумерованном списке - римские цифры нижнего регистра. В приведенном ниже примере каждый элемент , принадлежащий классу "withroman", обозначается римской цифрой.
      1. Шаг один ...
      2. Шаг два ...
        Генерация списка определений также зависит от агента пользователя. Например, список:
        Dweeb
        young excitable person who may mature into a Nerd or Geek
        Cracker
        hacker on the Internet
        Nerd
        male so into the Net that he forgets his wife's birthday

        может генерироваться следующим образом:
        Dweeb young excitable person who may mature into a Nerd or Geek
        Cracker hacker on the Internet Nerd male so into the Net that he forgets his wife's birthday

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

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

        Включение апплета: элемент APPLET

        Элемент APPLET является , вместо него следует использовать элемент .
        Формальное определение см. в .
        Определения атрибутов
        codebase =
        Этот атрибут определяет базовый адрес URI апплета. Если этот атрибут не указан, по умолчанию используется базовый адрес URI, используемый для всего документа. Значениями этого атрибута могут быть только подкаталоги каталога, в котором расположен текущий документ.
        code =
        Этот атрибут определяет имя файла класса, содержащего скомпилированный подкласс апплета или путь, по которому можно получить класс, включая сам файл класса. Он интерпретируется с учетом кода апплета. Для этого должен быть указан один из атрибутов или .
        name =
        Этот атрибут определяет имя экземпляра апплета, что дает возможность апплетам на одной странице находить друг друга и взаимодействовать друг с другом.
        archive =
        Этот атрибут определяет разделенный запятыми список адресов URI архивов, содержащих классы и другие ресурсы, которые будут "предварительно загружаться". Классы загружаются с помощью экземпляра AppletClassLoader с заданным . Относительные адреса URI архивов интерпретируются относительно codebase апплета. Предварительная загрузка ресурсов может существенно увеличить производительность апплетов.
        object =
        Этот атрибут определяет имя ресурса, содержащего serialized представление состояния апплета. Он интерпретируется относительно codebase апплета. serialized данные содержат имя класса апплета, но не обработчика. Имя класса используется для загрузки обработчика из файла класса или архива.
        Если апплет "deserialized", метод start() вызывается вместо метода init(). Атрибуты, допустимые при serialized исходного объекта, не восстанавливаются. Атрибуты, переданные в этот экземпляр , будут доступны апплету. Авторам следует очень осторожно использовать это свойство. Перед serialized вапплет должен быть остановлен.
        Должен присутствовать один из атрибутов или . Если даны оба атрибута и , и в них указаны разные имена классов, это является ошибкой.
        width =

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

        height =

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

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

      3. , ()
      4. ()
      5. ()
      6. ()
      7. , , ()


      8. Этот элемент, поддерживаемый всеми программами просмотра с поддержкой Java, позволяет дизайнерам внедрять апплеты Java в документы HTML. Он является нежелательным, и вместо него следует использовать элемент .

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

        ПРИМЕР НЕЖЕЛАТЕЛЬНОГО ИСПОЛЬЗОВАНИЯ:

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

        Java-апплет, рисующий движущиеся пузыри.

        Этот пример можно переписать с использованием элемента следующим образом:

        Java-апплет, рисующий движущиеся пузыри.

        Задать для апплета исходные значения можно с помощью элемента .

        ПРИМЕР НЕЖЕЛАТЕЛЬНОГО ИСПОЛЬЗОВАНИЯ:

        Следующий апплет на языке Java:

        Java-апплет, воспроизводящий звуковой файл приветствия.

        можно определить с использованием элемента следующим образом:

        Java-апплет, воспроизводящий звуковой файл приветствия.

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


        Начальный тег: обязателен, Конечный тег: запрещен
        Определения атрибутов
        src = uri
        Этот атрибут задает местоположение изображения. Примерами широко распознаваемых форматов являются GIF, JPEG и PNG.
        longdesc = uri
        Этот атрибут определяет ссылку на длинное описание изображения. Это описание должно дополнять краткое описание, задаваемое атрибутом . Если с изображением связана , в этом атрибуте должна приводиться информация о ее содержимом. Это особенно важно для серверных навигационных карт.
        Атрибуты, определенные в другом месте
      9. , ()
      10. ()
      11. (), ()
      12. ()
      13. ()
      14. , , , , , , , , , ()
      15. , ()

      16. , , , , , ()

      17. Элемент внедряет изображение в текущий документ по адресу из определения элемента. Элемент не имеет содержимого; обычно он замещается изображением, назначаемым атрибутом , исключение при этом составляют выровненные влево или вправо изображения, которые out of line.
        В приведенном ранее примере мы определили ссылку на семейную фотографию. Здесь мы вставим фотографию непосредственно в текущий документ:
        Я только что вернулся из отпуска! Вот фотография моей семьи на озере: Фотография моей семьи на озере.
        Этого же эффекта можно достичь с помощью элемента следующим образом:

        Я только что вернулся из отпуска! Вот фотография моей семьи на озере: Фотография моей семьи на озере.

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

        В следующем примере показано, как можно использовать атрибут longdesc для ссылки на более подробное описание:

        Карта узла лабораторий HP

        Атрибут задает краткое описание изображения. Его должно быть достаточно для того, чтобы пользователи могли решить, хотят ли они следовать по ссылке, определяемой атрибутом longdesc для более получения подробного описания, здесь это ссылка "sitemap.html".

        Информацию о размере изображения, выравнивании и границах см. в разделе о .

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

        Ссылки и якоря, определяемые элементом , не могут быть вложенными; элемент не должен содержать других элементов .
        Поскольку DTD определяет элемент как пустой, элементы также не могут быть вложенными.

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

        В следующем примере проиллюстрировано ожидаемое поведение двунаправленного алгоритма. В нем показаны английский текст слева направо и текст на иврите справа налево.
        Рассмотрите следующий текст:
        английский1 ИВРИТ2 английский3 ИВРИТ4 английский5 ИВРИТ6
        Символы в этом примере (и во всех реплицированных примерах) хранятся в компьютере в том же виде, в каком они отображаются здесь: первый символ - "а", второй - "н", последний "6".
        Предположим, для содержащего этот абзац документа определен английский язык. Это означает, что основным направлением является направление слева направо. Корректное представление этой строки:
        английский1 2ТИРВИ английский3 4ТИРВИ английский5 6ТИРВИ <----- <----- <----- H H H ----------------------------------------------------> E
        Строки точек указывают структуру предложения: основным языком является английский, но встроены некоторые элементы на иврите. Для получения корректного представления не нужно никакой дополнительной разметки, поскольку фрагменты на иврите корректно обращаются агентами пользователя, применяющими двунаправленный алгоритм.
        С другой стороны, если для документа определен язык иврит, основным будет направление справа налево. Корректное представление, таким образом, будет:
        6ТИРВИ английский5 4ТИРВИ английский3 2ТИРВИ английский1 -------> -------> -------> E E E <------------------------------------------------- H
        В это случае все предложение представляется справа налево, а фрагменты на английском языке обращаются двунаправленным алгоритмом.

        Введение в объекты, изображения и апплеты

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

      19. Элемент работает только с апплетами языка Java. Этот элемент теперь , вместо него используется элемент .

      20. Они вызывают проблемы доступности.

      21. Для решения всех этих вопросов в HTML 4.0 вводится элемент , обеспечивающий всестороннее решение для включения объектов. Элемент позволяет авторам документов в формате HTML указывать всю информацию, необходимую для представления объекта агентом пользователя: исходный код, начальные значения и рабочие данные. В данной спецификации термин "объект" используется для описания всех объектов, которые Вы захотите включить в HTML-документы; другие термины: апплеты, подключаемые модули (plug-ins), дескрипторы устройств и т.д.
        Новый элемент , таким образом, subsumes некоторые задачи, выполняемые существующими элементами. Рассмотрим следующую классификацию функций:

        Тип включения
        Конкретный элемент
        Общий элемент
        Изображение
        Апплет (.)
        Другой документ HTML

        Из таблицы видно, что каждый тип включения имеет конкретное и общее решение. Общий элемент служит решением для использования возможных в будущем типов устройств.
        Для включения изображений авторы могут использовать элемент или элемент .
        Для включения апплетов авторам следует использовать элемент , поскольку использование элемента .
        Для включения одного документа HTML в другой авторы могут использовать новый элемент или элемент . В обоих случаях внедренный документ не зависит от основного документа. Визуальные агенты пользователей могут представлять внедренный документ в виде отдельного окна в основном документе. Для сравнения элементов и обратитесь к .
        С изображениями и другими включаемыми объектами могут быть связаны ссылки, с помощью стандартных , а также и с помощью . На навигационной карте задаются геометрические области включаемого объекта, и каждой из них назначается ссылка. При активизации эти ссылки могут вызывать загрузку документа, запускать программу на сервере и т.д.
        В следующих разделах мы обсудим различные механизмы, которые авторы могут использовать для включения мультимедиа и создания навигационных карт для этих объектов.

        Введение в списки

        Язык HTML предлагает авторам несколько механизмов создания списков информации. В каждом списке должен быть один или несколько элементов списков. Списки могут содержать:
      22. Неупорядоченную информацию.
      23. Упорядоченную информацию.
      24. Определения.

      25. Предыдущий список, например, не упорядочен, он создан с помощью элемента :
      26. Неупорядоченную информацию.
      27. Упорядоченную информацию.
      28. Определения.
        Упорядоченный список, создаваемый с помощью элемента , может содержать информацию, в которой важен порядок, например, рецепт:
      29. Тщательно смешать сухие ингредиенты.
      30. Влить жидкость.
      31. Смешивать 10 минут.
      32. Выпекать в течение часа при температуре 300 градусов.

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

        Списки могут быть вложенными, разные типы списков можно использовать вместе, как в следующем примере, где список определений содержит неупорядоченный список (ингредиенты) и упорядоченный список (процедуру):
        Ингредиенты:
      34. 100 г муки
      35. 10 г сахара
      36. 1 стакан воды
      37. 2 яйца
      38. соль, перец

      39. Процедура:
      40. Тщательно смешайте сухие ингредиенты.
      41. Влейте жидкие ингредиенты.
      42. Смешивайте 10 минут.
      43. Выпекайте в течение часа при температуре 300 градусов.

      44. Примечания:
        Можно добавить изюм.
        Точное представление трех типов списков зависит от агента пользователя. Не стоит использовать списки для создания отступов в тексте. Это делается с помощью таблиц стилей.

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

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

        Введение в структуру документа HTML

        Документ в формате HTML 4.0 состоит из трех частей:
      45. строки, содержащей ,

      46. раздела заголовков (определяемого элементом ),

      47. тела, которое включает собственно содержимое документа. Тело может вводиться элементом или элементом .

      48. Перед каждым элементом или после каждого элемента может находиться пустое пространство (пробелы, переход на новую строку, табуляции и комментарии). Разделы 2 и 3 должны отделяться элементом .
        Вот пример простого документа HTML:
        Мой первый документ HTML Всем привет!

        Введение в таблицы

        Модель таблиц HTML позволяет авторам упорядочивать данные -- текст, форматированный текст, изображения, ссылки, формы, поля форм, другие таблицы и т.д. - в строки и столбцы ячеек.
        С каждой таблицей может быть связан заголовок (см. элемент ), предоставляющий краткое описание таблицы. Можно также указать и более длинное описание (с помощью атрибута ) для удобства людей, использующих агенты на базе азбуки Бройля или речи.
        могут группироваться в разделы заголовков, нижних заголовков и тела, (с помощью элементов , и соответственно). Группы строк convey дополнительную структурную информацию и могут генерироваться агентами пользователей различными способами, отображающими эту структуру. Агенты пользователей могут использовать подразделение на заголовки/тело/нижние заголовки для поддержки прокрутки тела независимо от заголовков. При печати длинных таблиц информация из заголовков может повторяться на каждой странице таблицы.
        Авторы также могут для предоставления дополнительной структурной информации, которая может использоваться агентами пользователей. Более того, авторы могут объявлять свойства столбцов в начале определения таблицы (с помощью элементов и ) таким образом, который позволяет агентам пользователей генерировать таблицу последовательно, а не ждать считывания всех данных таблицы перед тем, как начать генерацию.
        могут содержать "заголовок" (см. элемента ) или "данные" (см. элемент ). Ячейки могут распространяться на несколько строк или столбцов. Модель таблиц языка HTML 4.0 позволяет авторам помечать каждую ячейку, так что будет проще работать с информацией о ячейках. Эти механизмы не только существенно облегчают доступ пользователям с физическими недостатками, но и делают его обработку таблиц возможной для мультирежимных беспроводных браузеров с ограниченными возможностями отображения (например, Web-совместимых пейджеров и телефонов).
        Не следует использовать таблицы только как средство компоновки содержимого документа, поскольку это может вызвать проблемы при генерации для невизуальных средств. Кроме того, если метки использовать с графикой, это может привести к тому, что пользователям придется выполнять горизонтальную прокрутку, чтобы просмотреть таблицу, созданную в системе с большим экраном. Для уменьшения возможности этих проблем авторам следует использовать для компоновки документа , а не таблицы.

        Примечание.
        В этой спецификации более подробная информация о таблицах приводится в разделах о .
        Ниже показана простая таблица, на примере которой иллюстрируются некоторые возможности модели таблиц языка HTML. Следующее определение:
        Тестовая таблица с объединенными ячейками
        Средний Красные
        глаза
        высотавес
        мужской пол1.90.00340%
        женский пол1.70.00243%

        должно генерироваться на терминале примерно следующим образом:
        Тестовая таблица с объединенными ячейками /----------------------------------------------------------\ | | Средний | Красные | | |-------------------| глаза | | | высота | вес | | |----------------------------------------------------------| | Мужской пол | 1.9 | 0.003 | 40% | | |----------------------------------------------------------| | Женский пол | 1.7 | 0.002 | 43% | | \----------------------------------------------------------/
        или следующим образом - графическими агентами пользователей:
        Введение в таблицы

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

        Атрибут align определяет положение , или относительно его содержимого.
        Следующие значения атрибута относятся к положению объекта относительно окружающего текста:
      49. bottom: означает, что окно объекта должно быть вертикально выровнено относительно текущей базовой линии. Это значение используется по умолчанию.
      50. middle: означает, что центр объекта должен быть выровнен вертикально относительно текущей базовой линии.
      51. top: означает, что верх объекта должен быть вертикально выровнен относительно верха текущей текстовой строки.

      52. Два других значения, left и right, приводят к перемещению изображения к текущему левому или правому полю. Они обсуждаются в разделе о плавающих объектах.
        Различие интерпретаций атрибута align.
        Агенты пользователей по-разному интерпретируют атрибут . Некоторые принимают в расчет только текстовую строку, находящуюся перед элементом, некоторые учитывают текст по обеим сторонам элемента.

        Задание якорей и ссылок

        Хотя некоторые элементы и атрибуты языка HTML создают ссылки на другие ресурсы (например, элемент , элемент и т.д.), в этой главе обсуждаются ссылки и якоря, создаваемые элементами и . Элемент может присутствовать только в заголовке документа. Элемент может присутствовать только в теле документа.
        Если для элемента установлен атрибут , этот элемент определяет исходный якорь для ссылки, которая может активизироваться пользователем для загрузки ресурса Web. Исходный якорь - это местоположение экземпляра элемента и целевой якорь ресурса Web.
        Загруженный ресурс может обрабатываться агентом пользователя различными способами: открытием нового документа HTML в том же окне агента, открытием нового документа HTML в другом окне, запуском новой программы для обработки ресурса и т.д. Поскольку элемент имеет содержание (текст, изображения и т.д.), агенты пользователей могут генерировать это содержимое так, чтобы показать наличие ссылки (например, подчеркивая содержимое).
        Если установлены атрибуты или элемента , этот элемент определяет якорь, который может служить целью других ссылок.
        Авторы могут устанавливать атрибуты и одновременно в одном экземпляре элемента .
        Элемент определяет отношение между текущим документом и другим ресурсом. Хотя элемент не имеет содержимого, определяемые им отношения могут отображаться некоторыми агентами пользователей.

        Задание языка содержимого: атрибут lang

        Определения атрибутов
        lang
        =
        Этот атрибут указывает основной язык значений атрибутов элементов и секстового содержимого. По умолчанию значение этого атрибута не установлено.
        Информация о языке, указанная с помощью атрибута , может использоваться агентом пользователя для управления генерацией изображения различными способами. Некоторые ситуации, в которых указываемая автором информация а языке, может быть полезна:
      53. Помощь поисковым машинам
      54. Помощь синтезаторам речи
      55. Помощь агентам пользователей в выборе вариантов глифов для высококачественной типографии
      56. Помощь агенту пользователя в выборе набора кавычек
      57. Помощь агенту пользователя в вопросах , лигатур и интервалов
      58. Помощь программа проверки грамматики и орфографии

      59. Атрибут указывает код содержимого элемента и значений атрибутов; относится ли он к данному атрибуту, зависит от синтаксиса и семантики атрибута и от операции.
        Атрибут предназначен для того, чтобы позволить агентам пользователей более осмысленно генерировать изображение на основе принятой культурной практики для данного языка. Это не подразумевает, что агенты пользователей должны генерировать символы, не являющиеся типичными для конкретного языка, менее осмысленным способом; агенты пользователей должны пытаться сгенерировать се символы, независимо от значения, указанного в атрибуте .
        Например, если в русском тексте должен появиться символ греческого алфавита:
        "Эта супермощность была результатом γ-радиации, объяснил он.

        агент пользователя (1) должен попытаться сгенерировать русский текст соответствующим образом (например, в соответствующих кавычках) и (2) попытаться сгенерировать символ γ, даже если это не русский символ.
        Дополнительную информацию см. в разделе о неотображаемых символах.

        Заголовок кратко описывает содержание раздела,





        Начальный тег: обязателен, Конечный тег: обязателен

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

      60. , ()
      61. (), ()
      62. ()
      63. ()
      64. ()
      65. , , , , , , , , , (внутренние события)


      66. Заголовок кратко описывает содержание раздела, которому он предшествует. Информация из заголовка может использоваться агентами пользователей, например, для автоматического построения оглавления документа.

        В языке HTML существует шесть уровней заголовков: - наиболее важный - и - наименее важный. Визуальные браузеры обычно отображают более важные заголовки более крупным шрифтом.

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

        Лесные слоны

        В этом разделе мы обсуждаем менее известных лесных слонов. ...продолжение раздела...

        Ариал

        Лесные слоны не живут в деревьях, а среди них. ...продолжение раздела...



        Эту структуру можно представить с использованием информации о стиле, например:

        ... название документа ...

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

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

        Заголовки ссылок

        Атрибут может устанавливаться как для элемента , так и для элемента ; в нем указывается информация о природе ссылки. Эта информация может проговариваться агентом пользователя, отображаться в виде подсказки, изменять вид курсора и т.д.
        Таким образом можно augment , указав для каждой ссылки заголовок:
        ...некоторый текст...
        Подробнее Вы можете узнать об этом в главе 2. глава 2. См. также карту леса.

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

        Иногда вместо на документ автору нужно внедрить его непосредственно в первичный документ HTML. Авторы могут использовать для этого элемент или , но эти элементы несколько различны. Эти два элемента не только имеют различные модели содержимого, но также элемент может быть целевым кадром (подробнее см. раздел об ) и может быть "выделен" агентом пользователя для печати, просмотра кода HTML и т.д. Агенты пользователя могут генерировать выделенные кадры способом, отличным от генерации невыделенных кадров (например, отображать границу вокруг выделенного кадра).
        Внедренный документ полностью независим от документа, в который он внедрен. Например, относительные адреса URI во внедренном документе в соответствии с базовым адресом URI, указанным во внедренном документе, а не в основном документе. Внедренный документ только генерируется в другом документе (например, во вложенном окне); it во всех остальных отношениях он остается независимым.
        Например, следующая строка внедряет содержимое файла embed_me.html в то место документа, в котором встречено определение .
        ...предшествующий текст...
        Внимание: невозможно внедрить файл embed_me.html. ...последующий текст...
        Вспомните, что содержимое элемента должно генерироваться, только если файл, задаваемый атрибутом , невозможно загрузить.
        Поведение агента пользователя в случаях, когда файл включает сам себя, не определено.

        Запрет перехода на новую строку

        Иногда авторам нужно избежать перехода на новую строку между двумя определенными словами. Комбинация символов   (  или  ) действует как неразрывный пробел.

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

        Целевые имена кадров

        За исключением приведенных ниже зарезервированных имен, целевые имена кадров (%FrameTarget; в DTD) должны начинаться с алфавитных символов (a-zA-Z). Агенты пользователей должны игнорировать все остальные имена.
        Следующие target names зарезервированы и имеют специальные значения.
        _blank
        Агенты пользователей должны загружать документ в новое окно без имени.
        _self
        Агенты пользователей должны загружать документ в тот же кадр, в котором находится ссылающийся на него документ.
        _parent
        Агенты пользователей должны загружать документ в непосредственный родительский кадр этого кадра во . Это значение эквивалентно _self, если текущий кадр не имеет родительского кадра.
        _top
        Агенты пользователей должны загружать документ в полное окно (закрывая все остальные кадры). Это значение эквивалентно _self, если у текущего кадра нет родительского кадра.


        Числовые ссылки на символы

        Числовые ссылки на символы указывают символа в наборе символов документа. Числовые ссылки на символы могут также принимать две формы:
      67. Синтаксис "&#D;", где D - десятичное число, указывает символ Unicode с десятичным номером D.

      68. Синтаксис "&#xH;" или "&#XH;", где H - шестнадцатеричное число, указывает на символ Unicode с шестнадцатеричным номером H. Шестнадцатеричные числовые ссылки учитывают регистр.

      69. Вот некоторые примеры числовых ссылок на символы:
      70. å (десятичное) представляет букву "a" с кружком сверху (используемую, например, в норвежском языке).
      71. å (шестнадцатеричное) представляет тот же символ.
      72. å (шестнадцатеричное) представляет тот же символ.
      73. И (десятичное) представляет кириллическую заглавную букву "I".
      74. 水 (шестнадцатеричное) представляет китайский иероглиф "вода".

      75. Примечание.
        Хотя шестнадцатеричное представление не определено в [ISO8879], оно ожидается в новой версии, как описано в [WEBSGML]. Это соглашение особенно полезно, поскольку стандарты символов обычно используют шестнадцатеричные представления.

        Цвета

        Значение атрибута типа "color" (%Color;) относится к определениям цветов, как указано в [SRGB]. Значение цвета может быть шестнадцатеричным числом (которому предшествует знак диеза) или одним из следующих шестнадцати названий цветов. Названия цветов учитывают регистр.


        Названия цветов и значения RGB
        ЦветаBlack = "#000000" ЦветаGreen = "#008000"
        ЦветаSilver = "#C0C0C0" ЦветаLime = #00FF00"
        ЦветаGray = "#808080" ЦветаOlive = "#808000"
        ЦветаWhite = "#FFFFFF" ЦветаYellow = "#FFFF00"
        ЦветаMaroon = "#800000" ЦветаNavy = #000080"
        ЦветаRed = "#FF0000" ЦветаBlue = "#0000FF"
        ЦветаPurple = "#800080" ЦветаTeal = "#008080"
        ЦветаFuchsia = "#FF00FF" ЦветаAqua = "#00FFFF"

        То есть, значения "#800080" и "Purple" оба означают пурпурный цвет.

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

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

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

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

        Дата и время

        [ISO8601] позволяет много вариантов представления даты и времени. Текущая спецификация использует один из форматов, описанных в профиле [DATETIME] для определения допустимых строк дата/время ( %Datetime в DTD).
        Это следующий формат:
        ГГГГ-ММ-ДДTчч:мм:ссУЧП
        где:
        ГГГГ = год из четырех цифр ММ = месяц из двух цифр (01=январь и т.д.) ДД = день из двух цифр (01 - 31) чч = две цифры часов (00 - 23) (до/пп НЕ допускается) мм = две цифры минут (00 - 59) сс = две цифры секунд (00 - 59) УЧП = указатель часового пояса
        Указатели часового пояса:
        Z
        означает UTC (Общее скоординированное время). "Z" должно быть в верхнем регистре.
        +чч:мм
        указывает, что местное время отстоит на чч часов и мм минут от UTC вперед.
        -чч:мм
        указывает, что местное время отстает на чч часов и мм минут от UTC.
        Указанные компоненты должны присутствовать в точности, с точно такой же пунктуацией. Помните, что буква "T" отображается в строке литерально (она должна быть в верхнем регистре), для указания начала времени, как описано в [ISO8601]
        Если генерирующее приложение не знает времени с точностью до секунды, для секунд может использоваться значение "00" (при необходимости также для минут и для часов).
        Примечание. [DATETIME]
        не касается добавочных секунд.

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

        Ниже приведен список распознаваемых дескрипторов носителей ( %MediaDesc в DTD).
        screen
        Предназначен для экранов компьютеров, не разделенных на страницы.
        tty
        Предназначен для носителя с фиксированной сеткой для символов, таких как телетайпы, терминалы или переносные устройства с ограниченными возможностями отображения.
        tv
        Предназначен для устройств типа телевизора (низкое разрешение, цвета, ограниченные возможности прокрутки).
        projection
        Предназначен для проекторов.
        handheld
        Предназначен для карманных устройств (небольшой экран, монохромный, растровая графика, ограниченный диапазон).
        print
        Предназначен для страничных, непрозрачных материалов и документов, просматриваемых на экране в режиме предварительного просмотра печати.
        braille
        Предназначен для тактильных устройств с алфавитом Бройля.
        aural
        Предназначен для синтезаторов речи.
        all
        Для всех устройств.
        В будущих версиях HTML могут быть введены новые значения и разрешены параметризованные значения. Для упрощения введения этих расширений соответствующие спецификации агенты пользователя должны иметь возможность анализировать значение атрибута следующим образом:
      76. Значение - это разделенный запятыми список элементов. Например,
        media="screen, 3d-glasses, print and resolution > 90dpi"
        отображается в :
        "screen" "3d-glasses" "print and resolution > 90dpi"
      77. Каждый элемент усекается перед первым символом, не являющимся буквой кодировки US ASCII [a-zA-Z] (десятичные коды Unicode 65-90, 97-122), цифрой [0-9] (шестнадцатеричные коды Unicode 30-39) или знаком переноса (45). В данном примере получается:
        "screen" "3d-glasses" "print"

      78. Затем с учетом регистра проводится сверка с набором определенных выше типов дескрипторов. Агенты пользователей могут игнорировать несовпадающие элементы. В данном примере останутся только элементы screen и print.

      79. Примечание. Таблицы стилей могут включать вариации в зависимости от носителя (например, конструкция CSS @media). В таких случаях имеет смысл использовать "=all".

        Длины

        HTML определяет три типа значений длины для атрибутов:
      80. Пикселы: Значение ( %Pixels; в DTD) - это целое, представляющее число пикселов (на экране, на бумаге). Таким образом, значение "50" означает пятьдесят пикселов. Нормативную информацию об определении пиксела см. в [CSS1].

      81. Длина: Значение ( %Length; в DTD) может быть %Pixel; или доля вертикального или горизонтального расстояния в процентах. Таким образом, значение "50%" означает половину доступного пространства.

      82. МультиДлина: Значение ( %MultiLength; в DTD) может быть %Length; или относительной длиной. Относительная длина имеет форму "i*", где "i" - целое число. При распределении пространства между элементами, конкурирующими за это пространства, агенты пользователя сначала отводят место для длин, определенных в пикселах и процентах, а затем делят оставшееся место между относительными длинами. Каждая относительная длина получает часть доступного пространства, пропорциональную целому числу, предшествующему "*". Значение "*" эквивалентно "1*". Таким образом, если имеется 60 пикселов пространства после того, как агент пользователя распределит пространство для длин, определенных в пикселах и процентах, а конкурирующими относительными длинами являются 1*, 2* и 3*, 1* получит 10 пикселов, 2* - 20 пикселов, а 3* - 30 пикселов.

      83. Значения длин не учитывают регистр.

        Доступные форматы

        Рекомендацию W3C HTML 4.0 можно также получить в следующих форматах:
        Текстовый файл:
        (723 Кб), Файл gzip tar, содержащий документы в формате HTML:
        (339 Кб), Файл zip, содержащий документы в формате HTML (это файл '.zip', а не '.exe'):
        (372 Кб), Файл в формате Postscript:
        (4.4 Мб, 363 страницы), Файл в формате PDF:
        (2.1 Мб).
        В случае расхождений электронной и печатной форм спецификации следует использовать электронную версию.

        Информация о регистре

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

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

        Copyright © 1997 , (, , Университет Keio). Все права защищены.
        Документы, находящиеся на сервере , предоставляются обладателями авторских прав в соответствии со следующей лицензией. Получая, используя и/или копируя этот документ или документ W3C, из которого имеется ссылка на это заявление, Вы признаете, что прочли и поняли следующие условия и обязуетесь их выполнять:
        Разрешение на использование, копирование и распространение содержимого этого документа или документа W3C, из которого имеется ссылка на это заявление, с помощью любых средств, с любыми целями и без отчисления авторского гонорара дается при условии, что Вы включите во ВСЕ копии этого документа или его частей следующую информацию:
      84. Ссылку на исходный документ W3C или его URI.

      85. Имеющуюся информацию об авторском праве исходного автора, а если она отсутствует, информацию в форме: "Copyright © World Wide Web Consortium, (Массачусеттский технологический институт, , Университет Keio). Все права защищены."

      86. СТАТУС документа W3C, если он существует.

      87. Если позволяет пространство, следует включить полный текст следующего ЗАМЕЧАНИЯ. Кроме того, в любое программное обеспечение, документы и пр., созданные вследствие применения содержимого этого документа или любой его части, должна быть добавлена благодарность владельцам авторского права.
        Данная лицензия не дает никаких прав изменения данного документа или создания документов, производных от него.
        ДАННЫЙ ДОКУМЕНТ ПРЕДОСТАВЛЯЕТСЯ "КАК ЕСТЬ"; ОБЛАДАТЕЛИ АВТОРСКОГО ПРАВА НЕ ДАЮТ НИКАКИХ ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ, ВКЛЮЧАЯ ГАРАНТИИ КОММЕРЧЕСКОЙ ВЫГОДЫ, СООТВЕТСТВИЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ, НЕНАРУШЕНИЯ АВТОРСКОГО ПРАВА ИЛИ ОБЛАДАНИЯ ИМ, НО НЕ ОГРАНИЧИВАЯСЬ ТАКОВЫМИ; ТО ЕСТЬ ОБЛАДАТЕЛИ АВТОРСКОГО ПРАВА НЕ ДАЮТ ГАРАНТИЙ ТОГО, ЧТО СОДЕРЖИМОЕ ЭТОГО ДОКУМЕНТА СООТВЕТСТВУЕТ КАКИМ-ЛИБО ЦЕЛЯМ И ТОГО, ЧТО ПРИМЕНЕНИЕ СОДЕРЖИМОГО ЭТОГО ДОКУМЕНТА НЕ НАРУШИТ АВТОРСКИХ ПРАВ, ТОРГОВОЙ МАРКИ, ПАТЕНТА ИЛИ ДРУГИХ ПРАВ ТРЕТЬЕГО ЛИЦА ИЛИ ОРГАНИЗАЦИИ.
        ОБЛАДАТЕЛИ АВТОРСКОГО ПРАВА НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБОЙ ПРЯМОЙ, КОСВЕННЫЙ, СПЕЦИАЛЬНЫЙ ИЛИ ЗАКОНОМЕРНЫЙ УЩЕРБ, ПОНЕСЕННЫЙ В РЕЗУЛЬТАТЕ ИСПОЛЬЗОВАНИЯ ЭТОГО ДОКУМЕНТА ИЛИ ПРИМЕНЕНИЯ ЕГО СОДЕРЖИМОГО.
        Имя и торговые марки обладателей авторского права НЕ могут использоваться в рекламе, имеющей отношение к данному документу или его содержимому без особого письменного разрешения. Авторское право на этот документ навсегда остается за его обладателями.


        Информативные ссылки

        [BRYAN88]
        "SGML: Руководство автора по стандартному обобщенному языку разметки", М. Брайан, Addison-Wesley Publishing Co., 1988 г.
        [CALS]
        Continuous Acquisition and Life-Cycle Support (CALS). CALS - это стратегия достижения эффективного создания, обмена и использования цифровых данных для систем вооружения и оборудования Министерства обороны. Более подробную информацию можно найти на странице CALS по адресу .
        [CHARSETS]
        Зарегистрированные значения наборов символов. Загрузите список зарегистрированны значений по адресу .
        [CSS2]
        "Каскадные таблицы стилей, уровень 2", Б. Бос, Х. В. Ли, К. Лилли и Я. Джейкобс, ноябрь 1997 г.

        Находится по адресу
        [DCORE]
        The Dublin Core: подробнее см. по адресу
        [ETHNO]
        "Этнология, языки мира", 12-е издание, Барбара Ф. Граймс, редактор, Летний институт лингвистики, октябрь 1992 г.
        [GOLD90]
        "Справочник по SGML", К. Ф. Голдфарб, Clarendon Press, 1991.
        [HTML30]
        "Спецификация языка разметки гипертекстов, версия 3.0", Дейв Рэгетт, сентябрь 1995 г.

        Находится по адресу .
        [HTML32]
        "Спецификация HTML 3.2", Дейв Рэгетт, 14 января 1997 г.

        Находится по адресу
        [HTML3STYLE]
        "HTML и таблицы стилей", Б. Бос, Д. Рэгетт и Х. Ли, 24 марта 1997 г.

        Находится по адресу
        [LEXHTML]
        "Лексический анализатор для HTML и основного SGML", Д. Коннолли, 15 июня 1996 г. Находится по адресу
        [PICS]
        Platform for Internet Content (PICS). Подробнее см.
        [RDF]
        Язык описания ресурсов: подробнее см.
        [RFC822]
        "Стандарт формата текстовых сообщений Интернет ARPA", пересмотрен Дэвидом Х. Крокером, август 1982 г.

        Находится по адресу .
        [RFC850]
        "Стандарт обмена сообщениями USENET", М. Хортон, июнь 1983.

        Находится по адресу .
        [RFC1468]
        "Японская кодировка символов для сообщений Интернет", Дж. Мюрай, М. Криспин и Э. Ван дер Поль, июнь 1993 г.

        Находится по адресу .
        [RFC1630]
        "Универсальные идентификаторы ресурсов в WWW: унифицированный синтаксис для выражения имен и адресов объектов в сети, используемый в World-Wide Web", Т. Бернерс-Ли, июнь 1994 г.


        Находится по адресу .

        [RFC1866]

        "Язык разметки гипертекстов 2.0", Т. Бернерс-Ли и Д. Коннолли, ноябрь 1995 г.

        Находится по адресу .

        [RFC1867]

        "Выгрузка файлов на базе форм в HTML", Э. Небель и Л. Масинтер, ноябрь 1995 г.

        Находится по адресу . RFC1867 должен быть обновлен по адресу , в данный момент работа продолжается.

        [RFC1942]

        "Таблицы HTML", Дейв Рэгетт, май 1996 г.

        Находится по адресу .

        [RFC2048]

        "Многоцелевые расширения почты Интернет (MIME) Часть четвертая: Процедуры регистрации", Н. Фрид, Дж. Кленсин и Дж. Постел, ноябрь, 1996 г.

        Находится по адресу . Обратите внимание, что этот RFC новее RFC1521, RFC1522 и RFC1590.

        [RFC2070]

        "Интернационализация языка разметки гипертекстов", Ф. Ерго, Ж. Николь, Г. Адамс и М. Дюрст, январь, 1997 г.

        Находится по адресу .

        [SGMLOPEN]

        Консорциум SGML. Обратитесь к странице Консорциума SGML по адресу

        [SP]

        SP - общедоступный синтаксический анализатор SGML.

        Находится по адресу . Более подробную информацию можно найти по адресу .

        [SQ91]

        "The SGML Primer", 3-е издание, SoftQuad Inc., 1991.

        [TAKADA]

        "Обмен многоязыковой информацией через World-Wide Web", Тошихиро Такада, Компьютерные сети и системы ISDN, том 27, № 2, стр. 235-241, ноябрь 1994 г.

        [WAIGUIDE]

        Принципы разработки доступных документов HTML можно найти на Web-сайте Web Accessibility Initiative (WAI): .

        [VANH90]

        "Практическое руководство по SGML", Э. ван Хервайнен, Kluwer Academic Publishers Group, Norwell and Dordrecht, 1990.



        Языки

        Единственной нормативной версией является английская версия данного документа. Однако переводы этого документа можно найти по адресу http://www.w3.org/MarkUp/html40-updates/translations.html.

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

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

        Кодировки символов

        Кодировки символов в этой спецификации имеют другие названия в других спецификациях (что может вызвать некоторую путаницу). Однако это понятие в Интернет означает примерно одно и то же. Одно и то же имя -- "charset - набор символов" - используется в заголовках протоколов, атрибутах и параметрах, ссылающихся на символы и использующих одни и те же значения из реестра (полный список см. в разделе [CHARSETS]).
        Параметр "charset" идентифицирует кодировку символов, которая является способом преобразования последовательности байт в последовательность символов. Это преобразование естественно вписывается в схему деятельности Web: серверы отправляют документы HTML агентам пользователей в виде потока байт; агенты пользователей интерпретируют их как последовательность символов. Способы преобразования могут меняться от простого соответствия один к одному до сложных схем или алгоритмов переключения.
        Простой техники кодировки "один байт - один символ" недостаточно для текстовых строк с таким широким репертуаром символов, как [ISO10646]. Кроме кодировок всего набора символов (например, UCS-4), имеются некоторые другие кодировки частей [ISO10646].

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

        Коды языков

        Значения атрибутов, типом которых является код языка ( %LanguageCode в DTD), относится к коду языка, как указано в [RFC1766], раздел 2. Информацию об указании кодов языков в HTML см. в разделе коды языков. В кодах языков пробелы недопустимы.
        Коды языков учитывают регистр.

        Комбинации ссылок на символы

        Чтобы дать авторам более инициативный способ использования символов, HTML предлагает набор character entity references. Комбинации ссылок на символы используют символические имена, так что авторам не придется запоминать коды. Например, комбинация å обозначает символ "a" нижнего регистра с кружком сверху; "å" легче запомнить, чем å.
        HTML 4.0 не определяет character entity reference для каждого символа. Например, для кириллической буквы "I" нет character entity reference. См. определенные в HTML 4.0.
        Комбинации ссылок на символы учитывают регистр. Так, Å указывает на другой символ (A с кружком верхнего регистра), а не на å (a с кружком нижнего регистра).
        Четыре ссылки нужно упомянуть специально, поскольку они часто используются для указания специальных символов:
      88. "<" представляет знак <.
      89. ">" представляет знак >.
      90. "&" представляет символ &.
      91. "" представляет знак ".

      92. Авторы, которые хотят поместить в текст символ "<", должны использовать ссылку "<" (десятичный код ASCII 60) во избежание возможной путаницы с началом тэга (открывающий разделитель начального тэга). Точно так же следует использовать ">" (десятичный код ASCII 62) вместо ">", чтобы избежать проблем со старыми версиями агентов пользователей, некорректно принимающих их за окончание тэга (закрывающий разделитель тэга).
        Авторам следует использовать "&" (десятичный код ASCII 38) вместо "&" во избежание путаницы со ссылками на символы (открывающий разделитель entity reference). Авторам также следует использовать "&" в значениях атрибутов, поскольку ссылки на символы внутри значений атрибута разрешены.
        Некоторые авторы используют character entity reference """ для кодирования экземпляров двойных кавычек ("), поскольку этот символ может использоваться для разделения значений атрибутов.

        Набор символов документа

        Для обеспечения возможность взаимодействия сетей SGML требует от каждого приложения (включая HTML) указания набора символов документа. Документ включает:
        Репертуар: Набор абстрактных символов,, таких как латинская буква "A", кириллическая буква "I", китайский иероглиф "вода" и т.д.

      93. Коды: Набор целочисленных ссылок на символы репертуара.

      94. Каждый документ SGML (включая каждый документ HTML) - это последовательность символов из репертуара. Компьютерные системы идентифицируют каждый символ по его коду; например, в наборе символов ASCII коды 65, 66 и 67 означают символы 'A', 'B' и 'C' соответственно.
        Набора символов ASCII недостаточно для такой глобальной информационной системы, как Web, поэтому HTML использует более полный набор символов, называемый Универсальным набором символов (Universal Character Set - UCS), и определенный в [ISO10646]. Этот стандарт определяет репертуар тысяч символов, используемых во всем мире.
        Набор символов, определенный в [ISO10646] - это посимвольный эквивалент Unicode 2.0 ([UNICODE]). Оба эти стандарта время от времени обновляются, пополняются новыми символами, об изменениях следует узнавать на соответствующих серверах Web. В этой спецификации ISO/IEC-10646 или Unicode означают этот самый набор символов. Однако в спецификации HTML Unicode также упоминается при обсуждении других вопросов, таких как
        Набора символов документа, однако, недостаточно, чтобы агенты пользователей могли корректно интерпретировать документы HTML при типичном обмене - закодированные как последовательность байт в файле или во время передачи по сети. Агенты пользователя должны также знать кодировки символов, которые использовались для преобразования потока символов документа в поток байт.

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

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



      97. Нормативные ссылки

        [CSS1]
        "Каскадные таблицы стилей, уровень 1", Х. В. Ли и Б. Бос, 17 декабря 1996 г.

        Находится по адресу
        [DATETIME]
        "Форматы дат и времени", Замечание W3C, М. Вольф и К. Уикстед, 15 сентября 1997 г.

        Находится по адресу
        [IANA]
        "Назначенные номера", STD 2, RFC 1700, USC/ISI, Дж. Рейнольдс и Дж. Постел, октябрь 1994 г..
        Находится по адресу
        [ISO639]
        "Коды для представления названий языков", ISO 639:1988.

        Подробнее см. .

        См. также .
        [ISO3166]
        "Коды представления названий стран", ISO 3166:1993.
        [ISO8601]
        "Элементы данных и форматы обмена -- Обмен информацией -- Представление дат и времени", ISO 8601:1988.
        [ISO8879]
        "Обработка информации -- Текстовые и офисные системы -- Стандартный обобщенный язык разметки (SGML)", ISO 8879:1986.

        Информацию о стандарте см. по адресу .
        [ISO10646]
        "Информационные технологии -- Универсальный набор символов с кодированием несколькими октетами (UCS) -- Часть 1: Архитектура и основная многоязыковая плоскость", ISO/IEC 10646-1:1993. Текущей спецификации также учтены первые пять изменений в ISO/IEC 10646-1:1993.
        [ISO88591]
        "Обработка информации -- графические наборы символов с 8-разрядным однобайтовым кодированием -- Часть 1: Латинский алфавит № 1", ISO 8859-1:1987.
        [MIMETYPES]
        Список зарегистрированных типов содержимого (типы MIME). Список зарегистрированных типов можно загрузить по адресу
        ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/
        .
        [RFC1555]
        "Ивритская кодировка символов для сообщений Интернет", Х. Нуссбахер и И. Бурвинь, декабрь 1993 г.

        Находится по адресу .
        [RFC1556]
        "Обработка двунаправленных текстов в MIME", Х. Нуссбахер, декабрь 1993 г.

        Находится по адресу .
        [RFC1738]
        "Универсальный адрес ресурса", Т. Бернерс-Ли, Л. Масинтер и М. МакКахилл, декабрь 1994 г.

        Находится по адресу .
        [RFC1766]
        "Теги и идентификация языков", Х. Алвестранд, март 1995 г.

        Находится по адресу .

        [RFC1808]

        "Относительные универсальные адреса ресурсов", Р. Филдинг, июнь 1995 г.

        Находится по адресу .

        [RFC2044]

        "UTF-8, формат преобразования Unicode и ISO 10646", Ф. Ерго, октябрь 1996 г.

        Находится по адресу .

        [RFC2045]

        "Многоцелевые расширения почты Интернет (MIME) Часть первая: формат тел сообщений Интернет", Н. Фрид и Н. Боренштейн, ноябрь 1996 г.

        Находится по адресу . Обратите внимание, что этот RFC новее RFC1521, RFC1522 и RFC1590.

        [RFC2046]

        "Многоцелевые расширения почты Интернет (MIME) Часть вторая: Типы устройств", Н. Фрид и Н. Боренштейн, ноябрь 1996 г.

        Находится по адресу . Обратите внимание, что этот RFC новее RFC1521, RFC1522 и RFC1590.

        [RFC2068]

        "HTTP версия 1.1 ", Р. Филдинг, Дж. Геттис, Дж. Могул, Х. Фрюстюк Нильсен и Т. Бернерс-Ли, январь 1997 г.

        Находится по адресу .

        [RFC2119]

        "Ключевые слова для использования в RFC для указания уровня требований", С. Брэднер, март 1997 г.

        Находится по адресу .

        [RFC2141]

        "Синтаксис URN", Р. Моутс, май 1997 г.

        Находится по адресу .

        [SRGB]

        "стандартное простарнство цветов в Интернет по умолчанию", версия 1.10, М. Стоукс, М. Андерсон, С. Чандрасекар и Р. Мотта, 5 ноября 1996 г.

        Находится по адресу

        [UNICODE]

        "Стандарт Unicode: версия 2.0", Консорциум Unicode, Addison-Wesley Developers Press, 1996 г. В этой спецификации также учтены ошибки в .

        Подробнее см. на странице консорциума Unicode по адресу

        [URI]

        "Универсальные идентификаторы ресурсов (URI): Общий синтаксис и семантика", Т. Бернерс-Ли, Р. Филдинг, Л. Масинтер, 18 ноября 1997 г.

        Находится по адресу . Работа над этим документом все еще идет, и обновления находятся по адресам и .

        [WEBSGML]

        "предложение TC для адаптации WebSGML для SGML", К. А. Голдфарб, ed., 14 июня 1997 г.

        Находится по адресу

        Определения

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

      99. Агент пользователя должен гарантировать, что генерация изображения не изменяется в связи с наличием или отсутствием начальных и конечных тэгов, если в HTML DTD указывается, что они не обязательны. Вводную информацию об элементах SGML см. в разделе .

      100. Для совместимости с предыдущими версиями мы рекомендуем, чтобы средства интерпретации HTML 4.0 поддерживали HTML 3.2 (см. [HTML32]) и HTML 2.0 (см. [RFC1866]).

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

        Однако для получения информации о рекомендуемой обработке ошибок обратитесь к .

        Нежелательные

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

        Агентам пользователя следует по-прежнему поддерживать нежелательные элементы для обеспечения совместимости с предыдущими версиями.

        В определениях элементов и атрибутов явно указано, если они нежелательны.

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

        Устаревшие

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

        Организация спецификации

        Спецификация состоит из следующих разделов:
        Разделы 2 и 3: Введение в HTML 4.0
        Во введении описывается место языка HTML в схеме World Wide Web, приводится краткая история развития языка HTML, описывается, что можно сделать с использованием HTML 4.0 и содержатся некоторые подсказки относительно создания документов в формате HTML.
        Краткое руководство по SGML дает читателям понимание отношения языка HTML к языку SGML и предоставляет информацию о чтении Определений типов документов HTML (Document Type Definition - DTD).
        Разделы 4 - 24: Справочное руководство по HTML 4.0
        Главным содержанием руководства является справочник по языку HTML, в котором определены все элементы и атрибуты языка.
        Этот документ упорядочен по разделам, а не по грамматике языка HTML. Разделы сгруппированы в три категории: структура, представление и интерактивность. Хотя конструкции языка HTML трудно разделить на эти три категории, такая модель отражает опыт Рабочей группы HTML, говорящий о том, что разделение структуры документа и его представления обеспечивает большую эффективность документов и лучшие возможности поддержки.
        Информация о языке включает следующую:
        Какие могут отображаться в документе HTML.
        Основные документа HTML.
        Элементы, управляющие структурой документа HTML, включая , списки, , и .
        Элементы, управляющие представлением документа в формате HTML, включая , шрифты, цвета, горизонтальные разделители и другое визуальное представление, а также .
        Элементы, управляющие интерактивностью документа HTML, включая и .
        Формальное SGML-определение HTML:

      102. .
      103. Три DTD: , и .
      104. .

      105. Приложения
        В первом приложении содержится информация об изменениях по отношению к HTML 3.2 с целью помочь авторам при переносе файлов в формат HTML 4.0. Во втором приложении содержатся , целью которых является помощь разработчикам в создании средств для использования HTML 4.0.
        Ссылки
        Список нормативных и информативных документов.
        Указатели
        Три указателя предоставляют читателям быстрый доступ к определению: , элементы и атрибуты.

        Ошибки

        Список обнаруженных в спецификации ошибок находится по адресу
        Об ошибках, найденных в этом документе, сообщайте по адресу www-html-editor@w3.org.

        Основные типы данных HTML


















      106. В этом разделе спецификации описываются основные типы данных, которые могут быть содержимым элементов или значением атрибутов.
        Вводную информацию о чтении HTML DTD см. раздел .

        Основные типы SGML

        В определяется синтаксис содержимого элемента HTML и значений атрибутов с использованием меток SGML (например, PCDATA, CDATA, NAME, ID и т.д.). Полные определения см. в [ISO8879]. Вот обобщенная информация о ключах:
      107. CDATA - это последовательность символов из набора символов документа, она может включать character entities. Агенты пользователей должны интерпретировать значения атрибутов следующим образом:

      108. Заменять character entities на символы,
      109. Игнорировать перевод строки,
      110. Заменять каждый возврат каретки или табуляцию на один пробел.

      111. Агенты пользователей могут игнорировать пробелы в начале и в конце значений атрибута CDATA (например, "myval " интерпретируется как "myval"). Авторы не должны объявлять значения атрибутов с пробелами в начала или в конце.
        На некоторые атрибутов HTML 4.0 со значениями атрибутов CDATA спецификация налагает дополнительные ограничения на множество допустимых значений атрибутов, не выраженные в DTD.
        Хотя элементы и используют CDATA для своей модели данных, для этих элементов агенты пользователей должны обрабатывать CDATA по-другому. Разметка и entities должны считаться текстом и передаваться в приложение как есть. Первое вхождение последовательности символов "
      112. Метки ID и NAME должны начинаться с буквы ([A-Za-z]), за которой может следовать любое число букв, цифр ([0-9]), символов переноса ("-"), символов подчеркивания ("_"), двоеточий (":") и точек (".").

      113. IDREF и IDREFS - это ссылки на метки ID, определенные другими атрибутами. IDREF - одиночная метка, а IDREFS -разделенный пробелами список меток.

      114. Метки NUMBER должны содержать по крайней мере одну цифру ([0-9]).

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

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

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








      115. В этой главе обсуждается, как документы в формате HTML представляются на компьютере и в Интернет.
        Раздел относится к вопросу об абстрактных символах, которые могут входить в состав документа в формате HTML. В число этих символов входят латинская буква "A", кириллическая буква "I", китайский иероглиф "вода" и т.д.
        Раздел относится к вопросу о том, как эти символы могут быть представлены в файле или во время передачи по Интернет. Поскольку некоторые кодировки могут прямо не представлять все символы, которые автор захочет включить в документ, HTML предлагает другие механизмы, называемые , для ссылки на любой символ.
        Поскольку в человеческих языках имеется огромное количество символов и множество способов их представления, следует позаботиться о том, чтобы эти документы могли понимать агенты пользователей во всем мире.

        SGML

        HTML 4.0 - это применение SGML, соответствующее международному стандарту ISO 8879 -- Standard Generalized Markup Language SGML (определенному в [ISO8879]).
        Примеры в тексте соответствуют , если пример не относится к элементам или атрибутам, определенным или . Для краткости большая часть примеров в данной спецификации не начинается с , обязательного для начала любого документа в формате HTML.
        Фрагменты DTD в определениях элементов приводятся из , кроме элементов, относящихся к кадрам.
        Подробную информацию об использовании строгих, переходных DTD или DTD с кадрами см. в разделе .
        Комментарии в не имеют нормативного значения; они используются только для информации.
        Агенты пользователя не должны генерировать инструкции обработки SGML (например, ) или комментарии. Подробнее об этой и других возможностях SGML, которые допустимы в HTML, но не поддерживаются широко агентами пользователя, обратитесь к разделу возможности SGML с ограниченной поддержкой.

        Соглашения

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

      116. Прочесть от начала до конца. Эта спецификация начинается с общего представления языка HTML, а количество технических подробностей постепенно повышается.
      117. Обращаться к необходимой информации. Для обеспечения максимальной скорости получения информации о синтаксисе и семантике в оперативную версию спецификации включены следующие возможности:

      118. Каждая ссылка на элемент или атрибут связана с его определением в спецификации. Каждый элемент или атрибут определяется только в одном месте.

      119. На каждой странице имеются ссылки на указатели, поэтому Вы всегда сможете найти определение элемента или атрибута, использовав не больше двух ссылок.


      120. На первых страницах трех разделов руководства к исходному оглавлению добавляется более подробная информация о каждом разделе.

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





      121. В этом разделе мы начинаем спецификацию HTML 4.0, начиная с договора между авторами, документами, пользователями и агентами пользователей.
        Ключевые слова "НУЖНО", "НЕ НУЖНО", "НЕОБХОДИМО", "СЛЕДУЕТ", "НЕ СЛЕДУЕТ", "РЕКОМЕНДУЕТСЯ", "ВОЗМОЖНО" и "НЕОБЯЗАТЕЛЬНО" в этом документе следует интерпретировать, как описано в [RFC2119]. Однако для простоты чтения эти слова в данной спецификации напечатаны не в верхнем регистре.
        Иногда авторы этой спецификации дают рекомендации для пользователей и их агентов. Эти рекомендации не являются нормативными и соответствие этой спецификации не зависит от их реализации. Эти рекомендации содержатся в выражениях "Мы рекомендуем...", "Эта спецификация рекомендует..." и подобных им.

        Рекомендация W3C 18 декабря

        Рекомендация W3C 18 декабря 1997

        Автор перевода:

        Оригинал данного перевода находится

        Эта версия:

        Последняя версия:

        Предыдущая версия:

        Редакторы: <>
        <>
        <>

        Ссылки на символы

        Данная кодировка символов может не содержать все символы из набора символов документа. Для таких кодировок или для таких конфигураций оборудования и программного обеспечения, не позволяющих пользователям вводить определенные символы, авторы могут использовать ссылки на символы SGML. Ссылки на символы - это независимый от кодировки механизм ввода любых символов.
        Ссылки на символы в HTML могут принимать две формы:
      122. Числовые ссылки на символы (десятичные или шестнадцатеричные).
      123. Ссылки на комбинации символов.

      124. Ссылки на символы в комментариях не имеют значения; они являются только данными комментариев.
        Примечание.
        HTML обеспечивает другие способы представления символов, в частности, .
        Примечание. В SGML можно в некоторых случаях не использовать заключительный символ ";" после ссылки на символы (например, в символе переноса строки или непосредственно перед тэгом). В других обстоятельствах их нельзя удалять (например, в середине слова). Мы предлагаем использовать ";" всегда во избежание проблем с агентами пользователей, для которых этот символ обязателен.

        Статус данного документа

        Данный документ просматривался членами W3C и другими заинтересованными лицами и организациями, и одобрен Директором в качестве Рекомендации W3C. Это постоянный документ; он может использоваться в качестве справочника или приводиться в других документах в качестве нормативного. Ролью W3C в этой рекомендации является привлечение внимания к этой спецификации и расширение сферы ее применения. Это расширяет функциональность и возможность взаимодействия в Web.
        W3C рекомендует пользователям и авторам (в особенности средствам создания документов) использовать версию HTML 4.0 вместо HTML 3.2 (см. [HTML32]). Для обеспечения совместимости с предыдущими версиями W3C также рекомендует для средств интерпретации HTML 4.0 поддержку HTML 3.2 и HTML 2.0.
        Список текущих Рекомендаций W3C и других технических документов можно найти по адресу .
        Дискуссия относительно функций HTML происходит по адресу www-html@w3.org.

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

        Ряд атрибутов ( %Text; в DTD) принимают текст, который предназначается для чтения людьми. Вводную информацию об атрибутах Вы можете посмотреть в .

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

        Документы HTML отправляются через Интернет в виде последовательности байтов, сопровождаемой информацией о кодировке (описанной в разделе кодировки символов). Структура передачи, называемая message entity, определяется [RFC2045]) и [RFC2068]. message entity с "text/html" представляет документ в формате HTML.
        Тип содержимого для документов HTML определяется следующим образом:
        Имя типа содержимого: text Имя подтипа содержимого: html Обязательные параметры: нет Необязательные параметры: charset Кодировка: разрешены все кодировки Безопасность: См.
        Необязательный параметр "charset" обозначает кодировку символов, используемую для представления документа HTML в качестве последовательности байт. Допустимые значения этого параметра определены в разделе кодировки символов. Хотя этот параметр необязателен, рекомендуется всегда указывать его.


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

        Примечание. "Тип носителя" (определенный в [RFC2045] и [RFC2046]) указывает природу связанного ресурса. Эта спецификация использует термин "тип содержимого" вместо "типа носителя" в соответствии с его использованием. Более того, в этой спецификации "тип носителя" может означать на котором агент пользователя генерирует документ.
        Этот тип представлен в DTD с помощью %ContentType;.
        Типы содержимого учитывают регистр.
        Примеры типов содержимого включают "text/html", "image/png", "image/gif", "video/mpeg", "audio/basic", "text/tcl", "text/javascript" и "text/vbscript". Текущий список зарегистрированных типов MIME см. в [MIMETYPES].
        Примечание. Тип содержимого "text/css",, хотя он и не зарегистрирован в IANA, должен использоваться, если связываемым элементом является таблица стилей [CSS1].

        Типы ссылок

        Авторы могут использовать следующие распознаваемые типы ссылок, перечисленные здесь вместе с условными интерпретациями. В DTD означает список типов ссылок, разделенных пробелами. Символы пробелов в типах ссылок не допускаются.
        Эти типы ссылок не учитывают регистр, т.е. "Alternate" означает то же, что и "alternate".
        Агенты пользователей, поисковые машины и т.д. могут интерпретировать эти типы ссылок несколькими способами. Например, агенты пользователя могут предоставлять доступ к связанным документам с помощью навигационной панели.
        Alternate
        Обозначает альтернативные версии документа, в котором находится ссылка. Вместе с атрибутом означает переведенную версию документа. Вместе с атрибутом означает версию, созданную для другого носителя.
        Stylesheet
        Обозначает внешнюю таблицу стилей. Подробнее см. раздел о . Используется вместе с типом ссылки "Alternate" для таблиц стилей, выбираемых пользователем.
        Start
        Обозначает первый документ в наборе. Этот тип ссылки сообщает поисковым машинам о том, какой документ автор считает началом набора.
        Next
        Обозначает следующий документ в линейной последовательности документов. Агенты пользователей могут предварительно загружать документ "next" для сокращения времени загрузки.
        Prev
        Обозначает предыдущий документ в упорядоченной серии документов. Некоторые агенты пользователей также поддерживают синоним "Previous".
        Contents
        Обозначает документ, служащий содержанием. Некоторые агенты пользователей также поддерживают синоним ToC (из "Table of Contents").
        Index
        Обозначает документ, являющийся указателем текущего документа.
        Glossary
        Обозначает документ - глоссарий терминов, относящихся к текущему документу.
        Copyright
        Обозначает замечание об авторском праве для текущего документа.
        Chapter
        Обозначает документ, являющийся главой в наборе документов.
        Section
        Обозначает документ, являющийся разделом в наборе документов.
        Subsection
        Обозначает документ, являющийся подразделом в наборе документов.
        Appendix
        Обозначает документ, являющийся приложением в наборе документов.
        Help
        Обозначает документ, содержащий справку (более подробная информация, ссылки на другие информационные ресурсы и т.д.)
        Bookmark
        Обозначает закладку. Закладка - это ссылка на ключевую точку в расширенном документе. Атрибут может использоваться, например, для пометки закладки. Помните, что в каждом документе можно определить несколько закладок.
        Авторы могут определить дополнительные типы ссылок, не описанные в этой спецификации. При этом они должны использовать для указания соглашений, используемых для определения типов ссылок. Подробнее см. атрибут элемента .
        Дальнейшее обсуждение типов ссылок см. в разделе .

        Указание кодировки символов

        Как сервер определяет, какая кодировка символов применяется в документе? Некоторые серверы проверяют первые несколько байт документа или сверяются с базой данных известных файлов и кодировок. Многие современные серверы Web предоставляют администраторам больше возможностей управления конфигурацией набора символов, чем старые серверы. Администраторы серверов Web должны при возможности использовать следующие механизмы для отправки параметра "charset", но должны позаботиться о том, чтобы не установить для документов ошибочное значение параметра "charset".
        Как агент пользователя узнает, какая использовалась кодировка символов? Эту информацию предоставляет сервер. Лучшим способом проинформировать агента пользователя о кодировке символов документа - использовать параметр "charset" в поле заголовка "Content-Type" протокола HTTP ([RFC2068], разделы 3.4 и 14.18) Например, следующий заголовок HTTP объявляет, что используется кодировка EUC-JP:
        Content-Type: text/html; charset=EUC-JP
        Определение text/html см. в разделе .
        Протокол HTTP ([RFC2068], раздел 3.7.1) считает ISO-8859-1 кодировкой символов по умолчанию, если параметр "charset" в поле заголовка "Content-Type" отсутствует. На практике эта рекомендация бесполезна, поскольку некоторые серверы не позволяют отправлять параметр "charset", а некоторые могут не быть сконфигурированы для отправки этого параметр. Поэтому агенты пользователей не должны предполагать никакого значения параметра "charset".
        Для указания ограничений сервера или конфигурации документы HTML могут включать явную информацию о кодировке символов документа; для предоставления такой информации агентам пользователя может использоваться элемент .
        Например, чтобы указать, что кодировкой символов в текущем документе является "EUC-JP", включите следующее объявление :

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

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

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

      125. Параметр "charset" протокола HTTP в поле "Content-Type".


      126. Объявление , в котором для "http-equiv" установлено "Content-Type" и установлено значение для "charset".


      127. Атрибут устанавливается на элемент, обозначающий внешний ресурс.


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

        Агенты пользователей могут обеспечивать механизм, позволяющий пользователям изменять некорректную информацию о наборе символов. Однако если агент пользователя предлагает такой механизм, он должен предлагать его только для просмотра, а не для изменения, во избежание создания Web-страниц с некорректным параметром "charset".

        Примечание.

        Если в каком-то приложении нужно использовать символы, не входящие в кодировку [ISO10646], этим символам должна быть назначена персональная зона во избежание конфликтов с настоящей или будущими версиями стандарта. Однако это не рекомендуется из соображений переносимости.

        URI

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

        Данная спецификация определяет HyperText Markup

        Данная спецификация определяет HyperText Markup Language (Язык разметки гипертекстов - HTML) версии 4.0 - язык, который используется для публикаций в World Wide Web. Кроме текстовых, мультимедийных возможностей и гиперссылок, присутствующих в предыдущих версиях языка HTML, HTML 4.0 поддерживает новые мультимедийные возможности, скрипты, таблицы стилей, улучшенную печать и более доступные людям с физическими недостатками документы. В версии HTML 4.0 также успешно реализована интернационализация документов, целью которой является сделать Паутину действительно всемирной.
        HTML 4.0 - это приложение SGML, соответствующее Международному стандарту ISO 8879 -- Standard Generalized Markup Language [ISO8879].

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

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

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

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

        Замечания об использовании цветов

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

      130. Не используйте комбинации цветов, вызывающие проблемы у пользователей.

      131. Если Вы используете изображение в качестве фона или устанавливаете цвет фона, не забудьте становить и цвета текста.

      132. Цвета, указанные в элементах и и в в таблицах выгладят по-разному на разных платформах (на рабочих станциях, Mac, Windows и на панелях LCD и CRT), поэтому не рассчитывайте на определенный эффект. В будущем поддержка цветовой модели [SRGB] вместе с цветовыми профилями ICC должна устранить эти проблемы.

      133. При возможности принимайте общие соглашения.


      134. Замечания об определенных кодировках

        Когда текст HTML передается в UTF-16 (charset=UTF-16), текстовые данные должны передаваться в сетевом порядке байт ("big-endian", байт высшего порядка - первый) в соответствии с [ISO10646], раздел 6.3 и [UNICODE], положение C3, страница 3-1.
        Более того, чтобы повысить вероятность правильной интерпретации, рекомендуется передавать документы UTF-16, всегда начиная с символа НЕРАЗДЕЛЯЮЩИЙ ПРОБЕЛ НУЛЕВОЙ ШИРИНЫ (шестнадцатеричный код FEFF, также называется Меткой порядка байтов (Byte Order Mark - BOM)), который при обращении байт становится шестнадцатеричным FFFE, никогда не назначаемым символом. Таким образом, агент пользователя, получивший шестнадцатеричный код FFFE в качестве первых байтов текста будет знать, что в остальном тексте байты нужно обратить.
        Не следует использовать формат трансформации UTF-1[ISO10646] (зарегистрированный IANA как ISO-10646-UTF-1). Информацию об ISO 8859-8 и двунаправленном алгоритме см. в разделе .

        

            Бизнес в интернете: Сайты - Софт - Языки - Дизайн