- From: CSS Meeting Bot via GitHub <noreply@w3.org>
- Date: Wed, 20 Aug 2025 14:47:20 +0000
- To: public-css-archive@w3.org
The CSS Working Group just discussed ``[css-gaps-1] Serializing `column-rule` shorthand from separate longhands``, and agreed to the following: * `RESOLVED: Serialize a shorthand if the longhands line up, otherwise return empty string` * `RESOLVED: this shorthand and its longhands should use consistent punctuation` <details><summary>The full IRC log of that discussion</summary> <fantasai> oSamDavis: The gaps spec extended column-rule to support list of values<br> <fantasai> oSamDavis: but this becomes tricky when we have separate longhand values that don't necessarily line up<br> <fantasai> oSamDavis: I put an example there<br> <fantasai> oSamDavis: e.g. auto-repeat, or not<br> <fantasai> oSamDavis: Kevin brought up idea of [missed]<br> <fantasai> oSamDavis: also separate problem with serialization<br> <fantasai> oSamDavis: if it's impossible to get from longhand can serialize as empty string<br> <kbabbitt> q+<br> <fantasai> oSamDavis: it's not impossible here, but challenging<br> <SebastianZ> q+<br> <fantasai> oSamDavis: Should we return empty string here, or try to repeat to get them to line up<br> <astearns> ack kbabbitt<br> <fantasai> kbabbitt: I think the tension here is how far do we want to make implementations go to be able to construct a shorthand when theoretically possible<br> <fantasai> kbabbitt: vs reflect what author originally specified<br> <fantasai> kbabbitt: I'm not sure what the right answer is<br> <fantasai> kbabbitt: don't want to go too far in reconstruction<br> <fantasai> kbabbitt: if the repeaters line up exactly, then reconstruct the shorthand; otherwise return empty string<br> <fantasai> kbabbitt: but would like more opinions<br> <astearns> ack SebastianZ<br> <fantasai> SebastianZ: I don't have an idea, but currently, these are not list-valued properties, right?<br> <fantasai> SebastianZ: they use spaces, not commas for values, right?<br> <fantasai> SebastianZ: and they're not linked, right?<br> <fantasai> SebastianZ: so that's difference to the thing we resolved on in 7164<br> <fantasai> SebastianZ: so resolution of that issue doesn't apply here<br> <fantasai> kbabbitt: There isn't a core property, they're all co-equal<br> <fantasai> SebastianZ: should we introduce one, say one is the coordinating list base property , and then treat it like list-valued properties?<br> <fantasai> https://www.w3.org/TR/css-values-4/#linked-properties<br> <fantasai> kbabbitt: Idk if that would work, because you can have auto-repeaters, and we don't know how many that expands to<br> <fantasai> kbabbitt: the way coordinated list valued properties work, coordinating property has a fixed number of properties, and others repeat to match it<br> <fantasai> SebastianZ: I'm just imagining if we introduce slashes for the shorthand, can we allow repeat in all of them?<br> <fantasai> SebastianZ: maybe use the values defined in each longhand to serialize the shorthand<br> <fantasai> oSamDavis: Like grid?<br> <fantasai> SebastianZ: you can still distinguish them because 2nd part of repeat function is different for each<br> <fantasai> SebastianZ: won't repeat them, but just serialize how they're written in the longhand<br> <fantasai> oSamDavis: Only kind of issue is if we introduce slashes, then default width might present bacjward compat issues, because slashes would b enew syntax<br> <fantasai> SebastianZ: well, repeat function is new<br> <fantasai> SebastianZ: but then current syntax would be legacy syntax<br> <fantasai> SebastianZ: so old one without slashes and new one with slashes<br> <fantasai> SebastianZ: but repeat functions by second param<br> <fantasai> SebastianZ: so don't necessarily need slashes between them<br> <astearns> ack fantasai<br> <astearns> fantasai: was wondering why we didn’t want to do a coordinated list property<br> <astearns> fantasai: but that was the coordinated repeat stuff<br> <fantasai> astearns: 3 options<br> <fantasai> astearns: combinatorial explosion<br> <fantasai> astearns: slashes<br> <fantasai> astearns: giving up and returning an empty string<br> <fantasai> fantasai: slashes?<br> <fantasai> SebastianZ: to distinguish the 3 types of values<br> <fantasai> fantasai: they're syntacticaly distinct already<br> <fantasai> SebastianZ: makes it easier to read<br> <fantasai> fantasai: just put them on different lines<br> <fantasai> ...<br> <astearns> fantasai: no slashes<br> <fantasai> fantasai: I think we should reserve punctuation for when we actually need syntactic disambiguation<br> <fantasai> SebastianZ: So we could just serialize the longhands in sequence<br> <fantasai> fantasai: without interleaving into a joint list<br> <fantasai> astearns: So just join the longhands with spaces<br> <fantasai> kbabbitt: just want to hear is to what extent we want to synthesize the list<br> <fantasai> fantasai: In background etc you can create a list of values, which allows you to specify the items that correspond together<br> <kbabbitt> column-rule: 1px solid red, repeat(auto, 1px solid black), 1px solid green, 1px solid blue;<br> <fantasai> fantasai: I guess if you can do that, then do that<br> <fantasai> fantasai: otherwise I guess returning empty string because you're out of sync is probably fine<br> <kbabbitt> PROPOSED: Serialize a shorthand if the longhands line up, otherwise return empty string<br> <fantasai> emilio: ... yeah, don't do that<br> <fantasai> emilio: if you combine them and then inherit, that would give you a different value<br> <fantasai> emilio: returning empty string is fine<br> <astearns> s/that/that (aligning misaligned things via LCM)/<br> <fantasai> SebastianZ: The shorthand is a list-valued property, but the longhands are not<br> <fantasai> fantasai: that's weird<br> <fantasai> SebastianZ: maybe that's the issue!<br> <kbabbitt> column-rule-color: red repeat(auto, black) green blue;<br> <fantasai> kbabbitt: the longhands can take lists, but they don't need the commas to disambiguate<br> <fantasai> fantasai: if you have a list that's comma-separated in the shorthand, should use commas in the longhands also<br> <fantasai> SebastianZ: Normally, would epxect to group the different longhands<br> <fantasai> SebastianZ: You group first width, then colors, then style<br> <fantasai> kbabbitt: that seems awkward to maintain<br> <astearns> (fantasai consults the spec)<br> <fantasai> SebastianZ: So before was one value each of width, color, style<br> <fantasai> SebastianZ: now extended to have multipel of these values<br> <fantasai> -> https://www.w3.org/TR/css-values-4/#linked-properties<br> <fantasai> fantasai: If we're doing coordinated lists, we should use coordinated list syntax, not something different<br> <fantasai> fantasai: should behave the same and use the same syntax<br> <fantasai> fantasai: If we need extensions such as repeat()s, then let's extend it<br> <fantasai> fantasai: but still should be compatible otherwise<br> <fantasai> kbabbitt: then which would be the base property?<br> <fantasai> ...<br> <fantasai> fantasai: maybe would need to take the max. Hard to say which shoudl be the base property<br> <fantasai> astearns: Way too much time on this issue<br> <fantasai> astearns: I'm not entirely sure how much ppl will care about the serialization of this shorthand<br> <fantasai> fantasai: when it's mismatched<br> <fantasai> SebastianZ: so maybe serialze to empty string if not matched<br> <kbabbitt> PROPOSED: Serialize a shorthand if the longhands line up, otherwise return empty string<br> <kbabbitt> RESOLVED: Serialize a shorthand if the longhands line up, otherwise return empty string<br> <kbabbitt> PROPOSED: this shorthand and its longhands should use consistent punctuation<br> <kbabbitt> RESOLVED: this shorthand and its longhands should use consistent punctuation<br> </details> -- GitHub Notification of comment by css-meeting-bot Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/12201#issuecomment-3206734084 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 20 August 2025 14:47:21 UTC