>> Eschewing markup that is not needed today is equivalent to
>> adding presentational decisions to the markup for tomorrow.
>
> Only if tomorrow we won't have browsers with advanced CSS support
> (talk
> multiple backgrounds).
Isn't the purpose of semantic markup supposed to be to make your markup understandable regardless of the media, i.e., as close to an xml document as possible, where you can tell what each item is simply by looking at the enclosing tags? Thus, we want our markup to have as much information as possible, so that every block level element has a title, every object has its alternative content, every acronym has its definition, etc.
So then, what CSS should do, and already does, in some ways, is control how our markup is handled by different medias, such that we can hide certain things that wouldn't be helpful to a printed document or a screen reader.
What I'm getting at is this:
The ideal would be that your markup can have divitis, but when parsed by a screen reader or a printing device or something else, you tell it something along the lines of:
div {
visibilty:hidden;
}
Thus, the following markup for a page viewed on a screen:
<*div class=outside>
<*div class=inside>
<*div class=nav>
<*ul title=nav>...<*/ul>
<*div>
<*div class=content>
<*p title=article>...<*/p>
<*/div>
<*/div>
<*/div>
becomes the following markup to an RSS reader, a screen reader, a printer, a braille pad, an e-mail, etc.....
<*ul title=nav>...<*/ul>
<*p title=article>...<*/p>
This, I think, is where CSS is headed... complete control over how markup gets parsed/displayed, so you can have divitis and still have accessibility/semantics.
