Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
[css-ui-4][css-sizing-3] Who defines box-sizing? #2458
Now I have, so here's my review:
The rewrite is generally an improvement, both in purely editorial terms, and because it makes us of more anchoring terminology than what was available for the css-ui version.
Point 1, 2, and 3 are not blocking, but for point 4, I think you'll need to convince me or I'll need to convince you, before dropping one spec for the other.
If you're ok with that, I'm happy to write a Pull Request that:
If you're not OK with that, please say why :)
Historical references for point 4:
I'm okay with normatively pointing at css-ui-3 and/or updating CSS2.1 to be more precise. Not OK with carrying around this monkey patch forever.
That said, the monkey patch can be compressed to a single sentence, since every unqualified reference in CSS2.1 resolves to the inner width/height: this is exactly what the monkey patch does, except it spends an entire awful page of English-description diffs to do so. If we have to keep it going forward, I want to keep it in compressed form.
I'm happy to give width/height a more ambiguous definition for L3 specs and add anchors for inner/outer min/max? size if that's seen as helpful.
The Working Group just discussed
The full IRC log of that discussion<dael> Topic: definition of box-sizing in css-sizing
<dael> github: https://github.com//issues/2458
<dael> florian: Had resolution to move the definition to css sizing
<dael> florian: There was a large re-write while it happened. I filed this to disagree with some of it.
<dael> fantasai: We want to add a normative reference to UI 3. 2.1 refers to width and height but doesn't say if it's inner. UI 3 has a diff written in English to figure out how it works. It's an awful bit of spec writing we shouldn't add.
<dael> fantasai: Proposal is add a normative reference from CSS Sizing to UI 3. Also maybe fold the edits into 2.1 so it's not necessary to have this.
<dael> florian: And this monkey patch once written is mostly obvious, but when unwritten it's not clear.
<dael> florian: For referring to the monkey patch sounds good.
<dael> florian: Other part I raised is that you defined normatively width to mean inner-width and we haven't checked all our specs.
<dael> fantasai: In 2.1 any instance where it's ambig it's the inner width
<tantek> tantek: and test cases revealed bugs in the definition as well that we had to fix in css-3-ui
<dael> florian: Sometimes it means the value of the property.
<dael> fantasai: In those cases it's the value minus borders and padding. THat enture monkey patch it's the inner width. The fundimental concept of 2.1 is it's inner width. There might be cases outside of CSS 2 where we were less careful, but those are bugs in the spec.
<dael> florian: What I was thinking about is in practce in practical speech they're unavoidable. I'd rather normatively define and anchor term that's non-ambig so if you run into width you don't have to wonder if they meant innor or forgot to be careful
<dael> tantek: Aslo dimensial width vs [missed] It's not just inner vs outer, but also the width as a property in cascade. There's multi levels of ambig going on.
<dael> florian: To solve that I'd like the inner to be an anchor term which you can link the in bikeshed.
<dael> dbaron: Are the places where we say width and mean inline size?
<dael> florian: That too. In enough cases it's ambig but obvious enough and in those cases we should fix.
<tantek> s/Aslo dimensial/Also dimensional
<tantek> s/vs [missed]/vs property width, computed, cascaded etc.
<dael> dbaron: I think the fact that there is a second thing we ought to audit for maybe we should not assume here.
<dael> fantasai: CSS L3 I haven't looke dat position, but the rest are careful to use block size.
<dael> dbaron: But non-layout.
<dael> fantasai: Any spec TabAtkins or I worked on is being careful. Anyone else editing might want to look.
<dael> tantek: I think we're not focusing on the issue. I think we should resolve this that CSS UI defines box sizing. And then the plan moving forward is separate.
<dael> fantasai: Box sizing moved tot he sizing module. florian opened asking for the monkey path to be copied into box sizing. I think it's better to nromaive reference CSS UI from Sizing. Box sizing should have been in the sizing spec so it was in CSS UI.
<dael> gsnedders: CSS UI 3 have a normative reference?
<dael> tantek: No. It's fine in CSS3 UI and it's because form element behave that way. For external specs I'm not sure why we're talking double direction here.
<tantek> s/form element/form elements
<dael> florian: Prop is keep the box sizing definition out of UI 4 and into Sizing with a reference to the monkey patch in sizing and refer to sizing where it has better sizing. Mostly defined in sizing and refer to the monkey patch to CSS UI 3
<dael> florian: To be able to apply the monkey patch to 2.1...the other thing you dropped from UI to sizing is that i normatively defined width and the like.
<dael> fantasai: Box sizing has the terms defined but in pieces. Inner is separate from min/max size. But the terms to exist in sizing. I didn't feel like duplicating your version.
<dael> florian: I felt you underfined them.
<dael> fantasai: Inner is defined in sizing. In CSS 2.1 the spec is written witht he understanding that width means inner-width. If you want to read it with the context of width existing you need to know that. MOnkey patch can be compressed to a sentence saying it's referring to ineer-width/height. All your changes were about that.
<dael> fantasai: I think we should resolve on having 2.1 so that the potentially ambig references to width are corrected so we don't need awk patch.
<dael> tantek: We need to open an issue. This issue is multi spec.
<dael> fantasai: That's fine.
<gsnedders> I am strongly in favour of fixing 2.1 here.
<dael> Rossen: Let's take resolution to 2.1
<tantek> s/open an issue/open an issue on 21
<dael> florian: Can we normatively reference the monkey patch from sizing?
<dael> fantasai: Yes
<fantasai> s/width existing/box-sizing existing/
<dael> Rossen: We need to update CSS 2.1 by normatively pointing UI 3?
<dael> fantasai: 2.1 to be edited.
<dael> tantek: That's why I'm suggesting a separate new issue.
<dael> Rossen: What's the 2.1 fix?
<dael> tantek: In florian's long comment on 2458. Errata CSS 2.1 bullet point.
<dael> florian: Trying to craft the wording isn't group. We should open the issue and until we fix 2.1
<dael> Rossen: Prop: Add an issue and a fix for 2.1 to disambiguate width for inner and outer width.
<dael> Rossen: Obj?
<dael> RESOLVED: Add an issue and a fix for 2.1 to disambiguate width for inner and outer width.