Within an article-oriented page (such as a blog post), the <h1> element (level 1 heading) is commonly used to markup either:
- the blog title (i.e. the often-large site title at the top of the page, not to the
<title>element), or - the article title
What is the best choice and why?
To the site owner, who may want to shout out to the world the name of their site/blog, using a level 1 heading around the site title might seem to make sense.
From the perspective of what you are trying to communicate to the user, the site title is of less relevance - the article content is what you're trying to communicate and all other site content is secondary. Therefore using <h1> for the article title seems best.
I feel the <h1> element should focus on the article title, not the site title or other content. This does not appear to be a popular convention by any means.
Examples:
- Joel Spolsky uses
<h1>for the article title, and an anchor for the site title - Jeff Atwood uses no
<h1>at all,<h2>for the article title and an anchor for the site title - 37 Signals' SVN uses
<h1>for the site title and an anchor for the article title
That's three different approaches across three sites where you might expect a strong consideration for correct semantic markup.
I think Joel has it right with Jeff a close second. I'm quite surprised at the markup choices by the 37Signals people.
To me it seems quite a simple decision: what is of greatest relevance to the consumer of the article? The article title. Therefore wrap the article title