Модель
Каждая CAPTION ), представляющий краткое описание назначения summary ) для использования в ПА по системе Брайля.
head, и body (элементами THEAD, TFOOT и TBODY соответственно). head/body/ для поддержки прокрутки раздела body независимо от разделов head и . Если распечатываются большие head и информация может повторяться на каждой странице с данными
Авторы могут также группировать COLGROUP и COL ) таким образом, чтобы дать ПА возможность просматривать
Ячейки TH ), или "data" (см. элемент TD ). Ячейки могут занимать несколько
Вот простая
Следующее определение
<TABLE border="1"
summary="This table gives some statistics about fruit
flies: average height and weight, and percentage
with red eyes (for both males and females).">
<CAPTION><EM>A test table with merged cells</EM></CAPTION>
<TR><TH rowspan="2"><TH colspan="2">Average
<TH rowspan="2">Red<BR>eyes
<TR><TH>height<TH>weight
<TR><TH>Males<TD>1.9<TD>0.003<TD>40%
<TR><TH>Females<TD>1.7<TD>0.002<TD>43%
</TABLE>
может отображаться на устройстве
A test table with merged cells /-----------------------------------------\ | | Average | Red | | |-------------------| eyes | | | height | weight | | |-----------------------------------------| | Males | 1.9 | 0.003 | 40% | |-----------------------------------------| | Females | 1.7 | 0.002 | 43% | \-----------------------------------------/
или так в графическом ПА:
| Red eyes | |||
|---|---|---|---|
| height | |||
| Males | 1.9 | 0.003 | 40% |
| Females | 1.7 | 0.002 | 43% |
<!ELEMENT TABLE - -
(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
<!ATTLIST TABLE -- элемент table --
%attrs; -- %coreattrs, %i18n, %events --
summary %Text; #ПРЕДПОЛАГАЕТСЯ -- назначение/структура для речевого вывода --
width %Length; #ПРЕДПОЛАГАЕТСЯ -- ширина таблицы --
border %Pixels; #ПРЕДПОЛАГАЕТСЯ -- толщина рамки вокруг таблицы --
frame %TFrame; #ПРЕДПОЛАГАЕТСЯ -- какие части фрэйма отображать --
rules %TRules; #ПРЕДПОЛАГАЕТСЯ -- линии между рядами и столбцами --
cellspacing %Length; #ПРЕДПОЛАГАЕТСЯ -- расстояние между ячейками --
cellpadding %Length; #ПРЕДПОЛАГАЕТСЯ -- расстояние между
рамкой ячейки и её содержимым --
>
Определения атрибутов
summary = text [CS]
Определяет общую информацию о назначении и структуре
align = left|center|right [CI]
Не рекомендуется. Этот атрибут определяет положение
left: влево;center: по центру документа;right: справа.width = length [CN]
Определяет необходимую ширину всей
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)lang (язык), dir ( title (заголовок элемента)style (инлайн-стиль)onclick, ondblclick , onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (bgcolor (цвет фона)frame, rules, border ( cellspacing, cellpadding (поля ячейки)Элемент TABLE содержит все другие элементы, определяющие заголовок
Следующая информация описывает, какие операции ПА могут выполнять при отображении
TR, содержащихся в элементе TABLE.Модель
Для того, чтобы ПА форматировали
Более точно ПА может отображать COLGROUP и COL. Если какие-либо
dir элемента TABLE.
Для
Когда ПА добавляет дополнительные ячейки в
Обратите внимание, что TABLE - это единственный элемент, в котором dir резервирует визуальный порядок TR )или COLGROUP ) не могут быть независимо зарезервированы.
При установке для элемента TABLE, атрибут dir также влияет на dir наследуется элементами уровня блока).
Для определения dir так:
<TABLE dir="RTL"> ...таблица... </TABLE>
dir в том элементе, который определяет ячейку. См. раздел двунаправленный текст.
<!ELEMENT CAPTION - - (%inline;)* -- заголовок таблицы --> <!ATTLIST CAPTION %attrs; -- %coreattrs, %i18n, %events -- >
Определение атрибута
align = top|bottom|left|right [CI]
Не рекомендуется. Для визуальных ПА этот атрибут определяет положение заголовка относительно
top: заголовок сверху над bottom: заголовок снизу под left: заголовок слева от right: заголовок справа от Атрибуты, определённые в другом месте
id, class (идентификаторы документа)lang (язык), dir ( title (заголовок элемента)style (инлайн-стиль)onclick, ondblclick , onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (Если элемент CAPTION присутствует, текст должен описывать сущность CAPTION допускается только непосредственно после начального тега TABLE. Элемент TABLE может содержать только один элемент CAPTION.
Визуальные ПА позволяют зрячим людям разом охватить структуру
По этой причине авторы должны позаботиться о предоставлении дополнительной информации, суммирующей назначение и структуру summary элемента TABLE. Это особенно важно для summary.
Визуальные ПА должны исключить
<!ELEMENT THEAD - O (TR)+ -- "шапка" таблицы --> <!ELEMENT TFOOT - O (TR)+ -- футер таблицы -->
<!ELEMENT TBODY O O (TR)+ -- тело таблицы -->
<!ATTLIST (THEAD|TBODY|TFOOT) -- раздел таблицы -- %attrs; -- %coreattrs, %i18n, %events -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- >
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)lang (язык), dir ( title (заголовок элемента)style (инлайн-стиль)onclick, ondblclick , onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (align, char, charoff, valign ( THEAD, TFOOT и TBODY соответственно. Это разделение делает возможным для ПА поддерживать прокрутку тела
"Шапка" и футер
Если элементы THEAD, TFOOT и TBODY установлены, каждый из них содержит
Каждая TR.
Этот пример иллюстрирует порядок и структуру "шапки", футера и тела
<TABLE>
<THEAD>
<TR> ...информация "шапки"...
</THEAD>
<TFOOT>
<TR> ...информация футера...
</TFOOT>
<TBODY>
<TR> ...первый ряд данных блока 1...
<TR> ...второй ряд данных блока 1...
</TBODY>
<TBODY>
<TR> ...первый ряд данных блока 2...
<TR> ...второй ряд данных блока 2...
<TR> ...третий ряд данных блока 2...
</TBODY>
</TABLE>
TFOOT должен появляться перед TBODY внутри определения TABLE так, чтобы ПА могли отобразить футер до получения (возможно, многочисленных)
TBODY необходим всегда, за исключением случаев, когда TBODY всегда может быть спокойно пропущен;THEAD и TFOOT необходим, если соответственно присутствуют разделы "шапки" и футера, но соответствующие конечные теги всегда могут быть пропущены без последствий.Соответствующие требованиям разборщики
<TABLE>
<THEAD>
<TR> ...информация "шапки"...
<TFOOT>
<TR> ...информация футера...
<TBODY>
<TR> ...первый ряд данных блока 1...
<TR> ...второй ряд данных блока 1...
<TBODY>
<TR> ...первый ряд данных блока 2...
<TR> ...второй ряд данных блока 2...
<TR> ...третий ряд данных блока 2...
</TABLE>
Разделы THEAD, TFOOT и TBODY должны содержать одинаковое количество
rules элемента TABLE ). См. пример визуального представления
COLGROUP, разграничивающих COLGROUP ).
Элемент COL позволяет авторам разделять использование атрибутов среди нескольких " элемента COL это количество
<!ELEMENT COLGROUP - O (COL)* -- группа столбцов таблицы --> <!ATTLIST COLGROUP %attrs; -- %coreattrs, %i18n, %events -- span NUMBER 1 -- количество по умолчанию столбцов в группе -- width %MultiLength; #ПРЕДПОЛАГАЕТСЯ -- ширина по умолчанию для COL, входящих в группу -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- >
Определения атрибутов
Должен быть целым числом > 0, определяет количество
span , каждый COLGROUP определяет span установлен в N > 0, текущий элемент COLGROUP определяет N ПА должны игнорировать этот атрибут, если элемент COLGROUP содержит один или более элементов COL.
width = multi-length [CN]
Этот атрибут определяет ширину по умолчанию для каждого 0* " (нулевая звёздочка), которая означает, что ширина каждого 0* " будет предупреждать визуальные ПА, что
Этот атрибут переопределяется для любого width определён в элементе COL.
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)lang (язык), dir ( title (заголовок элемента)style (инлайн-стиль)onclick, ondblclick , onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (align, char, charoff, valign ( Элемент COLGROUP явно определяет
span элемента (значение по умолчанию 1) определяет количество COL в COLGROUP представляет один или более Преимуществом использования атрибута является то, что авторы могут группировать информацию о ширине
<COLGROUP span="40" width="20"> </COLGROUP>
вместо:
<COLGROUP> <COL width="20"> <COL width="20"> ...и так все 40 элементов COL... </COLGROUP>
Если необходимо выделить COL. Так, чтобы применить специальную информацию стиля к последнему
<COLGROUP width="20"> <COL span="39"> <COL id="format-me-specially"> </COLGROUP>
Атрибут width элемента COLGROUP наследуется всеми 40 COL ссылается на первые 39 id сороковому
<TABLE> <COLGROUP span="10" width="50"> <COLGROUP span="5" width="0*"> <THEAD> <TR><TD> ... </TABLE>
<!ELEMENT COL - O EMPTY -- столбец таблицы --> <!ATTLIST COL -- группы и свойства столбца -- %attrs; -- %coreattrs, %i18n, %events -- span NUMBER 1 -- атрибуты COL действуют на N столбцов -- width %MultiLength; #ПРЕДПОЛАГАЕТСЯ -- ширина столбца -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- >
Определения атрибутов
Значением должно быть целое число > 0, определяющее количество COL ; элемент COL использует свои атрибуты совместно со всеми COL ссылается на один установлен в N > 1, текущий элемент COL использует свои атрибуты совместно со следующими N-1
width = multi-length [CN]
Определяет ширину по умолчанию каждого COL. Этот атрибут имеет то же самое значение, что и атрибут width элемента COLGROUP, и переопределяет его.
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)lang (язык), dir ( title (заголовок элемента)style (инлайн-стиль)onclick, ondblclick , onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (align, char, charoff, valign ( Элемент COL позволяет авторам группировать спецификации COL не группирует COLGROUP. Элементы COL - пустые и служат только для поддержки атрибутов. Они могут появляться внутри или вне конкретной COLGROUP ).
Атрибут width элемента COL ссылается на ширину каждого
Есть два способа определить количество
Если элемент TABLE содержит какие-либо элементы COLGROUP или COL, ПА должны подсчитывать количество
COL берётся значение его атрибута span (по умолчанию 1).COLGROUP, содержащем не менее одного элемента COL, игнорируется атрибут span элемента COLGROUP. В каждом элементе COL выполняется первый шаг.COLGROUP берётся значение его атрибута (значение по умолчанию 1).TABLE не содержит элементов COLGROUP или COL, ПА должен базировать количество Считается ошибкой, если COLGROUP или COL, и два подсчёта не дают одинакового количества
После того, как ПА подсчитал количество
Например, для каждой из следующих
<TABLE> <COLGROUP span="3"></COLGROUP> <TR><TD> ... ...ряды... </TABLE> <TABLE> <COLGROUP> <COL> <COL span="2"> </COLGROUP> <TR><TD> ... ...ряды... </TABLE> <TABLE> <COLGROUP> <COL> </COLGROUP> <COLGROUP span="2"> <TR><TD> ... ...ряды... </TABLE> <TABLE> <TR> <TD><TD><TD> </TR> </TABLE>
Авторы могут установить ширину
Fixed
Фиксированная ширина, определяется в пикселах (напр., width="30" ). Делает возможным отображение частями.
Percentage
В процентах (напр., width="20%" ). Процентное соотношение на базе доступного горизонтального пространства
Proportional
Пропорциональное (напр., width="3*" ) ссылается на часть горизонтального пространства, необходимого для таблицы. Если ширина width элемента TABLE, ПА должны отображать
Однако, если
Если автор не даёт информации о ширине
Если ширина
Следующая width элемента TABLE.
Как только (визуальный) ПА получит данные
Сначала ПА выделит по 30 пикселов
Затем резервируется минимальное пространство, необходимое для
Оставшееся горизонтальное пространство делится на шесть равных частей (поскольку 2* + 1* + 3* = 6).
<TABLE> <COLGROUP> <COL width="30"> <COLGROUP> <COL width="30"> <COL width="0*"> <COL width="2*"> <COLGROUP align="center"> <COL width="1*"> <COL width="3*" align="char" char=":"> <THEAD> <TR><TD> ... ...ряды... </TABLE>
Мы установили значение атрибута :".
В следующей
<TABLE width="200"> <COLGROUP span="10" width="15"> <COLGROUP width="*"> <COL id="penultimate-column"> <COL id="last-column"> <THEAD> <TR><TD> ... ...ряды... </TABLE>
Первые 10 COL появляются именно так, поскольку значение id может быть определено для двух последних
width элемента TABLE и не "не рекомендуется", авторам следует использовать <!ELEMENT TR - O (TH|TD)+ -- ряд таблицы --> <!ATTLIST TR -- ряд таблицы -- %attrs; -- %coreattrs, %i18n, %events -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- >
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)lang (язык), dir ( title (заголовок элемента)style (инлайн-стиль)onclick, ondblclick , onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (bgcolor (цвет фона)align, char, charoff, valign ( Элемент TR действует как контейнер для
Образец TR:
<TABLE summary="This table charts the number of cups
of coffee consumed by each senator, the type
of coffee (decaf or regular), and whether
taken with sugar.">
<CAPTION>Cups of coffee consumed by each senator</CAPTION>
<TR> ...заголовочный ряд...
<TR> ...1 ряд данных...
<TR> ...2 ряд данных...
...остальная часть таблицы...
</TABLE>
<!ELEMENT (TH|TD) - O (%flow;)* -- ячейка заголовочная|данных --> <!-- Область видимости проще, чем атрибуты заголовков обычных таблиц --> <!ENTITY % Scope "(row|col|rowgroup|colgroup)"> <!-- TH - для заголовков, TD - для данных, но для ячеек, работающих и так, и так, используйте TD --> <!ATTLIST (TH|TD) -- ячейка заголовочная|данных -- %attrs; -- %coreattrs, %i18n, %events -- abbr %Text; #ПРЕДПОЛАГАЕТСЯ -- аббревиатура для заголовочной ячейки -- axis CDATA #ПРЕДПОЛАГАЕТСЯ -- список разделённых запятыми относительных заголовков-- headers IDREFS #ПРЕДПОЛАГАЕТСЯ -- список id заголовочных ячеек -- scope %Scope; #ПРЕДПОЛАГАЕТСЯ -- область видимости заголовочных ячеек -- rowspan NUMBER 1 -- количество рядов, охваченных ячейкой -- colspan NUMBER 1 -- количество столбцов, охваченных ячейкой -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- >
Определения атрибутов
headers =
Определяет список id.
Авторы обычно используют атрибут headers для того, чтобы помочь невизуальным ПА представить заголовочную информацию о .
Определяет набор headers, особенно в простых
row: текущая ячейка предоставляет заголовочную информацию для оставшейся части col: текущая ячейка предоставляет заголовочную информацию для оставшейся части rowgroup: colgroup: Этот атрибут должен использоваться для представления содержимого ячейки в сокращённой форме и может выводиться ПА, если это удобно, вместо содержимого ячейки. Сокращённые имена должны быть краткими, поскольку ПА могут отображать их повторно.
Например, голосовые синтезаторы могут выводить сокращённые заголовки до вывода содержимого этих ячеек.
Этот атрибут может использоваться для помещения ячейки в концептуальные категории, которые можно представить в виде осей в n-размерном пространстве. ПА могут дать пользователям доступ к этим категориям (напр., пользователь может запросить у ПА все ячейки, принадлежащие к определённым категориям, ПА может представить
rowspan = number [CN]
Определяет количество THEAD, TBODY или TFOOT ), в котором ячейка определена.
colspan = number [CN]
Определяет количество COLGROUP ), в которой ячейка определена.
nowrap [CI]
Не рекомендуется. Если установлен, этот
Примечание. При неосторожном использовании, этот атрибут может вызвать появление слишком широких ячеек.
width = length [CN]
Не рекомендуется. Сообщает в ПА рекомендуемую ширину ячейки.
height = length [CN]
Не рекомендуется. Сообщает в ПА рекомендуемую высоту ячейки.
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)lang (язык), dir ( title (заголовок элемента)style (инлайн-стиль)onclick, ondblclick , onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (bgcolor (цвет фона)align, char, charoff, valign ( Ячейки
Элемент TH определяет ячейку, содержащую заголовочную информацию. Для ПА доступно две части заголовочной информации: содержимое элемента TH и значение атрибута . ПА должны выводить или содержимое ячейки, или значение атрибута .
Для визуальных носителей последнее более предпочтительно, когда не хватает пространства для вывода полного содержимого ячейки. В невизуальных носителях может использоваться как сокращённая форма заголовков
Атрибуты headers и также позволяют авторам облегчать невизуальным ПА обработку заголовочной информации. См. дополнительную информацию и примеры: пометка ячеек для невизуальных ПА.
Элемент TD определяет
Ячейки могут быть пустыми (т.е. не содержать данных).
Например, следующая
<TABLE summary="This table charts the number of cups
of coffee consumed by each senator, the type
of coffee (decaf or regular), and whether
taken with sugar.">
<CAPTION>Cups of coffee consumed by each senator</CAPTION>
<TR>
<TH>Name</TH>
<TH>Cups</TH>
<TH>Type of Coffee</TH>
<TH>Sugar?</TH>
<TR>
<TD>T. Sexton</TD>
<TD>10</TD>
<TD>Espresso</TD>
<TD>No</TD>
<TR>
<TD>J. Dinnen</TD>
<TD>5</TD>
<TD>Decaf</TD>
<TD>Yes</TD>
</TABLE>
Вывод ПА для устройства
Name Cups Type of Coffee Sugar? T. Sexton 10 Espresso No J. Dinnen 5 Decaf Yes
Ячейки могут занимать несколько rowspan и colspan в элементах TH и TD.
В этом определении
<TABLE border="1"> <CAPTION>Cups of coffee consumed by each senator</CAPTION> <TR><TH>Name<TH>Cups<TH>Type of Coffee<TH>Sugar? <TR><TD>T. Sexton<TD>10<TD>Espresso<TD>No <TR><TD>J. Dinnen<TD>5<TD>Decaf<TD>Yes <TR><TD>A. Soria<TD colspan="3"><em>Not available</em> </TABLE>
Вывод ПА этой
Cups of coffee consumed by each senator -------------------------------------- | Name |Cups|Type of Coffee|Sugar?| -------------------------------------- |T. Sexton|10 |Espresso |No | -------------------------------------- |J. Dinnen|5 |Decaf |Yes | -------------------------------------- |A. Soria |Not available | --------------------------------------
Следующий пример иллюстрирует (с помощью обрамления
<TABLE border="1"> <TR><TD>1 <TD rowspan="2">2 <TD>3 <TR><TD>4 <TD>6 <TR><TD>7 <TD>8 <TD>9 </TABLE>
Ячейка "2" занимает первый и второй TD во втором
------------- | 1 | 2 | 3 | ----| |---- | 4 | | 6 | ----|---|---- | 7 | 8 | 9 | -------------
а в графическом ПА - так:
| 1 | 2 | 3 |
| 4 | 6 | |
| 7 | 8 | 9 |
Обратите внимание, что если TD, определяющий ячейку "6", опущен, дополнительная пустая ячейка будет добавлена ПА для заполнения
Так же и в следующем определении
<TABLE border="1"> <TR><TD>1 <TD>2 <TD>3 <TR><TD colspan="2">4 <TD>6 <TR><TD>7 <TD>8 <TD>9 </TABLE>
ячейка "4" занимает два TD в
------------- | 1 | 2 | 3 | --------|---- | 4 | 6 | --------|---- | 7 | 8 | 9 | -------------
Графический ПА может вывести это так:
| 1 | 2 | 3 |
| 4 | 6 | |
| 7 | 8 | 9 |
Определение перекрывающихся ячеек является ошибкой. ПА могут по разному обрабатывать такие ошибки (напр., вывод может различаться).
Следующий пример НЕВЕРНОГО ИСПОЛЬЗОВАНИЯ показывает, как могут создаваться перекрывающиеся ячейки. В этой <TABLE border="1"> <TR><TD>1 <TD>2 <TD>3 <TR><TD>4 <TD rowspan="2">5 <TD>6 <TR><TD colspan="2">7 <TD>9 </TABLE> |
HTML 4 содержит механизмы управления:
Следующие атрибуты влияют на отображение
Определения атрибутов
frame = void|above|below|hsides|lhs|rhs|vsides|box|border [CI]
Этот атрибут определяет, какие стороны
void: не отображается. Это значение по умолчанию;above: только верхняя часть;below: только нижняя часть;hsides: только верхняя и нижняя;vsides: только правая и левая;lhs: только левая;rhs: только правая;box: все четыре стороны;border: все четыре стороны.rules = none|groups|rows|cols|all [CI]
Определяет, какие линии появятся между ячейками. Вывод зависит от ПА. Возможные значения:
none: не отображаются. значение по умолчанию;groups: только линии между THEAD, TFOOT и TBODY ) и COLGROUP и COL );rows: только линии между cols: только линии между all: линии между всеми border = pixels [CN]
Определяет ширину (только в пикселах)
Чтобы выделить ячейки border элемента TABLE. Рассмотрим предыдущий пример:
<TABLE border="1"
summary="This table charts the number of cups
of coffee consumed by each senator, the type
of coffee (decaf or regular), and whether
taken with sugar.">
<CAPTION>Cups of coffee consumed by each senator</CAPTION>
<TR>
<TH>Name</TH>
<TH>Cups</TH>
<TH>Type of Coffee</TH>
<TH>Sugar?</TH>
<TR>
<TD>T. Sexton</TD>
<TD>10</TD>
<TD>Espresso</TD>
<TD>No</TD>
<TR>
<TD>J. Dinnen</TD>
<TD>5</TD>
<TD>Decaf</TD>
<TD>Yes</TD>
</TABLE>
В следующем примере ПА должен вывести линии толщиной 5 пикселов слева и справа от
<TABLE border="5" frame="vsides" rules="cols"> <TR> <TD>1 <TD>2 <TD>3 <TR> <TD>4 <TD>5 <TD>6 <TR> <TD>7 <TD>8 <TD>9 </TABLE>
Следующие установки должны учитываться ПА для обеспечения
border="0" подразумевает frame="void" и, если не определено иное, rules="none".border подразумевают frame="border" и, если не определено иное, rules="all"."border" в начальном теге элемента TABLE должно интерпретироваться как значение атрибута frame. Это подразумевает rules="all" и какое-либо (ненулевое) значение по умолчанию атрибута border.Например, следующие определения эквивалентны:
<TABLE border="2"> <TABLE border="2" frame="border" rules="all">
как и следующие:
<TABLE border> <TABLE frame="border" rules="all">
border определяет поведение обрамления для элементов OBJECT и IMG, но принимает для этих элементов разные значения.Следующие атрибуты могут быть установлены для различных элементов
<!-- атрибуты горизонтального выравнивания содержимого ячейки --> <!ENTITY % cellhalign "align (left|center|right|justify|char) #IMPLIED char %Character; #ПРЕДПОЛАГАЕТСЯ -- символ выравнивания, например, char=':' -- charoff %Length; #ПРЕДПОЛАГАЕТСЯ -- offset символа выравнивания --" > <!-- атрибуты вертикального выравнивания содержимого ячейки --> <!ENTITY % cellvalign "valign (top|middle|bottom|baseline) #IMPLIED" >
Определения атрибутов
align = left|center|right|justify|char [CI]
Этот атрибут определяет горизонтальное
left: влево - данные/текст влево. Значение по умолчанию для данных center: по центру - данные/текст по центру. Это значение по умолчанию для заголовков right: вправо - данные/текст вправо;justify: char: valign = top|middle|bottom|
Этот атрибут определяет вертикальное
top: по верху ячейки;middle: по центру ячейки. Это значение по умолчанию;bottom: по нижней границе ячейки;baseline : все ячейки в том же valign, должны установить свои текстовые данные так, чтобы первая строка текста появлялась на char = character [CN]
Этот атрибут определяет одиночный символ во фрагменте текста, служащий осью
charoff = length [CN]
Если установлен, этот атрибут определяет offset/отсутствие первого в каждой строке символа
Если charoff используется для установки офсета символа dir ). В текстах слева-направо (по умолчанию) офсет слева. В текстах справа налево офсет справа. От ПА не требуется поддерживать данный атрибут.
В этой
<TABLE border="1"> <COLGROUP> <COL><COL align="char" char="."> <THEAD> <TR><TH>Vegetable <TH>Cost per kilo <TBODY> <TR><TD>Lettuce <TD>$1 <TR><TD>Silver carrots <TD>$10.50 <TR><TD>Golden turnips <TD>$100.30 </TABLE>
Форматирование может выглядеть примерно так:
------------------------------ | Vegetable |Cost per kilo| |--------------|-------------| |Lettuce | $1 | |--------------|-------------| |Silver carrots| $10.50| |--------------|-------------| |Golden turnips| $100.30| ------------------------------
Если в содержимом ячейки есть более одного символа char, и строки содержимого переносятся, поведение ПА не определено. Поэтому авторы должны быть внимательны при использовании char.
TH сцентрированными в ячейке вертикально и горизонтально и полужирным шрифтом.Приоритет (от высшего к низшему) атрибутов align, char и charoff:
P ).TH и TD ).COL и COLGROUP ). Если ячейка является частью блока, охватывающего несколько TR, THEAD, TFOOT и TBODY ). Если ячейка является частью блока, охватывающего несколько TABLE ).Приоритет (от высшего к низшему) для атрибута valign (как и для других наследуемых атрибутов lang, dir, и style ):
P ).TH и TD ).TR, THEAD, TFOOT и TBODY ). Если ячейка является частью блока, охватывающего несколько COL и COLGROUP ). Если ячейка является частью блока, охватывающего несколько TABLE ).Таким образом, при выводе ячеек горизонтальное
Значение "left" во всех случаях).
ПА, не поддерживающие значение "justify" атрибута align, должны вместо этого использовать наследуемое
span ). Это является исключением из общих правил наследования.Определения атрибутов
cellspacing = length [CN]
Определяет, какое пространство ПА должен выделять между левым обрезом
cellpadding = length [CN]
Определяет размер свободного пространства между обрамлением ячейки и её содержимым. Если значением этого атрибута является размер в пикселах, все четыре поля должны быть этого размера. Если значением этого атрибута является размер в процентах, верхняя и нижняя границы должны быть равно удалены от содержимого на базе процентного отношения в пределах доступного вертикального пространства, а левая и правая границы должны быть равно удалены от содержимого на базе процентного отношения в пределах доступного горизонтального пространства.
Эти два атрибута управляют полями между ячейками и внутри них. Следующий рисунок поясняет эти соотношения:

