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/feed.atom below:

=========================================
  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 Color
---------

  - The group discussed the possible ways to address the fingerprinting
      issue raised in issue #10372 (Mitigating fingerprinting for
      AccentColor/AccentColorText)
      - A focus of the conversation was if tainting the color so it
          paints correctly but doesn't return an exact value could
          address this issue. The potential path forward would be
          tainting by propagating a computed color plus an additional
          bit.
      - Concerns were expressed that if the group couldn't figure out
          how to get AccentColor/AccentColorText to paint correctly
          then the feature itself would not have value.

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

  - RESOLVED: Change 'direction' to 'scrolled', discuss keywords later
              (Issue #12623: Disambiguate scrollable/direction when
              along axis/towards edge)

Web Animations/CSS Animations
-----------------------------

  - There wasn't disagreement with the proposal raised in issue #12652
      (animation-trigger CSS syntax) to have the event or action be
      optional in the new trigger() property. However, there was still
      a lot of discussion on the broader syntax and bikeshedding so a
      resolution on this specific question felt premature.

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

Agenda: https://lists.w3.org/Archives/Public/www-style/2025Sep/0005.html

Present:
  Rossen Atanassov
  David Awogbemila
  Kevin Babbitt
  David Baron
  Kurt Catti-Schmidt
  Yehonatan Daniv
  Elika Etemad
  Robert Flack
  Mason Freed
  Hoch Hochkeppel
  Brian Kardell
  Jonathan Kew
  Alexander Kyereboah
  Chris Lilley
  Alison Maher
  David Marland
  Romain Menke
  Florian Rivoal
  Noam Rosenthal
  Alan Stearns
  Miriam Suzanne
  Josh Tomath
  Munira Tursunova
  Bramus Van Damme
  Lea Verou
  Luke Warlow
  Sam Weinig
  Jason Williams

Regrets:
  Oriol Brufau
  Emilio Cobos Álvarez
  Roman Komarov
  Sebastian Zartner

Scribe: fantasai
Scribe's scribe: noamr

CSS Color
=========

