Hi,
sehr guter Text! Absolut!
Es geht mir auch weder um eine Verteufelung noch eine Glorifizierung von semantischem Markup. Semantisches Markup ist schlicht eine Notwendigkeit. Es geht mir einfach nur darum, klarzustellen, daß alleine die Verwendung eines div statt einer Tabelle noch lange kein semantisches Markup ist.
Deswegen: In dem Artikel wird von Bedeutung geredet. Ich habe das als Sein bezeichnet. Darum geht es, wenn man Markup so benutzt, wie es gemeint ist. In diesem Sinne ist übrigens, wie bereits oben geschrieben, eine Liste als Markup für eine Navigationsl(e)iste tatsächlich besser. Aber nicht deshalb, weil eine Liste ein Blockelement ist und man dieses so und so darstellen (per css formatieren) kann, sondern weil es eine Liste ist. Ich bin deswegen bei meinem Beispiel bei div geblieben, weil eben der Eindruck entstand, daß allein die Verwendung eines div bereits semantisches Markup darstellt. War vermutlich so nicht gemeint, aber es sollte einfach klar herausgestellt werden.
Um nochmal auf den (berechtigten) Einwand von Hawky zurückzukommen: Klar, wir sind hier von einer konkreten Frage etwas auf eine Grundsatzdiskussion gekommen. Aber die ist durchaus nützlich. Wenn man diesen Artikel verstanden hat, dann ergibt sich die Antwort auf die ursprüngliche Frage von selber, und die Antwort auf ähnliche Fragen gleich mit:
Tabelle? Klar, wenn es sich um tabellarische Daten handelt. Die Daten als Gesamtheit sind eine Tabelle. Oder, um bei den Worten dieses Artikels zu bleiben: Die Bedeutung dieser Daten ist "Tabelle".
Liste: Immer. Jedenfalls, wenn es sich um eine Liste handelt. Ist es eine Liste? Ist die Bedeutung dessen, was ich da produziere, eine Liste? Dann als Liste markieren.
div-Container? Immer dann, wenn man allgemeine blockorientierte Layoutprobleme lösen muß, die nicht durch besseres Markup hinzukriegen sind. Also, wenn es sich partout nicht um eine Liste und nicht um eine Tabelle und nicht um ein Zitat oder was auch immer handelt, sondern in keine dieser Kategorien passt, dann div. Und wenn es ähnlich allgemein ist, aber nicht blockorientiert, sondern inline, dann span. Zusätzlich impliziert semantisches Markup in diesen Fällen einen geeigneten Klassennamen oder gar eine geeignete ID.
Zusammengefasst: In dieser Grundsatzdiskussion geht es durchaus um die Beantwortung der Eingangsfrage, nur aus Gründen der Verallgemeinerbarkeit resp. Anwendbarkeit auf ähnliche Fragestellungen eben allgemein. Im Grunde so, daß der Fragesteller die Möglichkeit hat, sich die Frage selbst zu beantworten.