Lately I’ve been struggling with the issue of semantic markup. Several weeks ago I went to An Event Apart. One of the common themes at the conference was semantic markup. My initial reaction to this was, crap, I’m probably not doing this as well as I could be and I’m going to have to change. Then I actually became excited about the prospect of what a site would look like with beautiful descriptive tags.
Upon arriving home I began to try and implement the principles into my new projects. A little more time upfront to think about things, but nothing too uncomfortable and the result was nice. Then after a few weeks I started to notice it becoming harder and harder to do. The more complex my sites became, the more elements they contained, and thus the more names I needed to come up with. I found myself sitting at my desk thinking for 10 minutes what to call my new div as I couldn’t really say I knew what exactly it was, other than it had a purpose, and it was part of the design. A new problem I started seeing was that as I became used to looking at a class name and just knowing what it was on the page based on it’s name, this process became less accurate when the page got complicated. Nested divs and containers often would be holding similar named and types of items, so the names became ambiguous.
The final result of a complicated site was a group of css classes that pointed you in the general direction, but were in no way an “X marks the spot”.
In frustration I went to some sites shown at the conference which were examples of semantic markup. What I found was very interesting. While they were nicely done and clean, I didn’t find them to be the perfect shining example that I had thought they once were at first glance. It made me realize that my current practice was not that far off, and at the very least much more in the right.
At this point I realized that there is no perfection because language is always to a degree subjective. There are multiple meanings for words, and those meanings are derived by the end user based on any number of factors.
My original goal was to create a markup that screamed it’s format from the mountains such that nobody with an ounce of common sense could misinterpret. In the end I realized that the people hearing my scream may not speak my language, so if I at least make it as obvious to myself as possible, then hopefully they’ll pick up more than if I yelled in gibberish, and hopefully so will I.
September 3, 2006 at 3:44 pm |
Wow, I couldn’t agree more! Semantic markup lets us give “meaning” to the structure of a document, but still just a way of communicating from one human to another via natural language. The best you can hope for, in a complicated page, is that someone can make sense of any particular part of the document after reading the entire document top to bottom (including any relevant include files such as CSS). Most things in natural language are only meaningful in context of a larger thing of group of things.
September 23, 2006 at 10:36 pm |
It’s a journey rather than a destination chap
I think that the ideal solution envisioned through Semantic markup practices is not quite achievable. Yet.
I think once everybody is pulling in the same direction the synergy, increased awareness etc. will lead to interesting new avenues.
Anyway, who wants perfection? It’s boring