В следующем примере атрибут cellspacing определяет, что ячейки должны отделяться друг от друга и от cellpadding определяет, что верхняя и нижняя границы ячейки отделяются от содержимого полями размером 10% доступного вертикального пространства (всего составляющего 20%). Таким же образом левая и правая границы ячейки отделяются от содержимого полями размером 10% доступного горизонтального пространства (всего составляющего 20%).
<TABLE cellspacing="20" cellpadding="20%"> <TR> <TD>Data1 <TD>Data2 <TD>Data3 </TABLE>
Если cellspacing и cellpadding могут потребовать больше пространства, чем назначено. ПА могут дать этим атрибутам преимущество перед атрибутом width, если возникнет конфликт.
Невизуальные ПА, такие как голосовые синтезаторы и Брайль-устройства, могут использовать следующие атрибуты элементов TD и TH, чтобы выводить
headers содержит список ячеек, предоставляющих заголовочную информацию. Для этого каждая id. Обратите внимание, что не всегда возможно провести чёткую грань между данными и заголовками в ячейках. Вы должны использовать элемент TD для таких ячеек вместе с атрибутом id или scope , как удобнее.scope сообщает ПА о headers в зависимости от того, что более подходит; оба эти атрибута выполняют одну и ту же функцию. Атрибут headers нужен обычно, если заголовки помещены в необычную позицию по отношению к данным, к которым они применяются.abbr определяет сокращённую форму В следующем примере мы назначаем заголовочную информацию ячейке установкой атрибута headers. Каждая ячейка в том же id ).
<TABLE border="1"
summary="This table charts the number of cups
of coffee consumed by each senator, the type
of coffee (decaf or regular), and whether
taken with sugar.">
<CAPTION>Cups of coffee consumed by each senator</CAPTION>
<TR>
<TH id="t1">Name</TH>
<TH id="t2">Cups</TH>
<TH id="t3" abbr="Type">Type of Coffee</TH>
<TH id="t4">Sugar?</TH>
<TR>
<TD headers="t1">T. Sexton</TD>
<TD headers="t2">10</TD>
<TD headers="t3">Espresso</TD>
<TD headers="t4">No</TD>
<TR>
<TD headers="t1">J. Dinnen</TD>
<TD headers="t2">5</TD>
<TD headers="t3">Decaf</TD>
<TD headers="t4">Yes</TD>
</TABLE>
Голосовой синтезатор может выводить эту
Caption: Cups of coffee consumed by each senator
Summary: This table charts the number of cups
of coffee consumed by each senator, the type
of coffee (decaf or regular), and whether
taken with sugar.
Name: T. Sexton, Cups: 10, Type: Espresso, Sugar: No
Name: J. Dinnen, Cups: 5, Type: Decaf, Sugar: Yes
Обратите внимание, как заголовок "Type of Coffee" сокращён до "Type" с использованием атрибута .
Это тот же самый пример, в котором атрибут заменил атрибут headers. Заметьте, что значение "col" атрибута означает "все ячейки текущего
<TABLE border="1"
summary="This table charts the number of cups
of coffee consumed by each senator, the type
of coffee (decaf or regular), and whether
taken with sugar.">
<CAPTION>Cups of coffee consumed by each senator</CAPTION>
<TR>
<TH scope="col">Name</TH>
<TH scope="col">Cups</TH>
<TH scope="col" abbr="Type">Type of Coffee</TH>
<TH scope="col">Sugar?</TH>
<TR>
<TD>T. Sexton</TD>
<TD>10</TD>
<TD>Espresso</TD>
<TD>No</TD>
<TR>
<TD>J. Dinnen</TD>
<TD>5</TD>
<TD>Decaf</TD>
<TD>Yes</TD>
</TABLE>
Вот несколько более сложный пример, иллюстрирующий другие значения атрибута :
<TABLE border="1" cellpadding="5" cellspacing="2"
summary="History courses offered in the community of
Bath arranged by course name, tutor, summary,
code, and fee">
<TR>
<TH colspan="5" scope="colgroup">Community Courses -- Bath Autumn 1997</TH>
</TR>
<TR>
<TH scope="col" abbr="Name">Course Name</TH>
<TH scope="col" abbr="Tutor">Course Tutor</TH>
<TH scope="col">Summary</TH>
<TH scope="col">Code</TH>
<TH scope="col">Fee</TH>
</TR>
<TR>
<TD scope="row">After the Civil War</TD>
<TD>Dr. John Wroughton</TD>
<TD>
The course will examine the turbulent years in England
after 1646. <EM>6 weekly meetings starting Monday 13th
October.</EM>
</TD>
<TD>H27</TD>
<TD>pound;32</TD>
</TR>
<TR>
<TD scope="row">An Introduction to Anglo-Saxon England</TD>
<TD>Mark Cottle</TD>
<TD>
One day course introducing the early medieval
period reconstruction the Anglo-Saxons and
their society. <EM>Saturday 18th October.</EM>
</TD>
<TD>H28</TD>
<TD>pound;18</TD>
</TR>
<TR>
<TD scope="row">The Glory that was Greece</TD>
<TD>Valerie Lorenz</TD>
<TD>
Birthplace of democracy, philosophy, heartland of theater, home of
argument. The Romans may have done it but the Greeks did it
first. <EM>Saturday day school 25th October 1997</EM>
</TD>
<TD>H30</TD>
<TD>pound;18</TD>
</TR>
</TABLE>
Графический ПА может вывести это так:
| Community | ||||
|---|---|---|---|---|
| Summary | Code | Fee | ||
| After the Civil War | Dr. John Wroughton | The |
H27 | $$\pounds$$ 32 |
| An Introduction to Anglo-Saxon England | Mark Cottle | One day |
H28 | $$\pounds$$ 18 |
| The Glory that was Greece | Valerie Lorenz | Birthplace of democracy, philosophy, heartland of theater, home of |
H30 | $$\pounds$$ 18 |
Обратите внимание на использование атрибута со значением "row". Хотя первая ячейка каждого определяет такое же поведение
Пользователи, просматривающие
Пользователей может также заинтересовать информация о более чем одной ячейке. В этом случае заголовочная информация, даваемая на уровне ячейки (атрибутами headers, и ), не может предоставить адекватный контекст. Рассмотрим
| Meals | Hotels | |||
|---|---|---|---|---|
| San Jose | ||||
| 25-Aug-97 | 37.74 | 112.00 | 45.00 | |
| 26-Aug-97 | 27.28 | 112.00 | 45.00 | |
| 65.02 | 224.00 | 90.00 | 379.02 | |
| Seattle | ||||
| 27-Aug-97 | 96.25 | 109.00 | 36.00 | |
| 28-Aug-97 | 35.00 | 109.00 | 36.00 | |
| 131.25 | 218.00 | 72.00 | 421.25 | |
| Totals | 196.27 | 442.00 | 162.00 | 800.27 |
Пользователю может понадобиться извлечь информацию из
Каждый запрос вызывает вычисления ПА, в которых могут быть задействованы ноль или более ячеек. Чтобы определить, например, стоимость питания 25 августа, ПА должен знать, какая ячейка ссылается на "Meals" (все) и какая ссылается на "Dates" (конкретно, на 25 августа), и найти пересечение двух наборов (данных).
Чтобы приспособить этот тип запроса,
Авторы категоризируют ячейки заголовков или данных установкой атрибута для ячейки. К примеру, в
<TH id="a6" axis="location">San Jose</TH>
любая ячейка, содержащая информацию со ссылкой на "headers или .
Таким образом, затраты на питание 25 августа должны быть помечены так, чтобы ссылаться на атрибут id (значение которого - "a6")
<TD headers="a6">37.74</TD>
Каждый атрибут headers предоставляет список ссылок на id. Авторы могут таким образом категоризировать данные ячейки любыми способами.
Ниже мы разметим
<TABLE border="1"
summary="This table summarizes travel expenses
incurred during August trips to
San Jose and Seattle">
<CAPTION>
Travel Expense Report
</CAPTION>
<TR>
<TH></TH>
<TH id="a2" axis="expenses">Meals</TH>
<TH id="a3" axis="expenses">Hotels</TH>
<TH id="a4" axis="expenses">Transport</TH>
<TD>subtotals</TD>
</TR>
<TR>
<TH id="a6" axis="location">San Jose</TH>
<TH></TH>
<TH></TH>
<TH></TH>
<TD></TD>
</TR>
<TR>
<TD id="a7" axis="date">25-Aug-97</TD>
<TD headers="a6 a7 a2">37.74</TD>
<TD headers="a6 a7 a3">112.00</TD>
<TD headers="a6 a7 a4">45.00</TD>
<TD></TD>
</TR>
<TR>
<TD id="a8" axis="date">26-Aug-97</TD>
<TD headers="a6 a8 a2">27.28</TD>
<TD headers="a6 a8 a3">112.00</TD>
<TD headers="a6 a8 a4">45.00</TD>
<TD></TD>
</TR>
<TR>
<TD>subtotals</TD>
<TD>65.02</TD>
<TD>224.00</TD>
<TD>90.00</TD>
<TD>379.02</TD>
</TR>
<TR>
<TH id="a10" axis="location">Seattle</TH>
<TH></TH>
<TH></TH>
<TH></TH>
<TD></TD>
</TR>
<TR>
<TD id="a11" axis="date">27-Aug-97</TD>
<TD headers="a10 a11 a2">96.25</TD>
<TD headers="a10 a11 a3">109.00</TD>
<TD headers="a10 a11 a4">36.00</TD>
<TD></TD>
</TR>
<TR>
<TD id="a12" axis="date">28-Aug-97</TD>
<TD headers="a10 a12 a2">35.00</TD>
<TD headers="a10 a12 a3">109.00</TD>
<TD headers="a10 a12 a4">36.00</TD>
<TD></TD>
</TR>
<TR>
<TD>subtotals</TD>
<TD>131.25</TD>
<TD>218.00</TD>
<TD>72.00</TD>
<TD>421.25</TD>
</TR>
<TR>
<TH>Totals</TH>
<TD>196.27</TD>
<TD>442.00</TD>
<TD>162.00</TD>
<TD>800.27</TD>
</TR>
</TABLE>
Обратите внимание, что такая
Конечно, нет никаких ограничений по категоризации информации
Эта спецификация не требует от ПА обрабатывать информацию, предоставленную атрибутом , как и не даёт каких-либо рекомендаций, как ПА могут представлять пользователям информацию в или как пользователи могут запрашивать ПА об этой информации.
Однако ПА, в особенности речевые синтезаторы, могут выносить за скобки информацию, обычную для некоторых ячеек, которые являются результатом выполнения запроса. Например, если пользователь спрашивает "What did I spend for meals in
Location: San Jose. Date: 25-Aug-1997. Expenses, Meals: 37.74 Location: San Jose. Date: 26-Aug-1997. Expenses, Meals: 27.28
или более компактно:
San Jose, 25-Aug-1997, Meals: 37.74 San Jose, 26-Aug-1997, Meals: 27.28
И даже более экономно - можно было бы убрать общую информацию и реорганизовать её:
San Jose, Meals, 25-Aug-1997: 37.74
26-Aug-1997: 27.28
ПА, поддерживающие такой тип представления, должны иметь способность настраивать представление (напр., с помощью таблиц стилей).
При отсутствии заголовочной информации в атрибутах или headers, ПА могут конструировать заголовочную информацию в соответствии со следующим алгоритмом. Цель этого алгоритма - найти упорядоченный список заголовков. (В следующем описании алгоритма
headers, тогда заголовки, на которые ссылается данный атрибут, вставляются в список, и поиск в этом TD, которые устанавливают атрибут axis , рассматриваются тоже как Это пример группировки
В "ascii-подобном" виде, следующая
<TABLE border="2" frame="hsides" rules="groups"
summary="Code page support in different versions
of MS Windows.">
<CAPTION>CODE-PAGE SUPPORT IN MICROSOFT WINDOWS</CAPTION>
<COLGROUP align="center">
<COLGROUP align="left">
<COLGROUP align="center" span="2">
<COLGROUP align="center" span="3">
<THEAD valign="top">
<TR>
<TH>Code-Page<BR>ID
<TH>Name
<TH>ACP
<TH>OEMCP
<TH>Windows<BR>NT 3.1
<TH>Windows<BR>NT 3.51
<TH>Windows<BR>95
<TBODY>
<TR><TD>1200<TD>Unicode (BMP of ISO/IEC-10646)<TD><TD><TD>X<TD>X<TD>*
<TR><TD>1250<TD>Windows 3.1 Eastern European<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1251<TD>Windows 3.1 Cyrillic<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1252<TD>Windows 3.1 US (ANSI)<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1253<TD>Windows 3.1 Greek<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1254<TD>Windows 3.1 Turkish<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1255<TD>Hebrew<TD>X<TD><TD><TD><TD>X
<TR><TD>1256<TD>Arabic<TD>X<TD><TD><TD><TD>X
<TR><TD>1257<TD>Baltic<TD>X<TD><TD><TD><TD>X
<TR><TD>1361<TD>Korean (Johab)<TD>X<TD><TD><TD>**<TD>X
<TBODY>
<TR><TD>437<TD>MS-DOS United States<TD><TD>X<TD>X<TD>X<TD>X
<TR><TD>708<TD>Arabic (ASMO 708)<TD><TD>X<TD><TD><TD>X
<TR><TD>709<TD>Arabic (ASMO 449+, BCON V4)<TD><TD>X<TD><TD><TD>X
<TR><TD>710<TD>Arabic (Transparent Arabic)<TD><TD>X<TD><TD><TD>X
<TR><TD>720<TD>Arabic (Transparent ASMO)<TD><TD>X<TD><TD><TD>X
</TABLE>
могла бы быть представлена так:
CODE-PAGE SUPPORT IN MICROSOFT WINDOWS
===============================================================================
Code-Page | Name | ACP OEMCP | Windows Windows Windows
ID | | | NT 3.1 NT 3.51 95
-------------------------------------------------------------------------------
1200 | Unicode (BMP of ISO 10646) | | X X *
1250 | Windows 3.1 Eastern European | X | X X X
1251 | Windows 3.1 Cyrillic | X | X X X
1252 | Windows 3.1 US (ANSI) | X | X X X
1253 | Windows 3.1 Greek | X | X X X
1254 | Windows 3.1 Turkish | X | X X X
1255 | Hebrew | X | X
1256 | Arabic | X | X
1257 | Baltic | X | X
1361 | Korean (Johab) | X | ** X
-------------------------------------------------------------------------------
437 | MS-DOS United States | X | X X X
708 | Arabic (ASMO 708) | X | X
709 | Arabic (ASMO 449+, BCON V4) | X | X
710 | Arabic (Transparent Arabic) | X | X
720 | Arabic (Transparent ASMO) | X | X
===============================================================================
Графический ПА мог бы представить это так:

Этот пример показывает, как COLGROUP может использоваться для группировки
Так же TBODY используется для группировки frame и rules сообщают ПА, какие
Модель
Каждая CAPTION ), представляющий краткое описание назначения summary ) для использования в ПА по системе Брайля.
head, и body (элементами THEAD, TFOOT и TBODY соответственно). head/body/ для поддержки прокрутки раздела body независимо от разделов head и . Если распечатываются большие head и информация может повторяться на каждой странице с данными
Авторы могут также группировать COLGROUP и COL ) таким образом, чтобы дать ПА возможность просматривать
Ячейки TH ), или "data" (см. элемент TD ). Ячейки могут занимать несколько
Вот простая
Следующее определение
<TABLE border="1"
summary="This table gives some statistics about fruit
flies: average height and weight, and percentage
with red eyes (for both males and females).">
<CAPTION><EM>A test table with merged cells</EM></CAPTION>
<TR><TH rowspan="2"><TH colspan="2">Average
<TH rowspan="2">Red<BR>eyes
<TR><TH>height<TH>weight
<TR><TH>Males<TD>1.9<TD>0.003<TD>40%
<TR><TH>Females<TD>1.7<TD>0.002<TD>43%
</TABLE>
может отображаться на устройстве
A test table with merged cells /-----------------------------------------\ | | Average | Red | | |-------------------| eyes | | | height | weight | | |-----------------------------------------| | Males | 1.9 | 0.003 | 40% | |-----------------------------------------| | Females | 1.7 | 0.002 | 43% | \-----------------------------------------/
или так в графическом ПА:
| Red eyes | |||
|---|---|---|---|
| height | |||
| Males | 1.9 | 0.003 | 40% |
| Females | 1.7 | 0.002 | 43% |
<!ELEMENT TABLE - -
(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
<!ATTLIST TABLE -- элемент table --
%attrs; -- %coreattrs, %i18n, %events --
summary %Text; #ПРЕДПОЛАГАЕТСЯ -- назначение/структура для речевого вывода --
width %Length; #ПРЕДПОЛАГАЕТСЯ -- ширина таблицы --
border %Pixels; #ПРЕДПОЛАГАЕТСЯ -- толщина рамки вокруг таблицы --
frame %TFrame; #ПРЕДПОЛАГАЕТСЯ -- какие части фрэйма отображать --
rules %TRules; #ПРЕДПОЛАГАЕТСЯ -- линии между рядами и столбцами --
cellspacing %Length; #ПРЕДПОЛАГАЕТСЯ -- расстояние между ячейками --
cellpadding %Length; #ПРЕДПОЛАГАЕТСЯ -- расстояние между
рамкой ячейки и её содержимым --
>
Определения атрибутов
summary = text [CS]
Определяет общую информацию о назначении и структуре
align = left|center|right [CI]
Не рекомендуется. Этот атрибут определяет положение
left: влево;center: по центру документа;right: справа.width = length [CN]
Определяет необходимую ширину всей
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)lang (язык), dir ( title (заголовок элемента)style (инлайн-стиль)onclick, ondblclick , onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (bgcolor (цвет фона)frame, rules, border ( cellspacing, cellpadding (поля ячейки)Элемент TABLE содержит все другие элементы, определяющие заголовок
Следующая информация описывает, какие операции ПА могут выполнять при отображении
TR, содержащихся в элементе TABLE.Модель
Для того, чтобы ПА форматировали
Более точно ПА может отображать COLGROUP и COL. Если какие-либо
dir элемента TABLE.
Для
Когда ПА добавляет дополнительные ячейки в
Обратите внимание, что TABLE - это единственный элемент, в котором dir резервирует визуальный порядок TR )или COLGROUP ) не могут быть независимо зарезервированы.
При установке для элемента TABLE, атрибут dir также влияет на dir наследуется элементами уровня блока).
Для определения dir так:
<TABLE dir="RTL"> ...таблица... </TABLE>
dir в том элементе, который определяет ячейку. См. раздел двунаправленный текст.
<!ELEMENT CAPTION - - (%inline;)* -- заголовок таблицы --> <!ATTLIST CAPTION %attrs; -- %coreattrs, %i18n, %events -- >
Определение атрибута
align = top|bottom|left|right [CI]
Не рекомендуется. Для визуальных ПА этот атрибут определяет положение заголовка относительно
top: заголовок сверху над bottom: заголовок снизу под left: заголовок слева от right: заголовок справа от Атрибуты, определённые в другом месте
id, class (идентификаторы документа)lang (язык), dir ( title (заголовок элемента)style (инлайн-стиль)onclick, ondblclick , onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (Если элемент CAPTION присутствует, текст должен описывать сущность CAPTION допускается только непосредственно после начального тега TABLE. Элемент TABLE может содержать только один элемент CAPTION.
Визуальные ПА позволяют зрячим людям разом охватить структуру
По этой причине авторы должны позаботиться о предоставлении дополнительной информации, суммирующей назначение и структуру summary элемента TABLE. Это особенно важно для summary.
Визуальные ПА должны исключить
<!ELEMENT THEAD - O (TR)+ -- "шапка" таблицы --> <!ELEMENT TFOOT - O (TR)+ -- футер таблицы -->
<!ELEMENT TBODY O O (TR)+ -- тело таблицы -->
<!ATTLIST (THEAD|TBODY|TFOOT) -- раздел таблицы -- %attrs; -- %coreattrs, %i18n, %events -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- >
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)lang (язык), dir ( title (заголовок элемента)style (инлайн-стиль)onclick, ondblclick , onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (align, char, charoff, valign ( THEAD, TFOOT и TBODY соответственно. Это разделение делает возможным для ПА поддерживать прокрутку тела
"Шапка" и футер
Если элементы THEAD, TFOOT и TBODY установлены, каждый из них содержит
Каждая TR.
Этот пример иллюстрирует порядок и структуру "шапки", футера и тела
<TABLE>
<THEAD>
<TR> ...информация "шапки"...
</THEAD>
<TFOOT>
<TR> ...информация футера...
</TFOOT>
<TBODY>
<TR> ...первый ряд данных блока 1...
<TR> ...второй ряд данных блока 1...
</TBODY>
<TBODY>
<TR> ...первый ряд данных блока 2...
<TR> ...второй ряд данных блока 2...
<TR> ...третий ряд данных блока 2...
</TBODY>
</TABLE>
TFOOT должен появляться перед TBODY внутри определения TABLE так, чтобы ПА могли отобразить футер до получения (возможно, многочисленных)
TBODY необходим всегда, за исключением случаев, когда TBODY всегда может быть спокойно пропущен;THEAD и TFOOT необходим, если соответственно присутствуют разделы "шапки" и футера, но соответствующие конечные теги всегда могут быть пропущены без последствий.Соответствующие требованиям разборщики
<TABLE>
<THEAD>
<TR> ...информация "шапки"...
<TFOOT>
<TR> ...информация футера...
<TBODY>
<TR> ...первый ряд данных блока 1...
<TR> ...второй ряд данных блока 1...
<TBODY>
<TR> ...первый ряд данных блока 2...
<TR> ...второй ряд данных блока 2...
<TR> ...третий ряд данных блока 2...
</TABLE>
Разделы THEAD, TFOOT и TBODY должны содержать одинаковое количество
rules элемента TABLE ). См. пример визуального представления
COLGROUP, разграничивающих COLGROUP ).
Элемент COL позволяет авторам разделять использование атрибутов среди нескольких " элемента COL это количество
<!ELEMENT COLGROUP - O (COL)* -- группа столбцов таблицы --> <!ATTLIST COLGROUP %attrs; -- %coreattrs, %i18n, %events -- span NUMBER 1 -- количество по умолчанию столбцов в группе -- width %MultiLength; #ПРЕДПОЛАГАЕТСЯ -- ширина по умолчанию для COL, входящих в группу -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- >
Определения атрибутов
Должен быть целым числом > 0, определяет количество
span , каждый COLGROUP определяет span установлен в N > 0, текущий элемент COLGROUP определяет N ПА должны игнорировать этот атрибут, если элемент COLGROUP содержит один или более элементов COL.
width = multi-length [CN]
Этот атрибут определяет ширину по умолчанию для каждого 0* " (нулевая звёздочка), которая означает, что ширина каждого 0* " будет предупреждать визуальные ПА, что
Этот атрибут переопределяется для любого width определён в элементе COL.
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)lang (язык), dir ( title (заголовок элемента)style (инлайн-стиль)onclick, ondblclick , onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (align, char, charoff, valign ( Элемент COLGROUP явно определяет
span элемента (значение по умолчанию 1) определяет количество COL в COLGROUP представляет один или более Преимуществом использования атрибута является то, что авторы могут группировать информацию о ширине
<COLGROUP span="40" width="20"> </COLGROUP>
вместо:
<COLGROUP> <COL width="20"> <COL width="20"> ...и так все 40 элементов COL... </COLGROUP>
Если необходимо выделить COL. Так, чтобы применить специальную информацию стиля к последнему
<COLGROUP width="20"> <COL span="39"> <COL id="format-me-specially"> </COLGROUP>
Атрибут width элемента COLGROUP наследуется всеми 40 COL ссылается на первые 39 id сороковому
<TABLE> <COLGROUP span="10" width="50"> <COLGROUP span="5" width="0*"> <THEAD> <TR><TD> ... </TABLE>
<!ELEMENT COL - O EMPTY -- столбец таблицы --> <!ATTLIST COL -- группы и свойства столбца -- %attrs; -- %coreattrs, %i18n, %events -- span NUMBER 1 -- атрибуты COL действуют на N столбцов -- width %MultiLength; #ПРЕДПОЛАГАЕТСЯ -- ширина столбца -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- >
Определения атрибутов
Значением должно быть целое число > 0, определяющее количество COL ; элемент COL использует свои атрибуты совместно со всеми COL ссылается на один установлен в N > 1, текущий элемент COL использует свои атрибуты совместно со следующими N-1
width = multi-length [CN]
Определяет ширину по умолчанию каждого COL. Этот атрибут имеет то же самое значение, что и атрибут width элемента COLGROUP, и переопределяет его.
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)lang (язык), dir ( title (заголовок элемента)style (инлайн-стиль)onclick, ondblclick , onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (align, char, charoff, valign ( Элемент COL позволяет авторам группировать спецификации COL не группирует COLGROUP. Элементы COL - пустые и служат только для поддержки атрибутов. Они могут появляться внутри или вне конкретной COLGROUP ).
Атрибут width элемента COL ссылается на ширину каждого
Есть два способа определить количество
Если элемент TABLE содержит какие-либо элементы COLGROUP или COL, ПА должны подсчитывать количество
COL берётся значение его атрибута span (по умолчанию 1).COLGROUP, содержащем не менее одного элемента COL, игнорируется атрибут span элемента COLGROUP. В каждом элементе COL выполняется первый шаг.COLGROUP берётся значение его атрибута (значение по умолчанию 1).TABLE не содержит элементов COLGROUP или COL, ПА должен базировать количество Считается ошибкой, если COLGROUP или COL, и два подсчёта не дают одинакового количества
После того, как ПА подсчитал количество
Например, для каждой из следующих
<TABLE> <COLGROUP span="3"></COLGROUP> <TR><TD> ... ...ряды... </TABLE> <TABLE> <COLGROUP> <COL> <COL span="2"> </COLGROUP> <TR><TD> ... ...ряды... </TABLE> <TABLE> <COLGROUP> <COL> </COLGROUP> <COLGROUP span="2"> <TR><TD> ... ...ряды... </TABLE> <TABLE> <TR> <TD><TD><TD> </TR> </TABLE>
Авторы могут установить ширину
Fixed
Фиксированная ширина, определяется в пикселах (напр., width="30" ). Делает возможным отображение частями.
Percentage
В процентах (напр., width="20%" ). Процентное соотношение на базе доступного горизонтального пространства
Proportional
Пропорциональное (напр., width="3*" ) ссылается на часть горизонтального пространства, необходимого для таблицы. Если ширина width элемента TABLE, ПА должны отображать
Однако, если
Если автор не даёт информации о ширине
Если ширина
Следующая width элемента TABLE.
Как только (визуальный) ПА получит данные
Сначала ПА выделит по 30 пикселов
Затем резервируется минимальное пространство, необходимое для
Оставшееся горизонтальное пространство делится на шесть равных частей (поскольку 2* + 1* + 3* = 6).
<TABLE> <COLGROUP> <COL width="30"> <COLGROUP> <COL width="30"> <COL width="0*"> <COL width="2*"> <COLGROUP align="center"> <COL width="1*"> <COL width="3*" align="char" char=":"> <THEAD> <TR><TD> ... ...ряды... </TABLE>
Мы установили значение атрибута :".
В следующей
<TABLE width="200"> <COLGROUP span="10" width="15"> <COLGROUP width="*"> <COL id="penultimate-column"> <COL id="last-column"> <THEAD> <TR><TD> ... ...ряды... </TABLE>
Первые 10 COL появляются именно так, поскольку значение id может быть определено для двух последних
width элемента TABLE и не "не рекомендуется", авторам следует использовать <!ELEMENT TR - O (TH|TD)+ -- ряд таблицы --> <!ATTLIST TR -- ряд таблицы -- %attrs; -- %coreattrs, %i18n, %events -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- >
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)lang (язык), dir ( title (заголовок элемента)style (инлайн-стиль)onclick, ondblclick , onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (bgcolor (цвет фона)align, char, charoff, valign ( Элемент TR действует как контейнер для
Образец TR:
<TABLE summary="This table charts the number of cups
of coffee consumed by each senator, the type
of coffee (decaf or regular), and whether
taken with sugar.">
<CAPTION>Cups of coffee consumed by each senator</CAPTION>
<TR> ...заголовочный ряд...
<TR> ...1 ряд данных...
<TR> ...2 ряд данных...
...остальная часть таблицы...
</TABLE>
<!ELEMENT (TH|TD) - O (%flow;)* -- ячейка заголовочная|данных --> <!-- Область видимости проще, чем атрибуты заголовков обычных таблиц --> <!ENTITY % Scope "(row|col|rowgroup|colgroup)"> <!-- TH - для заголовков, TD - для данных, но для ячеек, работающих и так, и так, используйте TD --> <!ATTLIST (TH|TD) -- ячейка заголовочная|данных -- %attrs; -- %coreattrs, %i18n, %events -- abbr %Text; #ПРЕДПОЛАГАЕТСЯ -- аббревиатура для заголовочной ячейки -- axis CDATA #ПРЕДПОЛАГАЕТСЯ -- список разделённых запятыми относительных заголовков-- headers IDREFS #ПРЕДПОЛАГАЕТСЯ -- список id заголовочных ячеек -- scope %Scope; #ПРЕДПОЛАГАЕТСЯ -- область видимости заголовочных ячеек -- rowspan NUMBER 1 -- количество рядов, охваченных ячейкой -- colspan NUMBER 1 -- количество столбцов, охваченных ячейкой -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- >
Определения атрибутов
headers =
Определяет список id.
Авторы обычно используют атрибут headers для того, чтобы помочь невизуальным ПА представить заголовочную информацию о .
Определяет набор headers, особенно в простых
row: текущая ячейка предоставляет заголовочную информацию для оставшейся части col: текущая ячейка предоставляет заголовочную информацию для оставшейся части rowgroup: colgroup: Этот атрибут должен использоваться для представления содержимого ячейки в сокращённой форме и может выводиться ПА, если это удобно, вместо содержимого ячейки. Сокращённые имена должны быть краткими, поскольку ПА могут отображать их повторно.
Например, голосовые синтезаторы могут выводить сокращённые заголовки до вывода содержимого этих ячеек.
Этот атрибут может использоваться для помещения ячейки в концептуальные категории, которые можно представить в виде осей в n-размерном пространстве. ПА могут дать пользователям доступ к этим категориям (напр., пользователь может запросить у ПА все ячейки, принадлежащие к определённым категориям, ПА может представить
rowspan = number [CN]
Определяет количество THEAD, TBODY или TFOOT ), в котором ячейка определена.
colspan = number [CN]
Определяет количество COLGROUP ), в которой ячейка определена.
nowrap [CI]
Не рекомендуется. Если установлен, этот
Примечание. При неосторожном использовании, этот атрибут может вызвать появление слишком широких ячеек.
width = length [CN]
Не рекомендуется. Сообщает в ПА рекомендуемую ширину ячейки.
height = length [CN]
Не рекомендуется. Сообщает в ПА рекомендуемую высоту ячейки.
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)lang (язык), dir ( title (заголовок элемента)style (инлайн-стиль)onclick, ondblclick , onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (bgcolor (цвет фона)align, char, charoff, valign ( Ячейки
Элемент TH определяет ячейку, содержащую заголовочную информацию. Для ПА доступно две части заголовочной информации: содержимое элемента TH и значение атрибута . ПА должны выводить или содержимое ячейки, или значение атрибута .
Для визуальных носителей последнее более предпочтительно, когда не хватает пространства для вывода полного содержимого ячейки. В невизуальных носителях может использоваться как сокращённая форма заголовков
Атрибуты headers и также позволяют авторам облегчать невизуальным ПА обработку заголовочной информации. См. дополнительную информацию и примеры: пометка ячеек для невизуальных ПА.
Элемент TD определяет
Ячейки могут быть пустыми (т.е. не содержать данных).
Например, следующая
<TABLE summary="This table charts the number of cups
of coffee consumed by each senator, the type
of coffee (decaf or regular), and whether
taken with sugar.">
<CAPTION>Cups of coffee consumed by each senator</CAPTION>
<TR>
<TH>Name</TH>
<TH>Cups</TH>
<TH>Type of Coffee</TH>
<TH>Sugar?</TH>
<TR>
<TD>T. Sexton</TD>
<TD>10</TD>
<TD>Espresso</TD>
<TD>No</TD>
<TR>
<TD>J. Dinnen</TD>
<TD>5</TD>
<TD>Decaf</TD>
<TD>Yes</TD>
</TABLE>
Вывод ПА для устройства
Name Cups Type of Coffee Sugar? T. Sexton 10 Espresso No J. Dinnen 5 Decaf Yes
Ячейки могут занимать несколько rowspan и colspan в элементах TH и TD.
В этом определении
<TABLE border="1"> <CAPTION>Cups of coffee consumed by each senator</CAPTION> <TR><TH>Name<TH>Cups<TH>Type of Coffee<TH>Sugar? <TR><TD>T. Sexton<TD>10<TD>Espresso<TD>No <TR><TD>J. Dinnen<TD>5<TD>Decaf<TD>Yes <TR><TD>A. Soria<TD colspan="3"><em>Not available</em> </TABLE>
Вывод ПА этой
Cups of coffee consumed by each senator -------------------------------------- | Name |Cups|Type of Coffee|Sugar?| -------------------------------------- |T. Sexton|10 |Espresso |No | -------------------------------------- |J. Dinnen|5 |Decaf |Yes | -------------------------------------- |A. Soria |Not available | --------------------------------------
Следующий пример иллюстрирует (с помощью обрамления
<TABLE border="1"> <TR><TD>1 <TD rowspan="2">2 <TD>3 <TR><TD>4 <TD>6 <TR><TD>7 <TD>8 <TD>9 </TABLE>
Ячейка "2" занимает первый и второй TD во втором
------------- | 1 | 2 | 3 | ----| |---- | 4 | | 6 | ----|---|---- | 7 | 8 | 9 | -------------
а в графическом ПА - так:
| 1 | 2 | 3 |
| 4 | 6 | |
| 7 | 8 | 9 |
Обратите внимание, что если TD, определяющий ячейку "6", опущен, дополнительная пустая ячейка будет добавлена ПА для заполнения
Так же и в следующем определении
<TABLE border="1"> <TR><TD>1 <TD>2 <TD>3 <TR><TD colspan="2">4 <TD>6 <TR><TD>7 <TD>8 <TD>9 </TABLE>
ячейка "4" занимает два TD в
------------- | 1 | 2 | 3 | --------|---- | 4 | 6 | --------|---- | 7 | 8 | 9 | -------------
Графический ПА может вывести это так:
| 1 | 2 | 3 |
| 4 | 6 | |
| 7 | 8 | 9 |
Определение перекрывающихся ячеек является ошибкой. ПА могут по разному обрабатывать такие ошибки (напр., вывод может различаться).
Следующий пример НЕВЕРНОГО ИСПОЛЬЗОВАНИЯ показывает, как могут создаваться перекрывающиеся ячейки. В этой <TABLE border="1"> <TR><TD>1 <TD>2 <TD>3 <TR><TD>4 <TD rowspan="2">5 <TD>6 <TR><TD colspan="2">7 <TD>9 </TABLE> |
HTML 4 содержит механизмы управления:
Следующие атрибуты влияют на отображение
Определения атрибутов
frame = void|above|below|hsides|lhs|rhs|vsides|box|border [CI]
Этот атрибут определяет, какие стороны
void: не отображается. Это значение по умолчанию;above: только верхняя часть;below: только нижняя часть;hsides: только верхняя и нижняя;vsides: только правая и левая;lhs: только левая;rhs: только правая;box: все четыре стороны;border: все четыре стороны.rules = none|groups|rows|cols|all [CI]
Определяет, какие линии появятся между ячейками. Вывод зависит от ПА. Возможные значения:
none: не отображаются. значение по умолчанию;groups: только линии между THEAD, TFOOT и TBODY ) и COLGROUP и COL );rows: только линии между cols: только линии между all: линии между всеми border = pixels [CN]
Определяет ширину (только в пикселах)
Чтобы выделить ячейки border элемента TABLE. Рассмотрим предыдущий пример:
<TABLE border="1"
summary="This table charts the number of cups
of coffee consumed by each senator, the type
of coffee (decaf or regular), and whether
taken with sugar.">
<CAPTION>Cups of coffee consumed by each senator</CAPTION>
<TR>
<TH>Name</TH>
<TH>Cups</TH>
<TH>Type of Coffee</TH>
<TH>Sugar?</TH>
<TR>
<TD>T. Sexton</TD>
<TD>10</TD>
<TD>Espresso</TD>
<TD>No</TD>
<TR>
<TD>J. Dinnen</TD>
<TD>5</TD>
<TD>Decaf</TD>
<TD>Yes</TD>
</TABLE>
В следующем примере ПА должен вывести линии толщиной 5 пикселов слева и справа от
<TABLE border="5" frame="vsides" rules="cols"> <TR> <TD>1 <TD>2 <TD>3 <TR> <TD>4 <TD>5 <TD>6 <TR> <TD>7 <TD>8 <TD>9 </TABLE>
Следующие установки должны учитываться ПА для обеспечения
border="0" подразумевает frame="void" и, если не определено иное, rules="none".border подразумевают frame="border" и, если не определено иное, rules="all"."border" в начальном теге элемента TABLE должно интерпретироваться как значение атрибута frame. Это подразумевает rules="all" и какое-либо (ненулевое) значение по умолчанию атрибута border.Например, следующие определения эквивалентны:
<TABLE border="2"> <TABLE border="2" frame="border" rules="all">
как и следующие:
<TABLE border> <TABLE frame="border" rules="all">
border определяет поведение обрамления для элементов OBJECT и IMG, но принимает для этих элементов разные значения.Следующие атрибуты могут быть установлены для различных элементов
<!-- атрибуты горизонтального выравнивания содержимого ячейки --> <!ENTITY % cellhalign "align (left|center|right|justify|char) #IMPLIED char %Character; #ПРЕДПОЛАГАЕТСЯ -- символ выравнивания, например, char=':' -- charoff %Length; #ПРЕДПОЛАГАЕТСЯ -- offset символа выравнивания --" > <!-- атрибуты вертикального выравнивания содержимого ячейки --> <!ENTITY % cellvalign "valign (top|middle|bottom|baseline) #IMPLIED" >
Определения атрибутов
align = left|center|right|justify|char [CI]
Этот атрибут определяет горизонтальное
left: влево - данные/текст влево. Значение по умолчанию для данных center: по центру - данные/текст по центру. Это значение по умолчанию для заголовков right: вправо - данные/текст вправо;justify: char: valign = top|middle|bottom|
Этот атрибут определяет вертикальное
top: по верху ячейки;middle: по центру ячейки. Это значение по умолчанию;bottom: по нижней границе ячейки;baseline : все ячейки в том же valign, должны установить свои текстовые данные так, чтобы первая строка текста появлялась на char = character [CN]
Этот атрибут определяет одиночный символ во фрагменте текста, служащий осью
charoff = length [CN]
Если установлен, этот атрибут определяет offset/отсутствие первого в каждой строке символа
Если charoff используется для установки офсета символа dir ). В текстах слева-направо (по умолчанию) офсет слева. В текстах справа налево офсет справа. От ПА не требуется поддерживать данный атрибут.
В этой
<TABLE border="1"> <COLGROUP> <COL><COL align="char" char="."> <THEAD> <TR><TH>Vegetable <TH>Cost per kilo <TBODY> <TR><TD>Lettuce <TD>$1 <TR><TD>Silver carrots <TD>$10.50 <TR><TD>Golden turnips <TD>$100.30 </TABLE>
Форматирование может выглядеть примерно так:
------------------------------ | Vegetable |Cost per kilo| |--------------|-------------| |Lettuce | $1 | |--------------|-------------| |Silver carrots| $10.50| |--------------|-------------| |Golden turnips| $100.30| ------------------------------
Если в содержимом ячейки есть более одного символа char, и строки содержимого переносятся, поведение ПА не определено. Поэтому авторы должны быть внимательны при использовании char.
TH сцентрированными в ячейке вертикально и горизонтально и полужирным шрифтом.Приоритет (от высшего к низшему) атрибутов align, char и charoff:
P ).TH и TD ).COL и COLGROUP ). Если ячейка является частью блока, охватывающего несколько TR, THEAD, TFOOT и TBODY ). Если ячейка является частью блока, охватывающего несколько TABLE ).Приоритет (от высшего к низшему) для атрибута valign (как и для других наследуемых атрибутов lang, dir, и style ):
P ).TH и TD ).TR, THEAD, TFOOT и TBODY ). Если ячейка является частью блока, охватывающего несколько COL и COLGROUP ). Если ячейка является частью блока, охватывающего несколько TABLE ).Таким образом, при выводе ячеек горизонтальное
Значение "left" во всех случаях).
ПА, не поддерживающие значение "justify" атрибута align, должны вместо этого использовать наследуемое
span ). Это является исключением из общих правил наследования.Определения атрибутов
cellspacing = length [CN]
Определяет, какое пространство ПА должен выделять между левым обрезом
cellpadding = length [CN]
Определяет размер свободного пространства между обрамлением ячейки и её содержимым. Если значением этого атрибута является размер в пикселах, все четыре поля должны быть этого размера. Если значением этого атрибута является размер в процентах, верхняя и нижняя границы должны быть равно удалены от содержимого на базе процентного отношения в пределах доступного вертикального пространства, а левая и правая границы должны быть равно удалены от содержимого на базе процентного отношения в пределах доступного горизонтального пространства.
Эти два атрибута управляют полями между ячейками и внутри них. Следующий рисунок поясняет эти соотношения:

В следующем примере атрибут cellspacing определяет, что ячейки должны отделяться друг от друга и от cellpadding определяет, что верхняя и нижняя границы ячейки отделяются от содержимого полями размером 10% доступного вертикального пространства (всего составляющего 20%). Таким же образом левая и правая границы ячейки отделяются от содержимого полями размером 10% доступного горизонтального пространства (всего составляющего 20%).
<TABLE cellspacing="20" cellpadding="20%"> <TR> <TD>Data1 <TD>Data2 <TD>Data3 </TABLE>
Если cellspacing и cellpadding могут потребовать больше пространства, чем назначено. ПА могут дать этим атрибутам преимущество перед атрибутом width, если возникнет конфликт.
Невизуальные ПА, такие как голосовые синтезаторы и Брайль-устройства, могут использовать следующие атрибуты элементов TD и TH, чтобы выводить
headers содержит список ячеек, предоставляющих заголовочную информацию. Для этого каждая id. Обратите внимание, что не всегда возможно провести чёткую грань между данными и заголовками в ячейках. Вы должны использовать элемент TD для таких ячеек вместе с атрибутом id или scope , как удобнее.scope сообщает ПА о headers в зависимости от того, что более подходит; оба эти атрибута выполняют одну и ту же функцию. Атрибут headers нужен обычно, если заголовки помещены в необычную позицию по отношению к данным, к которым они применяются.abbr определяет сокращённую форму В следующем примере мы назначаем заголовочную информацию ячейке установкой атрибута headers. Каждая ячейка в том же id ).
<TABLE border="1"
summary="This table charts the number of cups
of coffee consumed by each senator, the type
of coffee (decaf or regular), and whether
taken with sugar.">
<CAPTION>Cups of coffee consumed by each senator</CAPTION>
<TR>
<TH id="t1">Name</TH>
<TH id="t2">Cups</TH>
<TH id="t3" abbr="Type">Type of Coffee</TH>
<TH id="t4">Sugar?</TH>
<TR>
<TD headers="t1">T. Sexton</TD>
<TD headers="t2">10</TD>
<TD headers="t3">Espresso</TD>
<TD headers="t4">No</TD>
<TR>
<TD headers="t1">J. Dinnen</TD>
<TD headers="t2">5</TD>
<TD headers="t3">Decaf</TD>
<TD headers="t4">Yes</TD>
</TABLE>
Голосовой синтезатор может выводить эту
Caption: Cups of coffee consumed by each senator
Summary: This table charts the number of cups
of coffee consumed by each senator, the type
of coffee (decaf or regular), and whether
taken with sugar.
Name: T. Sexton, Cups: 10, Type: Espresso, Sugar: No
Name: J. Dinnen, Cups: 5, Type: Decaf, Sugar: Yes
Обратите внимание, как заголовок "Type of Coffee" сокращён до "Type" с использованием атрибута .
Это тот же самый пример, в котором атрибут заменил атрибут headers. Заметьте, что значение "col" атрибута означает "все ячейки текущего
<TABLE border="1"
summary="This table charts the number of cups
of coffee consumed by each senator, the type
of coffee (decaf or regular), and whether
taken with sugar.">
<CAPTION>Cups of coffee consumed by each senator</CAPTION>
<TR>
<TH scope="col">Name</TH>
<TH scope="col">Cups</TH>
<TH scope="col" abbr="Type">Type of Coffee</TH>
<TH scope="col">Sugar?</TH>
<TR>
<TD>T. Sexton</TD>
<TD>10</TD>
<TD>Espresso</TD>
<TD>No</TD>
<TR>
<TD>J. Dinnen</TD>
<TD>5</TD>
<TD>Decaf</TD>
<TD>Yes</TD>
</TABLE>
Вот несколько более сложный пример, иллюстрирующий другие значения атрибута :
<TABLE border="1" cellpadding="5" cellspacing="2"
summary="History courses offered in the community of
Bath arranged by course name, tutor, summary,
code, and fee">
<TR>
<TH colspan="5" scope="colgroup">Community Courses -- Bath Autumn 1997</TH>
</TR>
<TR>
<TH scope="col" abbr="Name">Course Name</TH>
<TH scope="col" abbr="Tutor">Course Tutor</TH>
<TH scope="col">Summary</TH>
<TH scope="col">Code</TH>
<TH scope="col">Fee</TH>
</TR>
<TR>
<TD scope="row">After the Civil War</TD>
<TD>Dr. John Wroughton</TD>
<TD>
The course will examine the turbulent years in England
after 1646. <EM>6 weekly meetings starting Monday 13th
October.</EM>
</TD>
<TD>H27</TD>
<TD>pound;32</TD>
</TR>
<TR>
<TD scope="row">An Introduction to Anglo-Saxon England</TD>
<TD>Mark Cottle</TD>
<TD>
One day course introducing the early medieval
period reconstruction the Anglo-Saxons and
their society. <EM>Saturday 18th October.</EM>
</TD>
<TD>H28</TD>
<TD>pound;18</TD>
</TR>
<TR>
<TD scope="row">The Glory that was Greece</TD>
<TD>Valerie Lorenz</TD>
<TD>
Birthplace of democracy, philosophy, heartland of theater, home of
argument. The Romans may have done it but the Greeks did it
first. <EM>Saturday day school 25th October 1997</EM>
</TD>
<TD>H30</TD>
<TD>pound;18</TD>
</TR>
</TABLE>
Графический ПА может вывести это так:
| Community | ||||
|---|---|---|---|---|
| Summary | Code | Fee | ||
| After the Civil War | Dr. John Wroughton | The |
H27 | $$\pounds$$ 32 |
| An Introduction to Anglo-Saxon England | Mark Cottle | One day |
H28 | $$\pounds$$ 18 |
| The Glory that was Greece | Valerie Lorenz | Birthplace of democracy, philosophy, heartland of theater, home of |
H30 | $$\pounds$$ 18 |
Обратите внимание на использование атрибута со значением "row". Хотя первая ячейка каждого определяет такое же поведение
Пользователи, просматривающие
Пользователей может также заинтересовать информация о более чем одной ячейке. В этом случае заголовочная информация, даваемая на уровне ячейки (атрибутами headers, и ), не может предоставить адекватный контекст. Рассмотрим
| Meals | Hotels | |||
|---|---|---|---|---|
| San Jose | ||||
| 25-Aug-97 | 37.74 | 112.00 | 45.00 | |
| 26-Aug-97 | 27.28 | 112.00 | 45.00 | |
| 65.02 | 224.00 | 90.00 | 379.02 | |
| Seattle | ||||
| 27-Aug-97 | 96.25 | 109.00 | 36.00 | |
| 28-Aug-97 | 35.00 | 109.00 | 36.00 | |
| 131.25 | 218.00 | 72.00 | 421.25 | |
| Totals | 196.27 | 442.00 | 162.00 | 800.27 |
Пользователю может понадобиться извлечь информацию из
Каждый запрос вызывает вычисления ПА, в которых могут быть задействованы ноль или более ячеек. Чтобы определить, например, стоимость питания 25 августа, ПА должен знать, какая ячейка ссылается на "Meals" (все) и какая ссылается на "Dates" (конкретно, на 25 августа), и найти пересечение двух наборов (данных).
Чтобы приспособить этот тип запроса,
Авторы категоризируют ячейки заголовков или данных установкой атрибута для ячейки. К примеру, в
<TH id="a6" axis="location">San Jose</TH>
любая ячейка, содержащая информацию со ссылкой на "headers или .
Таким образом, затраты на питание 25 августа должны быть помечены так, чтобы ссылаться на атрибут id (значение которого - "a6")
<TD headers="a6">37.74</TD>
Каждый атрибут headers предоставляет список ссылок на id. Авторы могут таким образом категоризировать данные ячейки любыми способами.
Ниже мы разметим
<TABLE border="1"
summary="This table summarizes travel expenses
incurred during August trips to
San Jose and Seattle">
<CAPTION>
Travel Expense Report
</CAPTION>
<TR>
<TH></TH>
<TH id="a2" axis="expenses">Meals</TH>
<TH id="a3" axis="expenses">Hotels</TH>
<TH id="a4" axis="expenses">Transport</TH>
<TD>subtotals</TD>
</TR>
<TR>
<TH id="a6" axis="location">San Jose</TH>
<TH></TH>
<TH></TH>
<TH></TH>
<TD></TD>
</TR>
<TR>
<TD id="a7" axis="date">25-Aug-97</TD>
<TD headers="a6 a7 a2">37.74</TD>
<TD headers="a6 a7 a3">112.00</TD>
<TD headers="a6 a7 a4">45.00</TD>
<TD></TD>
</TR>
<TR>
<TD id="a8" axis="date">26-Aug-97</TD>
<TD headers="a6 a8 a2">27.28</TD>
<TD headers="a6 a8 a3">112.00</TD>
<TD headers="a6 a8 a4">45.00</TD>
<TD></TD>
</TR>
<TR>
<TD>subtotals</TD>
<TD>65.02</TD>
<TD>224.00</TD>
<TD>90.00</TD>
<TD>379.02</TD>
</TR>
<TR>
<TH id="a10" axis="location">Seattle</TH>
<TH></TH>
<TH></TH>
<TH></TH>
<TD></TD>
</TR>
<TR>
<TD id="a11" axis="date">27-Aug-97</TD>
<TD headers="a10 a11 a2">96.25</TD>
<TD headers="a10 a11 a3">109.00</TD>
<TD headers="a10 a11 a4">36.00</TD>
<TD></TD>
</TR>
<TR>
<TD id="a12" axis="date">28-Aug-97</TD>
<TD headers="a10 a12 a2">35.00</TD>
<TD headers="a10 a12 a3">109.00</TD>
<TD headers="a10 a12 a4">36.00</TD>
<TD></TD>
</TR>
<TR>
<TD>subtotals</TD>
<TD>131.25</TD>
<TD>218.00</TD>
<TD>72.00</TD>
<TD>421.25</TD>
</TR>
<TR>
<TH>Totals</TH>
<TD>196.27</TD>
<TD>442.00</TD>
<TD>162.00</TD>
<TD>800.27</TD>
</TR>
</TABLE>
Обратите внимание, что такая
Конечно, нет никаких ограничений по категоризации информации
Эта спецификация не требует от ПА обрабатывать информацию, предоставленную атрибутом , как и не даёт каких-либо рекомендаций, как ПА могут представлять пользователям информацию в или как пользователи могут запрашивать ПА об этой информации.
Однако ПА, в особенности речевые синтезаторы, могут выносить за скобки информацию, обычную для некоторых ячеек, которые являются результатом выполнения запроса. Например, если пользователь спрашивает "What did I spend for meals in
Location: San Jose. Date: 25-Aug-1997. Expenses, Meals: 37.74 Location: San Jose. Date: 26-Aug-1997. Expenses, Meals: 27.28
или более компактно:
San Jose, 25-Aug-1997, Meals: 37.74 San Jose, 26-Aug-1997, Meals: 27.28
И даже более экономно - можно было бы убрать общую информацию и реорганизовать её:
San Jose, Meals, 25-Aug-1997: 37.74
26-Aug-1997: 27.28
ПА, поддерживающие такой тип представления, должны иметь способность настраивать представление (напр., с помощью таблиц стилей).
При отсутствии заголовочной информации в атрибутах или headers, ПА могут конструировать заголовочную информацию в соответствии со следующим алгоритмом. Цель этого алгоритма - найти упорядоченный список заголовков. (В следующем описании алгоритма
headers, тогда заголовки, на которые ссылается данный атрибут, вставляются в список, и поиск в этом TD, которые устанавливают атрибут axis , рассматриваются тоже как Это пример группировки
В "ascii-подобном" виде, следующая
<TABLE border="2" frame="hsides" rules="groups"
summary="Code page support in different versions
of MS Windows.">
<CAPTION>CODE-PAGE SUPPORT IN MICROSOFT WINDOWS</CAPTION>
<COLGROUP align="center">
<COLGROUP align="left">
<COLGROUP align="center" span="2">
<COLGROUP align="center" span="3">
<THEAD valign="top">
<TR>
<TH>Code-Page<BR>ID
<TH>Name
<TH>ACP
<TH>OEMCP
<TH>Windows<BR>NT 3.1
<TH>Windows<BR>NT 3.51
<TH>Windows<BR>95
<TBODY>
<TR><TD>1200<TD>Unicode (BMP of ISO/IEC-10646)<TD><TD><TD>X<TD>X<TD>*
<TR><TD>1250<TD>Windows 3.1 Eastern European<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1251<TD>Windows 3.1 Cyrillic<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1252<TD>Windows 3.1 US (ANSI)<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1253<TD>Windows 3.1 Greek<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1254<TD>Windows 3.1 Turkish<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1255<TD>Hebrew<TD>X<TD><TD><TD><TD>X
<TR><TD>1256<TD>Arabic<TD>X<TD><TD><TD><TD>X
<TR><TD>1257<TD>Baltic<TD>X<TD><TD><TD><TD>X
<TR><TD>1361<TD>Korean (Johab)<TD>X<TD><TD><TD>**<TD>X
<TBODY>
<TR><TD>437<TD>MS-DOS United States<TD><TD>X<TD>X<TD>X<TD>X
<TR><TD>708<TD>Arabic (ASMO 708)<TD><TD>X<TD><TD><TD>X
<TR><TD>709<TD>Arabic (ASMO 449+, BCON V4)<TD><TD>X<TD><TD><TD>X
<TR><TD>710<TD>Arabic (Transparent Arabic)<TD><TD>X<TD><TD><TD>X
<TR><TD>720<TD>Arabic (Transparent ASMO)<TD><TD>X<TD><TD><TD>X
</TABLE>
могла бы быть представлена так:
CODE-PAGE SUPPORT IN MICROSOFT WINDOWS
===============================================================================
Code-Page | Name | ACP OEMCP | Windows Windows Windows
ID | | | NT 3.1 NT 3.51 95
-------------------------------------------------------------------------------
1200 | Unicode (BMP of ISO 10646) | | X X *
1250 | Windows 3.1 Eastern European | X | X X X
1251 | Windows 3.1 Cyrillic | X | X X X
1252 | Windows 3.1 US (ANSI) | X | X X X
1253 | Windows 3.1 Greek | X | X X X
1254 | Windows 3.1 Turkish | X | X X X
1255 | Hebrew | X | X
1256 | Arabic | X | X
1257 | Baltic | X | X
1361 | Korean (Johab) | X | ** X
-------------------------------------------------------------------------------
437 | MS-DOS United States | X | X X X
708 | Arabic (ASMO 708) | X | X
709 | Arabic (ASMO 449+, BCON V4) | X | X
710 | Arabic (Transparent Arabic) | X | X
720 | Arabic (Transparent ASMO) | X | X
===============================================================================
Графический ПА мог бы представить это так:

Этот пример показывает, как COLGROUP может использоваться для группировки
Так же TBODY используется для группировки frame и rules сообщают ПА, какие
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.