[CSSWG] Minutes Telecon 2023-06-14 [css-anchor-position] [css-grid] [css-view-transitions] [css-counter-styles]

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


Anchor Positioning
------------------

  - RESOLVED: FPWD of css-anchor-positioning (Issue #8929: Request
              for FPWD)

CSS Grid
--------

  - RESOLVED: Go with the content-box (option 2) (Issue #7661:
              Application of grid-positioning properties to static
              position of grid children is inconsistent)

View Transitions
----------------

  - RESOLVED: Move mix-blend-mode behavior into the UA opacity
              animation (Issue #8924: Should mix-blend-mode be a part
              of the UA opacity animation?)
  - RESOLVED: Accept the new behavior, put it in View Transitions 2
              (Issue #8888: Hold paint of old Document until new
              Document draws a frame)

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

  - RESOLVED: Work with i18nWG to republish Ready-Made Counter Styles
              as a W3C Registry allowing CSSWG and/or i18nWG to
              update; update Counter Styles to require everything in
              the Registry (Issue #8636: Should "Ready-made Counter
              Styles" be supported by UA?)


===== FULL MEETING MINUTES ======

Agenda: https://lists.w3.org/Archives/Public/www-style/2023Jun/0002.html

Present:
  Adam Argyle
  Rossen Atanassov
  Tab Atkins
  David Baron
  Oriol Brufau
  Tantek Çelik
  Emilio Cobos Álvarez
  Yehonatan Daniv
  Elika Etemad
  Robert Flack
  Megan Gardner
  Paul Grenier
  Chris Harrelson
  Brian Kardell
  Brad Kemper
  Jonathan Kew
  Ian Kilpatrick
  Vladimir Levin
  Peter Linss
  Alison Maher
  Vitor Roriz
  Noam Rosenthal
  Khushal Sagar
  Jen Simmons
  Miriam Suzanne
  Bramus Van Damme

Regrets:
  Rachel Andrew
  Daniel Holbert
  David Leininger
  Chris Lilley
  Lea Verou
  Sebastian Zartner

Chair: Rossen

Scribe: emilio
Scribe's scribe: fantasai & TabAtkins

Anchor Positioning
==================

Request for FPWD
----------------
  github: https://github.com/w3c/csswg-drafts/issues/8929

  TabAtkins: We talked about anchor positioning from a while back
  TabAtkins: spec is pretty mature, our experimental impl is looking
             pretty good
  TabAtkins: definitely still work to be done
  TabAtkins: both in terms of making things well defined and features
  TabAtkins: but we'd like to implement in the relatively near future
  TabAtkins: if there's questions I'm happy to answer
  TabAtkins: otherwise I think people are familiar with the stuff

  florian: I agree from maturity it makes sense for FPWD maybe even
           more
  florian: Curious about other implementors
  florian: at least about making sure they are not against this
           approach
  TabAtkins: WebKit has been at least reading it
  jensimmons: It's been something we've tried to look at and discuss
  jensimmons: not sure how deep engineers have looked at it
  jensimmons: we've been pretty busy
  jensimmons: there's been some feedback about the spec not being
              quite ready for shipping
  florian: but not push back about being in the wrong direction right?
  Rossen: Not talking about shipping yet
  jensimmons: It'd be great to have more time for review before folks
              ship it
  <florian> +1

  emilio: I want to say the same. I agree it's a problem that would be
          useful to solve
  emilio: I'm not sure about the general direction of defining things,
          e.g. .... CB
  emilio: I don't think it's objectionable to publish
  emilio: I agree with jensimmons it would be good to have time to
          review and prototype
  emilio: I don't think there is any blocker, this is terribly wrong
          kind of thing on our side
  emilio: so I would support FPWD
  jensimmons: It's on the roadmap for Chrome to ship in August
  jensimmons: that's really soon
  jensimmons: would be better to have more time to review and
              participate in shaping the feature

  Rossen: Seems folks are happy for fpwd and we want to make sure we
          don't ship prematurely
  fantasai: What I hear is chrome was FPWD because it's shipping in
            August and they think there's only minor stuff
  TabAtkins: That's not what I said
  fantasai: But it's on your roadmap to ship?
  fantasai: What I'm hearing from jen and emilio is that they'd like
            time to review and probably have significant feedback
  fantasai: and some non-minor things might need changing
  <jensimmons> I should correct myself, it's on Chrome's roadmap for
               117, going to beta in August, and ship in early
               September. https://chromestatus.com/roadmap
  fantasai: I don't object to FPWD, it's probably past time for FPWD,
            I think we have agreement on this being worth solving and
            going in the right general direction
  fantasai: so I hear full support for FPWD but uncomfortableness
            about shipping in two months
  <TabAtkins> (I actually thought we'd already done FPWD some time
              ago, and was surprised that we hadn't.)

  Rossen: I'm hearing that FPWD is not objected
  Rossen: and mostly supported
  Rossen: I'd like to take a call for objections and resolve that
  Rossen: I'm wanting to hear from Tab if there's anything else he
          want's to put on the record about implementation or shipping
          / testing / whatever
  Rossen: but let's not relate the two and hold off on one based on
          the other

  RESOLVED: FPWD of css-anchor-positioning

  Rossen: Tab do you want to correct some of the record about the
          shipping status?
  TabAtkins: We're open with our shipping status, we're planning on
             shipping on 117 _if there are no major changes_, so
             that's why we want FPWD and review
  fantasai: Sounds like you want to functionally get to CR within the
            next month or two?
  fantasai: Have you requested all of the horizontal reviews and so on?
  TabAtkins: No, haven't yet because spec still needs some changes
  fantasai: But you want horizontal reviews within a month or two
            which are very busy
  TabAtkins: This is mostly extending abspos positioning
  TabAtkins: we mostly need implementation review from other
             implementors
  TabAtkins: to make sure that the features are covered and we don't
             rely on details of our impl
  jensimmons: CSSWG usually goes to FPWD and have enough time for
              reviewing from a variety of groups and experts
  jensimmons: and this seems very fast specially at a time where folks
              might go on vacation
  jensimmons: I get chrome is in the position to write a spec and
              ship, but this feels very fast
  <tantek> +1 jensimmons — this feels unusual for the "normal" CSSWG
           workmode
  <jensimmons> I'm not assuming bad intent.
  <jensimmons> I'm asking for time for everyone else to participate.
               As we normally do.
  Rossen: Let's stop this here, we have a resolution for FPWD
  <florian> +1 to Jen
  <TabAtkins> bare minimum of ~2 months, that's not "a few weeks" by
              any definition of "few"
  <tantek> Thanks TabAtkins
  <emilio> +1 to having more time, for reviewing anchor-positioning
           fwiw

CSS Grid
========

Application of grid-positioning properties to static position of grid
    children is inconsistent
---------------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/7661

  <fantasai> summary ->
https://github.com/w3c/csswg-drafts/issues/7661#issuecomment-1587880994
  iank: Restating previous conversations. Two options: always use
        content-box, or always use grid-positioning properties
  iank: Two weeks ago people were asking for use cases
  iank: I don't think anybody came back with use cases for always
        using grid-positioning
  iank: Me and Tab have a preference for content-box, fantasai has a
        preference for using the properties
  fantasai: We have agreement on if the grid properties are auto then
            we use the content-box
  iank: That might be more complicated because of how those work
  iank: because those insert additional lines for the purposes of
        abspos
  iank: so would like to keep that separate

  Rossen: So we want to go with option (2), which is always use
          content-box (option (1) is off the table)
  iank: I'd like to propose going for (2), I don't think there are use
        cases for (3)
  <chrishtr> +1 to option 2 (content box)

  emilio: Echo slight support for going for the content box
  emilio: Seems there's no use-cases for grid, seems determining the
          static position form grid properties can be a rabbit hole of
          interop not worth getting into
  emilio: If always using the content box works, then good

  Rossen: Quick question: also supportive of option (2) though. If you
          want an annotation on the box that sits on top of everything
          else like a semi-transparent number
  Rossen: Let's say you want to number your grid cells
  Rossen: is my assumption correct that if you want to achieve the
          same effect you'd have to say which line you're positioning
          to in the grid and then use that as your left and top?
  iank: Right you need to make the grid the containing block yeah, and
        set top: 0 left: 0
  Rossen: What about auto placement? Where would that end up?
  iank: You can't (today) setting auto placement on an abspos, you'd
        need to wrap it in a grid item
  Rossen: Can we make that the default behavior?
  iank: We don't invoke auto placement for out of flows
  iank: you need to be explicit to pick up the grid area
  Rossen: Ok in that case I'm good with option 2 as well

  RESOLVED: Go with the content-box (option 2)

  iank: Final note: we'll do this change behind a kill-switch in case
        people rely on the weird behavior, can come back to the group
        if the change goes wrong

View Transitions
================
  scribe: TabAtkins

Should mix-blend-mode be a part of the ua opacity animation?
------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/8924

  vmpstr: In the UA stylesheet, we add an animation, a cross-fade that
          changes opacity of new and old pseudos
  vmpstr: We also added mix-blend-mode:plus-lighter
  vmpstr: This way if you have the same content on both sides it
          doesn't look like it fades in the middle
  vmpstr: We found since devs can customize this, if they change it to
          anything but cross-fade they're surprised by the
          plus-lighter behavior
  vmpstr: So proposal is to bundle the plus-lighter to be part of the
          animation
  vmpstr: A separate set of keyframes that animates from plus-lighter
          to plus-lighter
  vmpstr: And put that in the UA stylesheet, so when devs change the
          animation, they'll get rid of the mix-blend-mode
          automatically
  vmpstr: Also right now mix-blend-mode is marked as not animatable,
          but as I understand it this is an oversight, so we need to
          change this to discretely animatable

  <dbaron> +1 to the proposed changes; I think all 3 properties in
           https://drafts.fxtf.org/compositing/ should be Animation
           type: discrete rather than Animatable: no.

  khush: There's a few syntax options about where to put it in
         keyframes
  khush: From an impl perspective, we also add isolation to the
         image-pair elements to get the cross-fade right
  khush: If you have an isolated node and something below has a
         non-normal blend mode, you have to do an off-screen
         compositing.
  khush: That's a lot of rendering work to do if it's not necessary
  khush: We convinced ourselves that keeping the isolation is fine; if
         you remove the mix-blend-mode it goes back to a fast
         rendering path
  khush: So wanted to run this past the group
  emilio: I guess the isolation isn't particularly side-effect-ful
          because things are already stacking contexts
  emilio: But still probably less confusing to authors if we mix it
          with the opacity animation?
  khush: We just couldn't figure out a CSS way to tie the ancestor's
         isolation to the child's animation
  emilio: Not sure I follow
  khush: By default you have isolation on ancestor and
         mix-blend-mode+opacity on the child
  khush: If author is overriding the opacity animation, we wanna get
         rid of mix-blend-mode and isolation both
  khush: We can easily get rid of mix-blend-mode, but not sure how to
         get rid of the isolation too
  emilio: I see. If there's not a great way to do it, it's probably
          not a big deal.
  khush: Right, we can optimize it out if there's no mix-blend-mode
  emilio: I suppose if someone writes their own thing they might get
          confused, but if devtools shows the right thing it's
          probably okay

  fantasai: Should we be creating two different sets of keyframes? Or
            one set?
  vmpstr: I think one set makes sense so we're not creating too many
          UA keyframes
  fantasai: So we have a proposed resolution?
  vmpstr: Proposed res is to move the mix-blend-mode behavior into the
          opacity transition
  Rossen: Objections?

  RESOLVED: Move mix-blend-mode behavior into the UA opacity animation

  fantasai: This depends on the propertiess being discretely
            animatable; they are, but we changed the format of the
            animatable line in propdef
  fantasai: "No" used to mean "discretely"; later we changed it to say
            "discrete" and "no" really meant no.
  fantasai: Tab and I went thru CSSWG and fixed everything, but missed
            FXTF.
  fantasai: So all of the fxtf drafts need fixing and repubbing
  fantasai: But many have had changes and no active editor, so that's
            hard
  Rossen: This sounds like a big topic on its own, should track as
          separate issue
  <TabAtkins> (I suggest we move into csswg as we repub them, but we
              should open an issue for it.)
  <dbaron> can we at least resolve to fix the fxtf EDs per the
           previous edits?
  <fantasai> I don't think you actually need a resolution, we already
             agreed to make those changes

  vmpstr: Can I confirm that mix-blend-mode *is* meant to be
          animatable?
  TabAtkins: Yes, absolutely
  dbaron: Can we at least resolve to fix the FXTF EDs?
  TabAtkins: Shouldn't need another, we already have a resolution to
             fix this stuff
  dbaron: And potentially houdini, tho I'm not sure they have
          properties
  dbaron: and maybe also css-houdini-drafts if there are any
          properties in them

  Rossen: Let's just make a tracking issue for this
  <TabAtkins> I'd take it on but I'm gonna be too busy the next week
              and a half before vacation

  <fantasai> -> https://github.com/w3c/fxtf-drafts/issues/521

Hold paint of old Document until new Document draws a frame
-----------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/8888

  khush: Exploring cross-document view transitions
  khush: When navigating from page A to B, there's a period of time
         where B is still producing its first frame
  khush: the browser has to decide what to paint in the tab before this
  khush: Few options. 1) clear the tab to show white, might make sense
         if it's cross-origin
  khush: 2) leave page A's pixels until B paints something
  khush: 3) If you have cached B, show that until B paints real pixels
  khush: With view transitions, if going from A to B you need A's
         pixels in the tab until B is ready, to run the animation
  khush: otherwise you get a flicker during the transition
  khush: in chrome, we show cached rendering of B if it's available,
         otherwise leaves A around.
  khush: Safari always leaves A around
  khush: We want to standardize on leaving A's pixels until B draws a
         frame
  khush: So two parts, first get a resolution here, second where to
         actually spec this. HTML and CSS neither actually define this
         behavior.

  TabAtkins: I think HTML is probably the best place for it - it
             covers nav and timing and such, better than what CSS has.
  fantasai: I think the opposite - specifying in View Transitions, at
            least for now, is probably a good idea
  fantasai: We don't care particularly what the browser does when View
            Transitions aren't active
  fantasai: but when there *is* a View Transition, for it to make
            sense it has to hold the old paint
  fantasai: So it's a request of *this spec and feature*
  fantasai: If at some point we need to spec what happens when there
            isn't a View Transition, maybe it can move to HTML or
            somewhere else

  emilio: So the diff is...
  emilio: Clarifying that with the first you mean the page is still
          interactive?
  khush: Until the browser switches to showing the live B document,
         all browsers keep it non-interactive
  khush: Diff is in most cases if you're going from A to B you only
         have A's rendering to show
  khush: but if you're going back, from B->A, then forward again, you
         might have B's cached rendering. Chrome currently shows that
         when going forward from A->B
  emilio: When you are flipping display?
  khush: There are cases where pages do something in pageShow, it's
         timing-sensitive
  khush: If the bfcache restore takes more than a single frame you get
         flicker - show B, then show A, then see animation
  emilio: Okay so if pageShow takes more than a frame to arrive...
  khush: Right, it wasn't uncommon to see pages accidentally run into
         this
  emilio: I have the feeling HTML might be the better place to put this
  khush: I think it's clear on the behavior, just not where it is
  khush: Happy to put it in View Transitions right now and move it to
         HTML in the future when it's more mature

  noamr: For View Transitions 2 and MPA stuff, lots will move into
         HTML or monkeypatch HTML due to nav interaction, so this will
         be part of that
  Rossen: Okay so sounds like it'll move to HTML later
  fantasai: Sounds like we want it in VT for now and move it later
  Rossen: Ok, so any objections on putting this behavior into View
          Transitions 2?

  RESOLVED: Accept the new behavior, put it in View Transitions 2

