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

flexbox: set Baseline status #450

Merged
merged 3 commits into from
Dec 4, 2023

Conversation

ddbeck
Copy link
Collaborator

@ddbeck ddbeck commented Dec 1, 2023

flexbox

Key Baseline Low since date Versions
flexbox ✅ High 2020-09-22 Chrome 57
Chrome Android 57
Edge 79
Firefox 81 🔑💎
Firefox for Android 81
Safari 9
Safari on iOS 9
css.properties.align-content.flex_context ✅ High 2015-09-30 Chrome 21
Chrome Android 25
Edge 12
Firefox 28
Firefox for Android 28
Safari 9 🔑💎
Safari on iOS 9
css.properties.align-content.flex_context.stretch ✅ High 2020-01-15 Chrome 57
Chrome Android 57
Edge 79 🔑💎
Firefox 52
Firefox for Android 52
Safari 9
Safari on iOS 9
css.properties.align-items.flex_context ✅ High 2016-07-27 Chrome 52
Chrome Android 52 🔑💎
Edge 12
Firefox 20
Firefox for Android 20
Safari 7
Safari on iOS 7
css.properties.align-items.flex_context.baseline ✅ High 2020-01-15 Chrome 21
Chrome Android 25
Edge 79 🔑💎
Firefox 28
Firefox for Android 28
Safari 7
Safari on iOS 7
css.properties.align-self.flex_context ✅ High 2015-07-28 Chrome 36
Chrome Android 36
Edge 12 🔑💎
Firefox 20
Firefox for Android 20
Safari 7
Safari on iOS 7
css.properties.align-self.flex_context.baseline ✅ High 2020-01-15 Chrome 21
Chrome Android 25
Edge 79 🔑💎
Firefox 28
Firefox for Android 28
Safari 7
Safari on iOS 7
css.properties.align-self.flex_context.stretch ✅ High 2020-01-15 Chrome 57
Chrome Android 57
Edge 79 🔑💎
Firefox 52
Firefox for Android 52
Safari 9
Safari on iOS 9
css.properties.display.flex ✅ High 2015-09-30 Chrome 29
Chrome Android 29
Edge 12
Firefox 20
Firefox for Android 20
Safari 9 🔑💎
Safari on iOS 9
css.properties.display.inline-flex ✅ High 2015-09-30 Chrome 29
Chrome Android 29
Edge 12
Firefox 20
Firefox for Android 20
Safari 9 🔑💎
Safari on iOS 9
css.properties.flex ✅ High 2015-09-30 Chrome 29
Chrome Android 29
Edge 12
Firefox 20
Firefox for Android 20
Safari 9 🔑💎
Safari on iOS 9
css.properties.flex-basis ✅ High 2015-09-30 Chrome 29
Chrome Android 29
Edge 12
Firefox 22
Firefox for Android 22
Safari 9 🔑💎
Safari on iOS 9
css.properties.flex-basis.auto ✅ High 2015-09-30 Chrome 22
Chrome Android 25
Edge 12
Firefox 22
Firefox for Android 22
Safari 9 🔑💎
Safari on iOS 9
css.properties.flex-direction ✅ High 2020-09-22 Chrome 29
Chrome Android 29
Edge 12
Firefox 81 🔑💎
Firefox for Android 81
Safari 9
Safari on iOS 9
css.properties.flex-flow ✅ High 2015-09-30 Chrome 29
Chrome Android 29
Edge 12
Firefox 28
Firefox for Android 28
Safari 9 🔑💎
Safari on iOS 9
css.properties.flex-grow ✅ High 2015-09-30 Chrome 29
Chrome Android 29
Edge 12
Firefox 20
Firefox for Android 20
Safari 9 🔑💎
Safari on iOS 9
css.properties.flex-shrink ✅ High 2015-09-30 Chrome 29
Chrome Android 29
Edge 12
Firefox 20
Firefox for Android 20
Safari 9 🔑💎
Safari on iOS 9
css.properties.flex-wrap ✅ High 2017-03-07 Chrome 29
Chrome Android 29
Edge 12
Firefox 28
Firefox for Android 52 🔑💎
Safari 9
Safari on iOS 9
css.properties.justify-content.flex_context ✅ High 2016-07-27 Chrome 52
Chrome Android 52 🔑💎
Edge 12
Firefox 20
Firefox for Android 20
Safari 7
Safari on iOS 7
css.properties.justify-content.flex_context.stretch ✅ High 2020-01-15 Chrome 57
Chrome Android 57
Edge 79 🔑💎
Firefox 52
Firefox for Android 52
Safari 9
Safari on iOS 9
css.properties.order ✅ High 2015-09-30 Chrome 29
Chrome Android 29
Edge 12
Firefox 20
Firefox for Android 20
Safari 9 🔑💎
Safari on iOS 9

🔑💎 marks a release that contributes to the Baseline low date.

@@ -2,13 +2,16 @@ spec: https://drafts.csswg.org/css-flexbox-1/
caniuse: flexbox
usage_stats: https://chromestatus.com/metrics/feature/timeline/popularity/1692
status:
is_baseline: true
since: "2020-10-20"
baseline: low
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What features do we need to break out to make Flexbox Baseline high? I think it will not match developer expectations that using Flexbox overall requires carefully thinking about browser support.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(It might be helpful to revisit #149 (comment) too.)

css.properties.flex-basis.{min,max}-content are the holdouts (appearing in Safari 16). If you drop those two, then the high status prevails.

The top-line summary would look like this:

Key Baseline Low since date Versions
flexbox ✅ High 2020-09-22 Chrome 57
Chrome Android 57
Edge 79
Firefox 81 🔑💎
Firefox for Android 81
Safari 9
Safari on iOS 9

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leaving my two pence: I was a little surprised to see flexbox as baseline low, however I had no idea/had never checked to see that flex-basis: min/max-content were only supported since Safari 16, so perhaps in this case developer expectations are wrong? (Though I'm not sure I've ever used them - and flexbox certainly retains a lot of usefulness without them.)

Longer term, I think we'll need some solution for "the majority of this page is baseline high, but these specific bits are baseline low/not", but for now, perhaps baseline low is the appropriate status here? Developers should check to see if their use of flexbox (with or without flex-basis: min/max-content) supports their target browsers.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree we'll need a solution for this very common problem, but so far we've mostly handled it by excluding the newer features and punting on how to handle them. I'd prefer to take that path here too, unless we have reason to think the min/max-content are common pitfalls.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, since we already have a bunch of features of Flexbox commented out, two more won't be that bad. Done with a116ccb.

I suspect the answer to the display problems is to define related groups, then:

  • Design a way to note the existence of "minor" groups on pages that cover higher-level groups at the top of the page
  • Show Baseline icons in-line in the body text (e.g., replace/amend the "experimental" beaker with a Baseline icon)
  • Update the compat table to provide a list of Baseline statuses that relate to the table

@ddbeck ddbeck requested review from LeoMcA and foolip December 4, 2023 13:11
@ddbeck ddbeck merged commit 3280cff into web-platform-dx:main Dec 4, 2023
2 checks passed
@ddbeck ddbeck deleted the 2023-12-01-set-flexbox-baseline branch December 4, 2023 15:51
foolip added a commit to foolip/browser-compat-data that referenced this pull request Dec 7, 2023
teoli2003 pushed a commit to mdn/browser-compat-data that referenced this pull request Dec 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants