Modernizr/Modernizr — Issue #408: Feature request : no-prefix in builder options (aka. experimental features free)
Author: ZeeAgency
Created: 2011-11-16 12:15:59+00:00
State: open

Hi,

This request is related to the "vendor prefix hell". I'm sure many of you have read some tweets/posts about this recently, like [this one](http://hsivonen.iki.fi/vendor-prefixes/), and know what this is all about.

Even if I'm personally okay to deal with those prefixes since I'm a Compass user, I feel like it should be a very good thing to have a way to build Modernizr without experimental features detection, meaning without vendors CSS & DOM prefixes, I'll try to explain why.

Even if Modernizr is a **great** tool, it helps people using **experimental** features, from **draft** specifications. Lot of us are not necessary aware how bad practice this is. People, count me in, use and recommends Modernizr, this is definitely today's must-use web dev tools, no debate on this, but maybe we should tell a little more about the risks coming with all those new HTML5.

First, those features could change in the future. It already happened by the past if I'm not wrong ? This leaves to inconsistencies, like Webkit's first gradients implementation.

Next, those features are not called "experimentals" for nothing, they can behave badly, by nature. For instance, when I tried flexbox a few months ago, Firefox was already supporting it from what Modernizr's test said but the result wasn't as good as expected, I don't know if it gets any better today.

From what I know, I'm seeing 2 options here.

First option, better detection : detecting broken features, like false positive, is a hard job and I don't think Modernizr tests could track them all, especially without UA sniffing...

Last option, using a no-prefix Modernizr build could be a very good way to get out of those risky practices. This way, people have the **choice** to only use W3C **candidate recommended** features. Sure, this could be longer to come but this is definitely safer. Again, I'm not necessarily one of those but some people prefers safety over new experimental shit.

Anyway, back to code, I wanted to propose 2 pull requests both on Modernizr site (builderapp.js), and Modernizr source but I'm not able to see where the ```/*>>prefixes*/``` is coming from. It's present inside prebuilds but not modernizr.js source :-/

Need some help here.

Thanks,

@JulienCabanes

PS : Sorry in advance if this is a dup, I searched a bit and didn't see anything about this, just about prefixes exposition.