[CSSWG] Minutes Telecon 2021-04-28 [snapshot-2021] [css-fonts] [css-inline] [css-ruby] [selectors] [css-images] [css-counter-styles] [css-contain]

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


CSS Snapshot 2021
-----------------

  - Please start gathering thoughts and content for the 2021 snapshot
      on github in issue #6243.

CSS Fonts
---------

  - RESOLVED: No change to name; stay with size-adjust (Issue #6114:
              bikeshedding name of size-adjust descriptor)
  - RESOLVED: Add from-font keyword to font-size-adjust [to Fonts 5]
              (Issue #5539: font-size-adjust: auto)
  - fantasai will add details to issue #4818 (oblique angle for
      vertical text with text-combine-upright) about the difference in
      visual presentation this would introduce between regular italics
      and this property. Discussion will continue on GitHub
  - The group will wait for more evidence of author demand before
      taking up issue #6104 (Consider 'extends' descriptor to reduce
      duplicate declarations)

CSS Inline
----------

  - RESOLVED: Fonts with negative line gaps are clamp at 0 (Issue
              #5064: The web de-facto requires nonnegative line gap
              metrics in fonts)

CSS Ruby
--------

  - RESOLVED: Undo previous resolution. Treat replaced elements with
              an internal ruby display value as if they were inline at
              used value time (Issue #6000: Replaced annotation
              containers and base containers are nonsensical)

Selectors
---------

  - RESOLVED: Close no change (Issue #6237: Add a :media pseudo-class,
              to match the set of elements matching the media
              pseudo-classes)
  - Issue #6250 was filed to better define if Seek returns as playing
      or paused.

CSS Images
----------

  - RESOLVED: image-set should act like srcset attribute with applying
              resolution (Issue #6241: image-set() resolution should
              be applied on-top of, not instead-of the natural image
              resolution)

Counter-Styles
--------------

  - RESOLVED: Switch to using 25AA (Issue #6200: counter-style square
              symbol (0x25FE) is bad)

Contain
-------

  - Issue #6175 (What is the migration path for Container Queries?) is
      reaching a conclusion to allow a user to test a container query
      property value pair. The final details will be worked out on
      GitHub.

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

Agenda: https://lists.w3.org/Archives/Public/www-style/2021Apr/0005.html

Present:
  Rachel Andrew
  Adam Argyle
  Rossen Atanassov
  David Baron
  Tab Atkins-Bittner
  Christian Biesinger
  Oriol Brufau
  Tantek Çelik
  Elika Etemad
  Brandon Ferrua
  Simon Fraser
  Megan Gardner
  Chris Harrelson
  Daniel Holbert
  Dael Jackson
  Brian Kardell
  Jonathan Kew
  Peter Linss
  Rune Lillesveen
  Alison Maher
  Myles Maxfield
  Tess O'Connor
  Morgan Reschenberg
  Florian Rivoal
  Miriam Suzanne
  Lea Verou
  Greg Whitfield

Scribe: dael


  Rossen: Hi everyone. We are going to get going in a couple minutes
  florian: The thing on issue #13 is a followup on something we've
           discussed earlier so it would be nice if we could move it
           earlier. Easy followup if it's fresh in mind.
  Rossen: I was maybe have this after the fonts items. I wasn't sure
          if it was ready
  florian: We can timebox to short and if it's longer we can get back
           to it
  Rossen: Alright. Let's see if we can get through fonts first
  Rossen: It is 9:02 in PT. Time to start
  Rossen: As usual, I wanted to ask for any additional agenda changes.
          Noted the one from florian
  Rossen: Anything else?

CSS Snapshot 2021
=================
  github: https://github.com/w3c/csswg-drafts/issues/6243

  florian: This is not for deep discussion now. Last year we said we'd
           do snapshot early, failed, and released in December. Wanted
           to bring attention we should start thinking about it so we
           can release before Dec. Suggested mid-year would be nice
  florian: Start thinking, filing issue. We'll get back to it soon
  Rossen: Thank you for not forgetting and drawing our attention to it
  Rossen: In light of agenda I propose we move forward and everyone is
          encouraged to add issues or ideas to that issue. I will
          bring it back once a month and we can check in until we
          publish

CSS Fonts
=========

