08:03:11 RRSAgent has joined #CSS 08:03:11 logging to http://www.w3.org/2010/11/02-CSS-irc 08:03:19 ScribeNick: jdaggett 08:03:29 Meeting: CSS fatf @ TPAC 08:03:33 komasshu has joined #css 08:03:36 zakim, call Rhone_1 08:03:36 ok, Bert; the call is being made 08:03:37 Team_(css)08:01Z has now started 08:03:38 Meeting: CSS ftf @TPAC 08:03:38 +Rhone_1 08:03:43 +[Microsoft] 08:03:48 rrsagent, make logs public 08:03:49 hidetaka has joined #css 08:04:37 topic: grids 08:04:43 szilles has joined #css 08:05:31 phil cupp on the phone from ms 08:05:40 MoZ has joined #css 08:05:53 alexmog has joined #css 08:06:00 dbaron has joined #css 08:06:02 anne has joined #css 08:06:12 http://www.interoperabilitybridges.com/css3-grid-align/ 08:06:24 +unl 08:07:37 alex: need some good 2d layout mechanism in css 08:07:52 alex: need for ui apps not just free-flowing text 08:08:05 -unl 08:08:20 alex: several proposals for grids/table like layout 08:08:55 alex: looked at requirements first 08:08:57 -Rhone_1 08:09:44 zakim, call Rhone_1 08:09:44 ok, Bert; the call is being made 08:09:46 +Rhone_1 08:10:14 dbaron has joined #css 08:10:25 -Rhone_1 08:11:13 zakim, call Rhone_1 08:11:13 ok, Bert; the call is being made 08:11:15 +Rhone_1 08:11:39 eureka 08:12:11 alex: now back to the show 08:12:19 alex: we like our proposal 08:12:42 alex: how does this relate to previous proposals? 08:12:56 freedom has joined #css 08:13:39 alex: this proposal is based on xul, wpf-grid, probably closest to wpf-grid 08:14:06 alex: but uses flex box like elements (?) 08:14:19 alex: make sense? 08:14:33 alex: let's go over the spec 08:15:07 TabAtkinsTPAC has joined #css 08:15:16 alex: grid works by defining grid lines 08:15:37 alex: layout using row, column coords and how many columns it overlaps 08:15:42 fsasaki has joined #css 08:15:57 alex: grid sizes to content 08:16:18 jun has joined #css 08:16:32 alex: works for both fixed/float cases 08:16:59 alex: define using 08:17:12 alex: display: grid | inline-grid 08:17:44 kennyluck has joined #CSS 08:18:32 cslye has joined #CSS 08:18:39 r12a-nb has joined #CSS 08:18:45 alex: grid-column, grid-row with value to define grid 08:19:04 alex: (looking at ex 2) 08:19:40 dbaron: what are the values of grid-columns, grid-rows? 08:20:11 alex explains syntax 08:22:42 present currently: elika, bert, håkon, peter, markus, tab, beth dakin, richard ishida, steve z, daniel, ms john, sylvain, koji, dbaron 08:23:02 markus: values are from template spec 08:23:54 alex: columns, rows can overlap 08:24:05 alex: lots of interesting overlap cases 08:24:45 alex: for example, equivalent of xul stack layout with single slot w/ multiple items stretching to largest 08:25:47 jdaggett: does this have features that template doesn't support? 08:25:53 alex: overlapping elements 08:26:29 bert: also, this allows you to automatically grows grid with content 08:26:49 bert: I explicitly left that out of Template to keep it simple 08:26:55 sylvain: yeah, if you add content at 5,5 to a 3,3 grid it grows automatically 08:27:31 alex: useful for sparse grids, or grids where order can change 08:27:41 markus: no-brainer if know tables 08:27:47 alex: no ascii art 08:27:54 jdaggett mourns this 08:28:32 bert: syntax question, many ways to express concept 08:28:40 fantasai: snap to grid functionality? 08:28:58 alex: not yet, every item is explicitly placed 08:29:50 fantasai: not a fan of positioning aspect 08:30:06 fantasai: but a flex box layout aligned to grid woud be groovy 08:30:36 glazou 'grid-cell: 'selector'' can be added afterwards 08:30:46 fantasai: using flexbox or template to align would not break with reflow 08:31:11 peter: typically grids are defined by lines not cells 08:31:44 peter: and align to line, not cell 08:32:04 mollydotcom, exacty. I think flexbox or template + snap-to-grid would be great 08:32:22 jdaggett: didn't you propose grid positioning with grid lines? 08:32:31 alex: no real contradiction between the two 08:32:34 mollydotcom, It seems to me easier to lose, and less likely to break with reflow effects (window resizing, font resizing, changing content, etc.) 08:33:11 alex: we didn't want to combine the two 08:33:13 peter: I want to align to a gridline. And I'd probably want to align to a named gridline, so I can insert arbitrary grid lines later and not have it move 08:33:29 alex: could have circular dependencies 08:33:58 alex: i would to see both 08:34:17 alex: but don't want to spend the whole time resolving dependencies 08:34:44 alex: can do the same with this as with gridlines 08:35:28 jdaggett: Graphic design books that talk about grids, was more along what Peter was saying 08:35:38 jdaggett: This model you're going to have to do extra work to define that 08:35:54 markus: two core use cases 08:36:06 markus: 1. print design layouts 08:36:21 markus: 2. app layouts 08:36:28 markus: this is more for (2) 08:37:01 alex: grids in print don't deal with resizing issues 08:37:36 alex: much better to have some that are fixed, some that flex 08:38:24 alex: when grid is sized by content is actually more useful but doesn't cover all scenarios 08:38:37 stevez: symbolic identification 08:38:44 Peter` has joined #css 08:38:45 stevez: names to cells? 08:38:54 fantasai: that's what template does 08:39:08 alex: we have started with minimal feature set 08:39:26 peter: i don't want to name cell, i want to name lines 08:39:51 peter: if a grid row/line is added in the middle, the grid shrinks 08:40:10 peter: i want to span from one gridline to another 08:40:22 peter: even if lines are added in between 08:40:43 peter: could be dynamic or for additive layout 08:40:58 peter: like in the case when you just want to add a logo to a layout 08:41:17 Bert, files are in http://dev.w3.org/cvsweb/csswg/css-device-adapt/ but not in http://dev.w3.org/csswg/css-device-adapt/ ? 08:42:00 pcupp: we thought about a pseudo-element that spans cells (?) 08:42:23 pcupp: the cell defines a region for content to be laid out 08:42:29 (Maybe Peter is thinking of something like: 'grid-columns: a=0%, b=75%, c=50%' and then 'grid-column: c'?) 08:42:41 pcupp: maybe it's aligned, maybe it stretches 08:43:26 pcupp talking about an example... 08:43:39 markus: just a slightly different use case 08:44:02 alex: can it be used as gridlines? no, not just with this 08:44:18 alex: but we want to have some form of gridline like capability 08:44:32 fsasaki has joined #css 08:44:38 sylvain: i think we need to capture peter's use case 08:44:48 sylvain: of inserting new gridlines 08:45:23 peter: this defines cells but i don't think we need another way of defining cells 08:45:45 alex: this is about grid alignment of cells 08:45:59 peter: I understand this gives some more capabilities that template doesn't have, but let's improve template and use this module to do something different 08:46:05 alex: obviously we can take it further 08:46:25 peter: give me the ability to name a gridline 08:47:05 peter: so that i can say "this thing goes in a box that goes between these things" 08:47:23 s/things/gridlines/ 08:47:27 peter: this way i can define my cells arbitrarily 08:48:15 peter: rows/columns we already have, i want new toys 08:49:08 daniel: peter's proposal is not far away from my proposal to define layout with respect to other elements 08:49:21 murmurs of disagreement 08:49:49 I think this is pretty different, since this contains things properly so things won't overlap. 08:50:26 continuing through spec 08:50:33 dbaron: : no verlap ? 08:51:17 alex: there is a property that controls the order of rendering 08:51:19 joonho has joined #css 08:51:27 alex: to deal with overlapping elements 08:51:32 alex: not super important 08:51:52 (section 8 of spec) 08:52:07 peter: what if you just use z-index? 08:52:12 alex: we can discuss that 08:52:19 peter: i don't see the difference 08:52:33 alex mumbles... 08:52:39 and smiles 08:53:07 daniel: i'm considering working on peter's proposals 08:53:21 daniel: i have a few ideas about this 08:53:34 howcome: use cases would be interesting 08:53:40 howcome: for comparison 08:54:01 daniel: i'll work on the ideas, then the use cases if i have time 08:54:14 stevez: there were previous proposals for... 08:55:01 stevez: a two-column layout with a figure in the middle 08:55:15 stevez: there's an issue with how to overlay 08:55:31 howcome: that's in gcpm!! 08:55:49 howcome: but this is app centric, not document centric 08:56:07 peter: lots of use cases for document centric uses 08:56:22 daniel: this is really about app centric use 08:56:30 alex: concurs 08:56:37 stevez: i'm dazed and confused 08:56:56 I believe template + flex coudl do most of these layouts, aside from the overlapping ones 08:57:17 stevez: i thought you were tailoring the syntax for one use 08:57:40 exr has joined #css 08:57:50 markus: there's an aspect.... 08:58:12 pcupp: we think it's the common case where controls are composed using this 08:58:31 section 2.4, figure 6 08:58:44 picture of a slider 08:58:56 because the world needs more sliders... 08:59:12 alex: what can we do with this? new module? merge with another? 08:59:34 bert: seems close to flex box 08:59:46 tab mumbles 09:00:01 bert: i have a number of comments 09:00:36 bert: when you put two elements in the grid they overlap, they don't add 09:00:43 bert: might be good or bad 09:00:57 markus: you need it as in the slider example 09:01:12 tab: this example is also nice for being able to overlap 09:01:23 +1 for tab's comment 09:01:24 bert: what's the intrinsic size in this case? 09:01:34 ? 09:02:07 alex: multiple items in cell all affect sizing 09:02:14 tab: I provided an example in my response to the grid-align thread where it was useful to be able to position multiple items in one cell and have them flow together, rather than overlap. However, overlapping is *also* useful. 09:02:19 bert: don't like three props, why not one 09:02:43 alex: yeah but that would be a long line 09:03:27 alex: well you don't need to specify predefined size 09:03:38 bert: wondering float and position 09:03:46 alex: works just like flex box 09:03:50 I'd prefer not to put complicated syntax inside values of 'display'. 09:04:07 alex: float ignored, position with regards to nearest positioned element 09:04:23 tab says something i don't understand 09:05:01 alex: position might also work the same way but not affect sizing 09:05:37 tab: in my position layout proposal, i came up with a good model for positioning in new layout proposals 09:06:12 I think alex said there are two options for position: absolute: the normal way (placeholder, etc.) or position according to grid rows/columns but not affect sizes of the grid rows/columns. 09:06:14 argh, not following tab again... 09:06:42 alex: the way to think about absolute positioning 09:07:08 alex: with a grid it's obvious where it's positioned 09:07:10 yuma_1985 has joined #css 09:07:11 TabAtkinsTPAC: In my Positioned Layout proposal I specified a consistent and easy way to make positioning interact with other layout modes. 09:07:12 alex and bert discuss this 09:07:28 TabAtkinsTPAC: The positioned element leaves behind a placeholder element. 09:07:58 bert: difference between grid-row and grid-rows is just one letter 09:08:06 same for columns 09:08:32 syntax discussion 09:08:56 TabAtkinsTPAC: You could then use the grid properties to position the placeholder, which would affect the 'auto' position of the abspos box (what it means for "top:auto", etc.) 09:09:01 bert: for flex box the content is in a given order 09:09:21 bert: with this proposal the source order doesn't affect the order in the grid 09:09:34 alex: one possible extension is auto-incrementing rows/columns 09:09:40 alex: this is closer to xul grid 09:10:03 dbaron: also auto-incrementing row-groups/column-groups 09:10:45 and you could allow them to take grid-row/grid-column (or lines) and not start at the top-left 09:11:10 bert: the idea that you auto-create the table based on a single cell 09:11:26 bert: but you can't catch errors in your design 09:12:19 bert: because it's not based on explicitly named entities 09:12:36 alex: either way you need to define a protocol here 09:12:51 bert: i'm not sure plus/minus but it does mask errors 09:13:03 bert: you don't allow % in cell size 09:13:25 alex: could be added 09:13:41 tab: what exactly do you want to base the % on 09:14:05 tab: you need to explain which the % is based one 09:14:23 komasshu has left #css 09:15:03 komasshu has joined #css 09:15:23 dbaron: i was thinking of someone designing a page 09:15:39 with embedded grids with constraints between elements 09:15:58 dbaron: with this proposal you would use nested grids 09:16:35 +1 to David's proposal 09:16:55 dbaron: are there cases where nested grids need to line up with ... 09:17:06 peter: this is why gridlines are handy 09:17:09 Ibrahima_ has joined #css 09:17:16 s/why/why named/ 09:17:36 (DBaron wants something like constraints on the columns widths: a = b = c, d = e, sum(a.e) = parent, but not relation between a,b,c on one hand and d,e on other...) 09:17:58 pcupp: so you're talking about how to line up nested grids with outer grid 09:18:27 pcupp: with unioned gridlines, spanning behavior becomes hard to predict 09:18:39 pcupp: things tend to grow in unpredictable ways 09:19:19 dbaron's drawing: 09:19:24 +--------------+ 09:19:25 | | 09:19:25 | +--+--+ 09:19:25 | | | | 09:19:25 +--+--+--+--+--+ 09:19:27 | | | | | 09:19:30 +--+--+--+ | 09:19:30 bert: also, you can't put something in your cousin grids, only grids within single tree 09:19:32 | | 09:19:35 +--------------+ 09:19:58 ah, we do so need ascii art 09:20:05 bert: just a remark 09:20:11 bert: this is hard 09:20:29 bert: cesar found examples where this might be handy 09:20:44 stevez: why is that a good thing? 09:21:15 bert and steve discuss trees and kissing cousins 09:22:09 stevez: similar to separating template from content 09:22:24 bert: you can select different grids from screen size 09:22:46 bert: you can use the body element to hook your grid on 09:23:26 bert: those are my comments 09:23:37 fantasai: you might also want named grids 09:23:44 fantasai: main and secondary 09:24:09 fantasai: but maybe i don't totally understand 09:24:20 alex: we would like to make this an editor's draft 09:24:23 (Something like: 'grid-column: a.1' for column 1 in grid a?) 09:24:29 alex: what else do we need to get there? 09:25:03 alex: we can make changes to deal with use cases and functionality discussed 09:25:17 stevez: how many table-like layout mechanisms do we need 09:25:19 ? 09:25:26 markus: you need a variety 09:25:50 markus: you need abosolute positioning, flex box, grid 09:26:02 markus: each solves a different use case 09:26:20 howcome has joined #css 09:26:27 pcupp: overlap in grid / flexbox use 09:26:49 pcupp: they're complimentary 09:26:55 peter: this is a 2d flexbox 09:27:05 stevez: there are comonalities 09:27:12 stevez: declaring size 09:27:21 stevez: concerned about complexity 09:27:27 markus: in the end it all makes sense 09:27:36 markus: app vs. doc roles 09:27:50 s/size/size constraints/ 09:27:57 tab: steve, your concern is that we get too much complexity? 09:28:12 stevez: it's that we have a lot of ways of defining cellsize 09:28:26 stevez: are the pieces the same across all three sizes? 09:28:44 tab: you can express everything in one master model 09:28:59 tab: different uses require different layout models 09:29:19 tab: layout models interact in orthogonal ways 09:29:30 tab: make each as easy as possible 09:30:29 stevez: i'm ok with that but i want to make sure that concepts carry across the models 09:30:40 stevez: the base primitives need to be consistent 09:31:15 tab: yes, you want primitives to work across layout models (?) 09:31:34 howcome: healthy competition across modules is good 09:31:50 howcome: this model and template don't make sense together 09:32:30 stevez: is there an action item for bert/alex to combine these ideas 09:33:05 bert: future ideas, non-rectangular cells, chained cells 09:33:10 howcome: and across pages 09:33:25 bert: so the question is how these concepts fit with that 09:33:44 peter: grids that flow across pages or grids that repeat 09:33:57 peter: can we use the same syntax for both 09:34:09 markus: need to be careful about use cases 09:34:24 markus: if combination is complex, life sucks for everyone 09:34:41 peter: one problem is that you're calling this a grid 09:35:01 peter: it's not really a grid 09:35:15 stevez talking about the beauty of xsl 09:35:39 markus: need to solve both print-like and app use cases 09:36:07 markus: two action items, alex/bert to kibbitz 09:36:26 markus: and talk with daniel about his ideas 09:36:36 peter: may end up with 90% overlap 09:36:57 stevez: could be true, punchout or overlay, small set of props captures both 09:37:11 stevez: a model for both is important 09:37:25 stevez: no problem if app is favored, since docs are harder 09:37:34 peter: i just want us to be thinking about this 09:37:58 markus: yeah, maybe grid is not the best name here 09:38:23 fantasai: grid-columns and grid-rows are common to both grid specs? 09:38:36 alex: yeah, we have to merge or redefine 09:38:51 discussion of what to do with the document 09:39:25 daniel: grids are already in the charter 09:39:47 stevez: not sure this is FPWD ready 09:40:01 stevez: we should do some vetting 09:40:22 daniel: don't need to name it now 09:40:32 markus: first agree on what's in these specs 09:40:48 -[Microsoft] 09:40:50 timeless_mbp has joined #css 09:40:56 break for coffee and champagne 09:41:17 RRSAgent, make minutes 09:41:17 I have made the request to generate http://www.w3.org/2010/11/02-CSS-minutes.html myakura 09:43:02 kennyluck has joined #CSS 09:43:50 -Rhone_1 09:43:51 Team_(css)08:01Z has ended 09:43:53 Attendees were Rhone_1, [Microsoft], unl 09:44:51 komasshu has joined #css 09:47:06 glazou has joined #css 09:48:57 yuma_1986 has joined #css 09:49:28 mjs has joined #css 09:52:43 cslye has joined #CSS 09:58:43 shan has joined #css 10:06:17 dethbakin has joined #css 10:07:25 jun has joined #css 10:08:39 homata has joined #CSS 10:08:46 shepazu has joined #css 10:09:28 hidetaka has joined #css 10:09:36 dethbakin has joined #css 10:11:06 glazou has joined #css 10:11:16 ScribeNick: TabAtkinsTPAC 10:11:23 http://dev.w3.org/csswg/css3-writing-modes/ 10:11:38 http://dev.w3.org/csswg/css3-writing-modes/ 10:12:29 fantasai: In the draft, I define some terms and drew some pictures. 10:12:35 fsasaki has joined #css 10:13:00 MikeSmith has joined #css 10:13:15 howcome: I suggest simplifying the terms to 'inline direction' and 'block direction', not '* flow directionality'. 10:13:35 szilles: I think "directionality" is a hard word for non-English speakers. 10:13:41 fantasai: Okay, don't have an opinion much. 10:13:43 timeless_mbp has joined #css 10:13:57 fantasai: Most of the bidi text here is just copied from css 2.1. 10:14:22 section 3.2. title typo: 'uncode-bidi' 10:14:52 dbaron: Could we have an additional set of parens on the unicode-bidi property, so we don't have to rely on knowing the relative strength of the opeerators? 10:15:14 fantasai: 'isolate' is a new unicode-bidi value, proposed by the bidi for html group. 10:15:29 fantasai: That prevents strings that have a different directionality from having an effect on the text around them. 10:15:30 Kai has joined #css 10:15:52 fantasai: There's also a plaintext value, which is intended to use the unicode bidi algorithm to determine the bidi direction of each paragraph. 10:16:03 r12a-nb has joined #css 10:16:05 fantasai: This does *not* affect the direction property, it just affects bidi resolution. 10:16:20 aharon: Should I give use-cases for 'isolate' and 'plaintext'? 10:16:24 szilles: Would be helpful. 10:16:42 aharon: 'isolate' is useful in the context of a webapp that is inserting data into a page. 10:16:56 http://www.w3.org/TR/2010/WD-html-bidi-20100304/ has some use cases for these new features, no? 10:16:59 MoZ has joined #css 10:17:04 shepazu has joined #css 10:17:05 aharon: Frex, I'm displaying search results, and the title of the results are outside data and may not be in the same language as the rest of the UI. 10:17:34 aharon: If you don't isolate the titles, it quite often interacts with the stuff around it, such as numbers and other neutral characters. 10:18:23 aharon: Outside of an app, it's useful for quotes and links - I can't imagine why you'd want a link to be broken up into two parts due to its directionality interacting oddly with the surrounding content. 10:18:33 fantasai: It drastically reduces the number of LRM/RLM you have to use. 10:19:04 aharon: Side thought - I think instead of "inline direction", use "inline base direction". 10:19:15 aharon: The base direction is controlled by the 'direction' property. 10:19:19 aharon: Might be good to use the term "inline base direction" instead of "inline directionality" 10:19:30 (given the previous discussion about avoiding the term "inline directionality") 10:19:34 aharon: There are a couple of problems. You might not know what the direction is - it could be outside data. 10:19:53 aharon: It is very useful to let the UA guess what the direction is using standard algos based on the characters in the data. 10:20:13 aharon: There is a separate proposal in HTML for @dir=auto to do this. 10:20:21 s/to do this// 10:20:35 aharon: That's not precisely what we have here in 'plaintext'. 10:20:57 aharon: The UA, in HTML, sees dir=auto, looks at the content, decides whether the direction is rtl or ltr, then sets the CSS 'direction' appropriately. 10:21:12 aharon: That's good, but doesn't go quite far enough. 10:21:26 aharon: Let's say I have a textarea - plaintext - that the user is typing into. 10:21:53 aharon: Is it fairly useful to have some paragraphs in one language and some paragraphs in another language. Frex, I'm typing in a restaurant review in Hebrew. 10:22:25 aharon: I give the review in Hebrew, then say "the address is:..." and give it in French because the restaurant is in Lyon. If I don't switch the direction of the paragraph, the number at the start of the address will go on the wrong side. 10:22:38 aharon: So you want the ability to have paragraphs that go in different directions. 10:22:48 aharon: If you're doing markup, that's great - you can just make separate paragraphs. 10:22:58 aharon: If you're just typing into a textarea, though, you cant' do that. 10:23:20 aharon: The unicode bidi algorithm defines a simple way to define the directionality of each paragraph (where "paragraph" is defined by the bidi algorithm). 10:23:40 aharon: So 'plaintext' would say that the textarea isn't necessarily ltr or rtl, it's plaintext where each paragraph can go either way. 10:23:59 aharon: It's still not limited to textarea, of course - often after taking the data from a textarea you want to then display it. 10:24:20 aharon: So you want to still be able to apply this same directionality algorithm to the results outside of a textarea. 10:24:55 aharon: You can't hide the directionality determination from CSS with dir=auto here, because the different paragraphs aren't marked up as explicit elements. 10:25:12 dsinger has joined #css 10:25:12 dbaron: [question about which characters serve as paragraph separators] 10:25:50 aharon: The unicode algorithm is very precise about which characters are paragraph separators. In the past, some browsers didn't follow that exactly, which is basically a bug. 10:26:02 Bert: What's the difference between 'embed' and 'isolate'? 10:26:26 aharon: 'embed' says "this element has a base direction", but that doesn't prevent the element from affecting stuff outside of it. 10:27:01 aharon: So, if I have an english paragraph, but in the middle is an arabic word and then an embed of a separate element which is explicitly rtl. 10:27:16 aharon: The unicode algorithm says that the arabic and the rtl are merged together and will both flow rtl together. 10:27:34 aharon: You don't want this - logically, the arabic and the embed are separate, and shouldn't stick together. 10:27:58 Bert: So inside, 'embed' and 'isolate' are the same. They're different outside? 10:28:00 aharon: Yes. 10:28:16 howcome: It seems that you need to explicitly set all block-level elements to 'isolate'? 10:28:23 dbaron: That should be in the default stylesheet. 10:29:02 aharon: You don't necessarily need it. It's just that if you have a block-level element and you use CSS to make it display inline, you really want it to still be isolated. 10:29:28 aharon: Right now HTML5 effectively says that all block-level elements should be 'embed'; we just changed it to 'isolate', which is closer to the intenet. 10:29:57 aharon: As to making a block inline, one example is an inline list. If some of those values are opposite direction, it's important to have isolation apply to them. 10:30:17 howcome: So, can we in any way hinge this behavior on the existing CSS display? 10:30:30 fantasai: If the display is anything other than inline, you already *effectively* have the isolate value. 10:30:53 fantasai: The problem is just that when you change the display value to inline, there's no CSS distinction to tell us that this *used* to be a block-level, so you need 'isolate' there. 10:32:30 TabAtkins: You can in the UA stylesheet just set all the block elements to 'isolate', so the author doesn't have to think about it. 10:32:40 howcome: But you have to remember to set 'isolate' in new XML languages. 10:32:42 RRSAgent, make minutes 10:32:42 I have made the request to generate http://www.w3.org/2010/11/02-CSS-minutes.html MikeSmith 10:32:44 TabAtkins: Yes. 10:33:07 Bert: Does this cover all known cases? 10:33:19 fantasai: This covers all of CSS2.1 + all of the proposals from the bidi subgroup for i18n. 10:33:44 fantasai: Now, 'writing-mode'. 10:33:58 fantasai: The previous writing-mode property was a shorthand for block-flow-direction and 'direction'. 10:34:17 fantasai: One of the things I was tasked with was to sync with SVG, which is very explicit that the writing-mode and direction property don't interact. 10:34:31 fantasai: The SVG spec has these valuees (lr, lr-tb, rl, tb, tb-rl) 10:34:56 fantasai: I could figure out what the 'rl' value was and how it differs from 'lr'. 10:35:13 fantasai: The SVG spec says you do bidi reordering, then use writing-mode to change the inline progression direction. 10:35:30 i/css3-writing-modes/Topic: Writing modes 10:35:34 RRSAgent, make minutes 10:35:34 I have made the request to generate http://www.w3.org/2010/11/02-CSS-minutes.html MikeSmith 10:35:38 fantasai: Which is left to right in 'lr' - this is *after* bidi reordering, in visual ordere. 10:36:09 fantasai: As far as I can tell, 'rl' should maybe just mean reverse the text, but I only found one impl that does that. 10:36:23 fantasai: So, I just mapped both of them to the same thing - 'horizontal-tb'. 10:36:58 fantasai: So now, in CSS, the 'direction' and 'writing-mode' are distinct. You first do bidi reordering, then 'writing-mode' just defines the axis to use. 10:37:22 Hixie has joined #css 10:37:25 fantasai: I thought that saying 'lr' was confusing, since it doesn't have anything to do with ltr text, so I called the value "horizontal-tb". 10:37:44 shepazu: The hreason SVG does it the way it does, is because XSL did it that way. 10:38:18 fantasai: I don't have any objection to the way SVG did it. I don't think it's good for authors to be using a property that resets all the bidi in the document just to get vertical text. 10:38:36 sylvaing: Is there content out there using 'writing-mode:lr-tb'? 10:38:45 fantasai: Yes, but it's not relying on the direction-reset stuff. 10:39:23 fantasai: I think the number of people who are mixing rtl with vertical text right now is basically ignorable, though I suspect it will increase as we support this. 10:39:41 shepazu: Let's say I have a table in HTML, and I want a header going down the side, with english vertical text... 10:39:48 fantasai: That's addressed by other stuff in the draft. 10:40:23 fantasai: So, with 'writing-mode', the first value gives you the line axis, the second gives you the block-flow. "horizontal-tb", and "vertical-lr". 10:40:52 fantasai: [I missed the line about mongolian] 10:41:08 jdaggett: I don't understand why we need horizontal-bt. 10:41:14 fantasai: I did it because MS implemented it. 10:41:21 alexmog: Mainly for completeness. 10:41:28 jdaggett: I don't understand completeness. 10:41:58 alexmog: It's simple and obvious what it means. There aren't large use-cases, but it takes a very minimal impl cost. 10:42:18 jdaggett: Agreed that it's a minimal cost, but I still don't think that we should have random property values. Someone still has to test that. 10:42:34 jdaggett: Frex, this can affect what PgUp/PgDn mean, which means manual testing. 10:42:44 fantasai: I completely abstain from this. 10:43:05 shepazu: Are there any scripts that have used it? 10:43:14 [maybe some archaic scripts, but not commonly] 10:43:30 howcome: I don't think we need to try for complete here. 10:44:22 howcome: What does it mean in a paged medium? 10:44:36 [chatter about pagination] 10:44:41 fantasai: You paginate up. 10:45:17 shepazu: Small but serious use-case. 10:45:44 shepazu: There are efforts now to go back to ancient texts and transcribe them in some format. There are people who want to represent dead languages. 10:46:01 jdaggett: I think we can remove it for now, and then put it back if someone has a language that needs it. 10:46:49 dbaron: I don't think it's minimal cost, because dealing with overflow/scrollable region handling, you'll need to test initial scroll position being at th bottom, etc. 10:47:22 alexmog: We've already defined 6 of the 8 possible directions, which already bring up the issues you mention. Is it additional burden to add the last two? 10:47:48 plinss: Can we mark it as optional? 10:48:00 jdaggett: It's either in the test suite or not. 10:48:51 plinss: We can spend as much time debating it as it would take to implement it. 10:49:39 fantasai: I don't care what we do. I just want to resolve. 10:50:18 RESOLVED: remove the horizontal-bt property. 10:50:44 Bert: The name is fine, but I think that 'writing-mode' in XSL does influence the direction, so there's a difference there. 10:51:41 fantasai: The disconnect between XSL-FO and SVG/CSS has existed since SVG 1. I don't think bringing up the incompatibility is useful, since the incompat already exists in SVG, so you'll have to support it anyway. 10:52:30 jdaggett: I don't know why XSL compat is an issue. 10:53:35 szilles: SVG needs to work in both XSL and CSS. 10:53:54 fantasai: SVG is already incompatible with XSL. 10:55:04 Bert: I thought that SVG copied from XSL. 10:55:22 mjs has joined #css 10:55:26 fantasai: They must have copied badly here, then. 10:56:16 shepazu: I don't know if there's a lot of existing content, but I think in general the SVGWG is okay with changing behavior to match the CSS model, as long as it doesn't break existing content. 10:56:38 Bert: I'd like to be able to use CSS and XSL together. 10:57:31 shepazu: There is a japanese SVG interest group, so they'll look at the issue. 10:58:11 fantasai: Next interesting bit is text-orientation. 10:58:20 fantasai: szilles and XXX and I worked out these values a long time ago. 10:58:54 fantasai: The default is "vertical-right", because that's the natural orientation for vertical scripts. 10:59:20 jdaggett: The Latin-1 version of the latin alphabet and the fullwidth version usually act differently in vertical text, and this is captured in opentype. 10:59:25 fantasai: The spec actually specifies that. 11:00:07 jdaggett: We probably want to be explicit about the interaction with opentype, or refer to the spec. 11:00:15 fantasai: I'll need help with that, because I have no clue. 11:00:42 RRSAgent, make minute 11:00:42 I'm logging. I don't understand 'make minute', MikeSmith. Try /msg RRSAgent help 11:00:46 jdaggett: You use the term "grapheme clusters", which I think won't be underestood by most people. 11:00:46 RRSAgent, make minutes 11:00:46 I have made the request to generate http://www.w3.org/2010/11/02-CSS-minutes.html MikeSmith 11:01:10 ishida: Sometimes grapheme clusters aren't sufficient in indic scripts. 11:01:21 fantasai: Is that captured in the "extended grapheme cluster" definition? 11:01:36 ishida: No. You either need a new definition, or need to punt it to the UAs. 11:01:53 fantasai: Let's mark that as an issue. It's the same problem we have with first-letter, so we need to fix it the same way. 11:02:29 Bert: Could we call the default 'normal' or 'auto'? 11:03:03 howcome: I don't understand what you mean by "not native writing mode". 11:03:16 fantasai: horizontal script in a vertical orientation is "non-native", and vice versa. 11:03:58 Bert: The default value is the normal way that english is embedded in japanese, so it should have a simple name. 11:04:12 ishida: Not always normal - acronyms are often not rotated. 11:04:25 fantasai: Those are usually done with fullwidth glyphs, which do their rotation correctly. 11:04:38 fantasai: Compat with SVG; we're not using glyph-orientation. 11:04:57 fantasai: It doesn't well handle a lot of corner cases. I recommend we not going into the precise details. 11:05:27 fantasai: The interaction between text-orientation and glyph-orientation is well-defined, though - text-orientation will by default defer to glyph-orientation in a UA that implements both. 11:06:10 Make auto value default value for everyone -- maps to vertical-right for impl that don't support glyph-orientation 11:07:24 fantasai: Now, text-combine. 11:07:59 fantasai: It can be used for an effect called "tate-chu-yoko". It's different from just doing an inline-block, because the combination is treated like a single glyph. 11:08:20 jdaggett: I think that since this is a vertical-only property, maybe the name should reflect that. 11:08:30 jdaggett: Also we can probably drop the 'cluster' property. 11:09:14 mjs has joined #css 11:09:15 ishida: You can have kumimoji (sp?) in horizontal text too. 11:09:40 jdaggett: You can either do that as direct codepoints, or many fonts have ligatures for those, which are different for vertical vs horizontal and will do the right thing. 11:10:01 jdaggett: I just don't think we want the UAs to synthesize these. A font will have something that looks nice with the text surrounding it. 11:10:24 ishida: Then there's warichu (sp?). Are you discounting that? 11:10:33 jdaggett: That's a known hard problem. Not currently addressed by this draft. 11:10:47 http://www.w3.org/International/articles/css3-text/#Slide0190 has pictures of kumimoji and warichu 11:11:07 szilles: I think what's being proposed is that the 'cluster' should be split out, because it's a different thing from tate-chu-yoko. 11:11:27 jdaggett: Also, some people from the japanese TF came back and said that it's not really good typography to do this. 11:11:41 ishida: It makes some sense to me to not bundle it with the tate-chu-yoko. 11:12:13 jdaggett: For tate-chu-yoko, some authors may only want to do this style (2-characters only), but newspapers will sometimes use third-width or quarter-width glyphs (for things like years). 11:12:34 jdaggett: It would be nice to say "I want tate-chu-yoko for 2-character runs, but not 3 or more". So maybe a number in the property. 11:13:14 jdaggett: Fallback behavior - I think I said behavior that quarter-width falls back to third-width, falls back to half-width, falls back to full-width. I think instead if one doesn't exist it should scale. 11:13:18 fantasai: Or just have it overflow. 11:13:39 szilles: I think if you had a year that was expeected to be a single line, splitting it into two segments would be confusing. 11:13:41 jdaggett: Right. 11:14:56 szilles: Also, tate-chu-yoko is sometimes done with letters, for acronyms like "IBM". 11:14:59 mjs has joined #css 11:15:25 jdaggett: Unfortunately, fonts have quarter-width numbers much more commonly than letters. 11:15:36 exr2 has joined #css 11:16:01 ishida: Perhaps we should ask the Japanese here in our group what they think. 11:16:18 dbaron: Also, is falling back to scaling bettere than falling back to no tate-chu-yoko at all? 11:21:08 mjs has joined #css 11:24:37 seungjae has joined #CSS 11:25:52 seungjae has joined #CSS 11:27:43 seungjae has joined #css 11:28:20 yuma_1986 has joined #css 11:30:12 timeless_mbp has joined #css 11:32:02 TabAtkinsTPAC has joined #css 11:39:40 Zakim has left #CSS 11:52:29 glazou has joined #css 11:54:18 RRSAgent, make minutes 11:54:18 I have made the request to generate http://www.w3.org/2010/11/02-CSS-minutes.html MikeSmith 12:08:48 mollydotcom has left #css 12:11:01 murakami has joined #css 12:14:55 jdaggett has joined #css 12:22:08 plinss_ has joined #css 12:25:24 dsinger has joined #css 12:28:04 glazou has joined #css 12:29:30 dethbakin has joined #css 12:29:45 yuma_1987 has joined #css 12:31:12 timeless_mbp has joined #css 12:31:17 myakura has joined #css 12:32:12 DavidClarke has joined #css 12:32:39 anthony has joined #css 12:32:55 anthony has left #css 12:32:56 r12a-nb has joined #css 12:33:02 anthony has joined #css 12:33:33 dbaron has joined #css 12:33:40 joonho has joined #css 12:34:07 shan has joined #css 12:34:26 anne has joined #css 12:35:18 jun has joined #css 12:35:50 mjs has joined #css 12:36:05 freedom has joined #css 12:36:32 shepazu has joined #css 12:37:38 johnjan has joined #css 12:38:39 sylvaing has joined #css 12:38:43 scribenick: sylvaing 12:39:48 RRSAgent, make minutes 12:39:48 I have made the request to generate http://www.w3.org/2010/11/02-CSS-minutes.html timeless 12:40:07 fantasai starts reviewing section 7 of http://dev.w3.org/csswg/css3-writing-modes/ 12:40:11 http://dev.w3.org/csswg/css3-writing-modes/ 12:40:13 http://dev.w3.org/csswg/css3-writing-modes/#abstract-layout 12:40:40 fantasai: i could not come up with a use-case for making overflow-x and overflow-y absolute 12:40:44 alexmog has joined #css 12:40:51 dbaron: people could have an expectation of what x and y map to ? 12:41:05 fantasai: so y is the block direction and x is the line direction 12:41:32 transforms has translateX(), translateY(), skewX(), skewY() 12:41:35 jdaggett, dbaron: x and y are used for transforms and map to a physical concept 12:42:24 homata has joined #CSS 12:42:30 Kai has joined #css 12:42:40 jdaggett: this is a really large change. the use-case is not clear to me. 12:42:53 szilles has joined #css 12:43:10 jdaggett: we are talking about transforming coordinate systems within the page 12:44:01 plinss: it doesn't mean a true coordinate transform. this is attempting to solve a specific problem. 12:44:31 fsasaki has joined #css 12:44:41 plinss: it's just keeping overflow-x instead of having overflow-line-progression-direction 12:44:55 hidetaka has joined #css 12:45:10 dbaron: i think overflow-x and overflow-y horizontal and vertical (respectively) 12:45:32 ... and the spec should use the terms block-axis and inline-axis rather than redefining x-axis and y-axis 12:45:58 jdaggett: why does vertical text require these changes ? 12:46:45 glazou_ has joined #css 12:47:43 q? 12:47:54 komasshu has joined #css 12:48:01 szilles: this is similar to asking why we need both flexbox and layout. we think they are valuable because they fit to certain tasks. likewise, these might be useful in some cases for people who use vertical text. Murakami-san's showed that it helped with maintenance. 12:48:15 jdaggett: if you author content in both modes, yes 12:48:26 jdaggett: this is still not related to vertical text 12:48:44 aharon: logical properties are not just related to vertical text, they also matter for bidi 12:49:04 aharon: the use-case for logical properties - start, end - in bidi is not theoretical 12:49:35 aharon: an application that needs to support UI in different languages currently needs to provide different stylesheets. 12:49:49 aharon: they're the same stylesheets, one effectively generate from the other 12:49:50 s/start/(padding,*)-start/ 12:49:52 s/end/(padding,*)-end/ 12:50:38 aharon: e.g. margin-left in this stylesheet becomes margin-right in the other 12:51:29 jdaggett: but is the stylesheet for vertical text really going to be a rotation of the western ltr stylesheet ? The design is not completely symmetrical e.g. controls may not rotate 12:51:52 jdaggett: authors want to be able to describe what they'll do for this writing-mode vs. that other one. 12:52:44 fantasai: this is not about making every automatic; there will still be a lot of fine-tuning e.g. drop shadows might have to change side 12:53:04 fantasai: but this should get you 90%+ of what you need. for instance, for a book. 12:53:39 howcome: you do want to set different values. duplicating properties does not address the problem 12:54:12 dbaron: I think john is asking whether there is a use-case for having something that is vertical in one context and horizontal and another on the web. this is not about asking whether there is a use-case for vertical 12:54:51 fantasai: is sharing the stylesheet between ltr and rtl a valid use-case ? 12:55:07 Zakim has joined #CSS 12:55:17 q+ 12:55:28 fantasai: but if I want to do the same thing for my Japanese translation, it will not work ? 12:56:07 jdaggett: this is not at all the same typography. Japanese layout is not rotated english 12:58:27 jdaggett: in the webkit UA stylesheet, the default margin for paragraphs is 1em 0px. that's not a valid default for vertical Japanese paragraphs 12:59:23 koji: Whether paragraphs are separated by 1em margin or no margin + indentation is not a vertical vs. horizontal cas 12:59:26 e 12:59:48 ack r12a-nb 12:59:55 parkjy has joined #css 13:00:36 koji: If you talk about blockquote default stylesheet, you want the left and right margins to 2em in horizontal mode. But in vertical mode you want top and bottom margins 13:01:31 q+ 13:02:47 jdaggett: the claim that a UA stylesheet can be made to work as is by using logical properties is not true. that use-case is not addressed by logical properties 13:03:03 jdaggett: a default for Latin text cannot be used as a default for Japanese text 13:03:22 ack r12a-nb 13:03:28 q+ 13:03:43 present: koji; dbaron; alexmog; jdaggett; sylvaing; johnjan; szilles; fantasai; plinss; howcome; shan 13:03:43 q+ to ask what percentage of the problem needs to be solved 13:03:53 present+ timeless 13:03:55 r12a-nb: I thought the goal was to have the ability to move horizontal japanese to vertical japanese 13:04:03 fantasai: You're arguing that the default UA stylesheet, which specifies suboptimal layout for Japanese text whether in horizontal or vertical, must handle proper japanese layout in vertical 13:04:22 fantasai: but for horizontal layout it doesn't matter 13:04:34 r12a-nb: I find logical properties much easier to use in practice 13:04:45 mgylling has joined #css 13:05:17 jdaggett: the issues are: what do we need to support and change to do vertical text intelligently. then there are things that make it more convenient to write stylesheets. these things have been merged together 13:06:02 jdaggett: retrofitting virtual properties in CSS is a large change. 13:06:32 jdaggett: this doesn't address all the properties that may need to be affected 13:06:43 fantasai: it covers all the properties in CSS2.1 13:06:48 howcome has joined #css 13:07:09 jdaggett: but what about CSS3 properties such as border-radius ? what about 2d transforms and their coordinate spaces ? 13:07:30 jdaggett: I don't think any of this is required to support vertical text. 13:08:22 kojiishi: but what if Japanese users want to be able to change margin and padding logically ? 13:08:41 jdaggett: then let's see what we can do for margin and padding 13:11:25 szilles: the top and left are irrelevant to the task of laying out lines in blocks. I want to set properties on the beginning of the line, the end of the line, on the block etc. 13:12:06 q? 13:12:10 ack szilles 13:13:22 jaeyeollim has joined #CSS 13:13:37 jdaggett: I don't think we should do this in one fell swoop 13:13:47 jdaggett: I think we should add start and end keywords where needed e.g. in text-align 13:14:02 jdaggett: And then for margins and padding, we just add 'logical' keyword to the shorthands 13:14:11 jdaggett: and not deal with, e.g. border properties 13:14:45 kojiishi: so you're questioning the number of properties that should be logical ? 13:14:57 koji: So you are not against logical properties, you don't agree on the amount 13:15:01 jdaggett: I think having a logical keyword in a small set of relevant shorthands is enough 13:15:28 kojiishi: so you're not saying all margins should be physical 13:15:42 jdaggett: I don't have a problem with retrofitting logical into the margin shorthand 13:15:44 jdaggett: I think a logical keyword on the margin shorthand is sufficient 13:16:07 RRSAgent, make minutes 13:16:07 I have made the request to generate http://www.w3.org/2010/11/02-CSS-minutes.html timeless 13:16:10 jdaggett: but we shouldn't try to make everything logical at once 13:16:30 q? 13:16:47 discussion of Zakim's feelings follows 13:17:44 cslye has joined #CSS 13:18:20 szilles: it was said that it was an expensive change. for instance, it's expensive in storage. but the alternative involves multiple stylesheets. i think the computational issue is a red herring 13:18:44 szilles refers to messages on the mailing list that discuss the perf impact 13:18:51 howcome: you're right, it's not a blocker. but it's expensive in other ways: for authors who get a lot of new properties 13:19:05 howcome: adding a keyword to a shorthand, otoh, is reasonable 13:19:42 howcome: likewise, we could have keywords for inside/outside for printing 13:20:10 szilles: so you are OK with the ability to specify certain values in a logical coordinate system 13:20:17 howcome: yes 13:20:42 Aharon has joined #css 13:20:50 +queue 13:21:00 r12n-ab asks for an example of the logical keyword 13:21:16 fantasai fights the flip chart 13:21:37 margin: logical? {1, 4} 13:21:37 the physical coordinate of the flip chart rotates in mid-air 13:21:54 margin: script 1em 0px; 13:22:01 margin: writing-mode 1em 0px; 13:22:07 margin: beas 1em 0px; /* before-end-after-start */ 13:22:10 flip chart now stands in vertical-rl 13:23:03 margin: tobi 1em 0px; /* top-outside-bottom-inside */ 13:23:08 jdaggett: so the logical keyword means that the shorthand values are slotted to top/right/bottom/left based on the writing-mode 13:23:15 q? 13:23:33 jdaggett: this proposal is not what is in the spec 13:23:52 szilles: the principal of logical direction has been accept 13:23:59 s/accept/accepted/ 13:24:00 (howls of protest) 13:24:50 jdaggett: not by doing this for so many properties 13:24:59 (more Mozilla people standing up to make their point) 13:25:23 (references to Dave Hyatt and Webkit) 13:25:28 dbaron: hyatt implemented it quickly because webkit's architecture makes logical properties easy 13:25:37 s/architecture/style system architecture/ 13:25:49 s/easy/easy based on an assumption which is not required by any specification/ 13:25:57 s/style system architecture/data structure for storage of declarations within declaration blocks/ 13:26:27 koji: But what you're saying is that you accept the idea of logical space, just not of scoping it so widely 13:26:45 jdaggett agrees this is about scoping logical 13:27:12 ack Aharon 13:28:11 aharon: I think the situation with CSS2.1 with padding-right, padding-left etc. also involves a lot of properties already. why not just have shorthands ? 13:28:18 jdaggett: I don't think we can remove properties 13:28:43 aharon: but we may be able to deprecate properties that are harmful to i18n. 13:29:15 aharon: it's much easier to add logical than turning left to top etc 13:31:26 aharon: in several of our rtl localization projects, we had to introduce a rule in the system to make sure 'left' and 'right' did not appear in our CSS templates 13:31:55 aharon: we use start/end or absolute-left/absolute-right. 99% of the time, people mean start/end 13:32:07 s/99/95 13:34:00 q? 13:34:23 koji agrees with aharon's assessment of physical vs. logical usage; same applies in horizontal vs. vertical 13:35:35 aharon: most of the time when authoring a document that needs to be used both ways, logical is very useful 13:37:14 fantasai: section 7 is split in multiple sections. 7.1. maps various parts of CSS21. No new values are introduced. 13:37:39 fantasai: the only section that introduces new values is for caption-side 13:38:15 fantasai: 7.3 is about HTML attributes; for replaced elements they're treated as absolute; on table elements these attributes are logical 13:38:52 I don't think we should make width and height attributes behave differently for different elements. 13:38:57 bert: some of the terms used are also defined in the Box Model module. we should look at any overlaps and synch up the two modules 13:39:02 fantasai: yes 13:39:44 (now addressing dbaron's point) 13:39:59 dbaron: I think it's going to be very confusing 13:40:42 szilles: the proposal is that for those elements the width and height attribute are interpreted per the writing mode of the element 13:40:54 fantasai: yes. the alternative is to ignore them 13:41:34 dbaron: I'd rather add new HTML attributes 13:41:39 szilles: see the other room 13:42:37 dbaron: width and height attributes on table should not be logical while physical everywhere else as well as CSS width and height being physical. we should be 100% physical 13:43:02 fantasai: section 8.1 http://dev.w3.org/csswg/css3-writing-modes/#logical-value 13:43:14 defines properties that do before/after/start/end 13:44:33 dbaron: note that caption-side already has 6 keywords 13:45:27 jdaggett: I think vertical-align might need to have different defaults in vertical vs. horizontal. I need to confirm that but it'd need to default to middle in vertical 13:45:35 jdaggett: vertical-align:auto ? 13:45:55 howcome: I think adding new values is easier than adding properties 13:47:12 fantasai: http://dev.w3.org/csswg/css3-writing-modes/#logical-page 13:47:13 toto has joined #CSS 13:48:07 http://en.wikipedia.org/wiki/Recto_and_verso 13:48:07 The verso is the "back" side and the recto the "front" side of a leaf of paper in a bound item such as a book, broadsheet, or pamphlet. ... 13:48:07 en.wikipedia.org/wiki/Recto_and_verso 13:49:07 fantasai: these have always been logical. 13:49:40 fantasai: the original proposal was even and odd but if you change the page countering and things get confusing. 13:51:39 howcome: I'm not sure we want to use the same stylesheet for an ltr book and an rtl book 13:52:05 (arronei agrees with howcome) 13:52:13 s/arronei/aharon/ 13:52:22 s/aharon/arronei 13:53:28 aharon: what about front and back ? 13:53:45 fantasai: that is usually interpreted as the first and last page 13:53:46 timeless: arronei pinged me 13:54:54 correct 13:55:08 s/linen/lanin ? 13:55:23 toto_ has joined #CSS 13:56:08 howcome: I think it's too early to spec the printing part of this. 13:56:36 g'luck arron ;-) 13:57:50 [ a discussion of why 8.2 exists ] 13:57:53 fantasai: the goal for these sections was to cover all of CSS2.1 13:58:24 howcome: I don't think we should proceed until we understand spread layout 13:58:30 [ the explanation for why 8.2 exists is because page-break-before/page-break-after exist, as clearly indicated in the first indented paragraph of 8.2 ] 13:59:37 [ people explain how the binding side changes based on being LTR or TTB ] 14:00:27 [ moving to 8.3 ] 14:01:24 q+ 14:01:28 [ howcome is asked if he objects to logical-height ] 14:01:34 [ howcome objects to adding anything ] 14:02:10 s/anything/any new properties/ 14:02:21 ack dbaron 14:02:35 q+ dbaron 14:02:37 ack timeless 14:02:37 timeless, you wanted to ask what percentage of the problem needs to be solved 14:03:25 ack dbaron 14:04:46 fsasaki has joined #css 14:05:33 [ i asked my question. jdaggett indicated he felt the proposal by fantasai, et al addressed 150% and he wanted something simpler which could be implemented and then we would later investigate what else needs to be added later ] 14:05:48 dbaron: the challenge of implementing the logical keyword is the number of pieces of information you need to cascade separately. so even though you have the same number of properties for the author , the implementation deals with 8 underlying properties 14:06:20 not really cascade, but store until you cascade 14:07:49 jdaggett: i'm not saying this solves all use-cases. but adding the logical keyword in those two places potentially covers a lot of use-cases. 14:08:16 fantasai: i'm fine with scoping it to margin and padding but if we add the logical keyword we should also add support for before/after/start/end 14:09:34 hidetaka has joined #css 14:10:39 fantasai walks through an explanation of margin shorthand cascade and associated storage required... 14:11:02 margin: logical 1em 2em 3em 4em; 14:11:17 b e a s 14:11:35 [ fantasai draws a paragraph ] 14:11:36 jun has joined #css 14:13:25 margin-top: 5em; 14:13:47 p { margin: logical 1em 2em 3em 4em; margin-top: 5em; } 14:14:09 fantasai: if you don't store 8 values, margin-top would affect the physical right margin 14:14:31 TabAtkinsTPAC has joined #css 14:15:19 discussion of how inside/outside is even more fun to implement 14:17:14 argument was that you only need to store 4 values plus a flag if you only implement the shorthand 14:17:22 dbaron pointed out that 8 values is necessary 14:17:24 to store 14:17:32 fantasai walked through an example so people would understand 14:17:32 s/is/are/ 14:17:35 p { b e a s 14:17:35 margin: logical 1em 2em 3em 4em; 14:17:35 margin-top: 5em; 14:17:35 } 14:17:35 4em 14:17:37 +--------------+ 14:17:40 3em | LR ||||||| 1em 5em 14:17:42 +--------------+ 14:17:45 2em 14:18:42 jdaggett: i think just having a shorthand is intuitive for authors. 14:18:58 plinss: but you use functionality. you can't just specify the start 14:19:28 fantasai: I'm ok with just doing margin and padding for now. but i don't think the shorthands are sufficient 14:19:36 plinss: wouldn't you need to do border as well ? 14:19:51 fantasai: UA stylesheets only need margin and padding 14:20:08 s/use/lose/ 14:20:24 [ howcome suggests media queries ] 14:21:00 hidetaka has joined #css 14:21:20 scribe has noted that it's time for a break. 14:21:30 the fact that people are talking locally instead of to the group supports this. 14:27:29 RSSAgent, make minutes 14:27:52 RRSAgent, make minutes 14:27:52 I have made the request to generate http://www.w3.org/2010/11/02-CSS-minutes.html myakura 14:28:55 shan has joined #css 14:30:30 nimbupani has joined #css 14:30:47 nimbupani has left #css 14:34:10 3From what I have gathered over IRC we have talked about these few options for logical properties: 14:34:28 3a. leave everything as it is (all physical) 14:34:38 3b. create actual logical properties for all relevant cases 14:34:48 3c. alter only the shorthand properties to take additional keyword(s) 14:34:58 3d. create a small set of logical properties covering only a small set of cases 14:35:08 3    d.1. create only margin/padding-(start, end, before, after) 14:35:18 3    d.2. create only properties that do not take as a value (e.g. border-*-color) 14:35:27 3There might be a few others that I missed from the conversation but I think this covers the scenarios that have been discussed. 14:35:44 3I am not saying that we should vote on these but I think we should really look at each one of these further and see the pros/cons of each. I am still not convinced that we all know the design/author side of these type of changes. 14:39:33 mgylling has joined #css 14:39:58 glazou has joined #css 14:40:31 jun has joined #css 14:43:10 komasshu has joined #css 14:47:42 dbaron has joined #css 14:54:16 szilles has joined #css 14:56:47 freedom has joined #css 14:58:03 mjs has joined #css 15:02:51 ScribeNick: TabAtkinsTPAC 15:05:05 johnjan has joined #css 15:05:10 http://dev.w3.org/csswg/css3-fonts/#font-variant-alternates-prop 15:05:17 topic: css3 fonts 15:05:49 jdaggett: We've looked at this property before - opentype fonts have the capability to have alternate glyphs. 15:05:59 jdaggett: There are many features that let you pick one of severeal alternates. 15:06:20 jdaggett: In the past I specified this as just putting in a number to select a glyph. A lot of people objected to this. 15:06:22 joonho has joined #css 15:06:32 jdaggett: It doesn't look nice, it doesn't play nice with fallback, etc. 15:07:01 cslye has joined #CSS 15:07:04 jdaggett: So Elika and I sat down and created a way to establish a name-value mapping that applies to a family or families, so when you select an alternate you use the named value, not a numbeer. 15:07:14 jdaggett: If the font has that named value defined for it, it's used, otherwise it's ignored. 15:07:27 jdaggett: The syntax is a new @-rule, @font-feature-values. 15:07:46 jdaggett: Syntax is slightly different than what I had on the list originally. 15:07:55 jdaggett: It takes severeal font variant definitions. 15:08:00 dethbakin has joined #css 15:08:19 jdaggett: Like @font-feature-values Jupiter Sans { swash: delicate 1, flowing 2; } 15:08:51 jdaggett: And then "h2 { font-family: Jupiter Sans; } h2::first-letter { font-variant-alternates: swash(delicate); }" 15:09:03 jdaggett: There are some features tha tonly take one value, but some take multiple values. 15:09:08 http://www.typography.com/fonts/font_documentation.php?docID=6&productLineID=100026#sets 15:09:33 jdaggett: [shows a font-variant page] 15:09:46 jdaggett: This page goes through and defines all the selectors for different font features. 15:09:55 jdaggett: So somebody using this font can enable these independently from each other. 15:10:42 jdaggett: So in the opentype spec you have 20 of these features available. When you specify them via CSS you're specifying a set of them, so you want multiple values. 15:12:33 jdaggett: The way I've defined this is that you can define multiple variants, and they all get turns on. Like "@font-feature-values Mars Serif { styleset: code 4 5; }", which turns on two separate features under the single label "code". 15:13:19 plinss: I think it's slightly confusing that you can use multiple declarations of the same type, and it means the same as a single comma-separated decl. 15:13:40 fantasai: Maybe you could swap the name and the feature, so like "{ code: styleset 4 5; }" 15:15:12 plinss: And what if you have another @font-feature later that defines another swash variant, frex? 15:15:19 freedom has joined #css 15:15:46 jdaggett: It continues to be additive. If you use the same name for thee value, it overrides the previous value of the same name, but otherwise different names for the same feature collect together. 15:17:15 fantasai: [Here] you have a different things for styleset and character-variant. 15:17:51 jdaggett: Right. character variants are just somewhat different than anything else. 15:19:22 jdaggett: character-variant is the only feature that takes two values. Everything else takes one value. 15:21:22 plinss: Suggestion for fixing the syntax implication - make @styleset, @swash, etc. sub-@rules underneath the @font-variant. 15:21:50 [discussion of syntax variants] 15:22:58 mjs has joined #css 15:24:35 [appears to be consensus that later definitions for the same property/name should override] 15:26:40 fantasai: In character-variant, since it only takes 1 or 2 numbers, if you put 3 numbers it should be an invalid rule, not just ignore the 3rd value. 15:26:54 jdaggett: Are you okay with the syntax difference between character-variant and the other properties? 15:27:14 fantasai: It's unfortunate, but not bad enough to overly object to. 15:27:49 smfr has joined #css 15:28:56 RRSAgent: pointer 15:28:56 See http://www.w3.org/2010/11/02-CSS-irc#T15-28-56 15:28:59 doodles: 15:29:04 @font-feature-values Jupiter Sans { 15:29:04 @styleset code 5 6; 15:29:04 @styleset swishy 5; 15:29:04 } 15:29:06 @font-feature-values Jupiter Sans { 15:29:09 swash: delicate 1, /* not apply */ 15:29:11 flowing 2, 15:29:14 delicate 7; 15:29:16 } 15:29:19 @font-feature-values Jupiter Sans { 15:29:21 swash: delicate 1; /* not apply */ 15:29:24 swash: flowing 2; 15:29:26 swash: delicate 7; 15:29:29 } 15:29:31 @font-feature-values Jupiter Sans { 15:29:34 code: styleset 5 6; /* not apply */ 15:29:36 code: styleset 8; 15:29:39 swishy: styleset 5; 15:29:41 } 15:29:42 yuma_1985 has joined #css 15:29:44 @font-feature-values Jupiter Sans { 15:29:46 styleset { 15:29:49 code: 5, 6; /* not apply */ 15:29:51 code: 8; 15:29:54 swishy: 5, 7, 9; 15:29:56 } 15:29:59 character-variant { 15:30:01 zeta: 20 3; /* cv20 = 3 */ 15:30:04 } 15:30:06 } 15:31:48 mjs has joined #css 15:35:15 Aharon has joined #css 15:35:56 @font-feature-values Jupiter Sans { 15:35:56 styleset { 15:35:56 code: 5, 6; /* not apply */ 15:35:56 code: 8; 15:35:56 swishy: 5, 7, 9; 15:35:58 } 15:36:01 character-variant { 15:36:03 zeta: 20 3; /* cv20 = 3 */ 15:36:06 gamma: 12 5; /* cv12 = 5 */ 15:36:08 } 15:36:11 } 15:36:13 @font-feature-values Jupiter Sans { 15:36:16 @styleset code 5, 6; /* not apply */ 15:36:18 @styleset code 8; 15:36:21 @styleset swishy 5, 7, 9; 15:36:23 @character-variant zeta 20 3; /* cv20 = 3 */ 15:36:26 @character-variant gamma 12 5; /* cv12 = 5 */ 15:36:28 } 15:36:31 @font-feature-values Jupiter Sans { 15:36:33 styleset: code 5 6, code 8, swishy 5 7 9; 15:36:36 character-variant: zeta 20 3, gamma 12 5; 15:36:38 } 15:36:41 fantasai: Problem with last option, even though it's more compact, is that repeating the declaration of a particular feature, it blows out all previous features 15:36:57 mjs has joined #css 15:37:40 fantasai: I think it's better to allow an additive syntax, so either the @styleset syntax or the selector-like one 15:38:06 fantasai: The selector-like one has additive and overriding behavior that is is very closely analogous to existing CSS syntax 15:38:36 yongil_jang has joined #CSS 15:38:46 jdaggett: In many cases you'll have a global style sheet that defines a bunch of feature, bu the author might want to tweak a few more in a local style sheet 15:39:08 jdaggett: in which case an additive behavior would be better than having a new feature declaration erase the old one 15:45:17 Bert: This all seems very complicated for something that is already complex. 15:47:21 cslye: Yes, but this isn't a feature that a normal author is going to use anyway. This is basically just for opentype junkies. 15:47:38 Bert: I also don't like the fact that the value names are author-created, not standardized. 15:48:56 Bert: There was another proposal for just turning on variants inside of a @font-face rule, so you could just define several font names with particular variants baked in. 15:49:26 cslye has left #CSS 15:49:28 jdaggett: That option is also there. 15:49:45 cslye has joined #CSS 15:51:40 [ Digression to talk about Corporate Style Sheets] 15:52:15 Peter` has joined #css 15:52:24 Bert argues that this is complicated and people will have to learn it which is bad 15:52:48 Timeless and Bert discuss corporate style sheets and how this will require them to deal with syntax they don't want to learn 15:53:12 Peter turns this around and shows that this syntax allows better cascading behavior between corporate global and local style sheets 15:53:29 Peter: Say I have a corporate style sheet that defines an @font-face rule and that turns on various features 15:53:38 Peter: I want to turn on an additional two new features. 15:53:58 Peter: You're saying I have to copy the corporate @font-face rule into my local style sheet and tweak it. 15:54:27 Peter: A week later, corporate style sheet is updated, tweaking its features to be slightly differen 15:54:30 t 15:54:41 Peter: I don't pick up those changes because my @font-face rule overrides theirs 15:55:27 Peter: Whereas if I use this syntax, I can pick up those changes because it's additive rather than overriding 15:56:46 howcome: In 4.1, it says "[downloaded fonts] must not be made availalbe to other applications or documents". I think it should be clear that things like caching don't violate this requirement. 15:58:55 s/albe/able/ 15:59:29 bradk has joined #css 15:59:46 mjs has joined #css 16:00:40 dbaron: ping css3-values? 16:01:12 fantasai, probably should stay here for another half hour 16:01:48 DavidClarke has joined #css 16:02:59 I am here 16:04:08 bradk_ has joined #css 16:10:01 ah, hi arron. 16:10:22 we're waiting for the AC meeting to end, I believe. 16:10:27 15 minutes. 16:10:42 ok, that gives me a few minutes to do email. 16:11:37 johnjan: yes official end 17h30 16:13:16 freedom has joined #css 16:13:22 Hello 16:14:34 murakami has joined #css 16:19:00 Topic: MultiCol 16:20:12 Alex: Why aren't percentages are valid in column-width? 16:20:20 fantasai: Because it makes more sense to use column-number 16:20:39 howcome: And doesn't have the problem of what to do with 33% vs 34% 16:20:48 Alex: Other issue was column rules in overflow columns 16:21:24 Alex: Are rules drawn between overflow columns? 16:21:27 howcome: yes 16:21:35 discussion of column rules between empty columns 16:21:38 howcome: both of them have to be empty 16:21:49 Topic: position layout 16:22:07 http://www.xanthir.com/blog/b48H0 16:22:44 Tab: Position-layout extends the positioning power by letting you position edges of boxes relative to other arbitrary boxes 16:22:48 Tab: Some use cases... 16:23:05 Tab: In Google Docs, for example, when you're doing annotations, you'll attach annotations to particular spans of text 16:23:29 Tab: In that case you would set the top of the annotation to be equal to the text being annotation, and the other side to the doc edge 16:23:46 Tab: Also want to measure this edge from this other edge 16:24:21 Tab: Our layout for our experimental newsreader app is good, but can only be done with a ton of fragile CSS hacks 16:24:43 Tab: There are three columns in importance of news 16:24:53 Tab: and then the rows represent timezones 16:25:37 Tab: Stories are titles, or title and picture and blurb 16:25:44 Tab: Want to expand the story to take up the whole width 16:25:53 Tab: Wound up using a JS constraint solver to do this switching 16:26:18 Tab: Another issue is resize handles 16:27:23 Tab: Want to position them relative to whatever image you want to resize 16:27:32 fantasai: I'm a little concerned about prioritizing work 16:27:54 fantasai: and you're editing a lot of drafts 16:28:02 Tab: I want to work on this in the context of the CSSWG 16:28:17 Tab: Want to have it in the charter 16:28:46 several concerned about prioritization of work and amount of work items 16:29:02 Tab: This is somewhat inspired by Daniel's proposals 16:29:03 Tab: ... 16:29:15 Tab talks about cycles and breaking cycles in the constraint solver 16:30:34 Tab talks about expanding functionality of fixed and absolute positioning 16:30:42 Tab: This is a superset of Daniel's proposal 16:30:56 shan has joined #css 16:31:10 Alex: Is it specific to positioning, or do you want it to be more general and e.g. make this table row as wide as that table column 16:31:35 Tab: Don't want to expand beyond positioning. If it gets to complicated, it gets very very tangled 16:31:45 yongil_jang has joined #CSS 16:31:53 Alex ... Instead of positioning, could be a special layout type 16:32:14 Alex: Instead of applying positioning anywhere, applies only within a particular element 16:32:26 Alex: a special kind of contianer 16:32:32 s/tian/tain 16:33:14 Tab: Interesting, but for now, I think I'd want to keep it as extension of positioning. 16:33:29 Tab: But let's talk and see if we can satisfies the use cases along the lines you're talking about 16:34:06 No one here objects to putting in charter as low priority 16:34:38 RESOLVED: add to charter as low priority 16:34:46 Topic: Transforms 16:35:10 Tab: Had a question of transforms applied to inlines 16:35:12 from Simon 16:35:24 Tab draws some text and a span 16:35:27

