IRC log of CSS on 2010-03-29

Timestamps are in UTC.

18:15:52 [RRSAgent]
RRSAgent has joined #CSS
18:15:52 [RRSAgent]
logging to http://www.w3.org/2010/03/29-CSS-irc
18:16:37 [TabAtkins]
anne: We have the problem for @page, for what goes inside of @page, that we need to solve one way or another. We can make it special or we can make it generic.
18:16:37 [ChrisL]
rrsagent, this meeting spans midnight
18:17:00 [TabAtkins]
Bert: I proposed some time ago to create a 3rd type of block that would allow @page.
18:17:03 [dbaron]
Present: Dean Jackson, Simon Fraser, Anne van Kesteren, Steve Zilles, Beth Dakin, Sylvain Galineau, Alex Mogilevsky, Chris Lilley, Bert Bos, Aaron Eicholtz, Elika Etemad, David Baron, Brad Kemper, Tab Atkins, Daniel Glazman, Peter Linss, Håkon Lie, David Singer
18:17:06 [TabAtkins]
Bert: But I think people wouldn't want that.
18:17:15 [dbaron]
(that was the list of who was present earlier; Dean Jackson and David Singer are not currently present)
18:18:01 [TabAtkins]
anne: That wouldn't solve the earlier problem, the background wouldn't be green.
18:18:08 [TabAtkins]
Bert: Right, but it would let you do what @page wants.
18:18:29 [TabAtkins]
plinss: I'd prefer to see, if we see an @ rule, we parse it as a block, throw it away as invalid, and don't trash more than that.
18:18:58 [TabAtkins]
Bert: But that's inconsistent. Any other unknown token would throw away until the next semicolon.
18:19:19 [TabAtkins]
szilles: @ already has the role of being special.
18:19:52 [TabAtkins]
glazou: I think we agree that if an @ occurs inside a value isn't an @ rule.
18:20:08 [TabAtkins]
glazou: Frex, if the first token inside the brace is an @ token, we'd like it to be an @ rule.
18:20:23 [TabAtkins]
Bert: If that's a change, we can't do it.
18:20:33 [TabAtkins]
glazou: It's something new that wouldn't break anything.
18:20:36 [dbaron]
dbaron has joined #css
18:20:38 [TabAtkins]
Bert: It's in the spec.
18:20:58 [TabAtkins]
howcome: This is a change in the eternal grammar.
18:21:12 [TabAtkins]
anne: It doesn't change valid stylesheets. I think it's fine.
18:21:37 [TabAtkins]
Bert: We have the error-recovery rules for consistency; you're changing the rules, so you're losing consistency.
18:22:08 [TabAtkins]
glazou: We are fighting about extensibility all the time.
18:22:25 [TabAtkins]
Bert: Things like adding to a shorthand is different, it fits in the grammar.
18:22:48 [TabAtkins]
Bert: Show me a place in CSS3 that is incompatible with the forward-compatible rules.
18:22:52 [TabAtkins]
plinss: @page
18:23:22 [TabAtkins]
ChrisL: @page is interoperably implemented. I don't see the benefit of changing it; we should allow it, and use the extension point it allows to do new things.
18:23:52 [TabAtkins]
howcome: This is a change in the eternal grammar, but we don't really have a great use-case.
18:24:01 [TabAtkins]
howcome: A green background isn't a good use-case.
18:24:18 [TabAtkins]
howcome: It's interoperable today, I'm not sure we should change it.
18:24:47 [TabAtkins]
howcome: We're suggesting this change to get a generic extension mechanism.
18:24:58 [TabAtkins]
plinss: We have @page, which allows intermingling of @ rules in a declaration block.
18:25:12 [TabAtkins]
plinss: If it's *only* valid here, with special rules and special error recovery, that's very surprising.
18:25:31 [TabAtkins]
howcome: Do we allow @page at the place where we're talking about?
18:25:45 [alexmog]
adding a semicolon to the use case makes it green, interoparably: body { @foo {}; background: green; }
18:25:48 [TabAtkins]
plinss: No, not right now. But @page acts like a declaration block, and allows more @ rules in it.
18:26:33 [TabAtkins]
glazou: [gives an example showing @page]
18:26:36 [fantasai]
plinss: If error-recovery from @foo inside @page's declaration block is different from in other declaration blocks, that's very surprising
18:27:18 [TabAtkins]
glazou: In @page, if you see another @page{}, it parses to that } and throws it away, allowing the next rules to work.
18:27:29 [szilles]
szilles has joined #css
18:27:42 [TabAtkins]
glazou: But if you have @page{ @foo {} background: green; }, the background is thrown away. That's very surprising.
18:28:34 [TabAtkins]
plinss: The problem is that an unknown @ rule at one point in the stylesheet, it parses to the }. If you put it at another spot, and it doesn't parse to the }, that's weird.
18:29:05 [TabAtkins]
dbaron: We already have that in some places. If an @rule appears in a value, or in a selector, it just makes an invalid value or selector.
18:29:16 [dbaron]
... never mind what I said
18:29:29 [TabAtkins]
szilles: What anne just pointed out, if we have a single recovery mechanism, CSSOM can have a generic recovery mechanism.
18:29:46 [TabAtkins]
glazou: Non-generic means one parsing impl for @page, and another for other @ rules.
18:29:50 [fantasai]
We have different parsing of @keywords in different parts of the style sheet with or without the change we're proposing.
18:29:50 [TabAtkins]
glazou: That's ugly.
18:30:03 [fantasai]
For example, @keyword inside a declaration is still ignored as an invalid token
18:30:17 [fantasai]
However, having different parsing rules within a declaration block
18:30:26 [fantasai]
depending on whether the declaraiton block is inside @page or elsewhere,
18:30:28 [fantasai]
that is confusing
18:30:34 [TabAtkins]
alexmog: I'm agreeing with what Bert is saying. I'm not seeing use-cases, but we have interop against it.
18:30:37 [fantasai]
and it is a burden on implementors to implement two different types of error-recovery
18:30:49 [anne]
advantages: 1) consistent rules for authors 2) one code path for implementors
18:30:55 [TabAtkins]
alexmog: We'll have syntax that is ignored in older browsers but paid attention to in newer browsers.
18:31:15 [TabAtkins]
alexmog: We can just add a semicolon to the end of the @block and all browsers ignore it. It's not the prettiest, but it achieves the goal.
18:32:10 [TabAtkins]
anne: Advantages is consistent rules for authors, and implementors.
18:32:26 [TabAtkins]
alexmog: How much time until browsers have changed sufficiently to allow it?
18:32:48 [TabAtkins]
TabAtkins: No more time than it would take for any new @ rule to be usable.
18:33:25 [TabAtkins]
plinss: He has a good point. If we introduce a new @ rule, then authors using it will have their next declaration swallowed in older browsers.
18:33:41 [TabAtkins]
anne: But can't it sometimes be a start of a selector then?
18:33:43 [TabAtkins]
fantasai: No.
18:34:33 [TabAtkins]
anne: If you recommend putting a semicolon after every @ rule, it is the start of a selector, and you don't get a green background.
18:34:55 [TabAtkins]
anne: IE "@foo {}; body { background: green; }" kills the body block.
18:35:02 [TabAtkins]
Bert: Oh, no, not ; after everything.
18:35:16 [alexmog]
alexmog has joined #css
18:35:41 [TabAtkins]
anne: I think we can just recommend that authors put the @ blocks at the end of the declaration block.
18:36:17 [TabAtkins]
plinss: I think it will be really confusing if you would recommend putting ; at the end of @ blocks inside a declaration block, but not at the end of ones outside a declaration block.
18:36:42 [TabAtkins]
Bert: I think we made a mistake on @page, not in the grammar.
18:36:51 [TabAtkins]
plinss: I think we made a mistake in the grammar, instead.
18:37:29 [TabAtkins]
fantasai: I think you can't stick an @ rule without braces is invalid inside a declaration block in the core grammar.
18:37:45 [TabAtkins]
fantasai: We have some options. We could do nothing, which means no @ rules inside declaration blocks ever.
18:37:58 [TabAtkins]
fantasai: And then just have Paged Media declare that @ rules have to be at the end.
18:38:22 [TabAtkins]
plinss: The problem is that the longer we put it out, the more entrenched we'll get.
18:38:41 [TabAtkins]
Bert: Not expensive? It's been in the spec for years!
18:38:56 [TabAtkins]
anne: What kind of implementations are you thinking of?
18:39:05 [TabAtkins]
Bert: TVs, etc.
18:39:28 [TabAtkins]
glazou: They're all consistent right now, though, so nobody uses it anyway. It can't even be used as a browser selector.
18:40:09 [TabAtkins]
plinss: The problem isn't that it's an error now, but in a few years when we have a spec that uses @ rules in that area.
18:40:26 [TabAtkins]
anne: In a few years we'll have an upgraded set of browsers.
18:41:04 [TabAtkins]
szilles: So older browsers will throw it away, so nothing weird. Anne observes that if you put them at the end, it will prevent any rules from being dropped.
18:41:08 [TabAtkins]
Bert: So let's just put them at the end.
18:41:14 [TabAtkins]
fantasai: It's still invalid by the grammar.
18:41:51 [TabAtkins]
howcome: Eternal grammar isn't 'eternal', but I think it should still be harder to change than just writing a spec that says something different.
18:42:14 [TabAtkins]
howcome: We should have a very good reason to do it, and I haven't seen that reason.
18:42:42 [TabAtkins]
szilles: It simplifies the CSSOM model, for one. It simplifies parsing for CSS. It simplifies parsing for authors.
18:43:04 [alexmog]
alexmog has joined #css
18:43:48 [TabAtkins]
@mixin(border-rules)(n) { -moz-border-radius: n; -webkit-border-radius: n; border-radius: n; } div{ @mixin(border-rule, 8px) }
18:44:24 [TabAtkins]
Bert: Why do you need an @rule in the one place where it's not allowed?
18:44:45 [TabAtkins]
plinss: Because @rule already has rules for swallowing things to the end of a block.
18:44:58 [TabAtkins]
glazou: If you remember the time before CSS2, we didn't have @page.
18:45:24 [TabAtkins]
glazou: Declaration were *only* for style rules. When we came up for @page, we suddenly had a new place for declarations.
18:45:38 [TabAtkins]
glazou: We want to be able to reuse an existing construct in the same way.
18:46:01 [TabAtkins]
glazou: It would open up a new type of contributions for authors that we can't usually do.
18:46:47 [TabAtkins]
Bert: Imagine changing XML.
18:46:56 [TabAtkins]
glazou: We did that when we added @media.
18:46:59 [TabAtkins]
Bert: That in 1998.
18:48:08 [TabAtkins]
szilles: I recommend the chairs take a straw poll.
18:48:52 [TabAtkins]
anne: And the options are 1) special handling of @page, or 2) generic handling?
18:50:22 [anne]
... and 3) require at-rules at the end for @page
18:50:24 [TabAtkins]
plinss: Given the current definition of @page, legacy handling would mean swalling @margin rules inside of it, because @page contains a declaration block, which doesn't allow @ rules inside of it.
18:51:37 [TabAtkins]
Bert: 3rd proposal, which has no chance, is to change Paged Media.
18:51:44 [TabAtkins]
s/3rd/4th/
18:51:57 [TabAtkins]
Bert: And pull out @margin rules from the @page blocks.
18:52:15 [TabAtkins]
fantasai: They should have probably been outside from the beginning, but right now we might as well remove them.
18:52:21 [TabAtkins]
howcome: Where would you put them if they were outside?
18:52:26 [ChrisL]
ChrisL has joined #css
18:52:48 [ChrisL]
CSS the Eternal Temple http://i40.tinypic.com/2nlwrjn.jpg
18:52:59 [TabAtkins]
howcome: [illustrates the change]
18:53:05 [Bert]
(One proposed change is in 13.2 say:... followed by a block of declarations <ins>and at-rules</ins>.)
18:53:15 [TabAtkins]
fantasai: Yeah, but we've got multiple implementations in printers, and so it can't be changed now.
18:55:01 [TabAtkins]
plinss: What's the point of putting @ at the end? It seems like an arbitrary place.
18:55:15 [TabAtkins]
fantasai: It makes it clearer how inheritance works.
18:56:00 [TabAtkins]
howcome: So how do we deal with @page containing @top-left and such?
18:56:10 [TabAtkins]
Bert: Right now, we don't. It's just invalid.
18:56:23 [TabAtkins]
Bert: We could create a special thing, not a declaration block, that would allow it.
18:57:00 [TabAtkins]
plinss: I'm reading the parsing rules, and I'm not seeing anything in CSS that says special handling of @ rules depending on the position.
18:57:11 [TabAtkins]
plinss: It doesn't say we only do this based on where it was.
18:57:25 [TabAtkins]
Bert: Right, but we discussed that it should behave that way.
18:57:39 [TabAtkins]
plinss: Please show me in the spec where it says it should behave the way you say it shoudl behave.
18:57:44 [TabAtkins]
Bert: The two points above that.
18:57:58 [TabAtkins]
Bert: The question is only if there is an exception if the @ keyword appears right after a semicolon.
18:58:11 [TabAtkins]
dbaron: We don't specify what happens when the formal grammar disagrees with the prose.
18:58:27 [TabAtkins]
plinss: But the formal grammar doesn't define the recovery rules, only the prose does.
18:59:26 [dbaron]
dbaron: we usually go with whatever's more specific
18:59:32 [TabAtkins]
howcome: What if we used ::top-left or something?
18:59:44 [TabAtkins]
fantasai: Still invalid in a declaration block. Should have been @page::top-left, but shrug.
19:00:03 [TabAtkins]
Straw Poll:
19:00:07 [TabAtkins]
1) Generic Handling
19:00:17 [TabAtkins]
2) Special handling for @page in any order (current spec)
19:00:23 [TabAtkins]
3) Special handling, but @rules at the end.
19:00:54 [TabAtkins]
4) Change Paged Media to nuke margin boxes and rewrite @page.
19:01:18 [TabAtkins]
smfr: 1
19:01:20 [TabAtkins]
anne: 1
19:01:25 [TabAtkins]
szilles: 1
19:01:27 [bradk]
1 generic
19:01:27 [TabAtkins]
dbaron: 1
19:01:38 [TabAtkins]
s/dbaron/dethbakin/
19:04:06 [dbaron]
dbaron has joined #css
19:05:30 [TabAtkins]
sylvaing: abstain
19:05:41 [TabAtkins]
alexmog: 3 or 4, whatever doesnt' change CSS 2.1
19:05:49 [TabAtkins]
ChrisL: 1
19:06:06 [TabAtkins]
Bert: Prefer 4, second is 3. could also live with 2. Can't live with 1
19:06:11 [TabAtkins]
arronei: 1
19:06:25 [sylvaing]
sylvaing abstains in the absence of a use-case
19:06:28 [TabAtkins]
fantasai: anything but 4, defer to dbaron
19:06:31 [TabAtkins]
dbaron: 4
19:06:53 [TabAtkins]
bradk: 1
19:06:56 [TabAtkins]
TabAtkins: 1
19:06:59 [TabAtkins]
glazou: 1
19:07:01 [TabAtkins]
plinss: 1
19:07:14 [TabAtkins]
howcome: 3
19:07:23 [TabAtkins]
dsinger: 1
19:08:09 [fantasai]
I think HP would raise a formal objection for 4
19:08:24 [TabAtkins]
glazou: Twelve for #1, three or four for 3 and 4.
19:09:49 [TabAtkins]
dsinger: We have agreement on *not* 2.
19:10:00 [TabAtkins]
plinss: And we cant' do 4 because of existing impls.
19:10:13 [TabAtkins]
glazou: Existing impls do 2, so we're rejecting the current impls!
19:10:56 [TabAtkins]
fantasai: Not sure if existing impls do 2, maybe they do 1?
19:11:02 [TabAtkins]
ChrisL: How would you tell the difference?
19:11:33 [TabAtkins]
fantasai: Just pop my testcase into a supporting impl.
19:11:41 [anne]
<!DOCTYPE html><style> body { @foo {} background: green; } </style>
19:12:03 [ChrisL]
it would be good to gather that implementation experience for printers that currently handle @page
19:12:33 [TabAtkins]
body {
19:12:35 [TabAtkins]
@foo {
19:12:37 [TabAtkins]
}
19:12:39 [TabAtkins]
background: green;
19:12:41 [TabAtkins]
}
19:13:08 [TabAtkins]
glazou: People will write it like Tab has, what will they expect?
19:13:26 [TabAtkins]
howcome: Prince considers this an error, and doesn't show a green background.
19:13:33 [TabAtkins]
fantasai: So it implements 2?
19:14:23 [TabAtkins]
anne: Or 3, we can't tell.
19:14:36 [TabAtkins]
plinss: Elika, can you test with your printers and get back to us?
19:14:47 [TabAtkins]
fantasai: Would be good to get AH. Can we ping Murakami-san?
19:15:18 [TabAtkins]
fantasai: 3 would just mean normal 2.1 error-recovery mode.
19:15:39 [TabAtkins]
plinss: We'll come back when we get more implementations.
19:17:00 [dbaron]
dbaron has joined #css
19:17:00 [TabAtkins]
howcome: Is there anyone that can't live with 3?
19:17:10 [TabAtkins]
anne: #3 is actually pretty weird.
19:17:45 [TabAtkins]
anne: So if you had @ rules, normal rules, then more @ rules, presumably you should ignore all the normal rules since the appearance of the @ implies the end?
19:18:30 [TabAtkins]
howcome: I think we can live with #3 now, and then make #1 valid later.
19:18:47 [TabAtkins]
dsinger: Can we write that we can possibly allow #1 later? Warn people about it?
19:19:11 [TabAtkins]
plinss: I don't think there's any point to saying "Sometime in the future, we might add future-proofing."
19:19:18 [ChrisL]
:)
19:19:33 [TabAtkins]
dsinger: No, just that we might add a feature in the future that may require more generic handling, so don't depend on certain types of handling.
19:19:52 [dbaron_]
dbaron_ has joined #css
19:20:46 [TabAtkins]
howcome: There is no hole right now. You're creating a hole and then insisting it needs to be filled.
19:21:01 [TabAtkins]
anne: Paged Media doesnt' actually require them to be at the end.
19:21:24 [TabAtkins]
plinss: In my perspective, it's a bug in 2.1.
19:21:45 [TabAtkins]
plinss: In 2.1, we say when you see an @rule, swallow until the next block or semicolon. We don't say to do that only at the rule level.
19:22:08 [TabAtkins]
plinss: We need to make this clear one way or another. Bert's proposal is to say that applies only at the ruleset level, most others are saying apply at all levels.
19:22:15 [TabAtkins]
howcome: We have impl issues with that.
19:23:09 [TabAtkins]
plinss: We have an existing spec that needs @rules like this, and at least two more ideas I know of want that.
19:23:21 [TabAtkins]
Bert: But no one implements it like that anyway.
19:23:41 [TabAtkins]
plinss: Right. But my reading of CSS is that you throw away an invalid @ rule as a unit.
19:23:47 [TabAtkins]
Bert: Only at the toplevel.
19:23:59 [TabAtkins]
plinss: But CSS doesn't say that.
19:24:30 [TabAtkins]
howcome: This is a new situation. Bert is arguing *for* the browsers, Peter is arguing against?
19:24:59 [TabAtkins]
plinss: This isn't progressing. We'll get more examples. Until then we're not convincing anyone.
19:25:21 [TabAtkins]
szilles: Can we set a time for jdaggett's call? By my calc, 6am in Tokyo is 2pm here.
19:25:32 [TabAtkins]
szilles: Is 3pm okay for us (7am for him)?
19:25:46 [TabAtkins]
plinss: We have a lot of things for him to weigh in on.
19:26:02 [TabAtkins]
plinss: I'd like him as early as possible. I suggest we ask him when he's comfortable.
19:26:12 [dino]
dino has joined #css
19:26:17 [TabAtkins]
szilles: And then I"ll ask another Adobe employee to attend.
19:26:33 [TabAtkins]
<br type=lunch duration=1h>
20:00:52 [dethbakin]
dethbakin has joined #css
20:35:22 [Lachy]
Lachy has joined #css
20:40:50 [bradk]
bradk has joined #css
20:40:56 [sylvaing]
sylvaing has joined #css
20:41:21 [dbaron]
dbaron has joined #css
20:42:04 [glazou]
glazou has joined #css
20:42:23 [plinss__]
plinss__ has joined #css
20:43:10 [smfr]
smfr has joined #css
20:43:16 [Arron]
Arron has joined #css
20:45:23 [alexmog]
alexmog has joined #css
20:45:39 [glazou]
glazou has joined #css
20:45:44 [ChrisL]
ChrisL has joined #css
20:46:49 [fantasai]
http://wiki.csswg.org/spec/css2.1#issue-114
20:47:03 [fantasai]
http://wiki.csswg.org/spec/css2.1#issue-109
20:47:17 [fantasai]
http://wiki.csswg.org/spec/css2.1#issue-26
20:48:10 [fantasai]
dbaron: The way the spec currently says that vertical-align in table cells works is
20:48:14 [fantasai]
ScribeNick: fantasai
20:48:17 [fantasai]
dbaron: You have a table
20:48:38 [fantasai]
dbaron: like this
20:48:51 [fantasai]
dbaron draws a table with 2 rows 2 cols
20:49:09 [fantasai]
dbaron: And you have a table cell likes this
20:49:17 [fantasai]
dbaron draws a cell box in the upper half of the first cell
20:49:35 [fantasai]
dbaron: The spec says ... and it says that the 'height' property sets the height of a cell box
20:50:05 [fantasai]
dbaron: Suppose it says the cell height is 200px
20:50:10 [fantasai]
dbaron: The cell box will be 200px
20:50:17 [fantasai]
dbaron: and if the row is 200px high
20:50:38 [fantasai]
dbaron: the cell box stays put, and its contents are clearly not vertical-align: bottom
20:50:49 [fantasai]
dbaron: Nobody does this, everybody aligns the contents to the bottom
20:51:17 [jer]
jer has joined #css
20:51:27 [fantasai]
s/.../vertical-align aligns the cell box inside the cell/
20:51:47 [jer]
jer has left #css
20:52:09 [fantasai]
dbaron: There are 2 possible solutions here, with different implications, and different browsers pick different ones
20:52:30 [fantasai]
dbaron: One alternative is to say that instead of 'height' setting the height of the cell box, it sets a minimal height for the row
20:52:39 [fantasai]
dbaron: The other solution is to say that you have two boxes
20:53:10 [fantasai]
dbaron: one of which wraps around the content, the other one of which wraps around that, and vertical-align aligns both of them, but the height only sets the height of the outer one
20:53:28 [fantasai]
dbaron: The tricky cases are where you have baseline alignment
20:53:59 [fantasai]
dbaron: You can get a case where baseline alignment requires more space than either cell would require alone
20:54:41 [fantasai]
dbaron: e.g. if you have a large-text box of auto height
20:54:54 [fantasai]
dbaron: and a small-text cell of large height
20:54:58 [fantasai]
dbaron: the baselines align
20:55:12 [fantasai]
dbaron: but the second box extends way below the bottom of the first
20:55:18 [fantasai]
dbaron draws this on the board
20:56:04 [css_projector]
http://dbaron.org/css/test/2010/css21-issue-26
20:56:47 [fantasai]
dbaron shows http://www.brunildo.org/test/td_height1.html
20:58:24 [fantasai]
fantasai: I would not expect vertical-align to increase the size of the cell there
21:03:53 [fantasai]
I would expect height to set the height of the same box that you paint borders and backgrounds on, not on the anonymous content holder inside it
21:04:55 [smfr]
http://www.w3.org/TR/CSS21/tables.html#height-layout
21:08:12 [fantasai]
fantasai: Does height include the padding?
21:08:31 [fantasai]
fantasai: border-widths?
21:09:55 [fantasai]
Looks like height in Mozilla is a border-box height
21:11:54 [ChrisL]
ChrisL has joined #css
21:12:26 [fantasai]
fantasai thinks we should say that the height sets the border-box height of the cell box
21:12:38 [fantasai]
The contents of the cell are wrapped in an anonymous box, and that is aligned inside the cell
21:13:18 [fantasai]
Alex: What do Mozilla and WebKit do for flexbox?
21:13:22 [fantasai]
dbaron: I'm not so concerned with that
21:14:49 [fantasai]
Steve: So you have two boxes, one that most properties apply to, and then the box that wraps the contents of the cell, that gets vertical-aligned
21:15:18 [fantasai]
Steve: The first box has border, padding, etc.
21:16:54 [fantasai]
dbaron: We should figure out what we want so that someone can write a proposal
21:17:04 [fantasai]
dsinger asks a question
21:17:35 [fantasai]
dbaron: baseline alignment is a relative thing. You take all the cells in the row and baseline-align their contents.
21:17:58 [fantasai]
dbaron: If the height of the row is taller than the height of the aligned set of content, it's undefined what happens
21:19:17 [fantasai]
Steve: So your question is that ... can we give names to these things?
21:19:33 [fantasai]
dbaron: One of them is called the cell box, but it's not what you'd think of as the cell box
21:23:18 [fantasai]
dbaron: The simplest change it to go with IE and Opera and say that 'height' on the cell sets the minimum height of the row
21:25:29 [anne]
http://dev.w3.org/csswg/css3-tables-algorithms/Overview.src.htm
21:26:16 [fantasai]
howcome talks about making a bar chart
21:26:46 [fantasai]
dbaron: An explicit height on a table cell does not cause even the contents of that cell from increasing the height of the cell
21:26:51 [fantasai]
dbaron: Everything's like minimum heights in tables
21:27:29 [fantasai]
Alex agrees with Opera's interepretation
21:28:28 [fantasai]
Steve: If you want the other behavior, you can put a fixed height on a <div> inside
21:28:42 [fantasai]
plinss: Shouldn't require markup changes for layout
21:28:51 [fantasai]
fantasai: This is the most intuitive interpretation.
21:29:45 [fantasai]
fantasai: If I was an author, I'd associate the height of the table cell with the height of the box that has borders and backgrounds on it, not some invisible thing inside it
21:30:31 [fantasai]
ACTION: dbaron write proposal for IE-Opera behavior for issue 26
21:30:31 [trackbot]
Created ACTION-210 - Write proposal for IE-Opera behavior for issue 26 [on David Baron - due 2010-04-05].
21:30:41 [fantasai]
Simon: Hyatt doesn't really care which way this goes
21:31:02 [fantasai]
http://wiki.csswg.org/spec/css2.1#issue-114
21:33:29 [szilles]
szilles has joined #css
21:34:39 [fantasai]
fantasai explains that the spec is unclear about what is allowed and what is invalid
21:35:41 [fantasai]
Arron has a bunch of testcases showing that results are very different across browsers
21:35:47 [fantasai]
There are two proposals for clarifying the spec
21:35:57 [fantasai]
one would make unquoted font names a series of identifier tokens
21:36:06 [fantasai]
the other would make them a series of nmchars tokens
21:36:14 [fantasai]
Chris suggests recommending quotes
21:36:20 [fantasai]
The spec already recommends quotes
21:38:15 [dethbakin]
dethbakin has joined #css
21:38:42 [dethbakin]
dethbakin has joined #css
21:39:29 [fantasai]
dbaron: right now in Gecko you have to escape or quote numbers
21:41:07 [jer]
jer has joined #css
21:41:45 [fantasai]
several: Let's allow everything
21:42:05 [ChrisL]
everything but comma
21:42:11 [fantasai]
fantasai: I don't like that, because you have to have some exceptions, which is what we have already, and it's already causing interop problems
21:42:30 [fantasai]
http://lists.w3.org/Archives/Public/www-style/2010Mar/0395.html
21:43:31 [fantasai]
http://www.w3.org/TR/CSS21/fonts.html#font-family-prop
21:44:35 [fantasai]
Chris: How about making a grammar for what the prose already says
21:45:24 [alexmog]
alexmog has joined #css
21:47:47 [fantasai]
discussion of what mistakes web authors are likely to make
21:47:56 [ChrisL]
some font families that might be useful for tests - "101 Dalmations" "3.14 Pi" "Twenty 4px"
21:49:11 [fantasai]
dbaron: right now the spec has document conformance reqs but no ua conformance reqs
21:51:09 [fantasai]
arron: If you run the testcases, you'll see a lot of constency except for numbers and brackets
21:51:56 [fantasai]
<br type=cookies>
21:55:24 [fantasai]
Topic: CSS2.1 Test Suite
21:55:39 [fantasai]
glazou: First issue is about inode strain on the server
21:57:00 [fantasai]
bert: it's not about space, it's our mirroring system
21:57:19 [fantasai]
Alex: Would adding another 15000 tests facilitate upgrading the system? :)
21:57:43 [fantasai]
Chris: It's generating emails to the mirrors for each file
21:58:13 [fantasai]
glazou: If solving this for w3.org involves more work for us on the test suite, let's just move.
21:58:26 [fantasai]
glazou: I suggest we do nothing and wait
21:59:21 [fantasai]
bert: I also have an action to get the issues list onto w3c servers
22:00:09 [dbaron]
dbaron has joined #css
22:00:41 [fantasai]
Chris: The SVGWG had its working its files off-site on a company server, then that company got bought and the files disappeared. TOok months to get the tar files back.
22:00:59 [fantasai]
fantasai, plinss: Our server is not controlled by a company, it's a personal account, funded by HP, but under plinss's name
22:02:36 [fantasai]
fantasai: We could create tarballs for the snapshots, just publish the latest expanded out
22:02:49 [fantasai]
Topic: Reviewing testcases
22:02:59 [fantasai]
Arron: We're not getting a lot of traction on review of testcases
22:03:10 [fantasai]
Arron: It's something that needs to happen
22:03:56 [fantasai]
Plinss: We decided we'd drive reviews by people generating implementation reports
22:04:32 [fantasai]
plinss: And then people can object if they find test is wrong
22:05:52 [fantasai]
glazou: When will the test suite be complete?
22:07:02 [fantasai]
discussion between glazou and fantasai about scheduling test suite work
22:08:09 [fantasai]
fantasai aims to publish ts beta 1 in mid-April
22:08:36 [fantasai]
Arron: It should take each browser vendors 2 days of 8 hours each to run an implementation report
22:08:59 [fantasai]
Glazou: We must be in PR by September, keep that in mind
22:09:10 [fantasai]
Topic: Vendor prefixes
22:09:12 [fantasai]
Bert: Why?
22:09:23 [fantasai]
glazou: There's been a bunch of discussion on www-style
22:09:32 [fantasai]
glazou: I don't think the current situation is satisfactory from the web authors pov
22:10:13 [fantasai]
glazou: On filters and web-authoring tools side it's hell
22:10:30 [fantasai]
Alex: Shouldn't be using experimental stuff until it's stable
22:11:09 [fantasai]
dbaron: I think we should be able to find a way to declare things stable until CR
22:11:25 [fantasai]
Steve: There is a way. It's called CR. It hasn't received enough review until then
22:11:44 [fantasai]
It hasn't gone to last call
22:11:52 [TabAtkins]
@mixin border-radius(radius: 8px) {
22:11:54 [TabAtkins]
-moz-border-radius: var(radius);
22:11:56 [TabAtkins]
-webkit-border-radius: var(radius);
22:11:58 [TabAtkins]
border-radius: var(radius);
22:11:58 [fantasai]
Steve: If you need to, make smaller modules.
22:11:59 [TabAtkins]
}
22:12:01 [TabAtkins]
.box-with-corners {
22:12:03 [TabAtkins]
@mixin border-radius(12px);
22:12:04 [TabAtkins]
border: 2px solid black;
22:12:06 [TabAtkins]
}
22:12:10 [TabAtkins]
^^^ make an end-run around the issue with additions to syntax
22:12:34 [fantasai]
glazou: I think we should have a frozen status for features
22:12:48 [fantasai]
Steve: ... W3C process
22:13:04 [fantasai]
dbaron: The versioning process of CSS isnt' a W3C process issue
22:13:16 [fantasai]
anne: What impl do or not doesn't have anything to do with process
22:14:37 [fantasai]
Steve: You should be at CR when you write the tests because that's when the spec is stable enough to write a test suite
22:14:58 [dbaron]
dbaron has joined #css
22:15:01 [fantasai]
Steve: We have good examples where removing the prefix would have been a mistake
22:15:29 [fantasai]
Howcome: We have had decisions in the past, when we said they will never change again, even though they're not in CR. I think that makes sense
22:15:49 [fantasai]
Steve: The reason it doesn't make sense is that part of Last Call, which is the part you're living out, is to get review from people /not/ in the WG. And you're not getting that review
22:16:06 [fantasai]
Tab: I agree with Steve. I think we should stick with this model.
22:16:39 [fantasai]
Bert: The problem is we do so many things simultaneously. We should focus on things that are stable and /finish/ them. Then we wouldn't have this problem.
22:16:54 [fantasai]
Tab: We could make vendor-prefixes less painful for authors we could use a mixins syntax
22:17:08 [glazou]
glazou has joined #css
22:17:40 [fantasai]
Tab: This example is simple one, for border-radius.
22:17:58 [fantasai]
Tab: If one implementation had a slightly different syntax, you could just change it in the mixin definition
22:18:03 [fantasai]
Tab: And you only need to write it once
22:18:23 [fantasai]
Tab: every time you need border-radius
22:18:36 [fantasai]
glazou talks about HTML5's versioning model
22:18:42 [fantasai]
Tab: I don't like HTML5's model. It's much nicer in JavaScript
22:18:55 [fantasai]
s/HTML5/HTML
22:18:57 [fantasai]
/
22:19:20 [fantasai]
Tab: JavaScript can afford to be ugly because you can layer a nice api over it
22:19:46 [fantasai]
dbaron: I think the big problem is not the model, but the timing of how we've been advancing properties
22:19:49 [alexmog]
alexmog has joined #css
22:20:06 [fantasai]
?: It's been a problem only for a few, more than one but only a few
22:20:26 [fantasai]
s/?/howcome/
22:20:50 [fantasai]
glazou: Whether it's a problem for a property depends a lot on how popular it is
22:21:41 [fantasai]
...
22:21:57 [fantasai]
Alex: Isn't it a problem that we have an unprefixed 'zoom' property? It looks like a regular standard property but it isn't
22:22:16 [fantasai]
dbaron: We haven't changed our border-radius prefix because we don't yet match the current spec
22:22:39 [fantasai]
dbaron: Most of those issues are not even syntactic
22:22:47 [fantasai]
dbaron: There are a lot of requirements in the current spec that we don't implement
22:22:59 [fantasai]
dbaron: I had questioned at the time whether the spec needed to require things in that much detail
22:23:46 [fantasai]
howcome: I think you should drop the prefix anyway. Even if you have some bugs left. THey're just bugs
22:24:13 [fantasai]
Brad: If we had dropped the prefix for border-image earlier, we'd be stuck with that
22:25:14 [fantasai]
Brad: We wouldn't be able to make the changes I proposed.
22:25:17 [fantasai]
Brad: We thought it was stable.
22:25:36 [fantasai]
dbaron: I've heard comments from people who were unhappy that the prefixed versions didn't match the spec
22:25:39 [fantasai]
...
22:25:47 [fantasai]
Steve: Why isn't macros, by any other name, a good solution to this?
22:26:43 [fantasai]
glazou asks questions that were answered previously
22:26:57 [fantasai]
the minute-taker will not repeat the answers
22:27:15 [fantasai]
plinss: If they have different behavior?
22:27:20 [Bert]
(One way to do mixins, especially usefule if you work with Ruby: http://dev.w3.org/csswg/css3-tables-algorithms/Overvie w.src.htm
22:27:27 [fantasai]
Tab: If it's just syntactic, you can work around it. If you can't, then you're screwed anyway
22:27:49 [Bert]
Wrong paste, I meant http://sass-lang.com/ )
22:27:51 [fantasai]
Steve: If they don't do what you want, dropping the prefix isn't helpful anyway
22:28:18 [fantasai]
Plinss: The problem with this is, what if I change something via JavaScript?
22:28:27 [fantasai]
Anne: Maybe you don't see it in JavaScript
22:28:31 [fantasai]
...
22:28:41 [fantasai]
howcome: This saves people 30 seconds of copy-pasting. It's not really a problem
22:30:14 [fantasai]
howcome: I think this problem is over-rated
22:30:29 [anne]
I agree with howcome
22:30:56 [fantasai]
Tab: If we want to drop prefixes on something not in CR, we should pull it out into another module
22:30:58 [alexmog]
alexmog has joined #css
22:31:12 [fantasai]
Bert: We did that with css3-backgrounds, we dropped box-shadow so we could move everything else forward
22:31:24 [fantasai]
Tab: Yes. That would solve this while giving us all the benefits of CR.
22:32:15 [fantasai]
Steve: We can solve this problem by focusing on what's important and pushing that forward
22:33:39 [fantasai]
glazou: You don't know whether something's going to be succesful when you design it
22:33:53 [fantasai]
some arguments that it doesn't matter, you'll find out quickly
22:34:02 [fantasai]
others that you can predict it for some things anyway
22:34:12 [fantasai]
Steve: Once you find out something is popular, then you progress it faster.
22:34:17 [dbaron]
dbaron has joined #css
22:36:16 [fantasai]
glazou: If we accept the extra work to extract properties and push it forward, then it's not a problem
22:37:13 [fantasai]
Chris: Depends on how much of the spec is stable. If it's mostly stable, pull the unstable things out and move the whole thing
22:37:24 [fantasai]
Chris: If it's mostly unstable, extract the stable parts and push that forward.
22:38:57 [fantasai]
Anne: Other WG's have pseudo-stable drafts that are implemented and shipped, and only take small changes
22:39:03 [fantasai]
Anne: It seems to work relatively well
22:39:05 [fantasai]
Steve: Yes and no
22:39:11 [fantasai]
-> offline
22:39:33 [fantasai]
glazou: If we have a high-priority set of properties, let's try to extract them to move faster
22:54:10 [fantasai]
Topic: Status-type Stuff
22:54:19 [fantasai]
Topic: Style-attr spec
22:54:32 [fantasai]
glazou: Last Call period ended. Need to check comments and write disposition of comments
22:54:55 [fantasai]
fantasai: I'm waiting for a response from SVGWG, other than that it's pretty much done
22:55:38 [fantasai]
http://dev.w3.org/csswg/css-style-attr/issues-lc-2009
22:57:40 [dbaron]
dbaron has joined #css
22:57:56 [fantasai]
dbaron: Should include tests for common problems
22:58:02 [fantasai]
dbaron: like braces around the declaration block
22:58:12 [fantasai]
Topic: Media Queries
22:58:19 [fantasai]
glazou: CR period ended a few months ago
22:58:25 [fantasai]
glazou: We dont' have a test suite, I think
22:58:34 [fantasai]
Anne: a lot of tests submitted, but no suite
22:58:39 [fantasai]
glazou: So, what do we do?
22:58:47 [fantasai]
Anne: We find someone to go through the tests and make a test suite
22:58:54 [fantasai]
howcome: We already found him
22:59:03 [fantasai]
howcome: Can't you do that?
22:59:09 [fantasai]
anne: I'm not sure I want to
22:59:15 [fantasai]
howcome: That wasn't my question :)
22:59:44 [fantasai]
anne: We have a lot of different tests, they're not all in the same format
23:00:47 [fantasai]
Anne explains some of the types of tests that were submitted
23:01:59 [fantasai]
discussion of how to test the 'grid' feature
23:04:52 [fantasai]
glazou: Are you able to handle the media queries test suite, or not?
23:05:01 [fantasai]
anne: I would rather not. I haven't done any work on it
23:05:12 [fantasai]
anne: the tests are posted to various mailing lists
23:05:59 [fantasai]
ACTION: Chris Find tests for media queries and check into test repository
23:05:59 [trackbot]
Sorry, amibiguous username (more than one match) - Chris
23:05:59 [trackbot]
Try using a different identifier, such as family name or username (eg. ChrisWilson, clilley)
23:06:11 [fantasai]
Anne: I'm sort of swamped with editing
23:06:28 [fantasai]
ACTION: clilley Find tests for media queries and check into test repository
23:06:29 [trackbot]
Created ACTION-211 - Find tests for media queries and check into test repository [on Chris Lilley - due 2010-04-05].
23:06:39 [fantasai]
Topic: Namespaces
23:06:46 [fantasai]
glazou: We're in CR, it is implemented
23:07:03 [fantasai]
dbaron: I think we fixed the one parsing bug we had
23:07:37 [fantasai]
glazou: We need implementation reports
23:09:36 [fantasai]
dbaron: If the bug is in the 2.1 implementation, can we say that the bug is in the 2.1 spec implementation and for the purposes of Namespaces it's a pass?
23:12:39 [dbaron]
Implementation report Firefox 3.6.2 Linux: all tests pass
23:12:40 [fantasai]
dbaron: All tests pass on FF3.7 Linux
23:12:45 [dbaron]
http://www.w3.org/Style/CSS/Test/CSS3/Namespace/current/
23:12:52 [fantasai]
ACTION: glazou make namespaces implementation reports
23:12:52 [trackbot]
Created ACTION-212 - Make namespaces implementation reports [on Daniel Glazman - due 2010-04-05].
23:13:32 [fantasai]
Topic: CSS3 Page
23:14:36 [fantasai]
fantasai: It needs a lot more work before another Last Call
23:14:46 [fantasai]
Topic: CSS3 Backgrounds and Borders
23:16:17 [fantasai]
fantasai: Planning to write 10-15 tests to set up, then will be easier to accept submissions. Probably nothing complete until August F2F at the earliest
23:16:20 [fantasai]
Topic: CSS3 Color
23:16:37 [fantasai]
dbaron: Some LC comments are non-trivial. We should go through the comments some time this meeting
23:17:09 [fantasai]
dbaron: The current editor's draft addresses most, but not all, issues. Haven't sent responses yet.
23:17:24 [dbaron]
http://wiki.csswg.org/spec/css3-color is the issues list
23:17:57 [fantasai]
Topic: Background Shorthand Syntax, to slash or not to slash
23:22:05 [TabAtkins]
fantasai: 4 issues, somewhat related.
23:22:12 [TabAtkins]
fantasai: All effect the shorthand.
23:22:22 [TabAtkins]
fantasai: sylvain's issue was background-clip.
23:23:10 [arronei]
arronei has joined #CSS
23:24:21 [TabAtkins]
fantasai: Start with background-clip, do we allow content-box?
23:25:15 [TabAtkins]
fantasai: As well, in the shorthand, I suggest that if *-box appears once, it sets both origin and clip, while if it appears twice, it sets origin *then* clip.
23:26:19 [TabAtkins]
bradk: I wanted to do bg-size first, so I could bring up that we could use a slash to disambiguate this as well.
23:27:01 [plinss__]
plinss__ has joined #css
23:27:23 [TabAtkins]
bradk: [on board] Right now you've got like "/ <bg-size>".
23:28:23 [TabAtkins]
bradk: So apply that the same to origin/clip, so you could say, like "border-box / padding-box" or just "border-box" or just "/ padding-box".
23:30:33 [TabAtkins]
TabAtkins: I want to avoid / whenever possible, though.
23:30:51 [TabAtkins]
bradk: We're already using /s in various properties, border-radius, font, border-image.
23:31:27 [TabAtkins]
TabAtkins: In a lot of those, though, you're splitting apart lists of numbers, and it's *impossible* to tell where things start and end without the /. With keywords you don't need to do that.
23:31:49 [TabAtkins]
anne: Other places with keywords, like overflow, don't need a /.
23:32:01 [TabAtkins]
anne: And background-repeat.
23:32:36 [TabAtkins]
bradk: You need *something* to separate bg-position and bg-size.
23:32:40 [TabAtkins]
anne: Yeah.
23:33:21 [TabAtkins]
bradk: You get some freedom with how you write things with the /
23:33:27 [TabAtkins]
anne: Is that freedom actually needed, though?
23:34:32 [TabAtkins]
TabAtkins: I don't think we need to generalize in order to solve the position/size issue. Other places where we have a /, we definitely need it; other places where we don't, we definitely don't.
23:34:42 [TabAtkins]
fantasai: I think separating them would make things more difficult.
23:34:54 [TabAtkins]
fantasai: When you're parsing, you can just shove stuff into data structures directly.
23:35:08 [TabAtkins]
fantasai: You don't have to remember what has come before.
23:35:57 [TabAtkins]
fantasai: That's part of why Yves wanted to relax the restriction on ordering, so you just have to look at the previous token to see if it's valid to put in a bg-position, rather than having to remember that you had a size earlier in the rule.
23:36:29 [TabAtkins]
fantasai: position is always a position. If size is completely absent, it's a position.
23:36:38 [TabAtkins]
bradk: Don't you have to read ahead to see if there's a size?
23:37:07 [TabAtkins]
fantasai: No, as soon as you hit lengths, you know it's a position. And then, later, you might see a slash denoting a size.
23:37:59 [TabAtkins]
Bert: I think the main issue is just one of readability.
23:39:35 [TabAtkins]
[discussion about human/machine parsability with a / anywhere in the rule versus / immediately before a size]
23:43:11 [TabAtkins]
TabAtkins: So can we add content-box to bg-clip, and accept the shorthand?
23:44:38 [TabAtkins]
strawpoll: Add content-box to background-clip?
23:45:03 [TabAtkins]
Abstain? 6
23:45:10 [TabAtkins]
Objections? 0
23:45:18 [TabAtkins]
RESOLVED: Add content-box to bg-clip
23:45:36 [TabAtkins]
RESOLVED: Allow setting bg-origin and clip in shorthand
23:48:55 [TabAtkins]
fantasai: Disallow "/size position", definitely.
23:49:23 [dsinger__]
dsinger__ has joined #css
23:49:45 [TabAtkins]
fantasai: Allow "position url /size" and "/size url position"?
23:50:29 [TabAtkins]
fantasai: Or restrict it to *only* "position/size"?
23:51:54 [TabAtkins]
RESOLVED: Change background shorthand to have "<bg-position> [/ <bg-size>]". (Position is required if you specify size.)
23:52:13 [fantasai]
http://lists.w3.org/Archives/Public/www-style/2010Feb/0238.html
23:52:15 [TabAtkins]
fantasai: Small one about border-radius.
23:52:41 [TabAtkins]
fantasai: 1) Define gradient stops in more detail. 2) Dont' define color-transitions at all.
23:53:05 [TabAtkins]
howcome: So what was the problem before?
23:53:23 [dsinger__]
dsinger__ has joined #css
23:53:34 [TabAtkins]
sylvaing: Today with different-colored borders, you get a sharp border. If we want a gradient, we need a way that's interop across browsers.
23:53:51 [TabAtkins]
ChrisL: Currently the spec tells you where on the curve the midpoint is.
23:54:02 [TabAtkins]
ChrisL: I think we should still be able to get that, and I think that's enough to get a gradient.
23:55:45 [TabAtkins]
ChrisL: [describes a linear-gradient based one]
23:56:01 [TabAtkins]
sylvaing: Could we get it back through CR quickly with that?
23:57:11 [ChrisL]
in fact i descriped two gradients, one from the start color to the midpoint color and one from the midpoint color to the end color; both linear wrt *angle*
23:58:15 [TabAtkins]
sylvaing: I see it as a different issue. I want to control my corners, and then I want to control my borders.
23:58:33 [TabAtkins]
fantasai: I think making it undefined is fine, and then we have an informative appendix.
23:59:28 [TabAtkins]
szilles: The experience of leaving things undefined is that someone ends up defining them.
00:00:31 [TabAtkins]
ChrisL: I understand the argument of doing the simple thing now and the complicated thing now. But what I don't like is some browsers having a sharp transition and you do a smooth transition because you think it looks better.
00:01:04 [TabAtkins]
dbaron: I haven't seen authors complain about this yet, but authors *do* complain about performance, and sharp vs gradients has performance implications.
00:01:58 [TabAtkins]
sylvaing: If we later do 45deg corners, you'll need a linear gradient, etc.
00:02:37 [TabAtkins]
fantasai: I'm fine with leaving it undefined right now, and we'll define it in level 4 and we'll be good.
00:03:51 [TabAtkins]
szilles: But we won't have that freedom after a little bit.
00:04:00 [TabAtkins]
dbaron: I think I'm okay with that lack of freedom.
00:04:08 [jer]
jer has joined #css
00:07:29 [TabAtkins]
fantasai: If our browsers do something right now that authors don't like, we'll change.
00:07:59 [fantasai]
dbaron: sometimes it's best to let the market decide
00:10:04 [TabAtkins]
sylvaing: I'm fine with specifying sharp transitions, and I'm fine with undefined.
00:10:06 [fantasai]
"It is not defined what these transitions look like."
00:11:01 [fantasai]
Tab: I'm fine with explicitly undefined, being defined later possibly constrained by market forces
00:11:29 [fantasai]
Chris: I would prefer it to be dfined, but I can live with the other options
00:11:41 [TabAtkins]
arronei: From a testing perspective, I prefer defined.
00:13:18 [TabAtkins]
dsinger: If someone *requires* a particular effect, they can use a border-image, right? I'm okay with leaving it undefined and waiting to see what people start hacking around it with.
00:14:13 [TabAtkins]
dbaron: We can define the shape of the border, we can define the limits of the transition, we just won't define what it looks like other than that.
00:14:26 [fantasai]
RESOLVED: proposal 3 accepted
00:14:52 [TabAtkins]
szilles: So all existing hard-edged impls match that proposal?
00:14:55 [TabAtkins]
glazou: yes.
00:15:07 [TabAtkins]
glazou: howcome, you have the floor for box-shadow
00:15:17 [TabAtkins]
howcome: box-shadow was removed to gain speed for the spec.
00:15:35 [TabAtkins]
howcome: We now have 4 interoperable impls of box-shadow, so I think we should put it back in.
00:16:06 [TabAtkins]
howcome: Or else put it in it's own spec.
00:16:37 [TabAtkins]
glazou: I have some tests, and it looks interoperable.
00:16:56 [TabAtkins]
howcome: [looking at MS people] I suspect they have something up their sleeve.
00:17:00 [TabAtkins]
sylvaing: We'd like to see it back in.
00:19:25 [TabAtkins]
howcome: So we have interop, why was it removed?
00:19:34 [dbaron]
dbaron has joined #css
00:19:56 [TabAtkins]
TabAtkins: There were significant complications being suggested, to the point where it *was* going to slow the draft. A very simple box-shadow, what we have interop on, would have been ok.
00:21:39 [TabAtkins]
howcome: My position is that we add it back in. Simple list of lengths, a color, an inset/outset keyword. Purely rectangular (module border-radius).
00:21:57 [TabAtkins]
RESOLVED: Put the simple version of box-shadow back into B&B.
00:22:07 [TabAtkins]
Topic: GCPM - env() function
00:22:15 [plinss__]
http://dev.w3.org/csswg/css3-gcpm/
00:22:28 [howcome]
howcome has joined #css
00:22:31 [miketaylr]
miketaylr has joined #css
00:22:38 [plinss__]
http://dev.w3.org/csswg/css3-gcpm/#string-set
00:23:01 [TabAtkins]
howcome: If you print in most browsers, the browser will put the time of printing in the margin box.
00:23:12 [TabAtkins]
howcome: The idea is to make it possible to get that info in CSS.
00:23:25 [ChrisL]
env(location.lattitude)
00:24:16 [dbaron]
Is this going to gradually turn into strftime?
00:24:24 [TabAtkins]
dbaron, yes.
00:25:21 [dbaron]
2010年04月02日 vs. 2010-04-02 vs. 2/4/10 vs. 4/2/10 vs. 2/4/2010 vs. 4/2/2010
00:25:25 [TabAtkins]
glazou: A long while ago, around CSS2, we had a proposal for a date() function, Michelle Wolfe (sp?) gave a long, excellent argument for why date is no good.
00:25:39 [glazou]
s/Michelle/Mischa
00:26:25 [dbaron]
s/Michelle Wolfe/Misha Wolf/
00:26:36 [dbaron]
s/Mischa Wolfe/Misha Wolf/
00:26:49 [TabAtkins]
szilles: How does the system know what to output the date as?
00:27:19 [TabAtkins]
glazou: From the system locale.
00:27:51 [TabAtkins]
szilles: That assumes the locale it is printed in is the same as the locale it is read for.
00:28:17 [TabAtkins]
glazou: That's the same problem that you *already have* with dates on printouts, you're just styling them now.
00:29:39 [TabAtkins]
[discussion of how Word does stuff/locale bindings]
00:30:12 [TabAtkins]
howcome: There is a way to just ask the system for the date, and env(date) would just give that.
00:30:43 [TabAtkins]
szilles: What's the use-case for this?
00:31:04 [TabAtkins]
howcome: Use-case is, when a browser prints a page today, they put the date on the printout. This would give you control over that.
00:31:27 [TabAtkins]
szilles: I'm printing a document that's written in Armenian, and I'm going to distribute it to my Armenian friends.
00:32:24 [TabAtkins]
howcome: By adding this feature, we allow ourselves to turn it off as well.
00:34:43 [TabAtkins]
szilles: I could potentially turn it off with just a little checkbox in some preferences.
00:35:07 [TabAtkins]
TabAtkins: No browser lets you do that right now. We can solve it through CSS.
00:36:18 [TabAtkins]
Bert: Some javascript to get at things from your environment (such as if you are counting in the jewish date) that you may not want.
00:36:48 [TabAtkins]
glazou: You already have (new Date()).toLocaleString().
00:37:40 [TabAtkins]
szilles: My issue isn't with whether you want url or date. My issue is more the discussion from Mischa, where the date is a very dangerous thing.
00:38:28 [TabAtkins]
szilles: I don't think there's a such thing as the "date".
00:38:47 [TabAtkins]
TabAtkins: You're trying to add things to what we just want to simply cssify.
00:38:50 [anne]
javascript:(new Date).toLocaleString()
00:38:59 [anne]
Monday March 29, 17:38:45 GMT-0700 2010
00:39:55 [TabAtkins]
smfr: Is the intent to limit it to Paged Media?
00:40:11 [TabAtkins]
howcome: No, it can go in content property, so it can go anywhere potentially.
00:40:48 [anne]
anne has joined #CSS
00:40:54 [TabAtkins]
smfr: When is the date set? Is it live? Does it update when the page is refreshed? What about if layout changes something?
00:41:01 [TabAtkins]
glazou: More detail is needed there.
00:41:19 [anne]
anne has joined #CSS
00:41:22 [TabAtkins]
glazou: Sometimes when printing, the *username* is displayed on the printout. We shouldn't give access to that.
00:41:59 [TabAtkins]
howcome: So it seems like this is potentially a useful thing, but there are security and i18n concerns.
00:42:03 [TabAtkins]
bradk: Date, or date and time?
00:42:25 [TabAtkins]
howcome: We can do env(date) and env(time).
00:43:04 [TabAtkins]
plinss: Some printouts have the document title.
00:43:12 [TabAtkins]
howcome: You can already pull that from <title> using string-set.
00:43:31 [smfr]
http://dev.w3.org/csswg/css3-gcpm/#turning-elements-into-footnotes
00:43:32 [TabAtkins]
howcome: Small issue with footnotes. If you're in the draft, look at example XXIV
00:44:26 [TabAtkins]
howcome: display footnotes stacked vertically, or flowed inline.
00:44:54 [TabAtkins]
howcome: My first idea is to use display on the footnote element that determines what it does here.
00:46:04 [TabAtkins]
howcome: But I think this is sorta inconvenient, as when you're floating an inline element you'd have to explicitly set display:block.
00:46:20 [TabAtkins]
arronei: What about float:footnote and float:inline-footnote? Then you don't have to mess with display.
00:46:24 [TabAtkins]
TabAtkins: I like that idea.
00:47:10 [TabAtkins]
bradk: And could we then do display: list-item on the footnote to auto-generate the marker.
00:48:35 [TabAtkins]
glazou: You cannot use list-item, because it precludes an inline footnote.
00:49:43 [TabAtkins]
howcome: Suggestion: Put display:inline on the @footnote rule, to switch the display type of the footnotes. It's a bit of a hack, but display is otherwise unused in @footnote.
00:50:05 [sylvaing]
sylvaing has joined #css
00:52:14 [TabAtkins]
howcome: Input is great, we'll discuss more on the list.
00:52:22 [TabAtkins]
howcome: I'd also like a new editor's draft.
01:09:29 [shepazu_]
shepazu_ has joined #css
01:27:57 [Curt`]
Curt` has joined #css
01:41:52 [TabAtkins]
TabAtkins has joined #css
01:58:21 [karl]
karl has joined #CSS
02:38:20 [plinss__]
plinss__ has joined #css
03:53:13 [smfr]
smfr has joined #css
04:11:20 [paul_irish]
paul_irish has joined #CSS
04:14:36 [TabAtkins]
TabAtkins has joined #css
04:53:15 [paul_irish]
paul_irish has joined #CSS
04:56:39 [paul_irish]
paul_irish has joined #CSS
05:14:45 [mib_a17avm]
mib_a17avm has joined #CSS
05:15:55 [mib_a17avm]
mib_a17avm has left #CSS
05:20:06 [findow]
findow has joined #CSS
05:20:43 [findow]
Anyone here?
05:24:39 [Arron]
Arron has joined #css
05:31:06 [mib_mjip2q]
mib_mjip2q has joined #CSS
05:47:16 [anne]
anne has joined #CSS
06:22:54 [TabAtkins]
TabAtkins has joined #css
08:16:50 [lstorset]
lstorset has joined #css
08:17:03 [lstorset]
lstorset has left #css
10:21:41 [lstorset]
lstorset has joined #css
10:23:51 [lstorset]
lstorset has left #css
10:35:00 [fantasai]
fantasai has joined #css
10:47:51 [fantasai]
fantasai has joined #css
13:10:11 [paul_irish]
paul_irish has joined #CSS
13:11:41 [miketaylr]
miketaylr has joined #css
13:24:40 [anne]
anne has joined #CSS
13:45:37 [paul_irish]
paul_irish has joined #CSS
14:13:32 [TabAtkins]
TabAtkins has joined #css
14:19:04 [paul_irish]
paul_irish has joined #CSS
14:30:06 [myakura]
myakura has joined #css
15:10:56 [Arron]
Arron has joined #css
15:28:13 [alexmog]
alexmog has joined #css
15:44:48 [CSS-projector]
CSS-projector has joined #css
15:54:04 [TabAtkins]
TabAtkins has joined #css
15:54:58 [anne]
anne has joined #CSS
16:01:04 [Arron]
Arron has joined #css
16:01:55 [alexmog]
alexmog has joined #css
16:02:11 [sylvaing]
sylvaing has joined #css
16:04:33 [bradk]
bradk has joined #css
16:05:01 [smfr]
smfr has joined #css
16:05:52 [plinss_]
plinss_ has joined #css
16:05:53 [smfr]
http://wiki.csswg.org/planning/cupertino-2010
16:06:14 [dbaron]
dbaron has joined #css
16:12:09 [glazou]
glazou has joined #css
16:12:36 [glazou]
RRSAgent, make logs public
16:12:47 [TabAtkins]
ScribeNick: TabAtkins
16:13:35 [TabAtkins]
Topic: Transitions of non-animatable properties
16:13:35 [glazou]
RRSAgent, http://lists.w3.org/Archives/Public/www-style/2009Nov/0328.html
16:13:35 [RRSAgent]
I'm logging. I don't understand 'http://lists.w3.org/Archives/Public/www-style/2009Nov/0328.html', glazou. Try /msg RRSAgent help
16:13:36 [dethbakin]
dethbakin has joined #css
16:13:44 [szilles]
szilles has joined #css
16:13:46 [smfr]
http://wiki.csswg.org/planning/cupertino-2010
16:14:26 [TabAtkins]
dbaron: Transitions spec currently has a special case for visibility.
16:14:56 [TabAtkins]
dbaron: We may want to keep it despite this, but the idea for the special case is the if visibility has a transition from 'visible' to 'hidden', it's considered to be a property that can transition, where all intermediate states are transitionable.
16:15:16 [glazou]
rrsagent, this meeting spans midnight
16:15:18 [TabAtkins]
dbaron: So if you're transition from visible to hidden, the transition happens when a timing funciton ends.
16:15:35 [TabAtkins]
dbaron: This makes sense if you're, say, shrinking something and then want it to disappear entirely.
16:16:00 [TabAtkins]
dbaron: Somebody wanted this to apply in other cases; in particular, they were trying to convert the controls Gecko uses for HTML5 video, which has a number of animations.
16:16:42 [TabAtkins]
dbaron: He was trying to do them using Transitions, but one thing that happens is a display change. He wants to be able to transition to display:none after an opacity transition happens.
16:17:18 [TabAtkins]
dbaron: He ended up using the transitionend event, but he'd like to do this just with the transition support.
16:17:44 [TabAtkins]
dbaron: So what we think we might do is that, for non-animatable properties, we don't have transition-duration support, but *do* have transition-delay support.
16:18:07 [TabAtkins]
smfr: So you'd take transition-delay into account, and just do an instantaneous transition after that.
16:18:47 [TabAtkins]
dbaron: If we did this, we might still want to keep this special rule for visibility, because it's a little bit harder to do things this way (you have to do delay for this one property rather than a duration).
16:19:07 [TabAtkins]
dbaron: Now with visibility, we know that people want visible in the 'middle', but for other properties we don't know what people want in the middle.
16:19:35 [TabAtkins]
dean: The next topic is discrete timing functions, which would also solve this and give you control over when the non-animatable property transitions.
16:19:43 [TabAtkins]
dbaron: Yeah.
16:20:01 [TabAtkins]
dbaron: Are you saying you want to do it the delay way, or the stepwise way, or both...?
16:20:04 [TabAtkins]
dean: Your way.
16:20:27 [TabAtkins]
smfr: But if you have stepwise timing functions, you don't necessarily need a delay trick.
16:20:51 [smfr]
step-wise timing function proposal: http://lists.w3.org/Archives/Public/www-style/2010Feb/0212.html
16:20:53 [TabAtkins]
dean: With a stepwise timing function, if you say something like "I only want a change at the end of the transition", you can control when, say, a display:none transitions.
16:21:30 [TabAtkins]
dean: Basically I think we can make this decision *without* having to worry about stepwise functions first.
16:23:02 [TabAtkins]
dsinger: Right. We just need to decide if we fix the transition to happen at the beginning or the end.
16:24:10 [TabAtkins]
plinss: What about a transition from block to inline? There's no easy answer for start or end.
16:24:30 [TabAtkins]
smfr: Right, stepwise timing functions have a start and end transition function, so you can decide which one to use.
16:26:58 [TabAtkins]
dsinger: So if you're not using a stepwise timing function, 0 is start and 1 end, and what do we do in the middle?
16:27:29 [TabAtkins]
dbaron: I think the rule that's most compatible is to have all non-0 round to 1.
16:28:08 [TabAtkins]
dbaron: Now most of the time people will want to be able to reverse their transition, so that's a little hard. They'll have to make two different declarations.
16:28:21 [TabAtkins]
smfr: We talked about the issue of not getting symmetry by default, and there's no easy solution I think.
16:29:04 [TabAtkins]
dbaron: One thing that just occurred to me is that we could add a property that says "reverse all the timing functions".
16:29:35 [TabAtkins]
dbaron: So when people transition to a hover state, they can put this property on the hover and make it work.
16:30:01 [TabAtkins]
smfr: That gets into a weird bit of statefulness.
16:30:22 [TabAtkins]
TabAtkins: Like what if you go to :hover and then click and activate an :active transition.
16:30:24 [glazou]
Present: Dino, smfr, annevk, szilles, sylvaing, alexm, dethbakin, Bert, arronei, fantasai, dbaron, bradk, TabAtkins, glazou, plinss, howcome, dsinger
16:30:27 [TabAtkins]
smfr: How are youd efining the states?
16:30:39 [TabAtkins]
dbaron: Well, any change. :hover, :active, a class...
16:31:15 [TabAtkins]
smfr: Tracking states kind of scares me.
16:31:28 [TabAtkins]
dbaron: It requires the author to track states, not the implementation.
16:33:22 [TabAtkins]
smfr: All the transitions are reversible, right?
16:33:40 [TabAtkins]
TabAtkins: Yeah, but to do it right you have to set up, say, a :hover and then a :not(:hover) rule.
16:33:56 [dino]
dino has joined #css
16:34:03 [TabAtkins]
smfr: So I think we have two non-exclusive proposals.
16:35:08 [TabAtkins]
smfr: One is to just let delay apply to all properties. The other is to add stepwise timing functions.
16:36:18 [TabAtkins]
TabAtkins: The stepwise includes making all properties respond to delay, so I'm fine with just going all the way up and adding stepwise timing functions.
16:37:52 [TabAtkins]
TabAtkins: Is anyone opposed to adding the stepwise timing functions?
16:37:56 [TabAtkins]
[silenc]
16:39:00 [TabAtkins]
anne: One question. The use-case we were looking at this morning was transitioning a display:none as well other properties. It can be solved with stepwise timings, but could we also do a transition-start event to activate it?
16:40:07 [TabAtkins]
anne: Another advantage of making them all animatable is that if we add the ability to interpolate one of the non-animatable ones later, we can just do it.
16:40:24 [smfr]
http://lists.w3.org/Archives/Public/www-style/2010Feb/0212.html
16:40:40 [TabAtkins]
RESOLVED: Make all properties animatable. (non-0 values round to 1)
16:42:50 [TabAtkins]
smfr: [explains full stepwise timing-function proposal]
16:43:57 [TabAtkins]
smfr: You may want to control where an *animatable* property precisely step, so you can have it step, say, halfway through, or control how many steps take place.
16:44:43 [TabAtkins]
smfr: A good example of this is the progress spinner on Mac OSX. It doesn't smoothly rotate; it does 12 discrete steps, and we can't do that right now with Transitions.
16:46:45 [TabAtkins]
dean: We'd suggested a few things, like letting someone specify the timing function curve as an SVG Path, but I think this proposal hits the majority of cases very simply.
16:47:27 [TabAtkins]
howcome: I like this stepwise function, but I don't know if I accept the value of full control of a bezier curve. I think a few keywords would just do it.
16:48:09 [TabAtkins]
dean: [shows some example of where animation programs allow complex control of a curve]
16:48:32 [TabAtkins]
dean: Writing a bezier function by hand is hard, but it's easy to understand when you see it.
16:49:07 [TabAtkins]
howcome: Can we just say that if you want more control, just use SVG? Keywords are the 90% function, right?
16:49:42 [TabAtkins]
dean: Well, we *also* have the 90% solution; we keep the keywords. But we also then add the bezier function.
16:50:00 [TabAtkins]
glazou: I think this is an excellent first example of something in CSS that can't be really hand-authored.
16:50:11 [TabAtkins]
howcome: I get worried when we say we don't care about complexity.
16:50:56 [TabAtkins]
dbaron: 99% of the implementation complexity is just implementing 'ease'. Doing any other bezier curve is just plugging in two more numbers.
16:51:47 [dbaron]
s/two more/four more/
16:52:20 [TabAtkins]
TabAtkins: This doesn't produce any long functions. A bezier is just four numbers.
16:53:17 [TabAtkins]
szilles: Can't we just have a list of xy pairs?
16:53:38 [TabAtkins]
smfr: That allows too much possibility of getting things wrong, accidentally defining invalid steps.
16:54:00 [howcome]
howcome has joined #css
16:54:12 [TabAtkins]
szilles: Sure, but you can do that with just the plain number in step-start().
16:54:27 [TabAtkins]
TabAtkins: Do you think we *need* that degree of control over the transition steps?
16:54:52 [TabAtkins]
dean: What I like about the simple form we have is that you can leave off the number entirely and it's very intuitive what happens.
16:56:09 [TabAtkins]
dean: [gives an example of using a step-start function to animate a second hand on a clock]
16:59:44 [TabAtkins]
[some confusion about difference between step-start and step-end]
17:00:13 [TabAtkins]
glazou: I would like it better with something like "steps(60) start" or "steps(60,start)".
17:00:54 [TabAtkins]
dean: Yeah, that's fine, but we also want an author to be able to do the simple case without having to write much, like just "steps" or "steps(start)".
17:01:10 [Bert]
(I don't believe you can animate a rotation: rotate(0) and rotate(360) look exactly the same, moving the box from one to the other is a no-op, isn't it? And 60 steps of no-op is still a no-op.)
17:01:14 [alexmog]
alexmog has joined #css
17:02:10 [TabAtkins]
glazou: No, they end up looking the same, but it's still a different thing.
17:02:46 [TabAtkins]
Bert: Where is it specified that you transition the value of the rotate function?
17:02:59 [smfr]
http://www.w3.org/TR/2009/WD-css3-2d-transforms-20091201/#matrix-decomposition
17:03:18 [TabAtkins]
dean: In the Transitions spec, there's a big section defining how to animate Transforms.
17:04:39 [TabAtkins]
Bert: If you had a rotate and a translate both?
17:05:09 [TabAtkins]
dean: If the from state and the to state have the same transform functions in order, you pick them up in order and transition each one independently.
17:05:23 [glazou]
glazou: no, 360deg and 0deg are not the same ; we all wrote our first draw-a-circle-on-screen program iterating from 0deg to 360deg
17:05:36 [TabAtkins]
dean: If they don't match, you do the matrix decomposition and animate that, which is defined in Transitions spec.
17:06:29 [TabAtkins]
Bert: Still a bit confused about transitions when the start and end state look the same.
17:06:51 [TabAtkins]
dean: I think you're confused because you haven't read the transition spec yet.
17:07:07 [TabAtkins]
Bert: Does this apply to color as well? If you transition from an rgba color to an hsl color?
17:07:21 [TabAtkins]
smfr: Right now we define it as transitioning through rgb space.
17:07:32 [TabAtkins]
dean: The problem is defining exactly how to transition the hue.
17:07:51 [TabAtkins]
dean: But we may have control over this later.
17:08:17 [TabAtkins]
dean: SMIL and SVG don't give you these controls either.
17:09:07 [TabAtkins]
howcome: Some implementor told me there was some ambiguity.
17:09:19 [TabAtkins]
dean: I think the spec might just say it in a single sentence or something.
17:09:36 [TabAtkins]
dean: So, back to steps.
17:09:52 [TabAtkins]
smfr: I'm happy with what daniel proposed ("steps() function")
17:11:37 [TabAtkins]
dean: Maybe it should be step() instead, and we decide whether it goes at the start or end?
17:11:54 [TabAtkins]
glazou: Just do step-start and step-end, and then steps().
17:11:56 [TabAtkins]
dean: Okay.
17:12:35 [TabAtkins]
szilles: I think the usage of the words is inconsistent. [step "start" and "end" referring to different things]
17:13:03 [anne]
step() and step-delayed()
17:13:08 [TabAtkins]
howcome: Perhaps we can just write it down now, and come up with a better word later?
17:13:25 [bradk]
align-steps(start|end)?
17:15:32 [Bert]
Why 2 functions, why not just step(n) where n >= 1, 1 by default?
17:15:43 [TabAtkins]
RESOLVED: Accept stepwise timing functions, with modifications suggested in minutes (step-start and step-end keywords, plus steps(number,[start|end]) function)
17:20:26 [Bert]
(Actually, step(0) as the default is better, then n is the number of intermediate steps.)
17:20:59 [Bert]
(or stepS().)
17:28:16 [Bert]
(If you want the possibility of unequal steps, you could do steps(0%,0%,20%,50%,80%,85%,90%). But that may be unnecessary.)
17:32:15 [szilles]
szilles has joined #css
17:34:25 [fantasai]
+Tantek
17:35:37 [TabAtkins]
Topic: Progressing Transitions (+ Animations?
17:35:55 [howcome]
http://people.opera.com/howcome/2010/talks/03-csswg-cupertino-ta.html
17:36:10 [TabAtkins]
howcome: Maybe I'm stupid...
17:36:31 [TabAtkins]
howcome: In my mind, when I come to this [points to exmaple on screen] I see transitions and animations being the same.
17:36:56 [TabAtkins]
howcome: I think animations are *great* for CSS, but I think we need to have the model clear. I don't think we've ever quite discussed if this is the right model.
17:37:16 [TabAtkins]
howcome: We should have *one* set of properties, *-duration, *-timing-function, *-delay.
17:37:44 [TabAtkins]
howcome: I wanted to do an animation and a transition, and I wanted them to do the same thing. They're basically the same code, except in one I specify a transition and in one I name an animation.
17:38:21 [TabAtkins]
howcome: There are some minor differences.
17:38:35 [TabAtkins]
glazou: They're not minor. In transitions the start is defined from context, not explicitly in the animation.
17:39:08 [TabAtkins]
howcome: [shows Simon's example of combining transitions and animations]
17:39:50 [TabAtkins]
howcome: In my head, it's arbitrary whether you write transitions or animations.
17:40:12 [TabAtkins]
dean: I will raise you a head and say "Well, margin and padding are the same thing, so let's make them the same."
17:40:24 [ChrisL]
ChrisL has joined #css
17:40:52 [TabAtkins]
howcome: Good argument, but I could also say something about webfonts being completely different. But we found a model where they work together with local fonts.
17:41:32 [TabAtkins]
dean: I think the major difference between transitions and animations is that transition is an effect you have happen whenever styles change, while animations are something you write specifically to happen when you change something.
17:41:43 [TabAtkins]
howcome: I don't grok that as being so different that you need separate properties for it.
17:42:20 [TabAtkins]
smfr: If you open that example in a legacy impl, the transition will make it still move, just instantaneous. The animation one, though, won't do anything.
17:43:02 [TabAtkins]
smfr: I think it would be useful to add an iteration-count to the animation and see how it compares with transitions.
17:43:33 [TabAtkins]
dean: dbaron raised the point on the list that you run into a cascade clash. In most cases you want to control transitions as a separate thing, separate from animations.
17:43:43 [TabAtkins]
dean: [dbaron's issue of additive cascade]
17:44:46 [TabAtkins]
dean: frex, for a transition you mkight want everything in a document to transition. You can say "* { transition-duration: 1s; }" and everything does it, no further difficulty.
17:45:15 [TabAtkins]
dbaron: I wrote a strawman syntax proposal on the list that I didn't particular like.
17:45:40 [TabAtkins]
dbaron: I think I'm in the middle of you guys. I think the cascade thing is something we need to solve a general. We need a way to do additive cascading.
17:45:55 [TabAtkins]
dbaron: Combining them together makes it a little bit worse in this case, but it's already a problem.
17:46:26 [TabAtkins]
dbaron: My strawman idea for combining them is - all the transition properties have an animation sibling, except transition-property and animation-name.
17:46:50 [TabAtkins]
dbaron: Drop the individual properties, have a combined one that takes a function for either a transition property, or an animation name.
17:47:17 [TabAtkins]
dean: That doesn't solve anything, it just maintains the current separation with a functional syntax.
17:47:56 [TabAtkins]
TabAtkins: It does partially address howcome's issue, in that it would eliminate 3 nearly identical properties.
17:48:01 [TabAtkins]
smfr: Is that a problem, though?
17:48:05 [TabAtkins]
howcome: I think it is.
17:48:15 [TabAtkins]
smfr: I think there's a fundamental difference there.
17:48:29 [TabAtkins]
smfr: Transitions kick off when CSS properties change for any reason.
17:49:31 [alexmog]
alexmog has joined #css
17:53:26 [TabAtkins]
TabAtkins: [puts up an example of how transitions work]
17:54:13 [TabAtkins]
plinss: I agree that there are enough similarities that it's *possible* to define animations as a type of transition, or vice versa, but I'm not sure it's worthwhile.
17:54:42 [TabAtkins]
howcome: I think that's the key question. I want to raise awareness in the room about that possibility.
17:55:43 [TabAtkins]
szilles: One thing that struck me is that Transitions are parametrized with the old value and new value. In the Animation, you've stuck in a specific value, but the transition has a "variable" of whatever the start and end values.
17:56:46 [TabAtkins]
smfr: I also think you're missing is that Animations can have multiple properties.
17:57:12 [TabAtkins]
plinss: Right, so if you key it to Transitions, you could have an animation started by a transition that changes other properties, and then you're into circularity issues.
17:58:21 [TabAtkins]
[conversation shifts to hover/non-hover reversing]
18:03:20 [TabAtkins]
http://lists.w3.org/Archives/Public/www-style/2010Mar/0266.html
18:04:31 [smfr]
http://smfr.org/misc/tab.html
18:05:38 [dbaron]
dbaron has joined #css
18:07:42 [TabAtkins]
howcome: We agree that we want this sort of thing possible in CSS? [referring to example]
18:07:48 [TabAtkins]
everyone: yes
18:08:11 [TabAtkins]
TabAtkins: But I have a js hack to make that work properly. Without it, the reverse transition happens on page load.
18:08:18 [TabAtkins]
bradk: :unhover!
18:08:25 [tantek]
tantek has joined #css
18:08:26 [TabAtkins]
tantek: :was(:hover)!
18:08:40 [glazou]
in fact that's not what we need
18:08:51 [glazou]
we need :will-be(:hover) :-)
18:09:10 [TabAtkins]
:wants-to-be(:unicorn)
18:09:25 [tantek]
is true on an element if it the selector inside the parens was ever true on the element since document load.
18:10:08 [TabAtkins]
szilles: What seems implicit here is that, to combine them, you need an explicit way to refer to the implicit start and end values.
18:11:36 [TabAtkins]
szilles: Some things seem simpler than others. Trigger an animation on a transition seems like a relatively simple thing to do.
18:12:02 [TabAtkins]
dean: It doesn't help our case, but internally we call them 'implicit' and 'explicit' animations. We used a different name now because they really are quite different things.
18:12:27 [TabAtkins]
dean: [example of how the dock works with both transitions and animations, with the zoom and the bouncing]
18:12:39 [ChrisL]
ChrisL has joined #css
18:14:03 [TabAtkins]
howcome: You could put them together, just have property names mean a transition and a keyframe name mean an animation.
18:14:17 [TabAtkins]
TabAtkins: That's a problem if we add a new property that matches a common author keyframe.
18:14:31 [anne]
to disambiguate you could use keyframe(<ident>)
18:15:06 [ChrisL]
well, a keyframe name could have some syntax to always identify it. $keyframe or something
18:15:12 [TabAtkins]
szilles: [talks about animations as a restricted subset of transitions, or viceversa]
18:15:32 [TabAtkins]
dean: A transition could be considered an animation that's created automatically at the moment of the property change.
18:15:56 [TabAtkins]
dean: That automatically fills in the start and end, and automatically removes itself at the end.
18:16:24 [TabAtkins]
dean: We're not just concerned about the impl difficulty here, but about authoring simplicity, and that's definitely why we did them differently. But we'll try.
18:17:03 [TabAtkins]
glazou: If you take the animation example, and remove the "from", it's equivalent to a transition.
18:17:43 [Bert]
q+ to suggest 'transition-PLAY-count' instead of -ITERATION-, to match 'marquee-play-count'
18:18:21 [TabAtkins]
dean: Not quite. Even if you remove the "from" and the "end", you're still saying you want a pulse, and there's nothing left to say what is being transitioned.
18:19:34 [TabAtkins]
howcome: [doesn't like the names "Transition" and "Transform" being so close]
18:19:43 [bradk]
trans(form|ition):
18:19:58 [TabAtkins]
trans(former): robots-in-disguise;
18:20:09 [TabAtkins]
[naming talk]
18:21:19 [bradk]
metamorphosis-timing-function:
18:21:21 [TabAtkins]
ChrisL: If you think of transitions as syntax sugar for an animation that is automatically created, it seems you can harmonize it.
18:22:16 [TabAtkins]
glazou: The discussion was not about naming. It was about harmonizing transitions and animations.
18:22:43 [TabAtkins]
dean: Ultimately what dbaron proposed is easy to implement; just merge all the properties together and have some way of telling apart transitions and animations.
18:23:04 [TabAtkins]
dean: But I want to go back and look at content we have and see if this sort of change will make it easier or harder to write.
18:24:39 [TabAtkins]
tantek: How many people have authored this on the public web? I found it confusing immediately, but as soon as I worked with it for a little bit it became very clear.
18:24:46 [TabAtkins]
howcome: I had the opposite.
18:25:26 [TabAtkins]
dbaron: I said I was in the middle before, now I'm leaning toward dean.
18:26:06 [tantek]
transform makes sense from a mathematical functional sense
18:26:22 [TabAtkins]
plinss: It is possible to make a superset, the question is if it will help.
18:27:35 [tantek]
http://en.wikipedia.org/wiki/List_of_transforms
18:28:24 [TabAtkins]
dean: A weird thing if you combine them is that you can have a transition and an animation both controlling the same thing they'll fight.
18:28:49 [tantek]
whereas transition makes sense like "state transition" in science/chemistry/physics
18:28:50 [TabAtkins]
glazou: I think you can possibly combine them, but at the cost of more complex syntax.
18:28:50 [tantek]
http://en.wikipedia.org/wiki/Transition_state
18:29:08 [TabAtkins]
glazou: I gave a demo with transitions and everyone got it immediately.
18:29:30 [TabAtkins]
howcome: I think we need to try to *look* at the issue.
18:29:48 [TabAtkins]
glazou: Sure, if someone can pull out a new proposal, great, but don't block the existing draft on it.
18:30:22 [TabAtkins]
howcome: I think this problem [referring to the example with reversing an animation] needs to be solved.
18:30:43 [TabAtkins]
plinss: Everyone agrees that that's a problem to be solved, but it's separate from this issue.
18:30:55 [TabAtkins]
howcome: I'm happy to go away and see if I can come up with something smart, or if others can.
18:31:37 [TabAtkins]
howcome: But also I'd like an action on the spec editors to deal with the reversible animation. This was the first simple thing I ran into that I thought I should be able to do.
18:32:28 [TabAtkins]
tantek: I think this should be logged as an apparent hole, and I'm interested in Dean's input on other apparent holes .
18:32:37 [TabAtkins]
dean: [talk about fill modes being added in nightlies]
18:32:41 [Bert]
(One thing I don't understand about animations and transitions is how you can have both: an object ca only be in one place at one time (Heisenberg notwithstanding).)
18:32:56 [TabAtkins]
ChrisL: Oh, you didn't have that? Definitely, that's necessary.
18:33:12 [TabAtkins]
dean: Yeah, it prevents a lot of added complexity.
18:33:27 [TabAtkins]
dean: All the holes are trying to avoid writing script.
18:33:34 [TabAtkins]
dean: So another one is how to chain animations.
18:33:43 [ChrisL]
Having fill mode is crucial. smil has post-animation fill, only. pre-animation fill is a useful addition
18:34:05 [TabAtkins]
dean: So maybe say the end-time of one transition is the start of another.
18:34:49 [TabAtkins]
ChrisL: So you can have animations keyed by a transition? Looks like that would solve the example problem.
18:35:22 [TabAtkins]
smfr: ONe thing I'd like to have is for the keyframes to apply with the same specificity as the selector, as if they're sucked into the declaration block and can be overriden.
18:35:45 [TabAtkins]
dean: We'd known about these things for a while, we just didn't put them in the proposal so we could have sometehing out in a reaonable time.
18:36:37 [TabAtkins]
dean: Another is, if you have multiple transitions together, the latest one wins. We'd like to be able to combine animations without explicitly writing them together in a keyframe rule.
18:37:03 [TabAtkins]
ChrisL: That seems crucial; you often want to run two animations that are simple by themselves but are rather complex to specify togethere.
18:37:21 [TabAtkins]
Bert: Had a question about the name of one property - iteration-count.
18:38:29 [TabAtkins]
Bert: But when we discussed marquee, Molly argued forcefully for play-count. Perhaps we can use the same type of name.
18:39:42 [TabAtkins]
TabAtkins: I agree; I think it's shorter, easier to type, and jives with marquee's similar property.
18:40:02 [TabAtkins]
fantasai: What about tantek's suggestion to change animation-duration to animation-period?
18:40:14 [TabAtkins]
glazou: we need to close this for now.
18:40:23 [dbaron]
dbaron has joined #css
18:40:40 [TabAtkins]
ACTION: howcome to produce alternate proposal for handling animation and transition together
18:40:40 [trackbot]
Created ACTION-213 - Produce alternate proposal for handling animation and transition together [on Håkon Wium Lie - due 2010-04-06].
18:40:49 [dbaron]
What about repeat-count rather than play-count or iteration-count?
18:41:00 [Bert]
(Also 'marquee-direction' and 'animation-direction' are subtly different, but I haven't understood what the difference is yet...)
18:41:42 [TabAtkins]
glazou: Steps to advance transitions
18:41:51 [TabAtkins]
smfr: We'll add stepwise functions, and publish a new draft.
18:42:17 [TabAtkins]
dbaron: I think we also need to handle the reversing business, and probably the details in the "animation of property types" section. I've been guilty of not sending comments about that.
18:43:19 [TabAtkins]
dean: Can we settle on a goal for progressing to Last Call?
18:43:27 [TabAtkins]
dbaron: I think it's doable to do LC in a few months.
18:43:40 [TabAtkins]
tantek: Is there an issues page for this draft?
18:43:54 [TabAtkins]
dbaron: I created an issues page, but didn't add anything to it for a while.
18:44:04 [TabAtkins]
fantasai: Editors should be making the issues list.
18:44:50 [TabAtkins]
ACTION: dean and smfr to produce issues list for Transitions and Animations, including comments from dbaron and howcome.
18:44:50 [trackbot]
Created ACTION-214 - And smfr to produce issues list for Transitions and Animations, including comments from dbaron and howcome. [on Dean Jackson - due 2010-04-06].
18:45:08 [Bert]
-> http://www.w3.org/Style/CSS/Tracker/products/22 issues list for transitions (only has one issue currently)
18:46:05 [TabAtkins]
[discussion of testing transitions/animations]
18:47:46 [glazou]
transition-workin-group: lunch pulse 3mn
19:33:22 [jdaggett_]
jdaggett_ has joined #css
19:34:02 [jdaggett_]
jdaggett_ has joined #css
19:34:13 [jdaggett_]
jdaggett_ has left #css
19:34:30 [jdaggett_]
jdaggett_ has joined #css
19:39:18 [jdaggett]
jdaggett has joined #css
19:44:25 [Arron]
Arron has joined #css
19:44:58 [dethbakin]
dethbakin has joined #css
19:45:40 [TabAtkins]
TabAtkins has joined #css
19:46:48 [bradk]
bradk has joined #css
19:47:44 [szilles]
szilles has joined #css
19:49:05 [dsinger]
dsinger has joined #css
19:49:08 [dino]
dino has joined #css
19:50:00 [sylvaing]
sylvaing has joined #css
19:50:13 [Zakim]
Zakim has joined #CSS
19:50:22 [dino]
zakim, list conferences
19:50:22 [Zakim]
I see Team_MIT(SITE)2:30PM, WS_WSRA()3:30PM active
19:50:24 [Zakim]
also scheduled at this time are GA_(Effects TF)3:00PM, INC_SSN()4:00PM
19:50:35 [smfr]
smfr has joined #css
19:51:53 [glazou]
glazou has joined #css
19:53:59 [tantek]
tantek has joined #css
19:55:13 [dethbakin]
dethbakin has joined #css
19:57:31 [dino]
zakim, room for 5?
19:57:33 [Zakim]
ok, dino; conference Team_(css)19:57Z scheduled with code 26631 (CONF1) for 60 minutes until 2057Z
19:59:14 [ChrisL]
s/ http://www.dbaron.org/mozilla/visited-privacy/a mozilla proposal/
20:05:34 [jdaggett]
dino: so the dial-in number is the normal zakim number, then 26631?
20:05:42 [dino]
jdaggett: yes
20:05:51 [jdaggett]
great
20:05:59 [glazou]
hi jdaggett
20:05:59 [dino]
jdaggett: i'm not in the meeting room so I don't know if they have dialed yet
20:06:07 [glazou]
not yet
20:06:10 [jdaggett]
ok
20:06:12 [glazou]
dbaron still speaking
20:06:16 [ChrisL]
they haven't
20:07:02 [glazou]
jdaggett: we have only one pod, so LOUD voice will be useful
20:07:23 [jdaggett]
ok, will be a big mouth today
20:07:35 [glazou]
Zakim, code ?
20:07:35 [Zakim]
the conference code is 26631 (tel:+1.617.761.6200 tel:+33.4.89.06.34.99 tel:+44.117.370.6152), glazou
20:07:40 [jdaggett]
my guess is i'll miss some of the mumbling that goes on
20:07:49 [glazou]
probably yes
20:07:54 [glazou]
we'll gather around the pod
20:08:20 [glazou]
jdaggett: calling now
20:08:43 [jfkthame]
jfkthame has joined #css
20:09:08 [Zakim]
Team_(css)19:57Z has now started
20:09:13 [Zakim]
+[IPcaller]
20:09:17 [Zakim]
+[Apple]
20:09:20 [fantasai]
ScribeNick: fantasai
20:09:34 [jdaggett]
ipcaller is jdaggett
20:09:38 [fantasai]
jdaggett joins from Tokyo via phone bridge
20:09:47 [jdaggett]
zakim, ipcaller is jdaggett
20:09:47 [Zakim]
+jdaggett; got it
20:10:12 [fantasai]
testing voice range of mic
20:10:24 [Zakim]
+ +44.845.397.aaaa
20:10:38 [dbaron]
Zakim, aaaa is jfkthame
20:10:38 [Zakim]
+jfkthame; got it
20:10:46 [fantasai]
Jonathan Kew has just joined
20:10:57 [fantasai]
jdaggett: I wanted to go over one thing that was discussed yesterday
20:11:09 [fantasai]
jdaggett: There was the question of CSS2.1 font-weight
20:11:22 [szilles]
szilles has joined #css
20:11:22 [cslye]
cslye has joined #css
20:11:34 [jdaggett]
http://lists.w3.org/Archives/Public/www-style/2010Mar/0510.html
20:11:58 [fantasai]
jdaggett: The wording of the 2.1 spec now, the 4 bullet points you guys were talking about
20:12:10 [fantasai]
jdaggett: The 4th bullet point is not clear about 400 and 500
20:12:29 [fantasai]
jdaggett: It's clear in case where 400 doesn't exist but 500 does, but not about other cases
20:12:41 [fantasai]
jdaggett: I've clarified this in css3-fonts
20:12:57 [fantasai]
Chris: In that case I suggest we adopt the CSS3 wording in CSS2.1 to keep these consistent
20:13:04 [mjs]
mjs has joined #css
20:13:24 [fantasai]
jdaggett: basically 400 and 500 map to each other, and then they map down
20:13:24 [jdaggett]
http://lists.w3.org/Archives/Public/www-style/2010Feb/0279.html
20:13:46 [fantasai]
RESOLVED: accept proposal to use css3-fonts wording about font-weight hole-filling in css2.1
20:14:04 [fantasai]
jdaggett: ? posted about having an all-small-caps setting
20:14:20 [fantasai]
jdaggett: It's very easy to add, I've added it to the current wording
20:14:35 [TabAtkins]
s/?/Adam Twardoch (sp?)/
20:14:36 [jdaggett]
http://dev.w3.org/csswg/css3-fonts/#font-variant-caps-prop
20:15:16 [fantasai]
jdaggett: The one tricky part about this is because of the bheavior defined in 2.1 for small caps, where UAs fake small caps,
20:15:27 [fantasai]
jdaggett: to be compatible with 2.1 we need to continue to fake that behavior
20:15:57 [fantasai]
jdaggett: I don't think this would work for petite-caps, so I didn't add simulation there
20:16:12 [fantasai]
jdaggett: Because they are much smaller, and the size difference would be noticeable
20:16:47 [fantasai]
Chris: So what you're talking about is fallback. I think you're correct that leaving petite-caps as lowercase is better than faking small-caps
20:16:51 [smfr]
smfr has joined #css
20:17:06 [fantasai]
jdaggett: So to summarize, we will fake small-caps and all-small-caps, but not petite-caps or all-petite-caps
20:17:17 [fantasai]
howcome: Isn't all-small-caps the same as text-transform + small-caps?
20:18:06 [fantasai]
jdaggett: It's very close, but since you're doing the casing in the font engine, the font can tweak things like parentheses because it knows there are no lowercase letters
20:18:23 [fantasai]
howcome: Wouldn't it make sense to do the higher-quality rendering for text-transform + small caps as well?
20:18:57 [fantasai]
jdaggett: You're not communicating to the opentype engine that it's all small caps
20:19:23 [fantasai]
howcome: You could, though. If you know tet-transform: lowercase is applied, then you know that it's the same as all-small caps and you can request that from the engine
20:20:47 [fantasai]
jdaggett: Adam posted an explanation explaining the rendering of text that has already been transforming
20:21:18 [fantasai]
jdaggett: ... something about not knowing when things get transformed
20:21:46 [jdaggett]
http://lists.w3.org/Archives/Public/www-style/2010Mar/0306.html
20:22:43 [fantasai]
cslye: I do think some font developers do put extra stuff in these layout features, like numbers and currency
20:23:10 [fantasai]
cslye: I don't know if it's good or bad, but some people use this as a way to pack more into a font. It's not just letters transforming, but an alternate look
20:23:50 [fantasai]
jdaggett: I think what howcome is saying is that instead of the author explicitly requesting all-small-caps, the feature would be implied by a combination of CSS properties
20:23:54 [fantasai]
...
20:24:15 [fantasai]
Steve: howcome's saying that affter you've done the transformation, you remember that fact, and then you pick up the c2sc
20:24:44 [fantasai]
jdaggett: I think the implementation would be tricky because you'd have to see if the font has this feature enabled. *If* not, then you do the transformation yourself
20:25:25 [fantasai]
cslye: Is it intuitive to split this? If you have an acronym, you usually want to transform to uppercase, then use all-small-caps to get a smaller version if that's available
20:25:34 [fantasai]
cslye: Not to use a lowercase version
20:26:40 [fantasai]
jdaggett: ... petite-caps is a different route than lowercasing and then petitecaps
20:27:04 [fantasai]
howcome: I think that keyword is not necessary, so I would like to see this marked as an issue
20:27:11 [fantasai]
Steve: My question is what is easier for the user
20:27:22 [fantasai]
cslye: I think Adam addresses this in his email
20:28:45 [fantasai]
Steve: What's the computed value?
20:29:03 [fantasai]
ChrisL: What you get by copy-paste after transformation varies by UA
20:29:49 [fantasai]
...
20:30:20 [fantasai]
Steve: If you want to use text-transform selectively, then all-small-caps is a better option
20:31:03 [fantasai]
ChrisL: If a user agent understands and sees this combination of properties, it could hand off the combination to the font engine and ask it to do it all
20:31:07 [mjs]
mjs has joined #css
20:31:19 [fantasai]
Steve: The scope of the text-transform is different from the scope of the all-small-caps
20:31:54 [fantasai]
dsinger: If you have a way of asking the font engine to do something directly, and you use a circuitous route, you should get different results
20:32:08 [fantasai]
Bert: Shouldn't have two ways to do two things that are so closely related
20:33:06 [fantasai]
Bert: We already have one way to get there
20:34:00 [fantasai]
Bert: And the difference between the two is very subtle, most people won't notice but one way is definitely better
20:34:48 [fantasai]
cslye: Our concern is that text-transform + small-caps is unintuitive
20:35:13 [fantasai]
jdaggett: Sounds like we dont' have a conclusion, but we should keep track of the issue
20:35:20 [fantasai]
SteveZ: you can put an issue in the draft
20:35:32 [fantasai]
jdaggett: I will mark this as an issue, and the maybe ping Adam again
20:35:46 [fantasai]
howcome: It's the same issue for all-petite-caps, too
20:36:56 [fantasai]
fantasai: The fallback for petite-caps doesn't involve synthesis, so you could wind up with all lower case instead
20:37:09 [fantasai]
fantasai: at least for small caps + text transform, you're guaranteed small caps even if they're not as pretty
20:37:22 [fantasai]
Bert: Maybe the fallback for petite-caps should be small-caps?
20:37:27 [fantasai]
cslye: It's a good question
20:38:05 [fantasai]
cslye: Maybe you're better off faking petite-caps
20:38:18 [fantasai]
jdaggett: I don't think we should have UAs fake the petite-caps
20:38:33 [fantasai]
SteveZ: Which is why I suggest falling back to small-caps
20:38:50 [fantasai]
jdaggett: I don't think it will work
20:38:59 [fantasai]
jdaggett: The feature becomes so subtle, that ...
20:39:13 [fantasai]
howcome: No this, is just to ensure that we can implement this in a non-OT environment as well
20:39:25 [fantasai]
howcome: so that UAs in those environments can do something there
20:39:56 [fantasai]
jdaggett: When you try to synthesize petite caps, the glyphs get so small that it's hard to read
20:40:08 [bradk]
faked petite caps would look too fake and too light. Small caps/fake small caps would be a better falback.
20:40:57 [fantasai]
jdaggett and dsinger think this is a slippery slope
20:41:14 [fantasai]
jdaggett: I think going in this direction is diminishing returns
20:43:05 [jfkthame]
using small-caps as the fallback for petite-caps makes sense .... like we use oblique as fallback for italic (or vice versa)
20:44:40 [fantasai]
jdaggett: I would like to avoid artificial ways of doing font feature effects
20:45:05 [fantasai]
cslye: That's fine, but then we can't implement the all-petite-caps feature with text-transform, because we'll wind up with unwanted lowercase
20:45:28 [fantasai]
jdaggett: Ok, I'm going to record this as there are two separate but possibly related issues
20:45:44 [fantasai]
SteveZ: Another point to record is that, it appears that some people believe petite-caps match the x-height of the font
20:45:55 [fantasai]
SteveZ: And in fact in one place, they were called ex-caps
20:46:09 [fantasai]
jdaggett: Petite-caps are below the x-height.
20:46:15 [fantasai]
cslye and stevez don't agree
20:46:23 [fantasai]
jdaggett: It's smaller than small-caps
20:46:25 [bradk]
'text-transform:lowercase;' + small caps = all small caps seems ituitive to me.
20:46:37 [fantasai]
SteveZ: small-caps are typically above the x-height
20:46:48 [fantasai]
jdaggett: next issue
20:46:56 [fantasai]
jdaggett: Dealing with subscript and superscript
20:47:14 [fantasai]
jdaggett: OT has features that allow font designers to put sub /super glyphs in the font itself
20:47:21 [fantasai]
jdaggett: Issue is how to access it
20:47:25 [bradk]
'text-transform:lowercase; + all-small-caps = all-small-caps seems like a waste of a property
20:47:28 [fantasai]
jdaggett: currently sub/super is done with a combination of properties
20:48:00 [fantasai]
jdaggett: the question is how to work things so that use the font feature if available, otherwise fall back to altering properties as before
20:48:09 [jdaggett]
http://lists.w3.org/Archives/Public/www-style/2010Feb/0245.html
20:48:19 [fantasai]
jdaggett: that's the original issue
20:48:21 [jdaggett]
http://dev.w3.org/csswg/css3-fonts/#character-transform-prop
20:48:36 [fantasai]
jdaggett: This is how the spec currently words it
20:48:55 [fantasai]
jdaggett: the idea here is that you use the subscript glyph if available,
20:49:05 [fantasai]
jdaggett: and fall back to a synthesized version of that if that's not available
20:49:09 [howcome]
http://people.opera.com/howcome/2010/tests/petite.html
20:49:23 [fantasai]
jdaggett: and in this case I think it's better that the author see a simulated version
20:49:51 [fantasai]
ChrisL: Yes, this is good, because the fallback and the feature don't get combined
20:50:14 [fantasai]
ChrisL: It's a little weird that it resets the properties it simulates with, but I also think it's a good idea here.
20:51:01 [fantasai]
SteveZ: What happens if I stack superscripts or stack subscripts?
20:51:07 [fantasai]
SteveZ: This is common in mathematics
20:51:21 [dbaron]
We probably don't want to break 2<sup>2<sup>x</sup></sup>
20:51:37 [fantasai]
SteveZ: The reason I say super { font-size: 70% } is so that stacking superscripts works
20:52:01 [fantasai]
Bert: It seems to me that we're using a feature in OT that we already have
20:52:41 [fantasai]
SteveZ: We don't already have this. Simulated supserscripts are not nearly as correct typographically as real ones
20:53:06 [fantasai]
jdaggett asserts that stacked subscripts are unusual
20:53:14 [fantasai]
SteveZ and ChrisL disagree, it is a common case
20:54:15 [fantasai]
you probably don't want character-transform to inherit...
20:54:52 [cslye]
cslye has joined #css
20:55:15 [fantasai]
jdaggett: the subscript or superscript is tied to a base font size
20:55:23 [fantasai]
jdaggett: changing the font size changes the color of the glyph
20:55:59 [fantasai]
jdaggett argues against something
20:56:20 [fantasai]
Steve: Let me try another way
20:56:32 [fantasai]
Steve: What I'm trying to get at is, the user decreased the font size
20:56:48 [fantasai]
Steve: One way to deal with this is to reset the font size
20:57:04 [fantasai]
Steve: The other way is to not reset the font size, but to use the font-size of the parent when selecting the superscript glyph
20:57:41 [fantasai]
fantasai: The tricky part is, if you have nested elements, you don't want the parent
20:57:42 [Bert]
(But then the author doesn't get what he asked for, does he?)
20:57:51 [ChrisL]
s/common case/common case in mathematics/
20:57:54 [fantasai]
fantasai: you want the parent of the element on which character-transform was set
20:58:09 [fantasai]
Steve: That would allow us to get nice superscripts all the way down
20:58:23 [fantasai]
jdaggett: I think I understand what you're trying to say
20:58:41 [fantasai]
jdaggett: I can see these two things being used in conjunction. Whatever it is, though, it should be understandable in the simple case
20:58:56 [fantasai]
Steve: The simple case, they'll look exactly the same, so it didnt' really matter which way you did it
20:59:11 [fantasai]
Steve: The result is you would use the subscript character in the size of the original font
20:59:19 [fantasai]
jdaggett: As long as that's there, that's the key thing
21:00:55 [fantasai]
Chris and Steve try to explain the use case for character-transform to Bert
21:01:22 [fantasai]
Bert: What if there's an image in there? Or fallback fonts?
21:02:05 [fantasai]
jdaggett: This is something that would make sense for the default behavior, but it doesn't make it impossible to use the old behavior
21:03:06 [fantasai]
fantasai: Bert has a good point. If you have fallback, or if you have images, you don't know where the effective baseline is
21:03:12 [fantasai]
fantasai: And you can't align things to it
21:03:53 [fantasai]
SteveZ: In that case, you could say, if there is anything in the element that can't be substituted through the font, then you fake the whole thing
21:03:58 [fantasai]
jdaggett: I don't think you can do that
21:04:08 [fantasai]
jdaggett: I don't think it's practical to make the fallback behavior contextual
21:04:39 [fantasai]
jdaggett: You're either affecting vertical-align or you're not
21:04:49 [fantasai]
jdaggett: We have to know
21:05:04 [fantasai]
SteveZ: my approach is that you odn't affect font-size or vertical-align when you do this
21:05:12 [fantasai]
SteveZ: You just don't use them when rendering
21:05:35 [fantasai]
ChrisL: I like that approach
21:05:39 [fantasai]
peter says something quietly
21:05:53 [jfkthame]
if you're applying an opentype superscript or subscript feature, and you need to know the baseline for some other alignment, you can ask the font for its superscript or subscript offset
21:05:57 [fantasai]
jdaggett: I'm not crystal clear on what is being proposed, so what I'd ask you to do is to look at 6.2 and suggest specific changes
21:06:10 [fantasai]
ACTION: SteveZ Propose changes to character-transform to address above concerns
21:06:10 [trackbot]
Created ACTION-215 - Propose changes to character-transform to address above concerns [on Steve Zilles - due 2010-04-06].
21:06:23 [fantasai]
jfkthame, thanks!
21:06:28 [fantasai]
jdaggett: new topic
21:06:30 [jdaggett]
http://lists.w3.org/Archives/Public/www-style/2010Mar/0224.html
21:06:37 [fantasai]
jdaggett: Talking about font-specific font features
21:06:43 [jdaggett]
http://people.mozilla.org/~jdaggett/images/fallbackexamples.png
21:07:12 [fantasai]
jdaggett: In the first page you have, say, two fonts
21:07:34 [fantasai]
jdaggett: If you use the setting styleset(6), that's picking a specific font feature
21:07:50 [fantasai]
jdaggett: typically styleset numbers' effect is not consistent across fonts
21:08:13 [fantasai]
jdaggett: Last time we talked about this, there were a number of people were concerned that triggering a numbered styleset across font would not be good
21:08:33 [fantasai]
jdaggett: The key point here is that htese are variations on the underlying font itself
21:08:42 [fantasai]
jdaggett: they're not .. look coherent with the text that surrounds it
21:08:59 [fantasai]
jdaggett: The concern about showing some crazy glyph.. that the resulting fallback will be ruinous
21:09:07 [fantasai]
jdaggett: I think that's really far-fetched scenario
21:09:16 [fantasai]
jdaggett: You'd have to have a pathological fallback situation for that to happen
21:09:34 [fantasai]
jdaggett: Most platform fonts dont' have this feature, and they tend to be subtle
21:09:40 [fantasai]
jdaggett: Authors would have to not know about (?)
21:09:54 [dsinger]
is that (a) because fallback etc. is unlikely or (b) because styleset(6) (say) is likely to be there or not, but not very 'different' between fonts?
21:09:59 [jdaggett]
http://people.mozilla.org/~jdaggett/tests/strangepresentationalligs.html
21:10:12 [jdaggett]
http://people.mozilla.org/~jdaggett/tests/strangeligatures.png
21:10:39 [fantasai]
on the left is safari, on the right is firefox
21:10:53 [dsinger]
isn't it possible that styleset(6) in one font gives me a variant designed for great legibility at small sizes and in another, designed for swishy presentation in titling and at large sizes?
21:11:23 [fantasai]
ChrisL: Could I interject an observation?
21:11:29 [fantasai]
ChrisL: I think there's not very many of these ligatures
21:11:44 [fantasai]
ChrisL: They're added mainly for codepage roundtripping between legacy encodings
21:11:54 [fantasai]
ChrisL: They tend not to be supported in fonts
21:12:08 [fantasai]
ChrisL: And they mess up other things like searching
21:12:17 [fantasai]
ChrisL: As long as people have a more reliable method of getting the same effect
21:12:34 [fantasai]
ChrisL: I think the use of these presentation ligature codepoints will be decrease
21:12:54 [fantasai]
jdaggett: My comment isn't about whether they should be used, but that their fallback is different
21:13:22 [fantasai]
jdaggett: My point is that when fallback occurs, strange things can occur
21:13:29 [fantasai]
dsinger projects his comment into voice
21:13:59 [fantasai]
dsinger: Style sets should be only applied to the font for which they're expected to apply
21:14:10 [fantasai]
jdaggett: That's what you get with fallback.
21:14:13 [jfkthame]
it's possible, but a very unlikely scenario - font features are the wrong mechanism for a designer to be using there, that's optical sizing
21:14:21 [fantasai]
dsinger: Why do we wind up speciying a font-specific setting to a fallback font?
21:14:35 [fantasai]
dsinger: Why don't we design the syntax so you only apply the font-specific setting to the font it was intended for/
21:14:45 [fantasai]
jdaggett: styleset is the most extreme example
21:14:54 [fantasai]
jdaggett: but some other features may or may not be font specific
21:15:02 [fantasai]
jdaggett: e.g. the annotation forms feature
21:15:03 [jfkthame]
styleset may well behave consistently across a whole library of fonts, e.g., from a single designer/vendor
21:15:07 [fantasai]
http://people.mozilla.org/~jdaggett/images/fallbackexamples.png
21:15:20 [fantasai]
jdaggett: There is more consistency there
21:15:50 [fantasai]
jdaggett: The author should be making the decision of whether it's a font-specific or font-generic feature.
21:16:03 [fantasai]
ChrisL: One way to get around this is to put the style set selection in the @font-face rule
21:17:02 [fantasai]
dsinger: Note also that the font that ends up being used might be something the author didn't select at all. It could be something specified by the user.
21:17:11 [fantasai]
or on a system with limited fonts and no downloading
21:17:32 [fantasai]
Steve: I may, with old eyes, want to use a high-contrast font
21:17:33 [ChrisL]
While it may be sometimes true, or indeed often true, that opentype font features only make sense when applied to a specific font or to a spacific family, it is not clear that it is *always* true
21:17:42 [ChrisL]
nd thus, authors should be able to choose whether to make this general or font specific.
21:18:10 [fantasai]
jdaggett: You can't guarantee that the web page is readable with an alternate font
21:18:18 [jfkthame]
if you want to use a personal stylesheet to force a certain font, you can also use it to override the features
21:18:29 [fantasai]
jdaggett: The author could pick a set of CSS features in combination that would make the page unreadable with another font
21:18:44 [fantasai]
dsinger: I'm not saying that all font features should be restricted
21:19:11 [fantasai]
dsinger: But the ones where you're selecting by number, rather than by name for a generic feature, you're getting a random effect if you're getting one at all
21:19:16 [fantasai]
dsinger: That doesn't seem right to me
21:19:27 [fantasai]
jdaggett: You can already use @font-face if you really want
21:19:46 [fantasai]
http://lists.w3.org/Archives/Public/www-style/2010Mar/0202.html
21:20:13 [fantasai]
jdaggett argues that this and that is not that font-specific
21:20:51 [fantasai]
peter: The problem is that the author may think that the feature is not font-specific, and they test it on their three fonts, but then some user 5 years downt he line uses a font that the author never expected
21:21:13 [fantasai]
jdaggett: We're not changing the characters, we're changing the presentation
21:21:42 [fantasai]
dsinger: styleset(6) doesn't say what the change in presentation is, and it might be very specific to the font
21:22:05 [fantasai]
...
21:22:16 [Arron]
font-variant: styleset(gabriola, 6) styleset("poetica std", 3);
21:22:17 [fantasai]
howcome: Couldn't we just say that the styleset(6) applies only to the first font in the list
21:22:28 [fantasai]
howcome: and if you want to set it on other things, then you set it on @font-face
21:23:29 [fantasai]
jdaggett: If we come up with clever syntax to make it font-specific, we increase the burden of the author
21:24:00 [fantasai]
howcome: We increase the burden on the author to decrease the chance of something weird happening
21:24:26 [fantasai]
Peter: Authors' aren't going to read the standard, and they're not going to know whether they should use it in the property or in the @font-face
21:25:05 [fantasai]
Peter: It's going to work fine on their machine, and then the reader gets screwed down the line
21:25:17 [fantasai]
jdaggett: It won't be unreadable
21:25:34 [fantasai]
dsinger: If it were designed for 30pts in titles adn gets used in body text, then you might well get something unreadable
21:26:30 [fantasai]
cslye: ... throwing baby out with the bath water
21:26:55 [fantasai]
peter: We're not saying let's not have this feature
21:27:36 [fantasai]
fantasai: It's not that hard to tie the feature to the font. We have at least 3 proposed ways to do it
21:28:03 [dsinger]
I would prefer syntax that makes it unlikely, I would settle for a warning...
21:28:19 [fantasai]
jdaggett: I think whether something is font-specific or not is not determined by whether it's numerical or not
21:28:35 [fantasai]
dsinger: Yes, I accept a given foundry may use numbers consistently across fonts
21:28:46 [fantasai]
jdaggett: I think authors should have this flexibility
21:29:15 [fantasai]
We're not moving forward with this :(
21:29:23 [fantasai]
jdaggett: The other issue was font-size-adjust
21:29:46 [fantasai]
jdaggett: I'm not sure I would be the best rep for that issue
21:29:48 [fantasai]
dbaron takes the floor
21:30:10 [fantasai]
dbaron: The idea of font-size-adjust is that it's a way of specifying the font size by specifying the x-height
21:30:21 [fantasai]
dbaron: it does it in backwards-compatible way so that old UAs get the font-size property
21:30:28 [fantasai]
dbaron: It does this by having font-size-adjust take a number
21:30:52 [jdaggett]
http://dev.w3.org/csswg/css3-fonts/#font-size-adjust-prop
21:31:00 [fantasai]
dbaron: font-size: 20px; font-size-adjust: 0.45; gets you 9px x-height
21:31:07 [fantasai]
dbaron: this is useful for two things
21:31:09 [Curt`]
Curt` has joined #css
21:31:27 [jdaggett]
example of how font-size-adjust works
21:31:28 [jdaggett]
http://dev.w3.org/csswg/css3-fonts/fontsizeadjust.png
21:31:31 [fantasai]
dbaron: Particularly at small font size [in bicameral scripts], legibility is related more to x-height than to font size
21:31:38 [ChrisL]
and this is primarily useful when fonts are substituted, or changed on sub elements
21:31:45 [fantasai]
dbaron: e.g. Verdana is readable at very small font sizes
21:31:50 [fantasai]
even though most fonts are not
21:32:12 [fantasai]
dbaron: One use case for font-size-adjust is when you have multiple fonts
21:32:24 [fantasai]
dbaron: E.g. in computer docs, you are mixing normal font with monospace font
21:32:39 [fantasai]
dbaron: and depending ont eh fonts, the x-heights might be very different
21:32:57 [fantasai]
dbaron: So to get a consistent effective size, you'd need to size them differently (e.g. much smaller monospace font)
21:33:07 [Bert]
s/ont eh/on the/
21:33:15 [fantasai]
dbaron: I wanted to make font-size-adjust work better in cases where the author wants to use the user's default font size
21:33:26 [fantasai]
dbaron: but still equalize x-heights across fonts
21:33:36 [bradk]
example of tiny x-height: http://www.fonts.com/FindFonts/detail.htm?pid=203205
21:33:56 [fantasai]
dbaron: The secondary use case is that browsers do really weird things to equalize proportional and monospace fonts
21:34:02 [fantasai]
dbaron: and this couldpotentially replace that
21:34:25 [fantasai]
dbaron: Suggesting font-size-adjust: auto to mean, use the x-height of the user's default font
21:34:36 [fantasai]
jdaggett: the tricky part is that the default font isn't always one font
21:34:43 [fantasai]
dbaron: I would love to get this weird font pref setting thing
21:34:59 [fantasai]
dbaron: It might require a little bit more, but that bit can be browser-specific
21:35:02 [TabAtkins]
s/get this/get rid of this/
21:35:14 [fantasai]
dbaron: I would also like to allow authors to opt-into this world of consistent x-heights
21:35:29 [fantasai]
dbaron: by aligning to a reasonable defautl font
21:35:40 [fantasai]
dbaron: Authors can do something similar by font-size-adjust: 0.5
21:36:01 [fantasai]
dbaron: But that changes the user's default size, even if they don't want to, by the amount by which that factor is off
21:36:22 [TabAtkins]
szilles: I'm confused about what the "user's default font-size" is.
21:36:26 [fantasai]
dbaron: There's the issue that the default font size does vary by language
21:36:48 [fantasai]
dbaron: Some browsers have lang-specific font preferences
21:36:55 [fantasai]
dbaron: so we might use those
21:37:02 [fantasai]
szilles: If i set a font ...
21:37:38 [fantasai]
dbaron: If you set a font, not use the user's default, you are likely to keep more closely to the effective font size of the user's default
21:39:09 [fantasai]
dbaron: font-size-adjust: auto only depends on the default font-family, not on the default font-size
21:40:14 [ChrisL]
useful discussion at http://www.emdpi.com/css3xheight.html
21:40:17 [fantasai]
szilles: So.. 'auto' makes a bunch of assumptions about where to go look for things
21:40:28 [fantasai]
szilles: And those assumptions work in pages where people use the default font
21:40:37 [fantasai]
szilles: Seems it wouldn't work as well to change the default font
21:41:06 [fantasai]
dbaron: If they change the font, then they can also set a different font-size-adjust
21:41:16 [fantasai]
szilles: But the values are hard to figure out
21:41:28 [fantasai]
szilles: It would make more sense to say "match my parent's ex-height"
21:42:28 [ChrisL]
elika: no, we are just refining thr typographical color (priceless!!)
21:42:30 [fantasai]
fantasai: That's an interesting idea. Setting it on the root would hit up the initial font
21:42:55 [fantasai]
howcome: Are we proposing to change page layouts across the web?
21:43:00 [fantasai]
...
21:43:40 [fantasai]
Bert, howcome: maybe be more useful as we see more fonts used
21:43:48 [fantasai]
Alex: We have gotten requests for font-size-adjust
21:45:11 [fantasai]
dbaron: font-size-adjust was in CSS2.10
21:45:13 [fantasai]
er
21:45:16 [fantasai]
CSS2.0
21:45:33 [fantasai]
jdaggett: I think it's a somewhat cumbersome feature
21:45:50 [fantasai]
jdaggett: But I see people saying "I want this!" and when I see what they describe, it's font-size-adjust
21:46:00 [fantasai]
dbaron: It's implemented in Gecko
21:46:17 [fantasai]
Alex: I'm not going to confirm or deny the plans for IE9
21:46:40 [fantasai]
ChrisL: I think the proposal has merit
21:46:49 [fantasai]
jdaggett: To me the big problem here is what you're calling the default font
21:46:58 [fantasai]
jdaggett: Because that's something that's not defined normatively
21:47:09 [fantasai]
jdaggett: ANd it's important for having this feature work consistently
21:47:25 [fantasai]
dbaron: I Tried to leave a bit of latitude for determining what exactly the default font is
21:47:49 [fantasai]
howcome: I think I like Steve's proposal to use the root element
21:48:06 [fantasai]
dbaron: I don't quite understand how that proposal would work.
21:48:49 [ChrisL]
a font example with a fairly small x-height http://www.fonts.com/FindFonts/detail.htm?pid=203205#waterfall
21:48:49 [fantasai]
Steve: The value on the root element, unless one is specified, is going to be the default.
21:49:06 [fantasai]
Steve: I can explicitly set a value on the root element
21:49:22 [fantasai]
Steve: And have that used instead of the default font
21:49:42 [fantasai]
Steve: So that could be the default font, but it doesn't have to be
21:50:18 [fantasai]
dbaron explains something about overriding
21:50:33 [fantasai]
dbaron: let's distinguish between user's default font-family and size
21:50:46 [fantasai]
dbaron: This proposal gives a better way of matching the default font *size*
21:51:31 [fantasai]
dbaron: It also gives users a better way to deal with the monospace-proportional harmonization problem
21:51:35 [fantasai]
Steve: That case is handled either way
21:52:01 [fantasai]
dbaron: example
21:52:11 [fantasai]
dbaron: Suppose the author wants to preserve the user's size
21:52:15 [fantasai]
dbaron: But wants to use verdana
21:52:30 [fantasai]
dbaron: They'd need this feature to effectively preserve the size
21:52:45 [fantasai]
dbaron: because actually preserving the size, without this adjustment, would result in a much bigger-looking font
21:52:52 [fantasai]
howcome: initial value?
21:52:57 [fantasai]
dbaron: initial value is none
21:53:20 [fantasai]
dbaron: If we wanted to replace the current monospace hackery
21:53:53 [fantasai]
dbaron: We would have to make the initial value be a value that if an element or one of its ancestors had a font size in absolute units, this special value would behave like none
21:54:00 [fantasai]
dbaron: and otherwise the special value would be have like auto
21:54:09 [fantasai]
dbaron: at least, in the way Gecko implement monospace pref
21:54:28 [fantasai]
Steve: I'm confused why you think the default font size has anything to do with what I'm looking
21:55:45 [fantasai]
fantasai: So there are three use cases here, and dbaron's solves one, steve's solves another, and both solve the third
21:56:26 [glazou]
jdaggett, we'll brak for 15 minutes in 5 minutes from now, ok for you?
21:56:33 [glazou]
s/brak/break
21:56:45 [fantasai]
1. Match the user's default size as well as possible, meaning ex-height matching
21:56:53 [jdaggett]
glazou: yeah, i have to leave soon
21:56:56 [glazou]
ok
21:56:59 [jdaggett]
time to make breakfast
21:57:02 [glazou]
eheh
21:57:11 [fantasai]
2. Consistent ex-heights across font-switching throughout the document, esp. mononspace vs. proportional
21:57:46 [fantasai]
stevez: The third use case is to match the ex-heights locally
21:57:55 [fantasai]
stevez: handle the 2nd case when the author has changed the font-size
21:57:57 [dbaron]
4. Move towards replacing separate browser monospace font size prefs.
21:59:36 [fantasai]
fantasai and stevez try to work through stevez's case
22:00:25 [dbaron]
dbaron: Just set font-size-adjust: auto (or some other value) on the root element
22:02:43 [Zakim]
-jdaggett
22:02:46 [fantasai]
3. Keeping exheights consistent throughout the document (requiring use of font-size-adjust) but wanting to set an exact size for the main document font without looking up the ex-height
22:02:56 [Zakim]
-jfkthame
22:03:04 [Zakim]
-[Apple]
22:03:05 [Zakim]
Team_(css)19:57Z has ended
22:03:06 [Zakim]
Attendees were [Apple], jdaggett, +44.845.397.aaaa, jfkthame
22:03:20 [fantasai]
e.g. Choose Palatino at 16pt, set font-size-adjust: foomatic
22:03:24 [fantasai]
on the root
22:03:51 [fantasai]
and foomatic looks up Palatino's ex-height and set's font-size-adjust to that
22:03:59 [fantasai]
so that Palatino's font size doesn't change from 16pt
22:04:11 [fantasai]
*and* font-size-adjust takes care of ex-height adjustment across the document
22:04:44 [dbaron]
The problem with foomatic is that f-s-a inherits.
22:21:32 [Zakim]
Zakim has left #CSS
22:29:05 [bradk]
bradk has joined #css
22:33:22 [fantasai]
Topic: i18n/bidi/ruby
22:33:47 [fantasai]
Anne: HTML5 only includes simple ruby, which was implemented by IE
22:33:54 [fantasai]
Anne: The module also has complex ruby
22:34:36 [fantasai]
fantasai: I think Richard Ishida was planning to take that out of the CSS3 Ruby module
22:34:46 [fantasai]
Anne: There was some discussion on www-international
22:35:06 [fantasai]
Anne: It seems in general that the Japanese people think the simple model is adequate, because you can nest it
22:35:22 [fantasai]
ChrisL: nesting is a hack
22:35:32 [fantasai]
Anne doesn't particularly care
22:35:36 [ChrisL]
s/is/was described as/
22:35:39 [paul_irish]
paul_irish has joined #CSS
22:36:09 [fantasai]
Deferring entire discussion without ishida
22:36:30 [fantasai]
Steve: There's ruby that's attached to individual characters, and ruby attached gto groups of characters.
22:36:43 [fantasai]
Steve: Different ways of attaching to characters, and that's where most of the trouble lies
22:37:12 [fantasai]
Steve: I think we should wait and see what Richard's draft says
22:38:20 [fantasai_]
fantasai_ has joined #css
22:38:33 [fantasai_]
Anne summarizes HTML5's rendering rules for ruby, which mostly defer to CSS by giving display types
22:39:11 [fantasai_]
Steve: So most of the complexity on the ruby side comes from how you group the pieces
22:39:14 [fantasai_]
and how you format across them
22:39:26 [fantasai_]
howcome: Can you write CSS rules on the rt elements?
22:39:45 [fantasai_]
Anne: The implementations so far have dedicated frame types in the rendering model
22:40:06 [fantasai_]
howcome is asking if you can simulate ruby with existing CSS
22:40:11 [fantasai_]
Alex and Steve think not
22:40:56 [fantasai_]
SteveZ notes that there's a 96-page document that explains all the details
22:41:04 [fantasai_]
by the JLTF
22:42:27 [fantasai_]
Steve: I think Richard is going to produce a new draft that is consistent with HTML and the JLTF drafts
22:42:55 [fantasai]
Steve: The plan is to wait until he gives us a draft to look at
22:43:04 [TabAtkins]
TabAtkins has joined #css
22:43:16 [anne]
http://lists.w3.org/Archives/Public/www-international/2010JanMar/
22:43:45 [fantasai_]
Anne: Search for 'ruby'
22:43:52 [anne]
thread on ruby: http://lists.w3.org/Archives/Public/www-international/2010JanMar/thread.html#msg107
22:44:04 [fantasai_]
glazou: Arron told me we still have CSS2.1 issues to discuss
22:44:14 [fantasai_]
glazou: Since there's nothing else we can move to this time in the day, I suggest we move to 2.1
22:44:41 [fantasai_]
http://wiki.csswg.org/spec/css2.1#issue-114
22:44:54 [fantasai_]
Arron: I put all the results for the testcases
22:45:06 [fantasai_]
ChrisL: I'm slowly converting those to SVG
22:45:21 [fantasai_]
Arron: Each one of these testcases are slightly different. Several are parens/bracket/braces/quotes matching
22:45:31 [fantasai_]
Arron: The first one is the most interesting, using invalid characters
22:45:40 [fantasai_]
Arron: Trying to see if they match correctly
22:46:15 [fantasai_]
Arron: There are lots of interop issues, but at least 2 impl for most results
22:47:57 [fantasai_]
fantasai: I think we wrote the tests under the assumption that only nmchars are allowed in unquoted font names
22:48:33 [fantasai_]
fantasai: brackets tests are more complex because they also test that they're matched correctly
22:48:51 [anne]
002.xht is fun
22:51:22 [fantasai_]
dbaron: So, you're allowing idents, dimensions without + or decimal point, numbers without + or decimal point.
22:51:32 [fantasai_]
Bert: you have to define in terms of tokens, not character sets
22:51:42 [fantasai_]
Bert: Should allow periods
22:52:51 [fantasai_]
dbaron: If we allow periods, we have the float round-tripping problem
22:54:27 [fantasai_]
random discussion of various option
22:54:38 [fantasai_]
Anne says we should just use ident+
22:54:47 [fantasai_]
Bert says it's confusing not to allow numbers unquoted
22:54:54 [fantasai_]
dsinger says it's reasonable to quote them
22:55:47 [bradk]
FYI, the third test (Invalid curly brackets and pair matching) passes in a recent nightly download of Webkit, even though it fails in Safari. http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_15/font-family-invalid-characters-003.xht
22:56:18 [fantasai_]
general consensus that the discussion is going nowhere
22:56:51 [fantasai_]
1. identifiers only
22:56:55 [fantasai_]
2. nmchars tokens only
22:57:05 [fantasai_]
3. try to come up with a grammar to make the current prose more clear
22:57:24 [fantasai_]
ChrisL: I need to take this back to the SVGWG and get feedback from them
22:57:44 [fantasai_]
1. http://lists.w3.org/Archives/Public/www-style/2010Mar/0369.html
22:57:48 [fantasai_]
2. http://lists.w3.org/Archives/Public/www-style/2010Mar/0395.html
22:57:52 [fantasai_]
3. To Be Written
22:57:58 [fantasai_]
Not By Me I Hope
22:59:36 [fantasai_]
FF and Safari are almost ident+
22:59:55 [fantasai_]
or are ident+, but have bracket-matching bugs :)
23:00:09 [fantasai_]
Opera is close to the current prose
23:00:13 [fantasai_]
IE is somewhere in between
23:00:36 [fantasai_]
but closer to Opera
23:00:49 [fantasai_]
Anne: 1
23:00:50 [fantasai_]
Steve: 1
23:00:52 [fantasai_]
Sylvain: 1
23:01:15 [fantasai_]
Alex: 2, but live with 1
23:01:18 [fantasai_]
Beth: 2
23:01:20 [fantasai_]
Bert: 3
23:01:26 [fantasai_]
Arron: 2 or 3
23:01:38 [fantasai_]
Elika: 2, live with anything as long as clear
23:01:40 [fantasai_]
dbaron: 1
23:01:51 [fantasai_]
Brad: don't care
23:01:52 [fantasai_]
Tab: 1
23:01:57 [fantasai_]
Tantek: Abstain
23:02:04 [fantasai_]
Glazou: 1, but can live with everything
23:02:18 [fantasai_]
ChrisL: 3, 2, 1
23:02:40 [fantasai_]
Peter: 2 is slightly better for authors in that it would be a little surprising to not start with a number
23:03:00 [fantasai_]
Peter: I don't like the fact that 2 introduces a new token type, so 1
23:03:04 [fantasai_]
Bert: I think it can be done without
23:03:14 [fantasai_]
Howcome: 3
23:03:52 [dbaron]
http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_15/font-family-invalid-characters-002.xht is buggy because it has ( { ) and expects the ) to match the ( while you need to find a } first
23:04:03 [fantasai_]
Elika: Actually, I'm going to change my vote to 2, then 1
23:04:16 [fantasai_]
dsinger: abstain
23:04:22 [fantasai_]
Steve: I can live with 2 also
23:04:32 [fantasai_]
Steve: I don't really see much difference between 1 and 2
23:04:37 [smfr]
smfr has joined #css
23:04:44 [fantasai_]
Peter: My real preference is that people quote things more
23:04:52 [fantasai_]
Steve: That's why I voted for 1
23:05:04 [fantasai_]
glazou: Can't go further, Chris has to take this to SVGWG first
23:05:38 [fantasai_]
glazou: 7 for 1, 4 for 2, 3 for 3, and almost everyone can live with everything
23:05:47 [fantasai_]
glazou: which is cool
23:06:45 [fantasai_]
ACTION: clilley Discuss font-family syntax with SVGWG
23:06:45 [trackbot]
Created ACTION-216 - Discuss font-family syntax with SVGWG [on Chris Lilley - due 2010-04-06].
23:07:53 [Bert]
(Minor flashback to 1996: font-face was modeled in part on Netscape's FACE attribute.)
23:08:42 [fantasai_]
dbaron notes that Mozilla has seen only one bug, that dbaron could find, on this issue
23:08:56 [dbaron]
I went through bugzilla.mozilla.org bugs with 'font-family' and 'quote'... there were 4 reported by users (also one internal code issue).
23:09:21 [dbaron]
One was about this issue, two were complaining that font-family: 'sans-serif' didn't work, and one was complaining about font-family: 'Arial, Helvetica'; not working
23:09:45 [dbaron]
The one that was about this issue was https://bugzilla.mozilla.org/show_bug.cgi?id=471300
23:10:33 [TabAtkins_]
TabAtkins_ has joined #css
23:12:11 [fantasai_]
http://wiki.csswg.org/spec/css2.1#issue-163
23:12:23 [fantasai_]
dbaron: Anne, I don't understand why getComputedStyle is relevant
23:13:06 [fantasai_]
Anne: http://dump.testsuite.org/2010/width-computed-value.htm
23:13:26 [fantasai_]
Anne: If you set width: 10em on an inline, and then inherit it to a block, you get 10em
23:13:37 [fantasai_]
Anne: But the spec says the computed value, the inherited value, should be 'auto'
23:14:02 [fantasai_]
RESOLVED: Proposal accepted for Issue 163
23:15:16 [fantasai_]
data:text/html;charset=utf-8,<!DOCTYPE HTML PUBLIC "-%2F%2FW3C%2F%2FDTD HTML 4.0%2F%2FEN">%0D%0A<html lang%3D"en">%0D%0A <head>%0D%0A <title>Test<%2Ftitle>%0D%0A <style type%3D"text%2Fcss">%0D%0A <%2Fstyle>%0D%0A <%2Fhead>%0D%0A <body>%0D%0A <ul dir%3Dltr>%0D%0A <li dir%3Drtl>Bullet%0D%0A <%2Ful>%0D%0A <%2Fbody>%0D%0A<%2Fhtml>%0D%0A
23:16:07 [fantasai_]
FF renders the bullet on the right
23:16:09 [fantasai_]
as does Chrome
23:17:08 [fantasai_]
Opera renders on the right
23:17:15 [fantasai_]
IE renders on the right
23:17:37 [fantasai_]
dbaron: So this is a proposed change where every impl we've tested matches the current spec
23:17:43 [alexmog]
alexmog has joined #css
23:17:49 [fantasai_]
http://wiki.csswg.org/spec/css2.1#issue-162
23:18:41 [fantasai_]
dbaron: Direction changes are a relatively rare case
23:20:29 [dbaron]
... especially in the middle of a list
23:20:33 [fantasai_]
Daniel: If you have a <body dir=ltr> with <div display:list-item dir=rtl> then you wouldn't see the right direction for the marker
23:20:54 [dbaron]
Yeah, I think this change seems wrong for the general display:list-item case.
23:21:08 [dbaron]
Even if it might make sense for the way HTML li elements.
23:21:52 [fantasai_]
Steve: the most obvious example I can think of this giving a list of phrases in different languages
23:22:16 [fantasai_]
Steve: I'd want the bullets lined up
23:22:50 [fantasai_]
dbaron: You don't want to change the block direction in Steve's case anyway.
23:23:08 [fantasai_]
dbaron: Because the alignment will change
23:23:33 [fantasai_]
Steve: Why can't I set text-align?
23:25:08 [fantasai_]
...
23:25:18 [fantasai_]
Steve: I can't think of a case where you'd want the bullet on the right
23:25:28 [fantasai_]
dbaron: You can have list items that are not using HTML list markup
23:26:24 [dbaron]
http://www.w3.org/TR/CSS21/visuren.html#dis-pos-flo
23:26:26 [fantasai_]
Peter: so are we rejecting this then?
23:26:29 [TabAtkins]
TabAtkins: As a side point, markers clearly belong to the list-item, not the enclosing block. The color of a list marker comes from the list-item.
23:26:31 [dbaron]
... says list items can float
23:26:36 [dbaron]
... and keep their marker
23:26:38 [fantasai_]
Steve: What I've heard is that we're already committed that the marker is part of the list-item
23:26:50 [fantasai_]
(Tab explained that concept using color etc as an example)
23:27:45 [fantasai_]
(fantasai also pointed out that it would create an inconsistency with list-item-position: inside items if we swapped the direction of the bullet based on the parent for outside )
23:28:02 [fantasai_]
dsinger: So we should resolve this and offer to i18n that we can add a note explaining how to get their desired effect
23:29:27 [fantasai_]
RESOLVED: No change for Issue 162
23:29:49 [fantasai_]
in normative behavior
23:31:52 [fantasai_]
Bert and fantasai discuss ways to allow a switch in this behavior in CSS3, possibly using the bidi-isolate concept
23:32:04 [arronei]
arronei has joined #CSS
23:33:27 [fantasai_]
ACTION: fantasai move issue to css3-lists
23:33:28 [trackbot]
Created ACTION-217 - Move issue to css3-lists [on Elika Etemad - due 2010-04-06].
23:33:36 [fantasai_]
http://wiki.csswg.org/spec/css2.1#issue-161
23:38:50 [TabAtkins]
TabAtkins: [draws a picture with a containing block A, some number of descendants B, and a positioned descendant C. Any overflow on B has no effect on C, because A is C's containing block.]
23:39:34 [fantasai_]
| In certain cases, a box may overflow, meaning its content lies
23:39:34 [fantasai_]
| partly or entirely outside of the box, e.g.:
23:39:34 [fantasai_]
| ...
23:39:34 [fantasai_]
| A descendent box is positioned <del>absolutely</de>, partly outside the box.
23:39:34 [fantasai_]
| Such boxes are not always clipped by the overflow property on
23:39:36 [fantasai_]
| their ancestors. <ins>Note that absolutely positioned descendant
23:39:49 [fantasai_]
| elements are not always clipped by the overflow property on their ancestors.</ins>
23:40:38 [fantasai_]
dbaron: I thought the proposal was the replace the Such ... ancestors sentence
23:40:51 [fantasai_]
fantasai: I think that makes a lot more sense
23:41:21 [fantasai_]
apparently this was the original proposal
23:44:45 [fantasai_]
Peter is concerned that "not always clipped" is unclear
23:45:44 [fantasai_]
dbaron: I think the reason for the change from such to note is because we're removing absolutely from the first sentence
23:46:06 [bradk]
"a positioned item is not affected by the overflow property of ancestors inside its positioning block."
23:46:09 [fantasai_]
dbaron: And ambiguities in the second part of the sentence should be a new issue
23:47:21 [fantasai_]
so s/are not always clipped by the overflow property/do not always cause overflow/ ?
23:48:04 [fantasai_]
ACTION: Tab Rewrite proposal for Issue 161
23:48:04 [trackbot]
Created ACTION-218 - Rewrite proposal for Issue 161 [on Tab Atkins Jr. - due 2010-04-06].
23:49:07 [fantasai_]
http://wiki.csswg.org/spec/css2.1#issue-160
23:50:23 [bradk]
s/positioning block/containing block
23:50:29 [fantasai_]
glazou: Melinda got it backwards
23:51:03 [fantasai_]
ChrisL: Prefix the sentence with "For example", because Japanese top-to-bottom books start like rtl books do
23:52:02 [dbaron]
css3-page says it the right way around in http://dev.w3.org/csswg/css3-page/#progression
23:52:06 [fantasai_]
RESOLVED: Add non-normative for-example change
23:55:28 [fantasai_]
Proposal Fix 96px per inch. Whether inches fixed to reality or pixels fixed to screen res / viewing distance / something else may vary by UA. (Print would match real inches, screens tend to align with viewing distance and/or screen res.)
23:56:26 [fantasai_]
Peter holds up his iphone.
23:56:44 [fantasai_]
Peter: You are constantly zooming in and out on this device. There's no guarantee you'll ever get a physical inch for an 'in'
23:57:26 [fantasai_]
SteveZ: You have the canvas, and the window onto the canvas.
23:57:47 [fantasai_]
SteveZ: You have controls to change the window onto the canvas
23:58:16 [fantasai_]
...
23:58:20 [Bert]
(The problem is not zooming on the iPhone, the pb is that a very small percentage of people thinks that it is illegal to use px on font-size. We just need to tell them that is not so.)
23:58:48 [fantasai_]
dbaron: Are any other browser vendors willing to change their implementation to match the 'pt' unit to match physical 'pt' using monitor detection settings?
23:59:00 [fantasai_]
dbaron: Everyone assumes 96dpi. So there's pressure on us to do that.
23:59:19 [fantasai_]
Steve: It's all your fault Tantek.
23:59:37 [fantasai_]
Peter: You and I had a discussion in an elevator where we agreed that Macs would use 96dpi instead of 72dpi
00:00:10 [fantasai_]
Peter: And you showed me UI that would allow the user the ability to set an inch correctly by holding a ruler up to the screen, which was cool.
00:00:17 [fantasai_]
Peter: I'm happy to give users that capability
00:01:33 [fantasai_]
Peter: If the UA wants to have a zoom factor of Actual Size, then it can use the OS info to get the most accurate 1in == 1 inch rendering it can
00:02:56 [fantasai_]
lots of conversations
00:04:35 [bradk]
If the UA decides on having an "actual size" mode, and the monitor is not really 96ppi, then GIF images and such would have their pixels interpolated.
00:07:12 [ChrisL]
"The suggested reference pixel is the visual angle of one pixel on a device with a pixel density of 90dpi and a distance from the reader of an arm's length. For a nominal arm's length of 28 inches, the visual angle is about 0.0227 degrees. "
00:07:32 [ChrisL]
http://www.w3.org/TR/REC-CSS1-961217#units
00:07:43 [fantasai_]
Tantek talks about a meta-viewport problem
00:09:13 [fantasai_]
Alex: For Facebook, I found that in the virtual viewport the bar at the bottom was fixed-positioned, but you couldn't get to it unless you scrolled down
00:09:45 [paul_irish]
paul_irish has joined #CSS
00:10:17 [fantasai_]
Tantek: Shouldn't the meta viewport tag be a CSS thing, not a proprietary meta tag?
00:11:10 [fantasai_]
Tantek: The exact problem that meta viewport solves, that should be in CSS
00:11:37 [paul_iri_]
paul_iri_ has joined #CSS
00:12:07 [fantasai_]
glazou: What happens if you browse a meta-viewport page with Safari on the mac?
00:12:13 [fantasai_]
smfr: It ignores it
00:13:00 [fantasai_]
Anne, Sylvain: Meta-viewport is setting the size of the viewport
00:13:05 [fantasai_]
and then the UA zooms in to that size
00:13:46 [fantasai_]
Tantek: Most other mobile browsers display a page designed for mobile normally
00:13:57 [fantasai_]
Tantek: But the iphone made it into this tiny box in the corner of the screen
00:14:26 [fantasai_]
Tantek: Even if you do use a media query to select an appropriate styling, then it still doesn't behave appropriately
00:14:55 [fantasai_]
Sylvain: It defines what a pixel is as a fraction of the viewport
00:15:33 [mjs]
mjs has joined #css
00:15:54 [fantasai_]
fantasai: So it's setting the size of the initial containing block
00:16:10 [fantasai_]
fantasai: not the viewport
00:16:12 [fantasai_]
smfr isn't sure
00:18:46 [fantasai_]
Tantek: If I write a media query to serve appropriate style sheets for 350 pix, Safari scales the page down to a tiny thing in the corner
00:18:50 [fantasai_]
smfr: That's a bug, and we have it filed
00:19:16 [tantek]
http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html
00:19:43 [fantasai_]
fantasai: If we don't have a proposal on this, then I think we should close this topic
00:19:51 [fantasai_]
dbaron: Did we have a resolution on the 2.1 issue we were talking about?
00:20:29 [tantek]
http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html#//apple_ref/html/const/viewport
00:20:59 [fantasai_]
howcome: I want to see the proposal before deciding
00:22:14 [fantasai_]
howcome: I think the spec already says this
00:22:19 [fantasai_]
peter points out that it doesn't
00:22:24 [fantasai_]
and we go around in circles again
00:22:27 [fantasai_]
I'm so not minuting this
00:23:27 [anne]
Bert, http://xkcd.com/386/ ;)
00:23:36 [fantasai_]
Bert argues that we should evangelize the web
00:25:45 [fantasai_]
Alex: In IE8 we tried matching px to in based on the resolution, and this broke lots of things so we changed back to pretending 96dpi
00:27:18 [glazou]
aaaah PixaPowaaaaaa !
00:34:09 [fantasai]
http://wiki.csswg.org/spec/css2.1#issue-148
00:36:53 [dbaron]
For issue 148, I'd like to figure out why we changed it in the other direction.
01:14:39 [plinss_]
plinss_ has joined #css
01:21:40 [miketaylr]
miketaylr has joined #css
01:33:11 [jdaggett_]
jdaggett_ has joined #css
03:23:51 [mjs]
mjs has joined #css
04:03:03 [fantasai]
fantasai has joined #css
04:37:52 [glazou]
glazou has joined #css
04:43:40 [dbaron]
dbaron has joined #css
04:44:51 [Arron]
Arron has joined #css
05:00:47 [dsinger]
dsinger has joined #css
05:14:02 [alexmog]
alexmog has joined #css
05:15:05 [tantek]
tantek has joined #css
06:08:40 [TabAtkins]
TabAtkins has joined #css
06:13:04 [myakura]
myakura has joined #css
07:44:29 [alexmog]
alexmog has joined #css
08:09:54 [lstorset]
lstorset has joined #css
08:10:09 [lstorset]
lstorset has left #css
08:43:14 [fantasai]
fantasai has joined #css
10:51:09 [krijnh]
krijnh has joined #css
12:20:12 [lstorset]
lstorset has joined #css
12:27:10 [lstorset]
lstorset has left #css
13:09:26 [miketaylr]
miketaylr has joined #css
14:47:07 [TabAtkins]
TabAtkins has joined #css
14:51:03 [anne]
anne has joined #CSS
15:18:10 [plh-home]
plh-home has joined #css
15:24:41 [Arron]
Arron has joined #css
15:45:48 [apple]
apple has joined #css
15:47:52 [dsinger]
dsinger has joined #css
16:01:01 [dydz]
dydz has joined #css
16:02:01 [TabAtkins]
TabAtkins has joined #css
16:03:21 [anne]
anne has joined #CSS
16:04:48 [smfr]
smfr has joined #css
16:08:02 [plinss_]
plinss_ has joined #css
16:11:23 [dbaron]
dbaron has joined #css
16:12:51 [dethbakin]
dethbakin has joined #css
16:14:24 [sylvaing]
sylvaing has joined #css
16:14:51 [Arron]
Arron has joined #css
16:18:17 [bradk]
bradk has joined #css
16:18:42 [TabAtkins]
ScribeNick: TabAtkins
16:18:44 [glazou]
glazou has joined #css
16:18:51 [TabAtkins]
plinss: First topic this morning is CSSOM.
16:19:00 [TabAtkins]
plinss: And impact on other specifications.
16:19:22 [ChrisL]
ChrisL has joined #css
16:19:32 [TabAtkins]
anne: While editting the spec, I noticed a few problems.
16:19:37 [TabAtkins]
anne: One is that there's no real data model.
16:19:48 [TabAtkins]
anne: The CSSOM is supposed to have a represetnation of what the stylesheet is like.
16:20:00 [TabAtkins]
anne: But in the CSS specifications there is no clear mapping from the syntax to the data model behind it.
16:20:04 [szilles]
szilles has joined #css
16:20:08 [TabAtkins]
anne: A clear example is the font-family property.
16:20:22 [TabAtkins]
anne: I think most impls internally represent them as strings, but that's not stated anywhere.
16:20:32 [TabAtkins]
anne: So when you try to design a value API, you have to state it there.
16:20:52 [TabAtkins]
fantasai: The font-family syntax I put up said explicitly that Computed Value should be strings, so I agree.
16:21:08 [TabAtkins]
anne: We need Specified Value too. Basically, what you get after parsing.
16:21:19 [TabAtkins]
anne: Two, there is surprising lack of consistency in the interface names.
16:21:37 [TabAtkins]
anne: Like, an interface named CSSStyleRule, that maps to a css ruleset, but that term isn't really defined in the grammar.
16:22:00 [TabAtkins]
anne: I'm not sure if we actually want to change the CSS spec, so this makes sense, or what?
16:22:09 [alexmog]
alexmog has joined #css
16:22:15 [TabAtkins]
anne: What I'm asking is if we want to adjust the terminology so that it's consistent between CSS and CSSOM.
16:22:29 [TabAtkins]
anne: I'm guessing we can't change the interface, so it would be CSS that changes in a few points.
16:22:39 [TabAtkins]
anne: Also, CSS spec refers to a lot of things as just 'values'.
16:23:00 [TabAtkins]
anne: But in CSSOM, that needs to be something separate, like a 'value component', because a property can have multiple of them.
16:23:08 [TabAtkins]
anne: The CSS spec is kind of loose with those things.
16:23:20 [TabAtkins]
howcome: I agree, the spec shoudl change there.
16:23:42 [TabAtkins]
ChrisL: The spec is focused on taking text into CSS, not in reverse. The OM spec should define that.
16:23:53 [TabAtkins]
fantasai: No, I think the spec is ambiguous in a lot of places.
16:24:28 [TabAtkins]
Bert: There is context where we call many things values, and if we introduce multiple terms for these it would be too confusing.
16:24:44 [TabAtkins]
glazou: I heard the same thing when I introduced the [multiple types of selector groupings]
16:24:58 [TabAtkins]
dbaron: I objected to that at the time because a term was actually being *redefined*.
16:25:22 [TabAtkins]
anne: There are other specs where there are multiple concepts being referred to as the same thing. And that's fine, as long as there's a disambiguation at some point.
16:25:55 [TabAtkins]
Bert: That disambiguation is present in the <> forms.
16:26:15 [TabAtkins]
fantasai: I recommend 'property value' and 'component value', so they both abbreviate as 'value'.
16:26:32 [TabAtkins]
howcome: Agreed, we shouldn't be changing tons of terms in the spec, but the disambiguation is needed.
16:26:53 [TabAtkins]
ChrisL: Question about CSS color component. Is that used a lot, and is it memory constrained?
16:27:04 [TabAtkins]
anne: We can change it if necessary. Specifics are still mutable.
16:27:23 [TabAtkins]
anne: I can work around the lack of terminology, or invent my own, but it would be nice if it matched up.
16:27:36 [TabAtkins]
fantasai: Do you have a list of terms that you need?
16:27:38 [TabAtkins]
anne: No.
16:27:55 [ChrisL]
would prefer to see attribute long red; instead of attribute short red; - color bit depth is increasing now
16:27:57 [TabAtkins]
fantasai: I think the next step is to come up with that list of terms, so we can make sure it's defined somewhere.
16:28:38 [TabAtkins]
anne: The grammar uses the term "statement" to refer to @ rules or rulesets, and the CSSOM spec refers to them as "CSSRules".
16:28:49 [TabAtkins]
fantasai: I think CSSOM should be changed there.
16:29:07 [TabAtkins]
anne: [describes the terminology, and how it can't be changed at this point]
16:29:18 [glazou]
Present: Sam Weinig, smfr, annevk, szilles, dethbakin, sylvaing, alexm, Bert, arronei, fantasai, dbaron; bradk, TabAtkins, ChrisL, glazou, plinss, howcome, dsinger
16:29:25 [ChrisL]
http://en.wikipedia.org/wiki/Deep_Color
16:29:30 [TabAtkins]
fantasai: I'm not saying change the interface name, but you can say that "CSSRule" refers to what CSS calls "statement".
16:29:39 [TabAtkins]
anne: I tried to do that before, but it didn't make much sense to me.
16:30:19 [TabAtkins]
TabAtkins: I'd heard you talking before that it would be useful for specs to define how they should be reserialized, frex how to turn a gradient back into a string?
16:30:35 [TabAtkins]
anne: Yeah, something in the future is for the CSS specs to be aware of the CSSOM in their writing.
16:31:17 [TabAtkins]
anne: Like when you serialize the margin property, do you do as few values as possible, or write it out fully?
16:31:39 [TabAtkins]
ChrisL: I agree with anne that specs should be aware of the CSSOM and write things in respect to that.
16:32:07 [TabAtkins]
Bert: I think that the CSSOM should refer to CSS, not the other way around.
16:32:15 [TabAtkins]
anne: There are several CSS specs that include interfaces.
16:32:21 [TabAtkins]
Bert: Yeah, I think those should be taken out.
16:32:55 [TabAtkins]
anne: I think it would be acceptable for me to have an ever-growing OM spec, but that isn't compatible with how the w3c does recs.
16:33:08 [TabAtkins]
plinss: I think we agreed that specs going forward would define interfaces.
16:33:38 [fantasai]
fantasai: We agreed that they would define serialization, not that they would define interfaces
16:34:11 [TabAtkins]
plinss: It makes sense for the OM to define interfaces that are common across many specs, but we also shouldn't wait for a monolithic OM to include all the specialized interfaces that a module might have.
16:34:16 [dino]
dino has joined #css
16:34:45 [fantasai]
Bert: it doesn't have to be monolithic, you can publish a separate spec for each module's OM
16:34:50 [TabAtkins]
plinss: We can have two conformance classes, if you support the OM you have to support X and Y, if not you just have to support X.
16:35:37 [TabAtkins]
arronei: It's just a few lines in the conformance section to add the conformance requirements.
16:36:15 [TabAtkins]
fantasai: But we have several specs in CR that don't include an OM section, and I don't want to pull them back to add that.
16:36:27 [TabAtkins]
fantasai: We could create new OM specs just for those.
16:36:34 [TabAtkins]
dbaron: That's a lot of specs.
16:36:44 [TabAtkins]
anne: I'm fine with including that stuff in OM.
16:37:13 [TabAtkins]
fantasai: If you can give me a template that I fill in to add OM stuff, I can do it. But until then, I don't want to have to add them to the spec.
16:37:47 [fantasai]
fantasai: Half the generic stuff isn't even defined yet, and as for me I have *no clue* what to put in for the OM section
16:37:49 [TabAtkins]
plinss: The person editting a given module may have no clue what the OM requires, what's a good idea, and so in that sense it may make sense to have a separate OM module for it.
16:38:09 [TabAtkins]
anne: For value APIs, new values, we do want interfaces.
16:38:19 [TabAtkins]
Bert: But for new keywords or lengths or numbers, those already exist?
16:38:22 [TabAtkins]
anne: Yes.
16:38:48 [TabAtkins]
anne: And for backgrounds, it might be sufficient already since it's a comma-separated list.
16:38:52 [myakura]
myakura has joined #css
16:39:17 [TabAtkins]
anne: For transforms, animations, they all introduce properties with slightly more complex values that need new value interfaces.
16:39:50 [TabAtkins]
plinss: Any new @ rule needs an interface. And depending on how granular we get with the API, we may need to extend it for more things.
16:40:28 [TabAtkins]
anne: And the Images module, it would need to define new interfaces for the new things in there.
16:41:04 [TabAtkins]
plinss: Any conclusions on this?
16:41:17 [TabAtkins]
Bert: There was something about numbering, and them having to be unique. Is there any way to avoid this?
16:41:31 [TabAtkins]
anne: The pattern that is used all over most APIs is to use numbered constants.
16:41:55 [TabAtkins]
anne: For CSSRule we cant' change the pattern. For CSSValue I suppose we could, but we haven't discussed it yet. I think it makes sense to keep it with the familiar way.
16:42:02 [TabAtkins]
Bert: Does every @ rule need a new number then?
16:42:13 [TabAtkins]
anne: If it exposed the same information as another @ rule, it can reuse a number.
16:42:57 [TabAtkins]
plinss: @page introduces multiple different @ rules, which would all need a number.
16:43:35 [TabAtkins]
anne: We have @page and friends, @font-face, @media, @import, and stylerules, all with different numbers.
16:44:04 [TabAtkins]
anne: So far new @ rules probably want a new number.
16:44:16 [TabAtkins]
anne: Like all the @margin rules might share a single number.
16:44:20 [alexmog]
alexmog has joined #css
16:45:16 [TabAtkins]
Bert: Numbers need coordination, which I think we should try to avoid if possible.
16:45:24 [TabAtkins]
anne: I think we should just try to coordinate.
16:45:40 [TabAtkins]
anne: We managed to do it pretty well for DOM Exceptions.
16:45:55 [TabAtkins]
Bert: Who do we have to coordinate with. Just here, or do we have to coordinate with SVG?
16:46:32 [TabAtkins]
anne: Officially SVG has to coordinate with us, but I've reserved some space for [something SVG-specific].
16:46:42 [TabAtkins]
[talk about different impls stomping on numbers]
16:46:42 [alexmog]
alexmog has left #css
16:46:49 [alexmog]
alexmog has joined #css
16:46:56 [fantasai]
make the constant point to a UUID? :)
16:46:58 [TabAtkins]
ChrisL: We need an easily referencable page where we can refer to this and stop conflicts.
16:47:10 [TabAtkins]
[discussion on using a wiki for coordination]
16:47:19 [TabAtkins]
anne: There is a way with WebIDL that you can extend an interface.
16:47:42 [TabAtkins]
Bert: You can reference a wiki as an informative reference, but not a normative one.
16:47:53 [TabAtkins]
anne: Yeah, sure, it can be informative. That's fine.
16:48:23 [TabAtkins]
fantasai: So these numbers are all named constants, and people are supposed to use the names?
16:48:29 [TabAtkins]
anne: Theoretically.
16:48:41 [TabAtkins]
fantasai: Can we have the named constant return something other than a number?
16:48:46 [TabAtkins]
anne: No, the type is a short.
16:49:34 [TabAtkins]
anne: Same thing is done with, say, Nodes, but that doesn't change very often. CSS adds new things somewhat more often.
16:50:27 [TabAtkins]
plinss: If you're implemeneting something early, like Paged Media in webkit, should prefixed versions use the same final number?
16:50:38 [TabAtkins]
anne: No, it says right now that the CSSWG reserves the first 1000 values.
16:51:28 [TabAtkins]
plinss: So proprietary versions should use a number above 1000.
16:52:08 [TabAtkins]
ChrisL: Will implementations switch from >1000 to <1000 when they get standardized?
16:52:20 [TabAtkins]
anne: When they drop the prefix should be fine.
16:52:37 [TabAtkins]
plinss: Should we try to reserve blocks for individual browsers?
16:53:22 [TabAtkins]
fantasai: Authors should just use the named constants.
16:53:29 [TabAtkins]
smfr: Should the named constants be prefixed?
16:53:33 [howcome]
howcome has joined #css
16:53:58 [TabAtkins]
anne: Good question. If you don't prefix, there's a chance that code would still work when it moved to standardization. But if we changed anything, then it could break.
16:54:07 [TabAtkins]
anne: Ideally we'd iterate fast enough that we don't run into that situation.
16:54:43 [TabAtkins]
anne: If people want to write their thoughts to the list, it would be fine.
16:55:11 [TabAtkins]
ACTION: anne to set up wiki page to list CSSOM constants for coordination
16:55:12 [trackbot]
Created ACTION-219 - Set up wiki page to list CSSOM constants for coordination [on Anne van Kesteren - due 2010-04-07].
16:55:28 [TabAtkins]
plinss: Did we come up with a decision for how to do OM sections for new modules?
16:55:57 [TabAtkins]
anne: I think for specs in WD, it would make sense to have them in the spec. But perhaps we should defer that a little and discuss the value APIs first.
16:56:20 [TabAtkins]
anne: So currently for the value apis you get a CSSStyleDeclaration object, with a long list of attributes that represent CSS properties.
16:56:23 [TabAtkins]
anne: And they all return a string.
16:56:26 [smfr]
http://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface
16:56:46 [TabAtkins]
anne: The initial idea we had was that instead of a string it would return something special, that would act like a string but would allow extensions.
16:57:02 [TabAtkins]
anne: I brought it up on public-script-coord, where ecmascript guys hang out, but they didn't think it was a good idea.
16:57:09 [TabAtkins]
anne: [some examples of breakage]
16:57:31 [TabAtkins]
anne: Based on that we have a new idea. The CSSStyleDeclaration object would have a new property called values, which would return a CSSStyleVales object.
16:57:54 [TabAtkins]
anne: It would act like StyleDeclaration, but when you access a property, it would return a CSSValue object rather than a string.
16:58:18 [TabAtkins]
anne: The object would have a cssText attribute that lets you set a string or get a serialization, which is equivalent to the existing API.
16:58:29 [TabAtkins]
anne: So then the question is how to define the new value APIs on top of that.
16:58:41 [TabAtkins]
anne: I think we want interfaces for the components.
16:58:49 [TabAtkins]
anne: So an interface for %, for lengths, for color values
16:58:52 [fantasai]
anne, http://wiki.csswg.org/spec/cssom-constants
16:59:06 [TabAtkins]
anne: And if you have a width property, that supports both lengths and %, the object returned would implement both.
16:59:21 [smfr]
http://dev.w3.org/csswg/cssom/#the-cssvalue-interface
16:59:23 [TabAtkins]
anne: It would have an .px and .em accessor, but also a percentage accessor so you could set and get %.
16:59:39 [TabAtkins]
anne: So how far do we want to go? Each and every property, or start out witha limited subset?
16:59:53 [TabAtkins]
anne: And do we need a "type" like CSSRule so you can figure out what kind of value was set?
17:01:01 [TabAtkins]
anne: Like, ComponentValue would return a type of lengthEm, lengthPx, etc. Would that be a short, like the other types? Or a string that could be interned, which could be more extensible.
17:01:41 [TabAtkins]
anne: If we did numbers, then if we start filling in spots, say if we added a new length, it could be very separated from the other lengths. px could be 12, and rem could be 100.
17:01:57 [TabAtkins]
plinss: As long as people use names, the numbers wouldn't matter much anyway.
17:02:03 [TabAtkins]
plinss: We could also reserve blocks.
17:02:15 [TabAtkins]
szilles: So what's the downside on strings?
17:02:19 [TabAtkins]
plinss: Pereformance.
17:02:33 [TabAtkins]
anne: If they're interned, it would just be pointer comparisons.
17:03:04 [TabAtkins]
plinss: I'm concerned more with author script stuff. Will I be doing a thousand string comparisons, or a thousand short comparisons?
17:03:18 [Bert]
s/Pereformance/Performance/
17:03:21 [TabAtkins]
smfr: Potentially, we could have them do atomic string comparisons.
17:03:30 [fantasai]
You might also want to answer things like "is this a length (any kind)" or "is this a percentage"
17:03:57 [fantasai]
?: Can we define constants that are strings?
17:04:17 [plinss_]
s/?/anne/
17:04:30 [TabAtkins]
?: Nothing theoretically wrong with it. The strings are essentially immutable.
17:04:53 [TabAtkins]
s/?/Sam Weinig/
17:05:13 [weinig]
weinig has joined #css
17:05:28 [TabAtkins]
anne: How do we, at the object level, distinguish between value components and things that are separated lists of value components.
17:05:42 [TabAtkins]
anne: Like, background-position takes two values.
17:05:59 [TabAtkins]
anne: So how do we represent that?
17:06:10 [TabAtkins]
plinss: I think it should return a backgroundPosition object that has two values.
17:06:58 [TabAtkins]
glazou: We could return an array with the components in the order they appear.
17:07:16 [TabAtkins]
plinss: Or an object with queryable values, so it's more extensible.
17:07:51 [TabAtkins]
anne: Also, do we want a special interface for shorthands? Like margin, should we implement a margin property or only margin-left, margin-right, etc?
17:08:10 [TabAtkins]
dbaron: Also there are some non-shorthand values that are rather complex, like shadows or border-image.
17:09:03 [TabAtkins]
plinss: We could pretend they are shorthands and expose them as such in the object model.
17:09:13 [TabAtkins]
anne: But then we're stuck if a property later becomes a shorthand.
17:09:27 [TabAtkins]
fantasai: Like we're going to do with whitespace.
17:09:40 [TabAtkins]
smfr: I think the hash-table approach would work for shorthands.
17:10:57 [fantasai]
fantasai: So, for the 'margin' shorthand you'd be able to look up the 'margin-left' value and 'margin-right' value?
17:10:57 [dbaron]
A bunch of the complex-valued properties are arbitrary-length lists, which are hard to represent as shorthands.
17:11:02 [TabAtkins]
glazou: If possible, harmonize things across properties, so "x" is the same for all the values.
17:11:46 [TabAtkins]
sam: In that case you wouldn't have named components, but rather numbered components.
17:11:57 [fantasai]
fantasai: You could have named components that are lists
17:12:14 [TabAtkins]
plinss: We've already had things that take a single value and turned them into lists of that value.
17:13:26 [TabAtkins]
anne: A simple example would be background-image, which would return a css url, but also have a way of getting a list of css urls.
17:13:44 [TabAtkins]
dbaron: I think the single-value thing should only return the single value if there *is* a single value, and otherwise complain about being a wrong tpe.
17:13:59 [dbaron]
s/complain about/do whatever happens when it is/
17:14:15 [dbaron]
s/being a wrong tye/the wrong type/
17:15:12 [TabAtkins]
glazou: Recursively nested values.
17:15:21 [dbaron]
What's interesting with url() values is often an absolute URL rather than a relative URL relative to the style sheet.
17:15:38 [TabAtkins]
glazou: In the case of color, rgb returns a single color value, which also has .r, .g, .b.
17:15:43 [TabAtkins]
glazou: etc.
17:17:38 [TabAtkins]
glazou: Editors will *massively* use CSSOM if it is easier to use, but not if they have to reparse/rebuild values into a useful form every time.
17:18:19 [TabAtkins]
anne: I think you want interfaces for this.
17:19:06 [TabAtkins]
glazou: Another thing I want to see in the CSSOM, some things just for editors.
17:19:20 [TabAtkins]
glazou: Like not just the reserialized text, but the original parsed text.
17:20:00 [TabAtkins]
glazou: Like if the @style attribute has something wrong, browsers currently throw it away and it's hard to get at that.
17:20:24 [TabAtkins]
glazou: Browsers don't need that, so they can just return null or whatever, but editors are allowed to return the full thing.
17:20:56 [TabAtkins]
sam: Is that confusing for authors?
17:21:07 [TabAtkins]
anne: If it's not for browsers, do we need it in the spec?
17:21:14 [TabAtkins]
glazou: Yes, if you have multiple editors you want interop.
17:22:03 [TabAtkins]
smfr: So what if someone wants to write a javascript editor tool in a normal browser?
17:22:18 [TabAtkins]
TabAtkins: Like FireBug would love this.
17:22:26 [TabAtkins]
smfr: Isn't this what UnknownRule is for?
17:22:37 [TabAtkins]
dbaron: UnknownRule was designed by someone who doesn't understand CSS parsing.
17:22:49 [TabAtkins]
plinss: We could just tell browsers to *not* throw away these things.
17:23:06 [TabAtkins]
sam: For Firebug and Web Inspector we use internal hooks, and don't need the specced thing.
17:23:28 [TabAtkins]
arronei: What if I'm a brand new editor for HTML and CSS? This is where having a spec would be great.
17:24:01 [TabAtkins]
sam: The issue is that it would slow down browsers. We can either decide that we have it anyway, or not.
17:24:12 [TabAtkins]
smfr: We could have a runtime switch controlled by the OM. It's weird, but shrug.
17:25:02 [TabAtkins]
[discussion about editors and browsers throwing things away]
17:25:16 [TabAtkins]
glazou: A live editing tool for HTML and CSS right now is impossible because of this limitation.
17:25:38 [fantasai]
I don't think UnknownRule or UnknownAnything is necessarily the way to go. You should have a unified API insofar as possible. You can have MalformedRule or something for things that can't be parsed...
17:25:46 [TabAtkins]
anne: We've had this discussion before. I thinkwe might want some editing features already, and we might want to move those upward.
17:26:01 [TabAtkins]
anne: But I think we need a more concrete proposal for how to modify the OM for editors.
17:26:05 [fantasai]
But if it's clearly propertyname : valueIcan'tUnderstand, you should get an api that works the same as for color: blue;
17:26:23 [fantasai]
and returns the propertyname and the string representation of the value
17:26:36 [TabAtkins]
glazou: concrete example: firebug, dragonfly, etc, from a given element, you can climb up the cascade to find which element triggered the current rule. But it's not standard!
17:26:45 [TabAtkins]
glazou: We all use proprietary interfaces to do it.
17:26:52 [TabAtkins]
anne: That's something we can definitely standardize.
17:27:08 [TabAtkins]
anne: For changing the parsing engine we need more detailed proposals.
17:27:30 [TabAtkins]
dbaron: CSS is harder to get right because you've got comments anywhere.
17:28:06 [TabAtkins]
glazou: My own impl preserves comments between rules and between declarations. But that's a big bloat for browsers.
17:28:47 [TabAtkins]
plinss: in the early days of gecko I made something that preserved all the information, and if it found a comment somewhere odd, it would shove it forward to the next 'normal' point for comments.
17:28:55 [TabAtkins]
glazou: That's not perfect, but yeah it works.
17:29:07 [TabAtkins]
glazou: I perfectly understand the browser's concerns wrt bloat and footprint.
17:29:23 [TabAtkins]
glazou: But adding nothing at all shuts the door to a whole class of live applications on the web that are everywhere these days.
17:29:36 [TabAtkins]
glazou: Wikis are everywhere, styles are everywhere, and we still can't edit styles.
17:30:05 [TabAtkins]
anne: We can largely edit it. Not every property, but most of them.
17:30:16 [TabAtkins]
anne: I think most editors let you edit the text file.
17:30:25 [TabAtkins]
ChrisL: Because the OM isn't up to the task yet.
17:30:33 [TabAtkins]
howcome: That's what the spec is trying to fix, right?
17:31:00 [TabAtkins]
anne: For WYSIWYG you don't need comments, so I see some conflicts.
17:31:32 [TabAtkins]
howcome: I think Anne is trying to get this done, and you're being aggressive to him.
17:31:44 [TabAtkins]
glazou: I'm not aggressive, I love what you've done, I just want to see more.
17:32:30 [TabAtkins]
smfr: You should both be able to edit the text directly, and move to doing sliders and such, and go back. We need that for our editor.
17:32:54 [TabAtkins]
plinss: The Web has a legacy of documents being editted by hand, and we can't just throw that away into a non-hand-editable spec as soon as machines touch it.
17:33:12 [TabAtkins]
sam: I think that Anne's work doesn't impede any of this.
17:33:39 [TabAtkins]
glazou: I think that when OM was first created, editors weren't in anyone's mind.
17:34:30 [TabAtkins]
plinss: Gecko actually got built to be an editor. The fact that it turned into a browser is happenstance.
17:34:58 [TabAtkins]
plinss: While we were designing that stuff, we saw the convergence of editors and browsers as the web develops.
17:35:20 [TabAtkins]
plinss: We eventually realized that the only difference between gecko being a browser and being an editor was a stylesheet.
17:36:29 [TabAtkins]
anne: We just need to find what the cost for benefit is. If browsers already preserve comments, we can look into that, but we can't put comments everywhere.
17:36:34 [TabAtkins]
anne: And what about whitespace?
17:37:10 [TabAtkins]
glazou: What's important is maintaining what was entered. Like for border-radius, you can't just have everything but the -moz-border-radius thrown away just because that's the only one that was recognized.
17:37:37 [TabAtkins]
anne: If someone can define what sort of string would be produced, and browsers are okay with the footprint, we'd be okay.
17:38:13 [TabAtkins]
fantasai: I think you would start parsing, and get the property name as an ident.
17:38:25 [TabAtkins]
plinss: ident, colon, stuff, semicolon.
17:38:49 [TabAtkins]
sam: So basically we'd have something more than unknown rules, for unknown declarations too, and a browser mode that would change that.
17:38:57 [TabAtkins]
fantasai: For all rules too.
17:39:32 [TabAtkins]
alexmog: Let's have a CSS editing requirement TF and come up with a list of requirements for object model, for editors, and other features, so we can figure out what the goals we're trying to achieve are.
17:40:29 [TabAtkins]
alexmog: Right now we're designing a partial object model. We can possible change the OM into something that does what we need, or something completely different for editors.
17:40:50 [TabAtkins]
alexmog: [he talks to VS people twice a year about this, various requests]
17:41:27 [TabAtkins]
RESOLVED: Alex and Daniel will start a CSS Editing TF.
17:41:51 [TabAtkins]
anne: I think if you want it to end up in browsers you want it to reconcile with the OM.
17:42:02 [TabAtkins]
glazou: Yes.
17:42:43 [TabAtkins]
alexmog: I'm not quite convinced if a high-powered editor needs to be built on the object model.
17:43:26 [TabAtkins]
alexmog: Like if there are only a small number of companies building major editors, they may not need a full OM in favor of just a more editing-friendly interface.
17:44:34 [TabAtkins]
plinss: The same thing happened with HTML. First browsers didn't remember anything about the HTML, and the object model got thrown away as it was parsed. But we gradually kept around more of the model.
17:44:50 [TabAtkins]
plinss: So we need to extend this over CSS.
17:45:05 [TabAtkins]
plinss: We didn't build the DOM to build an editor, it just happens to also be useful for this.
17:45:22 [TabAtkins]
glazou: We know there are some things that we always can't do, like preserving comments everywhere.
17:47:49 [bradk]
It would be nice if the various developer tools (FireBug, etc.) preserved (and flagged somehow) properties and values that had typos or spelling mistakes, so that they can be edited and fix in-browser.
17:53:55 [dbaron]
glazou, http://dbaron.org/css/timing-function-graphs
17:55:10 [bradk]
bradk has joined #css
18:04:24 [alexmog]
alexmog has joined #css
18:10:25 [TabAtkins]
anne: We need to have the hash-table concept for values that are space-separated, and a list concept for values that are comma separated?
18:11:41 [TabAtkins]
anne: for margin, you'd return a hashtable-like interface with each property
18:12:00 [TabAtkins]
TabAtkins: We just need to make sure that properties that later turn into shorthands still work by themselves.
18:12:56 [TabAtkins]
sam: My suggestion to anne was to take some of the more complex examples of syntax, break it down into concrete proposals, and put that on the list.
18:13:09 [TabAtkins]
fantasai: I suggest border image.
18:13:15 [TabAtkins]
glazou: Font stuff too.
18:13:25 [TabAtkins]
sam: Whatever is *as hard* for anne as possible.
18:13:35 [TabAtkins]
fantasai: shadows and the content property.
18:14:07 [TabAtkins]
ACTION: anne to produce concrete examples of complex properties and put it on the list
18:14:07 [trackbot]
Created ACTION-220 - Produce concrete examples of complex properties and put it on the list [on Anne van Kesteren - due 2010-04-07].
18:14:56 [TabAtkins]
smfr: We also need to define if every property has a canonical form. If someone specifies 'ease' in a timing function, do they get 'ease' back or a bezier function?
18:15:16 [TabAtkins]
plinss: As much as possible we should return what the author specified.
18:15:56 [TabAtkins]
anne: We could have a .keyword value that would return a keyword if the value corresponds to a keyword.
18:16:23 [TabAtkins]
glazou: Same with color - if the author says "red", do we do 'red', '#f00', rgba(255,0,0,1), or what?
18:16:44 [TabAtkins]
anne: Browsers try to store as little as possible right now.
18:17:52 [TabAtkins]
plinss: For a browser, no matter what gets specified it'll be stored as a [r,g,b] or whatnot, and I'd want back what the author actually said sometimes if possible.
18:18:22 [TabAtkins]
anne: We might have a bit that says if the color was originally a keyword or whatnot.
18:18:33 [TabAtkins]
anne: Currently there are a number of normalization rules for various things.
18:18:41 [TabAtkins]
plinss: I'm concerned that some of them go too far.
18:19:35 [TabAtkins]
plinss: If you have multiple ways to pull a value back out of the OM, that's fine, but when serialized to text it should be as close to what the author said as possible. We can change "Red" to "red", don't need bit-for-bit, but the spirit should be the same.
18:19:51 [TabAtkins]
smfr: One problem I have with gradients is that there's no canonicalization.
18:19:56 [TabAtkins]
TabAtkins: Agreed, I need to add that.
18:20:14 [TabAtkins]
plinss: CSS3 Color Issues
18:20:22 [dbaron]
http://wiki.csswg.org/spec/css3-color
18:20:25 [szilles]
szilles has joined #css
18:21:13 [TabAtkins]
Currently the editors draft addresses most of these issues, but I haven't yet replied to the emails with these comments.
18:21:15 [TabAtkins]
First is issue 5.
18:21:49 [TabAtkins]
dbaron: At first I thought it was someone who didn't understand the spec, but I realize now that there isn't a good description of what rgba means.
18:22:01 [TabAtkins]
ChrisL: And I think it should explain how it interacts with opacity (multiplied together).
18:22:18 [TabAtkins]
dbaron: A repeated comment we got was the gamma correction section being out of date; I think I've addressed that.
18:22:23 [TabAtkins]
ChrisL: Yeah, looks like it.
18:22:28 [smfr]
editor's draft: http://dev.w3.org/csswg/css3-color/
18:22:43 [TabAtkins]
ChrisL: Beth will send me an email that gamma has changed between Leopard and Snow Leopard.
18:23:10 [TabAtkins]
dbaron: The wording of the spec in general isn't great about what conformance requirements are, so there are some issues where I think I can improve that relatively easily.
18:23:24 [TabAtkins]
dbaron: Frex, it says "here is how to convert hsl to rgb", but it doesn't say you *have* to do that.
18:23:32 [TabAtkins]
ChrisL: yeah, that should be normative.
18:23:52 [TabAtkins]
ChrisL: Also there was an issue about color spaces and color width and such. All colors should be sRGB, and 0-255.
18:24:05 [TabAtkins]
dbaron: Issue 13
18:24:55 [TabAtkins]
dbaron: Someone suggested we remove the statement about clipping values outside the device gamut, which makes me wonder what to replace it with.
18:25:24 [TabAtkins]
ChrisL: I don't think they understood the issue. Do we have a conformance reuqirement to display colors you can't physically display?
18:25:41 [TabAtkins]
dbaron: I think that we might not quite want to clip, but might do some special mapping near the edge.
18:25:57 [TabAtkins]
ChrisL: [example with differing gamuts]
18:26:27 [TabAtkins]
ChrisL: After doing gamut mapping, if I still end up with values outside the displayable colors, it must be clipped.
18:26:44 [TabAtkins]
dsinger: Are you modifying what you remember the user asked for, or what you are trying to display?
18:27:01 [TabAtkins]
ChrisL: If it's implying that what is specified goes 1-1 with device gamut, that needs to be changed.
18:27:11 [TabAtkins]
dbaron: Right, that's why I want to change "clipped" to "clipped or mapped".
18:27:45 [TabAtkins]
ChrisL: "clipped or mapped" isn't fine.
18:28:05 [TabAtkins]
ChrisL: You need to say "values outside source gamut should be mapped to device gamut, values outside device gamut must be clipped".
18:28:10 [TabAtkins]
dbaron: What's the source gamut?
18:28:16 [TabAtkins]
ChrisL: The color space you're coming from, sRGB.
18:28:30 [TabAtkins]
dbaron: CSS allows values outside of sRGB.
18:28:50 [TabAtkins]
ChrisL: Yes, that's fine. If you have a printer that can do blues outside of sRGB, that's fine, CSS lets you express that.
18:29:19 [szilles]
szilles has joined #css
18:29:30 [TabAtkins]
ChrisL: But if you're showing on a screen, you can clip to the device's gamut.
18:29:40 [TabAtkins]
dbaron: How is the source gamut related to things here?
18:30:27 [TabAtkins]
ChrisL: I should have flagged 'device gamut' more. Once you've mapped to the device gamut, *then* you need to clip anything outside of it.
18:30:47 [TabAtkins]
Bert: The device clips them for you, right?
18:30:53 [TabAtkins]
ChrisL: Typically the driver clips them for you.
18:31:08 [TabAtkins]
ChrisL: You need to introduce the term source gamut and device gamut, and use them separately.
18:31:15 [TabAtkins]
dbaron: What is the source gamut?
18:31:30 [TabAtkins]
ChrisL: In here, sRGB, or any other color space if we allow more later.
18:32:04 [TabAtkins]
dbaron: But we allow things outside of sRGB.
18:32:16 [TabAtkins]
ChrisL: Right, nobody is talking about clipping source gamut.
18:32:50 [TabAtkins]
ChrisL: I can take an action to give a better description here.
18:33:01 [TabAtkins]
szilles: [suggestion for communicating this without using the term gamut]
18:35:10 [TabAtkins]
ACTION: clilley to rewrite the paragraph in CSS color concerning gamuts and clipping
18:35:10 [trackbot]
Created ACTION-221 - Rewrite the paragraph in CSS color concerning gamuts and clipping [on Chris Lilley - due 2010-04-07].
18:35:29 [TabAtkins]
dbaron: issue 18, from xsl-fo.
18:35:41 [smfr]
http://wiki.csswg.org/spec/css3-color#issue-18
18:36:53 [smfr]
http://lists.w3.org/Archives/Public/www-style/2008Sep/0006.html
18:37:27 [TabAtkins]
dbaron: It's one of the later messages in the thread.
18:38:04 [TabAtkins]
ChrisL: Marbux is a troll.
18:38:14 [TabAtkins]
glazou: We still need to respond to trolls.
18:38:23 [TabAtkins]
glazou: Talked to AC people, they said it was no problem.
18:38:58 [TabAtkins]
glazou: So we have an answer. It's member-only, but it's not a technical issue, only a legal one. It probably deserves a member-only answer.
18:39:19 [TabAtkins]
ChrisL: So resolution is no change?
18:39:28 [TabAtkins]
szilles: The "be" change should happen, though, right?
18:39:32 [TabAtkins]
dbaron: That's editorial, yeah.
18:40:01 [TabAtkins]
ChrisL: So we can say "We agree with the editorial comments from the XSL-FO working group". It makes it clear who we're agreeing with.
18:40:27 [TabAtkins]
dbaron: There's a note at the bottom of the system colors section that I think is wrong.
18:40:46 [TabAtkins]
dbaron: It says the computed value of a system color is the keyword itself.
18:40:57 [TabAtkins]
dbaron: First it's weird that a normative requirement is a note, and I think it's wrong anyway.
18:41:06 [TabAtkins]
dbaron: So system colors should compute to a color.
18:41:09 [TabAtkins]
ChrisL: Sounds good.
18:41:47 [TabAtkins]
ChrisL: I've seen Issue 20 come up in hypertext coordination group before, and so we need to say what we mean by 'deprecated'.
18:42:04 [TabAtkins]
dbaron: We mean that impls should still implement it, but new content shouldn't use it.
18:42:36 [TabAtkins]
ChrisL: Issue 27, we should discuss it.
18:42:50 [TabAtkins]
ChrisL: I assume it's because we can get it out this decade?
18:43:13 [TabAtkins]
dbaron: It doesn't have real dependencies; it can go to 2.1 just fine.
18:43:55 [dbaron]
Sounds like people are all happy with depending on CSS 2.1
18:44:00 [TabAtkins]
plinss: Next topic is animation of gradients.
18:44:16 [TabAtkins]
smfr: I think this came up because the Transitions spec said gradients were animatable.
18:44:32 [alexmog]
alexmog has joined #css
18:44:45 [TabAtkins]
smfr: I think this is a mistake because gradients aren't a property, but rather a type of image, and we don't know how to transition images yet.
18:45:09 [TabAtkins]
smfr: Also I think this might be someething for the public-fx group to input into as well.
18:45:57 [TabAtkins]
ChrisL: Could you send a mail to the list about that?
18:46:07 [TabAtkins]
ChrisL: [talks about how animating gradients in SVG is easy]
18:46:48 [TabAtkins]
TabAtkins: I've got a goal with shepazu to unify some underlying concepts in CSS and SVG, to make those things easier.
18:46:55 [TabAtkins]
plinss: Next topic is image-fit and image-position
18:47:05 [TabAtkins]
fantasai: We can't do much, since that was supposed to be for SVG coord.
18:47:17 [TabAtkins]
fantasai: But one thing we can talk about is naming. SVG wanted new names for things.
18:47:25 [TabAtkins]
fantasai: We might be able to discuss that.
18:47:43 [fantasai]
http://lists.w3.org/Archives/Public/www-style/2009Sep/0304.html
18:48:49 [anne]
btw, http://blog.mozilla.com/security/2010/03/31/plugging-the-css-history-leak/
18:49:53 [TabAtkins]
howcome: image-* isn't perfect for video either
18:50:18 [TabAtkins]
fantasai: fit-aspect-ratio says that you're fitting the aspect ratio to the box.
18:50:35 [TabAtkins]
fantasai: As far as the most useful information you can stuff into the property, that's fine.
18:50:56 [TabAtkins]
ChrisL: So fit-aspect-ratio and fit-position are good?
18:51:07 [TabAtkins]
howcome: No. What if you put it on a <p>?
18:51:22 [TabAtkins]
fantasai: No aspect ratio, so it's no good.
18:52:01 [TabAtkins]
howcome: Are there other suggestions?
18:52:22 [TabAtkins]
Bert: Without something pointing to images or replaced content, this sounds too general.
18:52:29 [fantasai]
s/it's no good/it doesn't apply/
18:52:46 [TabAtkins]
dbaron: What's the list of values for this?
18:53:06 [TabAtkins]
TabAtkins: For aspect ratio: fill, cover, and contain. For position, a bg-position.
18:53:27 [TabAtkins]
howcome: Why isn't image good enough for SVG?
18:54:10 [TabAtkins]
dbaron: If I hear "aspect-ratio", I expect something that looks like a ratio.
18:54:59 [TabAtkins]
fantasai: Maybe aspect-ratio-fit, but then it's weird to combinee them into a shorthand.
18:55:48 [TabAtkins]
smfr: content-fit, or just fit?
18:55:52 [TabAtkins]
Bert: We had that.
18:55:52 [dsinger]
here http://dev.w3.org/csswg/css3-page/
18:56:12 [TabAtkins]
TabAtkins: We had content-fit, said it was too general, and changed it to image-fit.
18:56:15 [smfr]
http://dev.w3.org/csswg/css3-page/#img-fit
18:57:46 [TabAtkins]
TabAtkins: This specifically says "replaced elements", which isn't great for SVG.
18:57:56 [TabAtkins]
fantasai: When SVG imports it, they can clarify wording for their own purposes.
18:58:12 [TabAtkins]
fantasai: In CSS, all values have no effect on non-replaced content.
18:58:41 [TabAtkins]
Bert: content-* has another advantage, in that it refers back to the content property, which can produce a replaced element.
18:59:28 [Bert]
'content-fit' not 'fit-content'
19:00:03 [TabAtkins]
[naming discussions]
19:00:20 [bradk]
'scale-how' and 'position-how'
19:00:28 [Bert]
(I still prefer 'image-fit', though)
19:00:56 [fantasai]
'aspect-ratio-fit'
19:01:00 [fantasai]
'fit-aspect-ratio'
19:01:02 [fantasai]
'content-fit'
19:01:03 [fantasai]
'fit-content'
19:01:09 [fantasai]
'fit-scaling'
19:01:13 [fantasai]
'scaling-fit'
19:01:44 [dsinger]
fitting?
19:02:11 [dsinger]
'replaced-element-fit-behavior'?
19:02:15 [bradk]
fitting:have(1)
19:02:46 [fantasai]
q+ for motion to switch topics until Molly can join the discussion
19:03:40 [TabAtkins]
<br type=lunch>
19:04:02 [sylvaing]
image-spread
19:04:22 [smfr]
smfr has joined #css
19:40:57 [Lachy]
Lachy has joined #css
20:01:37 [smfr]
smfr has joined #css
20:02:05 [sylvaing]
sylvaing has joined #css
20:02:27 [mjs]
mjs has joined #css
20:03:33 [dethbakin]
dethbakin has joined #css
20:05:42 [Arron]
Arron has joined #css
20:07:46 [bradk]
bradk has joined #css
20:09:53 [plinss_]
plinss_ has joined #css
20:10:06 [mjs]
mjs has joined #css
20:10:14 [mollydotcom]
mollydotcom has joined #css
20:10:53 [mollydotcom]
Hi all - guessing you're off for lunch?
20:11:07 [TabAtkins]
just getting back, actually
20:11:17 [mollydotcom]
hi Tab, how's it been going?
20:11:23 [TabAtkins]
Excellent!
20:11:31 [mollydotcom]
great to hear
20:11:49 [TabAtkins]
Sad I didn't get to meet you this time. ;_;
20:12:01 [mjs]
did you guys solve all problems with CSS yet?
20:12:19 [anne]
we added some problems
20:12:20 [mollydotcom]
I know, I was looking forward to it, but boy did I catch some kind of crud.
20:12:30 [mollydotcom]
Ah, Anne, ever the optimist.
20:12:31 [mjs]
anne: dammit!
20:14:03 [glazou]
glazou has joined #css
20:17:22 [bradk]
bradk has joined #css
20:18:01 [alexmog]
alexmog has joined #css
20:18:02 [glazou]
hi mollydotcom
20:18:20 [mollydotcom]
Hi Daniel!
20:19:10 [TabAtkins]
[continuing discussion about combining animations and gradients]
20:19:38 [TabAtkins]
[specifically, maybe attaching animations to transitions, rather than states?]
20:19:54 [fantasai]
RRSAgent: pointer
20:19:54 [RRSAgent]
See http://www.w3.org/2010/03/29-CSS-irc#T20-19-54
20:20:47 [TabAtkins]
[dean talking about animations with implicit start and end, like transitions do]
20:21:03 [TabAtkins]
[if, say, you animate left when you transition a color, what's the final value of left?]
20:21:25 [Bert]
(If 'transition-properties' has a value foo, then foo animates, even if the start and end values are the same.)
20:22:28 [TabAtkins]
[discussion about new selectors to address the hover/unhover animations]
20:22:42 [TabAtkins]
[something more analogous to mouseenter/mouseleave, rather than mouseover like :hover is]
20:23:08 [TabAtkins]
[or something that explicitly captures a state transition, like :transition(:hover,:not(:hover))]
20:23:36 [TabAtkins]
[combinatorial number of state transitions]
20:31:28 [TabAtkins]
[event-based CSS property]
20:32:21 [TabAtkins]
[back to keyframes for transitions?]
20:33:39 [jdaggett]
jdaggett has joined #css
20:34:13 [anne]
you could have something like :leave(:hover) or :leave(.test) for when something stops applying...
20:34:28 [anne]
but keyframes for transitions is prolly an easier solution
20:35:02 [TabAtkins]
plinss: Back to naming of image-fit and image-position, sincy mollydotcom is here.
20:35:02 [glazou]
mollydotcom, we need your expertise finding names...
20:35:04 [fantasai]
Topic: image-fit
20:35:12 [mollydotcom]
I'm here to talk about that
20:35:25 [TabAtkins]
smfr: dsinger had a suggestion that he put into irc earlier
20:35:39 [TabAtkins]
smfr: viewing-scale : letterbox | crop | fill; viewing-position : ...
20:36:02 [plinss_]
zakim, make room for 3
20:36:19 [Zakim]
Zakim has joined #CSS
20:36:26 [plinss_]
zakim, make room for 3
20:36:26 [Zakim]
I don't understand 'make room for 3', plinss_
20:36:46 [plinss_]
zakim, room for 3
20:36:46 [Zakim]
I don't understand 'room for 3', plinss_
20:36:59 [plinss_]
zakim, room for 3?
20:37:01 [Zakim]
ok, plinss_; conference Team_(css)20:36Z scheduled with code 26632 (CONF2) for 60 minutes until 2136Z
20:37:05 [mollydotcom]
do you want me to call in or shall I just type? Both hurt, typing less so as my throat is so swollen.
20:37:19 [glazou]
mollydotcom: see conf call data just above
20:37:23 [fantasai]
how about we call in, and you type?
20:37:34 [fantasai]
that way you can hear everything
20:37:35 [glazou]
Zakim, code?
20:37:35 [Zakim]
the conference code is 26632 (tel:+1.617.761.6200 tel:+33.4.89.06.34.99 tel:+44.117.370.6152), glazou
20:37:49 [mollydotcom]
ok, I'll call in and say hi and then type
20:37:51 [mollydotcom]
thanks
20:37:53 [fantasai]
:)
20:38:01 [plinss_]
(or not quite hear as the case may be...)
20:38:06 [Zakim]
Team_(css)20:36Z has now started
20:38:13 [Zakim]
+[Apple]
20:38:23 [TabAtkins]
mollydotcom: You can call in now.
20:38:47 [Zakim]
+Molly_Holzschlag
20:38:48 [fantasai]
http://lists.w3.org/Archives/Public/www-style/2009Sep/0304.html
20:40:03 [TabAtkins]
mollydotcom: Elika has caught me up a little bit on the issue.
20:40:10 [TabAtkins]
mollydotcom: We've been talking about this for a long time.
20:40:25 [TabAtkins]
mollydotcom: If someone can pinpoint the terminology that we're struggling with, I can help out.
20:40:35 [TabAtkins]
fantasai: We got a message from SVGWG, prompting the discussion.
20:41:16 [TabAtkins]
mollydotcom: Main concern with image-fit and content-fit is that we're really not talking about images or content.
20:41:29 [TabAtkins]
mollydotcom: It *may* be an image, but it's not traditionally what we call 'content'.
20:41:42 [TabAtkins]
mollydotcom: I suggest, for semantic rationale, 'object-fit'.
20:41:54 [TabAtkins]
howcome: Steve suggested that over lunch as well. I think it covers the things we're talking about here.
20:42:13 [TabAtkins]
mollydotcom: Right, whether it's a video or some SVG or an image or an applet, we can call all those 'object'.
20:42:18 [mjs]
does 'object-fit' really add any meaning to 'fit'?
20:42:34 [mjs]
pretty much anything can be arguably an 'object'
20:42:41 [TabAtkins]
mollydotcom: I have a problem from an educational perspective with using 'image'.
20:42:49 [TabAtkins]
mollydotcom: I think 'object' does add meaning to 'fit'.
20:43:11 [TabAtkins]
mollydotcom: I don't think it's true that *anything* can be an object. In the markup world, that always refers to a replaced element or similar.
20:43:14 [TabAtkins]
fantasai: Agreed.
20:43:36 [mjs]
in HTML there is specifically the <object> element, and people would think the property is referring to that
20:43:36 [TabAtkins]
smfr: That could also bring up the reference to <object>, which would suggest an exclusion of <video> and similar.
20:43:42 [fantasai]
fantasai: I don't think anyone thinks of a paragraph as an object
20:43:51 [TabAtkins]
mollydotcom: Yeah, that's possible confusion.
20:43:53 [bradk]
object has another meaning in JavaScript too.
20:44:03 [mjs]
as a browser implementor, I certainly think of a paragraph as an object
20:44:12 [mjs]
HTMLParagraphElement to be specific
20:44:16 [TabAtkins]
As an author, do you think of it that way?
20:44:34 [mjs]
no idea if authors think of it that way; I would imagine authors would do a lot of scripting would think of every element as an object
20:44:36 [TabAtkins]
mollydotcom: To designers, 'image-fit' would say to them that we can't put a java applet in there.
20:44:46 [TabAtkins]
mollydotcom: They come at us from a different perspective.
20:44:49 [mjs]
if the intent is to capture all replaced elements, then maybe it should be replaced-fit
20:44:53 [TabAtkins]
smfr: What's the objection to content-fit?
20:44:59 [TabAtkins]
mollydotcom: Too broad.
20:45:05 [bradk]
sometimes, when I'm dealing with an element in JS
20:45:37 [TabAtkins]
mollydotcom: It seems to me that 'object' is a happier medium.
20:45:38 [fantasai]
mollydotcom: And for content authors, content refers to the text content of the document
20:45:55 [mjs]
TabAtkins, what does SVG intend to apply it to? everything?
20:45:58 [TabAtkins]
object-fit: fill | contain | cover
20:45:58 [fantasai]
object-fit: fill | contain | cover
20:46:09 [fantasai]
object-position: <bg-pos>
20:46:10 [fantasai]
?
20:46:40 [fantasai]
mollydotcom: To me it looks good, and I think I can have that make sense to people
20:46:49 [fantasai]
mollydotcom: I think it's much harder to convey this than image-*
20:46:56 [fantasai]
howcome: I can live with image-* too, but this is better
20:47:01 [mjs]
I really doubt that "object" adequately distinguishes the set of SVG, CSS and HTML constructs it applies to, from the set of things it doesn't apply to
20:47:35 [mjs]
TabAtkins, why not just name the property "fit"? does it need a noun?
20:47:38 [fantasai]
mollydotcom: We were also talking about scaling
20:47:55 [TabAtkins]
howcome: I think 'fit' is just too generic.
20:48:06 [Bert]
(We had 'fit' at one point, and decided to change it.)
20:48:24 [TabAtkins]
fantasai: It seems like it could be a shorthand for fit-position and something else.
20:48:24 [fantasai]
it seems like it would be a shorthand for fit-position and something else
20:48:42 [TabAtkins]
mollydotcom: Let's throw it in front of the SVGWG and see what they have to say.
20:49:05 [fantasai]
mollydotcom: We talked about fit-scaling
20:49:06 [bradk]
I still prefer 'scaling-fit'
20:49:08 [mjs]
random proposal: fit-rule: fill | contain | cover, fit as a shorthand for fit-rule and fit-position
20:49:35 [TabAtkins]
mollydotcom: Problem with me is the active word of scaling. It's not quite actively scaling.
20:49:43 [ChrisL]
rrsagent, here
20:49:43 [RRSAgent]
See http://www.w3.org/2010/03/29-CSS-irc#T20-49-43
20:49:53 [TabAtkins]
mollydotcom: fit-scale, alone, makes sense to designers and similar people.
20:50:09 [TabAtkins]
mollydotcom: if I say you ahve to scale this particular object, that makes more sense to me than saying 'fit-scaling'.
20:50:42 [TabAtkins]
mollydotcom: In PS and you want to keep the aspect ratio, you just click "keep aspect ratio" and just change one value, or do it in %s.
20:50:48 [TabAtkins]
mollydotcom: And that's a very familiar paradigm.
20:51:00 [TabAtkins]
mollydotcom: So I think the word 'scale' is better, but there's vaguery in all of this.
20:51:11 [TabAtkins]
mollydotcom: We just have to pick the one that is closest and most understandable to the most people.
20:51:12 [fantasai]
fit-scale: fill | cover | contain
20:51:18 [fantasai]
fit-position: <bg-pos>
20:51:19 [TabAtkins]
howcome: So should we just list the alternatives?
20:51:26 [fantasai]
could append <percentage> to fit-scale
20:51:33 [bradk]
On a fit-scale of 1-10, I'm about a 5 maybe.
20:51:37 [fantasai]
100% would replace none
20:51:45 [fantasai]
fit-scale: fill | cover | contain | <percentage>
20:52:16 [fantasai]
mollydotcom: just giving one would preserve aspect ratio
20:52:32 [fantasai]
mollydotcom: fit-scale: 100% would be the image its actual size
20:52:39 [fantasai]
mollydotcom: fit-scale: 50% scales it down by 1/2
20:53:02 [fantasai]
mollydotcom: Could allow 2 values would allow different scaling for different dimensions
20:53:07 [fantasai]
howcome writes on the board
20:53:09 [fantasai]
fit-scale
20:53:10 [fantasai]
fit-position
20:53:10 [TabAtkins]
howcome: Are these the two proposals we have?
20:53:13 [fantasai]
---
20:53:15 [fantasai]
object-fit
20:53:17 [fantasai]
object-position
20:53:20 [fantasai]
---
20:53:22 [fantasai]
iage-fit
20:53:24 [fantasai]
image-position
20:53:27 [fantasai]
s/iage/image/
20:53:31 [fantasai]
---
20:53:33 [fantasai]
aspect-ratio-fit
20:53:37 [fantasai]
fit-position
20:53:39 [fantasai]
---
20:53:42 [fantasai]
scaling-fit
20:53:44 [fantasai]
fit-position
20:54:02 [fantasai]
---
20:54:13 [fantasai]
and either of last two with 'fit' in the front
20:55:06 [fantasai]
howcome adds numbers
20:55:12 [fantasai]
1. fit-scale / fit-position
20:55:17 [fantasai]
2. object-fit / object-position
20:55:21 [fantasai]
3. image-fit / image-position
20:55:40 [fantasai]
4. aspect-ratio-fit (or fit-aspect-ratio) / fit-position
20:56:24 [mollydotcom]
2 from me
20:56:28 [fantasai]
smfr: prefer 3, but 2 is ok
20:56:31 [fantasai]
anne: same
20:56:38 [fantasai]
steve: 1 or 2, not 3
20:56:59 [fantasai]
beth: 2, fallback to 3 if it has to
20:57:02 [fantasai]
sylvain: 3, then 2
20:57:12 [fantasai]
alex: 3, then 2
20:57:24 [fantasai]
alex: for the same reason I prefer mouse over pointer
20:57:26 [fantasai]
bert: 2, 3
20:57:32 [fantasai]
arron: 2, then 3
20:57:39 [fantasai]
fantasai: 1, then 2
20:57:44 [fantasai]
dbaron: 2 then 3
20:57:52 [fantasai]
tantek: abstain
20:58:05 [fantasai]
brad: 2 then 1
20:58:08 [fantasai]
tab: 1 then 2
20:58:15 [fantasai]
chris: 1 then 2
20:58:19 [fantasai]
daniel: 2 then 1
20:58:26 [fantasai]
peter: 1 then 2
20:58:33 [fantasai]
dsinger: 1 then 2
20:58:48 [fantasai]
howcome: 2 then 3
20:59:21 [fantasai]
dbaron: 2 was first or second choice from everybody
21:01:07 [fantasai]
fantasai: my one concern with 1 is that if you want to ad percentage scaling, it doesn't work with the object-fit name
21:01:20 [fantasai]
anne points out that if you made a shorthand with these, the shorthand would be called object
21:01:27 [TabAtkins]
s/anne/smfr/
21:01:34 [mollydotcom]
my cat apparently has some opinions about all this, but darned if I can understand her ;)
21:01:42 [TabAtkins]
s/s\/anne\/smfr\///
21:01:55 [bradk]
meow-fit
21:02:05 [mollydotcom]
She keeps saying it
21:02:19 [ChrisL]
but its merely anecdotal
21:02:30 [mollydotcom]
We are now the Cat Style Sheet Working Group, apparently
21:02:39 [mollydotcom]
haha
21:02:42 [mollydotcom]
short paw
21:02:50 [mollydotcom]
Anne: you do make a good point
21:02:58 [mollydotcom]
no shorthand should be called object IMO
21:03:13 [mollydotcom]
is there going to be a real need to do that?
21:03:42 [TabAtkins]
smfr: object-fit-scale, object-fit-position
21:03:43 [fantasai]
smfr: Could combine them and have object-fit-scale and object-fit-position
21:04:35 [Zakim]
-Molly_Holzschlag
21:04:37 [Zakim]
-[Apple]
21:04:37 [Zakim]
Team_(css)20:36Z has ended
21:04:38 [Zakim]
Attendees were [Apple], Molly_Holzschlag
21:04:44 [glazou]
mollydotcom: I'll cough for you in the meantime
21:04:54 [mollydotcom]
bye folks!
21:05:15 [mollydotcom]
@glazou, I hear wine relaxes the bronchial tubes :p
21:05:22 [TabAtkins]
fantasai: smfr's suggestion would address the shorthand and make more sense with %s.
21:05:39 [glazou]
mollydotcom: I'm not able to have a glass of wine at this time, trust me
21:07:32 [fantasai]
TabAtkins: percentages would make a shorthand impossible to parse
21:08:01 [TabAtkins]
RESOLVED: use object-fit and object-position for the properties
21:08:26 [fantasai]
Topic: Advanced Layout Modules
21:08:31 [dbaron]
ScribeNick: fantasai
21:08:42 [fantasai]
TabAtkins: So, this is going to be less direct suggestions and more mjy plan of action in the future about what to do
21:09:00 [fantasai]
TabAtkins: I'm a Google employee now, and will soon be chrome liaison
21:09:19 [fantasai]
TabAtkins: I want to take the layout drafts and turn them into something we wnat to implement and use soon
21:09:29 [fantasai]
TabAtkins: Specifically, Template, Flex, Grid, and a few others maybe
21:09:46 [fantasai]
TabAtkins: I've been thinking for a while what the underlying abstractions are in the different layout drafts
21:09:55 [fantasai]
TabAtkins: and also in the different layout modesl I as an authro want to do
21:10:07 [fantasai]
TabAtkins: I would like to combine into one model, but don't think I can quite do that
21:10:16 [fantasai]
alexmog: Why do you want to do this?
21:10:29 [fantasai]
TabAtkins: Because I as an author want to use them. Because laying out in CSS sucks
21:10:47 [fantasai]
alexmog: But you also want one or more browsers to implement
21:10:58 [fantasai]
TabAtkins: I'd also hope to implement some of this myself
21:11:17 [fantasai]
TabAtkins: So, the first model that layout things will be built on is table layout
21:11:30 [fantasai]
TabAtkins: turns out talbe layout is super useful for layouts I've done, for doing things I didn't expect before I started playing with it
21:11:40 [fantasai]
TabAtkins: Talbe alyout by itself is good, I like the way it lays out as a grid
21:11:54 [fantasai]
TabAtkins: the problem is that it restricts your site markup: you need to put in containers and order things so that it lays out
21:11:59 [fantasai]
TabAtkins: which can be bad for accessibility
21:12:02 [fantasai]
TabAtkins: Template layout fixes this
21:12:11 [Bert]
s/ talbe / table /g
21:12:11 [fantasai]
TabAtkins: Once you look into it, it looks just like magic on top of table layout
21:12:24 [fantasai]
TabAtkins: So I want to take Template Layout, slightly change it so that it is magic on top of table layout
21:12:41 [fantasai]
TabAtkins: That would basically entail setting up the properties so set up a table grid out of pseudo eleents
21:12:55 [fantasai]
TabAtkins: and hopefully discussing how content is flowed into the pseudo elements
21:13:04 [fantasai]
TabAtkins: hopefully not a significant change in the draft, just conceptual
21:13:14 [fantasai]
TabAtkins: Another thing to add would be another table layout model that's sane
21:13:29 [fantasai]
TabAtkins: fixed table layout is sane
21:13:41 [fantasai]
dbaron: no it's not, it's just nobody uses it so nobody knows how messed up it is
21:14:05 [fantasai]
alexmog: Even if I don't understand table layout, I can ...?
21:14:24 [fantasai]
dbaron: Another problem with table layout is that putting large things into small cells often doesn't do what you want
21:14:31 [fantasai]
dbaron: eg. have one thing wider than viewport
21:14:40 [fantasai]
dbaron: makes the whole table wider than the viewport
21:14:49 [fantasai]
TabAtkins: might be an artifact of auto layout righ now
21:15:09 [fantasai]
TabAtkins: Could consider putting out a new table layout model along with the mathching template model
21:15:28 [fantasai]
TabAtkins: ...
21:15:42 [fantasai]
dbaron: I removed support for * widths from Gecko because the implementation didnt do much
21:16:07 [fantasai]
dbaron: And the HTML4 description of * widths said do what browsers do for percentage widths, and the spec for percentage widths said something else
21:16:26 [fantasai]
alexmog: WPF does use table layout internally, and it implements * widths
21:16:55 [fantasai]
alexmog: The advantage is that you can put content into any slot into the table
21:17:07 [fantasai]
Bert: We could add a third algorithm to table-layout property
21:17:22 [fantasai]
TabAtkins: Building off of table then lets you use auto or fixed layout if that happens to be what you want
21:17:35 [fantasai]
Bert: That new algorithm would also allow the flex property in that case
21:17:51 [fantasai]
Brad: Would you bring that into the table display types, too?
21:18:01 [fantasai]
TabAtkins: Yes, if we add it to table-layout
21:18:23 [fantasai]
TabAtkins: the only magic in Template would be to create pseudo elements that represent talbe parts and putting the content in there
21:18:31 [fantasai]
TabAtkins: I'm going to start working on the drafts for these
21:18:36 [Bert]
s/talbe/table/
21:18:42 [fantasai]
TabAtkins: Just wanted to give everyone a heads up
21:19:02 [fantasai]
howcome: You have an implementation as template layout, right?
21:19:10 [fantasai]
Bert: Yes, 3 impls. One uses same syntax as the draft
21:19:18 [TabAtkins]
from alexis deveria
21:19:27 [fantasai]
Bert: The other impls are the ones from Cesar, which uses an older syntax
21:19:36 [fantasai]
Bert: And there's an impl from Andrew F. which uses another variant syntax
21:19:42 [fantasai]
Bert: I like the idea
21:19:51 [fantasai]
howcome: We need something like this, we haven't talked aobut htis for years
21:20:12 [fantasai]
howcome: what about multicol?
21:20:20 [fantasai]
TabAtkins: interact the same way as multicol and tables do now
21:21:01 [fantasai]
alexmog: If you are creating a new kind of a grid, that grid could supercede grid positioning
21:21:18 [fantasai]
alexmog: you could use that grid to position floats and have them interact with other content
21:21:36 [fantasai]
Bert: My template draft has that, the grid is defined by the template grid
21:22:03 [fantasai]
howcome confirms that grid units are defined in various drafts
21:22:13 [fantasai]
Tantek: what's the general class of use cases that you're going for?
21:22:19 [fantasai]
TabAtkins: Overall site layout
21:22:43 [fantasai]
TabAtkins: I want to make sure that either htis directly or this plus other stuff is also useful for applications
21:22:51 [fantasai]
TabAtkins: e.g. replace Gmail's hacky stuff
21:23:22 [fantasai]
Tantek: Traditionally, grid-based layouts are really useful for application UI
21:23:46 [glazou]
http://glazman.org/howcome-cupertino/
21:24:01 [fantasai]
Tantek: There are a whole class of applications that are doing ridiculous backflips to do UI
21:24:26 [fantasai]
Tantek: Having a model that solves those use cases could cause a renaissance of web applications
21:24:50 [fantasai]
TabAtkins: If we can come up with necessary flexibility with grid then building them together would be great .. (?)
21:25:06 [fantasai]
Tantek: Consider the use cases together, and consider also the implementors
21:25:16 [fantasai]
alexmog: I'm not against unifying the grid
21:25:37 [fantasai]
alexmog: but I don't want to have super-complicated interactions across multiple models
21:25:42 [fantasai]
dbaron: I don't think gmail is that gridlike
21:26:07 [fantasai]
dbaron: The layouts tend to be more about taking one piece of UI and pushing it against the edge of the space, and then having the rest of the area taken up by the rest of the app
21:26:22 [fantasai]
dbaron: You have menus and toolbars and sidebars
21:26:28 [fantasai]
dbaron: In all these cases you're taking the rectangle
21:26:50 [fantasai]
dbaron: taking up one part of it with a UI element, and then filling the remaining space
21:27:24 [fantasai]
Tantek: Check out iPhone apps, they have very different UI models
21:27:50 [fantasai]
howcome: We havent' really been able to exploit our table model because it hasn't been widely implemented
21:28:18 [fantasai]
...
21:28:43 [fantasai]
discussion of WebKit-specific apps and table layout
21:29:14 [fantasai]
Tantek: Interface builders have lots of interesting ways of laying out UI elements. It makes sense
21:29:22 [fantasai]
snap-to-grid
21:29:25 [fantasai]
pin one object to anther object
21:29:32 [fantasai]
Tantek: just spend 15 min with interface-builder
21:30:10 [fantasai]
howcome: Do we consider apps to be the driving force or documents?
21:30:17 [fantasai]
fantasai: Both. We need to handle both.
21:30:55 [fantasai]
Tab talks about grids defined by templates and tables and grids defined by content
21:31:37 [fantasai]
alexmog: The grid I imagine is independent of content. You either place stuff on the gridlines, or snap to them
21:31:46 [fantasai]
alexmog: The only thing you need to add is size to fit
21:31:56 [fantasai]
alexmog: perhaps horizontal lines should fit to content
21:32:03 [fantasai]
alexmog: that switches grid from trivial to complicated
21:32:13 [fantasai]
Tantek: grids aren't just for UIs either
21:32:32 [fantasai]
Tantek: Things like baseline-alignment across the page is super-hard to do today
21:32:42 [fantasai]
Tantek: Grid would presumably solve that
21:32:47 [fantasai]
TabAtkins: You could set up a grid with those line
21:32:56 [fantasai]
TabAtkins: and then with some other mechanism tell text to line up to that
21:33:11 [fantasai]
TabAtkins: You would need separate grids
21:33:58 [fantasai]
TabAtkins: Whether layout grid + baseline grid is sufficient or we need author-named grids, not sure
21:34:04 [fantasai]
fantasai thinks we should have named grids
21:34:31 [fantasai]
Bert: Anne ask on IRC, so do you have to write the table module first if you are going to do this?
21:34:34 [tantek]
tantek has joined #css
21:34:45 [szilles]
szilles has joined #css
21:35:09 [fantasai]
Anne: What does 'width' mean, what does 'height' mean
21:35:29 [fantasai]
TabAtkins: Don't have to define that, can just say "do what you do currently"
21:36:09 [fantasai]
TabAtkins: and build a new sane table model
21:36:14 [fantasai]
alexmog would like a sane table model
21:36:50 [fantasai]
Anne: I think we might get a bid of redundancy because only a few people know what the current one covers and what algorithms are defined that we might want to reuse
21:37:20 [fantasai]
Steve: One requirement that I have is that I be able to describe the area into which thigns flow separately from the stuff that's flowing into it.
21:37:53 [fantasai]
Steve: Right now table is entirely wound around the content that's in the table. I don't want that
21:38:12 [fantasai]
Steve: I want to describe whatever it is without having the content
21:38:19 [fantasai]
several, supported by Template module
21:38:29 [fantasai]
smfr: Can you split content up between boxes?
21:38:41 [fantasai]
TabAtkins: Not currently. No non-rectangular regions and no disconnectd regions
21:38:51 [fantasai]
TabAtkins: would like to add later
21:39:17 [fantasai]
howcome: Did you see the very first draft from 1997?
21:39:28 [fantasai]
TabAtkins: No, just seen since Advanced Layout just before it got split into Template
21:39:31 [Bert]
http://www.w3.org/TR/NOTE-layout
21:40:00 [dbaron]
As far as defining table layout, http://dbaron.org/css/intrinsic/ and a spec that Markus was working on both define significant pieces of the width calculation
21:40:17 [dbaron]
I actually think I like the height calculation that IE6 does more than what Gecko does.
21:40:53 [fantasai]
TabAtkins: I'm not doing box-to-box flow in order to be conservative in level 3
21:41:11 [fantasai]
TabAtkins: I think it would still be useful
21:41:17 [fantasai]
... printing ...
21:41:41 [fantasai]
TabAtkins: Printing does bring up other issues. It does matter.
21:42:40 [fantasai]
non-rectangular layout is difficult if multiple parts have flexible height
21:42:56 [fantasai]
TabAtkins: Next layout topic
21:42:59 [fantasai]
TabAtkins: Also related to table layout
21:43:11 [fantasai]
TabAtkins: In my current use of tables, I often want to set up a ton of things in a grid
21:43:18 [fantasai]
TabAtkins: but in my markup they're just a linear progression
21:43:32 [fantasai]
TabAtkins: and I want them to fill through and automatically find the right number of rows
21:43:45 [fantasai]
TabAtkins: so like normal table layout except without set rows
21:43:55 [fantasai]
TabAtkins: either by filling the width of a space, or specifying a number of columns
21:44:03 [fantasai]
howcome: Another idea is columns first
21:44:18 [fantasai]
TabAtkins: also want to determine direction of cell flow
21:45:11 [fantasai]
TabAtkins: When you loosen constraints on tables, then tend to become more similar to flexbox
21:45:27 [fantasai]
TabAtkins: So does anyone theoretically object to these additions to table stuff?
21:45:44 [bradk]
block-progression-direction to flow vertically, possibly
21:45:45 [fantasai]
* flowing cells into rows without row containers
21:45:56 [fantasai]
* cell progression direction: changin direction, changing itnto columns-first
21:46:39 [fantasai]
dbaron: If you switching block-progression direction, you'll also switch the width and height algorithms
21:47:02 [fantasai]
dbaron: Do you mean cell-progression-direction as a subfeature of the cell flow idea?
21:47:05 [fantasai]
TabAtkins doesn't knowe
21:47:14 [fantasai]
howcome complains about being forced to change markup to do layouts
21:47:52 [fantasai]
howcome wants a property for det whether talbe is column-primary or row-primary
21:48:11 [fantasai]
dbaron: One thing I liked about table height algorithms in IE6 is that they were much more similar to the width algorithms
21:48:59 [fantasai]
howcome: You also had an idea about saying which cells you want to start a new row
21:49:15 [fantasai]
TabAtkins: If you just want to fill to a specific width, then that doesn't work
21:49:20 [fantasai]
TabAtkins: but for other cases it works
21:49:28 [fantasai]
TabAtkins: you can use :nth-child to do a specific number of rows
21:50:27 [fantasai]
fantasai: A problem with fill to a width is that you layou out your table, splitting into say 4 cols
21:50:38 [fantasai]
fantasai: but then you find a really big cell and find you can only fit 2 cols
21:50:45 [fantasai]
fantasai: then you have to go back and relayout the whole table
21:50:53 [fantasai]
fantasai: (which is already a 2-3 pass algorithm)
21:51:01 [fantasai]
TabAtkins: Ok, maybe that's not a good idea then. Dont' like iterative layouts
21:51:31 [bradk]
container has 'table-flow: rows(4)' to auto flow table-cells vertically into 4 rows, with as many columns as it takes.
21:51:44 [fantasai]
TabAtkins: you might also want to flow into multiple rows, but not line up column-wise
21:51:54 [fantasai]
TabAtkins: They flow and wrap around, and each row is height-equalized
21:52:05 [fantasai]
TabAtkins: can fake it with inline-block, but doesn't handle all cases
21:52:16 [fantasai]
TabAtkins: Can't justify to exactly fit the row
21:52:28 [Bert]
(We did have a tabulation proposal some time ago. It was dropped when leaders() could do 80% of that.)
21:52:35 [fantasai]
...
21:52:41 [fantasai]
alexmog: That's a multi-line flexbox
21:52:48 [fantasai]
http://fantasai.inkedblade.net/style/specs/tabs/
21:53:23 [fantasai]
TabAtkins: Almost
21:53:37 [fantasai]
TabAtkins: box-pack-justify and a flexbox automatically sets all margins to be equivalent
21:53:46 [fantasai]
TabAtkins: but if you want finer control voer that, you can't express it in those terms
21:53:51 [fantasai]
TabAtkins: you can't set flex on margins
21:53:54 [Bert]
(Different kind of "tabs" :-) )
21:54:19 [fantasai]
TabAtkins: I think that's only place where flexbox is lacking.. it lays out from the container's perspective but not the childrens
21:54:22 [fantasai]
alexmog: that's the point
21:54:45 [fantasai]
alexmog: Everywhere else in CSS every element has its own opinion on how it wants to be laid out
21:55:10 [fantasai]
alexmog: Flexbox allows introducing simple or different layout algorithms because it doesn't interfere with anything else in the system
21:55:24 [fantasai]
alexmog: The layout is totally governed by the container
21:55:34 [fantasai]
alexmog: that's why it's a clean, easy-to-implement, easy-to-use spec
21:55:47 [fantasai]
alexmog: If you let it allows margin collapsing and everything else that happens in CSS, then you create a monster
21:56:05 [fantasai]
TabAtkins: I would like to dive down and try to design with flexbox, and then bring back anything I find that's insufficient
21:56:15 [fantasai]
TabAtkins: But I'm willing to put htat off and do experimentation
21:56:23 [fantasai]
dbaron: I think box-pack is pretty rarely used
21:56:25 [fantasai]
in xul
21:56:32 [fantasai]
dbaron: What's used instead is having more nested boxes
21:56:40 [fantasai]
TabAtkins: I do something imilar to flexbox using table layout
21:57:00 [fantasai]
TabAtkins: For a horizontal nav, I'll use auto or fixed table layout on a <ul>
21:57:13 [fantasai]
TabAtkins: to either space out the links, or the space between the links
21:57:30 [fantasai]
TabAtkins: in the first case, the white space between them changes, but their centers are spaced evenly
21:57:43 [fantasai]
TabAtkins: auto layout almnost equalizes the spaces in between
21:59:01 [fantasai]
Steve: You might want to wrap borders around that white space
21:59:14 [fantasai]
fantasai: You might want to flex the borders, or you might want to flex the padding
21:59:29 [fantasai]
TabAtkins: I handle that by either styling the <li> or the <a> inside it
22:00:04 [fantasai]
Steve: There's another piece of this. If had a set of inline-blocks and turned jsutification on
22:00:14 [fantasai]
Steve: The only place it could put space would be in between the inline-blocks
22:00:28 [fantasai]
Steve: The catch is, you really want some space on the ends to make it look right
22:01:37 [fantasai]
Steve: I'm asking you to think about it as justification
22:02:01 [fantasai]
Steve: There may be other places you'd like justification
22:03:20 [fantasai]
fantasai describes a catalog use case
22:03:35 [fantasai]
TabAtkins: One thing I want to do that I don't have much experience with is what web apps need
22:03:44 [fantasai]
TabAtkins: Because I'm experienced with web sites, but not web apps
22:04:10 [Bert]
(There are also Media Queries to deal with different numbers of columns.)
22:04:32 [fantasai]
Tab shows an example of a site he designed
22:04:39 [fantasai]
TabAtkins: Here's a bunch of questions.
22:04:44 [fantasai]
TabAtkins: I'm flowing this into three rows
22:05:02 [fantasai]
TabAtkins: Right now I can only do with inline-blocks, but that means I can't equalize their heights
22:05:36 [fantasai]
Steve: What's the difference between flexbox and flowing tables?
22:05:44 [fantasai]
TabAtkins: Not having a grid in both directions
22:05:57 [fantasai]
Steve: If I had something I could do this flowing in, having properties that could turn it into the grid...
22:06:15 [fantasai]
Steve: I guess what I'm trying to say is that I see less similarity to tables for flowing tables than to flexbox
22:06:22 [fantasai]
Steve: I would expect the flowing cells more in the flexbox world
22:06:27 [fantasai]
Steve: with additional constraints
22:06:43 [fantasai]
TabAtkins: That's why I said there seems to be a point where tables and flexbox come to gether
22:06:59 [fantasai]
TabAtkins: As you add more constraints to flexbox and reduce constraints in tables they get more similar
22:07:18 [fantasai]
TabAtkins: We could maybe add more possible constraints to flexbox, and have it look more like a table
22:07:45 [fantasai]
TabAtkins: instead of going from tables towards flexbox
22:07:57 [fantasai]
Bert: Question about your grid of questions
22:08:34 [fantasai]
Bert: I would bet that most people fill top-to-bottom, whereas you fill horizontally first
22:08:54 [fantasai]
Tab explains this is because that was the only way he could hack it up into a grid using existing features
22:10:20 [sylvaing]
sylvaing has joined #css
22:10:24 [anne]
btw, live style sheet editing: http://annevankesteren.nl/test/contenteditable-style.htm
22:11:16 [fantasai]
Tab explains also why multicol + snap-to-grid wouldn't work: a large item would throw off the alignment
22:12:20 [fantasai]
Steve: I have a similar use case of parallel translations
22:12:32 [fantasai]
howcome: That's another good use case for column-major instead of column-major
22:12:39 [fantasai]
s/column/row/
22:13:34 [fantasai]
TabAtkins: You'd run into the iterative layout problem fantasai pointed out
22:13:46 [fantasai]
howcome: Have you looked at line-stacking-strategy?
22:13:54 [howcome]
http://www.w3.org/TR/css3-linebox/#LineStacking
22:13:55 [fantasai]
TabAtkins: Not recently
22:14:06 [fantasai]
TabAtkins: One criticism is that it doesn't apply across blocks
22:15:13 [fantasai]
...
22:15:23 [fantasai]
TabAtkins: Can you set line-stacking-strategy on boxy and have it apply to everything?
22:15:32 [fantasai]
?: It's never been implemented
22:15:40 [fantasai]
Steve: InDesign in Japan does that
22:15:44 [fantasai]
(just not in CSS)
22:16:01 [fantasai]
howcome: It may not be the solution, but is something you should take into account
22:16:17 [fantasai]
TabAtkins: I think there's an interesting intersection of table, multicol, flexbox, etc
22:16:36 [fantasai]
howcome: I think it's great. Come with your youthful energy and work on this.
22:16:50 [fantasai]
Steve: Something to be said for people solving problems by not being aware they're unsolveable
22:32:58 [smfr]
smfr has joined #css
22:36:06 [bradk]
bradk has joined #css
22:36:20 [mjs]
mjs has joined #css
22:37:46 [Zakim]
Zakim has left #CSS
22:38:20 [plinss_]
plinss_ has joined #css
22:44:53 [alexmog]
alexmog has joined #css
22:45:36 [TabAtkins_]
TabAtkins_ has joined #css
22:54:42 [szilles]
szilles has joined #css
22:54:44 [fantasai]
dbaron: So the way widths work, you have some container
22:55:14 [fantasai]
dbaron: THen you have something inside that has margin border padding, then something inside that
22:55:21 [fantasai]
dbaron: You have computation going in from the edge
22:55:36 [fantasai]
dbaron: What we've said in the past is that percentage heights are just auto if the container is auto
22:55:47 [fantasai]
dbaron: But people want percentage heights to just work
22:55:55 [fantasai]
dbaron: There are several places where this woudl be more useful
22:56:01 [fantasai]
dbaron: One is multicol
22:56:12 [fantasai]
dbaron: You usually want to scroll horizontally off the screen instead of vertically
22:56:27 [fantasai]
dbaron: My idea is that, as we're doing layout, we keep an idea of what the available width is
22:57:00 [fantasai]
dbaron: You start with the width of the viewport, subtract out borderpadding, and just keep subtracting in, possibly replacing with a fixed width
22:57:25 [fantasai]
dbaron: If we did this for height as well, percentages could be useful
22:58:10 [fantasai]
dbaron: It's not perfect, but it gives you a default in cases where you need a good default
22:58:25 [fantasai]
alexmog: another use case is block progression direction changes
22:58:32 [fantasai]
dbaron: And there might be some usec ases for doing this with flexbox
22:58:43 [TabAtkins]
also text direction changes (vertical text vs horiz text)
22:58:54 [fantasai]
dbaron: I'm not sure what we're doing with this, but I might try adding it under a vendor prefix in Mozilla.
22:59:15 [fantasai]
TabAtkins: Would it be possible to implement this as how actual percentages work?
22:59:23 [fantasai]
dbaron: Probably too late
22:59:31 [fantasai]
TabAtkins: as a different unit or something?
22:59:54 [fantasai]
dbaron: maybe
23:00:00 [fantasai]
dbaron: We could use this for height: fill
23:00:04 [fantasai]
dbaron: and maybe even height: content-fit
23:01:05 [fantasai]
dbaron: This woudl only get you the effect of 100%
23:01:27 [fantasai]
TabAtkins: you could expose fill through calc() and then you can get precentages that way
23:03:20 [fantasai]
dbaron: A good use case would be max-height: fill
23:03:24 [fantasai]
dbaron: for columns
23:03:32 [fantasai]
dbaron: So you fill the screen, and then start growing out
23:04:18 [fantasai]
TabAtkins: max-height: 100vh would also solve that case, right?
23:04:31 [fantasai]
dbaron: Assuming your columns are not in something overflow: scroll
23:05:27 [fantasai]
people seem to like this for height: fill
23:05:45 [fantasai]
Topic: jd's followup to issue-156
23:06:22 [plinss_]
http://lists.w3.org/Archives/Public/www-style/2010Mar/0538.html
23:09:19 [plh-dinner]
plh-dinner has joined #css
23:09:43 [fantasai]
discussion about the proposal
23:10:14 [fantasai]
fantasai: "Once the font family's weights are mapped onto the CSS scale, missing weights are selected as follows:"
23:11:54 [fantasai]
use that to replace the introductory sentence, then add jd's bulletted list
23:12:32 [fantasai]
RESOLUTION: jdaggett + fantasai proposal above accepted
23:12:47 [howcome]
http://dev.w3.org/csswg/css3-gcpm/#setting-named-strings-the-string-set-pro
23:12:51 [fantasai]
Topic: GCPM
23:13:01 [fantasai]
howcome: I'd like to publish another a WD
23:13:18 [fantasai]
howcome: wrt env() function
23:13:32 [fantasai]
howcome: There was a question of how to get the date and time in the locale of the user
23:13:44 [fantasai]
howcome: There seems to be a widely-available strftime function
23:14:21 [fantasai]
dbaron: There's also JavaScript functions that have this functionality
23:14:28 [fantasai]
dbaron: I'm not sure if it's exactly compatible
23:15:22 [dbaron]
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/toLocaleFormat is a Gecko extension, not part of ECMA
23:16:01 [fantasai]
glazou: fwiw, toLocalString uses the language of the browser, not the language of the system
23:16:12 [fantasai]
dbaron disagrees
23:17:51 [fantasai]
Tantek and Steve want to format date and time
23:17:59 [fantasai]
howcome tries to explain that it's not the point of the feature
23:18:11 [fantasai]
dbaron: Some strftime things are local-sensitive and some are not
23:18:27 [fantasai]
Tantek: Your only choice in howcome's draft is to use the locale-specific version
23:18:47 [fantasai]
Tantek: I prefer if the env() would return in ISO values
23:18:55 [fantasai]
Steve: I would too, but i"m not sure it's as useful
23:18:59 [fantasai]
Tantek: with hyphens
23:19:18 [fantasai]
howcome: So 2010-03-30
23:20:09 [fantasai]
bradk: Wasn't the point to do what the browser does now, but be able to style it further?
23:21:52 [fantasai]
Steve: I don't mind publishing as long as this is marked as an issue
23:21:59 [fantasai]
Tantek: You should start with something universal and expand from there
23:23:04 [fantasai]
bradk: I don't think it's bad. There's a reason why browsers print the local-specific version. It's not our job to educate the world on universal time formats
23:23:27 [fantasai]
fantasai: You could call it localtime so that you can add other things later
23:23:36 [fantasai]
howcome: So local-time and local-date
23:24:40 [fantasai]
howcome: what if I want both?
23:25:32 [fantasai]
Tantek: local-date-time
23:25:52 [ChrisL]
rrsagent, here
23:25:52 [RRSAgent]
See http://www.w3.org/2010/03/29-CSS-irc#T23-25-52
23:26:08 [fantasai]
howcome: Simon proposed to say that border-clip* should go into borders and backgrounds
23:26:18 [tantek]
my personal preference would be for ordinal-date (YYYY-DDD) http://en.wikipedia.org/wiki/ISO_8601#Ordinal_dates
23:26:30 [tantek]
and on that note - I have to depart. thanks everyone!
23:26:57 [fantasai]
fantasai: We agreed to add this for CSS4 Backgrounds and Borders
23:28:36 [fantasai]
discussion of where these features belong
23:28:48 [fantasai]
fantasai volunteers to pull this into css4-backgrounds
23:30:07 [fantasai]
ACTION: fantasai put border-clip into css4-backgrounds
23:30:07 [trackbot]
Created ACTION-222 - Put border-clip into css4-backgrounds [on Elika Etemad - due 2010-04-07].
23:30:50 [fantasai]
howcome: Can we agree in principle in publishing GCPM as WD?
23:30:53 [fantasai]
no objections
23:31:07 [fantasai]
TabAtkins suggests removing repeat
23:31:18 [szilles]
szilles has joined #css
23:31:28 [smfr]
i also think that hyphenation should move
23:31:30 [fantasai]
I suggested it originally, and I think it isn't needed
23:31:32 [fantasai]
er
23:31:34 [fantasai]
that was Tab
23:31:57 [fantasai]
TabAtkins: Also, percentages should refer to the height for vertical borders
23:33:02 [fantasai]
Peter: ok, I think we're done
23:33:26 [fantasai]
http://lists.w3.org/Archives/Public/www-style/2010Mar/0551.html
23:33:51 [fantasai]
Issue 107 - anonymous table boxes proposal is done, bzbarsky has approved this proposal, and it's ready for wg discussion
23:33:57 [fantasai]
please review so we can discuss it
23:34:34 [fantasai]
the wrapping on that sucks
23:34:41 [fantasai]
I will resend from a real email client when I get home
23:36:57 [fantasai]
Meeting closed.
23:37:02 [smfr]
smfr has joined #css
23:41:33 [arronei]
arronei has joined #CSS
23:41:46 [smfr]
smfr has joined #css
00:10:38 [glazou]
glazou has joined #css
00:25:33 [anne]
anne has joined #CSS
00:27:11 [dino_]
dino_ has joined #css
00:29:38 [dino]
dino has joined #css
00:37:44 [smfr]
smfr has left #css
00:39:32 [dethbakin]
dethbakin has joined #css
00:58:55 [TabAtkins]
TabAtkins has joined #css
01:02:36 [TabAtkins]
TabAtkins has joined #css
01:04:59 [dbaron]
dbaron has joined #css
01:10:55 [karl]
karl has joined #CSS
01:16:21 [tantek]
tantek has joined #css
01:16:57 [dino]
dino has joined #css
01:20:09 [tantek]
hey dino - good to see you yesterday
02:20:53 [miketaylr]
miketaylr has joined #css
03:41:50 [Lachy]
Lachy has joined #css
03:49:18 [mollydotcom]
mollydotcom has left #css
04:08:32 [dino]
dino has joined #css
04:09:16 [miketaylr]
miketaylr has joined #css
04:29:44 [dbaron]
RRSAgent, bye
04:29:44 [RRSAgent]
I see 14 open action items saved in http://www.w3.org/2010/03/29-CSS-actions.rdf :
04:29:44 [RRSAgent]
ACTION: dbaron write proposal for IE-Opera behavior for issue 26 [1]
04:29:44 [RRSAgent]
recorded in http://www.w3.org/2010/03/29-CSS-irc#T21-30-31
04:29:44 [RRSAgent]
ACTION: Chris Find tests for media queries and check into test repository [2]
04:29:44 [RRSAgent]
recorded in http://www.w3.org/2010/03/29-CSS-irc#T23-05-59
04:29:44 [RRSAgent]
ACTION: clilley Find tests for media queries and check into test repository [3]
04:29:44 [RRSAgent]
recorded in http://www.w3.org/2010/03/29-CSS-irc#T23-06-28
04:29:44 [RRSAgent]
ACTION: glazou make namespaces implementation reports [4]
04:29:44 [RRSAgent]
recorded in http://www.w3.org/2010/03/29-CSS-irc#T23-12-52
04:29:44 [RRSAgent]
ACTION: howcome to produce alternate proposal for handling animation and transition together [5]
04:29:44 [RRSAgent]
recorded in http://www.w3.org/2010/03/29-CSS-irc#T18-40-40
04:29:44 [RRSAgent]
ACTION: dean and smfr to produce issues list for Transitions and Animations, including comments from dbaron and howcome. [6]
04:29:44 [RRSAgent]
recorded in http://www.w3.org/2010/03/29-CSS-irc#T18-44-50
04:29:44 [RRSAgent]
ACTION: SteveZ Propose changes to character-transform to address above concerns [7]
04:29:44 [RRSAgent]
recorded in http://www.w3.org/2010/03/29-CSS-irc#T21-06-10
04:29:44 [RRSAgent]
ACTION: clilley Discuss font-family syntax with SVGWG [8]
04:29:44 [RRSAgent]
recorded in http://www.w3.org/2010/03/29-CSS-irc#T23-06-45
04:29:44 [RRSAgent]
ACTION: fantasai move issue to css3-lists [9]
04:29:44 [RRSAgent]
recorded in http://www.w3.org/2010/03/29-CSS-irc#T23-33-27
04:29:44 [RRSAgent]
ACTION: Tab Rewrite proposal for Issue 161 [10]
04:29:44 [RRSAgent]
recorded in http://www.w3.org/2010/03/29-CSS-irc#T23-48-04
04:29:44 [RRSAgent]
ACTION: anne to set up wiki page to list CSSOM constants for coordination [11]
04:29:44 [RRSAgent]
recorded in http://www.w3.org/2010/03/29-CSS-irc#T16-55-11
04:29:44 [RRSAgent]
ACTION: anne to produce concrete examples of complex properties and put it on the list [12]
04:29:44 [RRSAgent]
recorded in http://www.w3.org/2010/03/29-CSS-irc#T18-14-07
04:29:44 [RRSAgent]
ACTION: clilley to rewrite the paragraph in CSS color concerning gamuts and clipping [13]
04:29:44 [RRSAgent]
recorded in http://www.w3.org/2010/03/29-CSS-irc#T18-35-10
04:29:44 [RRSAgent]
ACTION: fantasai put border-clip into css4-backgrounds [14]
04:29:44 [RRSAgent]
recorded in http://www.w3.org/2010/03/29-CSS-irc#T23-30-07