-
Notifications
You must be signed in to change notification settings - Fork 102
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
Partial support and notes #915
Comments
What's the implication for the Baseline status of those items? Is that something we need to assess on a case by case basis or does it make sense to consider partial implementations generally not baseline? |
I think partial implementation should mean not Baseline, so we for things we consider partially supported we should currently mark them as not supported and add TODOs. This data wouldn't be for more accurate Baseline data, but to capture nuance accurately if web-features is imported to caniuse.com. |
Note that there are things that BCD considers |
I just wanted to chime in to say that I think this is correct. I think "partial" ought to mean " |
Short term, I think it's more helpful to say 'this sub-feature is fully supported' when browsers are consistent in what part they support, and when that part can be used independently. If/when browsers do extend the feature, authors will discuss support for the new sub-feature separately. Long term it might make sense to merge sub-features back together into a complete feature - but it seems to me like 'partial support' is only real useful as a flag when the sub-parts can't be easily distinguished, or the feature isn't usable. There are many cases where this merging happens over time without anything being considered 'partial' along the way. When a new option is added to an old feature, we give that new option a new name - we don't un-baseline the existing functionality. |
Strong +1 to what @mirisuzanne says. In general the idea of "partial support" feels unhelpful; in cases where we can quantify that some parts of a feature are supported and others aren't we should split the feature so that the actual state of support is reflected in the data. In other cases it might be hard (e.g. where it's about support for certain subset of possible input values in an API), but all implementations have some bugs and limitations and at some point we need to make a call between "not usable" and "usable". |
I’ve found my way to here through GoogleChrome/webstatus.dev#1141, which is about popover that was Baseline, but then wasn’t, but now is again. I think that the reason why the feature was initially considered to be Baseline is because the Before mdn/browser-compat-data#25787 – which marks the feature a included in Safari iOS 18.3 – the BCD entry for "safari_ios": {
"version_added": "17",
"partial_implementation": true,
"notes": "On iOS and iPadOS, popovers are not dismissed when the user taps outside of the popover area, see [bug 267688](https://webkit.org/b/267688)."
}, Had the Looking at the source of web-features/packages/compute-baseline/src/browser-compat-data/feature.ts Lines 124 to 130 in b44c75c
|
Replying to @bramus, specifically on this point:
We do take That said, the source comment is very badly written (by me) and can be read to mean the exact opposite of what it does. I've sent #2620 to correct this. For popover specifically, the fault here was in underlying data, not in the calculation. The history for popover is hard to follow, but here's my best attempt to thread together what happened:
|
Thanks for the clarification @ddbeck; I appreciate the detail that went into it. |
Both BCD and caniuse have a concept of partial support. Examples:
https://developer.mozilla.org/en-US/docs/Web/API/ScreenOrientation/lock#browser_compatibility
https://caniuse.com/webp
We have already accumulated a number of features that could benefit from the same:
web-features/feature-group-definitions/avif.yml
Line 6 in 477f11f
web-features/feature-group-definitions/js-modules.yml
Lines 12 to 14 in 477f11f
web-features/feature-group-definitions/webp.yml
Line 6 in 477f11f
#912 is another case currently in review.
In BCD,
partial_implementation
must come with a note, and we should probably do the same.The text was updated successfully, but these errors were encountered: