The Practicality of Perfect Compliance
I am a web standards geek. I am a novice, but I definitely try to do it the W3C way if it's possible. I feel it's made me a much better developer, having improved both the quality of my work and my understanding of the technologies as a whole. I write pretty clean markup, and go out of my way to separate the various layers of a web page.
Non-standard Standards?
Having said that, it was recently brought to my attention that a common property in JavaScript, innerHTML, is not a W3C property. It is present in IE, Mozilla browsers, KHTML, and Opera, but it is not an actual standard property!! Having ramped up my usage of it recently due to Ajax (which also falls under the umbrella of a ubiquitous non-standard, for now at least), I was pretty let down to learn this. Just about every browser supports it and treats it the exact same way, to the point that it has more univeral support than the actual W3C Recommendation involving 'createElement' and 'createTextNode'. It is clearly a de facto standard, moreso than IE being equated with 'the internet' in the minds of many people.
I understand the problems with it , but I feel you have to draw the line at some point. Is it good web design to use innerHTML? Many say no, and some offer an alternative that tries to bridge the innerHTML ease of use with cumbersome W3C methods. As I learn about the varied alternatives I have to ask myself, what is the value of doing something using the 'technically correct' method when other alternatives work just as well or better (as in this case)?
Getting the Job Done
When discussing this, a friend of mine said, "good web design is an exponential curve. you never reach perfect." I find this to be true, and not just to ease my conscience. I realize that this sentiment can be applied on many lower levels (why should I not use spacer gifs?), and my response is nothing is stopping you except your own judgement, just like my choice to continue the use of innerHTML. I'm not trying to nullify other assertions I've made in the past, but it is a tough call when you come to such an impasse.