The discussion of semantics vs. structure vs. syntax and validation in *ML took a different turn for me today. I usually understand the argument of semantical markup vs. structural markup. I must admit though that I’ve always approached it from the side of layout first, then content second. In other words, if I used <ul> and <li> for menus, it was simply because I should use it instead of a gaggle of <div> tags.
That’s ok I thought. It’s certainly a step ahead of where I used to be. But I still find myself constantly misusing other tags like <kbd> and <samp>. Why is that? I could be a simple case of lack of practice. But I also think it’s a matter of tagname->semantics translation.
I’m in the proecess of wiriting some API documentation for various projects and just started looking at DocBook.
Now that I’m focused on writing content first and layering markup on top of it, instead of writing the markup in mind first, it makes me think that part of what causes poor semantic HTML is the tagnames themselves.
In HTML I need to highlight the name of a file. Should it be <tt>, <samp>, or <kbd>? Sometimes it’s clear. Sometimes it’s not. But in DocBook, it doesn’t get more clear than <filename>.
I’m now even considering converting the contents of this site into DocBook format. Rather than struggle with which tag to use, it may turn out to be easier to use tags that are already a little more clear. But that’s just me.