Определения атрибутов
hspace = pixels [CN]
Не рекомендуется.
Определяет размер свободного пространства слева и справа от
IMG, APPLET или OBJECT. Значение по умолчанию не определено, но обычно это небольшая ненулевая величина.
vspace = pixels [CN]
Не рекомендуется.
Определяет размер свободного пространства сверху и снизу от IMG, APPLET или OBJECT. Значение по умолчанию не определено, но обычно это небольшая ненулевая величина.
11.2.6 Ячейки: определения rowspan и colspan изменены. Теперь spans объединены в группы (рядов или столбцов);
11.3.2 Выравнивание: если "char=align" не поддерживается ПА, поведение не определено.
Содержание
Введение
Элементы конструирования таблиц
Направление в таблице
Заголовок таблицы: элемент CAPTION
Группы рядов: элементы THEAD, TFOOT
и TBODY
Группы столбцов: элементы COLGROUP и COL Элемент
COLGROUP
Элемент COL
Подсчёт количества столбцов
Подсчёт ширины столбцов
Ряды: элемент TR
и TD Ячейки, занимающие несколько рядов или столбцов
Форматирование таблицы Пользовательскими Агентами (ПА)
Рамки и линии сетки
Горизонтальное и вертикальное выравниваниеНаследование установок выравниванияПоля ячейки
Представление таблиц невизуальными ПА
Ассоциирование заголовочной информации с ячейками данных
Категоризация ячеек
Алгоритм поиска заголовочной информации
Образец таблицы
Новая модель таблиц HTML базируется на [RFC1942]. Авторы имеют теперь больший контроль над структурой и внешним видом (напр., группы столбцов). Возможность рекомендовать ширину столбцов даёт возможность ПА отображать таблицы частями (по мере загрузки), а не дожидаться получения всей таблицы целиком.
Примечание. Некоторые утилиты для создания документов HTML широко используют таблицы для форматирования, что может легко привести к проблемам с доступностью документов.
Таблицы стилей упрощают разметку HTML и снимают значительную долю нагрузки на HTML в вопросах представления документов. Они дают и авторам, и ПА контроль над представлением документов - шрифты, выравнивание, цвет и т.п.
Стилевая информация может быть определена для конкретного элемента или для группы элементов. Стилевая информация может быть установлена в документе HTML или во внешней таблице стилей.
Механизм ассоциации таблицы стилей с документом не зависит от языка таблицы стилей.
До появления таблиц стилей авторы имели ограниченный контроль над представлением документа. HTML 3.2 включал несколько атрибутов и элементов, позволявших управлять выравниванием, размером шрифта и цветом текста. Авторы также использовали таблицы и изображения как средство форматирования вывода страниц.
Относительно много времени занимает обновление пользователями своих браузеров, и это означает, что постепенно новые возможности начнут широко использоваться. Одновременно, поскольку таблицы стилей предлагают более совершенный механизм представления, World Wide Web Consortium осуществляет постепенный отход от многих элементов и атрибутов представления документов HTML. В этой спецификации элементы и атрибуты "риска" отмечены как "не рекомендуемые". Они сопровождаются примерами того, как добиться того же эффекта применением других элементов или таблиц стилей.
Содержание
Введение
Добавление стиля в HTML Установка языка по умолчанию для таблиц стилей
Инлайн-стиль (внедрённый)
Информация о стиле в заголовках: элемент STYLE
Типы носителя
Внешние таблицы стиля
Основные и альтернативные таблицы стилей
Спецификация внешней таблицы стилей
Каскадные таблицы стилей
Media-зависимые каскады
Наследование и каскадирование
Скрытие данных стиля от ПА
Ссылки на таблицы стилей в заголовках HTTP
14.6 Ссылка на таблицу стилей в заголовках HTTP: поскольку RFC 2616 не включает поле Link в заголовке, весь раздел квалифицирован только для предыдущих версий HTTP 1.1.
Содержание
Пробелы
Структурированный текст
EM, STRONG, DFN, CODE, SAMP, KBD, VAR,
CITE, ABBR и ACRONYM
и Q
Представление кавычек
Подиндекс и надиндекс: элементы SUB и SUP
Строки и параграфы
Параграф: элемент P
Управление обрывом строк
Форсирование обрыва строки: элемент BR
Запрет обрыва строк
Дефисы
Форматированный текст: элемент PRE
Визуальное представление параграфов
Маркировка изменений документа: элементы INS и DEL
В этом разделе рассматриваются вопросы структурирования текста. Элементы, представляющие текст (элементы выравнивания, элементы шрифта, таблицы стилей и т.д.), обсуждаются по всей спецификации. Информацию о символах см. в разделе Набор символов документа.
Атрибуты текста ( %Text в ОТД) делают его пригодным для чтения.
Введение об атрибутах см. в учебной дискуссии об атрибутах.
Тело макроса состоит из одного или более операторов на языке сценариев по умолчанию (как и у внутренних атрибутов событий). Точка с запятой перед правой скобкой необходима всегда, поскольку иначе символ "}" рассматривается как часть тела макроса. Нужно также отметить, что кавычки всегда необходимы для атрибутов, содержащих макросы сценариев.
Атрибуты CDATA обрабатываются так:
Разборщик SGML вычисляет все мнемоники SGML (напр., ">").
Затем макросы сценариев вычисляются машиной скриптов.Наконец, результирующая строка символов предаётся приложению для последующей обработки.
Обработка макросов имеет место при загрузке документа (или перезагрузке), но не происходит при изменении размера документа, перерисовке и т.п.
НЕ РЕКОМЕНДУЕТСЯ:
Вот несколько примеров с использованием JavaScript. В первом чстаноавливается случайное значение для цвета фона страницы:
<BODY bgcolor='&{randomrgb};'>
Возможно, Вы хотите уменьшить яркость фона в вечернее время:
<BODY bgcolor='&{if(Date.getHours > 18)...};'>
В следующем примере JavaScript использован для установки координат карты изображений, обрабатываемой на стороне клиента:
<MAP NAME=foo> <AREA shape="rect" coords="&{myrect(imageuri)};" href="&{myuri};" alt=""> </MAP> Этот пример устанавливает размер изображения на базе свойств документа:
<IMG src="bar.gif" width='&{document.banner.width/2};' height='50%' alt="banner">
Вы можете установить URI для ссылки или изображения:
<SCRIPT type="text/javascript"> function manufacturer(widget) { ... } function location(manufacturer) { ... } function logo(manufacturer) { ... } </SCRIPT> <A href='&{location(manufacturer("widget"))};'>widget</A> <IMG src='&{logo(manufacturer("widget"))};' alt="logo">
Последний пример показывает, как атрибуты SGML CDATA могут быть выделены кавычками с использованием знаков одиночной или двойной кавычки. Если Вы используете одиночные кавычки вокруг строки, можно включить двойные кавычки как часть содержимого строки. Другой подход заключается в использовании " для обозначения двойной кавычки:
<IMG src="&{logo(manufacturer("widget"))};" alt="logo">
Документы HTML пересылаются по Internet как последовательность байтов и сопутствующей информации о кодировке (описанной в разделе кодировка символов ).
Структура передачи, называемой тело сообщения,
определена в [RFC2045] и [RFC2616].
Тело сообщения с типом содержимого
"text/html" представляет собой документ HTML.
Тип содержимого документа HTML определяется так:
Имя типа содержимого/Content type name:
textИмя подтипа содержимого/Content subtype name:html
Обязательные параметры/Required parameters:none/отсутствуют
Необязательные параметры/Optional parameters:charset/кодовый набор
Кодировка/Encoding considerations:допустима любая кодировка
Безопасность/Security considerations:См. замечания по безопасности/security.
Необязательный параметр "charset" имеет отношение к кодировке символов, используемой для представления документа HTML как последовательности байтов. Верные значения этого параметра определены в разделе Кодировка символов.
Хотя это и необязательный параметр, мы рекомендуем его всегда указывать.
HTML определяет следующие типы ЭУ:
кнопки
Авторы могут создавать кнопки трёх типов:
кнопки submit: при активации кнопка submit отправляет форму. Форма может содержать несколько кнопок submit;
кнопки reset: при активации кнопка reset устанавливает все ЭУ в их начальные значения;
кнопки push: кнопки push не имеют предопределённых функций. Каждая кнопка push может иметь клиентский сценарий (выполняемый на стороне клиента), ассоциированный с атрибутом event/событие. При возникновении события (напр., пользователь нажал кнопку, отпустил её и т.д.), включается ассоциированный сценарий (скрипт).
Автор должен указать язык сценария кнопки push путём объявления языка скриптов по умолчанию (в элементе META).
Авторы создают кнопки, используя ЭУ BUTTON, или ЭУ INPUT. См. определение этих ЭУ .
Примечание. Авторы должны иметь в виду, что возможности ЭУ BUTTON
богаче, чем у INPUT.
переключатели/checkboxes
Переключатели (и radio-кнопки) это переключатели типа вкл./выкл., управляемые пользователем. Переключатель "включён", если установлен атрибут checked
ЭУ. Если форма отправлена, только переключатель "включён" может быть "действующим".
Несколько переключателей в форме могут использовать одно имя ЭУ. Так, например, переключатели позволяют пользователям выбрать несколько значений для одного свойства. ЭУ INPUT используется для создания переключателей.
radio-кнопки
Radio-кнопки похожи на переключатели/checkboxes, за исключением того, что, при использовании одного и того же имени ЭУ, они действуют взаимоисключающе: если одна выбрана "включено", все остальные с тем же именем "выключены". Элемент INPUT используется для создания ЭУ "radio-кнопка".
Если ни одна radio-кнопка из использующих общее имя первоначально не установлена во "включено", поведение пользовательского агента (ПА) по установлению того, какая из кнопок включена, не определено.
Примечание. Поскольку существующие приложения обрабатывают эту ситуацию по-разному, данная спецификация отличается от RFC 1866 ([RFC1866] раздел 8.1.2.4) в следующем:
Тип ЭУ, определяемый элементом INPUT, зависит от значения атрибута type:
text
Однострочный ЭУ для ввода текста.
password
Как "text", но вводимый текст изображается так, чтобы скрыть вводимые символы (напр., серией "звёздочек"). ЭУ этого типа часто используется для ввода специальной информации, напр., пароля. Заметьте, что текущее значение, это текст, введённый
пользователем, а не текст, изображаемый ПА.
Примечание. Разработчики программного обеспечения должны иметь в виду, что этот механизм обеспечивает лишь некоторую защиту. Хотя пароль маскируется ПАгентом от случайного просмотра, он передаётся на сервер в виде обычного текста и может быть прочитан кем-нибудь, имеющим низкоуровневый доступ к сети.
checkbox
Создаёт переключатель.
radio
Создаёт кнопку radio.
submit
Создаёт кнопку submit.
image
Создаёт кнопку submit. Значение атрибута src
определяет URI изображения, служащего для украшения кнопки. Из соображений доступности, авторы должны предоставлять альтернативный текст
установкой атрибута alt.
Если для щелчка на кнопке image используется указательное устройство (мышь и т.п.),
форма отправляется и координаты щелчка передаются серверу. Значение Х измеряется в пикселах от левого края изображения, а значение У - в пикселах от верхнего края изображения. Отправленные данные включают значения name.x=x-value и name.y=y-value, где "name" это значение атрибута name, а x-value и y-value
это значения координат x и y соответственно.
Если сервер выполняет разные действия в зависимости от места нажатия на элементе, пользователи неграфических браузеров окажутся в затруднительном положении. По этим причинам авторы должны предусматривать дополнительные варианты:
Использовать несколько кнопок submit (каждая со своим изображением) вместо единой графической кнопки submit. Авторы могут использовать таблицы стилей для управления положением кнопок.
Использовать клиентские карты изображений в сочетании со скриптами.
reset
Создаёт a кнопку reset.
button
Создаёт кнопку push. ПА должны использовать значение атрибута value как лэйбла кнопки.
hidden
Создаёт элемент hidden.
file
Создаёт ЭУ file select. ПА могут использовать значение атрибута value начальное имя файла.
HTML позволяет создавать документы, использующие преимущества тех носителей, где документы должны просматриваться (напр., графические дисплеи, телеэкраны, портативные устройства, речевые браузеры, тактильные брайль-устройства и т.д.). Устанавливая атрибут media, авторы дают ПА возможность выборочно загружать и использовать таблицы стилей. См. список распознаваемы media-дескрипторов.
Данное объявление относится к элементам H1. При отображении на бизнес-совещании, все объекты будут голубого цвета. При печати - будут центрироваться.
<HEAD> <STYLE type="text/css" media="projection"> H1 { color: blue} </STYLE>
<STYLE type="text/css" media="print"> H1 { text-align: center } </STYLE>
Здесь добавлены звуковой эффекты к якорю для использования в голосовом выводе:
<STYLE type="text/css" media="aural"> A { cue-before: uri(bell.aiff); cue-after: uri(dong.wav)} </STYLE> </HEAD>
Media-элемент представляет особый интерес при применении к таблице стилей, поскольку ПА может сэкономить время, запрашивая по сети только те таблицы, которые применяются непосредственно к текущему устройству. К примеру, речевые браузеры могут исключить загрузку таблиц стилей, созданных для визуального представления. См. также раздел media-зависимые каскады.
Атрибут enctype элемента FORM определяет тип содержимого, используемый при кодировке набора данных формы для отправки на сервер. ПА должен поддерживать типы содержимого, перечисленные ниже. Поведение для других типов содержимого не определено.
См. раздел о использовании escape-последовательностей для обозначения амперсандов в значениях атрибутов URI.
Примечание: "Тип носителя" (определённый в [RFC2045] и [RFC2046]) специфицирует природу связанного ресурса. Эта спецификация использует термин "content type\тип содержимого", а не "media type\тип носителя", в соответствии с текущей практикой.
В то же время, в этой спецификации, "media type" может относиться к дескрипторам там, где ПА воспроизводит документ.
%ContentType;.
Тиры содержимого нечувствительны к регистру.
Примеры типа содержимого: "text/html", "image/png", "image/gif", "video/mpeg", "text/css" и "audio/basic".
Текущий список зарегистрированных MIME-типов см. в [MIMETYPES].
Авторы могут использовать следующие распознаваемые типы ссылок, перечисленные здесь с их интерпретацией в соответствии с соглашениями. В ОТД %LinkTypes ссылается на разделённый пробелами список типов ссылок. Пробелы внутри типов ссылок недопустимы.
Типы ссылок нечувствительны к регистру, т.е., "Alternate" значит то же, что и "alternate".
ПА, поисковые машины и т.д. могут интерпретировать эти типы ссылок различными способами. Например, ПА может предоставить доступ к связанному ресурсу через панель навигации/navigation bar.
Alternative/Альтернативный
Замещающая версия для документа, на который указывает ссылка. Используемый вместе с атрибутом lang,
он подразумевает переведённую версию документа. Если используется вместе с атрибутом
media, подразумевает версию, созданную для другого носителя.
Stylesheet/Таблица стилей
Ссылается на внешнюю таблицу стилей. См. детали в разделе внешние таблицы стилей. используется вместе со ссылкой типа "Alternate" внешних таблиц, выбираемых пользователем.Старт/Start
Ссылается на первый документ в серии документов. Эта ссылка сообщает поисковой машине, какой документ установлен автором в качестве исходного пункта серии документов.
Next/СледующийСсылается на следующий документ в линеарной последовательности документов. ПА могут заранее подгрузить документ "next", чтобы уменьшить в последующем затраты времени.
Prev/Предыд.
Ссылается на предыдущий документ в упорядоченной серии документов. Некоторые ПА также поддерживают синоним "Previous".
Contents/Содержание
Ссылается на документ с оглавлением. Некоторые ПА также поддерживают синоним ToC(от "Table of Contents").
Index/ИндексСсылается на документ по индексу.
Glossary/Словарь-справочникСсылается на документ из словаря терминов, имеющий отношение к текущему документу.
Copyright/Авторские праваСсылается на оператор авторских прав для текущего документа.
Chapter/ГлаваСсылается на документ, являющийся главой в серии документов.
Section/РазделСсылается на документ, являющийся разделом в серии документов.
Subsection/Подраздел
Ссылается на документ, являющийся подразделом в серии документов.
Appendix/Дополнение
Ссылается на документ, являющийся дополнением в серии документов. Help/Помощь
Ссылается на документ помощи (больше информации, ссылки на др. ресурсы и т.д.)
Bookmark/Закладка
Ссылается на закладку. Закладка это ссылка на точку внутри документа. Атрибут
title, например, может быть использован для маркировки закладкой. Заметьте, что в каждом документе может быть установлено несколько закладок.
Автор может пожелать определить дополнительные типы ссылок, не описанные в этой спецификации. Чтобы сделать это, он должен использовать профиль
для цитирования соглашений, используемых для определения типов ссылок. См. атрибут profile элемента HEAD.
Для продолжения обсуждения типов ссылок см. ссылки в документах HTML.
Обрыв строки определён как символ возврата каретки (
), символ прогона строки (
) или пара символов возврат каретки/прогон строки. Все обрывы строк являются пробелами.
Больше информации о SGML спецификации обрывов строк см. в примечаниях об обрыве строки в приложении.
Данная спецификация использует термин URI, как определено в [URI] (см. также [RFC1630]).
Заметьте, что URI включают URL (как определено в [RFC1738] и [RFC1808]).
Относительные URI дополняются до полных URI, используя базовые URI.
[RFC1808], раздел 3, определяет нормативный алгоритм этого процесса. Дополнительную информацию о базовых URI см. в разделе базовые URI в главе о ссылках.
URI представляются в ОТД мнемоникой %URI;.
URI в общем случае нечувствительны к регистру.
Могут быть URI, или части URI, где регистр не имеет значения (напр., имя машины/хост), но их идентификация может быть затруднительна. Пользователь должен всегда предполагать, что URI чувствительны к регистру (чтобы быть уверенными в последствиях своих действий).
Пожалуйста, прочтите дополнение к информации о не-ASCII символах в значениях атрибутов URI.
Примечание. Информацию о текущей практике определения целевого фрэйма см. замечания о фрэймах
в приложении.
Определение атрибута
target = frame-target [CI]
Определяет имя фрэйма, в котором будет открыт документ.
Установив атрибут name, авторы могут ссылаться на него как на "target" (целевой) для ссылок, определённых в других элементах. Атрибут target
может быть установлен для элементов, создающих ссылки (A,
LINK), карты изображений (AREA) и формы (FORM).
См. раздел имя целевого фрэйма о распознавании имён фрэймов.
Этот пример иллюстрирует, как целевые фрэймы позволяют динамически модифицировать содержимое фрэйма. Сначала мы определяем набор фрэймов в документе
frameset.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <HTML> <HEAD> <TITLE>A frameset document</TITLE> </HEAD> <FRAMESET rows="50%,50%"> <FRAME name="fixed" src="init_fixed.html"> <FRAME name="dynamic" src="init_dynamic.html"> </FRAMESET> </HTML>
затем в init_dynamic.html мы создаём ссылку на фрэйм с именем "dynamic":
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <TITLE>A document with anchors with specific targets</TITLE> </HEAD> <BODY> ...начало документа...
<P>Now you may advance to <A href="slide2.html" target="dynamic">slide 2.</A> ...документ...
<P>You're doing great. Now on to <A href="slide3.html" target="dynamic">slide 3.</A> </BODY> </HTML>
Активация любой ссылки открывает новый документ во фрэйме с именем "dynamic", в то время как другой фрэйм - "fixed", сохраняет первоначальное содержимое.
Примечание. Определение набора фрэймов никогда не меняется, но содержимое любого из них - может меняться. Как только содержимое фрэйма изменилось, определение набора фрэймов больше не отражает текущее состояние своих фрэймов.
В настоящее время отсутствует возможность кодировать всё состояние набора фрэймов в URI. В то же время, многие ПА не позволяют пользователям устанавливать закладки на набор фрэймов.
Наборы фрэймов могут сделать навигацию в "истории" ПА более затруднительной для пользователя.
Если многие ссылки в одном документе имеют один целевой фрэйм, можно установить его однократно в атрибуте target
каждого элемента. Это делается установкой атрибута target
элемента BASE.
Мы возвращаемся к предыдущему примеру, размножая на этот раз информацию о цели, определяя её в элементе BASE и удаляя её из элементов
A.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <TITLE>A document with BASE with a specific target</TITLE> <BASE href="http://www.mycom.com/Slides" target="dynamic"> </HEAD> <BODY> ...начало документа...
<P>Now you may advance to <A href="slide2.html">slide 2.</A> ...документ...
<P>You're doing great. Now on to <A href="slide3.html">slide 3.</A> </BODY> </HTML>
Авторы могут специфицировать язык таблиц стилей для стилевой информации, ассоциированной с документом HTML.
Авторы должны использовать элемент META для установки в данного документе языка по умолчанию для таблиц стилей. Для этого, например, автор должен поместить следующее объявление в
HEAD своих документов:
<META http-equiv="Content-Style-Type" content="text/css">
Язык по умолчанию для таблиц стилей может быть также установлен в заголовках HTTP. Предыдущее объявление META эквивалентно объявлению в заголовке HTTP:
Content-Style-Type: text/css
ПА должны определять язык по умолчанию для таблиц стилей документа в такой последовательности (приоритет по убыванию):
Если какое-либо объявление META устанавливает "Content-Style-Type", это выражение определяет язык по умолчанию для таблиц стилей.
Иначе, если какое-либо объявление заголовка HTTP устанавливает "Content-Style-Type", тогда данное выражение определяет язык по умолчанию для таблиц стилей.
Иначе языком по умолчанию является "text/css".
Документы, содержащие элементы с установленным атрибутом style, но не определившие язык по умолчанию для таблиц стилей, являются некорректными. Авторские утилиты должны генерировать информацию о языке по умолчанию для таблиц стилей (обычно в объявлении META) так, чтобы ПА не должны были обращаться к языку по умолчанию - "text/css".
Поскольку HTML не соотносится с определённым языком сценариев, авторы документа должны однозначно указать ПА язык каждого скрипта. Это можно сделать, объявив значение по умолчанию или локально.
Атрибут src определяет документ, первоначально отображаемый в данном фрэйме.
Следующий пример документа HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <HTML> <HEAD> <TITLE>A frameset document</TITLE> </HEAD> <FRAMESET cols="33%,33%,33%"> <FRAMESET rows="*,200"> <FRAME src="contents_of_frame1.html"> <FRAME src="contents_of_frame2.gif"> </FRAMESET> <FRAME src="contents_of_frame3.html"> <FRAME src="contents_of_frame4.html"> </FRAMESET> </HTML>
должен создать фрэйм примерно такого вида:
------------------------------------------ |Frame 1 |Frame 3 |Frame 4 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -------------| | | |Frame 2 | | | | | | | | | | | ------------------------------------------
и указать ПА загрузить каждый файл в отдельный фрэйм.
Содержимое фрэйма не должно быть в том же документе, что и определение фрэйма.
НЕВЕРНОЕ ИСПОЛЬЗОВАНИЕ:
Следующее определение набора фрэймов HTML неверно, поскольку содержимое второго фрэйма находится в том же документе, что и определение набора фрэймов.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//RU" "http://www.w3.org/TR/html4/frameset.dtd"> <HTML> <HEAD> <TITLE>Документ - набор фрэймов</TITLE> </HEAD> <FRAMESET cols="50%,50%"> <FRAME src="contents_of_frame1.html"> <FRAME src="#якорь_в_этом_же_документе"> <NOFRAMES> ...текст...
<H2><A name="якорь_в_этом_же_документе">Важный раздел</A></H2> ...текст...
</NOFRAMES> </FRAMESET> </HTML>
Двунаправленный алгоритм [UNICODE] автоматически поворачивает внедрённые последовательности символов в соответствии с их унаследованным направлением (как показано в предыдущих примерах). Однако в целом только один уровень внедрения может быть просчитан. Чтобы установить дополнительные уровни внедрённых изменений направления, придётся использовать атрибут dir в инлайн-элементах.
Рассмотрим тот же текст, что и ранее:
english1 HEBREW2 english3 HEBREW4 english5 HEBREW6
Предположим, преобладающим языком документа, содержащего этот параграф, является английский. С другой стороны, это предложение на английском содержит раздел на еврейском от HEBREW2 до HEBREW4, и раздел на еврейском содержит в себе английский (english3). Нужное представление предложения таково:
english1 4WERBEH english3 2WERBEH english5 6WERBEH -------> E <----------------------- H -------------------------------------------------> E
Чтобы выполнить два изменения направления, мы должны предоставить дополнительную информацию путём явного разграничения. В этом примере мы используем элемент SPAN и атрибут dir для разметки текста:
english1 <SPAN dir="RTL">HEBREW2 english3 HEBREW4</SPAN> english5 HEBREW6
Авторы могут также использовать специальные символы Unicode для выполнения множественных внедрённых изменений направления текста. Для получения внедрения "слева-направо", окружите внедряемый текст символами LEFT-TO-RIGHT EMBEDDING ("LRE", 16-ричная 202A) и POP DIRECTIONAL FORMATTING ("PDF", 16-ричная 202C). Для получения внедрения "справа-налево", окружите внедряемый текст символами RIGHT-TO-LEFT EMBEDDING ("RTE", 16-ричная l 202B) и PDF.
Использование разметки направления HTML с символами Unicode. Авторы и разработчики авторских программных продуктов должны знать, что конфликты могут увеличиться, если атрибут dir в инлайн-элементах (включая BDO) соседствует с символами форматирования [UNICODE]. Лучше использовать то или другое. Метод разметки даёт больше гарантии структурной целостности документа и облегчает решение некоторых проблем при редактировании двунаправленного текста HTML в простом текстовом редакторе, но некоторые программы могут быть более адаптированы к использованию символов [UNICODE]. Если используются оба метода, нужно быть очень внимательным, устанавливая вложенную разметку и внедрённые изменения направления, иначе результаты отображения могут быть непредсказуемыми.
Следующие элементы устарели: LISTING, PLAINTEXT и XMP. Вместо них авторы должны употреблять элемент PRE.
Английская версия этой спецификации является единственным нормативным документом. Однако переводы этого документа можно найти по адресу:
http://www.w3.org/MarkUp/html4-updates/translations
В этом примере показано использование декоративных атрибутов элемента FRAME. Мы определяем, что фрэйм 1 не разрешает прокрутку. Фрэйм 2 оставляет свободное пространство вокруг содержимого (первоначально - файл изображения), фрэйм не меняет размеров. Между фрэймами 3 и 4 бордюра нет. Бордюры будут прорисованы (по умолчанию) между фрэймами 1, 2 и 3.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <HTML> <HEAD> <TITLE>A frameset document</TITLE> </HEAD> <FRAMESET cols="33%,33%,33%"> <FRAMESET rows="*,200"> <FRAME src="contents_of_frame1.html" scrolling="no"> <FRAME src="contents_of_frame2.gif" marginwidth="10" marginheight="15" noresize> </FRAMESET> <FRAME src="contents_of_frame3.html" frameborder="0"> <FRAME src="contents_of_frame4.html" frameborder="0"> </FRAMESET> </HTML>
Все атрибуты элементов IMG
и OBJECT, касающиеся визуального выравнивания и представления, не рекомендуются. Вместо этого рекомендуется использовать таблицы стилей.
Примечание. Следующий раздел является информативным описанием того, как ведут себя некоторые из существующих визуальных ПА при форматировании параграфов. Таблицы стилей дают больший контроль над форматированием параграфов.
То, как параграфы отображаются, зависит от ПА. Параграфы обычно выравниваются по левому краю с "рваным" правым обрезом. Другие значения по умолчанию предусмотрены для письма справа-налево.
HTML ПА традиционно отображают параграфы с пропусками над и под, например,
At the same time, there began to take form a system of numbering, the calendar, hieroglyphic writing, and a technically advanced art, all of which later influenced other peoples.
Within the framework of this gradual evolution or cultural progress the Preclassic horizon has been divided into Lower, Middle and Upper periods, to which can be added a transitional or Protoclassic period with several features that would later distinguish the emerging civilizations of Mesoamerica.
Это контрастирует со стилем, где есть отступы в первых строках параграфов и обычные расстояния между последней строкой одного и первой строкой другого параграфа, например,
At the same time, there began to take form a system of numbering, the calendar, hieroglyphic writing, and a technically advanced art, all of which later influenced other peoples. Within the framework of this gradual evolution or cultural progress the Preclassic horizon has been divided into Lower, Middle and Upper periods, to which can be added a transitional or Protoclassic period with several features that would later distinguish the emerging civilizations of Mesoamerica.
Следуя первоначальным установкам браузера NCSA Mosaic browser в 1993 г., ПА обычно не выравнивают оба края, отчасти из-за того, что это трудно сделать эффективно при отсутствии соответствующих шаблонов обработки переноса слов. Появление таблиц стилей и неподставляемых шрифтов с субпикселным позиционированием обещает авторам HTML новые широкие возможности.
Таблицы стилей предоставляют точный контроль над размером и стилем шрифта, полями, пробелами над и под параграфом, отступом первой строки, выравниванием и многим другими деталями.
Примечание. Это информативное описание поведения некоторых существующих визуальных ПА при форматировании списков. Таблицы стиля дают авторам большие возможности управления форматированием списков (напр., по нумерации, зависящим от языка соглашениям, отступам и т.д.).
Визуальные ПА обычно осуществляют отступ вложенных списков с учётом текущего уровня вложенности.
OL, и для UL атрибут type определяет опции отображения визуальными ПА.
Для элемента UL
возможные значения атрибута type - disc, square и circle. Значения по умолчанию зависят от уровня вложения. Эти значения нечувствительны к регистру.
Представление каждого значения зависит от ПА. ПА должны пытаться представить "disc" как маленький заполненный кружок, "circle" как маленький круг и "square" как маленький квадрат.
Графический ПА может отобразить это так:
для значения "disc"
для значения "circle"
для значения "square"
Для элемента OL
возможные значения атрибута type
суммированы в таблице (значение нечувствительны к регистру):
1 | арабские цифры | 1, 2, 3, ... |
a | латинский алфавит, нижний регистр | a, b, c, ... |
A | латинский алфавит, верхний регистр | A, B, C, ... |
i | римский алфавит, нижний регистр | i, ii, iii, ... |
I | римский алфавит, верхний регистр | I, II, III, ... |
Обратите внимание, что атрибут type не рекомендуется применять, и стили списков должны обрабатываться таблицами стилей.
Например, используя CSS (Каскадную Таблицу Стилей), можно определить, что стиль нумерации элементов списка должен быть - римские цифры в нижнем регистре. В предыдущем примере каждый элемент OL, принадлежащий к классу "withroman", будет иметь римскую нумерацию перед началом каждого элемента списка.
<STYLE type="text/css"> OL.withroman { list-style-type: lower-roman } </STYLE> <BODY> <OL class="withroman"> <LI> Step one ... <LI> Step two ... </OL> </BODY>
Представление списков Definition также зависит от ПА. Пример:
<DL> <DT>Dweeb <DD>young excitable person who may mature into a <EM>Nerd</EM> or <EM>Geek</EM>
<DT>Hacker <DD>a clever programmer
<DT>Nerd <DD>technically bright but socially inept person </DL>
может быть отображено так:
Dweeb young excitable person who may mature into a Nerd or Geek
Hacker a clever programmer Nerd technically bright but socially inept person
Ссылки и якоря, определённые элементом A, не могут вкладываться; элемент A не должен содержать других элементов A.
Поскольку ОТД определяет элемент
LINK как пустой, элементы LINK
также не могут вкладываться.
Наборы фрэймов могут вкладываться на любую глубину.
В этом примере внешний FRAMESET делит доступное пространство на три столбца. Внутренний FRAMESET делит второй фрэйм на два ряда неравной высоты.
<FRAMESET cols="33%, 33%, 34%"> ...содержимое первого фрэйма...
<FRAMESET rows="40%, 50%"> ...второй фрэйм, первый ряд...
...второй фрэйм, второй ряд...
</FRAMESET> ...содержимое третьего фрэйма...
</FRAMESET>
Авторы могут отделить таблицы стилей от основных документов HTML. Это даёт следующие преимущества:
авторы и менеджеры Web-сайтов могут разделять использование таблиц стилей среди нескольких документов (и сайтов);
авторы могут изменять таблицы стилей без изменения самих документов;
ПА могут выборочно загружать таблицы стилей (в зависимости от media-дескриптора).
Примечание. Обращаем внимание авторов документов HTML, что изменения вскоре могут появиться в определении внутренних событий (напр., как скрипты ограничены событиями). Исследования в этой сфере проводятся членами W3C Document Object Model Working Group (см. W3C сайт http://www.w3.org/).
Определения атрибутов
onload = script [CT]
Событие onload возникает, когда ПА закончил загрузку окна или всех фрэймов FRAMESET. Этот атрибут может быть использован элементами BODY и FRAMESET.
onunload = script [CT]
Событие onunload возникает, когда ПА удаляет документ из окна или фрэйма. Этот атрибут может быть использован элементами BODY и FRAMESET.
onclick = script [CT]
Событие onclick возникает, когда указательное устройство "щёлкает" на элементе. Этот атрибут может быть использован с большинством элементов.
ondblclick = script [CT]
Событие ondblclick возникает, когда указательное устройство дважды "щёлкает" на элементе. Этот атрибут может быть использован с большинством элементов.
onmousedown = script [CT]
Событие onmousedown возникает, когда кнопка указательного устройства "нажала" на элемент. Этот атрибут может быть использован с большинством элементов.
onmouseup = script [CT]
Событие onmouseup возникает, когда кнопка указательного устройства отпущена над элементом. Этот атрибут может быть использован с большинством элементов.
onmouseover = script [CT]
Событие onmouseover возникает, когда указательное устройство проходит над элементом. Этот атрибут может быть использован с большинством элементов.
onmousemove = script [CT]
Событие onmousemove возникает, когда указательное устройство перемещается в тот момент, когда находится над элементом. Этот атрибут может быть использован с большинством элементов.
onmouseout = script [CT]
Событие onmouseout возникает, когда указательное устройство убирается с элемента. Этот атрибут может быть использован с большинством элементов.
onfocus = script [CT]
onfocus возникает, когда элемент получает фокус от указательного устройства или при навигации табуляцией. Этот атрибут может использоваться в элементах: A, AREA, LABEL, INPUT,
align объектов, изображений, таблиц, фрэймов и т.п. заставляет объект прижиматься к левому или правому полю страницы. Плавающие объекты обычно начинают новую строку. Этот атрибут принимает следующие значения:
left: прижимает объект к левому краю. Последующий текст обтекает объект справа.
right: прижимает объект к правому краю. Последующий текст обтекает объект слева.
ПРИМЕР НЕ РЕКОМЕНДУЕМОГО ИСПОЛЬЗОВАНИЯ:
Пример показывает. как элемент
IMG "всплывает" к левому краю "канвы".
<IMG align="left" src="http://foo.com/animage.gif" alt="my boat">
Некоторые атрибуты выравнивания также допускают значение "center", которое не вызывает всплывания, а центрирует объект по отношению к краям. В то же время, у элементов P
и DIV, значение "center" вызывает центрирование содержимого элементов.
APPLET Не рекомендуется (со всеми его атрибутами). Следует использовать OBJECT.
См. формальное определение в Переходном ОТД.
Определения атрибутов
codebase = uri [CT]
Определяет базовый URI аплета. Если не установлен, тогда по умолчанию используется тот же базовый URI, что и для текущего документа. Значения этого атрибута могут ссылаться только на субдиректории той директории, в которой находится текущий документ.
Примечание.
Поскольку ограничения на субдиректории являются отходом от принятой практики и спецификации HTML 3.2, HTML Working Group решила оставить данные ограничения в этой версии спецификации из соображений обеспечения безопасности.
code = cdata [CS]
Специфицирует имя файла класса, который содержит скомпилированный подкласс аплета, или путь к этому классу, включая и сам файл класса. Интерпретируется в соответствии с кодовой базой аплета. Должен присутствовать code
или object.
name = cdata [CS]
Определяет имя инстанции аплета, что делает возможным для аплетов в пределах той же страницы находить друг друга (и взаимодействовать).
archive = uri-list [CT]
Определяет список разделённых запятыми URI для архивов, содержащих классы и другие ресурсы, которые будут "предзагружены". Классы загружаются с использованием объекта AppletClassLoader с установленным codebase. Относительные URI для архивов интерпретируются в соответствии с codebase аплета. Предварительная загрузка ресурсов может значительно ускорить выполнение аплетов.
object = cdata [CS]
Этот атрибут именует ресурс, содержащий сериализованное представление состояния аплета. Он интерпретируется относительно codebase аплета. Сериализованные данные содержат имя класса аплета, но не реализацию. Имя класса используется для запроса реализации из файла класса или архива.
Если аплет "десериализован", вызывается метод start(), но не метод init(). Значения атрибутов после сериализации оригинального объекта не
восстанавливаются. Любые атрибуты, передаваемые в инстанцию APPLET, будут доступны аплету. Авторы должны предельно осторожно пользоваться этой возможностью. Аплет должен быть остановлен перед тем, как будет сериализован.
<!-- Чтобы исключить проблемы с только-текстовыми ПА, а также чтобы сделать содержимое изображения более понятным и доступным для пользователей с невизуальными ПА, Вы должны предоставить описание в элементе ALT и исключить использование серверных карт изображений --> <!ELEMENT IMG - O EMPTY -- Внедрённое изображение --> <!ATTLIST IMG %attrs; -- %coreattrs, %i18n, %events -- src %URI; #НЕОБХОДИМ -- URI изображения для вставки -- alt %Text; #НЕОБХОДИМ -- краткое описание -- longdesc %URI; #ПРЕДПОЛАГАЕТСЯ -- ссылка на полное описание (дополняет alt) -- name CDATA #ПРЕДПОЛАГАЕТСЯ -- имя изображения (для скриптов) -- height %Length; #ПРЕДПОЛАГАЕТСЯ -- переопределить высоту -- width %Length; #ПРЕДПОЛАГАЕТСЯ -- переопределить ширину -- usemap %URI; #ПРЕДПОЛАГАЕТСЯ -- использовать клиентские карты изображений -- ismap (ismap) #ПРЕДПОЛАГАЕТСЯ -- использовать серверные карты изображений -- >
Начальный тег: необходим, Конечный тег: запрещён
Определения атрибутов
src = uri [CT]
Специфицирует размещение ресурса изображения. Наиболее распространённые форматы изображений: GIF, JPEG и PNG.
longdesc = uri [CT]
Определяет ссылку на полное описание изображения. Это описание должно дополнять краткое описание, предоставляемое атрибутом alt. Если изображение имеет ассоциированную карту изображений, этот атрибут должен предоставлять информацию о содержимом карты изображений. Это особенно важно для серверных карт.
Поскольку элемент IMG может находиться внутри содержимого элемента A, механизм ПА в пользовательском интерфейсе для доступа к ресурсу "longdesc" первого должен отличаться от механизма к доступу ресурса
href второго.
name = cdata [CI]
Этот атрибут именует элемент так, что на него можно будет ссылаться из таблиц стилей или скриптов. Примечание. Этот атрибут включён для обеспечения обратной совместимости. Приложения должны использовать для идентификации элементов атрибут id.
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)
Содержание
Что такое World Wide Web? Введение в URI
Идентификаторы фрагментов документа (закладки)
Относительные URI
Что такое HTML? Краткая история HTML
HTML 4 Интернационализация
Доступность
Таблицы
Составные документы
Таблицы стилей
Сценарии (скрипты)
Печать
Создание документов HTML 4 Разделение структуры и представления
Предусматривайте универсальность доступа к Web
Помогать пользовательским агентам (ПА) показывать содержимое частями
SGML - это система определения языков разметки. Авторы размечают
свои документы, вводя структурную, представительную и семантическую информацию параллельно с основным содержимым.
HTML - это один из языков разметки. Вот пример документа HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>My first HTML document</TITLE> </HEAD> <BODY> <P>Hello world! </BODY> </HTML>
Документ HTML состоит из раздела-шапки (здесь - между <HEAD> и </HEAD>) и тела (здесь - между <BODY> и </BODY>). Название документа содержится в шапке (наряду с другой информацией о документе), а содержимое документа находится в его теле/ body. Тело в этом примере состоит из одного параграфа, помеченного <P>.
Каждый язык разметки, определённый в SGML, называется SGML приложением. Приложение SGML обычно характеризуется:
Объявлением SGML. Объявление SGML определяет, какие символы и ограничители могут появляться в приложении.
Определением типа документов (ОТД). ОТД определяет синтаксис конструкций разметки. ОТД может включать дополнительные определения, такие как символьные ссылки-мнемоники.
Спецификация, описывающая семантику, относится к разметке. Эта спецификация также даёт ограничения синтаксиса, которые не могут быть выражены внутри ОТД.
Объектами документа, содержащими данные (содержимое) и разметку. Каждый объект содержит ссылку на ОТД, чтобы иметь возможность быть интерпретированным.
Эта спецификация включает объявление SGML, три определения типа документов (см. раздел информация о версии HTML) список ссылок-мнемоник.
Каждый доступный на Web ресурс - документ HTML, рисунок, видеоклип, программа и т д. - имеет адрес, который может быть кодирован как Universal Resource Identifier\Универсальный идентификатор ресурса, или "URI".
URI обычно состоят из трёх частей:
Схема именования механизма, используемого для доступа к ресурсу.
Имя машины - владельца (хоста) ресурса.
Имя самого ресурса, даваемое как путь/path.
Рассмотрите URI страницы Technical Reports на сайте W3C:
http://www.w3.org/TR
Этот URI можно прочитать так: это документ, доступный по протоколу HTTP (см. [RFC2616]), находящийся на машине www.w3.org, доступный в пути "/TR". Другие схемы именования, которые Вы можете встретить в документах HTML, включают "mailto" для email (электронной почты) и "ftp" для FTP.
Вот другой URI. Этот ссылается на почтовый ящик пользователя:
...здесь какой-либо текст...
Для комментариев высылайте, пожалуйста, email по адресу <A href="mailto:joe@someplace.com">Владимиру Ульянову</A>.
Примечание. Большинство читателей, наверное, знакомы с термином "URL" и не знакомы с термином "URI". URL образуют подраздел более общей схемы именования - URI.
Средства создания документов (например, текстовые редакторы) могут кодировать документы HTML по своему усмотрению, и это зависит в основном от соглашений, используемых разработчиками программ. Эти программы для создания документов используют любую подходящую кодировку, которая отображает большую часть нужных символов, корректно обозначая эту кодировку. Отдельные символы, не входящие в соответствующую кодировку, могут быть вставлены по ссылке. Это всегда имеет отношение к набору символов документа, а не к кодировке.
Серверы и proxy-серверы могут изменять кодировку символов (это называется transcoding) "на ходу", чтобы принять запрос пользовательского браузера (смотри раздел 14.2 в [RFC2616], заголовок запроса "Accept-Charset" HTTP). Серверы и прокси-серверы не должны обязательно обслуживать документ в той кодировке, которая покрывает весь набор символов этого документа.
Обычно в Web используются кодировки: ISO-8859-1 (также известная как "Latin-1", используется для большинства западноевропейских языков), ISO-8859-5 (поддерживающая кириллицу), SHIFT_JIS (японская кодировка), EUC-JP (другая японская кодировка) и UTF-8 (кодировка ISO 10646, использующая различное число байтов для различных символов). Названия кодировок нечувствительны к регистру. Таким образом, "SHIFT_JIS", "Shift_JIS" и "shift_jis" эквивалентны.
Эта спецификация не предписывает, какие кодировки браузер должен поддерживать.
Соответствие браузеров. Браузеры должны отвечать отображению, по ISO 10646, всех символов в любой кодировке, которые ими распознаются (или они должны действовать, как если бы они распознавали их).
Можно выравнивать блок элементов (таблицы, изображения, объекты, параграфы и т.п.) на "канве" с помощью атрибута align. Хотя этот атрибут может быть установлен для многих элементов HTML, диапазон его значений может отличаться, в зависимости от элемента. Здесь мы обсуждаем только значение атрибута "выравнивание" для текста.
Определение атрибута
align =
[CI]
Не рекомендуется.
Этот атрибут определяет горизонтальное выравнивание элемента по отношению к окружающему контексту. Возможные значения:
left: строки текста выравниваются по левому краю;
center: строки текста выравниваются по центру;
right: строки текста выравниваются по правому краю;
justify: строки текста выравниваются по обоим полям.
Значение по умолчанию зависит от базового направления текста. Для направления слева направо - это align=left, для направления справа налево - по умолчанию .
НЕ РЕКОМЕНДУЕТСЯ:
Здесь заголовок центрируется.
<H1 align="center"> Что за прелесть эта мерзость! </H1>
Используя CSS (каскадные таблицы стилей), например, Вы можете достичь того же эффекта следующим образом:
<HEAD> <TITLE>Что за прелесть эта мерзость!</TITLE> <STYLE type="text/css"> H1 { text-align: center} </STYLE> <BODY> <H1> Что за прелесть эта мерзость! </H1>
Учтите, что это будет действовать на все элементы H1. Вы можете ограничить область видимости стиля, установив атрибут class элемента:
<HEAD> <TITLE>Что за прелесть эта мерзость!</TITLE> <STYLE type="text/css"> H1.wood {text-align: center} </STYLE> <BODY> <H1 class="wood"> Что за прелесть эта мерзость! </H1>
НЕ РЕКОМЕНДУЕТСЯ:
также, для того, чтобы выровнять вправо параграф на "канве" атрибутом HTML align, Вы могли бы записать:
<P align="right">...параграф текста...
что в таблице стиля могло бы быть:
<HEAD> <TITLE>Что за прелесть эта мерзость!</TITLE> <STYLE type="text/css"> P.mypar {text-align: right} </STYLE> <BODY> <P class="mypar">...параграф текста...
Содержание
Форматирование Цвет фона
Выравнивание
Плавающие объекты Всплывание объекта
Обтекание текста вокруг объекта
Шрифты
Элементы стиля шрифта: элементы TT, I,
B, BIG, SMALL, STRIKE, S и U
Элементы модификатора шрифта: FONT и BASEFONT
Горизонтальные лини: элемент HR
В этом разделе спецификации рассматриваются элементы и атрибуты HTML, которые используются для визуального форматирования элементов. Многие из них не рекомендуется применять.
Документ HTML, описывающий вывод фрэймов (называемый документ с фрэймами), имеет несколько другой состав, нежели документ HTML без фрэймов. Стандартный документ содержит один раздел HEAD и один раздел BODY. Набор фрэймов содержит раздел
HEAD, и раздел FRAMESET вместо BODY.
Раздел FRAMESET определяет вывод нескольких кадров в главном окне. Дополнительно раздел FRAMESET может содержать элемент NOFRAMES для представления альтернативного содержимого в ПА, не поддерживающих фрэймы или сконфигурированных так. чтобы не отображать фрэймы.
Элементы, которые могут быть нормально размещены в элементе
BODY, не должны появляться перед первым элементом
FRAMESET , иначе FRAMESET будет проигнорирован.
Для больших таблиц или при низкой скорости передачи данных в сети постепенное отображение таблиц частями имеет для пользователя важное значение. ПА должны иметь возможность начинать показ таблицы до того, как все данные будут получены. Стандартная ширина окна большинства ПА - 80 символов, и графика для большого количества с страниц HTML создаётся в расчёте на эти параметры. Определяя количество столбцов и предоставляя возможности управления шириной таблиц и столбцов, авторы могут подсказывать ПА, что имеется возможность отображения таблиц частями.
Для отображения по частям, браузеру нужно "знать" количество столбцов и их ширину. Ширина таблицы по умолчанию - это текущий размер окна (width="100%"). Это можно изменить установкой атрибута width элемента
TABLE. По умолчанию все столбцы имеют одинаковую ширину, но Вы можете определить ширину столбцов установкой одного или более элементов
COL перед началом данных таблицы.
Также нужно рассмотреть вопрос о количестве столбцов. Многие советуют дождаться загрузки первого ряда таблицы, но это может занять много времени, если в ячейках много данных. В целом, более правильно будет определить вывод частями, определив точно количество столбцов в элементе TABLE.
Авторам необходим способ сообщить ПА, использовать ли изображение по частям или размещать таблицу автоматически при заполнении ячеек. В двухступенчатом автоматическом режиме количество столбцов определяется на первой ступени. При отображении частями количество столбцов определяется предварительно (элементами COL
или COLGROUP).
<!ELEMENT LINK - O EMPTY -- медиа-независимая ссылка --> <!ATTLIST LINK %attrs; -- %coreattrs, %i18n, %events -- charset %Charset; #ПРЕДПОЛАГАЕТСЯ -- набор символов связанного ресурса -- href %URI; #ПРЕДПОЛАГАЕТСЯ -- URI связанного ресурса -- hreflang %LanguageCode; #ПРЕДПОЛАГАЕТСЯ -- код языка -- type %ContentType; #ПРЕДПОЛАГАЕТСЯ -- информативный тип содержимого -- rel %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- типы ссылок вперёд -- rev %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- типы ссылок назад -- media %MediaDesc; #ПРЕДПОЛАГАЕТСЯ -- для представления на данном носителе -- >
Начальный тег: необходим, Конечный тег: запрещён
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)
lang (язык), dir (направление текста)
title (название элемента)
style (инлайн-стиль)
onkeydown, onkeyup (внутренние события)
type, rel, rev (ссылки и якоря)
target (целевой фрэйм)
media (стиль "шапки")
charset(набор символов документа)
Этот элемент определяет ссылку. В отличие от A, он может появляться только в разделе HEAD
- "шапки" документа, хотя и может появляться любое количество раз. Хотя LINK
не имеет содержимого, он выражает информацию о взаимоотношениях, которая может отображаться ПА различными способами (напр., панель с выпадающим меню со ссылками).
Этот пример показывает, как различные определения LINK могут появляться в разделе HEAD
документа. Текущий документ - "Chapter2.html". Атрибут rel
специфицирует соотношение связанного документа с текущим. Значения "Index", "Next" и "Prev" разъясняются в разделе типы ссылок.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Chapter 2</TITLE> <LINK rel="Index" href="../index.html"> <LINK rel="Next" href="Chapter3.html"> <LINK rel="Prev" href="Chapter1.html"> </HEAD> ...оставшаяся часть документа...
title может быть установлен элементами A и LINK для добавления информации о ссылке. Эта информация может произноситься ПА, может быть показана как подсказка, вызывать изменение вида курсора и т.д.
Таким образом, мы можем расширить предыдущий пример, добавив заголовок к каждой ссылке:
<BODY> ...текст...
<P>Вы найдёте многое на <A href="chapter2.html" title="Go to chapter two">chapter two</A>. <A href="./chapter2.html" title="Get chapter two.">chapter two</A>. См. также здесь <A href="../images/forest.gif" title="GIF image of enchanted forest">карту леса.</A> </BODY>
<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> <!-- имеется шесть уровней заголовков: от H1 (самый верхний) до H6 (самый нижний). -->
<!ELEMENT (%heading;) - - (%inline;)* -- заголовок %attrs; -- %coreattrs, %i18n, %events -- >
Начальный тег: необходим, Конечный тег: необходим
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)
lang (язык), dir (направление текста)
title (заголовок элемента)
style (инлайн-стиль)
align (выравнивание)
onkeydown, onkeyup (внутренние события)
Элемент heading кратко описывает смысл раздела, которому он предшествует. Информация заголовка может использоваться ПА, например, для автоматического создания оглавления документа.
Имеется шесть уровней заголовков HTML: от H1 (самый крупный/верхний) до H6. Визуальные браузеры обычно отображают более значительный заголовок более крупным шрифтом.
В этом примере видно, как с помощью элемента DIV ассоциировать заголовок с разделом документа, который следует за ним. Это позволит Вам определить таблицу стилей для данного раздела (фон, шрифт и т.д.).
<DIV class="section" id="forest-elephants" > <H1>Forest elephants</H1> <P>In this section, we discuss the lesser known forest elephants. ...раздел продолжается...
<DIV class="subsection" id="forest-habitat" > <H2>Habitat</H2> <P>Forest elephants do not live in trees but among them. ...этот раздел продолжается...
</DIV> </DIV>
Эта структура может быть украшена с помощью таблицы стилей:
<HEAD> <TITLE>... заголовок документа ...</TITLE> <STYLE type="text/css"> DIV.section { text-align: justify; font-size: 12pt} DIV.subsection { text-indent: 2em } H1 { font-style: italic; color: green } H2 { color: green } </STYLE> </HEAD>
Нумерованные разделы и ссылки.
HTML сам по себе не генерирует номера разделов в соответствии с заголовками. Это может, однако, выполняться некоторыми ПА. В ближайшем будущем языки таблиц стилей, такие как CSS, позволят авторам управлять генерацией заголовков разделов (что может пригодиться для создания ссылок в печатных документах (см. раздел 7.2).
Некоторые считают скрывание уровней заголовков плохой практикой. Они принимают H1 H2 H1 не принимают H1 H3 H1, поскольку во втором случае заголовок уровня H2 пропущен.
<!ELEMENT CAPTION - - (%inline;)* -- заголовок таблицы -->
<!ATTLIST CAPTION %attrs; -- %coreattrs, %i18n, %events -- >
Начальный тег: необходим, Конечный тег: необходим
Определение атрибута
align =
[CI]
Не рекомендуется.
Для визуальных ПА этот атрибут определяет положение заголовка относительно таблицы. Возможные значения:
top: заголовок сверху над таблицей. Это значение по умолчанию;
bottom: заголовок снизу под таблицей;
left: заголовок слева от таблицы;
right: заголовок справа от таблицы.
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)
lang (язык), dir (направление текста)
title (заголовок элемента)
style (инлайн-стиль)
onkeydown, onkeyup (внутренние события)
Если элемент CAPTION присутствует, текст должен описывать сущность таблицы. Элемент CAPTION допускается только непосредственно после начального тега TABLE. Элемент TABLE может содержать только один элемент CAPTION.
Визуальные ПА позволяют зрячим людям разом охватить структуру таблицы, начиная с "шапки". Следствием этого может быть то, что заголовок часто не отражает общее назначение и структуру таблицы для тех, кто просматривает её в невизуальных ПА.
По этой причине авторы должны позаботиться о предоставлении дополнительной информации, суммирующей назначение и структуру таблицы, используя атрибут summary элемента TABLE. Это особенно важно для таблиц без заголовка. Данные ниже примеры иллюстрируют использование атрибута summary.
Визуальные ПА должны исключить усечение любой части таблицы, в том числе и заголовка, если только нет цели обеспечить доступ ко всей таблице целиком, например, с помощью горизонтальной или вертикальной прокрутки. Мы рекомендуем, чтобы текст заголовка был расположен на ту же ширину, что и таблица (см. также раздел рекомендуемый алгоритм вывода).
Информационные примечания выделены из окружающего текста и могут быть обработаны некоторыми браузерами.
Все примеры, иллюстрирующие не рекомендуемые к использованию элементы и др., помечены так: "НЕ РЕКОМЕНДУЕТСЯ". Такие возражения также включают рекомендации по разрешению проблемы.
Все примеры, иллюстрирующие неверное использование обозначены "НЕВЕРНОЕ ИСПОЛЬЗОВАНИЕ".
Примеры и замечания выделены верхним регистром и могут быть обработаны некоторыми пользовательскими браузерами.
Иногда, вместо того, чтобы ссылаться
на документ, автор может захотеть встроить объект непосредственно в основной документ HTML. Для этого авторы могут использовать элементы
IFRAME или OBJECT, но эти элементы отличаются друг от друга. Они не только имеют разные модели содержимого; элемент IFRAME может быть целевым фрэймом (см. детали в определении информации целевого фрэйма) и может быть "выбран" пользовательским агентом как фокус для печати, просмотра текста-источника HTML и т.д. ПА могут отображать выбранные фрэймы не так, как невыбранные (например, прорисовкой рамки вокруг выбранного фрэйма).
полностью независим от документа, в который он внедрён. Например, относительные URI внутри внедрённого документа разрешаются
в соответствии с базовым URI внедрённого документа, а не с базовым URI главного документа. Внедрённый документ отображается только внутри другого документа (напр., в дочернем окне), в то же время, он остаётся независимым.
К примеру, следующие строки внедряют содержимое файла
embed_me.html в то место, где появляется определение OBJECT:
...текст до...
<OBJECT data="embed_me.html"> Warning: embed_me.html could not be embedded. </OBJECT> ...текст после...
Напоминаем, что содержимое OBJECT должно отображаться только в том случае, если файл, определённый в атрибуте data не может быть загружен.
Поведение ПА в тех случаях, когда файл внедряет сам себя, не определено.
Если текст HTML передаётся в кодировке UTF-16 (charset=UTF-16), данные текста должны передаваться в сетевом порядке байтов ("big-endian", старший байт - первый) в соответствии с [ISO10646], раздел 6.3 и [UNICODE], пункт C3, страница 3-1.
Кроме того, для того, чтобы увеличить шансы правильной интерпретации документа, рекомендуется, чтобы документ, передаваемый как UTF-16, всегда начинался символом ZERO-WIDTH NON-BREAKING SPACE (шестнадцатеричная FEFF, называемая также Byte Order Mark (BOM)), которая при перестановке байтов становится FFFE, символом, гарантирующим, что он никогда не будет установлен. Таким образом, браузер пользователя, получив FFFE как первый байт текста, сможет определить, что этот байт зарезервирован для напоминания о кодировке UTF-16.
UTF-1 формат трансформации [ISO10646] (зарегистрированный IANA как ISO-10646-UTF-1), не должен использоваться.
Об ISO 8859-8 и двунаправленном алгоритме см. раздел двунаправленность и кодировка символов.
Иногда необходимо предотвратить обрыв строки между двумя словами. (мнемоники   или  ) действует как пробел, в котором ПА не может вставить обрыв строки.
Если данные сценария или стиля являются значением атрибута (атрибуты style
или внутренние события), авторы должны избегать появления ограничивающих одинарных или двойных кавычек внутри значений в соответствии с соглашением по языку стиля или сценария. Авторы должны также избегать применения "&", если "&" не является началом ссылки-мнемоники.
'"' должно быть записано """ или """'&' должно быть записано "&" или "&"
Таким образом, например, можно записать:
<INPUT name="num" value="0" onchange="if (compare(this.value, "help")) {gethelp()}">