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/ContentPlatforms
Desktop ApplicationsConsumer Platforms
Desktop FinanceDesktop & 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.