Of course Hixie’s pretty much right that we’ve now traded a tag soup of <table> and <font> for a tag soup of <div> and <span class=”boldred” style=””>, but it’s not all bad. While you could sometimes make some sense of the tables thanks to autoindenting, they were quite often tab-indented so far that with wrap on you sometimes had whole blank lines of tabs. The new soup is harder for a human to parse (“</div>? Which one, when there are 13 open?”), but the indenting’s a bit better.
Oh, the question, how do we get people to use semantic markup instead of soup? That’s simple, the same way we get them to use rich semantic RSS 1.n, or any other bit of abstract goodness: make it worth their while. Having a <link rel=”alternate”> that points to another version of the page makes good semantic sense, and virtually nobody did it until Mark pushed and pulled us into using it for RSS autodiscovery. Had it been a push alone, “oh, it’s semantic and meta-filled,” probably nobody would have paid attention. But because it also pulled, with bookmarklets you could use right there and then to subscribe in multiple aggregators, we all said “cool, I can see that working!” and did it.
If you want people to use sane and semantic headlines, you have to give them (er, actual ideas tend to be my downfall) a browser extension that shows a linked-up outline in the sidebar, or an on-hover outline in a search results page, or convince them that
<h2>Blue Widgets</h2> will just absolutely kick
<div style="font-size:14px">Blue Widgets</div> so far out of the results that they’ll be buying the competition’s leftover inventory and insisting that the former owner deliver it himself. On Saturday.
The people who are persuaded by elegance, and dreams of building the data that will somehow cause things that use it to spontaneously form, have already been persuaded, and didn’t quite form a critical mass. For the rest, I think we need an actual current benefit.