16:32:31 RRSAgent has joined #css 16:32:31 logging to http://www.w3.org/2016/05/09-css-irc 16:32:32 RRSAgent, make logs member 16:32:33 Zakim has joined #css 16:32:34 Zakim, this will be Style_CSS FP 16:32:34 ok, trackbot 16:32:35 Meeting: Cascading Style Sheets (CSS) Working Group Teleconference 16:32:36 Date: 09 May 2016 16:32:48 rrsagent, here 16:32:48 See http://www.w3.org/2016/05/09-css-irc#T16-32-48 16:32:51 ScribeNick: gregwhitworth 16:36:50 present+ 16:37:14 Topic: Flex 16:37:28 https://drafts.csswg.org/css-flexbox-1/issues-cr-20160301 16:37:31 present+ 16:37:41 fantasai: as we mentioned, pretty much everything is fixed 16:37:51 fantasai: we asked for people to review issue 1 and 3 16:38:07 fantasai: we're asking for official resolution of those two, the rest are editorial 16:38:21 fantasai: you're happy to review them. After resolving we would like a CR 16:38:31 fantasai: anyone need more time for issue 3 16:39:28 dbaron: the resolution for issue 3, is it independent of % sizing with intrinsic widths 16:39:33 fantasai: good question 16:39:54 astearns: that is one thing that does not have a time slot, that can be breakout session 16:40:10 dbaron: I just want to make sure that we're not tying this to something that isn't compatible with the web 16:40:23 fantasai: this one I believe is about the intrinsic minimum sizes 16:40:42 florian: is it flex specific 16:40:45 dbaron: no 16:40:57 florian: if there is a side convo please try to include me 16:41:22 hober: if the dependency graph includes the % issue, then we should resolve that first 16:41:39 dbaron: I'm not saying it does, I'm just asking 16:41:55 fantasai: I'm not sure... yeah I think there is somewhat a dependency so we should resolve on those together 16:42:02 fantasai: issue1: a11y wording 16:42:17 Rossen: do we have text for issue 1 16:42:24 fantasai: yes 16:42:42 Note at the bottom of https://drafts.csswg.org/css-flexbox-1/#order-accessibility 16:42:49 dauwhe: are the a11y wg happy with it 16:42:56 fantasai: Cynthia is, she recorded it 16:43:07 s/recorded/reported/ 16:46:11 cbiesinger: 2:30 PST we'll talk about % sizing 16:46:20 tabatkins: Greg you had one job 16:46:47 ekimber has joined #css 16:46:54 Rossen: I think the wording is exactly how we decided it, we should be fine. I'll follow up with Cynthia and close the loop with Richard and the rest of the WG 16:47:20 RESOLVED: Issue 1 the text for a11y is accepted 16:47:39 W3C_ has joined #css 16:48:01 ekimber has left #css 16:48:02 Topic: Box Alignment 16:48:22 fantasai: Tab and I went through the spec and updated the baseline alignment stuff to the best of our ability 16:48:31 fantasai: anyone that's interested please take a look at it 16:48:48 fantasai: one issue is whether the justify-content property applies to column boxes 16:48:56 fantasai: the other is the default value of overflow 16:49:14 fantasai: the justify-content in grid it justifies the tracks and in flex it justifies the flex lines 16:49:35 fantasai: gives example of how justify-content works 16:49:50 fantasai: the goal of this spec is to allow alignment to work for all layout models 16:50:09 fantasai: should justify-content apply to the columns or not 16:50:33 tabatkins: no - justify-content can't because it applies to one line of things 16:50:47 florian: it sounds interesting, but do we have any wiggle room 16:50:59 https://drafts.csswg.org/css-align-3/#distribution-block 16:51:01 fantasai: we can say that the normal value is doing what multicol already does 16:51:34 fantasai: for blocks it does nothing for them 16:51:40 florian: it sounds interesting to me 16:51:57 dbaron: It still doesn't make sense to me why it doesn't apply to block 16:52:17 tabatkins: there is only one flow of stuff, so you can't justify it's items - you can justify self 16:52:36 fantasai: if you think in terms of flex, block is like having one flex line 16:52:58 fantasai: there is no line in a block 16:53:11 dbaron: I was confusing justify-content and justify-items 16:54:36 jensimmons: if you specify the width of the col at 200, if we change this would you be able to do this and add the power to keep it at 200 and distribute from that fixed size? 16:54:46 fantasai: yes, this adds power to multi-col 16:54:55 florian: we cover step sizing a little bit later 16:55:05 dauwhe: this makes sense 16:55:21 tabatkins: the mechanics are all there, this just allows you to control those gaps 16:55:31 RESOLVED: Add justify-content to multicol 16:55:44 florian: Now we have column rules in the middle of column gaps 16:55:56 tabatkins: just like grid the things on the side are not gaps 16:56:00 fyi justify-content applies to flex items; align-content applies to flex lines 16:56:09 https://drafts.csswg.org/css-align-3/#overflow-values 16:56:11 fantasai: the next issue is the initial handling of overflow alignment 16:56:35 fantasai: we have safe and unsafe keywords, if you say center it will absolutely center it even if that causes it to overflow 16:57:04 fantasai: a lot of times you'll want the centering alignment, but you'll want to keep it inside of the scrollable region 16:57:18 fantasai: the user wants to be able to see the content and they should be able to get to the contnet 16:57:51 fantasai: the initial behavior is to do the unsafe behavior up until you would overflow the unscrollable container and then switch to the safe behavior 16:58:05 dbaron: That is very expensive on the layout engine 16:58:36 dbaron: I would prefer for people to have to ask for the slow path 16:58:57 fantasai: The people that need this won't know they'll need to change this 16:59:10 fantasai: only if you have overflow do you need to relayout this 16:59:21 dbaron: I don't buy that there isn't overflow the majority of cases 16:59:29 dbaron: we can't change the default for block 16:59:41 fantasai: block already does safe alignment 16:59:47 fantasai: this is all new stuff 16:59:58 fantasai: the only legacy is flex box 17:00:05 MaRakow has joined #CSS 17:00:25 fantasai: once this spec is implemented it will apply to everything and will only work if you set the alignment keywords 17:00:42 esprehn: I want to talk about the feature 17:01:04 esprehn: Someone showed a layout where the content is inaccessible, we need to solve it 17:01:12 dbaron: I prefer safe rather than true for that reason 17:01:27 dbaron: a lot of layout issues deal with how a parent deals with its children 17:01:39 Rossen: once you start nesting you're going to have very bad perf 17:02:00 Rossen: This sounds like a weird position: sticky-ish 17:02:23 tabatkins: This is still scrollable and only goes back if you overflow out of your scrollable bounds 17:02:31 dbaron: I agree with Rossen 17:02:54 Rossen: The benefit of sticky, you can keep it on the compositor and not relayout 17:03:11 shans: This is about the negative bounds, not the scrollable region 17:03:46 Rossen: This is how I understood it, if you begin layout and you center align some items you start overflowing you have to redo layout to fix it 17:03:55 shans: on resize your re-layout anyways 17:04:00 fantasai: draws a diagram 17:04:19 fantasai: explains drawing 17:06:42 fantasai: this is all about the scrollable region, when the shifting occurs and it's outside the scrollable bounds this will change the scrollable bounds to allow the content to be visible 17:07:01 esprehn: the example we had was a video in an iframe and the top was cut off and you could only scroll down 17:07:56 fantasai: if you have a box that is a flexbox and it has a flex item that will have an item that goes into the unscrollable area then you flag it 17:08:08 fantasai: this only occurs when you have overflow in the scrollable direction 17:08:15 florian: is this a third value? 17:08:24 florian: yes it's a third value 17:08:29 tabatkin: it's kind safe 17:08:50 zcorpan_: you want this to happen in any direction right 17:08:53 fantasai: yes 17:09:21 dholbert: this will affect any container with any alignment props set 17:09:33 fantasai: I think you could probably optimize this mostly away 17:09:49 rniwa has joined #css 17:09:50 dbaron: I think in theory that's fine, but it will take 10 years to find all the bugs 17:10:08 fantasai: we would like to put it in the spec and put it at risk, we don't expect it to be implemented soon 17:10:17 fantasai: Our content dependency is with flexbox 17:10:51 fantasai: The change in behavior is bad for the user anyways and may look a little bit worse, but the ones where users can't scroll to see the content will fix this 17:11:24 bradk: Why not just make it so that you can scroll to the content 17:11:33 tabatkins: that's the idea 17:11:58 hober: I don't want an infinite scrollbar because someone positioned something in the infinite direction 17:12:16 dbaron: what UI do you do when the scrollbar position is somewhere random in the middle 17:12:36 bradk: in a non perfect world it seems like a good solution 17:12:47 s/in the infinite direction/way out on the left for cargo cult a11y reasons/ 17:13:03 dbaron: I looked into implementing it about 10 years ago and realized that it was too much of a compat risk 17:13:13 zcorpan_: it would need to be opt in 17:13:26 tabatkins: people use negative margins to hide stuff off the document 17:13:33 fantasai: any other comments 17:13:56 dholbert: maybe an idea to work out later, but relpos/abspos would need to be taken into account 17:14:27 Rossen: the point is you should not start in a positive, safe will take you to the origin of that box, we don't want to move content 17:14:37 fantasai: we'll make you less unsafe until you're safe 17:14:57 florian: if you make this the default and at risk, please be clear in the spec what to do if you're not willing to implement this 17:15:13 tabatkins: we still need a name 17:15:16 Rossen: unsafish 17:15:21 Rossen: scrollport 17:15:34 fantasai: does that sound like a reasonable plan? 17:15:44 tabatkins: default to unsafe and put it at risk 17:15:49 dbaron: what happens to flex 17:16:09 fantasai: it will cause a behavior change where items are aligned that are not within the scrollable area 17:16:16 fantasai: this will probably fix 17:16:21 dbaron: I'm not sure I buy that 17:16:36 fantasai: but it only affects things that are aligning items into unscrollable regions 17:16:56 esprehn: every time we change flex, we get yelled at - let's change and see how loud the yell is 17:17:12 hober: also put a note that if you change and get yelled at let us know 17:17:37 RESOLVED: Put it into the spec, put at risk with a note saying to contact specs if you hear from authors regarding compat 17:17:49 fantasai: we'll publish next week 17:17:55 fantasai: probably 17:18:59 dbaron: How much do we need to add to custom layout to make that work in Houdini 17:19:38 Rossen: not much I think, you would need to add the origin and it's nearest ancestor 17:19:51 Rossen: you're always avoiding the origin for scrolling purposes 17:19:52 fremy has joined #css 17:19:59 iank: I'm trying to catch up 17:20:10 dbaron: I think if the nearest scroller is in another writing mode 17:20:15 Rossen: it still has an origin 17:20:19 dbaron: ok you're right 17:20:33 Rossen: it's implementable 17:20:43 Rossen: Now that I understand it, it's not that scary 17:21:27 glazou has joined #css 17:21:33 https://staging.talkgadget.google.com/hangouts/_/google.com/dknox 17:21:40 ^ hangouts link to "dial in" 17:21:56 Topic: Grid 17:22:40 https://drafts.csswg.org/css-grid-1/issues-wd-20150917 17:23:16 Tabatkins: we have a couple things that we need approval first 17:23:43 tabatkins: abspos items in degenerative grids 17:24:33 tabatkins: the question here was what to do when you have a grid with no tracks whatsoever and how to place abspos items as a result, they care where the grid is 17:24:58 tabatkins: there is no grid items, just some abspos and the grid has one grid line but no tracks, where should this line be 17:25:13 tabatkins: the spec says it's against the start edge in both axis 17:25:30 astearns: does anyone have any issues? 17:25:40 astearns: any objections? 17:25:46 hober: what do the implementations do 17:25:52 tabatkins: don't know 17:26:07 RESOLVED: Keep the spec the way it is 17:26:21 tabatkins: the repeat function with auto-fit and auto-fill keywords 17:26:46 astearns, Rossen - should probably add https://drafts.csswg.org/css-grid-1/issues-wd-20150917#issue-20 to the sizing task force breakout 17:26:55 tabatkins: if you have 1000px to work with and auto-fit with 10tracks it will adjust accordingly, with auto fill and you don't have enough columns it will drop them 17:27:05 tabatkins: which columns should you drop 17:27:21 tabatkins: these columns in the middle are not being used, do you drop them? 17:27:40 tabatkins: we don't have a strong opinion on this, currently it's defined at the end 17:27:58 fantasai: we spec it currently based on what's implemented 17:28:40 jensimmons: correct me if I'm wrong, I want empty columns in the middle and they don't want them to go away 17:28:58 fantasai: no this is for the auto-fill not auto-fit within the repeat() syntax 17:29:31 fantasai: I just want to get what I've defined 17:29:41 s/fantasai/jensimmons 17:29:46 fantasai: we'll do that 17:30:30 fantasai: but sometimes when you want to center columns and that contradicts with the amount of columns available, do you drop the tracks at the end and middle, or just the end 17:30:48 fantasai: can anyone come up with a usecase and behavior that people prefer? 17:31:04 https://drafts.csswg.org/css-grid-1/issues-wd-20150917#issue-24 17:31:29 tabatkins: unless anyone has any strong opinion, we'll keep it the way the spec is 17:31:41 tabatkins: which is to drop all empty tracks 17:32:11 dholbert: the countintuitive part is you can have something in col1 and col10 and then remove all the empty ones when you wanted them apart 17:32:19 RESOLVED: Keep spec as is 17:32:28 dholbert has joined #css 17:32:33 https://drafts.csswg.org/css-grid-1/issues-wd-20150917#issue-39 17:32:57 tabatkins: the counterintuitive part is why you would ask for auto generated rows and then explicitly set them into cols 17:33:08 fantasai: we need very competent people to take a look at this one 17:33:14 astearns: anyone? 17:33:37 tabatkins: we think the spec is correct, but we would like for someone to take a look 17:33:44 tabatkins: Rossen was voluntold 17:33:55 ACTION Rossen to review issue 39 of the grid spec 17:33:55 Created ACTION-768 - Review issue 39 of the grid spec [on Rossen Atanassov - due 2016-05-16]. 17:34:13 Topic: Subgrid 17:34:41 tabatkins: The previous position on subgrid was complex so we removed it, that said there are usecases that can't be done in current grid 17:35:10 tabatkins: so we've put together a much simpler proposal that covers the majority of usecases 17:35:22 http://meyerweb.com/eric/thoughts/2016/01/15/subgrids-considered-essential/ 17:35:26 fantasai: here's the feedback we got on subgrid 17:35:29 http://blogs.igalia.com/mrego/2016/02/12/subgrids-thinking-out-loud/ 17:35:43 https://lists.w3.org/Archives/Public/www-style/2016Jan/0141.html 17:36:11 fantasai: what are the things we need to address and how simple can we get it 17:36:14 Rachel Andrew on subgrid, her response: https://rachelandrew.co.uk/archives/2016/04/25/a-revised-subgrid-specification/ 17:36:30 fantasai: there were things we could get rid of, the subgrid auto sizing itself based on its contents 17:36:49 fantasai: you can't have any overflow tracks in the subgrid, you can have overflowing content however 17:36:59 fantasai: it won't affect the sizing of the parent grid however 17:37:17 tabatkins: shows example of the subgrid 17:37:27 Current proposal - https://lists.w3.org/Archives/Public/www-style/2016Apr/0254.html 17:38:25 tabatkins: you declare an item to be a subgrid by giving it display: subgrid 17:38:46 tabatkins: this makes it a grid container but grid-template-columns/rows do nothing on it 17:39:01 tabatkins: the children on the subgrid position on the parent's grid 17:39:08 tabatkins: the subgrid still lays out 17:40:58 W3C_ has left #css 17:41:02 W3C_ has joined #css 17:41:27 tabatkins: the margin/padding/border they get applied accordingly magically to apply the declared amount 17:42:01 florian: I assume this does the right thing no matter the writing mode 17:42:05 tabatkins: yes 17:42:14 tabatkins: it works the same way in nested subgrids 17:42:29 tabatkins: You can not get implicit tracks from the subgrid 17:42:43 florian: can you use display: contents 17:43:00 tabatkins: sure, if you don't need a wrapper at all, then use display: contents 17:43:09 tabatkins: you can't set grid gaps on a subgrid 17:43:24 florian: anyone implementing grid not implementing display: contents? 17:43:41 tabatkins: we plan to, FF has an implementation of it, webkit has a proto I think 17:43:49 florian: I'll write a blog post 17:44:05 florian: to convince everyone to implement display: contents 17:44:10 tabatkins: that's the proposal 17:44:33 nvdbleek has joined #css 17:44:41 tabatkins: does the WG feel this is a good direction to with 17:44:47 tabatkins: overflow still applies 17:45:05 astearns: you were going to go over the single dimension case that this doesn't support 17:45:07 tabatkins: right 17:45:39 tabatkins: let's say you have a subgrid and your parent is 2x2 square but you don't care about the rows of the parent's grid 17:45:54 tabatkins: and you don't know how many rows itself will have 17:46:28 tabatkins: this particular case is easy to hit with HEADER, CONTENT, FOOTER and then you want to fill in the content with your catalog items 17:46:39 tabatkins: however, this makes it very complicated to handle 17:47:13 tabatkins: the case is relatively small, and you can use a nested grid to allow for this 17:47:26 tabatkins: if people demand a lot of this we may try to address it in the future 17:47:49 Rossen: By current subgrid proposal, this is not possible? 17:47:55 tabatkins: yes, it can't work 17:48:32 Rossen: good, I think this keeps it quite simple and keeps the mental model of the grid in tact 17:48:47 florian: have you heard from the authors 17:49:31 fantasai: yeah, I think this addresses the majority of the issues. But wanting to interleave the subgrid lines with the parents lines is very hard but is not covered here 17:50:00 fantasai: there is an issue we marked, subgrid only takes affect if it is a grid item and the grid-template props are set 17:51:05 fantasai: This gives us an extension point that allows us to use subgrid to ensure that the grid props are set to none which they don't affect and later may affect it in the future it could break it 17:51:27 fantasai: the goal of adding the condition is so that the grid WILL break so that we can improve subgrid later 17:51:57 astearns: what do you do in this case then? 17:52:06 fantasai: maybe just treat it as block 17:52:50 dbaron: you're intentionally make it not work unless things are set for extension later then we need to state it in the spec and then also suggest implementations give console warnings 17:53:10 dholbert: we risk authors being ok with the "broken" behavior 17:53:11 s/we need to state/you should say so/ 17:53:59 florian: there's always a risk of that, but grid is so central to your layout that I think if it breaks then we won't have as much compat risk 17:54:13 W3C_ has left #css 17:54:16 W3C_ has joined #css 17:54:24 s/mental model of the grid in tact/mental model of the grid in tact and symmetric/ 17:54:29 astearns: if people do depend on it, we would need to come up with another way to solve it 17:54:48 ekimber has joined #css 17:54:53 astearns: we basically heard from all implementors saying subgrid this is crazy, have thoughts changed 17:55:09 tabatkins: Igalia said their opinion on the list 17:55:32 cabanier has joined #css 17:55:50 dholbert: I spoke to Mats, and he feels this is still complex as you need to keep track of overflow for the items 17:56:09 fantasai: we would be ok with computing overflow to visible always if that is a concern 17:56:16 tabatkins: another issue is paint order 17:56:34 fantasai: I expect authors to be able to control z-index from within 17:56:49 dholbert: with that change, it may make it simpler 17:57:02 fantasai: you won't have to keep track of scrollers, etc 17:57:26 dbaron: z-index also applies to all graphical stuff as well, masks, transforms, etc 17:57:50 fantasai: I think everything should just work unless stated otherwise 17:58:01 dbaron: this is odd that it's basically an element that doesn't have a box 17:58:21 dbaron: this is similar to an element that doesn't have a box 17:58:29 tabatkins: we're getting more explicit about the box 17:58:49 dbaron: but does the spec on filters or mask define whether this applies to elements or boxes, thus would impact a subgrid 17:59:17 esprehn: I don't think we should have another table row problem again 17:59:47 fantasai: I agree, it should get a box and we will on purpose exclude stuff from it to ease implementer complexity 17:59:55 dbaron: so it gets a box? 17:59:59 fantasai: yes 18:00:20 dbaron: this is well defined how the positioning/margin/border/padding 18:00:24 tabatkins: yes 18:01:29 jensimmons: I am an author and feel very strongly that subgrid should be included with grid, and I'm hoping that this is simple enough to ship it 18:01:46 plinss, so you're saying that for layout purposes the subgrid is considered empty but has a size independent of its children sizes? 18:02:04 jensimmons: from my experience they're going to be very confused that they can't align everything to the parent grid 18:02:32 jensimmons: I'm not sure this will cover all use cases, mainly because haven't had the time to play with it 18:03:07 jensimmons: in most cases they're going to be thinking about the explicit grid, not the implicit grid and I hope that this is simple enough that vendors will implement this 18:03:25 fantasai: I think we can resolve that overflow is at risk and say it computes to visible 18:03:35 astearns: so an at-risk within the at-risk section 18:03:49 astearns: is there anything more people want to add 18:03:59 @risk { @risk{ } } 18:04:13 RESOLVED: subgrid proposal accepted in the at-risk section 18:04:45 15 minute break 18:12:22 glazou has joined #css 18:15:15 ekimber has joined #css 18:15:55 plh has joined #css 18:29:19 glazou has joined #css 18:29:59 bradk has joined #css 18:32:18 ScribeNick: shane 18:33:44 Florian has joined #css 18:33:52 ekimber has joined #css 18:34:24 Topic: counters 18:34:38 TabAtkins: ran into a fun example, author commented on what he thought was a mistake in list spec 18:34:56 TabAtkins draws a diagram 18:35:11 shane, or someone: can you move the camera? 18:35:24 Tab writes: 18:35:28
    18:35:29 great, thanks 18:35:30
  1. 18:35:31
  2. 18:35:32
