title: Is CakePhp 'standards compliant' when generating HTML, Forms, etc?
body: <p>So I've been reading a lot of "Designing with Web Standards" and really enjoying it.  I'm a big CakePhp user, and as I look at the source for various form elements that Cake creates with its FormHelper, I see all sorts of extraneous 
  
  <p>In the book, he promotes semantic HTML, and writing your markup as simple / generic as possible.</p>
  
  <p>So my question is, am I better writing my own HTML in these situations?  I really want to work in compliance with XHTML and CSS standards, and it seems I'd spend just as much time (if not more) cleaning up Cakes HTML, when I could just write my own</p>
  
  <p>thoughts?</p>
  
  <p>p.s.  Here's an example in an out of the box form that CakePhp generates using the FormHelper</p>
  
  <pre><code>&lt;form id="CompanyAddForm" method="post" action="/omni_cake/companies/add" accept-charset="utf-8"&gt;&lt;div style="display:none;"&gt;&lt;input type="hidden" name="_method" value="POST" /&gt;&lt;/div&gt;       &lt;div class="input text required"&gt;&lt;label for="CompanyName"&gt;Name&lt;/label&gt;&lt;input name="data[Company][name]" type="text" maxlength="50" id="CompanyName" /&gt;&lt;/div&gt;        &lt;div class="input text required"&gt;&lt;label for="CompanyWebsite"&gt;Website&lt;/label&gt;&lt;input name="data[Company][website]" type="text" maxlength="50" id="CompanyWebsite" /&gt;&lt;/div&gt;        &lt;div class="input textarea"&gt;&lt;label for="CompanyNotes"&gt;Notes&lt;/label&gt;&lt;textarea name="data[Company][notes]" cols="30" rows="6" id="CompanyNotes" &gt;&lt;/textarea&gt;&lt;/div&gt;        &lt;div class="submit"&gt;&lt;input type="submit" value="Submit" /&gt;&lt;/div&gt;&lt;/form&gt;
  </code></pre>
  
  <p><strong>EDIT:</strong> <em>An in an indented form (indentation does not effect the standards compliance issue, but the above one-liner style is nearly impossible to read):</em></p>
  
  <pre><code>&lt;form id="CompanyAddForm" method="post" action="/omni_cake/companies/add" accept-charset="utf-8"&gt;
      &lt;div style="display:none;"&gt;
         &lt;input type="hidden" name="_method" value="POST" /&gt;
      &lt;/div&gt;
      &lt;div class="input text required"&gt;
          &lt;label for="CompanyName"&gt;Name&lt;/label&gt;
          &lt;input name="data[Company][name]" type="text" maxlength="50" id="CompanyName" /&gt;
      &lt;/div&gt;
      &lt;div class="input text required"&gt;
          &lt;label for="CompanyWebsite"&gt;Website&lt;/label&gt;
          &lt;input name="data[Company][website]" type="text" maxlength="50" id="CompanyWebsite" /&gt;
      &lt;/div&gt;
      &lt;div class="input textarea"&gt;
          &lt;label for="CompanyNotes"&gt;Notes&lt;/label&gt;
          &lt;textarea name="data[Company][notes]" cols="30" rows="6" id="CompanyNotes" &gt;&lt;/textarea&gt;
      &lt;/div&gt;
      &lt;div class="submit"&gt;
          &lt;input type="submit" value="Submit" /&gt;
      &lt;/div&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>In the above, there's those couple divs that seem unnecessary like the one that has inline CSS "display:none".  I realized I can change classes and IDs of all the fields, but if I'm doing do that for each one, I might as well write the HTML myself... </p>