[CSSWG] Minutes Telecon 2018-08-29 [css-fonts-4] [css-align] [css-break] [css-contain] [selectors]

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

  - RESOLVED: Have computed value always be a percentage and have
              serialization always show a percentage [for
              font-stretch]. Neither deal with keywords (Issue #1671)

CSS Alignment
-------------

  - RESOLVED: Take this approach [github:
https://github.com/w3c/csswg-drafts/issues/1425#issuecomment-413375688
]
              and file separate issues for wording issues
  - RESOLVED: Static position alignment keys off of justify-self on
              the abspos, not justify-content on the static position
              CB (Issue #1432)
  - RESOLVED: Publish updated WD for CSS Align

CSS Fragmentation
-----------------

  - RESOLVED: Have 0 sized fragments pushed to next fragmentainer if
              content before has overflows its fragmentainer (Issue
              #1529)

CSS Contain
-----------

  - RESOLVED: Accept change in
https://github.com/w3c/csswg-drafts/issues/3023#issuecomment-415885325
              to clarify ink overflow bit only applies to visible,
              clip or a combination
  - RESOLVED: Close with an explanation note in the spec and no change
              ['contain-size' will continue to apply to
              display:table-caption] (Issue #2952)

Selectors
---------

  - RESOLVED: Accept the proposed change [anything with ::-webkit-*
              prefix is valid at parse time] and add a note to the
              spec explaining why this was necessary to add for web
              compat reasons. (Issue #3051)

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

Agenda: https://lists.w3.org/Archives/Public/www-style/2018Aug/0029.html

Present:
  Rossen Atanasov
  Tab Atkins
  David Baron
  Garrett Berg
  Tantek Çelik
  Emilio Cobos Álvarez
  Dave Cramer
  Alex Critchfield
  Benjamin De Cock
  Tony Graham
  Dael Jackson
  Brian Kardell
  Brad Kemper
  Chris Lilley
  Peter Linss
  Myles Maxfield
  Nigel Megitt
  Thierry Michel
  Melanie Richards
  Florian Rivoal
  Alan Stearns
  Lea Verou
  Sean Voisen
  Fuqiao Xue

Regrets:
  Rachel Andrew
  Jen Simmons
  Jeff Xu

Scribe: dael

  astearns: Anything extra to add or change?

CSS Fonts 4
===========

Computed value for shorthand font: should describe serialization for
    font-variant-css21 and font-stretch-css3
--------------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/1671#issuecomment-400863224

  myles: There's...the issue here recently has migrated. The thing
         discussed now is the font-stretch
  myles: In L3 font-stretch took keywords. In L4 they're percent
         number so you can animate. That's for variable fonts.
  myles: Issue is about how the computed style of this property should
         be a number of percent rather then keyword or a number
  myles: If you're trying to animated from 'condensed' to 139% if
         computed is percent or keyword you can't animate. Solution is
         always a number and getComputedStyle() function returns
         strings if the computed style is a magic number we define
  <florian> the explanation did make sense
  astearns: Are magic number specified or implementation dependent?
  myles: There's a table
  <chris> its the magic numbers that correspond to the keywords

  myles: Not much of an issue, it's do you want to animate from
         keyword to number. If yes, and I think it's yes, we need
         backwards compat
  florian: Makes total sense to me
  <chris> +1 this seems good to me
  astearns: me too

  emilio: Serialize as number?
  myles: We're discussing now if computed style of font-stretch should
         be a number or as specified.
  emilio: Gecko and blink ship as number so web compat not problem.
  myles: Backwards compat concern is getComputedStyle(). If you set
         font-stretch to a value that used to be a keyword do you get
         number or keyword
  emilio: Number.
  chris: It's serialization of getComputedStyle() and I think there's
         web compat concern on that.
  myles: I guess there isn't much web compat risk if blink and gecko
         give number.
  florian: We can start with that and if there is web compat revisit.

  astearns: Perhaps a note in the draft saying may be web compat with
            always serialize as number and may need magic conversion
            at some point.
  florian: Reasonable.
  <fremy> +1
  astearns: Anyone with evidence that we need magic number to string
            conversion in getComputedStyle()?

  astearns: Proposal: Have computed value always be a percentage and
            have serialization always show a percentage. Neither deal
            with keywords
  astearns: Objections?

  RESOLVED: Have computed value always be a percentage and have
            serialization always show a percentage. Neither deal with
            keywords

CSS Alignment
=============

Fully specify the "Overflow and Scroll Positions" section
---------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/1425#issuecomment-413375688

  astearns: fantasai and TabAtkins made edits. Are you asking for
            dbaron approval?
  fantasai: It looks like we discussed but didn't resolve. Need to
            resolve and get dbaron review
  fantasai: We were trying to spec the behavior of the content
            alignment properties on scroll containers. Content
            alignment when applied to element it adjusts content
            inside it
  fantasai: dbaron asked to tighten. We noticed what we were doing
            fundamentally for a scroll container instead of align by
            layout and then clipping the alignment instead you're
            doing safe alignment and then scroll so you get effected
            alignment
  fantasai: If you said align-content:end and the content overflows we
            start align and then scroll container so you get same
            effect as if not a scroll container
  fantasai: Tricky thing is scrollable overflow doesn't include
            padding at bottom. Well, might or might not depending on
            UA...open issue on overflow 3. When you scroll to the end
            the bottom of the visible content that overflows lines up
            with the padding edge of scroll container. Needs to be
            content edge for proper behavior.
  fantasai: To get that alignment effect we're going for so switch
            between scrollable and not alignment is same we had to
            spec we extend scrollable overflow area by that amount of
            padding. We extend from edge of inflow content
  fantasai: Authors have asked us to add this.
  fantasai: We have a 'normal' value for alignment that lets us do
            whatever weird things needed for compat. We trigger this
            extra space for scrollable overflow when you have a not
            normal value of align or justify content. That's new in
            spec because didn't look at implications of padding
  fantasai: Asking WG if this is okay and ask for review

  fantasai: Questions or need explanation?
  astearns: Little weird we trigger this on non-normal but I see why
            it's necessary
  astearns: dbaron comments? Want more time?
  dbaron: Need more time to review.
  astearns: Fair enough.
  astearns: Other comments?
  fremy: Like the global idea. Haven't checked details.
  fantasai: Resolve on global idea and check wording later?
  fantasai: Then we have WG resolved this is behavior we want.
            Problems with wording can file a specific issue
  florian: If we could do away with odd compat it would be great. Not
           realistic. This approach does seem to work all but a bit
           strangely.
  florian: Can't think of anything simpler that works and respects
           compat
  astearns: Objections to resolve to take this approach and filed
            separate issues for wording issues?

  RESOLVED: Take this approach and file separate issues for wording
            issues

  <fantasai> issue about including padding in scrollable overflow area
             -- 12 upvotes, more than pretty much any other issue I've
             seen, + 18 on a comment further down the line supporting
             it https://github.com/w3c/csswg-drafts/issues/129

CSS Fragmentation
=================

Empty fragment at fragmentainer boundary
----------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/1529#issuecomment-415592931

  fantasai: I added text to spec but realized we said a 0 size
            fragment stays with previous page. Doesn't seem to be
            always because if whatever came before overflows
            fragmentainer.
  fantasai: If I've got an unbreakable box that overflows and a 0
            height after it moves to the next column.
  fantasai: Wanted to check that's what we want.
  fantasai: If anyone wants to look more.
  astearns: Makes sense to me. In your note say can be pushed. Perhaps
            must be pushed?
  fantasai: Makes sense. Change from can to will
  astearns: Okay

  bradk: Should it still be pushed if not content after 0 height thing?
  fantasai: Yeah
  bradk: Create a new column with nothing in it
  fantasai: Might have something in it.
  bradk: That's a useful thing?
  fantasai: It is what happens currently. If something is visible
            generally don't want it below fragmentainer height.
  bradk: Alright, you've convinced me

  astearns: Other concerns?
  <Rossen> Are we still preserving the model of minimizing the number
           of empty boxes due to 0 size fragments
  astearns: Rossen on IRC asks [reads]
  astearns: I think that's restating bradk concern...
  fantasai: We're not. Making sure no element starts below end of
            fragmentainer. Which is good because sometimes can't see
            below end of fragmentainer it gets clipped
  <astearns> Rossen, OK with that?
  <fantasai> see also Tab's note about how this is how Flexbox works
             already
  <Rossen> OK, that's fine. My question was - once an element is to be
           positioned (margins are consumed) and is 0 size - it gets
           placed on the current fragment right?
  <fantasai> If we haven't already overflowed the current
             fragmentainer, yes
  <fantasai> If we've already overflowed, no, it moves to the next one
  <Rossen> OK, that makes more sense, thanks
  astearns: Any other questions or concerns?
  astearns: Objections to have 0 sized fragments pushed to next
            fragmentainer if content before has overflows its
            fragmentainer?

  RESOLVED: Have 0 sized fragments pushed to next fragmentainer if
            content before has overflows its fragmentainer

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

Clarify spec text about contain:layout so that its ink-overflow
    effect on a scrollable element is clearer
---------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/3023#issuecomment-415885325

  florian: I think this is sort of an editorial mistake. Makes a
           normative difference.
  florian: Layout containment when on spec says overflow is treated as
           ink. Meant if overflow is visible it's treated as ink so if
           content escapes it doesn't trigger scrollbars on an
           ancestor. But if there is scroll we don't have a problem
           triggering scroll so if all is ink we never get scrollbars
  florian: I think this is clarifying, but it is affectively a
           normative change. Are we okay with it?
  astearns: Concerns?
  dbaron: Think I'm okay. Gecko implemented what it said now so we'd
          have to change.
  florian: He's [the Gecko implementor] the one that raised it with a
           comment that what Chrome does is more useful
  florian: Some tests will need fixing too, but I'll do that.
  astearns: Objections?

  RESOLVED: Accept change in
https://github.com/w3c/csswg-drafts/issues/3023#issuecomment-415885325
            to clarify ink overflow bit only applies to visible, clip
            or a combination

Maybe 'contain-size' shouldn't apply to display:table-caption?
--------------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/2952#issuecomment-415890334

  florian: This was raised by dbaron because size containment is
           described as not applying to table parts. Table-caption is
           not a table part. It is intentional.
  florian: Table cells and the like need no size containment because
           general table layout you can't make it smaller than inflow
           content. Trying to do so through containment wouldn't work
           unless we define how it works in terms of layout.
           Table-captions do not have that limitation. No strong
           reason for it to have size containment not work
  florian: Therefore I propose close no change.
  astearns: Even if your reasoning is accepted I think there should be
            a note.
  florian: Perfectly reasonable, yes. Thanks.

  astearns: dbaron does it make sense to you?
  dbaron: I guess...I'm still not convinced table-captions are that
          different in characteristics that matter
  florian: If you take a table cell with some content with width:0 it
           won't have a 0 width. For a caption it will. That's what
           matters here
  dbaron: Table cell with div inside div can be 0.
  florian: On table cell yes
  dbaron: Interesting thing is how sizes interact rather than how
          sizes interact with content
  florian: Size containment changes how you find the size. How it
           influences things around doesn't change.
  dbaron: In both cases you compute the size in a larger process.
          You're saying contain size means contents don't influence
          size.
  florian: Yes, you size as if empty, then layout content without
           changing that resolved size.
  florian: It is an undefined operation on table cells, defined on
           table-captions.
  dbaron: I'm okay with that.
  astearns: Objections to close with an explanation note in the spec
            and no change?

  RESOLVED: Close with an explanation note in the spec and no change

CSS Alignment
=============

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-415854208

  fantasai: This is a discussion we're hoping to close with 1429
  fantasai: We made a mistake when figuring out effect of alignment
            property on static position. In css2.1 there are rules in
            static position as to which edge you care about. Keys off
            direction of static position containing block of abspos
            element.
  fantasai: Since the point of alignment is to replace this model what
            we do for in flow elements we use justify-self to
            determine which side to align to rather then direction
            property of containing block
  fantasai: Initial value being start does do that
  fantasai: For abspos elements we presented rules for how to behave
            and to key off justify-content. Should have been
            justify-self on abspos element
  fantasai: Want to resolve to make that clear.
  fantasai: Proposal: Static position alignment keys off of
            justify-self on the abspos, not justify-content on the
            static position CB

  astearns: Concerns? Questions?
  astearns: Anyone need time or shall we resolve?
  astearns: Objections to static position alignment keys off of
            justify-self on the abspos, not justify-content on the
            static position CB

  RESOLVED: Static position alignment keys off of justify-self on the
            abspos, not justify-content on the static position CB

  astearns: There have been quite a few edits. Good for people to
            review.

Publication
-----------

  fantasai: We'd like to publish updated WD. I understand some people
            want time to review so happy to hold until people review

  fantasai: This resolution [of issue #1432] also closes #1429
  fantasai: Summary- 1429 is now answered yes. The model is that you
            place the element...you take static position offsets and
            use the space between static position containing block
            edge and abspos containing block edge. Set of edges is
            based on justify property
  <fantasai> https://drafts.csswg.org/css-align-3/#abspos-sizing
  fantasai: That's where you size into. Sizing and alignment match up.

  fantasai: Normal WD. Want to publish update. If anyone wants to
            review first, fine. Later is also fine.
  fantasai: This'll bring TR WD in line with recent resolutions
  astearns: Would anyone like time to review before publish?
  <dbaron> I'm fine with publishing a new WD and then reviewing later.
  astearns: Objections to publish updated WD for CSS Align

  RESOLVED: Publish updated WD for CSS Align

Selectors
=========

Specify the "all ::-webkit-* pseudos are valid" behavior
--------------------------------------------------------
  github: https://github.com/w3c/csswg-drafts/issues/3051

  TabAtkins: For a long time webkit based browsers had a quirk where
             they accept any pseudo element with ::-webkit-* at parse
             time. Won't match, but it's a valid selector.
  TabAtkins: Firefox found this is causing compat problems for them
             because people had used webkit pseudos in the past to
             select browsers. Firefox realized they had to match the
             rules because people doing browser selection.
  TabAtkins: Proposed we spec that quirk that anything with
             ::-webkit-* prefix is valid at parse time
  TabAtkins: Put that in an appendix of required but obsolete things.
  <TabAtkins> https://drafts.csswg.org/selectors-4/#compat
  emilio: For what it's worth I think most of this isn't even
          intentional. They do ::-webkit-scrollbar something that they
          intend to work and it doesn't in Firefox.

  emilio: If someone knows why webkit has this I'd be curious to know
  TabAtkins: I suspect it was dumb early parsing code and now we can't
             remove. If it looks like one of our pseudos let it be
             valid.
  florian: Maybe also because there's a bunch of webkit pseudos that
           only exist on some elements. Maybe checking if valid
           sometimes was too complex.
  TabAtkins: No, validity of selector can't depend on anything in DOM
  florian: Right, because you can't person didn't want to check
           anything because can't check some valid.
  dbaron: I think in the past unknown pseudos were just accepted.
          Might have been incomplete fix for that.
  plinss: True.
  plinss: That was why double colon was to allow user defined pseudo
          elements for templating system.
  TabAtkins: Regardless of history, it's here. Appears to be necessary
             for compat. Need to spec.

  florian: ::-webkit-*-whatever is an ident or start functional
           notation there?
  TabAtkins: No idea. I think start functional notation, have to check.
  emilio: Doesn't work with functional stuff. In Firefox we only do
          identifiers
  florian: Okay, good. Less insanity is better.
  TabAtkins: Confirmed. Just ident. I'll have to clarify spec text on
             that

  astearns: Concerns with this change?
  astearns: Anyone against it?
  tantek: I'm not against doing it.
  tantek: In light of unproductive comment on github, might be worth
          doing a blog post from chairs about this. Seems like a big
          compat thing to put out there.
  tantek: I figure it's indicative of emotional output. Rather than
          people discover it and think we're doing crazy stuff an
          upfront blog post might defuse it. Say this sucks but here's
          why we have to do it.
  astearns: We can put a post on CSSWG blog.
  astearns: I'll wait until TabAtkins does clarification

  astearns: Other concerns about this?
  <dbaron> It might make more sense to put something clarifying in the
           issue itself rather than having it prominently in the blog?
  astearns: dbaron you're concerned about a blog post because you'd
            rather not call attention?
  dbaron: Don't know if it's worth making that big of a deal. Don't
          feel strong
  fantasai: Agree not make a big deal. If direct concerns we can put
            comments in issue or add expository notes in the section.
            People don't need to know about this in general and I
            don't want to take attention from things that matter. A
            blog post might get in front of some people but it's more
            likely to make more people mad because they know and a
            vast majority of people that don't care just read a blog
            post
  florian: I suggest FAQ of wiki with an entry of why did you spec
           this and web compat with details
  tantek: It's perceived differently if we do this. They'll appreciate
          if we're up front. Much worse if someone says look at this
          crap and puts it on reddit. I agree more people will learn
          in passing but seeing it from WG it's just ho-hum as opposed
          to a 3rd party in another context with exaggeration.
  tantek: Hiding or not bringing something up causes things to blow up
  fantasai: With webkit prefix we had a blog post. It blew up before
            we could post. Secondly a blog post puts the explanation
            in a separate place. If you want in front of people you
            put in spec.
  tantek: Spec bigger is worse.
  <bkardell_> is it not reasonable to do both?
  astearns: I'm convinced by argument that explanation will be in
            spec. You're concerned people will stumble across this and
            make a big deal. People will stumble across spec and blog
            is somewhere else.
  tantek: I'm okay with the FAQ having a long explanation and link to
          that on blog and spec. Don't like polluting spec with
          historical drama. Not what they're for
  fantasai: Don't think it's complex enough for that much text
  fremy: Not sure it's worthy of a blog post. It's minor. I'm pretty
         sure Edge has this already and no one said anything. This is
         weird and no one should use it. Not worth calling attention.
         Few are using.
  <fantasai> +1 to fremy
  astearns: Concern about spec bigger I don't think is founded. I'm a
            fan of bigger specs with reason why decisions get in.
  <dauwhe> +1 to astearns
  TabAtkins: Also why we have stying support for details class=note so
             you can add lots of details without space

  <TabAtkins> Spec is updated
  <TabAtkins> I also folded in a clarification about how to serialize
              them, since annevk brought up that it was technically
              undefined.

  bradk: Blog would get it in front of eyes to get feedback.
  astearns: Don't think we're looking for feedback. There's a known
            compat problems. Fixing because we need to do it - not
            because it's good.
  fremy: It's a terrible idea. I don't want people to know this exists.
  bradk: There's probably people using it as a hack. Curious how big
         of a problem that will be.
  * bkardell_ kind of agrees that proactive seems better.. I'm not
              even sure it has to be official csswg, just a member who
              writes a post we all share is probably ok?
  <TabAtkins> I'm happy to write a quick explanatory note into the
              spec.
  tantek: astearns I leave it to your judgment. Still think it's a
          good idea to put something out. If you don't think necessary
          I trust your judgment

  astearns: TabAtkins has been mentioning changes. TabAtkins I would
            like a note in the spec explaining and apologizing why
            it's there.
  TabAtkins: Spec is live now, writing explanatory note
  astearns: Objections to change?

  RESOLVED: Accept the proposed change

  astearns: Thanks everyone for calling in.  We'll talk next week on
            APAC time

Received on Wednesday, 29 August 2018 19:39:30 UTC