Mitigating fingerprinting for AccentColor/AccentColorText
---------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/10372

  kyerebo: Issue is, we have AccentColor styling for setting form
           controls
  kyerebo: accent-color: auto uses the system accent color
  kyerebo: Recently trying to ship AccentColor keyword, should respond
           to system color
  kyerebo: But keyword, because values can be computed and used by
           script, there was a privacy issue
  kyerebo: We can't be exposing this for accent-color: auto
  kyerebo: Considering mitigations in Chromium, such as limiting to
           installed web apps
  kyerebo: But problem is that authors may expect them to resolve to
           the same value
  kyerebo: Should we also restrict `accent-color: auto` then?
  kyerebo: That's the question.
  <ChrisL> Authors would be astonished if they resolved differently, I
           think
  kyerebo: If we don't restrict it, then `accent-color: auto` will use
           a different value than AccentColor
  kyerebo: which would return a system default
  kyerebo: But if we do restrict it, then a regression of sorts because
           web apps can no longer match the system accent color

  weinig: Did we investigate tainting for colors, similar to images?
  weinig: So that if the color is e.g. mixed or whatever, would taint
          the mixed value
  weinig: And tainted value would not be discernible from script
  weinig: One way to do that would be providing a fake value
  weinig: but would need more complex due to things like color-mix() or
          canvas().
  weinig: If you use tainted AccentColor with canvas, can no longer
          read the bits
  weinig: This is what we do with origin-tainted images
  kyerebo: We did consider returning a different value than what is used
  kyerebo: but we resolved previously that system colors should compute
           to themselves
  weinig: Problem is that colors these days don't exist in a vacuum
  weinig: you can have color-mix() or relative colors, or use colors in
          <canvas>
  weinig: Would have to consider all of these together

  lwarlow: My thoughts on this are that, if we can't expose the system
           accent color because fingerprinting is too bad
  lwarlow: I don't think that should result in accent-color: auto being
           less capable
  <dbaron> +1 to lwarlow
  lwarlow: Realistically, if approach is "provide a fake color, always
           use blue", we might as well not ship accentcolor
  lwarlow: Exposing a system color and then never making it do the
           thing it's meant to do seems wrong.
  lwarlow: On the other side of things, in an ideal world, rather than
           make it lie, would make it paint correctly and do some kind
           of tainting to not expose the color
  lwarlow: There's still -webkit-focus-ring which exposes this color in
           Chrome on MacOS
  lwarlow: If we go down the "don't expose these colors", then we need
           to actually follow through on that.
  alisonmaher: I believe we did roll that back on Chromium.
  alisonmaher: so that it's no longer exposed.

  lea: Tainting is not that simple, because not color itself, but
       color-mix(), color-extract(), relative colors
  lea: color-extract() lets you grab a color component and use it in
       e.g. variables etc.
  lea: I don't have a strong opinion on what to do, but
  lea: having accent-color use one color and AccentColor another, this
       is bad
  lea: I think it's ok if exposed in some contexts and not others, as
       long as page has one accentColor
  lea: What if it's UA *MAY* expose the accent color or system color?
  lea: But should be hard requirement that these are the same color
  lea: less critical for canvas. Most UI doesn't combine canvas and CSS.
  lea: but between built-in components and web components, should be
       able to depend on accent color being the same
  lea: Also, wrt can we just not expose as a system color
  lea: built-ins also need to access it through appearance:base. Their
       style needs to be expressible in CSS.

  dbaron: My read of current situation is that computed values of
          system colors compute to color values.
  dbaron: we didn't have to do it that way, but been that way for a
          long time
  dbaron: also means that tainting is easier to implement and describe,
          but also more destructive
  dbaron: if what we're tainting is a computed value that's just a
          color, then what you're propagating is a color + flag about
          whether it's tainted
  dbaron: One of the problems there is that you can't expose anything
          useful in getComputedStyle()
  dbaron: I see the problem with both main alternatives brought up
          originally
  dbaron: It's bad to break existing accent-color: auto; feature but
          also the inconsistency is bad
  dbaron: We could have had alternative path of storing system colors
          as system color keywords. That would have made tainting more
          complicated but more useful.
  <alisonmaher> This was the original issue that was discussed:
                https://github.com/w3c/csswg-drafts/issues/5710

  florian: This exact problem is why I pushed back against accent-color
           property affecting AccentColor keyword
  florian: because it makes it more desirable to use it more often
  florian: In some browsers, the color you see is different from
           AccentColor
  florian: I think dbaron's suggestion about tainting by propagating a
           computed color plus an additional bit is the most promising
           path forward -- just saying you don't use the system accent
           color at all is probably not reasonable, even though it
           would bring consistency
  dholbert: Premise is that developers shouldn't use accent color or
            read it
  dholbert: If you're using the color, and user has similar shade of
            blue, maybe you want a different color for some other
            purpose so you don't have unreadable content
  dholbert: There are good reasons to have this info

  lwarlow: Is it actually really that big of a deal if the accentColor
           keyword doesn't match what color the system colors render
           with?
  lwarlow: That's status quo
  lwarlow: For appearance:auto, browsers can do whatever they want
           anyway
  lwarlow: If they really wanted consistency, they could just set
           accent-color and then they'll match
  lwarlow: Status quo is that it doesn't match. I don't think we should
           expose it if it doesn't match.
  lwarlow: wrt not exposing due to appearance: base ... ideally all
           those styles should be explainable with CSS
  lwarlow: but could it resolve when it's in a UA stylesheet and not in
           author style sheet?
  lwarlow: Though currently no appearance:base style uses AccentColor
           anyway

  weinig: I really think that coming up with some definition, probably
          in a color spec, of codifying concept of a tainted color and
          how it behaves is the way forward
  weinig: I don't expect this to be the last time we run into this
  weinig: wrt existing system colors resolving to a specific rgb value,
          those system colors are deprecated because of that behavior
  weinig: maybe the right way forward is to come up with a function
          that always has a tainting behavior, for things that actually
          want to match the system
  weinig: and the absolutely-resolving system colors can just be legacy
          behavior
  weinig: But experiment of having color + taint bit is a good
          experiment to see what the cost would be
  weinig: that's the only solution if we actually want to match system
          colors anywhere
  <dbaron> (curious if weinig was proposing that the "new" system color
           type would be part of the computed value -- that's also a
           bit more complicated since it requires that multiple other
           things that contain color values be part of the computed
           value representation -- which I think they don't have to
           today)

  lea: wrt status quo, AccentColor wasn't broadly supported so not much
       status quo
  lea: Multiple accent colors would be unacceptable to authors
  lea: they'd have to set accent-color as a boilerplate always
  lea: But you'd need to taint not just colors but also other things
       given color-extract()
  lea: could make it not-tainted in certain contexts, e.g. installed
       web apps
  lea: authors should be able to detect if a value is tainted
  lea: and there should be a reasonable default behavior
  lea: for where breakage could make things unreadable

  fantasai: A reason why the resolve to absolute is to avoid the
            complexity of maintaining all the channels of color, when
            mixing them
  fantasai: very similar to currentcolor
  fantasai: this was for simplicity of implementation, not having to
            maintain channels
  <ChrisL> Yes that was exactly the reason
  <weinig> I think we have gone way past that complexity at this point
  fantasai: in terms of default, if we were going to paint it it should
            have a default (blue or other)
  <lwarlow> +1
  fantasai: we shouldn't taint derived numbers; if someone does
            something complicated they should use a real color and not
            a tainted system color
  <lea> just to reply to fantasai re: doing weird things: the primary
        value of accentcolor is for different parties to communicate.
        If you can handshake, you can just use a CSS variable. So the
        web component doing "weird things" does not control the
        page-level accent color

  Rossen: Time to switch topics. Next steps is continue engage on the
          issue

CSS Conditional
===============

Disambiguate scrollable/direction when along axis/towards edge
--------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/12623

  noamr: We're currently using `scrollable` to say having the ability
         to scroll vertically or horizontally
  noamr: and then we are using `direction` for most recent scrolling
         direction
  noamr: It felt that something was not totally finished in the naming
  noamr: There's a few suggestions in the issue
  noamr: Not super opinionated, but needs some work

  fantasai: miriam has suggested "scrolling" and "scrollable"; I think
            it kind of works
  fantasai: if it's now vs. recent if can be scrolling/scrolled
  fantasai: keywords for the scrolling direction can also use forward/
            backwards rather than x/y, or up/down/left/right rather
            than edges

  moonira: Just saw your comment, you mentioned scrollable as having
           none | x | y | block | inline
  moonira: Do you mean changing those values as well, and remove values
           like top/bottom/etc?
  fantasai: Wasn't clear to me from Noam's comment about whether we
            were including the sides or not
  moonira: Scrollable is shipped, so prefer not to change that one, but
           for direction sounds great

  moonira: If everyone is ok with Elika's proposal, can we decide to go
           with `scrolled` for last direction and use the keywords from
           that proposal?
  <flackr> fantasai's proposal sgtm
  moonira: Just want to make some progress here
  <noamr> +1 to scrolled
  Rossen: Any additional opinions, or should we go with `scrolled` for
          last direction and keywords from the proposal?
  <JoshT> +1

  <fantasai> 'x-forward' vs 'x forward'
  <fantasai> which style do we want?
  fantasai: there were independent proposals; up/down/left/right
            doesn't embed a direction but back/forward doesn't
  flackr: what's that?
  fantasai: physical axis with logical direction
  fantasai: we do this for position-area, background-position
  fantasai: the q is whether to have it space separated or hyphenated
  <flackr> I like hyphenated because up/right/down/left already have
           axis in them
  <Rossen> x-scroll would be closer to overflow-x
  fantasai: question is whether to use pre-combined hyphenated or
            combinable space-separated
  miriam: Haven't thought through it, but prefer space-separated
          combinable
  <djmarland> What would "left backward" do?

  noamr: I suggest we resolve on `scrolled` as the descriptor, and we
         can ponder the additional keywords
  PROPOSED: Change 'direction' to 'scrolled', discuss keywords later

  RESOLVED: Change 'direction' to 'scrolled', discuss keywords later

  fantasai: Ok, let's come back to that though. It's confusing about
            whether scrolling towards or from the specified edge, so I
            think directional keywords would be better (in one form or
            another)

Web Animations/CSS Animations
=============================

