On 6/25/06, Chad Perrin perrin@apotheon.com wrote:
Unnecessary repetition leads to unmaintainability, because when you need to change one thing you often end up having to run around changing it in numerous places, and sometimes people miss things.
But in this case, <poem> adds a class that styles the enclosed text as a poem. Among other things, this class includes stuff that would be useful for cooking recipes as well, but that's not all it includes. What if it turns out people decide, six months down the road, that poems should all be blockquoted? Then you could just add "left-margin: 2em;" or whatever to the CSS definition for .class, and voila, all poems are instantly blockquoted. If people have used it for hundreds of cooking recipes in the meantime, all of them are going to be screwed up, unless coincidentally people also want the cooking recipes to be indented. Users can also provide custom stylesheets, to which similar reasoning applies. And non-visual Web readers will also be screwed over.
Anyway, as far as Web standards are concerned, presentation is "indent this two ems and don't break lines". Semantics is "this is a poem, so check if the end-user has set any display preferences for poems, and if not, indent it two ems and don't break lines".