Is this the future? I think I wanted to have this on my own weblog when I saw Tantek his source code, but I always thought it was wrong. Just read the replies of liorean in yesterday's my last post (Google: "Re: The Myth of CSS") for some reasons.
I found this information on the dwh!{dezwozhere:blog}, which is quite a good link/quote web log. Thanks!
I really like the idea of Tantekism myself. Something about sections (divisions) of a page marked as lists appeals to my compulsive semantic side...
My biggest gripe however is the tag-soup-like markup created by lists. Where we once only had a single div, we now have a list with several list items (possibly even one). Trading one semanticly "safe" element for two somewhat questionable elements raises doubts.
Also I can't figure out how create a centered fixed-width body with sidebar without adding a useless ul with a li for each column (content and sidebar, each of which is it's own ul - basically see above). Maybe a hybrid? What exactly is the difference between a division and a sequence of blocks?
Really, the contents of a page, aren't a big list. I've thought a lot about this in the past couple years.
There are divisions of content...between a menu and and article and the copyright or disclaimers, etc, etc. If you put them all in a list, it semantically claims they're all related in a way that they're really not.
Of course, one could use multiple lists. That doesn't really help all that much, because still you have divisions of content. I think sometimes people forget that a DIV element truly has a semantic meaning, it's not just general.
If one really wanted to, instead of using P elements, they could use LI's, since a series of paragraphs are a form of listing. But really, would that be semantically best? I doubt it.
So the way I see it, there's a time and place for every element. Sometimes I think people see a new technique or learn a new element and overthink it's use.
This list mania is going too far.
A sequence of objects doesn't necessarily constitute a list of objects. A book is a sequence of paragraphs; a paragraph is a sequence of sentences; a sentence is a sequence of words and punctuation; a word is a sequence of letters. There is not a list in sight, however.
Where does it end? Will we have <ol class="word">
with a <li>
for each letter?
A menu on a web site can be seen as a list. It is, after all, a list of links that belong together in some way. It doesn't have to be marked up as a list, but doing so makes sense.
Marking up an article as a list of paragraphs does not.
There is also a current trend of (IMHO) abusing definition lists. I don't think everything that can be expressed as a pair of objects should be marked up with a <dl>
. This is approaching the tag soup mess of the '90s; we're abusing the markup language because it doesn't provide the semantic richness we'd like.
(X)HTML can never be semantically rich enough to suit everyone. It's a generic language that has to fit all kinds of information. My advice is: learn to live with it. Use the semantic possibilities it offers, by all means, but don't go overboard.
Although it's not explicitly written in the recommendation, a List usually has the notion, that the units of the List are in some way equivalent to each other: Lists are some kind of controlled vocabullary.
Menus are great for Lists, as the entries of a menu SHOULD be -for reasons of usability equivalent and homogenic to each other.
In the burned example, the heading is part of the list. But a heading is not equivalent to the units of a list.
Figure 1B
[Hey Anne! I tried to add here the sorucodeexample of that figure, but I got a funny errormessage, Like "you tried to send invalid code. Needles to say, you failed", although my code was quite valid. :]
Nested Lists have a notion of a subclass/superclass relation, but are in the same time far more ordered that a sequence of divs, as listunits are by definition an meaningfull sequence of units, while divs, may only be ordered, because HTML has no concept of parallelity.
I agree Tommy placing the heading within the list was uncalled for and I would assume it would only confuse Assistive Devices.
That's too bad, Robert, because I just altered my markup along the lines that you suggested! :)
(It also allowed me to lose an extraneous <div>
, which I'm loathe to reintroduce.)
Marking your document up, with <div /> or <section />, <p /> and <hx /> in combination with counter is a much better way I think. Lists are lists, they're not a way for describing elements on the same height but they're a way of describing small information that belongs to eachother. If the information you're offering is big, use alinea's and headers instead of using lists.
Disclaimer: I didn't test the compatibility of counters, so it could be possible that it's impossible to do such things :).
Opera alone can manage true CSS generated counters.
One look at example 1 and then at the source code for that document and it becomes obvious that this is just not semantically good.
A header and then it's content on the next list item?
The specs say it all and there's no reason to read further than the section about headings.
The fact that a header is necessary in your markup just goes to show that, in fact, what follows is not the same as what preceded.
Another fine point. I totally agree with Mike.
This bothered me a bit, so I decided to go a little further in responding on my blog.
I agree with Mike P. I wrote as much on my own blog. I dubbed it listitis.
[...] muziek. Daarom, zijn definition lists wat? Er zijn grenzen aan alles in lijstjes opdelen. Tantekism is er, vind ik toch, over. Maar valt het opdelen van [...]