web-platform-dx / web-features

Exploring how to present Web platform features adoptability
Apache License 2.0
317 stars 53 forks source link

Partial support and notes #915

Open foolip opened 2 months ago

foolip commented 2 months ago

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:

https://github.com/web-platform-dx/web-features/blob/477f11f33e2966cbd15575ac733178332ee51e51/feature-group-definitions/avif.yml#L6

https://github.com/web-platform-dx/web-features/blob/477f11f33e2966cbd15575ac733178332ee51e51/feature-group-definitions/js-modules.yml#L12-L14

https://github.com/web-platform-dx/web-features/blob/477f11f33e2966cbd15575ac733178332ee51e51/feature-group-definitions/webp.yml#L6

https://github.com/web-platform-dx/web-features/pull/912 is another case currently in review.

In BCD, partial_implementation must come with a note, and we should probably do the same.

atopal commented 2 months ago

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?

foolip commented 2 months ago

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.

foolip commented 2 months ago

Note that there are things that BCD considers partial_implementation that I think we should still override and say it's not important enough for the whole feature to be considered partial. A missing onfoo event handler property is the most obvious such case, where it makes sense to point out at the most granular level in BCD, but it's at most worthy of a note for the overall feature.

ddbeck commented 2 months ago

I think partial implementation should mean not Baseline,

I just wanted to chime in to say that I think this is correct. I think "partial" ought to mean "baseline: false with annotations" not a "half Baseline" or something.