bikeshedding name of size-adjust descriptor
-------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/6114

  chrishtr: One option is keeping the name. I think fantasai prefers
            that
  chrishtr: Another option is font-scaling or font-scaling-factor
  chrishtr: Opinions?
  fantasai: I prefer original name
  chrishtr: I'm okay with all of those
  chrishtr: jfkthame and myles weighed in
  jfkthame: I prefer name with scaling but can live
  leaverou: What about scaling-factor? font- is not needed if this is
            a descriptor in @font-face

  fantasai: Proposed name is size-adjust which ties into font adjust.
            Work a bit differently but do exactly the same thing
  fantasai: size-adjust description on @fontface gives you descriptor
            to adjust font size by that much. font-size-adjust
            property takes a number of how big to scale to match
            x-height
  fantasai: Proposals to expand beyond x-height to try and get fonts
            to match and normalize on metrics you request.
  fantasai: Both scale used size instead of impacting computed
  fantasai: Other reason was I figured pretty accurately represents
            what you're trying to do when you spec a font and size
  Rossen: Way I read the thread most folks lean toward font-scale as
          rename. Proposal by jfkthame and okay by chrishtr and myles
  Rossen: In description you used, fantasai, you used 'scale' 80% of
          time and 'adjust' once. font-scale sounds like pretty
          awesome alternative. Should we try and resolve on that?
  plinss: If we have existing property that does same it makes sense
          to keep the name
  jfkthame: What troubles me is it does it in a different way and the
            value given has a different meaning. That's source of my
            unease with keeping names close
  fantasai: There's syntax valid in font-size-adjust and ones in
            font-adjust and don't overlap. If we add percent it should
            do the same. If we want a feature that's where it should
            go and size-adjust would be a subset of font-size-adjust
  <smfr> there’s also [-webkit-]text-size-adjust

  Rossen: We can do one of two things. Hearing a split. We can straw
          poll between size-adjust and font-scale and take the result
  <fantasai> ok with a straw poll, has opinions but not gonna block
  chrishtr: sgtm
  <jfkthame> likewise
  <Rossen> A - size-adjust
  <Rossen> B - font-scale
  Rossen: options ^
  Rossen: Please cast your opinions, A or B, or the order you prefer
  <fantasai> A
  <myles> abstain
  <plinss> a
  <jfkthame> B
  <Rossen> B A
  <rachelandrew> A
  <chrishtr> AB
  <dholbert> B
  <astearns> abstain
  <smfr> B
  <Morgan> abstain
  <futhark> abstain
  <florian> abstain
  <cbiesinger> abstain
  Rossen: I love that abstain has a and b

  Rossen: This is very non-conclusive
  chrishtr: A bit more B than A
  Rossen: 5 and 5. That's not enough for consensus
  Rossen: Since there's no consensus, I don't hear strong reason to
          change
  chrishtr: Can I make suggestion? Is there anyone who would object to
            leaving it the way it is?
  Rossen: That was going to be my proposal too
  Rossen: And if needed this can be brought back
  Rossen: Proposal: No change to name, stay with size-adjust

  smfr: No objections but then we have size-adjust font-size-adjust
        and prefix text-size-adjust which is things with similar names
        doing different things
  myles: Very different things
  Rossen: Based on WG votes we don't see to want to change strongly.
          Forcing a resolution and if people have strong opinions we
          can bring it back
  Rossen: Are there objections?

  RESOLVED: No change to name; stay with size-adjust

  Rossen: Please engage in issue if want further discussion

CSS Inline
==========

The web de-facto requires nonnegative line gap metrics in fonts
---------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/5064

  myles: Pretty straightforward. Browsers do it but not in spec.
  myles: If font says it has negative line-gap it's clamped at 0
  Rossen: Anyone with different opinion why this shouldn't be the case?
  Rossen: Objections to Fonts with negative line gaps are clamp at 0

  florian: Question, have you checked this is true of print formatter?
  myles: No, haven't checked. FF, Chrome, and WK do it
  florian: Sounds like a good idea, wondering if done in print and how
           we deal with compat. Maybe just suggest they do it as well
  Rossen: This is why we have standards

  RESOLVED: Fonts with negative line gaps are clamp at 0

  myles: I think metric is within inline spec so I think this issue
         should be parented under that spec
  Rossen: Sure

CSS Fonts (continued)
=====================

