Avoid short-term bleeding code.
Yes, I know many of you will hate this answer. And if you have never worked in a large corporate environment, you will think that I am Luddite. However, I can’t tell you how many times the requirements that were provided to me specifically listed the elements “No HTML5” or “No CSS3” simply because the client was paranoid about IE6, working exactly the same way as others did .
The obvious general answer is testing, but I would go further. If you are worried about 100% performance in all browsers, you should define your standards. For example, if you need to return code to IE6, you need to worry about how to simulate rounded corners, which is always a hack in IE6 and lower? Or, will the client agree to progressive improvement, for example, square corners for those on dark age browsers and rounded for the rest of us? Does the client indicate fonts that cannot be shared with each other when you lift the page side by side, or do they understand that browsers use different font rendering mechanisms? Is it possible to work only in IE6, or do you need to also support quirks mode? As for rendering with a screen reader (accessibility) or without CSS or Javascript. What about mobile devices? All these were real and measurable problems with my last major corporate client.
I like Adobe Browser Labs as the first line of defense for testing. However, this is just one of the many steps that I take, including several physical computers on several OSs that connect through multiple connections through different network proxies. You simply can’t check enough .... and even then expect to find an error when starting and maturing the site.
source share