Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Partial support and notes #915

Open
foolip opened this issue Apr 19, 2024 · 5 comments
Open

Partial support and notes #915

foolip opened this issue Apr 19, 2024 · 5 comments

Comments

@foolip
Copy link
Collaborator

foolip commented Apr 19, 2024

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:

# TODO: Add notes about animated AVIF coming later in Safari (but don't mark this as partially supported)

# TODO: Consider notes or partial implementation for Safari 10.1 due to the
# lack of support for nomodule. It's important for fallback behavior, but in
# the long term not important if JS modules support is completely ubiquitous.

# TODO: Add notes about animated WebP coming later in Chrome (but don't mark this as partially supported)

#912 is another case currently in review.

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

@atopal
Copy link
Collaborator

atopal commented Apr 19, 2024

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
Copy link
Collaborator Author

foolip commented Apr 19, 2024

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
Copy link
Collaborator Author

foolip commented Apr 19, 2024

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
Copy link
Collaborator

ddbeck commented Apr 19, 2024

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.

@mirisuzanne
Copy link
Contributor

mirisuzanne commented Sep 16, 2024

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.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants