[CSSWG] Minutes Telecon 2024-10-30 [css-color-hdr][css-images][cssom-view][css-text]

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


Color HDR
---------

  - RESOLVED: Accept the PR (Issue #10271: Add interpolation between
              multiple values of dynamic-range-limit)

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

  - smfr will research if webkit is able to change to the chromium
      behavior for issue #4165 (Should CSS decorative images respect
      EXIF-orientation by default) which the group will use to guide
      the resolution.

CSSOM View
----------

  - RESOLVED: Change the spec to match reality around child-of-root
              BODY elements (Issue #10549: Spec for offsetTop/Left does
              not match impls when offsetParent is `position:static`
              `<body>` element)

CSS Text
--------

  - RESOLVED: Plain text copy must ignore text replaced autospace. open
              to other feedback (Issue #8511: text-autospace: what gets
              copied?)
  - Comments are requested in issue #3434 (Prevent line breaking after
      explicit hyphens) to help move the conversation toward a
      resolution.

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

Agenda: https://lists.w3.org/Archives/Public/www-style/2024Oct/0015.html

Present:
  Rachel Andrew
  Adam Argyle
  Rossen Atanassov
  Tab Atkins-Bittner
  Kevin Babbitt
  Oriol Brufau
  Stephen Chenney
  Emilio Cobos Álvarez
  Yehonatan Daniv
  Stephanie Eckles
  Elika Etemad
  Gaurav Singh Faujdar
  Robert Flack
  Simon Fraser
  Daniel Holbert
  Jonathan Kew
  Roman Komarov
  David Leininger
  Chris Lilley
  Alison Maher
  Florian Rivoal
  Cassondra Roberts
  Noam Rosenthal
  Khushal Sagar
  Alan Stearns
  Miriam Suzanne
  Josh Tumath
  Bramus Van Damme
  Lea Verou
  Sebastian Zartner

Regrets:
  Keith Cirkel
  Chris Harrelson

Scribe: noamr
Scribe's scribe: TabAtkins

Color HDR
=========

Add interpolation between multiple values of dynamic-range-limit
----------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/10271

  Chris: We have this dynamic range value. But you might have more than
         value, e.g. in animation, need to decide what happens
  ChrisL: We have a PR, we either should merge it or revert. I think
          it's a good syntax
  astearns: Inclined to accept the PR
  ChrisL: I prefer to review things in place
  astearns: Objections?

  RESOLVED: Accept the PR

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

