Minutes Telecon 2018-06-06 [css-ui-4] [css-align] [css-values] [css-display] [css-variables] [css2] [css-nesting]

=========================================
  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 UI 4
--------

  - RESOLVED: Accept the suggestion in the issue plus a prefix for
              unless otherwise specified. Edits to be added UI 4
              (Issue #2664)

CSS Align
---------

  - RESOLVED: Accept proposal in
https://github.com/w3c/csswg-drafts/issues/1432#issuecomment-392854468
      [Proposal text:
          - If justify-content on the static position containing block
            is start, use the start edge of the static position
            containing block and the end edge of the actual containing
            block (as CSS2.1 requires).
          - If justify-content on the static position containing block
            is end, use the start edge of the actual containing block
            and the end edge of the static position containing block.
          - If justify-content on the static position containing block
            is center, use the start edge and end edges of the static
            position containing block.
      ]

Values & Units
--------------

  - RESOLVED: Allow calc to handle negative 0s (Issue #545)

CSS Display
-----------

  - RESOLVED: Close this issue (Issue #2546) by adding a note
              mentioning the difference between line box and other
              boxes.

CSS Variables
-------------

  - RESOLVED: Reserve "--" for future use and it is not a valid custom
              property name. (Issue #2692)

CSS 2.2
-------

  - dbaron created a proposal
(https://dbaron.org/css/test/2018/stacking-context-z-order )
      for issue #2717 (anything that creates a stacking context should
      sort in the positioned descendants z-ordering list ). The
      working group needed time to review and will discuss again
      during a future meeting (perhaps the next F2F).

CSS Nesting
-----------

  - No one was objecting to the purely syntactic nesting proposal
      TabAtkins had written (http://tabatkins.github.io/specs/css-nesting/ )
      however the call was running out of time so the group will
      revisit next week to ensure everyone has time to look. (Issue
      #2701)

===== FULL MINUTES BELOW ======

Agenda: https://lists.w3.org/Archives/Public/www-style/2018Jun/0000.html

Present:
  Rossen Atanassov
  Tab Atkins
  David Baron
  Amelia Bellamy-Royds
  Tantek Çelik
  Elika Etemad
  Javier Fernandez
  Dael Jackson
  Dean Jackson
  Brian Kardell
  Chris Lilley
  Xidorn Quan
  Melanie Richards
  Florian Rivoal
  Alan Stearns
  Lea Verou
  Eric Willigers

Regrets:
  Angelo Cano
  Emilio Cobos Álvarez
  Benjamin De Cock
  Simon Fraser
  Tony Graham
  Vlad Levantovsky
  Thierry Michel
  Manuel Rego Casasnovas

Scribe: dael

CSS Align
=========

  astearns: We have enough people
  astearns: Any extra items for the call?

Rules for align/justify-self on static position of
    absolutely-positioned boxes need more detail
--------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/1432#issuecomment-392854468

  astearns: I believe we just need Rossen's take on fantasai's comment.
  Rossen: I did review it.
  Rossen: It should be fine.
  Rossen: Just before I sign off on it...let's get back to this. I
          need to sort out a network issue.

CSS UI 4
========

Require link-pointer when pointer is over a link
------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/2664#issuecomment-388344661

  florian: CSS UI defines what a link pointer looks like but doesn't
           say it has to apply to links, esp. Chrome noticed they
           don't apply in SVG. Chrome fixed itself. I think we have
           interop, not 100% sure on Edge. Request is UI spec says
           there needs to be something in UA stylesheet instructing
           browser to use link in the link format for that style of
           document.
  florian: Seems reasonable. AmeliaBR approved. What do you all think?

  fremy: I would recommend we say we recommend it to be there. I don't
         think we can require it. I don't think we should be normative
         on other doc formats.
  florian: So we can either put it as a note or say unless otherwise
           specified.
  fremy: Second is good.
  florian: Same sentence [UAs must apply cursor: pointer to hyperlinks
           for all supported document formats via the UA stylesheet,
           using a normal (i.e. not !important) declaration] from the
           issue with the prefix.

  <tantek> UA stylesheet suggestions in CSS UI are non-normative anyway
  astearns: [reads tantek IRC] Is that the case?
  <tantek> https://www.w3.org/TR/css-ui-3/#default-style-sheet
  <tantek> This appendix is informative.
  <tantek> so should it be in css-ui-4
  florian: Draft has appendix with non-normative UA stylesheet
           suggestions. I'm not suggesting writing a stylesheet, but
           creating a requirement for other UA stylesheets.
  florian: Yes, level 4 not 3.
  <tantek> and keep the UA stylesheet in an informative appendix

  astearns: Other opinions?
  astearns: fremy you're okay with the wording in the issue plus the
            prefix?
  fremy: Yeah, why not?
  <AmeliaBR> The SVG user-agent stylesheet would be the normative spec
             (https://svgwg.org/svg2-draft/styling.html#UAStyleSheet ).
             But good to have consistent guidance from CSS.

  astearns: Objections to the suggestion in the issue plus a prefix
            for unless otherwise specified

  RESOLVED: Accept the suggestion in the issue plus a prefix for
            unless otherwise specified for UI 4

CSS Align
=========

Rules for align/justify-self on static position of
    absolutely-positioned boxes need more detail
--------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/1432#issuecomment-392854468

  Rossen: Only thing to ask is...I had to re-read...now is time to
          discuss and resolve. The ask was to swap out the direction
          and have it overwritten for justify-content so static
          position and sizing used for abspos items effected by
          justify-content. That's the gist, correct?
  TabAtkins: Yes.
  Rossen: I was making sure we want to resolve that justify-content
          takes precedence when calculating position. So if I have
          direction rtl and nothing inside the containing block and I
          have a justify-content:end then basically I will have 0 size
          for the available width.
  fantasai: I'm having trouble with your example. If you have abspos
            and a size containing block which is the parent.
            Containing block we do calc switched on direction
            property. Initial value of justify-content is start,start.
            If you did justify-content:end and rtl it would we same as
            direction ltr.
  Rossen: Not quite.
  fantasai: That's the proposal
  Rossen: This wasn't clear from the linked comment.
  fantasai: Not sure. Point is right now we have different behavior
            for ltr and ltl for static pos. Also size of an auto size
            abspos depends on direction of static pos containing. We
            prop we depend on justify-content which then itself
            depends on direction.
  Rossen: Okay, that should work out

  Rossen: When you have orthogonal changes in direction between parent
          and containing block?
  TabAtkins: No behavior change. What happens today it's the same
             behavior we want with a slight complication since center
             is new.
  Rossen: Center is the half way between?
  TabAtkins: More or less, yes.
  Rossen: Then I'm more or less okay with it :)
  Rossen: With all the information I've heard and read I'm fine with
          it.

  astearns: Other opinions on the new center behavior?
  astearns: Objections to accepting
https://github.com/w3c/csswg-drafts/issues/1432#issuecomment-392854468
?

  RESOLVED: Accept proposal in
https://github.com/w3c/csswg-drafts/issues/1432#issuecomment-392854468

Values & Units
==============

Allow division of same types in calc(): should calc(1 / calc(1/(-1/0)))
    produce positive infinity or negative infinity?
-----------------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/545#issuecomment-394474713

  TabAtkins: In the course of porting typed OM into calc, typed OM
             depends on float semantics but in calc CSS values don't
             theoretically have a float semantic bound. I have to
             define certain cases. Division by 0 produces postive or
             negative infinity and it's clamped. I followed ieee754
             semantics. ieee754 semantics track positive and negative.
             CSS doesn't normally care about it.
  TabAtkins: Depending on what you're doing you can construct
             something that resolves to positive or negative infinity.
             So far for simplicity I've omitted them but it's not hard
             to add them back in. I suspect we would want that because
             it's simpler for typed OM and calc to match in these
             cases. Wanted to verify
  <TabAtkins> calc(1 / calc(1/(-1/0)))
  TabAtkins: In issue I have an example ^
  TabAtkins: Resolves differently. It double inverts a negative
             infinity and will be positive or negative depending on if
             a negative 0 escapes the inner calc.
  TabAtkins: I propose we track 0 signedness to be consistent with
             general float semantics.

  fremy: No objections. Still wondering why track infinity. We can say
         it's not a number so it doesn't matter.
  TabAtkins: If you're approaching a 0 in the denominator of something
             you don't want to suddenly flip. The infinities have to
             be something. If they're all positive if something is
             approaching infinity it'll flip to positive and go from
             really big to really small.
  TabAtkins: Typed OM is just math over JS numbers and they have
             infinities.
  TabAtkins: We could expose extra semantics but it doesn't buy us
             anything.
  fremy: If you animate the denominator from -1 to 0 when you get to 0
         it's positive. There isn't a browser supporting it so it's
         not a huge use case.
  TabAtkins: I know it's a new feature. There's no compat to worry
             about.
  TabAtkins: If all infinities go 0 and you have -1/-1 and then bottom
             goes to 0 -1/0 should be negative.
  fremy: -1/-1 is positive.
  TabAtkins: Sorry, meant the other way. -1/1
  fremy: -1/-1 goes to a positive 0. But okay, it's fine. I'm fine
         with whatever you want.
  TabAtkins: I'm not making up semantics. I'm saying follow ieee as
             close as possible.

  AmeliaBR: I agree with TabAtkins that it makes sense to be
            consistent with standard computer math that's already in
            JS. Also important b/c CSS we are animating values and
            once we're allowing people to divide different lengths
            like font size/viewport width and animate to 0 this could
            come up. Continuous animations until something turns
            infinite makes sense.

  astearns: Other impl opinions?
  astearns: dbaron do you have an opinion?
  dbaron: No strong opinion.

  astearns: Other opinions?
  astearns: I'm hearing people call for dealing with negative 0. No
            opinions against.
  astearns: Objections to allowing calc to handle negative 0s?

  RESOLVED: Allow calc to handle negative 0s

Filter Effects
==============

filter should be defined to establish a containing block for fixed and
    absolutely positioned elements
----------------------------------------------------------------------
  github: https://github.com/w3c/fxtf-drafts/issues/11#issuecomment-360240933

  astearns: We discussed once before.
  astearns: Looks like krit and Chris H. have been discussing. Are
            either on?
  chrisl: I did discuss but not prepared to present.
  astearns: krit said he didn't have an opinion either
  chris: It was Chris Harleson (sp?) contributing.
  TabAtkins: I'll get him on the call next week.

CSS Display
===========

Rename 'line box' to 'flow line'
--------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/2546

  fantasai: Loirooriol posted asking if we can change name to flow
            line because it's not a box in the box tree sense. We have
            flex line why not flow line. No strong opinion on what to
            call. We've been using line box term for a long time. We'd
            have a lot of specs to change and a disconnect between CSS
            1 & 2 and other specs.
  fantasai: flow lines sounds more obscure too, people who know text
            layout. It's easier to guess what the term means with line
            box -- it's a boxy thing which contains a line of [text]
            content. Not a strong opinion and if WG wants change I'll
            do it.

  <dbaron> I would prefer not to change.  See also the history of
           "simple selector".
  <tantek> I am against this change
  chris: I agree this term has a long history and it's easier to add a
         note saying why it's not behaving like a traditional box
  leaverou: I would have no idea what flow line is. Line box makes
            more sense.
  <tantek> can we time box renaming line box?
  florian: If we switch I'd want something like "line fragment" but
           there's so much history.

  astearns: Anyone argue for changing line box to another name?
  astearns: I'm hearing no one. There's enough arguments against.
  astearns: Objections to close no change?
  florian: I think the suggestion of a note is good.
  <TheRealChris> go for it
  astearns: Objections to closing this issue by adding a note
            mentioning the difference between line-box and other boxes

  RESOLVED: Close this issue by adding a note mentioning the
            difference between line box and other boxes.

CSS Variables
=============

Should "--" be a valid custom property name?
--------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/2692

  TabAtkins: Custom property names is anything starting with --
             including -- by itself. I had intended to make a variable
             specific version of the all property and to claim the --
             name for it.
  TabAtkins: Browsers allow -- as a custom property. I expect it's
             rare. I propose we officially disallow -- as a custom
             property name and add -- as an 'all' eq for variables
  TabAtkins: Only compat is if someone is using a plain -- and I
             suspect most people don't even know it's valid.
  <AmeliaBR> Making `--` an official part of the spec sounds kind of
             horrible, so I don't like that reason for disallowing
             author use!
  <AmeliaBR> (But I'm still happy to disallow it for author use.)
  <tantek> +1 on TabAtkins proposal, seems reasonable

  astearns: Let's separate proposed future use from the current point
            of disallowing.
  astearns: You can disagree with using -- with how TabAtkins has
            suggested and still be okay to disallow.
  <tantek> +1 on reserving it for possible future use that is
  TabAtkins: I don't see why disallow if not using it for something in
             the future.
  tantek: [missed] disallow because it shows up in html with a
          meaning. It feels like it is throw away syntax rather then
          have meaning. To keep a bit of line noise out of stylesheets
  <fantasai> +1 on reserving for possible future use from me as well
  fremy: I wanted to say I reviewed and I'm fine with TabAtkins
         proposal. My PoV this is a good change
  <tantek> Let's resolve on just the first half. We can defer debating
           if it means anything in the future
  astearns: Objections to reserve -- for future use?

  RESOLVED: Reserve "--" for future use and it is not a valid custom
            property name.

CSS 2.1
=======

Anything that creates a stacking context should sort in the positioned
    descendants z-ordering list
----------------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/2717

  dbaron: I think at this point it's calling attention to it rather
          then resolve.
  dbaron: Underlying issue is due to how we structured our specs we
          changed things relating to paining order and stacking
          context without patching this central stuff.
  dbaron: I proposed that everything that creates a stacking context
          paints where css 2.1 paints
  <fantasai> dbaron++++++++
  dbaron: I tried to create test cases. Lots of non-interop.
          Underlying principle seems entirely followed by chrome and
          webkit. Mostly followed by gecko. Edge might be further, but
          might be due to bug. Cases where gecko didn't follow is when
          an impl literally followed spec and did nothing else and got
          different.

  dbaron: Other thing worth discussing is if people agree anything
          creates a stacking context should cause something painted as
          a descendant.
  <fantasai> dbaron, makes sense to me
  TabAtkins: I think Chris H. would be in favor of it. I'll ping him
             into the thread.
  dbaron: Chrome follows the principle exactly I think
  dbaron: I wrote a comment in the issue with the exceptions. Chrome
          and webkit are eq.
  dbaron: When you start looking at which properties are supposed to
          create stacking context there's lack of interop.

  florian: Suggestion is patch css 2 for more generic worded statement?
  dbaron: Part of it is css 2 needs to introduce terms other specs can
          add. It says positioned element. We need a term...I thought
          it's in the issue...I didn't propose a name. But we need a
          term.
  florian: Other terms?
  dbaron: We need a second that's for elements that create a stacking
          context and become a containing block. Since that doesn't
          exist in L2 it could be introduced in an L3 spec.

  Rossen: I looked briefly a couple weeks ago. Thought at the time
          is...we have opacity which is a stacking context but not
          containing block. display:fixed which is stacking not
          containing. We have transforms that are stacking and
          containing blocks including fixed.
  Rossen: Is that what you're proposing to add...all of this?
  dbaron: There's other pieces
  <dbaron> https://dbaron.org/css/test/2018/stacking-context-z-order
  dbaron: In the big test case ^ there's a lot of details
  dbaron: Things I think are supposed to...everything on the left
          except red background should create stacking. Things with
          green box I think also create containing block for fixed pos.
  dbaron: Based on current spec and current resolutions that aren't
          yet edited in.
  Rossen: This is a really good summary of all the different
          combinations which I had not seen. Sorry. I want to go over
          this and make sure we can cross our t's and dot our i's.

  dbaron: I think if anything I might want resolution on general
          principle we'd like to make them equivalent if we can get
          away with it, stacking context and position descendants
          layer. fixed pos is only somethings definitely.
  dbaron: But totally fine taking time.
  dbaron: I tried to make a list of bugs at the bottom.

  Rossen: Other thing that I don't see in write up or matrix is there
          are...also the discussion about body and html in the root
          and filter on html or body would behave.
  dbaron: I think we had separate resolution on that
  Rossen: filter should effect scrolling for viewport or not for
          example?
  dbaron: I remember we discussed that for filter or mask. I'd like to
          keep root stuff separate.
  Rossen: That's fine. When it comes to, especially the fixed
          containing box drama would be great. And that's where all
          the root and body and filter drama comes into play
  Rossen: Without considering the reverse style propagation it's hard.
  <dbaron> we had some discussion about filter and body/root in
           https://github.com/w3c/fxtf-drafts/issues/11
  dbaron: I'll link to another issue where we discussed that, I think

  astearns: Sounds like we all need to look more and come back to see
            if we can resolve. It'd like to in part to get these tests
            into wpt.
  Rossen: Want to make sure we'll cast a wide net and put this to rest.
  astearns: Right
  astearns: Anything more to discuss this week?
  dbaron: I'm fine with later.
  astearns: Maybe a F2F.
  Rossen: One more to add, filter opacity vs. opacity does the right
          thing per spec.
  dbaron: Yeah. I just picked a random filter for my test, but yes.
  Rossen: Reason why is this on we've had confusion where people
          expect opacity and filter opacity behave the same and it
          doesn't for fixed pos.

CSS Nesting
===========

Request to pick up the css-nesting proposal
-------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/2701
  <TabAtkins> Proposal on http://tabatkins.github.io/specs/css-nesting/

  TabAtkins: The proposal is relatively simple. Wrote a spec a few
             years back. I'm fine but it's a syntax nicety where we
             didn't get it past the community. If that's changed we
             can move it forward.
  fantasai: leaverou's comment talks about wanting different
            specificity handling or the cascade. That's not syntactic
            only where you can do it with a preprocessor. There was
            @scope proposal before. I don't know if that's wanted or
            something different. I want to see more of that discussed.
            Do we want to effect cascade, if yes how. If we do this we
            should find out what's desired.
  TabAtkins: I strongly believe nothing new on specificity. Because
             nesting is in every preprocessor in existence doing so
             would be a major behavior change.
  fantasai: No, not with same syntax.
  TabAtkins: Second reason is it wouldn't be same as @scoped and it
             would produce things that some ways resemble but some way
             don't. @scoped wasn't popular and doesn't do what people
             want for scoping.
  * bkardell agrees
  leaverou: I agree with TabAtkins, people are used to using nesting
            for preprocessors. I disagree with my earlier comment. I
            think scoping is useful, Not sure usability of scoping
            proposal. It shouldn't hold nesting back.
  TabAtkins: Happy to have that separate.

  astearns: Objections to working on a purely syntactic nesting
            proposal?
  astearns: One concern is if you can do it in a preprocessor why do
            it, but even the preprocessor authors are asking us to do
            it.
  chris: preprocessor expands to a ton of stuff and we don't want that
         expansion
  <gsnedders> It's one less reason to use a preprocessor, IMO.
  <gsnedders> And that's a good thing.
  <bkardell> better for authors, better for network, very slightly
             worse for processing perf maybe?

  astearns: Maybe an issue that we want to avoid the explosion of
            combinations that can happen.
  florian: For OM representation yes, but effect that's unavoidable.
  TabAtkins: CSS style rules gain a child. OM doesn't explode.
  chris: That's a big advantage.
  leaverou: Huge advantage you can hover or focus styles on a one off.
  TabAtkins: Originally a proposal to do rules inside style attribute
             and this doesn't have that. You need only one token of
             look ahead.

  astearns: Objections to resolving we want to move forward with pure
            syntactic nesting?
  TabAtkins: And I want the impl to say if they actually don't want it.
  <tantek> I'm too confused to comment on this last minute on the call
  dbaron: If you're discussing changing what's in proposal it would be
          good to have that written to share around.
  TabAtkins: Entire proposal is linked in the issue to a spec on my
             personal github. It's laid out with no odd changes.
  TabAtkins: We can go to next week.
  astearns: We're over time. I don't hear objections. I think we are
            going to move forward, but let's give people time and
            we'll come back.
  <dbaron> I think for Gecko implementation it's probably worth asking
           heycam and emilio rather than me.

  astearns: Thanks everyone for calling in.

Received on Friday, 8 June 2018 00:14:33 UTC