[CSSWG] Minutes Telecon 2016-06-22 [css-snappoints] [css-text-3] [css-round-display] [mediaqueries] [css-grid] [css-align] [css-inline]

=========================================
  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 WG Charter
--------------

  - astearns will input the dates he proposed on the private mailing
      list (available here:
https://lists.w3.org/Archives/Member/w3c-css-wg/2016AprJun/0251.html)

Scroll Snap Publication
-----------------------

  - RESOLVED: Publish CSS Scroll Snap

Line breaking opportunities at the boundary of a white-space:pre
  inline element
---------------------------------------------------------------------

  - RESOLVED: Line break opportunities should be controlled by the
      parent.

Round Display
-------------

  - The 'auto' value of offset-position will be written to mean do
      nothing to the position of the element.
  - 'contain' will be moved into offset-path as it's only relevant
      when there's an angle.
  - RESOLVED: Change the initial value of offset-rotation to 0deg.
  - jihye will move the offset-* properties into the Motion Path.

Edits that have been accepted and need WG approval for MQ
---------------------------------------------------------

  - RESOLVED: Rename update-frequency to update (issue #1).
  - RESOLVED: Rename normal to fast (issue #1).
  - RESOLVED: Move inverted colors to level 5 (issue #8).
  - RESOLVED: Move custom MQ to level 5 (issue #9).
  - RESOLVED: Publish a new WD of MQ4.

Grid Issues
-----------

  - A decision on what happens with grid line names when dropping
      tracks (Issue here: https://github.com/w3c/csswg-drafts/issues/172w)
      was deferred until next week to give people time to review.
  - RESOLVED: vertical-align: baseline means first baseline except
              for inline-blocks (due to CSS2.1 legacy)

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

Agenda: https://lists.w3.org/Archives/Public/www-style/2016Jun/0151.html

Present:
  Rachel Andrew
  Rossen Atanassov
  Tab Atkins
  David Baron
  Dave Cramer
  Alex Critchfield
  Simon Fraser
  Daniel Glazman
  Tony Graham
  Jihye Hong
  Joone Hur
  Dael Jackson
  Brad Kemper
  Ian Kilpatrick
  Chris Lilley
  Peter Linss
  Michael Miller
  Edward O'Connor
  Simon Pieters
  Anton Prowse
  Liam Quin
  Matt Rakow
  Florian Rivoal
  Alan Stearns
  Greg Whitworth
  Steve Zilles

Regrets:
  Tantek Çelik
  Ian Vollick

Scribe: dael

  Rossen: Let's get going.
  Rossen: As usual, let's start with a quick call for anything to
          add to the agenda.

CSS WG Charter
==============

  Rossen: There have been a few updates since last week.
  Rossen: The one remaining piece is going over the dates and
          finalizing.
  Rossen: There was an email started by astearns and there have been
          dates proposed and chatter. astearns can you summarize?
  astearns: I put together a straw man schedule I think we should
            put in the charter and then do what we can to meet those
            dates.
  astearns: The other thing that needs to go in is the list of
            things working on. TabAtkins gave me an automation that
            has about half the information. I'm hand-editing the
            rest and should be done today.

  Rossen: To the WG: has everyone had a chance to look at the
          proposed straw man dates from the private list?
  Florian: Just the part that lists REC right?
  astearns: Right. This is REC dates over the charter period.
  Florian: That seemed reasonable.
  Florian: I haven't looked at the rest. What do we say about things
           not listed as going to REC. Do we list them all or...?
  astearns: Current plan is have them in list of things working on,
            show current status, and not give dates for progression.
            plh thought that was okay.
  ChrisL: Deliverables and dates are separate sections.
  Florian: For a spec like CSS 3 UI which has been fairly
           implemented fairly tested but not fully we just don't say
           anything special?
  astearns: Correct. It doesn't mean we can't work on it.
  <Florian> then it looks all good to me

  Rossen: Again, to summarize. It sounds like our plan is to put the
          automated list of drafts in the scope section. Dates will
          be those astearns posted.
  Rossen: That will send a message the rest is in progress but don't
          have a clear idea of where it will land.
  Rossen: Is everyone okay with that?
  <ChrisL> +1
  <glazou> +1 to rossen
  hober: Sure.
  fantasai: My position is if people don't commit to testing nothing
            will get to REC so I'm skeptical of the dates.
  Rossen: That's okay.
  glazou: That's no different than the last 20 years. We've always
          had a testing problem.
  Florian: There is discussion in the AC forum about that. There's
           talks about if we can change the charter process to deal
           with that, but it's not changed yet.
  Rossen: Anything else anyone wants to bring up? Otherwise we can
          action astearns to make the edits.

  ACTION astearns make the edits to have your proposed rec dates in
         the charter
  <trackbot> Created ACTION-780

Scroll Snap Publication
=======================

  Rossen: Just a quick request for a resolution.
  Rossen: Anyone opposed to publishing CSS scroll snap?

  RESOLVED: Publish CSS scroll snap

  <MaRakow> yay :)
  ChrisL: fantasai are you using the automatic from bikeshed or does
          it need to queue?
  fantasai: It needs to be queued up. There's a short name change.
  ChrisL: You don't have to zip it, I can do it manually.
  fantasai: short name change is to css-scroll-snap
  <fantasai> css-snappoints -> css-scroll-snap
  <ChrisL> css-scroll-snap-1 ?
  <fantasai> yep
  Rossen: And we have a resolution on that and that editors are
          yourself, TabAtkins and MaRakow.
  fantasai: Yes.
  Rossen: Great. Let's get that to a more final WD and proceed.
  <fantasai> https://lists.w3.org/Archives/Public/www-style/2016Jun/0020.html
             <- previous resolutions on name change, editorship, etc.
  <TabAtkins> ChrisL: If you run `bikeshed echidna --just-tar`,
              it'll prepare a TAR with all the TR fixes you need
              before publishing.
  <TabAtkins> ChrisL: In the folder you run it in.
  <ChrisL> cool
  <ChrisL> although, see my recent comments on bikeshed issues about
           that, still things to fix manually

Line breaking opportunities at the boundary of a white-space:pre
  inline element
=====================================================================

  <Florian> https://github.com/w3c/csswg-drafts/issues/189
  <Florian> <p>あいうえお<span style="white-space:pre">か</span>きくけこ</p>
  Florian: Here's the relevant bit of code.
  Florian: I've been through the spec and it doesn't say how it
           should work. If you didn't have the span you'd have a
           line break opportunity between all characters. We have
           the white-space:pre in there. Should you be able to break
           on element boundaries? All browsers except blink and the
           webkit family do.
  Florian: I suspect that's from another bug they have. But either
           way the spec doesn't say it's a bug and I think it is.
  Florian: On github we were leaning toward when white-space:pre is
           applied to an element the parent should determine.
  fantasai: It should be just like letter spacing where the spacing
            is given by the parent.
  Florian: I think so too. If everyone agrees can we put it in the
           spec?
  fantasai: I agree.

  Florian: I suspect we have the same issue about things like
           word-break, but I didn't check the spec.
  fantasai: Line break opportunities should be controlled by the
            parent. All of them.
  Florian: Makes sense to me.
  Rossen: Okay. Question. When you say parent do you mean block
          container parent or parent?
  <fantasai> by block container parent, you meant "containing block"
             :)
  fantasai: Parent of the boundary.
  Rossen: Okay.
  Rossen: Any objections?
  <bcampbell> I'm seeing this in the git issue, is that just me?
              "<p>あいうえお<span style="white-space:pre">か</span>きくけこ
              </p>"

  RESOLVED: Line break opportunities should be controlled by the
            parent.

  <dbaron> by "the parent" do we mean "the nearest common ancestor"?

CSS Round Display
=================

  <Rossen> https://lists.w3.org/Archives/Public/www-style/2016Jun/0126.html
  <jihye> https://github.com/w3c/csswg-drafts/issues/214
  jihye: I think it's better to see the github conversation. At San
         Francisco F2F there was a resolution to integrate polar
         positioning to motion path.
  <jihye> https://drafts.csswg.org/css-round-display/#positioning-content
  jihye: I wrote a draft to describe the resolution.
  jihye: Properties related to polar positioning were merged to
         motion path. It's not just about motion but becomes path
         positioning. There are some properties that changed the
         name. offset-path and the like.
  jihye: offset-path defines the path an element can move on. It's a
         merge of motion path and polar-angle. offset-distance is
         the positioned element along the path. offset-anchor is the
         origin of the element which comes from round display polar
         anchor. I have another suggestion for rotation that wasn't
         in resolution.

  jihye: There's 2 issues to discuss.
  jihye: First is about the need for offset-position. It is similar
         to polar origin.
  jihye: The path which the element is positioned along is specified
         by offset path property. When angle is given to offset-path
         it is a straight line with the degree of the angle.
  jihye: The start is the center of the containing block and end is
         the edge of the containing block.
  jihye: Initial position of the elements is the start point of the
         path. After defining the path like that we can use
         offset-position. I defined polar-position as specifying the
         initial position. For example when I define:
  <jihye> offset-path: 90deg;
  jihye: It means the path starts at the center and ends at the
         middle of the right-side edge.
  <jihye> offset-position: 0% 50%
  jihye: Then I add offset-position: 0% 50% the path starts at the
         middle of the left side edge and ends at the middle of the
         right side edge.
  * smfr needs to see pictures
  jihye: With this use case, do you think it's useful and defined
         properly?
  bradk: Several things aren't what I understood the resolution to
         be in San Francisco. Offset-position when discussed I
         agreed to because it had use independent of if you're
         moving along a path. We didn't say when using path it jumps
         to the center. The path is a position relative to where the
         element started. So if you use relpos or top it starts
         where ever it started.
  <fantasai> +1 to bradk
  bradk: If you did an angle you'd move from an angle. Not that it
         jumps to the beginning of the position.
  bradk: Instead of positioning the shape for the containing block
         you position the path's initial point to the element. That
         was it works to all the other positioning properties like
         top and offset and position: relative.
  <TabAtkins> And starting it in the center is just a matter of
              "offset-path: 45deg; offset-position: center;"

  fantasai: The auto value of offset-position was intended to be
            don't do anything special to the position of the
            element. If it was relpos it would be based on its
            position. If abspos it's from the calculation in 2.1 and
            left/right etc. properties. The position of the element
            and path is determined by the position. When it's not
            auto it moves according to offset-position.
  bradk: I don't think you need offset-position to come up with the
         origin. We described that you would start from where ever
         the position was. You don't need it for an origin point.
  Florian: There were two reasons why it was better that way. One
           being that the path itself will change depending on where
           you put the origin. If it's not center and goes to edge
           it's different points than center to the edge.
  bradk: And that's what offset-anchor was for.
  fantasai: You're mixing it up.
  bradk: You need an anchor for where align point to element.
  fantasai: The original proposal says where the path begins. From
            that point you go at an angle until you reach the edge.
            If you start center and go to edge length is 50%.
  fantasai: This applies even if the element is a 1x1px. The path
            will change depending on origin.
  fantasai: Where you attach element to path is the anchor.
  fantasai: Where the path is with respect to containing block is
            origin.
  bradk: If using offset:position.
  Florian: It doesn't just change the position, but also the shape.
  bradk: Why?
  Florian: If you say center and right you do it as center bottom.
  bradk: For a circle or whatever the only odd thing is the inset
         shape. For everything else you position the path the the
         point.
  fantasai: It changes what percentage means. 100% means all the
            way, 0% means stay. 100% changes depending on length of
            path and length depends the origin and end point.
  bradk: Shouldn't. Percentage should be of containing block
  fantasai: No of the path. If you do polar positioning and you want
            45 deg 100% should go as far as you want until the edge.
            That isn't how it's defined in the spec.
  <ChrisL> agree with fantasai, this is how it should work
  bradk: I'm talking about where the path is relative to the
         element. The distance part doesn't come into that expect
         you're picking a size for the path. You're taking a length
         along that path. As long as you have the length you can be
         positioned along it.

  jihye: When path is defined by angle it has to pass through the
         center point.
  bradk: Why?
  bradk: You pick where it starts based on element, pick an array,
         and determine your point along that. You need to know where
         it starts relative to the element itself.
  jihye: I agree. Path doesn't have to start at center. Path has to
         pass through the center of the containing block.
  bradk: No...
  fantasai: The auto values need to be fixed. I think everything
            else is fine.

  Florian: Another point of difference. offset-difference has
           optional contain keyword and the like. I think they
           should be on the path not the distance.
  fantasai: Yes.
  Florian: Because they define what the path is. 100% gets you 100%
           on the path. Right now the contain and the like keywords
           are attached to the distance. But since we decided to put
           the angle as a part of the path they should go together
           with the angle to define the path. And 100% means 100% of
           the path.
  jihye: I put contain on the offset-distance because when I first
         suggested it for polar the major use is the element is not
         overflowing from containing block.
  Florian: I'm not changing behavior, but which property. What we
           put it in is offset-path, not -distance. At least I
           think. Behavior is correct, it's which property it goes
           in.
  bradk: I'm not sure the advantage of one or the other.
  Florian: When offset-path isn't an angle what do the keywords mean
           on the distance. That's why they have to stay with angle.
  <fantasai> https://lists.w3.org/Archives/Public/www-style/2016May/0233.html
  <fantasai> Florian: offset-path newly takes an angle plus a
             keyword (as yet
  <fantasai> undefined list, including contain).
  jihye: When offset-anchor is the center of the element and
         offset-distance is 100% then some part of the element can
         overflow from containing block. So when you put contain on
         offset-distance the overflowing part can come inside the
         containing block.
  Florian: But for offset-path let's say you have a circle or a
           polygon. And then on offset-distance you have the closest
           edge. What does that mean?
  Florian: I don't think it has a clear meaning. And I think the
           behavior is correct but only makes sense when there's an
           angle. That's why I think it should be with the angle.
           When you have it with and angle and percentage I think
           we're fine.
  bradk: Florian, I think I agree, but I guess you could shrink the
         path to be contain.
  TabAtkins: That's going way beyond the use cases. It's keeping a
             polar element from overflowing.
  bradk: But it would more or less. I think I agree it's just a part
         of path.
  Rossen: Going back to jihye...
  Rossen: Are you okay with that?
  jihye: Now I agree with Florian. I agree with contain keyword is
         meaningful when path has an angle value. I think contain
         should be moved to offset-path. I agree with that.
  Florian: And same with closest-side, etc.
  jihye: I agree.

  Rossen: Do you need a resolution from the WG or is this already
          covered?
  jihye: The offset-position I defined on the spec has to be changed
         or remain?
  bradk: The important thing on offset-position it shouldn't be
         required on path movement. You start the path on the
         element, not the containing block.
  Florian: I think we had agreed on that.
  Rossen: I'm trying to stop us before we open the can of worms.
  Florian: We're in the can already.

  fantasai: Offset-position always has a value and the initial is
            auto and it means do the things.
  <fantasai> that you would do if offset-position didn't exist.
  Rossen: And that's what we agreed already.
  <fantasai> yes
  TabAtkins: But the spec doesn't say that.
  Rossen: So it's editorial to make the changes.
  <fantasai> Right, the spec needs to be brought in line with the
             resolution.
  Florian: Yep. It's just auto stops doing the magic.
  <fantasai> It's not editorial, it's correcting the spec.
  Rossen: So the proposed path is jihye to take the clarifications
          into the spec. And that's it.
  <fantasai> It's not clarifications, it's fixes.
  <fantasai> Clarifications don't change behavior, this will. It
             will change the behavior to match the resolution.
  bradk: I'm still not clear on the auto magic.
  Rossen: Same as SF
  TabAtkins: Basically stop doing magic.

  jihye: I have 1 more topic. Initial value of offset-rotation
  jihye: Motion rotation means the path the element moves along.
         Initial value of auto is reasonable while element moves
         being rotated in direction of the path seems natural.
         offset-path could be for an element without motion. So in
         this case having initial rotation as 0deg is natural
  <fantasai> +1 to 0deg initial value
  jihye: I think 0deg is more proper than auto as the initial value
         for offset-rotation. Is it okay to change that?
  fantasai: I strongly agree.
  bradk: So do I. I think the only person who had it different is
         shans. We always had it so that if the property doesn't
         exist it matched and 0deg is that.

  TabAtkins: We should probably re-name auto to be more useful. Like
             follow or match. Don't need to discuss that now.
  bradk: There's another issue as to if we can use transforms, but
         that's a different day.

  Rossen: So proposed resolution is to change to 0deg as the initial
          value of offset-rotation.
  Florian: Isn't there a compat issue? It's changing the initial
           value of an existing property.
  TabAtkins: This isn't existing.
  Florian: It's called motion.
  bradk: That's separate and I don't think it's impl.
  TabAtkins: The motion properties aren't publicly impl. I think we
             have them a behind a flag. We have room to change.
  bradk: With a different property name there isn't an issue.
  TabAtkins: There's 0 compat issues
  Florian: caniuse.com says motion path is enabled in Chrome.
  ChrisL: That's in SVG.
  Florian: Alright.
  Rossen: I'll take TabAtkins's word.
  Rossen: Any objections to the resolution?

  RESOLVED: change to 0deg as the initial value of offset-rotation

  TabAtkins: Final bit. I thought we agreed to move these to motion
             path spec. I'd like to do that or resolve on it. It's
             the proper place for them to live.
  Rossen: I don't recall.
  Florian: I think we had one and added jihye as a co editor.
  Rossen: Okay. Who is editing motion path?
  jihye: shans
  bradk: What do we move?
  TabAtkins: All of them. They're transform based at the bottom.
  Florian: Yep.
  TabAtkins: They all get triggered into a transform in the
             transformation matrix.
  bradk: I guess, but offset-position doesn't have much to do with
         paths.
  fantasai: It doesn't belong in round display. We can argue on the
            rest later.
  <astearns> from the SF minutes: "The motion path spec will need to
             be renamed since it's more about path positioning than
             it is about motion."
  fantasai: shans agreed with the changes and we added jihye as the
            editor.
  ACTION: jihye to move offset- properties to motion-path spec
  <trackbot> Created ACTION-781

Edits that have been accepted and need WG approval for MQ
=========================================================

  <Rossen> https://drafts.csswg.org/mediaqueries/issues-wd-2016-01-26#issue-1
  <Rossen> https://drafts.csswg.org/mediaqueries/issues-wd-2016-01-26#issue-8
  <Rossen> https://drafts.csswg.org/mediaqueries/issues-wd-2016-01-26#issue-9

Issue #1
--------

  fantasai: There were some issues. 1 was rename update-frequency:
            normal to update: fast.
  fantasai: List seemed to find that okay.
  fantasai: Dunno if there are other opinions.
  <fantasai> https://drafts.csswg.org/mediaqueries/#update
  <fantasai> So, two changes: 1) rename update-frequence to update
             2) rename normal to fast
  Florian: I'm okay with the change, but I think there was a purpose
           to the naming. slow and fast doesn't give a reference
           point. When you have slow and normal it's quite clear.
           It's the usual thing and slow. But then again people can
           read the spec.
  Rossen: Okay. fantasai you want a resolution?
  fantasai: One to rename the property and one to rename the value
  Rossen: Property first. Objections?

  RESOLVED: Rename update-frequency to update (issue #1).

  Rossen: Objections on normal to fast?
  Florian: I prefer the other but don't object

  RESOLVED: Rename normal to fast (issue #1).

Issue #8
--------

  Rossen: Defer inverted colors is next.
  fantasai: Yeah. Discussed deferring it so we can do a proper
            evaluation for all the things needed to handle colors
            correctly since it's not clear that's sorted out.
            Proposal is to move this so we can cut down to
            everything stable and ship this summer.
  Florian: I think deferring is okay. This is an investigation we
           haven't done.
  Rossen: I'd agree on moving this to later. As an implementor of
          high contrast more time would be good.
  Rossen: Any objections to moving inverted colors to level 5?

  RESOLVED: Move inverted colors to level 5 (issue #8)

Issue #9
--------

  Rossen: Issue #9
  fantasai: This one isn't 100% baked so defer it to level 5.
  Florian: I'm okay with it. I think TabAtkins intended to move to
           houdini?
  TabAtkins: We'll move it where it needs to be. Doesn't matter.
  Rossen: Objections to move custom MQ to level 5?

  RESOLVED: Move custom MQ to level 5 (issue #9).

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

  Rossen: Any other MQ items?
  fantasai: There's some stuff for later, but I think we should
            publish a new WD and deal with the next set of issues in
            the next cycle.
  Rossen: That would be great. Anyone objecting?

  RESOLVED: Publish a new WD of MQ4.

  TabAtkins: I'll handle publication.
  <ChrisL> tab, mq4 is already in place and queued for publication
           tomorrow

Grid
====

What happens with grid line names when dropping tracks
------------------------------------------------------

  <Rossen> https://github.com/w3c/csswg-drafts/issues/172
  fantasai: We discussed...the question was with the auto-fit:
            repeat we dropped tracks that were empty after the
            layout. You collapse and give them 0 width and merge
            gutters. We made a proposed set of edits and what to
            resolve on this definition shift.
  fantasai: The collapse helps with the abspos items that need to
            define where they are if using lines. Also output of
            CSSOM is clear because it's just 0 width. In terms of
            determining positioning and gaps the gutters around
            collapsed tracks are collapsed to nothing. If you're in
            the middle of the grid they overlap. This gives the
            expected behavior.
  Rossen: Only end or beginning as well?
  fantasai: It's symmetric.
  fantasai: We wanted to define the correct behavior, not because we
            expect this to be common but it's quite likely we'll add
            a concept of collapsing tracks explicitly. Looking
            forward this hooks into how that would work.

  <fantasai> https://github.com/w3c/csswg-drafts/commit/ac370302681c2425777a57b8461281e1bd88afc8
  fantasai: That's the change set.
  Rossen: Any comment or feedback?
  Rossen: I don't hear anything. I'm personally behind on this, but
          I can comment on github. Are you looking for a particular
          outcome?
  fantasai: Resolution on the change.
  fantasai: We can defer a week
  Rossen: That would be great for us.
  TabAtkins: We just wrote it yesterday.
  Rossen: If you're okay to push a week let's do that.

Baseline alignment
------------------

  <fantasai> https://github.com/w3c/csswg-drafts/issues/195
  fantasai: Do you align to the first or last baseline? We say the
            first. In CSS 2.1 it has tables align to the first and
            inline blocks to the last. Other precedent is how
            baseline values work in flexbox which always uses the
            first. So grid will interpret first line is the baseline.
  Rossen: I'm in favor of keeping those in sync as much as can.
  Rossen: We do the same for inline tables as well?
  fantasai: Yes, that's the first row.
  Rossen: So I'm even in more favor.
  Rossen: Objections?

  RESOLVED: vertical-align: baseline means first baseline except for
            inline-blocks (due to CSS2.1 legacy)

  fantasai: Last one, #8, needs more work from TabAtkins and I. It
            needs to defer anyway.
  Rossen: In that case that's the top of the hour and the end of the
          agenda. Thank you everyone. We'll call it a day.
  Rossen: Thanks, bye

Received on Thursday, 23 June 2016 00:37:21 UTC