When I read something like this, I am just amazed at the skill, dedication, and the attention to detail of the author.
However, I have to question the value of the time and effort that this kind of thing represents. Seriously, it's just a button. All that effort just to figure out how to render a button-like object with HTML and CSS, followed by another round to figure out how to make the technique work across multiple browsers? This is exactly what we mean when we say sanity must be restored to Internet application development. Flex and JavaFX, save us!
Why shouldn't I be able to write an application in an elegant, powerful, and expressive programming language and then be able to run it on a desktop and a mobile device? While I'm at it, why not on the web too? If I want to include rich media support, why do I have to make the choice between easy development at the price of platform lock-in of (.Net, Cocoa), or platform neutrality at the price of pain-in-the-neck development (e.g. HTML/CSS)? ( Pain-in-the-neck is an understatement, but Jim runs a family friendly blog, here.) This is the potential represented by Flex and JavaFX. I suppose I should include Silverlight as well, but I still have my doubts about Microsoft's commitment to platform neutrality. Call me crazy.
So for all of you who are still railing against JavaFX and asking how Sun could have the audacity to try to develop a new language with the power to appeal to desktop and mobile developers but the simplicity to appeal to web developers and designers, I hope this has shed some light on why some of us think it is a good thing. And yes, Sun could have just watched passively as Microsoft and Adobe fought it out, but I, for one, am glad they did not. I have a lot of time and effort invested in the Java platform and in the Java code I've written over the years. I am very glad not to have to abandon all of that in order to be able to develop rich client applications for desktop, mobile, and the web.