Minutes Telecon 2022-08-17 [css-contain] [css-flexbox] [css-grid] [css-sizing] [resize-observer] [css-sizing] [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 Contain
-----------

  - RESOLVED: Publish new WD of css-contain-3

CSS Flexbox & Grid
------------------

  - RESOLVED: The WG not accept ‘visual-order' as a switch, but
              continue working on other methods of order that will aid
              various technologies (Issue #7387: Providing authors with
              a method of opting into following the visual order,
              rather than logical order)

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

  - RESOLVED: When laying out an element, if contain-intrinsic-size is
              not auto, remove last-remembered-size immediately (Issue
              #6220: Clarify spec about when elements are allowed to
              not have a last remembered size)
  - RESOLVED: Last remembered size is the logical size, not the
              physical size (Issue #7564: Is last remembered size
              logical or physical?)
  - RESOLVED: No change to specified behavior (Issue #7206: Are
              intrinsic sizing keywords definite with size containment?)

Resize-Observer
---------------

  - RESOLVED: When first observing an element with ResizeObserver,
              lastReportedSize gets initialized with a -1 x -1 size
              (Issue #3664: The initial size of ResizeObservation)

CSS Viewport & Device Adapt
---------------------------

  - RESOLVED: Rename css-device-adapt css-viewport; Emilio will become
              editor and figure out the details of renaming/updating
              (Issue #7590: Really create a css-viewport spec)

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

Agenda: https://lists.w3.org/Archives/Public/www-style/2022Aug/0001.html

Present:
  Adam Argyle
  Rossen Atanassov
  Tab Atkins
  David Baron
  Oriol Brufau
  Emilio Cobos Álvarez
  Elika Etemad
  Robert Flack
  Simon Fraser
  Mason Freed
  Megan Gardner
  Chris Harrelson
  Daniel Holbert
  Brian Kardell
  Brad Kemper
  Jonathan Kew
  Vladimir Levin
  Daniel Libby
  Peter Linss
  Alison Maher
  Eric Meyer
  François Remy
  Jen Simmons
  Miriam Suzanne

Regrets:
  Chris Lilley
  Bramus Van Damme
  Lea Verou

Scribe: emeyer

  Rossen: Any new agenda items?
  (silence)
  Rossen: Reminding everyone about TPAC FTF and a joint call with the
          APA, I believe Tuesday
  astearns: Meeting with APA on Thursday at 10:30am and i18n Group on
            Friday, time TBD
  <Rossen> https://wiki.csswg.org/planning/tpac-2022
  Rossen: Please add yourself as in-person or remote on the planning
          link, particularly your time zone and preferences for agenda
          topics

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

Publish a new WD
----------------

  miriam: This is republishing of the working draft, it was last
          published in December 2021 and there have been significant
          number of changes since then
  miriam: Several changes to syntax, including shorthand rearrangement;
          changing how default container works; changes around how we
          find a container; automatically narrowing by type; deferred
          state queries to another level; clarified workings around
          Shadow DOM
  miriam: Some syntax, we'd accidentally required parentheses, which is
          no longer the case
  Rossen: I think we definitely have to republish. Any additional
          opinions or objections?
  <fantasai> +1 to republishing
  <fantasai> Publish Early And Often
  <astearns> Thanks for the detailed change log in
             https://drafts.csswg.org/css-contain-3/#changes-2021-12

  RESOLVED: Publish new WD of css-contain-3

CSS Flexbox & Grid
==================

Providing authors with a method of opting into following the visual
    order, rather than logical order
-------------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/7387

  TabAtkins: In Rachel's post, she points out with Grid and flexbox,
             visual order can be divergent from source order
  TabAtkins: That's literally the feature. But it's easy for the two
             orders to diverge, such as styling a grid differently
             based on media queries.
  TabAtkins: Suggestion is to have a way for authors to indicate to the
             browser that it should present elements to the
             accessibility tree in source or visual order
  TabAtkins: Example, in masonry layout, the visual order is guaranteed
             to get shuffled
  TabAtkins: We'll need to address how this impacts focus navigation;
             lot of details to get worked out
  TabAtkins: Core idea is: can we give CSS authors to have a way to opt
             into different accessibility ordering?

  <fantasai> https://github.com/w3c/csswg-drafts/issues/7387#issuecomment-1160991881
  fantasai: I have a lot of concerns, as did posters in the thread
  fantasai: One is that having focus order differ from screen reader
            order is a real problem
  fantasai: There are a bunch of other considerations like: some
            examples should have source order changed, not be addressed
            via this sort of mechanism
  <fantasai> https://github.com/w3c/csswg-drafts/issues/7387#issuecomment-1217193918
  fantasai: I think we should consider that focus and screen reader
            order should always match
  fantasai: There are clear use cases for disconnecting layout order
            and screen reader order, because visual-perception order is
            not the same as layout order
  fantasai: There are examples in the thread where you don't want to
            follow the box order
  fantasai: There are a lot of cases where people are using ‘order' as
            a convenience and we don't want to encourage that
  fantasai: It's important to note that each hierarchical level of a
            page can have different needs for ordering. We should have
            something that can do fine-tuned adjustments on specific
            cases, not be a document blanket
  fantasai: We should put pressure on the DOM side to provide an API
           for letting people rearrange DOM order, something simple
  <fantasai> https://github.com/w3c/csswg-drafts/issues/7387#issuecomment-1217193918
  fantasai: We should also add some ability to change reading order
            in CSS
  fantasai: We'll want the ability to force source order, there should
            also be the ability for the author to specify exact reading
            order
  <fantasai> reading-order: source | auto | <integer>
  <fantasai> order: <'box-order'> [ <'reading-order'> |
             reading-matches-box-order ]?
  <fantasai> box-order: <integer> /* current order property */
  <fantasai> reading-order: source | auto | <integer>
  fantasai: This is my proposal. Open to others, but I think
            `focus-order: visual` as proposed earlier would be harmful
  <fantasai> We have box-sizing, and box-decoration-break, border-box/
             content-box, etc. So we've already established the idea of
             CSS boxes

  Rossen: Huge plus-one on all that
  Rossen: Very long-standing issue. I strongly believe calling this
          ‘visual-order' will create misperceptions
  Rossen: As we are thinking through this, there's an intersection of
          how to handle focus, how to handle search, screen reader
          order; if these are in mismatch, they cause confusion

  emilio: The proposals seem fine but I think there's a lot more
          complexity than it seems
  emilio: focus order is already not following the accessibility tree
          order
  emilio: At the very least, we should figure out what tree we want to
          sort on; we might want focus order to be flat-tree order

  miriam: My main concern as an author is where it happens
          automatically, like in ‘grid-flow: dense'
  miriam: Will ‘auto' solve those sorts of things?
  fantasai: Yes. I'm open to which value should be the default.

  Rossen: Sounds like there's a set of good proposals that Elika
          summarized, but don't feel like we're ready to resolve on any
          of them
  Rossen: Do you want to discount any of these now, Elika?
  fantasai: I'm against having a switch that just says “use the visual
            order” because I think it would be misunderstood and
            mis-used and allow people to stop thinking about source
            versus reading order to the detriment of getting it right
  Rossen: So we can resolve on this and continue to work on the details
          of how this will work

  RESOLVED: The WG not accept ‘visual-order' as a switch, but continue
            working on other methods of order that will aid various
            technologies

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

Clarify spec about when elements are allowed to not have a last
    remembered size
---------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/6220

  oriol: Followup on FTF discussion
  oriol: If an element is not generating a box, if the intrinsic size
         isn't auto, the last remembered size will be forgotten
  oriol: You can take a look at my comment in the issue
  <TabAtkins> "second comment from the end" this one:
https://github.com/w3c/csswg-drafts/issues/6220#issuecomment-1212633016
  oriol: When we are laying out an element, it's a good time to observe
         or not observe an element, but I have to observe an element to
         see if I should forget last remembered size and then
         un-observe it
  oriol: Makes more sense to say with contain-intrinsic-size stops
         being auto, we should immediately remove last remembered size
  oriol: Some were arguing against that, argument is that it's not well
         defined what should happen
  oriol: I don't see a big problem and would prefer to switch to a more
         consistent behavior
  <emilio> +1 to oriol, the undefinedness of flushing layout/style info
           is https://github.com/w3c/csswg-drafts/issues/5115 and very
           long-standing

  TabAtkins: No opinions, I need to talk about this more with Ian to
             see what's what
  emilio: We have a long-standing bug about this, I think the
          contain-intrinsic-size is probably not the place to draw the
          line
  emilio: I think I agree with oriol, we should do this whenever we
          style the document and can re-evaluate whether elements need
          last remembered size
  Rossen: What's the one-line resolution?
  oriol: When laying out an element, if contain-intrinsic-size is not
         auto, remove last remembered size immediately
  TabAtkins: No objections now, but want to preserve right to object
             later
  Vladimir: Does this interact badly with container queries?
  oriol: Not sure, to be honest. Will have to think about that.
  emilio: The remembered size doesn't affect styling, but does affect
          layout. I think you need size containment to cause this
  emilio: I don't think it's a problem but worth thinking about a bit
          more
  Rossen: Doesn't sound like a strong pushback, and we can bring this
          back if we have issues down the line

  RESOLVED: When laying out an element, if contain-intrinsic-size is
            not auto, remove last-remembered-size immediately

Is last remembered size logical or physical?
--------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/7564

  oriol: Spec says when contain-intrinsic-size is auto, then we record
         current size, but doesn't say how this is done and we stored
         height and width or block and inline size?
  oriol: I propose to store a logical size; Blink is already doing
         this, and I'm doing the same in Firefox
  oriol: Approach seems better because observers are triggered on
         logical size change, not physical size
  TabAtkins: This seems wild to me, I definitely imagine physical size
             when I wrote this, but given resizeobserver depends on
             logical size, let's do it

  RESOLVED: Last remembered size is the logical size, not the physical
            size

Are intrinsic sizing keywords definite with size containment?
-------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/7206

  oriol: Normally, when we have an element with height: auto, if
         there's a descendant that's a percentage, it gets set to auto
  oriol: In a case where a container has size containment and doesn't
         depend on descendants, what should happen?
  oriol: Implementations treat this as cyclic
  oriol: auto height container should resolve to zero, and percentages
         of content should be zero
  oriol: if container is height: 100px, descendants at 50% are 50px

  TabAtkins: We don't currently treat a no-contents element being
             non-cyclic, so I don't see how contain: size would change
             that
  TabAtkins: I support what implementations are doing
  oriol: If there are no content, can you tell whether the height is
         considered to be definite or not?
  TabAtkins: Nothing we've written makes the assumption that that's the
             case
  TabAtkins: You have to perform layout to know the size, even if
             nothing is actually laid out
  emilio: I think I agree with Tab; it's easy to back-compute the size
          on a block container, but in other places it might not be
  emilio: Complex cases tend not to be very interoperable
  emilio: It's not obvious to me you can define the sizes of element
          without performing layout on the elements
  emilio: I'd rather not make this more complicated
  Rossen: Agreed.
  Rossen: proposed path forward is to resolve as no change; objections?

  oriol: I would like the specifications clarified, even if it's just a
         note or example
  oriol: I don't think the behavior we want to resolve on is clear form
         the current specification
  oriol: Adding something that clarifies that this case is still cyclic
         would be preferred
  <emilio> +1 to clarify, do we define this block-axis back-computation
           of percentages properly somewhere?
  Rossen: Please add a comment on the issue with proposed addition text

  RESOLVED: no change to specified behavior

Resize-Observer
===============

The initial size of ResizeObservation
-------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/3664

  emilio: FTF resolved that zero was not a special size for contain
          intrinsic size
  emilio: The resolution seems to include resizeObserver, but in chats
          with Oriol it evolved that wasn't clear
  emilio: Worth clarifying
  TabAtkins: The resolution was not intended to apply to resizeObserver
             but I'm fine with it applying
  TabAtkins: Consistency with things like contain-intrinsic-size has me
             leaning to fire immediately and have an undefined size in
             resizeObserver
  Rossen: Any objections to the proposed resolution?
  <emilio> When observing an element with ResizeObserver,
           lastReportedSize gets initialized with a -1x-1 size

  RESOLVED: When first observing an element with ResizeObserver,
            lastReportedSize gets initialized with a -1 x -1 size

CSS Viewport & Device Adapt
===========================

Really create a css-viewport spec
---------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/7590

  emilio: We resolved on this when removing @viewport, but it never
          happened
  emilio: Now that we're trying to define interactions between various
          orders, I was talking with Bramus and we don't have a great
          place to put this sort of thing
  emilio: A viewport spec seems like a natural place to do it
  fantasai: I was thinking that reusing css-device-adapt makes a lot of
            sense to me
  emilio: Should we just rename css-device-adapt to css-viewport?
  fantasai: I would just run with what we have, but we can rename it,
            that's fine.
  emilio: I think css-viewport is a more findable name
  <smfr> +1
  * fantasai defers to the editors on the naming :)

  Rossen: proposal is to name viewport spec css-viewport and let go of
          css-device-adapt
  <bradk> +1 to css-viewport
  fantasai: We could take everything we don't want out of
            css-device-adapt, rename it, and continue with that
  Rossen: I don't have a strong preference on how we start the new one,
          whether we rename an old spec or start a new one
  fantasai: or we could kill css-device-adapt and start a new spec
            called css-viewport
  smfr: Do we think this would ever become viewport-plus-other-stuff?
  fantasai: Depends if we want the continuity, or having a dead-end spec
  Rossen: I don't want to force a resolution but it sounded like we
          were getting ready to resolve on css-viewport
  smfr: I'm fine with viewport, just worried about the future
  Rossen: We can keep this one viewport-specific
  <smfr> if we put `touch-action` in a CSS spec it might to into
         device-adapt

  RESOLVED: rename css-device-adapt css-viewport; Emilio will become
            editor and figure out the details of renaming/updating

Received on Wednesday, 17 August 2022 23:53:40 UTC