font-size-adjust: auto
----------------------
  github: https://github.com/w3c/csswg-drafts/issues/5539

  myles: Right now font-size-adjust takes a number. Seems hostile to
         authors. Believe use case is I want my fallback text to match
         relative size of primary. If author doesn't know aspect-ratio
         of primary text they have to figure it out and hard code it
  myles: I think that's a problem. Don't have strong suggestion to
         fix. One would be add keyword like from-font or auto that's
         use aspect-ratio from primary font
  Rossen: Do you have a...seems like thread is leaning for from-font
          instead of auto. Should we resolve on from-font?
  Rossen: Objection to adding from-font keyword to font-size-adjust?

  RESOLVED: Add from-font keyword to font-size-adjust

  Rossen: This is fonts 4? or 5?
  myles: Probably 5. In general new should be 5
  <fantasai> +1

oblique angle for vertical text with text-combine-upright
---------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/4818

  Rossen: Fairly straightforward explanation. Proposed resolution is
          in case of vertical text layout when we use
          text-combine-upright which introduces horizontal text skew
          should be to combined characters
  fantasai: Complication, if you have oblique glyphs they won't go
            downwards, but to the side. I think a little tricky for
            that reason. Wanted to bring it for discussion. I think
            what probably makes sense is we need another property that
            explicitly does skewing on the line
  fantasai: Not sure which way to do. Could be consistent with real
            itals or fix stuff on line
  Rossen: Then my proposal is continue on GH there. It doesn't sound
          like what you mentioned was already discussed to point where
          we can resolve. Behavior is dependent on your prop for skew
          property I would prefer to have the discussion when ready
  fantasai: Not dependent but needs consider. Main thing is do we want
            to be consistent with italics or have real and fake
            italics be different
  Rossen: Important decision. Hope was in absence of this we could
          resolve but you bring up a good point. This will introduce a
          fairly apparent difference which will not have a way for
          authors to combat it
  Rossen: If this was the case I propose we wait on resolving until
          we've resolved skew and how it works
  Rossen: What do you think fantasai?
  fantasai: I don't think we're ready to resolve, but doesn't depend
            on skew. We can go back to issue, but can't just be me
            talking about it. Been out there for a while
  Rossen: Can I ask you to link the skew issue if it's not linked and
          we'll bring back when ready for more discussion?

Consider 'extends' descriptor to reduce duplicate declarations
--------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/6104

  fantasai: The @counter-style rules can get complicated. @extend lets
            you go off previous definition. As @font-face gets more
            complicated might be might to have same mechanism so a
            font-face rule can extend another one and add some
            descriptors
  myles: I think I agree with astearns comment where we should wait
         for things like Sass to come up with it. A bit early to add
         because don't know we need it
  astearns: And a lot of things we're adding to complicate rule are
            for specific fonts and not really shared. Don't want to
            get to state where someone uses a value they tested on one
            font on a lot where they don't know correct
  fantasai: Yeah. When have variable font you'll have a bunch of
            common stuff to core. might want to set some things to set
            named variants
  astearns: Agree probably useful for variation fonts, but should wait
            until we know it'll be used
  leaverou: May not have seen seen complaints because authors copy/
            paste generated @font-face rules. Duplication is there
  <fantasai> +1
  myles: I understand we're discussing this because adding rules. If
         we give them time to start using new things we'll hear noise
         about needing this. If not necessary we won't
  Rossen: Hearing folks leaning toward waiting to see how and when
          it's needed
  Rossen: We'll put this on pause until have stronger signals

CSS Ruby
========

Replaced annotation containers and base containers are nonsensical
------------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/6000

  Rossen: Let's timebox to 5m
  florian: We discussed that it didn't make a whole lot of sense for
           replace elements to have ruby-base or ruby-text. xidorn has
           pushed back
  florian: Would rather we treat as inline replaced elements. Invokes
           rest of box fixup. Anonymous parents still generated. This
           would be simpler and is what happens with tables already.
           Replaced elements in table only get to be inline and
           wrapped into table parts
  florian: I think emilio also argued for that.
  florian: Given the pushback and we do this for tables I think this
           is a good idea. Saying they're treated as inlines makes
           sense
  florian: If we do that I would also propose we move this into the
           display spec instead of being in tables and ruby. Display
           talks about layout internals and could say when you try and
           apply to replaced element it's treated as inline
  florian: Any problems with that?
  Rossen: Did anyone follow it?

  Rossen: florian since there's no issues or comments, proposal?
  florian: Proposal: Undo previous resolution. Treat replaced elements
           with an internal ruby display value as if they were inline
  florian: at used value time
  Rossen: Would this align closer with table?
  florian: Yes, closer with tables on Mozilla's current impl
  Rossen: If I have display:table on the replaced element it becomes
          inline?
  florian: display: table-row or -cell they're inline. For outermost
           like display:table or ruby this is handled.
  florian: For internal you're treated as inline
  Rossen: Right. Awesome
  Rossen: Additional comments or objections?

  RESOLVED: Undo previous resolution. Treat replaced elements with an
            internal ruby display value as if they were inline at used
            value time

  Rossen: Did previous one make it into spec?
  florian: Not yet

