[CSSWG] Minutes Telecon 2020-04-22 [css-values] [css-images] [css-contain] [css-sizing-4]

=========================================
  These are the official CSSWG minutes.
  Unless you're correcting the minutes,
 Please respond by starting a new thread
   with an appropriate subject line.
=========================================


Virtual F2F
-----------

  - The virtual F2F will be two days, April 29 and 30. There are two
      possible time slots so working group members are asked to mark
      on the wiki ( https://wiki.csswg.org/planning/virtual-spring-2020 )
      what time zones work for them and what topics they would like to
      attend. This will allow the chairs to decide which timeslots to
      use and how to schedule the agenda topics.
  - The F2F will be held over Meet with links sent out to the private
      list once the timeslots are decided.

CSS Position
------------

  - TabAtkins and fantasai will be added as editors to CSS Position

CSS Values & CSS Images
-----------------------

  - There was wide interest in allowing trailing commas in many or all
      functions (Issue #4968: Allow trailing comma in gradient
      functions (and probably others)).
  - Selectors have a higher risk of compat problems so may need to be
      excluded.
  - Media lists of @media will also allow trailing commas.
  - Trailing commas will be omitted for serialization.
  - Trailing commas only are allowed at the end of a block, not in the
      middle.
  - Since handling trailing commas is something done by some
      preprocessors research will be done to see the popularity of the
      functionality.
  - TabAtkins will write up proposed text for review and resolution.

CSS Contain
-----------

  - RESOLVED: Accept the comment at the end of
https://github.com/w3c/csswg-drafts/issues/4946
             (editorial: Paint Containment description is
             incomprehensible)
      - "The contents of the element including both the paint of the
          descendants and their geometry" becomes "The contents of the
          element including any ink or scrollable overflow"
      - "This is as if overflow: visible was changed to overflow: clip
          at used value." becomes "The behavior is described in this
          paragraph is equivalent to changing overflow:visible into
          overflow:clip at used value time, while leaving other values
          of overflow unchanged."
  - The above resolution will be added as an errata to Contain L1 once
      some other editorial items raised have also been resolved upon.
  - RESOLVED: Move what is known as subtree-visibility into CSS
              Contain L2 (Issue #4843: subtree-visibility CSS property)
  - RESOLVED: Make vmpstr a co-editor of CSS Contain L2
  - RESOLVED: Rename subtree-visibility to content-visibility

CSS Sizing
----------

  - The proposed text to handle scrollbars when intrinsic-width is >
      width needed to take into account when the scrollbar size is
      affecting the intrinsic-size.

===== FULL MINUTES BELOW ========

Agenda: https://lists.w3.org/Archives/Public/www-style/2020Apr/0015.html

Present:
  Rachel Andrew
  Rossen Atanassov
  Tab Atkins
  David Baron
  Amelia Bellamy-Royds
  Christian Biesinger
  Oriol Brufau
  Dave Cramer
  Elika Etemad
  Simon Fraser
  Megan Gardner
  Chris Harrelson
  Dael Jackson
  Brain Kardell
  Brad Kemper
  Vladimir Levin
  Chris Lilley
  Peter Linss
  Myles Maxfield
  Florian Rivoal
  Cassondra Roberts
  Devin Rousso
  Jen Simmons
  Alan Stearns
  Miriam Suzanne

Scribe: dael

  Rossen: Let's get started
  Rossen: Any extra agenda items?
  fantasai: TabAtkins and I would like to take on editorship of CSS
            Positioning modules
  Rossen: Okay. Other topics?

Virtual F2F
===========

  <Rossen> https://wiki.csswg.org/planning/virtual-spring-2020
  Rossen: Before we jump into topics- I wanted to talk about next week
  Rossen: We sent out an email to the private list. There will be a
          couple of 4 hours time slots that are intended to be kind of
          okay for most people.
  Rossen: Time slots are Apr 29th which is around this time and on Apr
          30th. Take a look at the F2F page I pasted above.
  Rossen: Please add yourself to participation table. If you're adding
          topics to the wiki please add your timeslot preference to
          the agenda item table so we can shuffle topics on their date/
          time preference
  Rossen: Questions or comments?
  <fantasai> https://wiki.csswg.org/planning/virtual-spring-2020

  Rossen: One last thing, we didn't resolve on virtual meeting
          software.
  Rossen: Lost time we had a conference call with the Font Loading
          folks Hangouts seemed to work fine. We propose sticking with
          it unless there's strong opinions or reasons.
  <chris> +1 to Hangouts
  <dbaron> Isn't this "Hangouts Meet" rather than just "Hangouts"
  <astearns> meet
  <dbaron> aka meet.google.com
  Rossen: It's called Meet, sounds like.
  Rossen: When we set up the links we'll send out the Meet links

CSS Position Editors
====================

  Rossen: I'm fine with adding TabAtkins and fantasai
  Rossen: I'm the sole editor and haven't had time to work. Happy for
          them to do it.
  Rossen: Opinions or objections?

  Approved: TabAtkins and fantasai editors to CSS Position

CSS Values & CSS Images
=======================

Allow trailing comma in gradient functions (and probably others)
----------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/4968

  Rossen: TabAtkins or AmeliaBR?
  AmeliaBR: I can talk about it if no one else wants to
  Rossen: Are we prepared? This was added by fantasai
  AmeliaBR: Some in issue discussion
  AmeliaBR: Feature request is to support a trailing comma in comma
            separated lists. Example was in a gradient function where
            adding or removing function stops and in course you have
            to fuss with making sure last item doesn't have a comma.
            That's annoying and can make diffs on version control more
            confusing
  AmeliaBR: I commented that it's not just inside gradient functions.
            Same irritation when editing background or text-shadow
            lists
  AmeliaBR: Remove one item and commas are all messed up
  <castastrophe> +1
  AmeliaBR: Valid comment from oriol is sometimes things get confusing
            in syntax in that we don't just have comma separated list.
            We have a comma separated list followed by something else.
            Like BG where final includes the color which is different
  AmeliaBR: Will be some fiddly issues about getting best way to
            define without breaking.
  AmeliaBR: More general concern about trailing commas?

  <dbaron> Is the proposed rule "allow just one trailing comma", or
           will there be other extra commas allowed?

  TabAtkins: Note my comment that oriol's concern isn't something to
             worry about. We already have possibility of successive
             commas in grammar. If you have a # multiplier followed by
             extra comma it's invalid 2 commas next to
  TabAtkins: General is # multiplier for comma list allows trailing
             comma. Any property with explicit comma or function with
             explicit allows final comma after syntax.
  TabAtkins: I think that ends up covering everything. I think we can
             define without special case.
  AmeliaBR: You'll write up?
  TabAtkins: Definitely. Very much in favor because JS supports this
             everywhere. I support having a similar syntax in CSS
  <chris> sounds great, do it Tab

  florian: Anyone looked at compat?
  TabAtkins: It makes invalid things possibly valid which we're
             usually fine with. Because it looks weird if you're not
             doing it I would be surprised at accidental usage
  florian: If you say it's in JS and people want it it seems there's
           demand for syntax and disappointed it doesn't work. Could
           be left in stray stylesheets. I'm concerned because if
           you're trying to do this on a whole bunch of properties and
           functions if it's compatible in most but not all we end up
           inconsistent
  TabAtkins: I suspect number of cases is 0. Even if non-0 but low
             number I'm okay with it. As long as it's small number of
             weird cases just like we have some functions allowing
             0deg without unit I'm okay with a few exceptions. I don't
             think we'll need to
  chris: Benefit outweighs risk of an oops somewhere.

  emilio: Does that allow inside [missed]?
  TabAtkins: I think it should. For same reason to allow easy re-order
             I suspect it should allow
  emilio: Seems weird to special case comma but I guess it's most
          common
  TabAtkins: Only separator we use in this case.
  TabAtkins: Slash is a one off. Not used like commas in a way it
             would benefit
  fantasai: The only other separator we use for lists of undefined
            lengths is a space. That's the other one
  florian: About selectors it does make me worry about compat. I've
           done it multiple times. Probably some stray ones where I
           forgot to remove and I doubt I'm alone

  chris: Trying to get rid of commas but allowed like rgb with a
         trailing comma acceptable?
  TabAtkins: Comma form of grammar, yes

  TabAtkins: To florian's point- reasonable. If it ends up being that
             we can't do selectors I'm okay with that.
  dbaron: If we're going to do functions and selectors should we do
          media lists for @media?
  TabAtkins: commas are allowed?
  florian: Yeah, old syntax for "or"
  dbaron: @supports doesn't have commas, but @media does
  TabAtkins: Then yes, that too

  smfr: Seems weird to allow for bounded lists. If you do rgba it's
        weird for comma after. I guess this doesn't propagate into
        computed style, right?
  <fantasai> +1 to smfr
  TabAtkins: Computed style - correct we omit from serialization.
  TabAtkins: First point, I don't agree limit to unbounded. In JS it's
             allowed in function argument which are usually bounded.
             Worthwhile to take long items and have trailing comma. I
             think it's reasonable here.
  TabAtkins: True most color functions are short so no reason to put
             it there, but if everything else allows you want to be
             consistent
  smfr: Mental model is comma is you can add an extra thing and that's
        not bounded list
  TabAtkins: Should be comma is a potential item. Basically same as ;.
             It separates properties but we think of it as an ender
  fremy: You can also re-order them. If the last one doesn't have a
         comma you have to remove it. Even for lists where you can't
         add you can re-order arguments

  <astearns> This seems like a good candidate for a preprocessor
             feature. Is it widely used in any preprocessors? If not,
             is that a reason not to add it to the language proper?

  drousso: What about when you can omit last semicolon in rule?
  <dbaron> We also allow "color: red;;; background: blue"
  TabAtkins: Can you elaborate in terms of the problem?
  drousso: If you had something like a list of box-shadows as last
           rule. Allow trailing comma without semicolon after?
  TabAtkins: Yes. Totally fine and not a syntax problem
  drousso: Okay
  AmeliaBR: Closing brace is the endpoint. Comma has no special meaning
  <Rossen> minmax(10, 20, ) is odd

  <castastrophe> q: If the syntax is accepted, does that necessarily
                 mean that's how it appears as the computed value? If
                 you view the computed values of a property that has a
                 function with a trailing comma, would the comma be
                 stripped?
  <astearns> castastrophe: I heard earlier that the comma would be
             stripped from the computed value
  <castastrophe> astearns +1 makes sense

  oriol: Concern with trailing comma if grammar has something after in
         the list. Could create ambiguous grammar. If you have a list
         of items separated by comma and at end you have a final
         optional item. Right now if value is a,b,c it's a 3 item
         list. If you have a,b c you have c as final item
  oriol: Optional comma with a,b,c it's not clear if you have list of
         3 items with last omitted or if there's 2 and the , after b
         is trailing.
  <AmeliaBR> example for oriol's point: a `background: url(image.png),
             blue` is different from `background: url(image.png) blue`
  oriol: Not clear what we gain from allowing comma after any list.
         Better to allow at end of function before parentheses or
         value of property before ;
  <fremy> @oriol: yeah, but that's bad design in the first case ^_^
  TabAtkins: Case you outlined I don't believe exists in CSS. Ignoring
             comma it's a bad design to have suffix implicitly separate
  AmeliaBR: Have example, bg list
  TabAtkins: Comma separates final layer. oriol talking about a #
             multiplier, a space, and than more stuff.
  AmeliaBR: Because bg list has a literal comma that literal comma
            would superseded the optional trailing comma for parsing
            and any other properties with that pattern need similar
            syntax?
  TabAtkins: Not quite. Because literal comma it's comma separate list
             with final item having different grammar. In oriol's case
             we have comma separated list with then more stuff but no
             separator. Have to recognize list has ended. Could be
             less clear with final comma. If grammar of stuff and
             comma separated items is potentially ambiguous looks like
             one more item in the list
  TabAtkins: Theoretically valid, but I don't think we do it
  dbaron: Similar is font shorthand. Explicitly the comma separated
          list is last
  TabAtkins: We do that a few times. It's not made ambiguous by this.
             Suffix thing we don't do
  oriol: I think that we are not gaining anything by letting this and
         we get potential ambiguity. If we allow trailing comma after
         trailing we get he same without the ambiguous.
  TabAtkins: I think you're right. Given they're at the end of the
             grammar just allow at end if fine
  emilio: Prefer that. Lower level we define the less random interop
          bugs we'll find. Like someone handling parsing forgot the
          trailing comma. If we define they're at the end of the block
          that's much preferable than sprinkling it around

  Rossen: Point of order. There's a bit of excitement to have this.
          There's a number of cases that have to be discussed before
          we see the final shape of where trailing commas are allowed.
          With that we can resolve on adding the trailing commas and
          see what details are after you've spec text
  <castastrophe> What about putting together a table of examples?
  Rossen: Also we have a queue.

  astearns: To back up a bit. I've heard people talking about details
            on how it's possible but didn't hear much about motivation
            so I'm not sure people are enthusiastic. Seems this could
            be a pre-processor feature and I"m not sure it's been
            impl. Does anyone use this for CSS in preprocessor?
  <miriam> yes, it works in Sass
  TabAtkins: Do not know. This is preprocessor-able
  astearns: miriam says it works in Sass
  <jensimmons> could miriam talk about this a bit?
  astearns: Should look at how it impl in Sass and see if it's
            popular. If it's not popular don't know why we should add
  <miriam> at least in many cases, I'd have to look closer at every
           instance
  TabAtkins: I was going to suggest, it was useful to get general
             support. I'm happy to explore further in issue and get
             resolution later
  miriam: I know it's popular in many Sass places. I don't know all
          the use cases. Would have to look closer in where we allow
          it. That can also happen later.
  Rossen: Great, thank you
  <castastrophe> Now I'm wondering if postcss supports it
  Rossen: We'll get a resolution with a more concrete proposal.
          Ideally miriam you can help with Sass popularity

CSS Contain
===========

editorial: Paint Containment description is incomprehensible
------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/4946

  florian: Mats has found there's places we're vague and non-standard.
           First is we mention things that must be clipped include
           content and paint and geometry of description. Not defined
           terms. I think it was ink and scrollable overflow
  florian: Should replace the phrasing
  TabAtkins: Yeah

  florian: Second part is in a note we say as if overflow:visible was
           changed to overflow clip as used value. Proposing we
           replace with "The behavior is described in this paragraph
           is equivalent to changing overflow:visible into
           overflow:clip at used value time, while leaving other
           values of overflow unchanged."
  florian: I'll tweak to be explicit about overflow-x and -y in case
           it's different values
  Rossen: Sounds great
  smfr: Is scrollable overflow defined?
  florian: Yes
  smfr: Descendants you need to be clear paint order? containing block?
  <fantasai> smfr, definitions of overflow:
https://www.w3.org/TR/css-overflow-3/#overflow-concepts
  smfr: I mean z order descendants. Stacking context
  florian: If we mean all do we need to disambiguate?
  smfr: All is unclear. dom node? A child can break out if position
        absolute. I may not paint as descendant if it has z-index
  <chris> +1 to smfr say which tree they are descendants in
  florian: I think we're talking about all starting from dom. Whether
           positioned or painted they're part of all
  smfr: Then have to create containing for positioned and stacking
  florian: Think it does
  smfr: And containing block for fixed?
  <fantasai> https://drafts.csswg.org/css-contain-1/#containment-paint
  dbaron: Does for fixed and abs and stacking contexts. Bullets 2 & 3
          in ^

  Rossen: Any other questions or opinions or good to resolve?
  florian: One question. Correct phase to say all descendants? All DOM?
  fantasai: All ambiguity resolves to same thing doesn't matter.
  florian: We have later bullets to say if it's all it works.
  fantasai: What's the interpretation that doesn't mean all? Ambiguous
            about can't resolve to anything that's not what you meant
            so it doesn't matter
  smfr: It's fine

  <Rossen> https://github.com/w3c/csswg-drafts/issues/4946#issuecomment-614501289
  Rossen: Objections to proposal here ^
  florian: Proposal: Accept the comment at the end of
           https://github.com/w3c/csswg-drafts/issues/4946#issuecomment-614501289

  RESOLVED: Accept the comment at the end of
https://github.com/w3c/csswg-drafts/issues/4946#issuecomment-614501289

  fantasai: Want to resolve to update recommendation?
  Rossen: This is WD
  florian: L1 is a rec
  florian: L2 is a WD, but L1 is rec and phrase is in both
  Rossen: oooh
  chris: Should be an erratum. Are there any others we can roll in to
         a publish?
  florian: I need to check
  florian: Let's move on with agenda and I'll get back about if there
           are more in the queue
  <AmeliaBR> No errata for contain 1:
https://www.w3.org/Style/2019/REC-css-contain-1-20191121-errata.html

subtree-visibility CSS property
-------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/4843#issuecomment-611131666

  <fantasai> topic of conversation is
https://github.com/w3c/csswg-drafts/issues/4843#issuecomment-616206403

  Rossen: Before we jump into issue we have vmpstr who is new to the
          group and going to co-edit. Welcome.
  Rossen: Objections to add vmpstr as co-editor?

  RESOLVED: Add vmpstr as co-editor

  TabAtkins: Asking to put property into contain L2 which than vmpstr
             is the co-editor of
  Rossen: Last resolution was moving it on its own. So this is going
          to go in to...
  fantasai: Last resolution didn't say where. I flagged and suggested
            move into CSS Contain L2
  vmpstr: Can we change the name to content visibility?
  fantasai: Let's do separately.
  Rossen: Add it first and then rename. And than name again during
          LC :)
  Rossen: Objections to moving the spec into CSS Contain L2?

  RESOLVED: Move what is known as subtree-visibility into CSS
            Contain L2

  Rossen: We'll make vmpstr a co-editor. Objections?

  RESOLVED: Make vmpstr a co-editor of CSS Contain L2

  Rossen: Last request was rename into content-visibility?
  vmpstr: Yes
  <fantasai> +1
  Rossen: Opinions? Concerns? Objections?

  RESOLVED: Rename to content-visibility

  Rossen: Is that it on the issue?

Errata for L1
-------------

  florian: For the republish REC there's another open issue from Mats
           so let's wait to wrap that up.

CSS Sizing
==========

Scrollbars when intrinsic-width is > width?
-------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/4415#issuecomment-614345165

  fantasai: Does the phantom content area thing also effect scrollable
            area? If it does only the contained element or also
            contents outside of the element?
  TabAtkins: Cases for first is your container is 100px x 100px and
             overflow:auto Set contain-intrinsic-size to 200x200 We
             say you did your child and results in 200x200 and you
             have scrollbars. We believe you should get them.
             Objections in issue were from a previous definition
  TabAtkins: If you have overflow:visible and contain-intrinsic-size
             to be overflowing value does it set scrollbars elsewhere

  AmeliaBR: Clarification: does the contain-intrinsic-size otherwise
            trigger containment or are you expected to set type and
            then size?
  TabAtkins: Only applies if size-containment is on
  AmeliaBR: So it's separate property. Doesn't size-containment
            already have effects on if you're triggering scrollers on
            ancestors?
  TabAtkins: No, layout does.
  AmeliaBR: My instinct is keep it as simple as possible and require
            containment property to spec any trapping of scrolling and
            whatever
  TabAtkins: So it should cause overflow in those cases?
  AmeliaBR: Behave same as if child contents had been laid out and
            generated that intrinsic size
  vmpstr: Combined with actual child content? Union of 2?
  TabAtkins: For scrollbars calculation yes. It does get combined with
             actual children

  cbiesinger: When you say calc scrollbars do you mean presence?
              Scrollbars can effect size.
  TabAtkins: Scrollbars don't increase size of element, just content
  AmeliaBR: Came up on issue, is intrinsic with or without size of
            scrollbars. Do you add it on top?
  TabAtkins: Scrollbars decrease size of content area.
  cbiesinger: It can in the block axis. It can also get larger in the
              inline axis, at least in chrome, if it is
              shrinkwrapped-sized
  TabAtkins: Can't be the case...wait...if you turn on overflow scroll
             then scrollbar adds to content area. If you have overflow
             auto that will never increase area in a way problematic
             here.
  TabAtkins: Only time it will trigger is if you have fixed height
  cbiesinger: Auto height and you set multiplier overflow in inline
              axis increases size in block axis
  Rossen: Only if height is fixed so it is stable
  cbiesinger: Why is height fixed?
  Rossen: Because for intrinsic size purpose you always fit if auto
  fantasai: Scrollbars increase in opp size of scroll. cbiesinger is
            correct
  TabAtkins: So yes, if you trigger scrollbar on bottom of element the
             height would be contain-intrinsic-size height + scrollbar
  cbiesinger: Still doesn't matter if has to be union because you
              don't know actual content size. If guess that's the
              answer is you don't use the union for purpose of
              scrollbar presence
  TabAtkins: Yeah.
  TabAtkins: Actual content should not effect the size for purpose of
             telling if have scrollbars...i guess...once you do...

  TabAtkins: Back up. I think this is a diversion. Need to answer, but
             I don't think effects current q. Should
             contain-intrinsic-size if larger than spec size trigger
             scrollbars
  AmeliaBR: I think my argument is same, it should behave same as if
            you had one child element of that size and anything about
            scrollbars fall out of that
  cbiesinger: So against using union of actual size and
              contain-intrinsic-size?
  AmeliaBR: Whole point of contain-intrinsic-size is replace calc
            actual size of child content
  florian: Not sure it's equivalent. If regular block yes, but
           multicol for example...
  TabAtkins: She misspoke. It's the result of laying out your content.
  AmeliaBR: Yeah.
  TabAtkins: Not on children, it's just easy to say accidentally

  Rossen: We're about 5 minutes before and fantasai wanted to go over
          F2F. Can we close on this or continue in issue?
  TabAtkins: There's further detail question, but should not effect
             how actual content of a contain-size element. If actual
             content can pop a scrollbar that will continue to. If
             can't will continue.

  florian: TabAtkins I stopped watching on GH a while back. Your
           assertion that my concern used to be valid I don't
           remember. Can I just trust you?
  TabAtkins: I think you can. It was about images not triggering
             scrollbars.

  fantasai: I suggest we pick this up later and do F2F

Virtual F2F
===========

  fantasai: There were error in timezone conversions. They were chosen
            to max participants. Timeslot A is really unworkable for
            heycam but okay for everyone else. Timeslot B we get
            heycam but lose a lot of EU.
  <dbaron> I'd note that this teleconference is a biased sample. :-/
  <dbaron> since the people who can't make slot A also can't make this
           call
  fantasai: Wanted to ask if people wanted to use first timeslot for 2
            days or maybe shift it one hour earlier and that might
            give us an hour with heycam.
  fantasai: I don't know how many people would drop for 10pm-2am in EU
            but maybe worth a different time slot.
  <fantasai> https://wiki.csswg.org/planning/virtual-spring-2020
  <florian> I'm neutral
  <dbaron> The other possibility is using something like slot B but an
           hour or two earlier
  <rachelandrew> as an early bird I'm not going to be any use in
                 timeslot B :)

  Rossen: One of the attempts to order topics on timeslot preference
          would have given us that picture of do we need timeslot B.
          No topics set with preference. With heycam not here
  fantasai: dbaron timeslot B earlier was your suggestion but heycam
            said 6am+. Might as well be in timeslot A if timeslot B
            not useful
  fantasai: Would be good if everyone filled out survey on wiki
  fantasai: Should think about if it makes sense to use timeslot A both

  Rossen: If people vote with timeslot availability and topics desired
          it will be easy to make a decision. Please fill out the
          wiki. That will make the decision quickly.
  dbaron: It's worth asking heycam explicitly about a 5am start.
  Rossen: Please go and move topics around in terms of timeslot
          preferences if it's a topic you want to be there for. That
          will help us organize it.
  Rossen: Alright, until next week. No conf call next week, but first
          session of F2F. We will send the actual meeting details to
          the private list with a link to the Meet.
  Rossen: That's everything for today. Thanks for calling in and be
          safe.

Received on Thursday, 23 April 2020 10:16:46 UTC