18:35:35
18:35:37
    18:35:39
  1. 18:35:42
18:35:45
18:35:53 TabAtkins: interesting thing is if you manually set up counters 18:36:04 TabAtkins: ..and use the counters function 18:36:24 dbaron: You're supposed to counter reset on ol:before, not ol. I think that avoids the bug you're about to describe. 18:36:27 TabAtkins: IT DOES! 18:36:32 18:36:59 dbaron: even if ::before has display: none? 18:37:00 TabAtkins: So we should just adjust the spec to say ol:before instead of ol 18:37:05 dbaron: assuming :before exists though 18:37:36 or content:none 18:37:50 TabAtkins: counter established by reset on first ol counts its siblings until the first one that resets 18:38:00 but the next ol is a cousin, so it nests instead 18:38:06 s/but/..but/ 18:38:09 ChrisL has joined #css 18:38:24 TabAtkins: few ways around it. (1) instead counter-reset on first li or on :before. Then scope only covers lis 18:38:45 ..(2) explicitly resetting a counter when it came from something that wasn't in ancestor chain then reset instead of nesting 18:39:05 Florian: wouldn't that fail with headings? 18:39:10 TabAtkins: no? 18:39:13 dbaron: yes/ 18:39:14 ? 18:40:23 dbaron: the rule is that a later sibling replaces an earlier sibling's counter, but not if it's a descendant of the later sibling 18:41:26 Florian: if you're using heavy sectioning content then you've got nesting and it'd probably break 18:41:31 s/Florian/Tab/ 18:41:39 dbaron: with sections you should be fine, as long as sections & headings line up 18:42:32 dbaron: was another problem, solution was counter-set property 18:42:36 .. don't remember the probem 18:43:04 TabAtkins: value attribute on li. Already in spec. 18:43:21 dbaron: was trying to remember if other problem relates to this one, it doesn't. 18:43:55 ekimber: Q: what's the use case for having the counter apply to following siblings? 18:44:35 TabAtkins: headings. You set up one counter at the top of the document and run it right down through the whole thing. If you have a flat document structure where headings are siblings then you can reset H1 and H2 counters, which will operate until next H1, next H2, etc. 18:44:41 dbaron: you reset your H2 counter *at* your H1 18:44:54 ekimber: given that, response would be "HTML is broken, so what" 18:44:59 ekimber: so this is user error. 18:45:15 ..this is an unavoidable consequence of having to support this flat list 18:45:28 TabAtkins: not necessarily, only if you want to support *all* of what HTML can do 18:45:53 TabAtkins: if you have an H1 as a child of body, and a div wrapper around the H2 that sets up a subsection 18:46:05 .. then that would break with the suggestion I'm making 18:46:13 https://lists.w3.org/Archives/Public/www-style/2016Apr/0364.html 18:46:35 ekimber: implication seems to be - be consistent, otherwise things will mess up 18:46:46 Florian: also the header element, can use for header of page OR title w. subtitle 18:46:47 Zakim has left #css 18:46:53 .. not consistent, so nesting will be varying 18:47:11 esprehn: this change would be observable, right? 18:47:50 ..ol resets the counter. If you put the value attribute on an li which lets you explicitly number, then there's a reset there too 18:47:55 dbaron: that's a set 18:48:00 TabAtkins: something something bug 18:48:08 esprehn: does anyone implement? 18:48:27 ..we support counter but both value and reset are the same. So doing this changes the behaviour 18:48:34 TabAtkins: but current behaviour is very unexpected 18:48:56 dbaron:
  • - counter value inside each one, without set you'd have 1, 2, 2.5 18:49:06 TabAtkins: so yeah it'll fix it to 1, 2, 5, which is actually good 18:49:16 Florian: given earlier thing with header, does that rule out solution? 18:49:32 TabAtkins: makes it less attractive. Another option: add a property to counter-reset or another property that changes scope 18:49:43 .. to descendants only instead of descendants & siblings 18:49:51 .. problem with :before is that it may not get created. 18:49:58 dbaron: I like the new value or property idea 18:50:13 plinss: putting the :before rule with reset property doesn't trigger :before? 18:50:15 TabAtkins: nope 18:50:50 "This specification does not yet define the CSS-specific rules for rendering li elements, because CSS doesn't yet provide sufficient hooks for this purpose." https://html.spec.whatwg.org/multipage/rendering.html#lists 18:50:51 zcorpan_: Q: is it possible with counter spec to specify how
      and
    1. are supposed to work? 18:51:00 TabAtkins: you can as long as nesting isn't observable 18:51:10 ..except for reverse 18:51:25 ..but if nesting is exposed somehow then the naive mapping is wrong and can't be done in CSS 18:51:40 zcorpan_: I think we should make the counter spec usable by
        ,
      1. 18:51:42 TabAtkins: Yup 18:51:44 fantasai: Yup 18:52:06 TabAtkins: shall we go with the idea of a new value or property that scopes only to descendants? 18:52:27 ol > :first-child 18:52:35 including
          (ideally) 18:52:42 Florian: but we can just ol :first-child { counter-reset: blah } 18:53:08 Tab draws a waaay better diagram 18:53:47 scribenicK: fantasai 18:53:58 Florian: So one proposal was use ::before if it exists, or :first-child of the list 18:54:04 Florian: to reset the counter 18:54:20 TabAtkins: It works for HTML, but it is weird overall, because you have to be concerned with the first child who is being set 18:54:30 TabAtkins: Setting on the container is much cleaner 18:54:42 TabAtkins: So one proposal is to cut counter [...] 18:54:53 https://usercontent.irccloud-cdn.com/file/HwvTalBE/IMG_20160509_115341.jpg 18:54:57 TabAtkins: Better one from dbaron is we have some syntax for indicating on counter-reset that counter will only scope to its descendants 18:55:09 TabAtkins: The counter would then end its scope at the end of the
        18:55:20 Florian: Seems a lot cleaner, but worried it will be very obscure and nobody would know about it 18:55:36 Florian: Is it better to have a simple system with ::before or a complex system with lots of switches? 18:55:37 ScribeNick: shane 18:55:51 TabAtkins: wouldn't have designed counters this way 18:56:20 fantasai: one use case that should work - sometimes you start a list, then close and want to continue later 18:56:28
          18:56:38 dauwhe: this is super important for us 18:57:03 Florian: can't just use a class? 18:57:10 TabAtkins: need to establish counter in ancestor 18:57:37 dbaron: Dave: does it sound OK if browsers implement list numbering using counters, you could do it by having a div higher up that contains all the lists you want to number together 18:57:49 ..explicitly resetting list counter on that div, then removing on individual lists. Would this work for you? 18:58:01 dauwhe: that makes sense to me and I think I can explain it OK to people too 18:58:13 TabAtkins: this is explicitly what we use in the flex algo 18:58:34 .. multiple OLs crossing sections that number subsequently, put a counter on body and use that one instead 18:58:53 Florian: either if we have a simple but surprising system, or a complex system, people aren't going to understand and will need to look at stack overflow 18:59:04 TabAtkins: can put into UA stylesheet and make prominent in spec 18:59:11 .. if you're doing headings, do it like this, etc. 18:59:21 Florian: probably cleaner with complex but unsurprising system 18:59:32 fantasai: if it's a syntactic switch then it'll be in the spec 18:59:47 .. people who are using counters are going to look it up. It'll be fairly obvious 18:59:52 .. so add a keyword to counter-reset? 19:00:10 TabAtkins: can't extend counter-reset. It's multi-valued without commas between each value 19:00:22 .. can't tell whether a keyword is a second counter or not 19:01:07 Florian: so multiple counters, might want to scope each one differently. So need a list in the p'lel property too? 19:01:27 fantasai: can have a second property which does the same as counter-reset but with the other behavior. OR a property that switches the behavior. 19:01:36 dbaron: want other options too, in particular reversing 19:01:51 TabAtkins: currently can't be expressed in the counter model 19:02:57 RESOLVED: add new syntax to control counter scoping and consider reversing too. 19:03:40 (Tab to propose syntax) 19:03:48 (This needs to be directly usable by HTML spec's UA stylesheet for
            ,
              ,
            1. ,
                ...) 19:03:50 teoli has joined #css 19:04:02 (discussion about resolutions, resolution reversion, and contradictions) 19:04:34 (and counter-resolutions) 19:04:38 Topic: values and units 19:05:12 TabAtkins: say you have a background image 'url(#svgfrag)' 19:05:19 ..clearly points to something local 19:05:26 ..once you absolutize(sp?) the url 19:05:38 ..notice it points to same doc, go find it, everything's cool 19:05:53 history.pushState() 19:05:56 ..but say you do push-state to update the URL, the page changes it's URL 19:06:07 .. we don't go an re-absolutize the images 19:06:16 ..(in all browsers, interoperably) 19:06:17 or insert a 19:06:30 this is an inline stylesheet, right? 19:06:33 ..so that's an issue. pushState means the reference is no longer local. 19:06:42