CSS Images
==========

image-set() resolution should be applied on-top of, not instead-of
    the natural image resolution
------------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/6241

  Rossen: Is emilio on?
  Rossen: I'll push this

Selectors
=========

Add a :media pseudo-class, to match the set of elements matching the
    media pseudo-classes
--------------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/6237

  TabAtkins: As of a week or two ago had 2 pseudo classes that applied
             to media. playing and paused are mutually exclusive. All
             elements not playing are pause.
  TabAtkins: We agreed on edits from hober adding additional media
             pseudo-classes to match additional states. I realized
             this property that you could always select on one
             pseudo-class no longer applied. Example: muted. Select
             all not muted you can't use Not muted because selects
             everything on page
  TabAtkins: Suggestion to help authors with this which is
             pseudo-class to just select media elements
  TabAtkins: A few objections in issue. leaverou pointed out requests
             in the past to select MQ as selector so it mixes into
             selectors and name for that would be media
  TabAtkins: emilio pointed out we have audio and video and now that
             we have :is it's not hard to get the same effect as you
             had before is pseudo-class
  TabAtkins: Both are reasonable. Don't know if enough to sink it. I
             still think might be valuable to do something in this
             realm. What do others think? Not sure which way to go

  florian: Question. When you use pause it only gives you paused media
           elements?
  TabAtkins: Yeah. Every single media elements is either playing or
             paused. But because no non-muted pseudo-class we no
             longer have that property
  florian: And can't solve by adding opposite of those introduced?
  TabAtkins: Could. Feels weird to add explicitly negated version when
             we have pseudo class negation
  florian: But not same meaning
  TabAtkins: Yeah.

  hober: I think TabAtkins is right it's a real problem. Sympathetic
         to emilio point that :is audio|video is enough. Worry it's
         not future proof. If we add another media feature sites will
         not match the new ones
  hober: Slightly prefer adding a new pseudo-class but could live with
         leaving it to :is
  hober: Don't care for adding negated pseudo-classes for all the new
         ones. Exploded number in a way that feels distasteful, but
         it's an aesthetic preference
  TabAtkins: I think at this point I'm okay going with emilio and if
             we introduce more media elements we can revisit this so
             we don't have to negotiate future-proofing with media
             pseudo-class

  leaverou: I wanted to ask if we have sufficient evidence that
            authors want to target all media elements in a way.
            Stylesheets trying to target non-muted media elements?
            Feel it would be all video or audio
  <fantasai> +1 leaverou
  hober: One use case is in user stylesheet. Looking at a website,
         something obnoxious happening and I can't find it to make it
         stop
  Rossen: Good use case.
  <bkardell> it would be useful in extensions too

  emilio: Wanted to mention there is precedent for explicit negation
          with readwrite and readonly. You could argue that for
          website authors having media pseudo-class...argument hober
          made makes sense but can flip. New media elements would have
          selectors that didn't match start matching. Can go both ways.
  emilio: I don't care either way, but there is precedent for negation
  TabAtkins: That precedent exists in same way as playing and paused.
             Explicit different states. If name is not-x is what feels
             weird
  TabAtkins: Think we're reasonably agreeing to close no change and
             rely on :is
  <fantasai> +1 to close no change for now
  emilio: Sounds good
  <leaverou> +1 to close

  Rossen: When seeking will one apply? both? none?
  TabAtkins: I think playing
  hober: Buffering and stalled playing still matches. I don't remember
         if new spec text says for seeking. Might be good followup
  TabAtkins: Yeah, could use clarification
  <tantek> possibly related: we have pseudo-classes for partially
           loaded images right? (that are still loading)
  <TabAtkins> OH wait lol, we just have a :seeking pseudo-class now
  <TabAtkins> So, uh, obviously that's the one that matches when
              you're seeking
  fantasai: On queue to agree with leaverou and emilio. Close no
            change. If we need clarification add resolution
  hober: Clarification shouldn't be always one or the other for
         seeking. Can used seeker to search playing or paused. Need to
         say unlike buffering or stalled you might be playing or
         paused when seeking
  Rossen: Seek has no change to the last known state of playing or
          paused. Fair?
  hober: I think so
  Rossen: Proposal: Close no change
  hober: Can we also add action to write clarification?
  ACTION hober add text for Seek has no change to the last known state
         of playing or paused
  <fantasai> filed issue for hober at
