I think I like Safari less than Internet Explorer now. If you read pages like this, then you might understand why, or you might just think I worry about stupid shit.
I have a particular problem with the following property:
-webkit-user-drag
See back in the day when IE was the only browser people gave a shit about they got arrogant and decided they’d make up a bunch of proprietary things to make their browser seem more awesome and probably solve some short-term problems nobody cares about now. Eventually everyone figured out this was a terrible idea and that in order to avoid going insane we should agree on some sort of standard moving forward. This is why Safari pisses me off, they should know better. Webkit was designed around standards. Now I’m sure the Webkit team is working hard to try and get these included in the spec, but that’s not the point. The fact that they’re calling the damn property webkit-something means they don’t give a shit if it is ever a standard or not. Why would you use a CSS property to mark your content as draggable in the first place? Don’t we have DOM scripting for that kind of stuff?
I guess my point is we shouldn’t need a page like this, because we already have a page like this. I’ll shut up now
Comments 5
That last line was brilliant.
It’s funny that they explicitly state in their intro that the goal of css is to separate style from structure. Then they proceed to pollute that by mixing behavior with style (in a completely proprietary way at that). Disgusting.
I’m sure their argument is that they do support standards, but provide a superset of them to allow for richer applications that use webkit. But you’re absolutely right, anything being styled with css was obviously structured with markup, and therefore should be scriptable. No reason to provide a ridiculous attribute like that. I’ll shut up now.
Posted 23 Nov 2007 at 9:29 am ¶The CSS specification makes allowances for vendor-specific keywords and property names such as those you are complaining about. There are several reasons why a CSS property may have the “-webkit-” prefix. The two most common are that it may be present in a draft of the CSS specification and thus subject to change in the future, or it may be a proposed addition to a future CSS specification, such as the recent CSS transformation properties. The purpose of the prefix here is to give fair warning to content authors that make use of the property that it is not standard and is subject to change. This allows content authors to experiment with CSS properties which are still in flux.
Two other reasons exist that you may not have considered: properties that are designed to aid in WebKit’s use in non-browser applications, and properties designed to assist in the implementation of the WebKit engine. As you may know, WebKit is used heavily in many non-browser contexts on Mac OS X. Mail, Dashboard, iChat, Adium, Help, etc all use WebKit to display content in their own way. Clients such as Mail cannot enable JavaScript for security reasons and yet need control over elements of the behaviour of HTML that they display. Others such as iChat, Adium, and Dashboard may desire behaviour which helps their web-based portions behave like a native application with minimal effort on the applications behalf.
Further, in Safari 3 common form elements such as text fields, text areas, buttons, and checkboxes are all rendered by the WebKit engine rather than using native NSView-based controls like in previous versions. The rendering of these elements, and many others, is specified via a CSS stylesheet yet there is no standard way to specify properties that are needed to control the appearance of these elements.
These are exactly the reasons that the CSS specification allows for vendor-prefixed properties and keywords. If you still feel inclined to hate on WebKit, keep in mind that IE and Mozilla have theirs too.
Posted 24 Nov 2007 at 4:04 am ¶You make a damn fine point Mark. Particularly this line:
“WebKit is used heavily in many non-browser contexts on Mac OS X. Mail, Dashboard, iChat, Adium, Help, etc all use WebKit to display content in their own way. Clients such as Mail cannot enable JavaScript for security reasons and yet need control over elements of the behaviour of HTML that they display”
If only the page that had started me off on the tirade to begin with had explained it so clearly perhaps I wouldn’t have gotten upset to begin with. I retract my hatred of WebKit for that reason.
You do know now though that you’ve made me look like a moron on my own website so I do have to fight you. You’ve been forewarned Mr. Rowe. MORTAL ENEMIES!
Posted 04 Dec 2007 at 9:31 am ¶OH SNAP IT IS ON LIKE DONKEY KONG!
Posted 04 Dec 2007 at 9:41 am ¶I think at least some of the drag and drop stuff actually comes from matching IE :(
I could be wrong though, it may only be the JS api to drag and drop that comes from IE, but i vaguely recall that it was only the ability to set a drag image that was unique to WebKit.
Posted 09 Dec 2007 at 5:17 am ¶Post a Comment