<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Why not tables? Is CSS really better?</title>
	<atom:link href="http://www.joedolson.com/articles/2007/08/tables-or-css-layout/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.joedolson.com/articles/2007/08/tables-or-css-layout/</link>
	<description>Tips and Commentary on Web Accessibility, Usability, and Search Marketing best practices.</description>
	<pubDate>Sat, 11 Oct 2008 18:15:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>By: Rahul</title>
		<link>http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-27368</link>
		<dc:creator>Rahul</dc:creator>
		<pubDate>Fri, 19 Sep 2008 06:19:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-27368</guid>
		<description>Thanks for the analysis. I use W3C validated tables for my website and it works perfectly fine in all major browsers. Tables can be used only if one REALLY knows how and when to use them. RG.</description>
		<content:encoded><![CDATA[<p>Thanks for the analysis. I use <acronym title="World Wide Web Consortium">W3C</acronym> validated tables for my website and it works perfectly fine in all major browsers. Tables can be used only if one REALLY knows how and when to use them.&nbsp;RG.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Dolson</title>
		<link>http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20608</link>
		<dc:creator>Joe Dolson</dc:creator>
		<pubDate>Tue, 04 Sep 2007 17:19:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20608</guid>
		<description>That's probably true. I tried to align the idea of arbitrarily numerous tables in any manner as generic "bad coding," but this isn't really a clean case separation. To be fair, it could potentially even divide to five cases: CSS can unnecessary code depth as well. How to define excessively nested CSS is, of course, a bit more difficult to specify. 

The separation would allow the ability to characterize the advantages/disadvantages of different CSS implementations, as well. 

Further yet, the different methods of CSS layout could be characterized: relative positioning, absolute positioning, floats, natural order, etc. These all have different ultimate results when applied across various user-agents or browser dimensions.

Yeah, finding a valid nested-table site sounds like a challenge I don't want to take up. If such a thing even exists...

I'll definitely consider going through the analysis again with those additional instances in mind - would be interesting.</description>
		<content:encoded><![CDATA[<p>That&#8217;s probably true. I tried to align the idea of arbitrarily numerous tables in any manner as generic &#8220;bad coding,&#8221; but this isn&#8217;t really a clean case separation. To be fair, it could potentially even divide to five cases: <acronym title="Cascading Style Sheets">CSS</acronym> can unnecessary code depth as well. How to define excessively nested <acronym title="Cascading Style Sheets">CSS</acronym> is, of course, a bit more difficult to specify. </p>
<p>The separation would allow the ability to characterize the advantages/disadvantages of different <acronym title="Cascading Style Sheets">CSS</acronym> implementations, as well. </p>
<p>Further yet, the different methods of <acronym title="Cascading Style Sheets">CSS</acronym> layout could be characterized: relative positioning, absolute positioning, floats, natural order, etc. These all have different ultimate results when applied across various user-agents or browser dimensions.</p>
<p>Yeah, finding a valid nested-table site sounds like a challenge I don&#8217;t want to take up. If such a thing even exists&#8230;</p>
<p>I&#8217;ll definitely consider going through the analysis again with those additional instances in mind - would be&nbsp;interesting.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Clark</title>
		<link>http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20606</link>
		<dc:creator>Joe Clark</dc:creator>
		<pubDate>Tue, 04 Sep 2007 16:43:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20606</guid>
		<description>I think you should rerun your analysis against four cases, not two: One table for layout, arbitrarily numerous nested tables for layout, arbitrarily numerous sequential tables for layout, and CSS.

And, ideally, check typical invalid-HTML vs. valid-HTML versions, though it will be next to impossible to find a nested-table site with valid HTML.</description>
		<content:encoded><![CDATA[<p>I think you should rerun your analysis against four cases, not two: One table for layout, arbitrarily numerous nested tables for layout, arbitrarily numerous sequential tables for layout, and <acronym title="Cascading Style Sheets">CSS</acronym>.</p>
<p>And, ideally, check typical invalid-<acronym title="HyperText Markup Language">HTML</acronym> vs. valid-<acronym title="HyperText Markup Language">HTML</acronym> versions, though it will be next to impossible to find a nested-table site with valid&nbsp;<acronym title="HyperText Markup Language">HTML</acronym>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Dolson</title>
		<link>http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20286</link>
		<dc:creator>Joe Dolson</dc:creator>
		<pubDate>Wed, 29 Aug 2007 14:53:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20286</guid>
		<description>I'm inclined to agree with you, Mike. The reason I discarded semantics and "content-appropriateness" is that many of those developers who evangelize the use of tables for layout also consider the idea of web semantics to be an academic illusion. Thus, it's an ineffective argument. 

One argument which really surprised me (in the Cre8asite thread) was somebody who argued that adding semantic table elements to a layout table made the table appropriately semantic --- as if using the &lt;em&gt;element&lt;/em&gt; was what creates meaning, rather than helping to  define an already existing meaning.

&lt;blockquote&gt;
Thus, from the perspective of creating accessible, SEO-friendly sites with CSS is infinitely easier and simplified. In my opinion.
&lt;/blockquote&gt;

Mine, too.</description>
		<content:encoded><![CDATA[<p>I&#8217;m inclined to agree with you, Mike. The reason I discarded semantics and &#8220;content-appropriateness&#8221; is that many of those developers who evangelize the use of tables for layout also consider the idea of web semantics to be an academic illusion. Thus, it&#8217;s an ineffective argument. </p>
<p>One argument which really surprised me (in the Cre8asite thread) was somebody who argued that adding semantic table elements to a layout table made the table appropriately semantic&thinsp;&#8212;&thinsp;- as if using the <em>element</em> was what creates meaning, rather than helping to  define an already existing meaning.</p>
<blockquote><p>
Thus, from the perspective of creating accessible, SEO-friendly sites with <acronym title="Cascading Style Sheets">CSS</acronym> is infinitely easier and simplified. In my opinion.
</p></blockquote>
<p>Mine,&nbsp;too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Cherim</title>
		<link>http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20276</link>
		<dc:creator>Mike Cherim</dc:creator>
		<pubDate>Wed, 29 Aug 2007 13:00:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20276</guid>
		<description>Nice article Joe. A well-reasoned argument. My opinions: 

With CSS layouts there is a smaller amount of required mark-up than that required as a minimum with tables. If one wants to make proper tables that is.

Based on my own experiences it seems most CSS layouts do load the page more quickly, but it's not the speed I seem to notice as much as &lt;em&gt;how&lt;/em&gt; the page loads. On a tables-based site there does seem to be a lot of last minute building going on during load. I can hear the hammering, sawing, and the break truck going ding-dong, ding-dong.

My number one concern with tables is the fact that the content of tables is supposed to be tabular form and have meaning when done this way. It has certain elements that are required to make this tabular data understood by all users. But with tables-based layouts I think most of these elements simply aren't used --- table head, caption, summary, etc. Thus, I think retaining the markup's inherent accessibility with a CSS layout is a LOT easier, and it requires a ton of extra mark-up and skill to make the same thing happen with tables. Thus, from the perspective of creating accessible, SEO-friendly sites with CSS is infinitely easier and simplified. In my opinion.</description>
		<content:encoded><![CDATA[<p>Nice article Joe. A well-reasoned argument. My opinions: </p>
<p>With <acronym title="Cascading Style Sheets">CSS</acronym> layouts there is a smaller amount of required mark-up than that required as a minimum with tables. If one wants to make proper tables that is.</p>
<p>Based on my own experiences it seems most <acronym title="Cascading Style Sheets">CSS</acronym> layouts do load the page more quickly, but it&#8217;s not the speed I seem to notice as much as <em>how</em> the page loads. On a tables-based site there does seem to be a lot of last minute building going on during load. I can hear the hammering, sawing, and the break truck going ding-dong, ding-dong.</p>
<p>My number one concern with tables is the fact that the content of tables is supposed to be tabular form and have meaning when done this way. It has certain elements that are required to make this tabular data understood by all users. But with tables-based layouts I think most of these elements simply aren&#8217;t used&thinsp;&#8212;&thinsp;- table head, caption, summary, etc. Thus, I think retaining the markup&#8217;s inherent accessibility with a <acronym title="Cascading Style Sheets">CSS</acronym> layout is a LOT easier, and it requires a ton of extra mark-up and skill to make the same thing happen with tables. Thus, from the perspective of creating accessible, SEO-friendly sites with <acronym title="Cascading Style Sheets">CSS</acronym> is infinitely easier and simplified. In my&nbsp;opinion.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Dolson</title>
		<link>http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20164</link>
		<dc:creator>Joe Dolson</dc:creator>
		<pubDate>Tue, 28 Aug 2007 14:55:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20164</guid>
		<description>This is gonna get lengthy... ;) 

Responding to Stevie D:

1) Ease of maintenance, etc.

The situation you've described is what I'd consider "bad code" - that's an example of use tables in such a manner as to make maintenance a severe burden. I certainly agree that such a use is a major problem. However, I'm trying to make a fair analysis, discarding poor use of code in either respect:

&lt;blockquote&gt;
For the best analysis, we have to assume that these tables are being used in a respectable manner. Bad code is bad code, whether it’s applied to &lt;code&gt;div&lt;/code&gt;s or &lt;code&gt;table&lt;/code&gt;s. Twenty-eight layers of nested anything is bad news.
&lt;/blockquote&gt;

I've also worked on standards-based, &lt;code&gt;div&lt;/code&gt; driven sites where maintenance and adjustment was a major chore because everything used absolute positioning and numerous layers of nested elements. That's not a problem unique to tables. 

Maintenance also has a lot to do with workflow - many larger businesses actually do the bulk of their site maintenance through content management systems. How much does the practical coding of their site actually effect day to day maintenance?

2) Adaptability to screen widths.

I agree. CSS is generally superior in this area. 

3) Easier to learn and use.

Tricky one, isn't it? &lt;em&gt;I&lt;/em&gt; certainly don't find &lt;code&gt;table&lt;/code&gt;s easier. The problems that crop up with table organization (missing cells; etc.) are just &lt;em&gt;different&lt;/em&gt; from the problems with CSS (complicated floats). The reason I just can't accept the argument either direction is that it's completely a matter of opinion --- each person has their own way of learning and their own design style.

4) Centering, etc.

Surprising, isn't it? I think a "shrinkwrap" option would be fantastic. 

5) Print Stylesheets

Actually, print stylesheets can be used with table-based layouts. It's more difficult, certainly, but you can use the print stylesheet to remove various chunks of advertising, images, other extraneous information. I'll grant you, however, that with a fully CSS-driven layout, print stylesheets are FAR more powerful. 

Thanks, Stevie D!</description>
		<content:encoded><![CDATA[<p>This is gonna get lengthy&#8230; <img src='http://www.joedolson.com/articles/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Responding to Stevie D:</p>
<p>1) Ease of maintenance, etc.</p>
<p>The situation you&#8217;ve described is what I&#8217;d consider &#8220;bad code&#8221; - that&#8217;s an example of use tables in such a manner as to make maintenance a severe burden. I certainly agree that such a use is a major problem. However, I&#8217;m trying to make a fair analysis, discarding poor use of code in either respect:</p>
<blockquote><p>
For the best analysis, we have to assume that these tables are being used in a respectable manner. Bad code is bad code, whether it’s applied to <code>div</code>s or <code>table</code>s. Twenty-eight layers of nested anything is bad news.
</p></blockquote>
<p>I&#8217;ve also worked on standards-based, <code>div</code> driven sites where maintenance and adjustment was a major chore because everything used absolute positioning and numerous layers of nested elements. That&#8217;s not a problem unique to tables. </p>
<p>Maintenance also has a lot to do with workflow - many larger businesses actually do the bulk of their site maintenance through content management systems. How much does the practical coding of their site actually effect day to day maintenance?</p>
<p>2) Adaptability to screen widths.</p>
<p>I agree. <acronym title="Cascading Style Sheets">CSS</acronym> is generally superior in this area. </p>
<p>3) Easier to learn and use.</p>
<p>Tricky one, isn&#8217;t it? <em>I</em> certainly don&#8217;t find <code>table</code>s easier. The problems that crop up with table organization (missing cells; etc.) are just <em>different</em> from the problems with <acronym title="Cascading Style Sheets">CSS</acronym> (complicated floats). The reason I just can&#8217;t accept the argument either direction is that it&#8217;s completely a matter of opinion&thinsp;&#8212;&thinsp;- each person has their own way of learning and their own design style.</p>
<p>4) Centering, etc.</p>
<p>Surprising, isn&#8217;t it? I think a &#8220;shrinkwrap&#8221; option would be fantastic. </p>
<p>5) Print Stylesheets</p>
<p>Actually, print stylesheets can be used with table-based layouts. It&#8217;s more difficult, certainly, but you can use the print stylesheet to remove various chunks of advertising, images, other extraneous information. I&#8217;ll grant you, however, that with a fully <acronym title="Cascading Style Sheets">CSS</acronym>-driven layout, print stylesheets are FAR more powerful. </p>
<p>Thanks, Stevie&nbsp;D!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stevie D</title>
		<link>http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20157</link>
		<dc:creator>Stevie D</dc:creator>
		<pubDate>Tue, 28 Aug 2007 12:58:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20157</guid>
		<description>I say all this as someone who loves CSS, hates layout tables, and nearly had a coronary when I read &lt;a href="http://www.decloak.com/Dev/CSSTables" title="CSS vs tables"&gt;DeCloak&lt;/a&gt;.

&lt;blockquote&gt;I don't accept ease of maintenance of development as being relevant. These are personal opinions and personal choices.&lt;/blockquote&gt;

For a personal site, that may be fair enough. For a commercial site, it isn't acceptable. With my current job I took on responsibility for maintaining a website that my predecessor had created. It was table-based. All I wanted to do was add one item to the menu - it was quicker to rewrite the whole damn thing in HTML+CSS than figure out how to line the right bits of the table up with each other. 

&lt;blockquote&gt;Adaptability with variable browser widths.&lt;/blockquote&gt;

CSS has far more options for this than tables do. At the end of the day, it should be possible in any decent browser to remove all styles and linearise the page, which will allow any screen, no matter how small, to display the page in a sensible way - to do the same with tables requires the user-agent to do a lot of guesswork and is less likely to get it right.

&lt;blockquote&gt;Easier to learn and use.&lt;/blockquote&gt;

Tables are easier to use if you start with a presentational attitude and a "WYSIWYG" editor. A lot of people say that tables are easier because that's what they know, forgetting that's only because they have had more practice.

Basic-to-middling CSS layouts are not difficult, no more complicated than table-based layouts and often less (especially if you start from a semantic/content attitude), and it's only because so many people are habituated into using tables that they find CSS difficult.

&lt;blockquote&gt;the lack of ability to specify that a block level element is centered without specifying that the text within is centered.&lt;/blockquote&gt;

That ought to be easy to do. It must be. Surely! Hmmm ... apparently it isn't.

Why does CSS not offer a 'shrinkwrap' option, where a containing block is only as wide as it needs to be?

But to me, one of the biggest advantages to CSS is &lt;strong&gt;print stylesheets&lt;/strong&gt;. Pressing the Print button on most table-based webpages gives you loads and loads of adverts, sidebars, navigation menus, and 85% of the text. The remaining 15% disappears irretrievably off the right-hand side of the page. When even someone as technophobic as my dad has figured out to copy-and-paste the text into Word to get it to print, you know there is a &lt;em&gt;serious&lt;/em&gt; impediment to usability. Print stylesheets allow changes to layout, graphics, content and typography that table-based layouts could never even dream of.</description>
		<content:encoded><![CDATA[<p>I say all this as someone who loves <acronym title="Cascading Style Sheets">CSS</acronym>, hates layout tables, and nearly had a coronary when I read <a href="http://www.decloak.com/Dev/CSSTables" title="CSS vs tables">DeCloak</a>.</p>
<blockquote><p>I don&#8217;t accept ease of maintenance of development as being relevant. These are personal opinions and personal choices.</p></blockquote>
<p>For a personal site, that may be fair enough. For a commercial site, it isn&#8217;t acceptable. With my current job I took on responsibility for maintaining a website that my predecessor had created. It was table-based. All I wanted to do was add one item to the menu - it was quicker to rewrite the whole damn thing in <acronym title="HyperText Markup Language">HTML</acronym>+<acronym title="Cascading Style Sheets">CSS</acronym> than figure out how to line the right bits of the table up with each other. </p>
<blockquote><p>Adaptability with variable browser widths.</p></blockquote>
<p><acronym title="Cascading Style Sheets">CSS</acronym> has far more options for this than tables do. At the end of the day, it should be possible in any decent browser to remove all styles and linearise the page, which will allow any screen, no matter how small, to display the page in a sensible way - to do the same with tables requires the user-agent to do a lot of guesswork and is less likely to get it right.</p>
<blockquote><p>Easier to learn and use.</p></blockquote>
<p>Tables are easier to use if you start with a presentational attitude and a &#8220;<acronym title="what you see is what you get">WYSIWYG</acronym>&#8221; editor. A lot of people say that tables are easier because that&#8217;s what they know, forgetting that&#8217;s only because they have had more practice.</p>
<p>Basic-to-middling <acronym title="Cascading Style Sheets">CSS</acronym> layouts are not difficult, no more complicated than table-based layouts and often less (especially if you start from a semantic/content attitude), and it&#8217;s only because so many people are habituated into using tables that they find <acronym title="Cascading Style Sheets">CSS</acronym> difficult.</p>
<blockquote><p>the lack of ability to specify that a block level element is centered without specifying that the text within is centered.</p></blockquote>
<p>That ought to be easy to do. It must be. Surely! Hmmm &#8230; apparently it isn&#8217;t.</p>
<p>Why does <acronym title="Cascading Style Sheets">CSS</acronym> not offer a &#8216;shrinkwrap&#8217; option, where a containing block is only as wide as it needs to be?</p>
<p>But to me, one of the biggest advantages to <acronym title="Cascading Style Sheets">CSS</acronym> is <strong>print stylesheets</strong>. Pressing the Print button on most table-based webpages gives you loads and loads of adverts, sidebars, navigation menus, and 85% of the text. The remaining 15% disappears irretrievably off the right-hand side of the page. When even someone as technophobic as my dad has figured out to copy-and-paste the text into Word to get it to print, you know there is a <em>serious</em> impediment to usability. Print stylesheets allow changes to layout, graphics, content and typography that table-based layouts could never even dream&nbsp;of.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Dolson</title>
		<link>http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20088</link>
		<dc:creator>Joe Dolson</dc:creator>
		<pubDate>Tue, 28 Aug 2007 00:57:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20088</guid>
		<description>There are quite a few solutions to the full-length column issue; all with their own tricks and difficulties. Regardless of the presence of a solution, it remains more difficult. 

I just think that refusing to use CSS because columns are &lt;em&gt;difficult&lt;/em&gt; is rather lazy... ;)</description>
		<content:encoded><![CDATA[<p>There are quite a few solutions to the full-length column issue; all with their own tricks and difficulties. Regardless of the presence of a solution, it remains more difficult. </p>
<p>I just think that refusing to use <acronym title="Cascading Style Sheets">CSS</acronym> because columns are <em>difficult</em> is rather lazy&#8230;&nbsp;;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dennis</title>
		<link>http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20087</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Tue, 28 Aug 2007 00:54:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-20087</guid>
		<description>Interesting analysis, Joe. Here's a &lt;a href="http://www.alistapart.com/articles/fauxcolumns/"&gt;CSS solution to the "multi-column layout with full-length columns"&lt;/a&gt; issue.</description>
		<content:encoded><![CDATA[<p>Interesting analysis, Joe. Here&#8217;s a <a href="http://www.alistapart.com/articles/fauxcolumns/"><acronym title="Cascading Style Sheets">CSS</acronym> solution to the &#8220;multi-column layout with full-length columns&#8221;</a>&nbsp;issue.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Dolson</title>
		<link>http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-19718</link>
		<dc:creator>Joe Dolson</dc:creator>
		<pubDate>Fri, 24 Aug 2007 14:53:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.joedolson.com/articles/2007/08/tables-or-css-layout/#comment-19718</guid>
		<description>@Jermayn: Yes, it was absolutely worth the effort. I don't think I said anything or made any serious attempt to demonstrate that CSS was superior --- that wasn't the point. The point of the exercise was to define the qualities of each approach and ascertain, for myself, whether my own preferences are justified. 

Ultimately, with outside contributions, I'd also hope to identify some defining characteristics of tables which I can point to as a specific and universal reason not to use them for layout. No bets on that at this point, however.</description>
		<content:encoded><![CDATA[<p>@Jermayn: Yes, it was absolutely worth the effort. I don&#8217;t think I said anything or made any serious attempt to demonstrate that <acronym title="Cascading Style Sheets">CSS</acronym> was superior&thinsp;&#8212;&thinsp;- that wasn&#8217;t the point. The point of the exercise was to define the qualities of each approach and ascertain, for myself, whether my own preferences are justified. </p>
<p>Ultimately, with outside contributions, I&#8217;d also hope to identify some defining characteristics of tables which I can point to as a specific and universal reason not to use them for layout. No bets on that at this point,&nbsp;however.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