https://github.com/w3c/csswg-drafts/issues/6250

  RESOLVED: Close no change

CSS Images
==========

image-set() resolution should be applied on-top of, not instead-of
    the natural image resolution
------------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/6241

  emilio: Matches existing impl. Basically spec says if you omit
          image-set resolution then you use natural image resolution
  emilio: If you spec image-set resolution it overrides whatever
          resolution image has
  emilio: Allows to figure out if image has native resolution. Not
          amazing. Chrome and WK apply image resolution and then
          image-set resolution. Seems reasonable and sensible
  emilio: So this should agree with existing impl
  TabAtkins: Happy to resolve on agree with existing impl. I'm not
             sure how this is supposed to work from reading thread. Do
             not understand multiplying resolution by exif resolution
             gives you something usable
  emilio: It's a cross-origin info leak
  TabAtkins: I suspect something more subtle is happening than I
             understand. Feels ridiculous. But we'll figure it out
  emilio: If you find out what it is that's great
  TabAtkins: I'd like us to match so happy to resolve
  TabAtkins: Proposal: image-set should act like srcset attribute with
             applying resolution
  Rossen: Objections?

  RESOLVED: image-set should act like srcset attribute with applying
            resolution

Counter-Styles
==============

counter-style square symbol (0x25FE) is bad
-------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/6200

  TabAtkins: One of the easy cases we need to resolve on
  TabAtkins: Count spec says build in square renders something like
             25FE codepoint. Problem is that has emoji presentation.
             Presents as an emoji rather than a character with text
             color
  TabAtkins: Also apparently a little larger
  TabAtkins: Suggestion of better character
  TabAtkins: 25aa
  TabAtkins: Switch in spec to 25aa which is not emoji so renders more
             correct and better size
  TabAtkins: GH treats 25aa as an emoji which is not what borwsers do.
             Confusing but should be fine in practice.
  Rossen: Any other ideas of a character? If not, objections?

  RESOLVED: Switch to using 25AA

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

What is the migration path for Container Queries?
-------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/6175

  miriam: Talked about this last week
  miriam: Went to thread.
  miriam: Proposal to add a container function to supports similar to
          selector in that you can test a container query property
          value pair
  miriam: Also it would be good to get consistency on how unknown
          functions or tests are handled
  miriam: Other proposal is unknown supports conditions evaluate as
          unsupported
  Rossen: Thank you
  Rossen: With that proposal, are there any other opinions where?
  TabAtkins: Sounds good
  miriam: Proposal 1: Any unknown supports conditions should evaluate
          as unsupported
  TabAtkins: Rephrase: unknown support conditions should work the same
             as unknown media conditions
  florian: Clarification, they don't evaluate to false which is a
           weird not bool
  TabAtkins: Evaluate to false at top value. Unknown property as
             unknown but it doesn't define top level unknown so
             becomes false
  emilio: Do we want @supports NOT [unknown] true or false?
  TabAtkins: Same as MQ for unknown things. NOT [unknown] is unknown
  miriam: Don't think that works well
  emilio: Right. Not great. Can't use @supports NOT container because
          will never match. Returns true for browsers without container
  miriam: Want it to evaluate true when negate it
  TabAtkins: There's unknown which is syntax we don't understand and
             syntax that's false because you don't impl the thing yet
  miriam: To be backwards compat we need unknown to evaluate true when
          you negate it so it works with browsers that don't
          understand container
  dbaron: Argument that @supports should be different for MQ. Unknown
          @supports is like an unsupported feature
  <dbaron> (And I think I was agreeing with miriam.)
  <miriam> Yes, @dbaron - that's exactly what I was trying to get at,
           thanks

  Rossen: We have folks starting to drop off
  Rossen: Sounds like we want to take this back to the thread, flesh
          it out, and bring it as first topic this week
  TabAtkins: Thread got confused with impl doing weird things. We're
             past that, just need to discuss on this

  Rossen: We're a couple minutes overtime. Thanks for hanging around

Received on Wednesday, 28 April 2021 23:29:50 UTC