Counter Styles
==============
  scribe: fantasai

Should "Ready-made Counter Styles" be supported by UA?
------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/8636

  vitorroriz: When we were implementing counter styles on webkit side,
              I saw this list maintained for Ready-made Counter Styles
              for different languages
  vitorroriz: but this was not intended to be supported by browsers
  vitorroriz: so I wanted to understand why
  jensimmons: Proposal is to take this stylesheet and put it into the
              UA stylesheet for browsers
  jensimmons: so that all these styles are supported by browsers out
              of the box
  jensimmons: for all the languages equally, so devs don't have to
              copy-paste

  <emilio> FWIW I think Gecko ships at least an early version of this?
           https://searchfox.org/mozilla-central/rev/fb55a4ee44a9a95d099aa806ca494eb988252ded/layout/style/res/counterstyles.css

  TabAtkins: I have no objections to in or out
  TabAtkins: we agreed to move out at the time partially because we
             didn't want to show favoritism that we happened to have
             listed
  TabAtkins: so restricted to list in CSS2
  TabAtkins: but list has been enhanced substantially by i18nWG over
             last 8 years
  TabAtkins: so as long as implementers are fine with it, I'm OK too
  TabAtkins: dbaron did point out that some of these changes could
             have web-compat impacts
  TabAtkins: I reviewed the changes, given intended use cases and the
             practical use cases ppl use these for
  TabAtkins: I suspect web-compat for such changes are going to be
             minimal
  TabAtkins: I think this is going to be low chance of compat
  TabAtkins: and if author disagrees with what we do, they can
             override; spec allows this
  TabAtkins: just need to make sure that whatever we do, it's still
             easily editable by i18nwg
  TabAtkins: There was some discussion about putting UA styles in HTML
             stylesheet, but that would create a lot of friction for
             updates, so don't recommend
  <dbaron> I'd note that the UA styles here are for all document
           languages rather than just for HTML, and I *think* such UA
           styles don't go in the HTML spec...
  <fantasai> +1 dbaron

  jensimmons: I think one issue that will come up, e.g. making content
              for WWDC, one of the examples I used made
              upper-serbo-croatian
  jensimmons: term was used in the past, but in this day and age,
              would be better to use a different term...
  jensimmons: but there's going to be some touchy political issues
              around naming these things
  jensimmons: if in CSS, then we'd have to add aliases or something
  jensimmons: so some homework for CSSWG over the years
  <tantek> +1 jensimmons I saw chatter about that example as well
  jensimmons: but feels important to do, to include all languages of
              the world not just those in CSS2
  <TabAtkins> yeah, so long as we don't drop anything, just add
              aliases, it should always be fine
  emilio: For the case Jen mentioned, keep old name around and add new
          if needed
  emilio: want to point out, Gecko ships an early version of this
  emilio: I tend to think that we should really support this in the
          browser, don't care where they live

  fantasai: I don't think the right thing is to fold into Counter
            Styles 3, that's focused on the mechanism of counter
            styles and we want this to go to Rec
  fantasai: But this could be a document, maybe a Registry which is
            new and allows easy updates, and commission CSSWG and
            i18nWG to add new things to it, make it a joint
            publications
  <bkardell> registry is interesting
  <florian> [that makes sense to me]
  fantasai: And counter styles can require including everything in the
            registry
  fantasai: Just putting them in the same doc makes things harder to
            update
  jensimmons: Benefit is better compat
  jensimmons: We don't really have interop between browsers for this
  jensimmons: expecting that browsers will regularly ship all of them
              will help authors in that way

  TabAtkins: I propose we take fantasai's idea, take into registry
             jointly published by CSSWG and i18nWG
  TabAtkins: and have Counter Styles require everything in the registry
  Rossen: Any objections to that?

  RESOLVED: Work with i18nWG to republish Ready-Made Counter Styles as
            a W3C Registry allowing CSSWG and/or i18nWG to update;
            update Counter Styles to require everything in the Registry

Received on Wednesday, 14 June 2023 23:28:15 UTC