The following is an example of sample markup for a table without TH information:
<TABLE>
<CAPTION>A table without any HD tags</CAPTION>
<COL WIDTH=1*>
<COL WIDTH=1*>
<TR>
<TD>AAAAA AA AAAA AAA AAAA AA A AAAAA AAAA AAAAA</TD>
<TD>BB BBBB BB BBBB BBBBBB B BBB BB BBBBB BBBB BBB</TD>
</TR>
<TR>
<TD>DDD DD DDDD DD DDDD DDD DDDDD DDD DD DDDD D DDDD</TD>
<TD>E EE EEEE EE EEEE E EEEEE EE EEEEE EE EEE EEEE EE</TD>
</TR>
</TABLE>
For a particular narrow window for rendering and large font size choice the <TD> cell contents might fold in a visual user agent to appear as:
| AAAAA AA AAAA AAA AAAA AA A AAAAA AAAA AAAAA | BB BBBB BB BBBB BBBBBB B BBB BB BBBBB BBBB BBB |
| DDD DD DDDD DD DDDD DDD DDDDD DDD DD DDDD D DDDD | E EE EEEE EE EEEE E EEEEE EE EEEEE EE EEE EEEE EE |
Tabular information can confuse users with certain dependent user agents that are unaware of cell content display requiring more than one line.
A table without any HD tagsAAAAA AA AAAA AAA AAAA BB BBBB BB BBBB BBBBBB AA A AAAAA AAAA AAAAA B BBB BB BBBBB BBBB BBBDDD DD DDDD DD DDDD DDD E EE EEEE EE EEEE E EEEEEDDDDD DDD DD DDDD D DDDD EE EEEEE EE EEE EEEE EEUser agents should be able to serialize the table -- render it one cell at a time -- to reduce confusion.
Users should be able to specify whether they want the cells rendered in row order or column order.
A serialization based on row order that preserves the visual folding would be rendered as:
A table without any HD tagsAAAAA AA AAAA AAA AAAA
AA A AAAAA AAAA AAAAABB BBBB BB BBBB BBBBBB
B BBB BB BBBBB BBBB BBBDDD DD DDDD DD DDDD DDD
DDDDD DDD DD DDDD D DDDDE EE EEEE EE EEEE E EEEEE
EE EEEEE EE EEE EEEE EEA serialization based on column order would be rendered as:
A table without any HD tagsAAAAA AA AAAA AAA AAAA
AA A AAAAA AAAA AAAAADDD DD DDDD DD DDDD DDD
DDDDD DDD DD DDDD D DDDDBB BBBB BB BBBB BBBBBB
B BBB BB BBBBB BBBB BBBE EE EEEE EE EEEE E EEEEE
EE EEEEE EE EEE EEEE EETable serialization without preserving the visual folding is logically more consistent, though the folded form may be valuable to remain synchronized with the visual rendering where both are in use at the same time.
In row order:
A table without any HD tagsAAAAA AA AAAA AAA AAAA AA A AAAAA AAAA AAAAABB BBBB BB BBBB BBBBBB B BBB BB BBBBB BBBB BBBDDD DD DDDD DD DDDD DDD DDDDD DDD DD DDDD D DDDDE EE EEEE EE EEEE E EEEEE EE EEEEE EE EEE EEEE EEA table without any HD tagsAAAAA AA AAAA AAA AAAA AA A AAAAA AAAA AAAAADDD DD DDDD DD DDDD DDD DDDDD DDD DD DDDD D DDDDBB BBBB BB BBBB BBBBBB B BBB BB BBBBB BBBB BBBE EE EEEE EE EEEE E EEEEE EE EEEEE EE EEE EEEE EEUsers may choose different mechanisms for rendering cell header information (e.g., render row and/or column header information before each cell, render row header information once at the beginning of the row, ask for cell identification, etc.) The HTML 4.0 specification (see [HTML40], chapter 11 and in particular section 11.4.3) and the CSS 2 specification (see [CSS2], chapters 12, 17, and 19) describe mechanisms for structuring tables, identifying headers, and rendering them in accessible ways.
See also the section on table navigation for related information.
Note. Table serialization is important for tables used to structure tabular information as well as those used to lay out blocks of information.
The following is an example of sample markup for a table with TH information:
<TABLE>
<CAPTION>A 3 by 3 data table using HD tags for row stubs and column heads</CAPTION>
<TR>
<TH></TH>
<TH>R/C</TH>
<TH>HD1</TH>
<TH>HD2</TH>
</TR>
<TR>
<TH>RS1</TH>
<TD>Data 11</TD>
<TD>Data 12</TD>
</TR>
<TR>
<TR>
<TH>RS2</TH>
<TD>Data 21</TD>
<TD>Data 22</TD>
</TR>
</TABLE>
That table might be rendered as:
| R/C | HD1 | HD2 |
|---|---|---|
| RS1 | Data 11 | Data 12 |
| RS2 | Data 21 | Data 22 |
A serialization based on row order with row and column identification on each cell would be rendered fully including the HD cells and their content as:
A 3x3 data table using HD tags for column heads and row stubs
Row: R/C Column: R/C
R/CRow: R/C Column: HD1
HD1Row: R/C Column: HD2
HD2Row: RS1 Column: R/C
RS1Row: RS1 Column: HD1
Data 11Row: RS1 Column: HD2
Data 12Row: RS2 Column: R/C
R/CRow: RS2 Column: HD1
Data 21Row: RS2 Column: HD2
Data 22A serialization based on column order would be rendered as:
A 3x3 data table using HD tags for column heads and row stubs
Row: R/C Column: R/C
R/CRow: R/C Column: HD1
HD1Row: R/C Column: HD2
HD2Row: RS1 Column: R/C
RS1Row: RS1 Column: HD1
Data 11Row: RS1 Column: HD2
Data 12Row: RS2 Column: R/C
R/CRow: RS2 Column: HD1
Data 21Row: RS2 Column: HD2
Data 22With that much identifying information, the above examples can be simplified by suppressing those redundant descriptions of the TH cell content. For example in row order:
A 3x3 data table using HD tags for column heads and row stubs
Row: RS1 Column: HD1
Data 11Row: RS1 Column: HD2
Data 12Row: RS2 Column: HD1
Data 21Row: RS2 Column: HD2
Data 22Tabular information can confuse users with certain dependent user agents. User agents should be able to serialize the table -- render it one cell at a time -- to reduce confusion.
Users should be able to specify whether they want the cells rendered row order or column order.
Users may choose different mechanisms for rendering cell header information (e.g., render row and column header information before each cell, render row header information once at the beginning of the row, etc.) The HTML 4.0 specification (see [HTML40], chapter 11 and in particular section 11.4.3) and the CSS 2 specification (see [CSS2], chapters 12, 17, and 19) describe mechanisms for structuring tables, identifying headers, and rendering them in accessible ways.
See also the section on table navigation for related information.
Note. Table serialization is important for tables used to structure tabular information as well as those used to lay out blocks of information.
Allow the user to determine the structure of tables (how many rows and how many columns in each of its sections), and any nesting of tables in cells of other tables.
A table navigation mechanism should also provide the user with information about the current table cell (see the guidelines on alternative representations of tables).