Some people have a near religious approach about what a browser should do, and what it should not. For those guys, the browser is a piece of code that render a "document" ; this is by no mean a way to implement GUIs. The other part of the world is fighting hard to implement GUIs in browsers, and making sure that their GUIS work well in every browser ! Sadly, the standardization groups have many of the first category, and few of the second. And franckly, that really sucks.
Why not aknowledging that a browser, in 2013, is a piece of code that implement rich terminal capabilities and also (mainly?) intend to serve GUIS for apps ? From there, we could add rich UI elements to the totally outdated and pathetic form elements collection that HTML implements. A lot of people spend a hell of time to workaround CSS/DOM oddities or limits, simply because the web technologies was not made for GUIs... Such a move would likely to be way more useful than many recent additions to web standards.
That being said, I don't think CSS and DOM are inherently bad. They allow very powerful things indeed, as well as javascript does.