animation-trigger CSS syntax
----------------------------
  github: https://github.com/w3c/csswg-drafts/issues/12652

  DavidA: At the F2F, we discussed the syntax for animation-trigger,
          and we came up with a trigger() function
  DavidA: accepts name of the trigger, triggering action/event, and the
          behavior triggered
  DavidA: But some concerns about expressing the action there
  DavidA: what we came up with was rather than having 3 parameters, we
          make the event or action optional, and then you only have to
          specify the name of the trigger and the resulting behavior
  DavidA: one of the changes is, previous proposal used high-level
          names, apart from name of trigger could give a set of names
          local to that trigger
  DavidA: which the animation-trigger can refer to
  DavidA: Dropping that high-level name as well
  DavidA: When you omit the event from the trigger function parameter,
          then the behavior specified is associated with all the
          actions or events that were specified on the trigger
  DavidA: So, proposal we look to get on today is making that event
          parameter optional

  DavidA: Some more recent comments on issue
  DavidA: wrt specifying events on the user of the trigger
  DavidA: I think this change goes a little bit more in that direction,
          because it makes the event optional
  DavidA: Author can define event on the trigger and just associate
          with the target
  DavidA: exception to that is, with exit action or event of the
          timeline trigger
  DavidA: which is main difference between an event trigger and a
          timeline trigger
  DavidA: we think that treating that exit action as part of special
          case is good, reflects how timeline triggers are different
          from event triggers

  fantasai: I agree, making the event optional helps us go in that
            direction
  fantasai: the timeline trigger and event triggers have more
            similarities than we think
  fantasai: a timeline has a concept of entering/exiting. some DOM
            events have the same pairing, like key/mouse/focus
  fantasai: in/out relationship between a bunch of event pairs
  fantasai: "it starts animating when hovering and stops animating when
            no longer hovering"
  fantasai: this should be very similar to timeline triggers.
  fantasai: no objection to making events optional but concerns about
            overall design
  DavidA: You still get ease of expressing that in this case
  DavidA: Let's say for a mouse over vs mouse out
  DavidA: You would simply be able to define two triggers on a source
          element, and name one of them --mouse-over and the other
          --mouse-out
  DavidA: and on the target you would specify the behavior by binding
          --mouse-over and --mouse-out to start and end animations
  DavidA: Making a comparison to you and Tab's original proposal, you
          specify roughly the same thing
  DavidA: We wouldn't assume that because you specify mouse out also do
          something on mouse over
  DavidA: So I think we're still making it as easy to describe that
          case, but without forcing a start and end concept on event
          triggers
  DavidA: that fundamentally applies to timeline triggers, but not
          necessarily to event triggers

  ydaniv: I agree with fantasai that timeline trigger is something
          important, and usage should be trivial and important to solve
  ydaniv: specifically view timelines
  ydaniv: something that we don't want to over-complicate, and make it
          trivial to get right
  ydaniv: I had some concerns in the issue about event triggers but
          also timeline triggers
  ydaniv: I also don't understand why we expose enter and exit there,
          and have 3 arguments for timeline triggers and 2 for event
          triggers
  ydaniv: seems like something to resolve before we agree on it

  ydaniv: I had another proposal
  [tries to find it]
  ydaniv: Something proposed before by flackr, that we use something
          like event-trigger function and timeline-trigger function,
          instead of generic trigger function
  ydaniv: then each can have its own arguments
  ydaniv: I had some suggestions about event trigger
  ydaniv: first of all, event-trigger should only take name and list of
          events
  ydaniv: what fantasai says, that some of them are paired, like
          pointer enter and leave
  ydaniv: we should probably somehow generalize that into either
          higher-level events or generalize the usage inside the
          trigger somehow

  ydaniv: regarding timeline triggers, I suggested also using only two
          arguments so that you only reference a name and give it a
          behavior
  ydaniv: if you want exit behavior, separate with a slash
  ydaniv: I didn't see any specific comment about whether this is
          something acceptable or not
  ydaniv: but I do want to make it easier than exposing enter and exit,
          where you can specify something that doesn't make any sense
  ydaniv: enter-pause, and exit-reset, I don't think there's any use
          case for it
  <flackr> I don't think that we should actively try to avoid allowing
           specifying things that don't make sense, we should prefer to
           keep the model as simple as possible
  <ydaniv> my proposal:
https://github.com/w3c/csswg-drafts/issues/12652#issuecomment-3228775877

  DavidA: Having event-trigger and timeline-trigger have different
          number of args ... we're trying to keep the syntax the same
  DavidA: You just write the name of the trigger and the behavior
  DavidA: In the exit case, you have to specify exit events
  DavidA: that's an opposite of enter, that's a weird thing about
          timeline triggers
  DavidA: whereas for events, they are each independent conceptually
  DavidA: One thing about a trigger function now, instead of
          event-specific or timeline-specific
  DavidA: we can always add a more specific trigger function
  DavidA: having trigger() doesn't prevent that
  ydaniv: I agree it doesn't prevent it, but I think if we do have a
          single generic function, it should be done right.
  ydaniv: current proposal, I see stuff that is a bit funky to me
  DavidA: other point, this thing about pairing behaviors that don't
          make sense
  DavidA: you wouldn't have an incentive to do it
  DavidA: you can always write nonsensical things in JS
  DavidA: I don't see that as a drawback of this proposal
  DavidA: Even writing something like enter pause, exit reset
  DavidA: Maybe one of the things in Tab and fantasai's original
          proposal, mixing timeline and event triggers
  DavidA: that's one thing we get from this
  DavidA: with behaviors we want to specify, not every combination
          makes sense
  DavidA: but not incentivized to combine random things

  flackr: Listening to this discussion, one idea was maybe both event
          triggers and timeline triggers could have concept of entering
          and exiting
  flackr: so animation syntax would always have enter and exit action
  flackr: event triggers that only specify enter actions never remain
          active, so they can trigger multiple times
  flackr: I should probably write this up more formally, but that might
          help these two things look the same
  <fantasai> +1 flackr
  <ydaniv> to flackr, that could work, we had such tries before

  astearns: Is it possible to resolve to make the action parameter
            optional?
  flackr: I think we're still bikeshedding the whole thing :)
  astearns: ok, let's take back to the issue.

  astearns: Breakout on Friday for snapshot issue, and another breakout
            next week on values
  astearns: please come if interested, and please do put your
            availability into the Winter F2F poll at
            https://app.rallly.co/poll/JVvrK6xuIeIK
        

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