Skip to content
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

Move -webkit- prefixed aliases into flexbox? #5634

Closed
gsnedders opened this issue Oct 19, 2020 · 7 comments
Closed

Move -webkit- prefixed aliases into flexbox? #5634

gsnedders opened this issue Oct 19, 2020 · 7 comments

Comments

@gsnedders
Copy link
Contributor

https://compat.spec.whatwg.org currently defines a whole load aliases for flexbox which are implemented across all major browsers today. It would be nice to move these into the main flexbox spec, rather than have them defined elsewhere.

Specifically, the following should be legacy name aliases:

  • -webkit-align-content
  • -webkit-align-items
  • -webkit-align-self
  • -webkit-flex
  • -webkit-flex-basis
  • -webkit-flex-direction
  • -webkit-flex-flow
  • -webkit-flex-grow
  • -webkit-flex-shrink
  • -webkit-flex-wrap
  • -webkit-justify-content
  • -webkit-order

(Note that this issue is not about the older -webkit-box-* properties, where behaviour does differ from the modern spec in all browsers.)

@gsnedders gsnedders added the css-flexbox-1 Current Work label Oct 19, 2020
@fantasai
Copy link
Collaborator

I'd be OK with putting these into an appendix of the Flexbox spec as a UAs MAY and authors SHOULD NOT or something.

@gsnedders
Copy link
Contributor Author

gsnedders commented Oct 19, 2020

CSS UI 4 makes them a must-level requirement:

For compatibility with legacy content, UAs that support user-select must also support -webkit-user-select as an alias.
and
For compatibility with legacy content, UAs must also support -webkit-appearance as a legacy name alias of appearance.

CSS Overflow 3 does likewise:

For compatibility with legacy content, UAs that support line-clamp must also support the -webkit-line-clamp property.

I'd rather we were consistent with prefixes which are required for web compat, make them all MAY (albeit with the expectation that any web browser will implement them all, and therefore any non-web browser implementation won't be fully compatible with web browsers as a result) or make them all MUST. I'm fine with putting an authoring requirement saying SHOULD NOT, however (which we haven't done for the others).

@fantasai
Copy link
Collaborator

fantasai commented Nov 4, 2020

Note: Obsolete legacy (standard!) stuff for SVG is marked as optional in CSS Writing Modes, fwiw: https://www.w3.org/TR/css-writing-modes-3/#svg-writing-mode

@tabatkins
Copy link
Member

On the other hand, the obsolete SVG values for image-rendering are marked as MUST.

@css-meeting-bot
Copy link
Member

The CSS Working Group just discussed Move -webkit- prefixed aliases into flexbox?, and agreed to the following:

  • RESOLVED: Add an appendix to flexbox spec for the webkit prefix properties
  • RESOLVED: Add these to the appendix as MUST or MAY depending on impl and SHOULD NOT for authors. Add details about how they're not simple aliases
The full IRC log of that discussion <dael> Topic: Move -webkit- prefixed aliases into flexbox?
<dael> github: https://github.com//issues/5634
<dael> TabAtkins: Currently the whatwg compat spec defines the aliases from old wk prefixes for flexbox b/c required for compat. gsnedders asking to move out of compat and into flexbox
<dael> TabAtkins: IN general we're okay with putting compat in a spec
<dael> TabAtkins: I'm fine
<dael> TabAtkins: I would like to put in appendix as fantasai pointed out
<dael> TabAtkins: Two things, should we move? If yes, what level of wording
<dael> astearns: Add an appendix to flexbox spec for the prefix properties
<dael> RESOLVED: Add an appendix to flexbox spec for the webkit prefix properties
<dael> TabAtkins: Not consistent with 2019 usage for legacy. We lean toward MUST. Images has SVG with MUST but writing mode was MAY. WE should make consistent but figuring out is separate issue
<dael> TabAtkins: For now I'd like a MUST since that seems the more consistently used. Later can have issue to make all consistent
<dael> florian: Makes sense and having MUST as default since we wouldn't spec it if it wasn't necessary
<dael> fantasai: Yeah, but if you're css renderer who isn't doing web content you won't care
<dael> heycam: I think it makes sense MUST. -webkit-appearance type there could be impl with problems but I don't think this is a case
<iank_> q+
<astearns> ack iank_
<dael> fantasai: THere is a renderer who isn't compat with web but does flexbox. I don't want to make them non-comformant
<dael> iank_: When you move this into flexbox make sure youd on't list as aliases, they're more complex then that. Compat spec was lying a bit there.
<dael> TabAtkins: You're saying compat spec is incorrect?
<dael> iank_: My quick reading of it I believe so. My understanding of how we impl is if you've got display-webkit-box you don't look at wk ordanal and then order, you only look at ordinal. You look at one set of properties as a whole. It's a higher level switch. Compat spec says they're alias which is incorrect
<dael> heycam: I don't remember off the top of my head but Daniel did it
<dael> TabAtkins: We'll resolve it when we do edits
<dael> iank_: Yeah, just an FYI. I can give more detail and hacks when you're writing
<dael> heycam: WPT doesn't have tests on -webkit-flex things so tests would be good.
<dael> fantasai: If they're not imply I'm rather against a MUST for non-web
<dael> TabAtkins: I'd propose putting as a MUST for web exposed impl and MAY or SHOULD for others
<dael> fantasai: Sure. Go with MAY
<dael> astearns: Prop: Add these to the appendix as MUST or MAY depending on impl and SHOULD NOT for authors. Add details about how they're not simple aliases
<dael> florian: If you support is may or must depending on context but if you do you have to do it how iank_ desc?
<dael> fantasai: Yeah
<dael> astearns: Concerns? Obj?
<dael> RESOLVED: Add these to the appendix as MUST or MAY depending on impl and SHOULD NOT for authors. Add details about how they're not simple aliases
<dael> astearns: If we uncover any differences between how blink and gecko support these it would be good to tease it out
<dael> TabAtkins: Yep
<dael> heycam: Might be good to file an issue to capture the discussions
<dael> astearns: I'm happy to have first attempt go into spec and if there are concerns we should open an issue
<dael> heycam: Okay

@gsnedders
Copy link
Contributor Author

@bfgeek: When you move this into flexbox make sure youd on't list as aliases, they're more complex then that. Compat spec was lying a bit there.

At least in WebKit, the -webkit-flex-* properties are aliases. And as I said in the original issue here:

(Note that this issue is not about the older -webkit-box-* properties, where behaviour does differ from the modern spec in all browsers.)

The -webkit-box-* properties definitely aren't aliases, and the Compat spec is wrong there (see whatwg/compat#87)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants