Índice
O modelo de tabelas da HTML permite que os autores distribuan os dados --texto, texto pré-formatado, imaxes, vínculos, formulários, campos de formulários, outras tabelas, etc. -- en filas e colunas de celas.
Cada tabela pode ter unha lexenda asociada (ver o elemento CAPTION ) que fornece unha descrición breve do obxectivo da tabela. Tamén se pode fornecer unha descrición máis longa (mediante o atributo summary ) para que utilice a xente que use axentes de usuário que usen síntese de voz ou braille.
As filas de tabela poden-se agrupar nas seccións cabezallo, pé e corpo (mediante os elementos THEAD , TFOOT e TBODY , respectivamente). Os grupos de filas portan información estrutural adicional e os axentes de usuários poden-na mostrar de modo que se resalte a sua estrutura. Os axentes de usuário poden explotar a división entre cabezallo/corpo/pé para permitir o desprazamento de seccións de corpo independentemente das seccións de cabezallo e pé. Cando se imprimen tabelas longas, a información de cabezallo e pé pode-se repetir en cada unha das páxinas que conteña dados da tabela.
Os autores poden tamén agrupar colunas para fornecer información estrutural adicional que os axentes de usuário poden explotar. Ademáis, os autores poden declarar propriedades de coluna no início dunha definición de tabela (mediante os elementos COLGROUP e COL ) de modo que os axentes de usuário podan mostrar a tabela incrementalmente en vez de teren que esperar a que cheguen todos os dados da tabela antes de mostrá-los.
Dado que as celas de tabela poden conter tanto información de "cabezallo" (ver o elemento TH ) como de "dados" (ver o elemento TD , as celas poden-se extender por várias filas e colunas. O modelo de tabelas da HTML 4 permite que os autores etiqueten cada cela para que os axentes de usuário non visuais lle podan comunicar ao usuário información de cabezallo sobre a cela máis facilmente. Estes mecanismos non só axudan moito aos usuários con dificuldades visuais, fan posíbel que os navegadores inalámbricos multi-modais con capacidades gráficas limitadas (p.ex., "buscas" e telemóbeis que se poden conectar à web) podan usar as tabelas.
As tabelas non deberian ser usadas meramente para dispor o conteúdo do documento, xa que isto pode apresentar problemas ao mostrá-las en médios non visuais. Ademáis, ao se usaren con gráficos, estas tabelas poden obrigar aos usuários a desprazar-se horizontalmente para ver unha tabela deseñada nun sistema cunha pantalla máis grande. Para reducir estes problemas, os autores deberian usar follas de estilo para controlar o deseño en vez de tabelas.
Nota. Esta especificación inclui información máis detallada sobre tabelas nas seccións sobre consideracións sobre o deseño de tabelas e cuestións de implementación .
Velaqui unha tabela simples que ilustra algunhas das características do modelo de tabelas da HTML. A seguinte definición de tabela:
<TABLE border="1"
summary="Esta tabela mostra algunhas estatísticas sobre
moscas da fruta: altura e peso médios e percentaxe
con ollos vermellos (tanto para machos como fémeas).">
<CAPTION><EM>Tabela de proba con celas unidas</EM></CAPTION>
<TR><TH rowspan="2"><TH colspan="2">Média
<TH rowspan="2">Ollos<BR>vermellos
<TR><TH>altura<TH>peso
<TR><TH>Machos<TD>1.9<TD>0.003<TD>40%
<TR><TH>Fémeas<TD>1.7<TD>0.002<TD>43%
</TABLE>
poderia-se mostrar asi nun dispositivo tty:
Tabela de proba con celas unidas
/-----------------------------------------\
| | Média | Ollos |
| |-------------------| vermellos|
| | altura | peso | |
|-----------------------------------------|
| Machos | 1.9 | 0.003 | 40% |
|-----------------------------------------|
| Fémeass | 1.7 | 0.002 | 43% |
\-----------------------------------------/
ou asi nun axente de usuário gráfico:
<!ELEMENT TABLE - -
(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
<!ATTLIST TABLE -- elemento de tabela --
%attrs; -- %coreattrs, %i18n, %events --
summary %Text; #IMPLIED -- propósito/estrutura para saída de voz --
width %Length; #IMPLIED -- ancho da tabela --
border %Pixels; #IMPLIED -- controla o ancho da moldura arredor da tabela --
frame %TFrame; #IMPLIED -- que partes mostrar da moldura --
rules %TRules; #IMPLIED -- liñas entre filas e colunas --
cellspacing %Length; #IMPLIED -- espaciado entre as celas --
cellpadding %Length; #IMPLIED -- espaciado dentro das celas --
>
Etiqueta inicial: requerida, Etiqueta final: requerida
Definicións dos atributos
Atributos que se definen noutro lugar
O elemento TABLE contén todos os outros elementos que especifican lexenda, filas, conteúdo e formato.
A seguinte lista informativa decrebe que operacións poden realizar os axentes de usuário ao mostrar unha tabela:
O modelo de tabela da HTML deseñou-se de xeito que, coa axuda do autor, os axentes de usuário poidan mostrar as tabelas incrementalmente (isto é, segundo van chegando as filas da tabela) en vez de ter que agardar a que cheguen todos os dados antes de mostrá-los.
Para que un axente de usuário formate unha tabela nunha pasada, os autores deben-lle dicer ao axente de usuário:
Máis en concreto, un axente de usuário pode mostrar unha tabela nunha única pasada cando os anchos das colunas se especifiquen usando unha combinación de elementos COLGROUP e COL . Se algunha das colunas se especifica en termos relativos ou de percentaxes (ver a sección sobre o cálculo do ancho das colunas ), os autores tamén deben especificar o ancho da tabela mesma.
A direccionalidade da tabela é, ora a direccionalidade herdada (por omisión é de esquerda a direita), ora a especificada polo atributo dir do elemento TABLE .
Nunha tabela de esquerda a direita, a coluna cero está na parte esquerda e a fila cero está na parte superior. Nunha tabela de direita a esquerda, a coluna cero está na parte direita e a fila cero está na parte superior.
Cando un axente de usuário lle asigna celas extra a unha fila (ver a sección sobre cálculo do número de colunas dunha tabela ), adicionan-se celas de fila extra à direita da tabela en tabelas de esquerda a direita e à esquerda en tabelas de direita a esquerda.
Observe-se que TABLE é o único elemento no que dir invirte a orde visual das colunas; unha fila de tabela única () ou un grupo de colunas () non se poden invertir independentemente.
Cando se indica para o elemento TABLE , o atributo dir tamén afecta à dirección do texto dentro das celas da tabela (xa que o atributo dir é herdado polos elementos de nível de bloco).
Para especificar unha tabela de direita a esquerda, seleccione o atributo dir como segue:
<TABLE dir="RTL">
...resto da tabela... </TABLE>
A dirección do texto en celas individuais pode-se trocar indicando-o no atributo dir nun elemento que define a cela. Consulte a sección sobre texto bidireccional para máis información sobre cuestións de dirección de texto.
<!ELEMENT CAPTION - - (%inline;)* -- lexenda de tabela -->
<!ATTLIST CAPTION
%attrs; -- %coreattrs, %i18n, %events --
>
Etiqueta inicial: requerida, Etiqueta final: requerida
Definicións dos atributos
Atributos que se definen noutro lugar
Se está presente, o texto do elemento CAPTION deberia descreber a natureza da tabela. O elemento CAPTION só se permite imediatamente depóis da etiqueta inicial TABLE . Un elemento TABLE só pode conter un elemento CAPTION .
Os axentes de usuário visuais permiten que as persoas con visión comprendan rapidamente a estrutura da tabela a partir dos cabezallos, asi como da lexenda. Unha consecuéncia disto é que as lexendas serán con frecuéncia inapropriadas como resumo do obxectivo e estrutura da tabela desde a perspectiva de quen use axentes de usuário non visuais.
Os autores, polo tanto, deberian ter cuidado de fornecer información adicional que resuma o obxectivo e a estrutura da tabela usando o atributo summary do elemento TABLE . Isto é especialmente importante en tabelas sen lexendas. Os exemplos que se dan máis abaixo ilustran o uso do atributo summary.
Os axentes de usuário visuais deberian evitar recortar calquer parte da tabela, incluída a lexenda, a non ser que fornezan un modo de aceder a todas as partes, p.ex., mediante o desprazamento horizontal ou vertical. Recomendamos que o texto da lexenda se construa co mesmo ancho que a tabela (Ver tamén a sección sobre algoritmos de representación recomendados .)
Etiqueta inicial: requerida, Etiqueta final: opcional
<!ELEMENT TBODY O O (TR)+ -- corpo da tabela -->
Etiqueta inicial: opcional, Etiqueta final: opcional
<!ATTLIST (THEAD|TBODY|TFOOT) -- sección de tabela --
%attrs; -- %coreattrs, %i18n, %events --
%cellhalign; -- aliñamento horizonal nas celas --
%cellvalign; -- aliñamento vertical nas celas --
>
Atributos que se definen noutro lugar
As filas das tabelas poden-se agrupar en cabezallo de tabela, pé de tabela e unha ou máis seccións de corpo de tabela usando os elementos THEAD , TFOOT e TBODY respectivamente. Esta división permite que os axentes de usuário aceiten o deslocamento de corpos de tabela independentemente do cabezallo e o pé da tabela. Cando se impriman tabelas longas, a información do cabezallo e pé de tabela pode-se repetir en cada páxina que conteña dados de tabela.
O cabezallo e pé de tabela deberian conter información sobre as colunas da tabela. O corpo da tabela deberia conter filas de dados de tabela.
De estaren presentes, cada elemento THEAD , TFOOT e TBODY contén un grupo de filas. Cada grupo debe conter polo menos unha fila, definida co elemento TR .
Este exemplo ilustra a orde e estrutura de cabezallos, pés e corpos de tabelas.
<TABLE>
<THEAD>
<TR> ...información de cabezallo... </THEAD> <TFOOT> <TR> ...información de pé.. </TFOOT> <TBODY> <TR> ...primeira fila de dados do bloco un... <TR> ...segunda fila de dados do bloco un... </TBODY> <TBODY> <TR> ...primeira fila de dados do bloco dous... <TR> ...segunda fila de dados do bloco dous... <TR> ...terceira fila de dados do bloco dous... </TBODY> </TABLE>
TFOOT debe aparecer antes de TBODY dentro dunha definición de TABLE para que os axentes de usuário podan mostrar o pé antes de receberen todas as (potencialmente numerosas) filas de dadas. O que segue resume que etiquetas se requiren e cais se poden omitir:
Os axentes de usuário conformes deben obedecer estas regras por razóns de compatibilidade para trás.
A tabela do exemplo anterior poderia-se abreviar retirando algunhas etiquetas finais, como en:
<TABLE>
<THEAD>
<TR> ...información do cabezallo... <TFOOT> <TR> ...información do pé... <TBODY> <TR> ...primeira fila de dados do bloco un... <TR> ...segunda fila de dados do bloco un... <TBODY> <TR> ...primeira fila de dados do bloco dous... <TR> ...segunda fila de dados do bloco dous... <TR> ...terceira fila de dados do bloco dous... </TABLE>
As seccións THEAD , TFOOT e TBODY deben conter o mesmo número de colunas.
Os grupos de colunas permiten que os autores creen divisións estruturais dentro dunha tabela. Os autores poden resaltar esta estrutura mediante follas de estilo ou atributos HTML (p.ex., o atributo rules do elemento TABLE ). Para un exemplo da apresentación visual de grupos de colunas, consulte a tabela de exemplo .
Unha tabela pode, ben conter un único grupo de colunas implícito (non hai elemento COLGROUP que delimite a coluna), ben calquer número de grupos de colunas explícitos (cada un delimitado por un elemento COLGROUP ).
O elemento COL permite que os autores compartillen aributos entre várias colunas sen implicar nengun agrupamento estrutural. A "extensión" ("span") do elemento COL é o número de colunas que compartillara os atributos do elemento.
<!ELEMENT COLGROUP - O (COL)* -- grupo de colunas de tabela -->
<!ATTLIST COLGROUP
%attrs; -- %coreattrs, %i18n, %events --
span NUMBER 1 -- número de colunas nun grupo por omisión --
width %MultiLength; #IMPLIED -- ancho por omisión de colunas englobadas --
%cellhalign; -- aliñamento horizontal das celas --
%cellvalign; -- aliñamento vertical das celas --
>
Etiqueta inicial: requerida, Etiqueta final: opcional
Definicións dos atributos
Os axentes de usuário deben ignorar este atributo se o elemento COLGROUP contén un ou máis elementos COL .
Este atributo especifica un ancho por omisión para cada coluna do grupo de colunas actual. Ademáis dos valores en píxeis, percentaxes e valores relativos padróns, este atributo permite a forma especial "0*" (cero asterisco), que significa que o ancho de cada coluna do grupo deberia ser o ancho mínimo para conter os conteúdos da coluna. Isto implica que se deban coñecer os conteúdos inteiros dunha coluna antes de que se poda computar correctamente o seu ancho. Os autores deberian ter en conta que especificar "0*" evitará que os axentes de usuário mostren a tabela incrementalmente.
Este atributo anula-se en calquer coluna no grupo de colunas cuxo ancho se especifique mediante un elemento COL .
Atributos que se definen noutro lugar
O elemento COLGROUP crea un grupo de colunas explícito. O número de colunas no grupo de colunas pode-se especificar de duas maneiras, mutualmente excluíntes:
A avantaxe de usar o atributo span é que os autores poden agrupar información sobre anchos de colunas. Asi, se unha tabela contén cuarenta colunas, cada unha delas dun ancho de 20 píxeis, é máis fácil escreber:
<COLGROUP span="40" width="20">
</COLGROUP>
que:
<COLGROUP>
<COL width="20">
<COL width="20">
...até un total de 40 elementos COL... </COLGROUP>
Cando sexa necesário individualizar unha coluna (p.ex., para información de estilo, para especificar información de ancho.) dentro dun grupo, os autores deben identificar esa coluna cun elemento COL . Asi, para aplicar unha información de estilo especial à última coluna da tabela anterior, individualizamo-la como segue:
<COLGROUP width="20">
<COL span="39">
<COL id="formata-me-especialmente">
</COLGROUP>
O atributo width do elemento COLGROUP herdan-no as 40 colunas. O primeiro elemento COL refere-se às primeiras 39 colunas (sen lles facer nada especial) e o segundo asinga-lle un valor id à cuadraxéxima coluna para que as follas de estilo se podan referir a ela.
A tabela do exemplo seguinte contén dous grupos de colunas. A primeira coluna contén 10 colunas e o segundo 5 colunas. O ancho por omisión de cada coluna do primeiro grupo de colunas é 50 píxeis. O ancho de cada coluna no segundo grupo de colunas será o mínimo requerido para esa coluna.
<TABLE>
<COLGROUP span="10" width="50">
<COLGROUP span="5" width="0*">
<THEAD>
<TR><TD> ... </TABLE>
<!ELEMENT COL - O EMPTY -- coluna de tabela -->
<!ATTLIST COL -- grupos de colunas e propriedades --
%attrs; -- %coreattrs, %i18n, %events --
span NUMBER 1 -- Os atributos COL afectan N colunas --
width %MultiLength; #IMPLIED -- especificación do ancho de coluna --
%cellhalign; -- aliñamento horizontal en celas --
%cellvalign; -- aliñamento vertical en celas --
>
Etiqueta inicial: requerida , Etiqueta final: proibida
Definicións dos atributos
Atributos que se definen noutro lugar
O elemento COL permite que os autores agrupen as especificacións de atributos das colunas das tabelas. COL non agrupa as colunas xuntas estruturalmente -- ese é o papel do elemento COLGROUP . Os elementos COL están vacios e serven só como apoio para os atributos. Poden aparecer dentro ou fora dun grupo de colunas excplícito (isto é, un elemento COLGROUP ).
O atributo width de COL refere-se ao ancho de cada coluna na extensión do elemento.
Hai duas maneiras de determinar o número de colunas dunha tabela (en orde de prioridade):
É un erro que unha tabela conteña elementos COLGROUP ou COL e que os dous cálculos non resulten no mesmo número de colunas.
Unha vez que o axente de usuário calcule o número de colunas da tabela, pode-as agrupar en grupos de colunas.
Por exemplo, por cada unha das tabelas seguintes, os dous métodos de cálculo de colunas resultan en tres colunas. As tres primeiras tabelas poden-se mostrar incrementalmente.
<TABLE>
<COLGROUP span="3"></COLGROUP>
<TR><TD> ... ...filas... </TABLE> <TABLE> <COLGROUP> <COL> <COL span="2"> </COLGROUP> <TR><TD> ... ...filas... </TABLE> <TABLE> <COLGROUP> <COL> </COLGROUP> <COLGROUP span="2"> <TR><TD> ... ...filas... </TABLE> <TABLE> <TR> <TD><TD><TD> </TR> </TABLE>
Os autores poden especificar os anchos das colunas de tres maneiras:
Porén, se a tabela non ten un ancho fixo, os axentes de usuário deben receber todos os dados da tabela antes de que poidan determinar o espazo horizontal que require a tabela. Só entón se pode asignar ese espazo a colunas proporcionais.
Se un autor non especifica información sobre o ancho dunha coluna, un axente de usuário pode non ser capaz de formatar a tabela incrementalmente dado que debe agardar a que chegue a coluna de dados inteira para poder asignar o ancho apropriado.
Se os anchos das colunas resultan demasiados estreitos para os conteúdos dunha cela de tabela determinada, os axentes de usuário poden escoller redeseñar a tabela.
A tabela deste exemplo contén seis colunas. A primeira non pertence a un grupo de colunas explícito. As tres seguintes pertencen ao primeiro grupo de colunas explícito e as duas últimas pertencen ao segundo grupo de colunas explícito. Esta tabela non se pode formatar incrementalmente dado que contén especificacións de ancho de coluna proporcionais e nengun valor para o atributo width do elemento TABLE .
Unha vez que o axente de usuário (visual) recebeu os dados da tabela, o axente de usuário asignará o espazo como segue: Primeiro, o axente de usuário asignara-lle 30 píxeis às colunas un e dous. Depóis, reservará-se o espazo mínimo requerido pola terceira coluna. O espazo horizontal restante dividirá-se en seis porcións iguais (dado que 2* + 1* + 3* = 6 porcións). A coluna catro (2*) receberá duas desas porcións, a coluna cinco (1*) receberá unha e a coluna seis (3*) receberá tres.
<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> ... ...filas... </TABLE>
Indicamos que o atributo align do terceiro grupo de colunas sexa "center" (centrado). Todas as celas de calquer coluna deste grupo herdarán este valor, mais poden-no anular. Con efeito, o COL final é o que fai, ao especificar que cada cela da coluna que governa se aliñe no carácter ":".
Na seguinte tabela, as especificacións de ancho de coluna permiten que o axente de usuário fomate a tabela incrementalmente:
<TABLE width="200">
<COLGROUP span="10" width="15">
<COLGROUP width="*">
<COL id="penultima-coluna">
<COL id="ultima-coluna">
<THEAD>
<TR><TD> ... ...filas... </TABLE>
As primeiras dez colunas terán 15 píxeis de ancho cada unha. Cada unha das duas últimas colunas receberá a metade dos 50 píxeis restantes. Observe-se que os elementos COL aparecen só para que se poda especificar un valor id para as duas últimas colunas.
Nota. Ainda que o atributo width no elemento TABLE non está desaprovado, recomenda-se-lles aos autores que usen follas de estilo para especificar anchos de colunas.
<!ELEMENT TR - O (TH|TD)+ -- fila de tabela -->
<!ATTLIST TR -- fila de tabela --
%attrs; -- %coreattrs, %i18n, %events --
%cellhalign; -- aliñamento horizontal nas celas --
%cellvalign; -- aliñamento vertical nas celas --
>
Etiqueta inicial: requerida, Etiqueta final: opcional
Atributos que se definen noutro lugar
Os elementos TR actuan como contentores dunha fila de celas de tabela. Pode-se omitir a etiqueta final.
Esta tabela de exemplo contén tres filas, cada unha iniciada co elemento TR :
<TABLE summary="Esta tabela mostra o número de tazas
de café consumidas por cada senador, o tipo
de café (descafeinado ou normal), e se
se tomaron con azúcar.">
<CAPTION>Tazas de café consumidas por cada senador</CAPTION>
<TR> ...Fila de cabezallo... <TR> ...Primeira fila de dados... <TR> ...Segunda fila de dados... ...resto da tabela... </TABLE>
<!ELEMENT (TH|TD) - O (%flow;)* -- cela de cabezallo de tabela, cela de dados de tabela -->
<!-- O rango é máis simple que o atributo de cabezallos das tabelas normais -->
<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
<!-- TH é para cabezallos, TD para dados, mais para celas que se usen como ambos, use-se TD -->
<!ATTLIST (TH|TD) -- cela de cabezallo ou de dados --
%attrs; -- %coreattrs, %i18n, %events --
abbr %Text; #IMPLIED -- abreviatura para cela de cabezallo --
axis CDATA #IMPLIED -- lista separada por vírgulas de cabezallos relacionados--
headers IDREFS #IMPLIED -- lista de id para celas de cabezallo --
scope %Scope; #IMPLIED -- rango coberto polas celas de cabezallo --
rowspan NUMBER 1 -- número de filas polas que se extende unha cela --
colspan NUMBER 1 -- número de colunas polas que se extende unha cela --
%cellhalign; -- aliñamento horizontal nas celas --
%cellvalign; -- aliñamento vertical nas celas --
>
Etiqueta incicial: requerida, Etiqueta final: opcional
Definicións dos atributos
Atributos que se definen noutro lugar
As celas de tabelas poden conter dous tipos de información:
información de cabezallo e
dados.
Esta distinción permite que os axentes de usuário
mostren as celas de cabezallo e de dados de maneira distinta, mesmo na
auséncia de follas de estilo. Por exemplo, os axentes de usuário
visuais poden mostrar o texto da cela de cabezallo en negrita. Os sintetizadores
de voz poden mostrar a información de cabezallo cunha inflexión
do ton de voz distinta
O elemento TH define unha cela que contén información de cabezallo. Os axentes de usuário dispoñen de duas informacións de cabezallo: os conteúdos do elemento TH e o valor do atributo abbr . Os axentes de usuário deben mostrar tanto os conteúdos da cela ou o valor do atributo abbr . Para os médios visuais, este último pode ser apropriado cando non hai espazo dabondo para mostrar os conteúdos inteiros da cela. Para os médios non visuais, pode-se usar abbr para os cabezallos de tabela cando estes se mostran xunto cos conteúdos das celas aos que se aplican.
Os atributos headers e scope tamén permiten que os autores axuden aos axentes de usuário non visuais a procesaren a información de cabezallo. Consulte a sección sobre etiquetaxe de celas para axentes de usuário non visuais para máis información e exemplos.
O elemento TD define unha cela que contén dados.
As celas poden estar vacias (isto é, non conteren dados).
Por exemplo, a tabela seguinte contén catro colunas de tabela, cada unha encabezada por unha descrición da coluna.
<TABLE summary="Esta tabela mostra o número de tazas
de café consumidas por cada senador, o tipo
de café (descafeinado ou normal), e se
se tomaron con azúcar.">
<CAPTION>Tazas de café consumidas por cada senador</CAPTION>
<TR>
<TH>Nome</TH>
<TH>Tazas</TH>
<TH>Tipo de café</TH>
<TH>Azúar?</TH>
<TR>
<TD>T. Sexton</TD>
<TD>10</TD>
<TD>Expreso</TD>
<TD>Non</TD>
<TR>
<TD>J. Dinnen</TD>
<TD>5</TD>
<TD>Descafeinado</TD>
<TD>Si</TD>
</TABLE>
Un axente de usuário nun dispositivo tty poderia-o mostrar asi:
Nome Tazas Tipo de café Azúcar? T. Sexton 10 Expreso Si J. Dinnen 5 Descafeinado Non
As celas poden-se extender por várias filas ou colunas. O número de filas ou colunas polas que se extende unha cela indica-se cos atributos rowspan e colspan dos elementos TH e TD .
Nesta definición de tabela, especificamos que a célula da cuarta fila, segunda coluna, deberia-se extender por un total de tres colunas, incluída a coluna actual.
<TABLE borde="1">
<CAPTION>Tazas de té consumidas por cada senador</CAPTION>
<TR><TH>Nome<TH>Tazas<TH>Tipo de café<TH>Azúcar?
<TR><TD>T. Sexton<TD>10<TD>Expreso<TD>Non
<TR><TD>J. Dinnen<TD>5<TD>Descafeinado<TD>Si
<TR><TD>A. Soria<TD colspan="3"><em>Non disponíbel</em>
</TABLE>
Esta tabela podia ser mostrada por un axente visual nun dispositivo tty asi: