Comments on Every Time You Call a Proprietary Feature “CSS3,” a Kitten Dies

36 Reader Comments

Back to the Article
  1. What an absolute load of tosh. Talk about a Stalinist line on web standards.

    We should be encouraging browser developers to experiment with new CSS features, not dissuade them. It’s from these types of experiments that the W3C can learn from. It’s the same with LESS and Sass. In many ways I hate the philosophy behind these projects, that is, creating mutually exclusive CSS branches; but at least they provide a working example of a radically different CSS as laid down by the Central Committee of the W3C. We can learn from them even if we have don’t use them in our projects.

    You write:

    bq. It’s important because it encourages certain vendors (*cough* Apple *cough*) to circumvent the standards process, implement whatever they come up with in WebKit, then evangelize it to developers as the best thing since sliced bread.

    Hold on. Why single out Apple? Mozilla have got a tone of Firefox only CSS. Look: “”: You are probably not aware of them because they are not as loud in shouting about their CSS experiments as Apple / Google / Chrome / Safari / Webkit are.

    Copy & paste the code below to embed this comment.
  2. “If you have been in this field more than a few years, you surely remember that it wasn’t always like this.” Yes; but it doesn’t follow (necessarily) that those who’ve been in the field for just a few years aren’t showing their elders enough respect. No need to make it an age thing, unless you have some data on that.

    But anyway, yeah. Andy Walpole, you’re kind of off the mark. She’s saying “don’t call it CSS when it isn’t,” and offering suggestions for just what to do about it. This is a productive way of doing almost exactly what you’re suggesting. That Mozilla page, btw, starts off by saying “CSS Properties that are Mozilla Extensions (ie: not part of the CSS Standard) should be tagged with CSS:Mozilla_Extensions.” I.e., it is helpful toward to the goal of standardization of exciting new features.

    Copy & paste the code below to embed this comment.
  3. Thanks for your article! However some of these features are great as long as they are used with extreme care and consideration for those who don’t have these features. Opera is doing wonderful things with pagination and Adobe is creating regions, some very useful ideas that would mean a lot, at least for me at my job at “Treesaver”: . The creativity from these development teams is fantastic and while no developer should rely on them they are important for the advancements of the web.

    Copy & paste the code below to embed this comment.
  4. Thanks for your response. I am aware these advancements by Adobe have reached the CSSWG but was not aware that Opera was working with the CSSWG to implement the features implemented here:

    I am happy to hear that I am wrong about this and that Opera is working to fold these experimental features into a working draft.

    Copy & paste the code below to embed this comment.
  5. Hi Scott,

    Opera (and HÃ¥kon) are indeed proposing these extensions within the W3C. From that article you linked to, you can find a link to the latest draft of the CSS Generated Content for Paged Media Module (


    Copy & paste the code below to embed this comment.
  6. Other than reading “this other article”:, I’m trying to find a reason why _this_ article was necessary.

    Vendor prefixes are quite helpful in moving the web along, and allowing authors to play with proposed vendor ideas, and submit feedback and bugs. Regardless of the fact of whether or not they have been proposed to the W3C working group (and I don’t see why that should be an issue), _authors_ need to understand what vendor prefixes are before they use them.

    It’s true the vendor prefixes have become ubiquitous, but that’s because the W3C has been slow to act, and slow to implement, and where they have proposed the spec, the browser vendors are still working out _how_ to implement in some cases.

    This _cannot_ be compared to the browser wars, as _that_ was a situation of browsers taking entirely different tacks, ignoring the W3C altogether, and implementing _primary_ features as they saw fit, with no regard to standardization.

    *This* is browser vendors using a standards provided path to implementing new/experimental features - *not* ignoring the W3C and everyone else.

    If _authors_ are using these features, without a thought to the proprietary nature of them, then that is the fault of the advocates who’ve evangelized using them, without fully explaining the cost/consequences, *not* the browser vendors, and not the W3C.

    This is not a situation of vendor prefixes being harmful. This is a situation of browser vendors rueing the primacy effect of first to market, first to implement, first at everyone’s fingertips.

    We shouldn’t be harping on a single browser vendors (or _any_), for implementing a feature, or users for using them—but we _should_ be ganging up on browser vendors who want to implement features of another browser vendor using that browser vendors prefix!

    Haven’t we learned from the Opera debacle where it identified itself as Microsoft’s Internet Explorer?

    Copy & paste the code below to embed this comment.
  7. @Ben Henick

    bq. “¦And even in the best case, there’s the question of what happens when a feature is finally promoted to Recommendation status. Eventually all of those vendor prefixes are deprecated and need to be removed. At best, that leads to seemingly endless chores; at worst, it results in sites that haul around all manner of legacy crap under the hood”¦

    In all seriousness, when was the last time you saw a feature go from proposed to recommendation status, and you had to update your codebase?

    In the time it takes most features to do this a site will likely be redesigned at least 3-5 times (only slight hyperbole). This was a similar conversation that came up around CSS hacks, and the reality of it was _never_ ever an issue. A site came up for redesign long before you had to worry about scraping legacy code out of the codebase. This is really a non-issue.

    Copy & paste the code below to embed this comment.
  8. > If you have to use [proprietary stuff] in your code,
    > add a comment about this
    checking a css file for comments manually can be quite tedious, as they’re often large. I redirect my page’s calls for css files to a script that parses two files; regular.css and proprietary.css (or more for convenience sake), the css contained in both gets spit out as one to avoid unnecessary http round-trips.

    Copy & paste the code below to embed this comment.
  9. > This is browser vendors using a standards provided path to
    > implementing new/experimental features — not ignoring the W3C
    > and everyone else.

    Except that’s exactly what Apple is doing in many cases.  A bunch of -webkit properties have never been proposed as standards, and some of them Apple is flat-out refusing to submit for standardization even though the W3C has asked them to.

    Copy & paste the code below to embed this comment.
  10. Standards - an important source of information, because it summarizes the results of web development and practical experience.
    For the process of standardization is desirable to establish a working group with participation of the creators of web browsers and website developers. It is important to give the right to vote in the standardization process for web developers.

    Copy & paste the code below to embed this comment.
  11. Didn’t we already do this some time ago ?

    Or noone remembers the “Mobile IE incident”: ?  Or some of “ripples”: in the aftermath ? The general CSS community in FreeNode #css IRC room has been warning people about this for years.

    And there is no way to fix the existing sites anymore. It is not a realistic solution. What we should do is *stop the damned hype*. Sites like SmashingMagazine, Tutsplus, ReadWriteWeb and Sitepoint should take the example from AListApart and make a first page article urging people to stop the abuse. Because, make no mistake : this is your fault.

    Copy & paste the code below to embed this comment.
  12. “The proprietary features of today are no better than ActiveX and IE filters.”
    You mean “not much better”?

    Copy & paste the code below to embed this comment.
  13. The biggest problem that exists today is that people in our industry actually believe these properties “push the web forward”, while more often than not they are just simple visual or functional frivolities.

    If your core content/services are strong enough none of this superfluous nonsense is actually needed. But more and more companies are finding themselves in competitive fields with very little core assets to distinguish themselves. So they go for image. Designers pick up on this, web developers end up with complex stuff they need to implement against tight deadlines. So yeah, 3d transform suddenly become very tempting to use, and make it look like they are pushing the web forward.

    In reality though, actual users of the web don’t give a damn. As long as you give them great/unique functionality and content, they’ll jump through just about any loop you hold in front of them. Not to say that design and usability are completely obsolete, but they should not be our core concern if we actually have something valuable to add through our website.

    What the web lacks is what I call “internet environmentalism”: , a movement to counter the purely economical demands of companies, people that take a step back and are able to evaluate the things that really matter for the web. And let’s face it, most of the prefixed properties these days are definitely not part of that.

    Copy & paste the code below to embed this comment.
  14. Hello Everyone,
    I am here to just leave you a message that a brilliant team of web designer & developer has just launched the site Where you will find all premium and professional web templates for only $29. It has announced as the cheapest premium web templates ever. And any type of website development only $49 [templates $29 + development charge $20]. All the templates are very very exceptional and totally professional. Hope they will go so far.

    You can take a visit and look at the templates.


    Copy & paste the code below to embed this comment.
  15. A lot of critical discussion here but I think overall the post contains some really nice theory which does matter.. Propriety features should be kept apart from standards compliant features because it can add more confusion to an already fast moving industry.

    I will say though that actually implementing what is proposed is just a physical impossibility imho, though there are plenty of people who would agree this discussion alone shows that a lot of people do not, or half agree. To make this happen everyone would have to make it more clear when using propriety features and as such making sure that people who are learning from the information have a more full understanding·

    Copy & paste the code below to embed this comment.
  16. There seems to be several important aspects. Certain companies wanting platform ownership and thus $$$, mix this in with real good practice and then you can’t tell the difference. Is it for the good of the industry or just selling more stuff. But at the same time, we really want to push the creative boundaries. Its a difficult topic, I think each individual needs to decide for themselves, there is no black or white.

    Copy & paste the code below to embed this comment.
  17. Seriously, if you want a current, concrete example of why this is important, why we need to develop with standards first if we want browsers to become more standards friendly, read the other article this month on ALA. Developers building webkit specific mobile sites that exclude all other browsers (i.e., putting browser specific functionality above standards and inclusion, a mobile version of “Best viewed in Netscape 4.0”), and Mozilla, a browser vendor, responding by pouring tar and confusion over browser-specific prefixes and ua strings.

    It’s right there. Real life.

    As an aside to Neils, content is not the only thing companies are interested in serving their audiences through the web. Sometimes a visual/user experience that creates a specific brand perception is the primary goal of a site. The internet is big enough for all kinds.

    Copy & paste the code below to embed this comment.
  18. bq. If you have been in this field more than a few years, you surely remember that it wasn’t always like this

    bq. The proprietary features of today are no better than ActiveX and IE filters

    I have been developing web applications since Netscape Navigator 1.0 first came out, and -webkit- CSS extensions are _nothing_ like ActiveX. Microsoft’s proprietary additions were dumped into the main namespace and caused major compatibility nightmares, like two completely incompatible syntaxes for the same <object> tag. The way things are going now allows people to play with new features if they want or ignore if they want, and nothing breaks on older browsers either way.

    Since you’ve singled out Apple, let’s go over what they’ve been doing. Apple periodically has added a new visual feature to CSS, and namespaced that feature with the -webkit- prefix. Major examples I can think of are gradients, rounded box corners, box shadows, animated transitions, keyframed animations, 2D transforms, and 3D transforms.

    Some of those, like box shadow, were part of CSS3 first. But most were created by Apple to fill a gap, which they documented and submitted to the W3C for consideration in a future edition of CSS3.

    (As other people already mentioned, Mozilla does the same thing. Theirs don’t get as much press because most haven’t had the same cool-factor as Apple’s proposed extensions.)

    You mentioned -webkit-gradient, which was needlessly complex. That’s a great example, because after Apple came up with the idea Mozilla rethought it and released a simpler version with the -moz- prefix. The W3C came up with a proposed new syntax mostly based on Mozilla’s version, _and Apple then changed their own implementation to match_.  That’s precisely how these things are supposed to work: one vendor comes up with an idea, another adds their two cents, the W3C proposes a final syntax, and everyone adopts the new syntax.  Since these experimental versions are namespaced and can be stacked on top of simpler layout rules, anyone can experiment with them without fear of breaking the rest of the layout.

    You seem to be advocating for browser vendors to stop coming up with features themselves and instead focus on implementing whatever standards the W3C hands down from on high. That’s how XHTML 2.0 was developed and that turned out well didn’t it? HTML5, and CSS3, are constantly-changing documents driven by browser vendors themselves.

    The major alternative to using these extensions is to either stick to flat colors and rectangles, or to pre-render all non-flat non-rectangular elements in Photoshop (or GIMP) and turn the layout into a bunch of images.

    Copy & paste the code below to embed this comment.
  19. Dammit, alistapart’s comment system turns - webkit - (without the spaces) into -webkit- and there’s no way to preview that before you submit or to edit a comment after you’ve made it…

    So in my previous comment, none of those strikethroughs should be there. I’m talking about the CSS prefix tags.

    Ironic that a blog dedicated to CSS can’t format CSS prefixes properly. :)

    Copy & paste the code below to embed this comment.
  20. Please Richard Connamacher, read what bzbarsky and a few more people have written before you comment.

    There are quite a few properies that Apple has *not submitted at all* to the W3C. Properties covered by IPR that prevents other vendors from implementing them.

    That is monopolistic “embrace-extend-extinguish” policy and nothing else.

    And even when Apple do submit their inventions to the W3C, they are not documenting it properly or even actively working towards standardization.

    They are not paying anyone to work as a spec editor. Mozilla, Google, Opera and Microsoft do.

    They are not hiring open web evangelists to promote standards and X-browser development.

    So Apple clearly needs to be singled out. Hard facts can’t be ignored.

    Copy & paste the code below to embed this comment.
  21. I have written reflection about this article in the European Commission’s forum E-practice. Please feel free to copy and paste it here if you need, and I apologize for my potential mistakes as I’m not a native English speaker.

    Copy & paste the code below to embed this comment.
  22. I despair when I see posts like this, I really do. 

    How on earth are the standards that drive the web supposed to grow and flourish without such things as vendor prefixes.  Apart from a small handful I could mention, most that are in use at the moment render similar results and I’m sure that many of these will ultimately result in new Recommendations and common implementations further down the line.

    Maintenance is an every day part of the lifecycle of any web design, from perfectionist design tweaks to replacing outmoded markup with HTML5, or improving back-end code and services.

    Anyone who doesn’t like doing that kind of work or who doesn’t see the value in working with vendor prefixes is in the wrong job.

    At the end of the day, it’s down to the designer/developer to figure out the most practical way to implement a browser-safe design (if indeed the customer insists on the design being precisely the same on all browsers) - and to figure out if the longer-term maintenance of using prefixes can be accommodated.

    Copy & paste the code below to embed this comment.
  23. It might be strange to ask such a question to the author of *CSS3* and many other awesome *CSS3* tools;), but still… Not so long time ago many Web evangelists “argued”: against overusing the word “HTML5” as a marketing buzzword meaning “all these bright new things in the web front-end, including CSS3”. But doesn’t the word “CSS3” suffer the similar overusing problem?

    Perhaps “CSS3” needs even more clarification than “HTML5” did. At least, there is an actual W3C spec named “HTML5”, but “CSS3” is not the name of any actual spec. CSS has no versions, it consists of modules that are developed independently. Some level 3 modules are already Recommendations (and — as you stated in the article — the level 4 modules are already coming to extend them), while some (like CSS3 Tables) are just planned. But when we refer to some stuff as “CSS3”, we might accidentally make some less informed people think that “CSS3” is some kind of spec _version_. Haven’t you noticed many people asking “When _CSS3_ will be ready?” or complaining that “_CSS3_ is still a draft, _not a standard_” on the web developers’ forums?

    And this confusion might be doubled because of the lack of any tool to distinguish those parts of CSS3 that _are already the standard_ from those that are still at risk as something experimental. We have so called “CSS Snapshot”: that, as I understand, should reflect the actual state of CSS development (which CSS features are definitely _non-experimental_ now), but it’s status is… “Group Note”, so it can’t be the normative reference. The “CSS Validator” also is not much helpful as it’s _level-based_ (?) and sees no difference between, e.g., the CSS3 Color (_Rec.!_) and the CSS Line Layout (_Draft_, which also has the “severe outadted” remark) by design. And in the last couple of years it has also changed it’s behavior so vendor-prefixed properties are just warnings, not errors any more…

    So if we can call “CSS3” the CSS3 Tables module, which even hasn’t been published yet, why can’t we call so such a well-supported (by more than one browser family!) property as “zoom”, someone might ask? If “the W3C itself doesn’t know exactly yet what will this ‘CSS3’ include”, why can’t we call so one of our useful features that might become standard “sometimes in the future” — some of the browser vendors might think? :)

    Here is my main question: does the actual maturity of the feature (is it still experimental or not) have more importance for those who will use it in practice, than the formal existence of the spec for it? In my opinion, yes, the expereimental status of the feature should be enough to prevent authors from using it in production (and from depending on it, of course), no matter if the feature is W3C-specified or not. But if my point is not a complete nonsense… should we have some more tools to tell the experimental and the “safe to use” features apart (better than

    Copy & paste the code below to embed this comment.
  24. Update to my comment above: it was supposed to have a title “So is calling W3C-specified features “CSS3” absolutely safe for kittens?”, it was not cut in the preview, sorry for this technical misunderstanding :)

    Copy & paste the code below to embed this comment.
  25. I guess I’m confused about the process. So, I’ve always assumed the
    -moz, -webkit, and other prefixes were a good thing? Does the use of prefixes keep the standards from being implemented at a later time? I guess I don’t fully understand the argument against the use of prefixes? What is the driver in the argument? If we wait for the standards dictate everything we may never have that special thing or cool new feature? I don’t agree with big business and I feel as though this is along the same lines?

    Copy & paste the code below to embed this comment.
  26. Lars Gunther wrote:

    bq. Please Richard Connamacher, read what bzbarsky and a few more people have written before you comment.
    There are quite a few properies that Apple has not submitted at all to the W3C. Properties covered by IPR that prevents other vendors from implementing them.

    I did read bzbarsky, and he’s talking about a proprietary Apple ebook format that has nothing whatsoever to do with this article, the W3C, or web development in general. Apple’s decision to base an offline file format on an extended version of HTML doesn’t mean it is HTML.

    If Apple has promoted custom CSS extensions for actual web development and then claimed proprietary control over them and refused to submit them to standards bodies, please let me know.

    Copy & paste the code below to embed this comment.
  27. bq. @Richard Connamacher and others: If you think the article is against prefixes or vendors innovating, you apparently read it without paying the least bit of attention to most of it. Let me highlight a few parts:

    I did read that, and of the list you put forward how many were brought up as ideas without public implementations, put through a nice round table discussion among all browser venders and the W3C, before everyone then came together and implemented them in perfect unison? That’s just not how the process works.

    The problems you pointed out in that list (like drag and drop) list have already been resolved by using webkit, moz, o, and ms vendor prefixes in CSS, and similar prefixes in JavaScript and the DOM. Browsers can experiment without stepping on the W3C’s or each others’ toes. Microsoft has been very bad with that and Netscape was terrible back in the day, but even Microsoft has finally started doing the right thing with prefixes.

    And Apple has submitted their ideas to the W3C and worked to get support from other vendors. They just do so after releasing an experimental implementation first to show that it works and and works well. Which webkit CSS3 extension do you think didn’t follow that route?

    Copy & paste the code below to embed this comment.
  28. Richard, for example Apple promoted -webkit-text-size-adjust for actual web development, quite heavily in fact.  And it’s refused to submit that property for standardization so far.  They _might_ allow someone else to reverse engineer it.  Or they might claim patent rights over it after someone puts in the work of reverse engineering and writing the spec, just like they did with the attempt to standardize touch events in the W3C.

    If you think Apple is playing sandards ball here, you _really_ need to open your eyes and look around.

    Copy & paste the code below to embed this comment.
  29. Richard,

    Apple has a ton of CSS extensions that it’s never submitted to standards bodies and that are in use on the web, especially on mobile devices.  Its proprietary CSS mask stuff (instead of using the already-standard SVG masks), -webkit-font-size-adjust, -webkit-box-reflect, the list goes on and on.  Some of these they have proposed an were rejected as far as I can tell (e.g. -webkit-box-reflect), while others they have just refused to propose to start with.

    Did you even try looking through a list of -webkit properties before making your comments?

    Copy & paste the code below to embed this comment.
  30. And didn’t even mention IBA. I was reading another comment thread at the same time where a poster was railing about about Apple’s epub-derived format and mixed it up with this one. My apologizes.

    I don’t know if they’re promoting webkit-text-size-adjust “heavily”, there hasn’t even been a post about it on the webkit blog and it’s not one that I normally see people use. (The only webkit blog post I found mentioning it is from someone who prevented it and other cruft from being added by contentEditable.) But they do describe it in their official documentation for iOS web development so that counts as some level of promotion. All the pages I can find actively promoting its use are on independent sites (including yes, an article on A List Apart about mobile web development). I can find very little about it in official channels outside of that developer document.

    Where’d you see that the W3C asked them to submit it for standardization or they flat-out refused?

    Copy & paste the code below to embed this comment.
  31. I remember coding specific HTML+CSS for Iexpoler and Netscape before 2004… It was a mess, most people who agree with this kind of crap practice are new comers that started playing cool designer in what? 2005-2006? When the was was over… I remember the ActiveX - Object - Embed stuff. Hacks for IE (Filter anyone?) and for others.

    Now try to do a better CSS, look at this line:

    background-image: linear-gradient(right , rgba(255,255,255,0.2) 49%, rgba(173,173,173,0) 0%);
      background-image: -o-linear-gradient(right , rgba(255,255,255,0.2) 49%, rgba(173,173,173,0) 0%);
      background-image: -moz-linear-gradient(right , rgba(173,173,173,0) 0%,  rgba(255,255,255,0.2) 49%);
      background-image: -webkit-linear-gradient(right , rgba(255,255,255,0.2) 49%, rgba(173,173,173,0) 0%);
      background-image: -ms-linear-gradient(right , rgba(255,255,255,0.2) 49%, rgba(173,173,173,0) 0%);
      background-image: -webkit-gradient(
          right top,
          left top,
          color-stop(0.49, rgba(255,255,255,0.2)),
          color-stop(0, rgba(173,173,173, 0))

    WTF is wrong with the people who agree with this? Are they Apple fanboys or what? Now inst M$ the evil one…

    Copy & paste the code below to embed this comment.
  32. Richard,

    webkit-text-size-adjust is quite prominent in Apple’s iOS “how to write sites for Safari on iOS” documentation.  See for example but there are plenty of other references to it there.

    Of course it’s not on the WebKit blog; there is no support for this property in WebKit proper.  It’s a proprietary Apple extension; the only browser that supports it, to my knowledge, is Safari on iOS.  There is no support in Safari on OS X, for example, nor in Chrome last I checked.

    As for the asked and refused part, there are several mentions in the CSS working group meeting minutes.  That includes the minutes of the meeting where this whole prefix thing was brought up by Mozilla, Microsoft, and Opera.  At the time the Apple representative made some noncommittal comments about how he’d see what he could to to convince the higher-ups at Apple to actually submit the property for standardization… and last I heard he’s failed thus far.  See for the actual minutes; search for “text-size-adjust” which is mentioned several times.  Note the comments from “sylvaing” (the Microsoft representative) about previous requests that it be submitted and the what “smfr” (the Apple representative) has to say.

    Copy & paste the code below to embed this comment.
  33. Very interesting and informative! Great article.

    Copy & paste the code below to embed this comment.
  34. Sorry, commenting is closed on this article.