Instead of designing your own button, why not use <button> and let the Browser+OS decide how it will lock? Instead of making your own checkboxes (and the behaviour for it) you can just, you know, use the html chekbox. Instead of designing your own form, and "styling" input fields, and then you need to add "behaviour" to the input fields - which will diverge from the browser+os standard, you can just use <input> and <form> tags.
For the rest of the gui widgets like tabs which dont have a html spec, just style it up as close as you can to _look_ like a tab and make it behave like a link - thats enough.
Look at facebook, their UI is a horrible mess, they have introduced thier own "widgets" and changed behaviour for most of the common widgets, like the scrollbar which suddenly jumps back 40% when it reaches the lowest 10 or 20% or so. So the functionality expected - the scrollbar represents a _finite_ document, suddenly it is infinite. Destroy such "ui" crap with the force of a thousand suns.
It may be good for facebook, they can do so since they have 800 million users, and anyone whom they teach _their_ widgets and ui-interactions is further instilled and locked into their usage platform, but as a webdev of projects with less than 1 million people, you cant do that. Stick to the standard. Dont make your users locked into your widget and your conception of what a button or scrollbar is.
For the rest of the gui widgets like tabs which dont have a html spec, just style it up as close as you can to _look_ like a tab and make it behave like a link - thats enough.
Look at facebook, their UI is a horrible mess, they have introduced thier own "widgets" and changed behaviour for most of the common widgets, like the scrollbar which suddenly jumps back 40% when it reaches the lowest 10 or 20% or so. So the functionality expected - the scrollbar represents a _finite_ document, suddenly it is infinite. Destroy such "ui" crap with the force of a thousand suns.
It may be good for facebook, they can do so since they have 800 million users, and anyone whom they teach _their_ widgets and ui-interactions is further instilled and locked into their usage platform, but as a webdev of projects with less than 1 million people, you cant do that. Stick to the standard. Dont make your users locked into your widget and your conception of what a button or scrollbar is.