Much has been made on the web recently of “semantic markup,” and many worthy people have gotten on and off the bandwagon, and agonized mightily over questions of it’s usefulness…

“Semantic markup” is also a term which has been used by many adoring WordPress fans when trying to convert bloggers to their software, and has been brandished against me (as a criticism of my html coding habits, in fact) in a few too many discussions on the WordPress IRC channel (#WordPress, on irc.freenode.net). Apparently, WordPress does semantics better … than some other software, and this is important. Of course, one element of that is my acronym plugin which helps you use semantically correct acronym tags automatically…

Now, I’m working on a replacement for that plugin that’s a bit fancier (you can see what I mean on any of the abbreviations or acronyms on this page), and I’ve had to stop and think about the difference between an acronym and an abbreviation. An acronym is a word formed from the initial letters of a name, such as WAC for Women’s Army Corps, or by combining initial letters or parts of a series of words, such as radar for RAdio Detecting And Ranging. The key here is word. It is not an acronym if it’s not a pronounceable word, (like HTML or FTP) or if its correct pronounciation is letter-by-letter (as in “IP” for Internet Protocol or Intellectual Property, both of which is pronounced eye-pea, and do not sound like “it”). These examples are abbreviations. In fact, acronyms are always abbreviations, and technically, so are contractions like “don’t” and “y’all.”

In the making of my new plugin, I wanted to differentiate between these, since HTML, and XHTML 1.1, have tags for both acronym and abbr ... but then I did a quick google search, and was abruptly remined that in the XHTML 2 recomendations, the W3C has dropped acronym in favor of using abbr for everything. In their considered opinion, too many people were misusing the acronym tag because they wanted the silly pop-up mouse-over tooltips with the deffinition. Of course, IE doesn’t support abbr, but then, it won’t support most of the rest of the new standard either, so who knows when we’ll see XHTML 2 in the wild [:P].

As I understand it, these tags aren’t for people, they’re for programs, they are really meant for two purposes: 1) to help semantically aware parsers ‘learn’ about abbreviations, and 2) to help screen readers know how to pronounce abbreviations. This is interesting, because it means that theoretically, the correct way for a visual web browser to render them is: not at all. You can see the abbreviation, and unless it’s new to you, you don’t need help pronouncing it, or even a deffinition of what it means. If you don’t know what it means, one of two rules applies:

  1. You are not the target audience. Yep, that’s right. If you don’t already know what HTML stands for, don’t bother reading this article, because, quite frankly, it won’t make any sense to you anyway, so there’s no point in my explaining. The same goes for other abbreviations in other posts (I write different posts with different groups of people in mind, which is why I usually only put the first part of the post on the front page, because I know only the people who are in that group are actually going to bother clicking through to the rest of the article.
  2. It’s an obscure or new abbreviation, and I should explain it. This also goes for abbreviations which aren’t new but are not familiar to my target audience. For instance, if I wrote articles about baseball card collecting (I don’t), and felt the need to mention HTML there, it would be appropriate for me to explain it.

If I use an acronym that I think is unfamiliar to my readers, I will try to explain it in the text, rather than forcing you to do a mouse-over of the term just to find out what it means. Of course, sometimes I’ll just assume you know it, as I do with regular words, and if you happen by my site and decide to read an article about semantic markup even though you don’t understand the term markup, you’re going to need a good dictionary. I don’t have a problem with that. In fact, I’ll go ahead and recommend GuruNet, for it’s ability to let you just hold alt and click on an abbreviation and get a deffinition. Alternatively, Google is pretty good with definitions (they put a little [deffinition] link), and so is Merriam Webster [;)].

So, for my this next plugin, I’m going to use the abbr tag, and wish that visual browsers would not create their own pop-ups. But I’m alsogoing to try to do something more: I’m going to give you the option of having a fancy span tag (with a class=“abbr”) and a javascript mouse-over tooltip which is kind-of fun, and even allows you to put links to more information in it … and I’m also going to give you the option of having the first occurence of an abbreviation augmented by the full deffinition in parenteses, or vice-versa (eg: HTML (Hypertext Markup Language) – or – Hypertext Markup Language (HTML)

What do you think?