-
Notifications
You must be signed in to change notification settings - Fork 715
[css-ui-4] Align canonical order of outline
sub-properties with border
#7700
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@Loirooriol CSS2 didn't define a canonical order. That was a concept introduced much more recently, and I don't think anyone audited the various property grammars to make sure they were in an appropriate canonical order. I agree it would be nice to align these it's Web-compatible. |
The CSS Working Group just discussed The full IRC log of that discussion<dbaron> TabAtkins: Guillaume noted that despite similar value spaces, the outline and border have a different order of the value definition grammar, and since we generally follow value definition order when serializing.<dbaron> TabAtkins: fantasai notes that in CSS2 the grammar order wasn't implied to have a meaning. <dbaron> TabAtkins: since we do rely on the grammar order for things it would make sense to align them <dbaron> TabAtkins: Aside from that possibility, I think it's reasonable to align the 2, more likely to follow what border does. <dbaron> TabAtkins: I think we should resolve to make outline's component order match border's component order. <fantasai> Note that at least two people filed this issue, since we have a dup <astearns> ack dbaron <TabAtkins> dbaron: In the past I was always concerned about the model of defaulting to the syntax in the value definition <TabAtkins> dbaron: I think in general it is worth explicitlyt esting impls to see what they do and then coming back <emilio> +1 dbaron <TabAtkins> dbaron: Partaly I'm guessing impls dont' formally follow the spec right now <TabAtkins> dbaron: They wer eimplemented before we created this rule, and probably haven't udpated <TabAtkins> dbaron: So probably tests might show some accidental compliance anyway <TabAtkins> astearns: Would you like to test then resolve? Or okay to resolve first and use tests to verify? <TabAtkins> dbaron: Probably good to get tests first, but should be fine to resolve async once we do. <tantek> +1 on getting tests first, this has been implemented long enough ago that it's worth gathering that data first <TabAtkins> astearns: Sounds good, let's see if we can resolve async once we ahve the data |
|
See testcase. Results: all browsers follow the current (inconsistent) spec consistently. |
Here's a testcase with both specified and computed styles. It does largely agree that browsers follow the (inconsistent) spec, modulo a missing result for WebKit. |
For what it's worth, Firefox 4.0.1 produced:
So the |
The Chromium and WebKit code for |
I couldn't find the prior minutes referenced in the above threads, though I did find these minutes that reference them:
|
In any case, I'm personally fine with trying to change the order for I also think we should either:
|
Meta-test of 26 outline declarations: canonical order of outline sub-properties Both Firefox and Chrome fail. They both serialize computed value as
and not as
The computed value of keyword "invert" is viewed as the current outline color and not as "invert". |
In my humble experience, per grammar is usally fine but is not great for eg.
It is also not obvious for |
I do not know if further discussions are expected on this change. I think simplifications during the serialization of edit: never mind, the simplifications are just as complex regardless of the canonical order that applies. |
The CSS Working Group just discussed
The full IRC log of that discussion<Frances> Florian: The outline property has 'outline-color, outline-style, outline-width, and there is a strange order. Should we follow the implementations or challenge it for more consistency with border? Possibly not important, but consistency is nice.<Frances> fantasai: Line things up unless there is a web compat issue, it is an error in the spec, the error in the grammar was not significant. <fantasai> s/the error in the/previously order in the/ <fantasai> -> https://github.com//issues/7700#issuecomment-1440764072 <Frances> florian: Shouldn't change the spec depending on the interoperability. <Frances> florian: Can resolve to change possibly from the issue <Frances> Daniel: Could change in a coordinated way. <Frances> Rossen: Any objections? <Frances> PROPOSAL: Align canonical order of outline sub-properties with border <Frances> RESOLVED: Align canonical order of outline sub-properties with border |
https://drafts.csswg.org/css-ui-4/#propdef-outline
Could you please tell me if there is a reason why the canonical order of
outline
is different from that ofborder
andborder-<side>
, or if they can be aligned?https://drafts.csswg.org/css-backgrounds-3/#propdef-border
The text was updated successfully, but these errors were encountered: