Closed svgeesus closed 3 years ago
IMHO, Media Queries Level 5 should be published, since some features like prefers-color-scheme
are currently widely supported and increasingly used (maybe even enough to be cleared for broad release as pre-CR Exceptions?).
Not sure if this helps, but here is the subset of CSS required by the Open IP TV profile which is then referenced by DVB DASH. Sadly these are all dated references.
Open IP TV merged into Hybrid broadcast broadband TV (HbbTV) in 2014. Their CSS profile does not seem to have been updated since.
5.1 Basic Graphic
Terminals SHALL support CSS Basic User Interface [CSS3UI-20120117] as profiled in section section B.1 CSS Basic User Interface
Terminals SHALL support CSS 2.1 [CSS21-20110607]
Terminals SHALL support CSS Color Module Level 3 [CSS3COLOR-20110607].
Terminals SHALL support CSS Image Values and Replaced Content [CSS3-IMAGES-20120417] as profiled in section section B.2 CSS Image Values and Replaced Content
Terminals SHALL support CSS Backgrounds and Borders [CSS3-BG-20120724] as profiled in section section B.3 CSS Backgrounds and Borders
5.2 Device Adaptation, Layout and Processing
Terminals SHALL support CSS Selectors Level 3 [SELECTORS-LEVEL-3-20110929].
Terminals SHALL support CSS Media Queries [CSS3-MEDIAQUERIES-20120619].
Terminals SHALL support CSS Multi-column Layout [CSS3COL-20110412].
Terminals SHALL support CSS Flexible Box Layout [FLEXBOX-20120918]
Terminals SHOULD support CSS Conditional Rules Module Level 3 [CSS3-CONDITIONAL-20121213]
5.3 Text and Fonts
Terminals SHALL support the [CSS3-FONTS-20130212] as profiled in section section B.4 CSS Fonts Module Level 3
Terminals SHALL support the Web Open Font Format [WOFF-20121213]. Applications can link to [WOFF-20121213] fonts via a @font-face rule ([CSS3-FONTS-20130212]).
Terminals SHALL support CSS Text [CSS3TEXT-20121113] as profiled in section section B.5 CSS Text Level 3
5.4 Advanced Graphic
Terminals SHALL support the CSS Transforms [CSS3-TRANSFORMS-20120911] as profiled in section section B.6 CSS Transforms
Terminals SHALL support CSS Transitions [CSS3-TRANSITIONS-20130212] as profiled in section section B.7 CSS Transitions
Terminals SHALL support CSS Animations [CSS3-ANIMATIONS-20130219]
Terminals SHALL support Canvas 2D [CANVAS-2D-20121217] as profiled in section section C.3 Canvas 2D.
In addition to any discussion about which specs need to be upgraded to a more stable status, is it worth having a discussion about how we can make this document more useful?
This thought inspired by two recent things…
Bruce Lawson on Twitter asking if a single document exists with basic summary table of all CSS properties.
It would definitely be nice if CSS published a single reference table of syntax, initial value, and so on, that could be used by people wanting to quickly scrape a machine-readable definition of CSS. Especially if it was annotated by “experimental” vs “stable”.
Chris Coyier on CSS-Tricks talking about the marketing potential of having a single, clear name and definition (like “CSS3”) for what's new in CSS.
The abstract of the current snapshot mentions:
The primary audience is CSS implementers, not CSS authors, as this definition includes modules by specification stability, not Web browser adoption rate.
But now that we have automatic widgets for summing up test results, could that be added? At least for the stable specs, where we are confident that the tests exist — it might confuse matters if we included test pass rates for specs where we know the test suites are incomplete.
It may be worth reconsidering some of the items discussed in #2281.
@SelenIT Yes, MQ5 should be published, but no, it's probably not ready for the snapshot, it's not that stable yet.
@AmeliaBR I wholeheartedly support the idea to make the CSS Snapshot the primary entry point of the modern CSS specs! After all, it has a section called "CSS — The Official Definition", and its short URL seems to imply that this is the main spec of the "CSS in general". Besides Chris Coyier, Peter Paul Koch recently also wrote about the marketing and educational potential of the single name for modern CSS (he suggests "CSS4" for this). I also once wrote a tweet (half-jokingly, but only half) and a short blog post (in Russian) about some benefits of having the clear umbrella terms for the distinct stages of the CSS evolution and the suitability of CSS snapshot revisions for this.
And having a first-hand reference of actual CSS properties, values, and their maturity status directly from W3C in one place would be extremely useful for everybody!
@frivoal this particular feature (prefers-color-scheme
) has a surprisingly good browser support and has been actively promoted by many tech evangelists during the last half year or so. That's why I thought it would be nice to make this feature "less experimental" :)
@SelenIT So far, we've let sites like caniuse or MDN worry about tracking how well implemented things are. We might change what we do with the snapshot, but for now, it is not trying to be a competitor to those, and fulfills a different role: that of tracking which specifications are REC or not-quite-REC-but-nearly-as-stable. Media queries 5 doesn't qualify, even though it does have some very nice features with good adoption.
@frivoal I'm not suggesting making the CSS Snapshot kind of duplicate for caniuse or adding the entire MQ5 spec into it. I only supposed than one particular well-adopted feature might be a good candidate for addition to this section.
And I wouldn't underestimate the importance of the ability to easily tell the "not-quite-REC-but-nearly-as-stable" features apart from the experimental ones for the web developers. The W3C statuses alone, unfortunately, are not always informative enough, e.g., the WD status can mean the early stage of the spec lifecycle as well as the former CR (or even REC) being updated after minor corrections. So being included in the snapshot (like, e.g., CSS Multicol 1) seems to be a more reliable indicator of the "readiness" of the spec.
For a list of all properties, descriptors, and values there is the CSS index but that links to the relevant spec for the actual definition (it is really an index).
So four specs that I suggested for 2018 to be promoted to the lowest-status "fairly stable" list because I thought there was a bunch of implementation work happening for them, but which were not because the specs had too many open issues at the time, were:
I think it's worth looking at whether these specs have fewer open issues now.
Also, editorially, the "CSS Easing Functions" spec should be referred to by name, like the other specs, and not just as "[CSS-EASING-1]".
The CSS Working Group just discussed Let's make snapshot 2020 while the year is still young
.
Agree with putting css-display-1 into the "completed design work" note. Cascade 4 and Easing 1 should move into snapshot proper, they're implemented and very stable.
fonts-4 can probably go into into rough interop once it gets trimmed down to the implemented subset, which I think the editors are planning to do?
color-4 seems close to "design complete" but isn't finished yet afaict.
ruby is nowhere near ready
Alright, I've put up an editor's draft for the 2020 snapshot: https://drafts.csswg.org/css-2020/
For now, it is a copy of the 2018 snapshot, with the following changes:
I have not yet added any other spec, or moved any other spec from one note to another or to the main section, as I'm waiting for the dust to settle a little more in this conversation.
The CSS Working Group just discussed Snapshot
, and agreed to the following:
RESOLVED: Move contain-1, cascade-4, easing-1 to the official snapshot
RESOLVED: Move writing-modes-4, display-1, font-loading-3 to the "fairly stable" bucket
RESOLVED: Have snapshot buckets all be sections
I strongly disagree with Grid not being in the official snapshot yet; it's widely-implemented and widely-used in production. If that's not a sufficient condition for it to be in the "official" part of the snapshot, I don't understand what the purpose of the category is in the first place.
The purpose of this document is to give useful information to authors about what they can use. "Official" is "go ahead and use it, should be fine"; "fairly stable" is "probably usable, be a little careful with details". Grid is "official" under that definition.
If those definitions are not what we're using to define the categories, then I challenge the worth of the categories in their entirety.
@tabatkins How's this different from say, transforms? I don't think transforms and grid belong in a different bucket. Currently, they're in the "pretty good" bucket, not in the "done" bucket. That seems appropriate. But then again, depending on who the audience is, maybe there is not a clear need to separate "pretty good" and "done". Or maybe there is?
I'd suggest that "Safe to Release pre-CR Exceptions" section also should come right after the three buckets. so there would be a single unbroken list of CSS features considered more or less "ready" to the given date. It's OK if the detailed explanation what different "kinds" and "levels" of "readiness" come after that list.
The purpose of this document is to give useful information to authors about what they can use.
We agreed not to debate the purpose on last call, but the abstract explicitly says “The primary audience is CSS implementers, not CSS authors, as this definition includes modules by specification stability, not Web browser adoption rate.”
Both CSS Cascade Level 3 and CSS Cascade Level 4 simultaneously being part of the Official Definition looks quite confusing. Shouldn't the older level be obsoleted by the newer one at this level of readiness?
@SelenIT Done in #5111!
Florian and I triaged all the CSS specs, and we have a few suggestions to make for the 2020 Snapshot before we publish it. (It's otherwise ready to be published, based on earlier discussions.)
And the perceived relevance of this will be greater if it is called Snapshot 2021. And published, as I originally suggested, while the year is young.
Publishing Moratorium - End of Year: December 23 - January 1
Is Color 4 ready to add somewhere?
Yes, clearly. "completed design work, and are fairly stable, but have not received much testing and implementation experience yet" seems accurate - Safari has implemented some, BFO has implemented it all, and other browsers are discussing how to implement. Most issues are closed, so it seems fairly stable. I'm aiming at CR in Spring 2021.
Is Fonts 4 ready to add to rough interop? (Seems too unstable for “stable”, but also seems mostly implemented?)
Also stable with limited testing. The instabilities are primarily in the areas of
Large parts are widely implemented, in particular the variable fonts stuff. The color fonts stuff is stable but not implemented, which is holding back deployment of color fonts since people need to adjust them in a stylesheet, not by opening a font editor. And font-variant-alternates
, which was pushed from Fonts 3 because of slow implementations, is still Firefox only although Chrome did say they would implement it.
What should we do about CSS Grid Level 2? Subgrid is stably defined, but Grid 1 spec is still rough.
That would imply splitting off Grid 2 was premature. Is is really that rough?
CSS Sizing Level 3 to Stable + Limited Testing? (We're just waiting on HR to request CR.)
Clearly, otherwise it wouldn't be ready for CR
Add Color Adjust 1 to "rough inteop" since it seems to be widely implemented now?
Probably, although the lack of a test suite does not give much confidence. Is it untestable?
The CSS Working Group just discussed 2020 Snapshot
, and agreed to the following:
RESOLVED: Add box 3 to official bucket
RESOLVED: Move text 3 to mostly stable needs testing
RESOLVED: Move images 3 to mostly stable needs testing
RESOLVED: Add sizing 3 to mostly stable needs testing
RESOLVED: color l4 move to mostly stable needs testing
RESOLVED: Add grid 2 to snapshot in same place as grid 1
RESOLVED: Publish snapshot 2020 as a note
LINK ERROR: Multiple possible '@media' maybe refs.
Arbitrarily chose https://www.w3.org/TR/css3-conditional/#at-ruledef-media
To auto-select one of the following refs, insert one of these lines into a <pre class=link-defaults> block:
spec:css-conditional-3; type:at-rule; text:@media
spec:css2; type:at-rule; text:@media
''@media''
LINK ERROR: Multiple possible ':lang()' maybe refs.
Arbitrarily chose https://drafts.csswg.org/css2/#selectordef-lang
To auto-select one of the following refs, insert one of these lines into a <pre class=link-defaults> block:
spec:css2; type:selector; text::lang()
spec:selectors-4; type:selector; text::lang()
'':lang()''
✔ Successfully generated, with 2 linking errors
(I'm pubrule checking with what we already have, so I can report any errors and request publication asap)
December 21, 1200Z: Deadline for publication requests before moratorium December 22: Last publications before moratorium December 23 - January 1: No publications January 5, 2021: Publications resume
FPNote requires manual publication, so only slot is Tues 21 December. FPNOTE requested 16 Dec
If a feature is unstable (i.e. the spec has not stabilized yet), yet
The repeated "yet" is awkward, speed readers may miss the doubled word. Perhaps
"If a feature is unstable (i.e. the spec has not yet stabilized), but"
Oh, I agree with @svgeesus — we should change the name to CSS 2021.
2020 has terrible branding. ("branding" — aka, ugh, 2020)
This will be A Thing at the very beginning of 2021, so let's signal it's forward-facing / The New. Instead of marking it with a year that's over.
Thank you, @jensimmons note that I started this issue in January 2020. Given it is now December, then even given we can publish on 21 December, to make it seem relevant it would be better to call it Snapshot 2021. Who wants to be reminded of 2020? It's still March, right?
9 errors (and 11 warnings)
38 rules were checked. Hover over the rows below for options.
Tip: review the metadata that was inferred from the document to make sure that there are no errors.
Error
Shortnames differ between This and Latest Versions.
Document identifier information must be presented in a dl list, where each dt element marks up an identifier role ("This Version", "Latest Version", "Previous Version", etc.) and each dd element includes a link whose link text is the identifier.
Error
Deliverer not found. An attribute data-deliverer must be in the SotD
The Working Group(s) id(s) must be listed in a data-deliverer attribute in the section "Status of This Document".
Include this source code:
<p data-deliverer="@@ID1@@,@@ID2@@,...">
Error
Unable to find the deliverer
It must include the name of the W3C group that produced the document. The name must be a link to a public page for the group.
Error
No stability warning paragraph.
It must set expectations about the (in)stability of the document. The recommended text (see also ideas for status sections regarding the stability of group notes) is:
Publication as a Working Group Note does not imply endorsement by the W3C Membership.
Include this source code:
<p>Publication as a Working Group Note does not imply endorsement by the W3C Membership.</p>
Error
Couldn't not determine the patent policy the WG is operating under. Check the WG's charter.
Error
The document must mention the governing process: 15 September 2020
Error
No “status of this document” introduction (eg absent, not using HTTPS, wrong copy).
It must begin with the following boilerplate text:
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.
Include this source code:
<p><em>This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the <a href="https://www.w3.org/TR/">W3C technical reports index</a> at https://www.w3.org/TR/.</em></p>
Error
No “status of this document” introduction link to TR (or perhaps not using HTTPS).
It must begin with the following boilerplate text:
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.
Include this source code:
<p><em>This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the <a href="https://www.w3.org/TR/">W3C technical reports index</a> at https://www.w3.org/TR/.</em></p>
Error
See rule in context
Report a bug
[3783@197] Bad value “https://drafts.csswg.org/css2/#valdef-border-width-length” for attribute “href” on element “a”: Illegal character in fragment: “<” is not allowed.
HTML validator
All normative representations must validate as HTML5 with the following limitations:
Inline markup for MathML is permitted but should use a (fallback) alternative.
If the HTML5 validator issues content warnings, the publication request must include rationale why the warning is not problematic.
So Bikeshed understands FPWD but not FPNOTE. I used WG-NOTE, which it understands, but then there are complaints about no previous version etc.
@tabatkins Bikeshed is missing FP-WG-NOTE and FP-IG-NOTE as valid status. And the boilerplate for CSSWG Notes needs to add the data-deliverer attribute. It looks like the patent policy and process links need updating, too. (Note that the CSSWG charter, plus a bunch of other charters, were updated today (Member-only link) to the new Patent Policy. So, totally understand that Bikeshed boilerplate is not yet updated. I can do it manually for this publication, which is the last in 2020).
... GH should not mark an issue fixed if I'm pointing to a comment in it. :/
We're publishing this as css-2020 because it represents the state of CSS spec development in 2020! The 2021 Snapshot will have even more stuff in it that we will be preparing in 2021. Not all of 2020 has to suck.
@svgeesus OK, should be prepped for publication, aside from mechanics. Note that Patent Policy stuff is getting fixed in https://github.com/w3c/specberus/issues/1069 and https://github.com/tabatkins/bikeshed/pull/1834 I'll have a look at what it takes to add FP-NOTE to Bikeshed later. What's this data-deliverer stuff? Seems new, what are we supposed to put here exactly?
What's this data-deliverer stuff? Seems new, what are we supposed to put here exactly?
It isn't new, we just don't publish a lot of notes. From Snapshot 2018:
<p data-deliverer="32061">This Note was produced by the
<a href="http://www.w3.org/Style/CSS/members">CSS Working Group</a>.</p>
Publication requested 18 Dec, expected 22 Dec
OK so what specs changed status since Snapshot 2018?