HTML Presentation of Tables
Greg Lowney
Senior Program Manager
Accessibility and Disabilities Group
Microsoft Corporation
May 24, 1996. Updated June 23, 1997.
Introduction
This discusses how tables can be described for people who
cannot view the table in its visual form. This includes
people who are having screen contents described to them by a
blind-access utility, and also how translation programs can
create textual versions of complex documents1. This document
is oriented around HTML, although much of it could and
should eventually apply to other files formats such as Word
documents and Excel spreadsheets.
The things I think are missing today include:
1. The browser2 should allow the user to view a table in
several alternate presentation, unrolled by each of the
orientation classes listed below. That is useful for tables
that lack an orientation tag—the user can try out different
views until they find one that makes the data make sense.
The browser can construct these alternate pages on the fly.
(It is also possible that a blind access utility could do
this work…but only if the COM table model becomes
standardized around the HTML 3.2 standard, and of course
that would not help people who needed this for reason of
cognitive disabilities or any reason other than blindness.)
2. The author should be able to specify the nature of a
table. This consists of two attributes: (a) whether it is
organized as records, lists, or neither, and (b) the order
in which the table should be read. The former helps the
reader understand the table, the latter helps the browser
present it in a reasonable form.
3. Authors should use the TH tag to identify any cell that
is a row or column header. In the case of a table consisting
of lists, it is possible to have several lists in the same
row or column, in which case it is especially important to
use TH to identify the start of a new list.3 Note that the
author may choose to use style sheets to override the
default formatting caused by the TH tag.
Table Attributes
I see two ways of accomplishing this, either by combining
the two factors into a single table attribute, or by using
two separate attributes.
One attribute syntax
Allow the author to specify the nature of the table with a
single attribute that combines several factors. The
following values would be defined:
·
means that each row is
a record, each column a value in that record. The table
should be unrolled as all values in the first record,
followed by all values in the second record, and so forth.
However, the table would usually make sense if unrolled as
the first value in the first record, followed by the first
value in the second record, and so forth. For example, you
might normally want to read each salesperson’s totals by
month, but occasionally want to scan down a column to hear
how each salesperson did in the month of April.
· means that each
column is a record, each row a value in that record. See the
description of ROWRECORDS for explanation.
· means that each row is a
list of objects, but there is no relationship between
objects in different rows that happen to occupy the same
column. The table should be unrolled as all values in the
first row, followed by all values in the second row, and so
forth.
· means that each
column is a list of objects, but there is no relationship
between objects in different columns that happen to occupy
the same row. The table should be unrolled as all values in
the first column, followed by all values in the second
column, and so forth.
· means that the table can be
viewed as row records or column records, and both are
equally valid. For example, an Excel spreadsheet is equally
a collection of rows and columns, until additional
information is provided, and each cell would be described by
both its row and column.
· means that the table is used
only as a spatial positioning grid, so rows and columns do
not necessarily imply any relationship between the objects.
Two attributes syntax
Alternatively, instead of one ORIENTATION attribute that
combines several factors, we can use two separate
attributes:
DIRECTION=
· RIGHT means that by default the table should be read
left to right then top to bottom.
· LEFT means that by default the table should be read
right to left then top to bottom.
· UP means that by default the table should be read
bottom to top then left to right.
· DOWN means that by default the table should be read top
to bottom then left to right.
In addition, the attribute could take a list of values, such
as DIRECTION=RIGHT,DOWN (the default) or DIRECTION=DOWN,LEFT
(in the case of microsoft.com pages which should be read
content first then navigation pane).
TYPE=
· RECORDS means that each row or column is a record, each
cell a value in that record. The table should be unrolled as
all values in the first record, followed by all values in
the second record, and so forth. However, the table would
usually make sense if unrolled as the first value in the
first record, followed by the first value in the second
record, and so forth. For example, you might normally want
to read each salesperson’s totals by month, but occasionally
want to learn how each salesperson did in the month of
April.
· LISTS means that each row or column is a list of
objects, but there is no relationship between objects in
different rows that happen to occupy the same column. The
table should be unrolled as all values in the first row,
followed by all values in the second row, and so forth.
· COLLECTION means that the table is being used for
layout purposes only, and there is not necessarily any
correlation between objects that line up the same row or
column.
· GRID means that the browser is unable to provide any
information about the meaning of rows or columns. For
example, an Excel spreadsheet would be a simple grid
consisting of both rows and columns, until such time as the
author provides additional information such as headings.
The following examples show the original presentation and
one or more alternate presentations based upon specific
orientations. In several cases I give both compact and
verbose presentations; the user could choose between these
as browser options.
Examples
The following examples show tables of these different types.
Presentation by Row-Records
Original
Title: Populations of the largest population agglomerations
City 199 200
0 0
Toky 26. 26.
o 9 9
Mexi 20. 27.
co 7 9
Text Presentation
This table consists of three columns. The headings are CITY,
1990, and 2000.
CITY: Tokyo
1990: 26.9
2000: 26.9
CITY: Mexico City
1990: 20.2
2000: 27.9
Verbose Aural Presentation Default Orientation
Tokyo 1990 26.9
Tokyo 2000 26.9
Mexico 1990 20.7
Mexico 2000 27.9
Compact Aural Presentation, Default Orientation
Tokyo
1990 26.9
2000 26.9
Mexico
1990 20.7
2000 27.9
Compact Aural Presentation, Rotated Orientation
1990
Tokyo 26.9
Mexico 20.7
2000
Tokyo 26.9
Mexico 27.9
Presentation by Column-Records
Original
Title: Sales by Region for 1995
Southwest Northwest
Region Region
Januar 59.7 93.4
y
Februa 62.1 92.9
ry
March . .
April . .
May . .
June
July
August
Septem
ber
Octobe
r
Novemb
er
Decemb
er
Text Presentation
This table consists of three columns labeled CITY, 1990, and
2000. There are 12 rows.
COLUMN: Southwest Region
JANUARY: 59.7
FEBRUARY: 62.1
…
COLUMN: Northwest Region
JANUARY: 93.4
FEBRUARY: 92.9
…
End of table.
Verbose Aural Presentation, Default Orientation
This table consists of three columns labeled CITY, 1990, and
2000. There are 12 rows.
Southwest Region January 59.7
Southwest Region February 62.1
Northwest Region January 93.4
Northwest Region February 92.9
...
End of table.
Compact Aural Presentation, Default Orientation
Southwest Region
January 59.7
February 62.1
Northwest Region
January 93.4
February 92.9
Presentation by Column-Lists
Original
Title: Microsoft Product Groups
Applications Platforms Cross Product
/Content
Desktop Consumer International
Applications Platforms Product Strategy
Desktop Desktop & Product
Finance Business Systems Development
Resources
Interactive Internet
Media Platform & Tools
Microsoft
Hardware
Microsoft
Research
Text Presentation
This table consists of three columns. The headings are
APPLICATIONS/CONTENT, PLATFORMS, and CROSS PRODUCT. Each
column contains a list.
COLUMN: Applications/Content
ROW 1: Desktop Applications
ROW 2: Desktop Finance
ROW 3: Interactive Media
ROW 4: Microsoft Hardware
ROW 5: Microsoft Research
COLUMN: Platforms
ROW 1: Consumer Platforms
ROW 2: Desktop & Business Systems
ROW 3: Internet Platform & Tools
COLUMN: Cross Product
ROW 1: International Product Strategy
ROW 2: Product Development Resources
Verbose Aural Presentation
COLUMN Applications/Content
ROW 1 Desktop Applications
ROW 2 Desktop Finance
ROW 3 Interactive Media
ROW 4 Microsoft Hardware
ROW 5 Microsoft Research
COLUMN Platforms
ROW 1 Consumer Platforms
ROW 2 Desktop & Business Systems
ROW 3 Internet Platform & Tools
COLUMN Cross Product
ROW 1 International Product Strategy
ROW 2 Product Development Resources
Presentation by Column-Lists
This is a more complicated example showing how a single
column (or row) can actually contain multiple lists. The
author should use the TH tag to identify the
“Applications/Content”, “Platforms”, and “Cross Product”
cells as list headings, even though the last occurs in the
middle of a column.
Applications/Conte Platforms
nt
Desktop Consumer Platforms
Applications
Desktop Finance Desktop & Business
Systems
Interactive Media Internet Platform &
Tools
Microsoft Hardware Cross Product
Microsoft Research International Product
Strategy
Product Development
Resources
HTML Source
Applications/Content | Platforms
|
Desktop Applications | Consumer Platforms
|
Desktop Finance | Desktop & Business Systems
|
Interactive Media | Internet Platforms & Tools
|
Microsoft Hardware | Cross Product
|
Microsoft Research | International Product Strategy
|
| Product Development Resources
|
Text Presentation
This table consists of two columns containing three lists,
labeled APPLICATIONS/CONTENT, PLATFORMS, and CROSS PRODUCT.
COLUMN 1:
LIST: Applications/Content
ROW 1: Desktop Applications
ROW 2: Desktop Finance
ROW 3: Interactive Media
ROW 4: Microsoft Hardware
ROW 5: Microsoft Research
COLUMN 2:
LIST: Platforms
ROW 1: Consumer Platforms
ROW 2: Desktop & Business Systems
ROW 3: Internet Platform & Tools
LIST: Cross Product
ROW 1: International Product Strategy
ROW 2: Product Development Resources
Verbose Aural Presentation
The following table consists of two columns containing three
lists, labeled APPLICATIONS/CONTENT, PLATFORMS, and CROSS
PRODUCT.
COLUMN 1
LIST 1, Applications/Content
ROW 1 Desktop Applications
ROW 2 Desktop Finance
ROW 3 Interactive Media
ROW 4 Microsoft Hardware
ROW 5 Microsoft Research
COLUMN 2
LIST 2, Platforms
ROW 1 Consumer Platforms
ROW 2 Desktop & Business Systems
ROW 3 Internet Platform & Tools
LIST 3, Cross Product
ROW 5 International Product Strategy
ROW 6 Product Development Resources
End of table.
Compact Aural Presentation
The following table consists of three lists, labeled
APPLICATIONS/CONTENT, PLATFORMS, and CROSS PRODUCT.
LIST 1, Applications/Content
1 Desktop Applications
2 Desktop Finance
3 Interactive Media
4 Microsoft Hardware
5 Microsoft Research
LIST 2, Platforms
1 Consumer Platforms
2 Desktop & Business Systems
3 Internet Platform & Tools
LIST 3, Cross Product
1 International Product Strategy
2 Product Development Resources
End of table.
Presentation of COLLECTION with non-default order
This example shows how the two-attribute syntax might be
used to describe a typical Web page with a navigation bar.
Note that in the text presentation the fact that it is a
table is ignored because the type=collection means that it
is only in a table for the author’s convenience, not to
present tabular data. Also note that the navigation bar is
read after the contents, because of the direction=down,left
attribute.
Welcome to Tom’s Page!
Contents
Search Under construction :-) I know it has been for
Index a while. But real content is coming real soon
now!
Home Copyright (C) 1997 Tom
HTML Source
Welcome to Tom’s Page!
|
Contents Search Index
| Under construction :-)
I know it has been for a while.
But real content is coming real soon now!
|
Home
| - Copyright ® 1997
Tom
|
Text Presentation
Welcome to Tom’s Page!
Under construction :-) I know it has been for a while. But
real content is coming real soon now!
Copyright (C) 1997 Tom
Contents
Search
Index
Home
_______________________________
1 See \\enable\public\rfb\ for examples of how books are
currently rendered into ASCII text files for people who have
difficulty reading or handling conventionally printed
materials.
2 Note that when I say “browser” I mean the component
providing the alternative output, such as an aural
description of the table. This may not be the Web browser in
the classical sense; it may be functionality provided by a
blind-access utility that uses Active Accessibility to learn
about the document being displayed in Internet Explorer and
then provide this additional UI.
3 Thanks to Or Ben-Natan for this suggestion.