One of the key concepts when designing and developing websites and user interfaces is never to assume that your users will be using the same equipment that you are. You can’t assume that your users will be on standards compliant browsers like FireFox or Safari, they may be using Internet Explorer 7, or even worst, Internet Explorer 6. You can’t assume that your users have Flash installed, or aren’t using an extension like adBlock, and you can’t assume that your users have javascript, or are using a browser that correctly interprets your javascript. Even the major javascript libraries like jQuery, Prototype or Dojo lack complete support for certain browsers.
This concept came into play for me as I was redesigning the comment form on this very website. Rather than placing field labels in the HTML itself, I’m using javascript to insert my labels into the fields themselves, then when the user focuses on a field the javascript removes the label leaving the field blank and ready for user input. However, if a user was to come to this site with javascript turned off, or from a mobile device that doesn’t support javascript all they will see is three fields with no labels. Yea, some people may assume the fields are name,
e-mail
and url
since that’s pretty much the blog standard, but I can’t assume that. There may be users who see these three fields and have no idea what to do with them. And since I want to encourage everyone to join the discussion and comment, I needed to make sure javascript-less users get some kind of useful user experience.
Therefore I decided to put proper labels back on those fields. Then when a user visits this site with javascript turned on and using a browser my javascript library supports, that javascript hides those labels and lets my place-holding text do its job. That also means when a user comes to my site without javascript and with the place-holding text not working, the javascript will never have hid the labels in the first place.
As more sites use more and more flash and javascript, not to mention trendy AJAX, designers and developers have to remember to continue to accommodate those users browsing in less than ideal environment.
That said, this site isn’t exactly optimized for IE7 or IE6 yet, but it’s a personal site that I don’t have all the time in the world for, and I’ll get to you IE folks eventually. In the mean time have patience.