This is not correct. Here are some common scenarios:
1. A CSS feature is in most cases specified before any of the browsers implement it.
2. Often, a HTML feature is specified (i.e., added to the HTML Standard) at the time development on it starts in a browser. This is because most browser vendors want to make sure that what they implement is in the spec, and they have people who actively work on the spec for that reason.
3. Nowadays, when a web API is proposed by a browser vendor, they write the proposal down somewhere (usually on GitHub). Sometimes it’s a formal spec, other times it’s just an “explainer.” There are probably plenty of web platform features that only have such an informal specification, but that’s fine for smaller features, I think.
In any case, there is always a discussion and some written document. Browsers no longer implement web platform features behind closed doors (although Apple still, in a few cases, starts the discussion a few months before shipping the feature, but that’s more an exception than a rule).
1. A CSS feature is in most cases specified before any of the browsers implement it.
2. Often, a HTML feature is specified (i.e., added to the HTML Standard) at the time development on it starts in a browser. This is because most browser vendors want to make sure that what they implement is in the spec, and they have people who actively work on the spec for that reason.
3. Nowadays, when a web API is proposed by a browser vendor, they write the proposal down somewhere (usually on GitHub). Sometimes it’s a formal spec, other times it’s just an “explainer.” There are probably plenty of web platform features that only have such an informal specification, but that’s fine for smaller features, I think.
In any case, there is always a discussion and some written document. Browsers no longer implement web platform features behind closed doors (although Apple still, in a few cases, starts the discussion a few months before shipping the feature, but that’s more an exception than a rule).