Making your theme semantically correct.
For a million reasons, a theme should be semantically correct. The better your semantics, the higher your search engine ranking is going to be, but speed of loading, accessibility, cross-device rendering, etc., are also important reasons to make sure your semantics are correct.
Headers
- h1: your site's title
- h2: the content title
- h3: any subtitles
So, on /node/123
- h1: flowers and beads
- h2: how to make hippie dresses
- h3: get stuff
- h3: put stuff together
But on /node or taxonomy/term/12 (a list of teasers)
- h1: flowers and beads
- h2: content OR h2: articles about rope
- h3: how to make hippie dresses
- h3: how to make hippie hats
And you should best make sure that even on /node/123 the h2 title is the link.
- menus: 99 to 1, your menu should be a list of links, styled
appropriately, not a bunch of <div> or | or etc, just a simple <ul>
- breadcrumbs: same thing, they should be a <ul> with appropriate styles
- content: content is content, it is <p>there is almost need to wrap these in endless <div> or <span> just to give them cool colors, just style the
directly in most cases, sometimes extra markup is needed but generally i see *too* much markup
definition lists: probably don't use them when you really should (think image galleries)
style external links and probably lots of other things that can be mentioned about semantic markup, some more useful articles here.

Site name and page title
If you are not printing your Site Name (Drupal 5.x), and only using a logo as branding, then you should probably modify page.tpl.php so that you end up with only one h1 headline on the page and have that headline be your PAGE TITLE.
If you don't do that, you end up with no h1 header and a bunch of h2 headers for block titles... and for your page title. Your page title should definately get some emphasis.
Open your page.tpl.php template file in a text editor and go to the markup generated for the page title.
You will find page.tpl.php in your theme folder.
For Garland, go to line number 68. The original line of code is :
<?php if ($title): print '<h2'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h2>'; endif; ?>Change that to :
<?php if ($title): print '<h1'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h1>'; endif; ?>Then style your h1 headline appropriately.
If I were you, I would even add a class : page-title, and use it for styling.
<?php if ($title): print '<h1 class="page-title'. ($tabs ? ' with-tabs"' : '') .'>'. $title .'</h1>'; endif; ?>Caroline
A coder's guide to file download in Drupal
Who am I | Where are we
11 heavens