Progressive enhancement
A few years ago, a colleague once told our project manager that 80% of the time he spent changing already finished code to make it work in old browsers. In those days, a lot of people spent a lot of time making round corners work on Internet Explorer in a costly (in terms of development time and performance) attempt to make everything look exactly the same everywhere. A lot of folks decided to postpone adapting the new features in CSS3 and HTML5 because some browsers did not support them. This was just to support a single digit number of browsers and make sure the website was still functional when you switched off JavaScript (graceful degradation).
Today, there is bad news and there is good news. The bad news is that there are more browsers than you can imagine and a lot of browser/device pairs support APIs that others don't. The good news is that several technologies have emerged to tackle this problem in a more proactive or, shall I say, progressive way.
So...