<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Arial Black";
        panose-1:2 11 10 4 2 1 2 2 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";
        color:black;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:Arial;
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body bgcolor=white lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Thanks Larry,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I appreciate you going through all this. &nbsp;It
strikes me that access to the smaller browsers, which I also don&#8217;t know very
well, would be one of the bigger buy backs for the time it takes to focus on CSS
layouts, unless it turns out they handle tables just fine.&nbsp; I looked for articles
that would give me a summary of reasons, and failed to find any. &nbsp;It&#8217;s
time for me to bite the bullet, it seems, even though some of your reasons seem
a bit circular (using CSS because it&#8217;s the &#8220;right tool&#8221; doesn&#8217;t
tell me why it&#8217;s the right tool, unless you somehow accept CSS as a
devine gift that should not be questioned, and I just can&#8217;t bring myself
to proceed without questioning, hope you understand).<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<p class=MsoNormal><em><b><i><font size=2 color=navy face="Arial Black"><span
style='font-size:10.0pt;font-family:"Arial Black";color:navy;font-weight:bold'>Warren
Vail</span></font></i></b></em><o:p></o:p></p>

</div>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
color=black face="Times New Roman"><span style='font-size:12.0pt;color:windowtext'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 color=black face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma;color:windowtext;font-weight:bold'>From:</span></font></b><font
size=2 color=black face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma;
color:windowtext'> development-bounces@drupal.org
[mailto:development-bounces@drupal.org] <b><span style='font-weight:bold'>On
Behalf Of </span></b>Larry Garfield<br>
<b><span style='font-weight:bold'>Sent:</span></b> Sunday, May 01, 2011 10:45
PM<br>
<b><span style='font-weight:bold'>To:</span></b> development@drupal.org<br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [development] Tables
in Themes in Drupal 7</span></font><font color=black><span style='color:windowtext'><o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt'>Table-based markup:<br>
<br>
1) Is worse for search engines.&nbsp; Search engines handle semantic markup
better, because they can extract useful information about the page from the
markup.&nbsp; Tables confuse them and they cannot rank the data on the page as
well.<br>
<br>
2) Is more verbose. While your eyes may have grown accustomed to it, that makes
the page load more slowly.&nbsp; With the proliferation of the wireless web
(back to dialup speeds we go!), that is a significant problem.&nbsp; The usual
example I use here is Slashdot, which switched from table-based to pure-CSS
layout back in the early '00s and saved multiple *gigabytes* of data transfer
per month.&nbsp; That translates into $$$, as well as a faster user experience.<br>
<br>
3) Is harder to maintain.&nbsp; Really.&nbsp; Even in a CMS.<br>
<br>
4) Is not accessible.&nbsp; By &quot;accessible&quot; I mean &quot;makes sense
to something other than a pair of human eyeballs&quot;.&nbsp; Screen readers,
search engines, assitive technology (for people that are partially disabled),
etc. all work better with intelligent, semantic markup than with purely visual
markup.<br>
<br>
5) Is harder to build.&nbsp; Really.&nbsp; Especially in a dynamic system like
Drupal, table-based layout makes it harder to build a flexible page.<br>
<br>
6) Doesn't scale down to mobile browsers.&nbsp; Mobile browsers will be the
majority of web traffic within 2 years or so by some estimates.&nbsp; In some
parts of the world it already is.&nbsp; Good semantic designs scale down to
4&quot; screens far more easily than tables.&nbsp; I'd go as far as saying that
&quot;adaptive design&quot; (where the layout changes depending on the size of
the screen automatically) is simply impossible with tables.<br>
<br>
7) Doesn't offer anywhere near the expressive power of CSS.&nbsp; If you're
trying to get a visual effect fancier than three columns with fixed rectangular
color regions, you need to use CSS for styling.&nbsp; Tables just can't do
that.<br>
<br>
Not to put too fine a point on it, but if all you're thinking about is &quot;a
good looking theme&quot;, use Photoshop, not the web.&nbsp; Building a web page
is about far far far more than simply painting a picture, and if you want to do
more than paint a picture that has columns in it you need to use CSS-based
layout.<br>
<br>
&quot;Personal preference&quot; is not even on the table (no pun intended) for
why CSS-based design is better than table-based.&nbsp; It's not a
&quot;prejudice of the lazy&quot;.&nbsp; It's a prejudice for using the right
tools for the job they were intended for, and using them properly.&nbsp; That's
not a subjective statement, nor one simply based on which one learned first.<br>
<br>
Yes, it's time for you to learn CSS.&nbsp; Fortunately, it's much easier than
it used to be since modern browsers finally support CSS properly (now that IE 6
is a virtually non-existent player in most markets).&nbsp; <br>
<br>
--Larry Garfield<br>
<br>
On 05/02/2011 12:07 AM, Warren Vail wrote: <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial'>I was just getting ready to tackle my first theme in
Drupal 7, and is my practice, looking through the themes to find for one to
hack into being mine, when I found that none of them used tables for
layout.&nbsp; Now I have heard many people voice the opinion that tabled
layouts (which I&#8217;ve been quite successful with) are bad, and CSS (which I
am less prepared to deal with) are good.&nbsp; And in my ages of experience I
have, up until now, assumed that the expressed choice between good and bad was
based on (as it often is) what people had learned vs what they had not, and did
not want to have to bother to learn, so I said nothing until now<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial'><u1:p>&nbsp;</u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial'>Now I see that Drupal 7 (a product I have some
respect for) seems to have none, in those that I have looked into, at
least.&nbsp; Did what I had perceived to be merely a prejudice of the lazy make
it&#8217;s way all the way into the D7 Platform, or is there some legitimate
reason for abandoning tabled layouts that I have missed (must I finally buckle
down to my own laziness and tackle CSS to that depth)?<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial'><u1:p>&nbsp;</u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial'>Why are Tables BAD and CSS GOOD (keep in mind,
I&#8217;m after a good looking theme, and not good looking code, necessarily,
since none of my end users will ever look at the code).&nbsp; I am looking for
some reason other than good looking code (or someone&#8217;s vision of
correctness) to get behind CSS for my themes, and believe me &#8220;being
easier&#8221; won&#8217;t convince me much either.&nbsp; I&#8217;m guessing
there must be some other good reason I&#8217;ve missed.&nbsp; <u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial'><u1:p>&nbsp;</u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial'>What would that be?<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial'><u1:p>&nbsp;</u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal><em><b><i><font size=2 color=navy face="Arial Black"><span
style='font-size:10.0pt;font-family:"Arial Black";color:navy;font-weight:bold'>Warren
Vail</span></font></i></b></em><u1:p></u1:p><o:p></o:p></p>

<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt'><u1:p>&nbsp;</u1:p><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>