I give you these 15 (SMASH), these ten, ten commandments!

I give you these 15 (SMASH), these ten, ten commandments!

There are a few pet peeves I have of web site designers, things usually done by people who don’t really know any better, who think that “more is more”, or who blindly listen to advocates without understanding the realities behind the advocacy.

With that in mind, I’m creating my Web Design 10 Commandments

  1. Thou shalt mark up thy pages semantically
  2. Thou shalt attempt to make thy pages validate
  3. Thou shalt not change the default mouse pointers
  4. Thou shalt not use self serving javascript
  5. Thou shalt not maketh thy website for one browser
  6. Thou shalt not relyeth on the Javascript
  7. Thou shalt respect the contrast.
  8. Thou shalt not employ the “SkipIntro”, nor shalt thou useth the “Splash Page”
  9. Thou shalt never auto start sound.
  10. Thou shalt not fear the table.

#1: Semantic is another way for “meaningful”, it makes your HTML easy to update, and a year from now when you come back you won’t be struggling to figure out what “a_12-sideb” means.

#2: Don’t kill yourself on this.  It’s absolutely essential that your HTML prototype is valid (X)HTML, and your CSS should always be valid.  That said there are so many moving parts on a website that keeping one valid all the time with any sort of content management system is an effort in futility.  Do your best.

#3: Don’t change my mouse pointer’s behavior. There’s no point, and it just makes things confusing. If suddenly my mouse turns from a pointer to an hourglass, to me that means something’s loading…it doesn’t mean your site’s kewl.

#4: If you don’t want somebody taking your images or viewing your source code, don’t post your website. It’s that simple. When you stop me from using my right click, I’m suddenly unable to look at web properties, bookmark a page, go back, etc…all things I do with my right click. There’s ways around it, so you’re not really stopping anyone, all you’re doing is forcing me to disable javascript for your site.  If you are using Javascript for self-serving purposes and not in the user’s best interest then you need to stop.

#5: “Made for IE”, or “Made for Netscape” is just dumb, you’re cutting out a percentage of your users. Check your site in a few browsers (I.E. Mozilla, and Netscape will do if you have to limit yourself, although you should check in Opera and Safari if you can…the ambitious among us can look at I.E. 5.5, and I.E. 5.0).

#6: People disable Javascript, don’t make your site rely on it.  Navigation should NEVER be in javascript or Flash, and if you DO need to use Javascript or Flash, then you must make sure that your site has an elegant degredation to simple HTML.

#7: I originally titled this one “Thou shalt not useth red text on black background (or black text on red backgrounds), nor shalt thou use a high contrast image behind similarly coloured text.”, but that’s just too long.

#8: Why are you making me click on something to enter your site? If I didn’t want to enter your site, I wouldn’t have followed that link/entered it into my address bar.  Oh, I see, you like that pretty picture that your sister’s cousin’s brother’s nephew’s dog’s walker’s brother made for you?  Then make it the background on your desktop and be done with it because newsflash bucky…you’re the only one who cares about the damn picture.  Same goes for your stupid Flash thingie you just made me sit through.  Oh and advertisers, I’ll sit through ONE screen of your dumb advertisement with the “click here to skip this ad” button, but make me do it again and you will really piss me off.

#9: It’s 3am, my infant child is sleeping in my arms, and if I move in the slightest the banshee’s wail will begin.  I’m absent mindedly surfing the internets oblivious to the volume of my speakers because…hey, I’m surfing and reading articles, not watching video.  I go to your page and the roar of zombies fills the room, bringing about the wails of the infant banshee in my arms.  You are now in my top 10 people I would like to punch in the mouth at that very moment.

#10: I know the CSS evangelists will hate me for this, but sometimes a table is the right way to present content. If it makes sense, use the damn thing.  Tabular data should be presented in a table.  Grids of data can be presented in semantically meaningful table structure with CSS to control the presentation layer.