February 22, 2006
A Community Divided
imagined by: James Mathias
In the world of web development and design there’s a strong division of developers who each think that their way is the way, the only way. None of these differing groups are 100% wrong or 100% right. It’s not unlike religion. There are base qualities to each that are identical at the core, but the majority of the philosophies are different. And not unlike religious fanatics, web developers also adamantly defend and preach their way as the one true way. I think this is a horrible way to approach the development of web-sites. My personal philosophy is; if it works, it works. That’s not to say that I feel we should be using (x)html elements in the incorrect way, because it works. It means that I am not going to beat myself (or others) down if I need to use an extra division tag to get my design to function and display correctly in a myriad of browsers.
I believe in semantics, I believe in accessibility, I believe in using tables for tabular data, and I believe in separating content from presentation and both from behavior. I believe in doing something once and reusing it over and over, I believe in putting web-sites together closely following the guidelines and suggestions of the W3C.
I think all of these things are great, I honestly do, and for the majority of my work I have no issue following any of those precepts and ideas.
Unfortunately for us all, browsers and other access devices are behind the technology, and have been since the internet’s inception. No single browser gets everything right, making it difficult to design and develop web pages that are 100% compliant, valid, and semantic.
Semantics are a big issue, not the idea of semantics specifically, but the developers who believe above all else that semantics are the most important part of designing web-sites, when in fact they are missing a key point. Semantics are not 100% possible for every design, partly because browser CSS support is far behind the ideal, but also not every visual design is possible if you don’t use some type of non-semantic markup.
Take for example, this web-site (Onelotus). It has alternating rounded corners on the main content boxes, these are a visual design element, but the site doesn’t flow the same way visually without them.
To have them I needed to add extra divisions to the (x)html source in order to apply background images to make the page expand and contract as necessary according to content growth. I chose to use background images, because I feel that all non-essential design images should be separate from the main flow of un-styled content.
I’ve been informed that this is non-semantic and unnecessary, because “I shouldn’t use divisions as they have no semantic meaning.”
True, they don’t have semantic meaning, they are blank vessels so to speak, for dividing your content into logical divisions, but because they have no semantic meaning, and can be given a semantic meaning via a class or id declaration, they become useful building blocks, mold-able chunks of code clay that can be formed into whatever is needed.
In the case of this site, if you turn off styles, you will see that our content is 100% semantic, that in fact the only non-semantic code elements are there for design reasons and browser patching.
I’m not condoning tag soup, but I am saying that it’s ok to use a couple extra divisions for design or layout necessities. In all honesty I cannot approach a client and tell them that their design cannot be coded unless I use a non-semantic element, which is against my principles as a developer. I would be laughed at, perhaps yelled at then fired. It’s a ridiculous expectation to expect anyone to dumb down a design or functionality or layout in the pursuit of perfect semantics. In a perfect world.
The main point I am trying to make is; building web-sites on a daily basis is not as straight forward or easy as some people may think or claim. There’s a great deal of thought and trial and error and testing theories that goes into every design, every time.
Some things are easily solved; others require adding bulk to the source code, sometimes even a patch or two or ten is required to get certain browsers to play nicely. This is where semantics thumpers seem to drop the ball.
I’m not saying don’t tout the qualities and benefits of using semantic code and standards to build web pages, but please don’t get so caught up in yourself and your personal theories that you forget that sometimes we have to use undesirable coding techniques to make our sites work.
Let’s give each other a break, and let’s stop being so critical of each other, embrace the standards, cement yourself in semantics, but keep an open mind and heart and support your fellow developers.
A Community Divided
- 02.22.06 at 3:22pmthrown down:
- James Mathiasimagined by:
- Developmentally Ablestored in:
- 259 peeps, 9 of whom commentedenjoyed by:
More of the Same
10 recent “Developmentally Able”
- Big Business Bulli…
⇒ on: Aug. 26, 2007 - 6pins has launched…
⇒ on: Apr. 19, 2007 - Steal Ma.gnolia
⇒ on: Apr. 4, 2007 - Getting Logitech…
⇒ on: Feb. 3, 2007 - Can I get that ico…
⇒ on: Dec. 21, 2006
- Help Wanted
⇒ on: Dec. 6, 2006 - 13 Applications of…
⇒ on: Nov. 16, 2006 - Will The Real Styl…
⇒ on: Jul. 9, 2006 - Mr. Alan Jax is an…
⇒ on: Jul. 9, 2006 - Links to Me Will b…
⇒ on: Jun. 27, 2006





your comments
add comment
9 comments
Feb. 22, 2006 (10:11pm) [#1]
David Sissitka
The “It must be semantic or it’s wrong.” group can be amusing, especially when faced with a problem like multiple background images. Great read James, keep it up.
Feb. 22, 2006 (10:54pm) [#2]
James Mathias
Thanks David,
I appreciate the support.
Feb. 23, 2006 (12:12am) [#3]
Andrew
Very much agreed. To me, all are important, but when I work on one, my main goal is compliance with standards and browsers, with semantics coming in second. I would rather have my site look and operate the way I had intended than sacrifice something so that the code (that most people will never look at) is perfect. Nothing wrong with it, as long as I get the desired results without creating something that is just a mess of poor coding.
Feb. 23, 2006 (1:16am) [#4]
James Mathias
Andrew, well said.
In a browser based utopia, we would be able to accomplish anything design wise with minimal divs use (I think divs as neccesary to logic separation of content) and perfectly semantic coding practices, but it’s just not possible with today’s browsers. Just like you, I put standards and browser support above semantics.
Feb. 23, 2006 (7:46am) [#5]
Dagobert Renouf alias Gali
Hi James (and everyone), i’m reading your articles for days and i’m posting my first comment
I’m entirely agreeing with you, you’re right :p
I think that semantics are a good way to create an accessible website but this is not the one. You can break semantics rules while being accessible to everyone, that’ s the essential, using flash or javascript can not be bad if the site works good on every browser while turned off. The real problem is the kind of people the site targets, geek people or grannies, everyone has differents browsing behaviour and the site must adapt to it (the best example are sites wich begin to use 1000px page width, because their audience has screens wich supports 1024x768 resolution).
Feb. 23, 2006 (11:06am) [#6]
James Mathias
Hi Dagobert,
Thank you for participating, I’m glad to hear you’ve bee reading, it means a great deal that people enjoy my articles.
I 100% agree that the audience of a site is the number #1 concern of the web developer, or at least it should be. I always try to take the user base into consideration when it comes to coding, accessibility and usability and usefullness.
Feb. 23, 2006 (11:42am) [#7]
Jamie
Really enjoyed reading that, sat down with a cup of tea and a biscuit and reading that made my day, i agree with you on your points and understand a lot more now
Thanks
Feb. 23, 2006 (11:50am) [#8]
James Mathias
Thank you, Jamie. I always appreciate your comments.
Mar. 07, 2006 (6:51pm) [#9]
Mark (mdz61384)
yet again, well said and completely agreed with
I’ve run into some personal projects of which I’ve had to play that game. Frustrating! And how about commercial products ever getting semantic markup correct? Even Dreamweaver 8 as great as it pretends to be, is still high and dry with my valid code. This oftentimes puts me in a bind when I need to have clients update their own sites. What gives?
add comment
9 comments