16:35:44 .... bla bla bla RTL RTL RTL bla ...

16:36:04 Span breaks across multiple lines 16:36:15 Tab: When you rotate, how do you rotate? 16:36:22 Tab: First option is transforms don't apply to inlines 16:36:35 Tab: Second option is to make a bounding box. Transform the bounding box. 16:37:40 Tab: Third option is to transform each box of the element independently. 16:38:12 Tab: Sub-issue: are bidi boxes transformed independently 16:39:36 fantasai: I would go with the bounding box option 16:40:07 Tab: what do you do with page breaks/column breaks? 16:40:20 fantasai: use same bounding box def as for backgrounds 16:41:16 discussion of relpos 16:41:18 and how that works 16:41:47 Anthony: Browsers: Opera and FF, do not rotate text if you put in the span 16:41:52 Anthony: Mobile solutions do rotate 16:42:01 freedom has left #css 16:42:05 Zakim has left #CSS 16:42:10 Anthony: I haven't tried multiline in SVG 16:43:24 kennyluck has joined #CSS 16:44:19 fantasai: I would just use the bounding box definition from the old css3-background drafts. Seems the simplest 16:44:45 mjs has joined #css 16:44:46 the simplest would be to not apply transforms to inlines. 16:45:11 well, true 16:45:50 I have made the request to generate http://www.w3.org/2010/11/02-CSS-minutes.html kennyluck 16:45:53 fantasai: define 2 and mark it at risk (fall back to 1) 16:46:52 RESOLVED: transforms apply to bounding box of the inline. Mark application of transforms to inlines at-risk. (Grab bounding-box definitions from old css3-background background-break drafts.) 16:46:57 Topic: css3-values 16:47:01 here we go 16:48:04 dbaron: I don't have anything to say... 16:48:12 arron, ping 16:48:29 I don't see the removal of min/max 16:48:36 wasn't it marked at-risk? 16:48:39 I thought we said we were going to remove those 16:48:46 no, we were going to mark them at-risk 16:49:18 http://www.w3.org/blog/CSS/2010/10/19/resolutions_126 16:49:48 dbaron has joined #css 16:50:39 Have all the updates been made? I am not seeing it in the Aug draft. Am I looking at the wrong version? 16:50:54 glazou has joined #css 16:51:31 ?: Haptics proposal sent to www-style a couple months ago 16:51:40 Well If the updates have been made I have nothing more on this and we should just publish a new version 16:51:42 http://www.starlight-webkit.org/CSS/css3-haptics.html 16:52:02 s/?:/Ilkka Oksanen:/ 16:52:24 Ilkka: Names in proposal not important 16:53:13 Ilkka: The use case we're trying to fulfill here is devices that have a touchscreen 16:53:30 Ilkka: can then have tactile feedback that's linked to the user interactions 16:53:56 Ilkka: Properties are style and strength 16:54:28 Alex: I know nothing about the area. Looks like different kind of feedback. 16:54:34 Alex: Seems like analogue of colors or sounds 16:54:57 Alex: Kind of properties I would expect are ... vibrate ... 16:55:17 Alex: I would expect that there are selectors that select when to feedback 16:55:25 Aren't the descriptions of 'unchecked-checkbox' and 'checked-checkbox' backwards? 16:55:26 Alex: and then style the items 16:55:44 Tab: Use case is mobile phone applications 16:56:14 Tab: Using names rather than specifying effects is to match OS conventions 16:56:46 Alex: Buttons etc. UI elements are in the system. Why doesn't it just launch the appropriate haptics? 16:57:04 Peter: Use case is for adding button feel to things that arent' actually buttons 16:57:12 jdaggett: So it's like the system colors? 16:57:45 s/arent'/aren't/ 16:58:10 and the input[type="radio"] style also seems backwards (shouldn't it be -down rather than -up?) 16:58:13 Peter: Have an issue where starting activation, ending activation might need separate effects 16:58:19 Peter: Have same issue with transitions 16:58:56 Discussion of conferring semantics 16:59:24 Discussion of triggers 16:59:40 Alex: Are there hidden triggers that are not available for any other feedback, like color? 16:59:57 Alex: If a browser implementing this has to implement internal triggers 17:00:10 Alex: Why not make triggers available to other effects? 17:00:47 Peter: We had related discussion at Apple wrt transitions -- we don't have ability to trigger transitions in and transitions out 17:01:07 dbaron: Doesn't seem to be related to :active 17:01:14 dbaron: Just what happens when you touch the element 17:01:32 Ilkka: The feedback is not related to how long you touch the element 17:01:51 Ilkka: When I touch an element on touchscreen, the vibrator is activated 17:02:32 dbaron: The spec is defining this as an inherited property, which seems reasonable. 17:02:45 dbaron: Don't see a problem with this applying to things that cannot be :active 17:03:13 Peter: Does this apply to everything? Or only if I have something that has buttonlike behavior? 17:03:24 Peter: What happens if I apply unlatch to a ? 17:03:25 hidetaka has joined #css 17:03:28 dbaron: Not a good idea to do that? 17:03:37 cslye has left #CSS 17:03:45 dbaron: I think the default of the type being none is needed 17:03:51 dbaron: given the strength default is none 17:05:14 Peter: If I style a like a button and add haptics, will it behave like a button? 17:05:27 dbaron: No, it just feels like a button when you touch it. 17:05:39 fantasai: This is like a property to make a sound when you click the mouse on an element. 17:05:45 fantasai: except it's not a sound 17:05:55 And the default style sheet shouldn't use '-webkit-' 17:06:12 jgraham has joined #css 17:08:00 Peter: There are issues here similar to 'appearance', transitions, etc. 17:08:17 jdaggett: How common is it for phones to implement all the types you list? 17:08:58 jdaggett: Or rather, are all UAs on all phones capable of matching those types to something reasonable? 17:09:12 jdaggett: We have this problem with system colors, where it only maps reasonably in Windows 3 17:10:06 Peter: So should we scope this into the UI module? 17:10:44 jdaggett: Also, would you want to do this to other types of feedback? e.g. iphone uses sound 17:11:41 Peter describes a haptic mouse he had along time ago that gave the feel of running over a button when you cursored over a ubtton 17:11:56 Meeting closed. 17:12:34 hidetaka_ has joined #css 17:13:50 RRSAgent, make minutes 17:13:50 I have made the request to generate http://www.w3.org/2010/11/02-CSS-minutes.html myakura 17:17:22 homata has joined #CSS 17:21:30 myakura has joined #css 17:29:06 plinss_ has joined #css 17:34:02 arron has left #css 17:34:18 arron has joined #css 18:07:08 Hixie has joined #css 19:04:56 dsinger has joined #css 19:38:43 dsinger has joined #css 19:41:35 Ms2ger has joined #css 19:43:59 anne has joined #css 19:44:32 dsinger has joined #css 20:40:27 Martijnc has joined #css 20:41:59 plinss_ has joined #css 21:16:41 nimbupani has joined #css 21:23:55 hidetaka has joined #css 22:02:13 jdaggett has joined #css 22:31:39 plinss_ has joined #css 22:37:53 arronei has joined #CSS 22:43:11 plinss__ has joined #css 23:14:50 Peter- has joined #css