W3C home > Mailing lists > Public > public-html@w3.org > August 2007

Stephen Ferg's Table Research

From: Ben 'Cerbera' Millard <cerbera@projectcerbera.com>
Date: Mon, 13 Aug 2007 15:08:43 +0100
Message-ID: <00ee01c7ddb3$7745b510$0201a8c0@ben9xr3up2lv7v>
To: "HTMLWG" <public-html@w3.org>
Cc: "Stephen Ferg" <ferg_s@bls.gov>

The research conducted a few years ago by Stephen Ferg [1] has been cited in 
public-html discussions previously [2]. Ian Hickson's reply [3] dismissed 
the headers="" techniques it suggested:
> scope="" handles this fine.

I've been having off-list discussions with Simon 'zcorpan' Pieters about 
header association in tables. "Nested row headers" [4][5][6] seem difficult 
to do in HTML with scope="" unless one re-arranges the cells to use 
rowspan="" or applies the headers+id technique. As such, I think Ian's 
conclusion may need revisiting for this case.

I contacted Stephen Ferg about the opportunity for his research to shape 
HTML5. His response from 6th August 2007 is included here:

The web site is http://stats.bls.gov

The system that was eventually built on the basis of my original
research is called TGS (Table Generation System).  It is used to
generate most of the regional tables on the BLS (Bureau of Labor
Statistics) web site.  (Currently we are adding the capability to TGS to
generate tables in formats other than HTML: XML, PDF, and Excel.)  The
plan is for TGS eventually to be used to generate virtually all of the
tables on the BLS site.

The page for BLS region 5 (Chicago/midwest) is
If you click on just about any of the links, you will go to a page with
TGS-generated tables.  And of course there are pages for all 6 BLS

You can see an example of a TGS-generated table at

As you can see, the far righthand headers are 3 deep: Percent change >
12 months ended > Jun 2007.

In this table, note also the stub headings, which nest to 4 levels,
e.g.:US City Average > Midwest Region > Midwest City Size Class > A.

In the same table, note also the implementation of footnotes (footnote
references jump to the footnote at the bottom of the table).  This was
the subject of one of my proposals.

I've never done an automated analysis of the structure of the TGS
production tables.  (That might be interesting!) I'd say that most
tables have two rows of headers.  A smaller number (but still a
substantial proportion) have one row, and a smaller number have 3 rows.
TGS makes it easy to create tables with any desired number of levels of
column headers, so the decision on how many levels of column headers is
one of appropriateness, user-friendliness, and taste.

-- Steve Ferg

He has written up some other proposals for the authoring of HTML data tables 

His ideas have been applied to the genuine data on the Bureau of Labor 
Statistics's website for a few years. Even if you don't agree with the 
proposals, I think it's a valuable insight into how one educated content 
author is trying to work around limitations in the current table model.

[1] <http://www.ferg.org/section508/accessible_tables.html>
[2] <http://lists.w3.org/Archives/Public/public-html/2007May/1032.html>
[3] <http://lists.w3.org/Archives/Public/public-html/2007May/1036.html>
[4] <http://www.ferg.org/section508/accessible_tables_recommendations.html>
[5] <http://sitesurgeon.co.uk/tables/clark2006/06-gui/>
[6] <http://www.nsf.gov/statistics/gradpostdoc/94supp/sup19/txt/i2.htm>
[7] <http://www.ferg.org/section508/htp00_proposal.html>

Ben 'Cerbera' Millard
Collections of Interesting Data Tables
Received on Monday, 13 August 2007 14:09:11 UTC

This archive was generated by hypermail 2.4.0 : Saturday, 9 October 2021 18:44:19 UTC