Skip to content

Commit 3a43478

Browse files
committed
[css-2015] Make recommendation about prefix documentation normative, add some subheadings, move feedback notes.
1 parent aa271ba commit 3a43478

File tree

1 file changed

+22
-26
lines changed

1 file changed

+22
-26
lines changed

css-2015/Overview.bs

Lines changed: 22 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -485,8 +485,6 @@ Proprietary and Non-standardized Features</h4>
485485
<h4 id="de-facto">
486486
Market Pressure and De Facto Standards</h4>
487487

488-
<p class="feedback">Added "should not" against encumbered features, per dbaron's request.
489-
490488
If a feature is <a>unstable</a> (i.e. the spec has not stabilized yet), yet
491489

492490
* at least three UAs implement the feature
@@ -510,56 +508,55 @@ Market Pressure and De Facto Standards</h4>
510508
pretending it's still "experimental" doesn't help anyone.
511509
Allowing others to ship unprefixed recognizes that the feature is now de facto standardized
512510
and encourages authors to write cross-platform code.
511+
</details>
513512

514-
<p>Note, though, that the CSSWG must still be consulted to ensure coordination across vendors
513+
<p class="note">Note that the CSSWG must still be consulted to ensure coordination across vendors
515514
and to ensure sanity review by the CSS experts from each vendor.
516515
Note also that <a>rough interoperability</a> still usually means
517516
painful lack of interop in edge (or not-so-edge) cases,
518517
particularly because details have not been ironed out through the standards review process.
519-
</details>
520518

521-
<p>When exposing such an <a>unstable</a> feature to the Web in a production release,
522-
implementations should support both <a>vendor-prefixed</a> and unprefixed syntaxes
519+
<h5 id="unstable-syntax" class="no-toc">
520+
Vendor-prefixing Unstable Features</h5>
521+
522+
<p>When exposing such a standards-track <a>unstable</a> feature to the Web in a production release,
523+
implementations should support <em>both</em> <a>vendor-prefixed</a> and unprefixed syntaxes
523524
for the feature.
524525
Once the feature has stabilized and the implementation is updated to match interoperable behavior,
525526
support for the <a>vendor-prefixed</a> syntax should be removed.
526527

527-
Note: Anyone promoting <a>unstable</a> features to authors
528-
is urged to describe them
529-
through their standard unprefixed syntax,
530-
and to avoid encouraging the use of the <a>vendor-prefixed</a> syntax
531-
for any purpose other than working around implementation differences.
532-
533528
<details class=why>
534529
<summary>Why?</summary>
535530
This is recommended so that authors can use the unprefixed syntax to target all implementations,
536531
but when necessary, can target specific implementations
537532
to work around incompatibilities among implementations
538533
as they get ironed out through the standards/bugfixing process.
539534

540-
Some authors unfamiliar with this approach
541-
and accustomed to the earlier practice
542-
of shipping unstable features only under a prefix
543-
may fail to notice that using the unprefixed syntax
544-
is sufficient to target all implementations,
545-
and may therethore include the prefixed syntax
546-
of the various vendors
547-
followed by the unprefixed syntax.
548-
549-
Even in the face of this possible misuse,
550-
this approach still beneficial.
551535
The lack of a phase
552536
where only the prefixed syntax is supported
553537
greatly reduces the risk of stylesheets
554-
targetting only this prefixed syntax being written.
538+
being written with only the vendor-prefixed syntax.
555539
This in turn allows UA vendors to retire
556540
their prefixed syntax once the feature is stable,
557-
without risking breaking existing content.
541+
with a lower risk of breaking existing content.
558542
It also reduces the need occasionally felt by by some vendors
559543
to support a feature with the prefix of another vendor,
560544
due to content depending on that syntax.
561545
</details>
562546

547+
<p class="feedback">Added "should not" against advocating prefixed syntax,
548+
per Florian's clarification of dual-syntax usage.
549+
550+
Anyone promoting <a>unstable</a> features to authors
551+
should document them using their standard unprefixed syntax,
552+
and avoid encouraging the use of the <a>vendor-prefixed</a> syntax
553+
for any purpose other than working around implementation differences.
554+
555+
<h5 id="open-technology" class="no-toc">
556+
Preserving the Openness of CSS</h5>
557+
558+
<p class="feedback">Added "should not" against encumbered features, per dbaron's request.
559+
563560
In order to preserve the open nature of CSS as a technology,
564561
vendors should make it possible for other implementors
565562
to freely implement any features that they do ship.
@@ -568,7 +565,6 @@ Market Pressure and De Facto Standards</h4>
568565
and avoid other obstacles (e.g., platform dependency, licensing restrictions)
569566
to their competitors shipping the feature.
570567

571-
572568
<h3 id="testing">Implementations of CR-level Features</h3>
573569

574570
Once a specification reaches the Candidate Recommendation stage,

0 commit comments

Comments
 (0)