A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://lists.w3.org/Archives/Public/www-style/2025May/0023.html below:

[CSSWG] Minutes Telecon 2025-05-28 [css-view-transitions][css-conditional][css-borders]

=========================================
  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 View Transitions
--------------------

  - RESOLVED: Start specifying element-scoped view transitions in view
              transitions L2 (Issue #9890: Element-scoped view
              transitions)
  - RESOLVED: Add ::view-transition-group-children() (open to better
              names), and copy border-sizing properties to it (Issue
              #11926: Nested ::view-transition-group should have a
              container pseudo)

CSS Conditional
---------------

  - RESOLVED: Scroll state queries against the root match the scroll
              state of the layout viewport (Issue #11542: Match
              scroll-state(scrollable) for root element on viewport)
  - RESOLVED: Scroll state containment on root element blocks overflow/
              scroll-related propagation from the BODY element (Issue
              #11542)

CSS Borders
-----------

  - RESOLVED: Add corner-shape to the border-radius clause in outline
              definition (Issue #12194: Specify how `corner-shape`
              affects `outline`)

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

Agenda: https://lists.w3.org/Archives/Public/www-style/2025May/0022.html

Present:
  Rachel Andrew
  David Awogbemila
  Kevin Babbitt
  David Baron
  Justin Breiland
  Keith Cirkel
  Emilio Cobos Álvarez
  Yehonatan Daniv
  Elika Etemad
  Robert Flack
  Mason Freed
  Simran Gill
  Paul Grenier
  Daniel Holbert
  Jonathan Kew
  Roman Komarov
  David Leininger
  Vladimir Levin
  Rune Lillesveen
  Alison Maher
  Romain Menke
  Florian Rivoal
  Noam Rosenthal
  Alan Stearns
  Josh Tumath
  Sam Weinig

Regrets:
  Tab Atkins-Bittner
  Oriol Brufau
  Chris Lilley
  Miriam Suzanne
  Bramus Van Damme
  Lea Verou

Scribe: emilio
Scribe's scribe: fantasai

CSS View Transitions
====================

Element-scoped view transitions
-------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/9890

  noamr: view transitions are shipping in multiple browsers
  noamr: a big feature request has been having them element-scoped, so
         that they don't have to lock the whole document, and you can
         have multiple of them altogether
  noamr: started prototyping it, lots of open issues
  noamr: wanted to introduce the basics
  noamr: and see if we can resolve adding it as a draft with everything
         else as open issues
  noamr: what we want to add is not just the document can start a VT,
         but also on Element
  noamr: the pseudo-elements are attached to the element rather than
         document
  noamr: lots of open issues, need to figure out what to do if the
         element changes size, how the name resolution works, ...
  noamr: we feel confident enough that we can go forward and wanted to
         see if the WG is fine with adding a draft with the skeleton of
         this

  emilio: Is the main requested use case having multiple transitions at
          the same time, or keeping the document responsive etc.?
  emilio: Having multiple of them doesn't seem untenable either
  emilio: multiple document-level ones I mean
  emilio: though it would require some coordination
  emilio: but, wondered about extending the document one rather than
          adding nesting ones
  emilio: can sidestep some of these issues
  emilio: wanted to hear your thoughts; not opposed to this
  noamr: Those difficulties are the feature in a way
  noamr: we want to make this work in shadow dom and not worry about
         document-level things interacting
  emilio: Wondering, if you want to do some sort of independent
          transition, don't want to coordinate with everything that
          might start a transition
  emilio: but that seems solve-able in a way, with the current setup
  emilio: you add a scope parameter to the document.startViewTransition
  emilio: for that transition, you only scan for transitions in that
          subtree
  emilio: only snapshot in that subtree
  emilio: very similar to element.startVT but uses document
          infrastructure
  emilio: thing you don't want is to depend on things changing around
  emilio: I'm assuming the eventual setup will be similar
  emilio: so maybe it's fine ...
  emilio: but wondering how much you had considered that
  noamr: We had, but let's add to open issues
  noamr: easier to discuss individually
  emilio: sure
  noamr: Once we have a draft we can address things more piecemeal

  astearns: How are these element-scoped transitions going to interact
            with document-level, does one win over the other?
  noamr: open issue, but names can't conflict at least, and there'd be
         some sort of contained view transition name to separate
         internal names
  noamr: in general you should be able to run both as long as names are
         not conflicting, external one would use the output of the
         scoped one
  noamr: think about a `<video>` or another replaced element
  astearns: vague concern about having a subset of the pages being
            transitioned having rendering and hit-testing suppressed
  astearns: something about spoofing clicks and what not
  astearns: but I don't have a specific attack in mind
  noamr: separate open issue about hit test suppression
  noamr: the scoped element itself would receive hit testing, just the
         internal elements wouldn't

  astearns: view-transitions L3?
  noamr: really rather not add another one
  noamr: I'd suggest keeping at L2 and if other impl requests it we can
         reduce its scope

  fantasai: wrt levels seems one of the interesting things is working
            out how these things correspond to each other
  <fantasai> https://drafts.csswg.org/css-view-transitions-2/#changes
  fantasai: would be helpful to list additions from L1 to L2
  fantasai: other than view-transition-class is there anything not
            related to nesting/scoping?
  noamr: all the cross-doc stuff
  noamr: actually a lot of kitchen-sink things
  fantasai: gotcha
  fantasai: if we end up splitting L2 might make sense to keep
            kitchen-sink in L2 and move nesting and scoping stuff
            with L3
  noamr: wanted to merge L1 and L2
  emilio: +1 to merging L1 and L2
  astearns: other concerns?

  RESOLVED: Start specifying element-scoped view transitions in view
            transitions L2

Nested ::view-transition-group should have a container pseudo
-------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/11926

  vmpstr: we discussed this in the context of nested view-transition
          groups
  vmpstr: to add a container to the nested groups
  vmpstr: with the purposes of clipping the nested groups
  vmpstr: bunch of discussions on how to accomplish that
  vmpstr: for the purposes of unblocking I'd like to split some
          resolutions
  vmpstr: so (1) we need a new element, (2) naming and (3) sizing
  vmpstr: proposal is to size it so that if we apply a clip you make
          the clip apply as in the original element
  vmpstr: so size it to border-box and set border-color: transparent
          and copy border* properties (border-width/border-box/
          overflow-clip-margin)
  vmpstr: that way if the author decides to apply a clip it'd clip the
          same way as the original element
  vmpstr: noamr had a different proposal, to take the original
          element's clipping-region, and turn it into a mask, and apply
          that mask on top
  vmpstr: that may work in some cases better than this copying, but is
          more complicated
  vmpstr: so I'd prefer to resolve on copying the border props
  vmpstr: and then open an issue to the mask
  vmpstr: I'd like some resolutions to get some early version of this
          into developers
  vmpstr: none of the solutions are ideal

  fantasai: so what we have right now is group() and image-pair()
  fantasai: and we need another?
  fantasai: why do we need a separate group() and image-pair()?
  vmpstr: we want to nest things from other elements within this group
  vmpstr: naively those would be siblings of the original group
  vmpstr: which you wouldn't clip the children
  vmpstr: so that it wouldn't affect the clipping of the image-pair
  fantasai: remind me why we added the image-pair()
  vmpstr: for isolation, we blend old+new with plus-lighter
  fantasai: so generally we don't recommend authors to style the
            image-pair()
  fantasai: just pretend it doesn't exist?
  vmpstr: that is the case in my experience
  fantasai: wanna make clear in the spec that authors should style
            group()
  fantasai: so if the author creates a transition between old/new
            versions of the grouping element, where the border is
            transitioning as step() rather than smooth, would this
            copied version of the border track that?
  fantasai: or would it end up unsynchronized?
  vmpstr: so you mean the transition step() is the new/old() ones?
  vmpstr: I don't think it'd be synchronize
  vmpstr: in the simple case old/new they cross-fade to the other, so
          it doesn't animate borders, it blends the pixels
  vmpstr: you can't cross-fade clips
  vmpstr: with the mask approach you could cross-fade the masks I guess
  vmpstr: but even in the default case it might not be great

  flackr: I'm supportive of the idea
  flackr: if we don't need to customize this we might want this to be
          internal in order to change the mechanics?
  vmpstr: I think that's very magical
  vmpstr: something's clipping this but there's nothing there
  vmpstr: it's maybe an option
  vmpstr: maybe too magic for my taste

  emilio: Seems to me splitting resolution, allow new pseudo
  <flackr> emilio: Good idea to split resolutions. I thought default
           was not clipping.
  emilio: naming, I don't care very much
  emilio: specifics of sizing and stuff is the tricky thing
  emilio: I'd rather keep it simple and let authors use clip-path etc.
  emilio: especially if default case won't be great
  emilio: If you need to clip with rounded rect with border, you could
          use clip-path or something else
  emilio: should also work in the negative direction
  emilio: seems like at least the first resolution would be
          uncontroversial, and would help make progress

  vmpstr: unfortunately bramus not on the call
  vmpstr: happy to resolve on adding pseudo+name for now then see if we
          can resolve further
  flackr: Please resolve on adding the pseudo, but we need the border
          on it because the position of the descendants depends on
          having a border
  flackr: if developers added that border it'd shift all the
          descendants so we need the border size as part of the copied
          props
  <vmpstr> +1
  emilio: would it though?
  emilio: The groups are absposes, right?
  emilio: and I guess the idea is that the group would always be the
          containing block of these? but aren't we using transform to
          position and size these?
  flackr: yes but it's relative to the content
  emilio: Isn't that how all other view transition pseudos work?
  emilio: Doesn't it mess things up if you add a border to
          ::view-transition-group today?
  flackr: Yes, but you would add this border to replicate the original
          clip, but by adding border you would screw up the positions
          of the elements
  vmpstr: You wouldn't add the borders on the group element itself,
          because captured the pixels that overflow the border box
  vmpstr: not a typical use case
  emilio: right, but you might not need a border
  emilio: but ok, I guess, do other things affect padding vs border box?
  emilio: does border-image do something weird?
  noamr: no, only border-width really

  vmpstr: I'd like to leave this a little open, as in anything that
          does affect it
  vmpstr: if other things affect, we can add them
  emilio: I guess it's ok? It feels weird to account for existing
          borders in this pseudo.
  emilio: idea would be to change how positioning of inner things work,
          to account for the border, right?
  emilio: but maybe we can fix it more generally, so that if you add a
          border to any of these pseudo-elements...?
  emilio: I guess it's hard to know beforehand
  emilio: The inconsistency with all the other grouping pseudoes
          bothers me
  emilio: also copying the border-width is not too terrible
  emilio: I guess you also need to set border-style...
  vmpstr: we can possibly copy border-{width,style}, set border-color
          to transparent
  vmpstr: Yes, we can possibly copy border-width and border-style, and
          set border-color to transparent if it was set to something on
          the original element
  vmpstr: border-width might not have an effect depending on the rest
          of the styles
  vmpstr: details tbd but the idea would be to keep the border area
          without drawing the border

  astearns: think I'm hearing consensus of adding the pseudo and maybe
            giving a name
  vmpstr: would like to resolve on copying something details tbd
  vmpstr: content-area-affecting properties like border-width, maybe
          border-shape-affecting props like border-radius
  astearns: proposed name?
  vmpstr: `view-transition-nested-groups()`?
          `view-transition-nested-content()`?
  vmpstr: no particularly strong naming
  <flackr> +1 to content
  <fantasai> view-transition-group-children?
  emilio: content sounds better for some reasons, but you also want the
          padding area. nested-content seems fine. fantasai's
          suggestion also seems fine
  fantasai: I think none are particularly great
  fantasai: I don't like nested content because a lot of the content is
            going to be captured outside
  <noamr> view-transition-content-area?
  vmpstr: view-transition-group-children or content-area?
  fantasai: children seems slightly better because it distinguishes the
            image-pair
  fantasai: content-area is weird because you want the padding
  vmpstr: let's not reference specific boxes, and do
          view-transition-group-children?

  PROPOSED: add ::view-transition-group-children() (open to better
            names), and copy border-sizing properties to it
  fantasai: Want to propose clarifying the spec with the suggestion to
            style ::group() and not ::image-pair
  <fantasai> ACTION: Clarify L1 to encourage styling ::group() and not
             ::image-pair()
  <RRSAgent> records action 1

  RESOLVED: Add ::view-transition-group-children() (open to better
            names), and copy border-sizing properties to it

Match scroll-state(scrollable) for root element on viewport
-----------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/11542

  futhark: for scrollable feature, which queries whether something is
           scrollable in that direction
  futhark: so wanted to clarify that if the root element is a
           scroll-state container we should evaluate the scroll state
           against the viewport
  futhark: similar to scroll-snap-type
  futhark: I thought this was straight-forward but tab/miriam had some
           comments, where they want to fall back to the viewport
  futhark: basically if you set the scroll-state in the root it stops ??
  futhark: also if you contain scroll state queries with style queries
           we don't have a definition for them on the viewport
  futhark: TabAtkins and miriam are not around, maybe fantasai does
           have opinions?

  flackr: just to clarify, we want the layout viewport right?
  flackr: as it shouldn't change when you pinch-zoom
  <fantasai> +1
  <emilio> +1

  flackr: I think from the issue we have a lot of precedent for the
          root element representing the layout viewport
  flackr: overscroll-behavior and so on
  flackr: I think resolving that we handle this if you make the root a
          scroll container makes sense
  futhark: makes sense, we also have the same proposal of falling back
           to the viewport for size queries
  fantasai: making the root work this way makes sense. Having viewport
            just work seems it'd be a separate thing and more work
            probably
  fantasai: in the meantime we can make this work

  emilio: Makes sense. one of the tricky things wrt making viewport
          just work is that root element is inside the viewport, but
          can technically affect it, so wouldn't that be cyclic?
  emilio: brings me to my next point, which is, if you make root a
          scroll container
  emilio: scroll-state container
  emilio: we should not propagate overflow from the body, because that
          would be cyclic
  emilio: by default we do that
  futhark: this has been resolved, for size queries we don't propagate
           across containers
  futhark: we don't propagate from body to viewport if root is a size
           container
  futhark: you were mentioning cyclic problems
  futhark: even if the scroll state query matches the viewport you
           wouldn't be able to match it, you could only style the
           viewport
  futhark: the spec says something about size queries, we might need
           something to be added for scroll queries
  fantasai: right, you'd be querying the scrollport of the viewport but
            the root would be conceptually the container
  <flackr> +1

  fantasai: I think there's several things to resolve...
  fantasai: scroll state queries against the root match the viewport
  fantasai: the layout viewport
  fantasai: this type of containment blocks scroll propagation from the
            body
  emilio: That matches my understanding as well
  <fantasai> PROPOSED: Scroll state queries against the root match the
             scroll state of the layout viewport
  <emilio> +1
  <flackr> +1

  RESOLVED: Scroll state queries against the root match the scroll
            state of the layout viewport

  <fantasai> PROPOSED: Scroll state containment on root element blocks
             overflow/scroll-related propagation from the BODY element
  <flackr> +1
  <emilio> +1

  RESOLVED: Scroll state containment on root element blocks overflow/
            scroll-related propagation from the BODY element

CSS Borders
===========

Specify how `corner-shape` affects `outline`
--------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/12194

  noamr: there was a question about how does corner-shape matches
         outline. Current spec is not interoperable, rather handwavy
  noamr: spec says it generally should follow the border
  noamr: should I continue that path for border-shape?
  noamr: following the border
  noamr: should we try to make that interoperable?

  florian: I think short term is to extend the current spec
  florian: going beyond it is a big project, there are a lot of other
           issues with outline
  florian: defining would be a good project but a big project
  [missed]
  emilio: we have the magic thing, which is outline-style: auto
  emilio: for easy cases we can more easily define
  emilio: handwaving fragmentation cases can be fine
  emilio: agree we shouldn't need to fix everything
  emilio: but let's get interop on some cases

  florian: two resolutions
  florian: 1. Follow corner-shape
  florian: 2. WG will attempt to outline in more detail
  florian: we don't have a definition, but we can try
  emilio: the non-auto cases seem pretty definable
  florian: definable, but is not currently defined
  florian: I used to have an art gallery of interesting outline
           rendering, so there is a lot to define!

  astearns: Out of time, but I think it sounded like we have consensus
            to at least add corner-shape to the bit that defines how we
            deal with border-radius
  astearns: add it to that vagueness, and perhaps a note to better
            specify this later
  noamr: sgtm
  florian: I agree with the direction, probably issue rather than note
           though
  noamr: open a separate issue
  PROPOSED: Add corner-shape to the border-radius clause in outline

  RESOLVED: Add corner-shape to the border-radius clause in outline
            definition

Received on Wednesday, 28 May 2025 23:46:53 UTC


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4