- From: Orion Adrian <orion.adrian@gmail.com>
- Date: Fri, 1 Jul 2005 11:39:13 -0400
- To: www-style@w3.org
On 7/1/05, Laurens Holst <lholst@students.cs.uu.nl> wrote: > Orion Adrian wrote: > > >colspan, rowspan. > > > >They're presentational. > > > >Say, for instance, you have a row that's N/A. Really it's N/A in all > >those intersections between one axis and another. A non-presentational > >version of HTML tables would be: > ><table> > >... > ><record> > > <th>Detroit</td> > > <c>N/A</c> > > <c>N/A</c> > > <c>N/A</c> > > <c>N/A</c> > > <c>N/A</c> > ></record> > >... > ></table> > > > >table { > > col-merge-on-value: "N/A" > >} > > > >A table is a way of presenting data. There are no row or column spans > >in the matrix that that table represents. There are presentation rules > >however that make it easier to parse. Like merging like values with > >something is N/A. > > > > > That is absolute and utter nonsense! Colspan and rowspan are meant to > reduce repetition, to say that a certain table cell applies to more than > one row or columns. They are in no way presentational. Quoting the current 2.0 spec: "This attribute specifies the number of columns spanned by the current cell. The default value of this attribute is one ("1"). The value zero ("0") means that the cell spans all columns from the current column to the last column of the column group ( colgroup) in which the cell is defined." This, by the way, mentions nothing of saving repetition. It merely states that it cell spans mutiple columns. It places no semantic meaning for that spanning and in the field it gets abused quite a bit. The examples shown for how they work are purely presenational with the one exception that show N/A which uses <em> instead of classes. > As an example, look at: http://map.tni.nl/resources/msxsystemvars.php#USRTAB > Or the third table at: > http://map.tni.nl/resources/msx_io_ports.php#switch_io > > They are for that reason also not marked as deprecated in the HTML > specification. And I'm disagreeing with them. That's the point of this list right? The examples you gave use rowspan for presentation. This all came about a long time ago. I did something which I considered very neat at the time and years later it proved to be an invaluable lesson. I had a large Excel spreadsheet (this was in 97 so not a whole lot of other alternatives) and in it one column had a lot of repeating data in blocks. Now the problem was that it wasn't very reabible as so the user of this spreadsheet that I created went and deleted the extraneous values in those fields so that it was easier to parse. Now the problem occured when the user sorted it by a different column and then later tried to sort it back using the column with missing data. I think everyone can guess what happened: all the rows with empty values for that column were sorted together mangling the data. A rowspan here would have had one or more effects. She couldn't sort the data on the other column. Tables represent matrixes of data. Rowspan and colspan are used to avoid repetition, but ignore the fact that that data is designed to be reorganized and queried. Orion Adrian
Received on Friday, 1 July 2005 15:39:18 UTC