Should CSS decorative images respect EXIF-orientation by default
----------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/4165

  ChrisL: It wasn't clear what we've resolved on
  ChrisL: What this means that if you have EXIF that comes before the
          image data we must respect it
  ChrisL: For consistency we should probably ignore it when it comes
          after
  smfr: You mean in the order in which the image is encoded?
  ChrisL: Yes, which is not always possible

  schenney: I agree with ignoring after the image, but the question was
            whether the orientation should look at the
            image-orientation property on the element
  schenney: Chrome does this but Safari does not
  ChrisL: There wasn't a discussion on this, can we discuss now?
  schenney: One, I implemented this a while ago, the usage data for
            image-orientation and it's rising, but not in a huge amount
  schenney: People use it to avoid applying the image metadata
  schenney: From that point of view the current chrome behavior is
            preferable for web devs. But the long term is perhaps to
            not have that property
  schenney: We'll get pushback if we do that
  schenney: if we don't honor image-orientation

  noamr: Even now, image-orientation is broken in the sense that it
         doesn't work on cross-origin images
  noamr: which is a real big breakage for people
  noamr: I find it a broken CSS property because of that
  noamr: having it apply to CSS images, it's a bit weird you have
         something for the whole element and apply it to all images.
         I'd expect it to be a url modifier or something, a keyword
         that says you read the EXIF
  <ChrisL> +1 to URL modifier
  noamr: We have url() modifiers now for other things, we can put it
         there. I think that's the right place
  <TabAtkins> (+1 to that, it was clumsy to have it apply that way)

  smfr: It should be per-image, maybe on the image function
  smfr: background: webkit started supporting orientation by default on
        regular images, we just didn't get to CSS images
  smfr: I think we can change it to match the chromium behavior

  ChrisL: URL modifier is perhaps a good way to go
  schenney: URL modifier would address the original reason why image
            orientation is ignored on cross-origin
  <fantasai> url modifiers should be for generic modifiers. We should
             use image() for image-specific modifiers.
  <fantasai> And we should have more of them.
  dbaron: I'm more hesitant about modifiers. They make sense for
          features we want permanently. My impression is that this
          feature is more for compatibility during transition
  dbaron: If we want to end up always honoring the metadata, we should
          only add as many features as we need for that, rather than
          add more granularity
  astearns: If we resolve on ignoring EXIF at the end, does that help
            with the transition?
  dbaron: It wasn't clear to me which cases the resolution applies to

  PaulG: For a11y I'd be concerned that if people relied on this
         feature for WCAG orientation, I wouldn't want to get rid of it
  PaulG: I suspect we'd want to keep that

  fantasai: Modifiers should be in image() and not in url()
  <TabAtkins> Yeah since this is explicitly an image *file*, I'm fine
              with it living on url()

  astearns: We can probably resolve on ignoring metadata that's after
            the metadata
  schenney: I thought it was resolved a while ago
  ChrisL: It was unclear enough that it's hard to say what a PASS is

  smfr: We might not be able to do this in the implementation

  fantasai: HTML could add special rules, but in CSS we should say how
            we handle images with EXIF, regardless of the host language
  smfr: Odd that CSS would define things around the encoding of an image
  <noamr> it should at least be in both
  <fantasai> It doesn't need to be in both. It's a rendering question,
             it needs to be in CSS. HTML can optionally say stuff, but
             it doesn't need to -- we do.

  noamr: We talked before in WHATWG about separating some of those
         image details to a separate spec
  noamr: It never happened because nobody had time, but I think right
         now, relying on parts of HTML that defines how images are
         decoded, relying on that inside of CSs, is the best we'
  noamr: We should behave the same way for HTML and CSS
  <ChrisL> relevant PNG WG issue is https://github.com/w3c/png/issues/310

  astearns: It is claimed that all browsers ignore post-image-data
            orientation
  astearns: smfr would you validate?
  smfr: Will validate
  astearns: Will take it back to the issue about encoding order
  astearns: to validate that all browsers do this today
  ChrisL: Please check with JPEG with PNG, I saw that Safari does
          something different
  smfr: That's why we need more time
  <noamr> (In PNG this is encoded in XMP IIRC)
  <ChrisL> No, it can be but there is also an exif chunk

  astearns: For how we override the metadata
  smfr: This is *this* issue, but we discussed a different one
  noamr: Also there's a proposal for a url() modifier. not clear yet.
         But at least not taking the info from image-orientation
  schenney: So proposal is phase out a per-image way of specifying it,
            and phase-out image-orientation property
  <TabAtkins> phase in an image-specific way to do *CSS images*.
  dbaron: Replaced elements, form HTML, would still obey
          image-orientation
  astearns: So let's continue that part of the discussion in this issue
  astearns: Action item for smfr to validate the tests

CSSOM View
==========

Spec for offsetTop/Left does not match impls when offsetParent is
    `position:static` `<body>` element
-----------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/10549

  oriol: We encountered this in servo, that impls are not per-spec
  oriol: offsetTop/offsetLeft of the element, when there is no
         offsetParent, the distance is used
  oriol: Implementations do something different with body which has
         position static, they use its parent (document element), and
         use the border edge instead of a padding edge
  oriol: There's a bug in Firefox but the idea is still the same
  oriol: I think what the spec says makes more sense, that even though
         browsers are doing something different, we should probably
         align the spec with reality
  astearns: Probably browsers wouldn't change this and maintain
            backwards compat
  oriol: It works differently in nested body elements
  <TabAtkins> I'm also very sad about this being so weird, but suspect
              we couldn't fix it without everyone being off by 8px
  <noamr> no one likes to touch offsetLeft issues, I tried before

  astearns: So the discrepancy is only about the body?
  oriol: Implementations are doing different things for all body
         elements
  oriol: maybe that's ok
  oriol: If it's something is nested we might have to do something, I'm
         fine either way
  <kbabbitt> agree that we probably need to spec current behavior for
             compat
  astearns: The simple thing would be to change the spec to match
            reality
  astearns: What would be the change?
  oriol: We'll add a case where if the offset parent is body with
         position static, we'd take its parent's border edge instead of
         its padding edge. Need to analyze some details
  oriol: We could establish for all body elements, or just for body
         that is a child of a root

  fantasai: No strong opinion; our propagation rules for certain thing
            depend on body being the child of the HTML element
  fantasai: The value of position makes a difference. Does it make
            sense to depend on position?
  oriol: Browsers only do this with position:static, otherwise they
         compute the distance from the body
  oriol: It would probably be tricky compat-wise to do something else
  PROPOSED RESOLUTION: change the spec to match reality around
      child-of-root BODY elements
  fantasai: We should not be checking in WPTs that aren't backed by
            a spec
  <astearns> fwiw I'm OK with tests that pass everywhere but are not
             specced. This points out things we should spec

  flackr: Is it just that the body element is position:static, or
          possibly when the body element is not a containing block? Do
          we need to worry about position:relative containing
          position:fixed
  oriol: If the body establishes a containing block using position, eg
         fixed inside relative, it would do the normal thing
  oriol: If it's not the offsetParent, we also do the normal thing. so
         it needs to be in the containing block chain
  oriol: If the body is not in the containing block chain, it also
         wouldn't be the offsetParent and this wouldn't apply
  flackr: What is the offsetParent with position:fixed
  oriol: This is only a special case when the body is the offsetParent.
         So if position prevents the body from being a containing block
         it would also not be the offsetParent
  flackr: Just making sure there is no additional special case here
  oriol: Just that from what I can see
  astearns: Objections?

  RESOLVED: Change the spec to match reality around child-of-root BODY
            elements

