What is up with “web standards” today? There seems to be two movements, there are die hard web standards guys and ones who don’t really care about them. Who is right and who is wrong?
What are web standards anyway (for the nubes)? Web standards (in a nutshell) are a systematic method to develop a web page using common methods that are generally accepted by a governing body. Basically, how you code the site to be viewed on a web browser.
There are basically two major ways to code a website (layout a website). The old tables method or CSS. Both have their pros and cons. Let’s take a look at the pros and cons of each (IMHO of course):
Tables:
Pros
- Wide browser support
- Many web developers know how already
- Very fast and easy to lay out
- Consistent look in all browsers
- Complicated web design layouts can be accommodated easily
Cons
- Accessibility stinks (for the handicap)
- Tables do not flow logically in the source code (left to right instead of top to bottom)
- Code is large and hard to navigate with nested tables
- Sometimes more difficult to change the site in the future (depends on how much of a change)
- No caching of page structure
CSS:
Pros
- Accessibility is great
- Flows top to bottom
- Structure is cached on the browser (if done in a CSS file)
- Somewhat easy to update the website in the future
- Smaller code
Cons
- Browser inconsistency
- Hard to find someone who completely understands it
- Complicated designs are a nightmare
- Takes several times longer to complete layout
- Did I mention browser inconsistency?
- Is usually done wrong (again, hard to find someone who understands it)
I am sure I missed some, but this is a high level article and I do not want to go too deep.
As you can see, both have advantages and disadvantages. Let’s take a look at why you would choose one over the other.
First off there is cost. CSS layout will take much longer and will cost you more. How much longer you ask? In my experience, about 8 – 10 times longer. So if you take a small website with 2 page layouts and do them in tables, it would take approximately 1 – 2 hours to slice and layout. With CSS, it will take approximately 8 – 16 hours. That is a significant time and cost increase.
Then there is browser compatibility. Want your site to look the same in every browser and OS? Tables seem to have an advantage here since they have been around longer and we know all the ways to get around any problems. This is not fool proof, but we have learned how to do table layouts that do not break on other browsers.
Then there is speed. CSS will definitely take the gold. The code is not as bloated and the CSS file can be cached and the page structure is not downloaded for each page, but only once per website.
Then there is accessibility. If you are a company with accessibility requirements, then CSS is the best way (tables can be made accessible, but CSS takes the cake).
So, now that you have some basic understanding of the pros and cons. How do you choose which one to do? Here are my thoughts.
If you are on a low budget and only a select few will view your website, then I would lean toward tables. If you have a decent budget and have many diverse people looking at your site, then do CSS.
Like I said before. Tables can be made accessible if done right and will validate (tables are valid XHTML, remember?). Again, this is if things are done right. And with smaller websites, this may be the only way to not blow your budget.
It all depends on your audience. Develop who will be looking at your site and then make a decision. I would steer away from web standard Nazis who cram them down your throat. If your site does not validate, then they will commit suicide for the dishonour. Definitely steer clear of those guys. Hey, Google doesn’t even validate…
I tend to take a more real world look at web standards and what they really accomplish and how the Internet has survived so far. I think standards are needed and I do advocate them. Moving forward as a web developer will be much smoother if there are some browser agreement and rules. Right now each browser has it’s own “flavor” of how to display stuff. This is not cool.
Then there are the handicap. They deserve a good chance to view the Internet and we should not make it harder for them to do that. This is a really good thing to do and CSS and web standards definitely helps.
So, what should you do now? Go join your local web standards group (yeah I need to also) and learn then voice your opinion. I think most web standards groups are overran by the web standards Nazis right now, but I haven’t personally visited, so that is speculation.
Let your real world voice be heard and bring those Nazis back into reality. It is not about validation, it is about usability. Not just for the handicap, but everyone. If your site is not usable, then throw it away. What is the point? I guess it may look good, but who cares. At least who will care to come back?
Well, you have my take on it. This is just IMHO. Post some comments. Let me know what you think. Keep them helpful and open minded. BE REAL!
As for the article title, it got your attention, right? Yea for marketing.
Chad Rainey
Senior Web Developer
Media Marketers, Inc.