CSS Text
========

text-autospace: what gets copied?
---------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/8511

  florian: text-autospace, in cjk at the limit between cjk and other,
           e.g. numeric, it adds spacing because it's typographically
           expected
  florian: The property has a syntax variant that it's not inserting
           but rather replacing the spacing, because sometimes that
           there is an explicit space
  florian: Similar, outside of cjk, this is used to insert spaces in
           French before some punctuations. In some cases there is a
           narrow space, and CSS does it for people because people
           don't do it
  florian: What do we do with copy-paste in this mode? At least in the
           CJK context we ignore and copy the source
  florian: There are individual opinions that we should do the same for
           French
  florian: We were wondering whether this should be different for
           French, it's more an abuse/correction than styling
  florian: The i18n recommendation was to just copy the source
  florian: I was wondering about French, perhaps we should copy the
           original one

  fantasai: I would expect it to be copied correctly as a user,
            definitely for CJK we shouldn't copy
  fantasai: There wasn't an obvious agreement in the group about what
            to do when we use replacement
  fantasai: for CJK autospace insertion we shouldn't copy, but for
            French, narrow spaces etc, a lot of other contexts wouldn't
            fix it, e.g. word wouldn't correct pasted stuff
  florian: For having the spaces manually inputted into the text, it
           might be intentional, but if you're copy/pasting into an
           email, it's nicer if there was a space there
  florian: I find the i18n resolution plausible, still on the fence for
           French. then again it's a bit of a hack

  astearns: Do we know what browsers do?
  fantasai: I suspect they use the underlying text
  fantasai: Let's close and using underlying text, but come back to it
            if users complain
  fantasai: Users can copy stuff that has a space, sometimes they'll
            get one and sometimes not
  fantasai: It's probably better to do the fixup in terms of users, but
            perhaps we can wait
  astearns: Inclined to resolve on specifying we should copy the
            underlying text, perhaps with a note that this can change
            with user feedback
  fantasai: We can be open to changing it if there's user demand for it
  Jonathan: It's similar to copying text with text-transform. There are
            always going to be people unhappy with the decision
  Jonathan: I think this is up to presentation tools
  Jonathan: We shouldn't mangle the actual data

  noamr: Isn't this a bit up to the browser? If the browser wants
         multiple copy functions in the context menu
  noamr: Is it the standard's job?
  fantasai: There's often different format, sure - plain text, or html
            with formatting, etc
  fantasai: We're just talking about plain text copy
  fantasai: We do say that we collapse white space for a plain text
            copy, for example. If you didn't do that, the text would be
            a big mess if there's indentation
  noamr: We copy capitalization, don't we?
  florian: This is contentious, but no
  fantasai: text-transform is a bit different because it's not
            correcting the text, it's providing a style. We're clear in
            the spec that it's a contextual style
  fantasai: That's why you don't copy it
  fantasai: The cases we're considering doing the transform are where
            the literal text isn't actually representative of the char
            string the author wants
  fantasai: not just for presentation purposes
  fantasai: If you're typing regular space instead of nbthinspace,
            you're doing it because nb thin space is hard to type
  noamr: Okay so it's more of an error correction
  florian: The injection to CJK is styling. The removal and replacement
           in French is error correction
  florian: Yeah, at least part of it. The injection of spacing in CJK
           contexts is styling. The removal/change of what's there (in
           French) is correction
  dbaron: A copy operation in many OSes already does multiple things
          at once
  florian: We're only defining plain text here
  PROPOSED REOSLUTION: plain text copy must ignore text replaced
      autospace. open to other feedback

  RESOLVED: plain text copy must ignore text replaced autospace. open
            to other feedback

Prevent line breaking after explicit hyphens
--------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/3434

  florian: Browsers might to suppress hyphens in special words like
           t-shirt. Which property controls this? hyphen: none doesn't.
           Maybe a new value? Maybe a new value of the break property?
  florian: This issue is to discuss what toggle do we use for this.
           There are a few options on the table. Please chime in.

Received on Thursday, 31 October 2024 22:55:39 UTC