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

Add ::scroll-button feature #2653

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

flackr
Copy link
Contributor

@flackr flackr commented Feb 14, 2025

No description provided.

@github-actions github-actions bot added the feature definition Creating or defining new features or groups of features. label Feb 14, 2025
@ddbeck
Copy link
Collaborator

ddbeck commented Feb 17, 2025

Hi @flackr, this is a question for each of your recent PRs: am I correct in understanding that these are all proposed features that are not yet shipping in any browsers? They seem to reference browser compat data and caniuse entries that don't exist.

(We're still working out a process for what we've been calling "early" features. I'm betting these are likely to become important test cases.)

@captainbrosset
Copy link
Contributor

captainbrosset commented Feb 17, 2025

I believe this is part of a larger feature aimed at enabling CSS-only carousel widgets, and I think there's an implementation in Chromium behind a flag.

@flackr
Copy link
Contributor Author

flackr commented Feb 18, 2025

I believe this is part of a larger feature aimed at enabling CSS-only carousel widgets, and I think there's an implementation in Chromium behind a flag.

It is a set of independent features, but yes, they are part of a larger goal to make it easy to author pure CSS carousel experiences: https://github.com/w3c/csswg-drafts/blob/main/css-overflow-5/carousel-explainer.md

There is an implementation in chromium and I2S's have been sent for these features:
https://groups.google.com/a/chromium.org/g/blink-dev/c/7EQ8-VzPZh0/m/NMyrGCjuAAAJ
https://groups.google.com/a/chromium.org/g/blink-dev/c/O5ZmbyRh9LE/m/lHxxrdiHAAAJ

They seem to reference browser compat data and caniuse entries that don't exist.

What do we need to do to add these entries?

@captainbrosset
Copy link
Contributor

What do we need to do to add these entries?

The BCD entries (aka BCD keys) need to be added to the browser-compat-data project first. For this to happen, there needs to be an implementation of the feature in at least one browser, which you said there was, in Chromium. In theory, the BCD Collector should even detect the new feature and create the new keys for you automatically (provided the implementation actually ships enabled with a given milestone of Chromium).

If this early feature doesn't yet have an enabled-by-default implementation, then we can still create yaml files for it here, and just omit the compat_features part.
See the customizable select feature as prior art for this: https://github.com/web-platform-dx/web-features/blob/main/features/customizable-select.yml

Comment on lines 6 to 8
status:
compute_from: css.selectors.scroll-button
compat_features:
- css.selectors.scroll-button
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's remove all of this if the feature isn't yet covered by BCD.
If the implementation of this feature is shipping enabled then let's pause this PR, add the corresponding BCD keys (or check if the BCD collector can do it automatically), and then add the correct BCD key(s) here.
If not (and the chromestatus entry seems to say this isn't yet enabled), then let's leave this out for now.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Okay, I've removed these entries for now. I will readd after it is enabled by default and the BCD collector adds the keys.

Copy link
Contributor

@captainbrosset captainbrosset left a comment

Choose a reason for hiding this comment

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

I think this looks good to me as is. Would be good for @ddbeck to take another look as well since we don't yet a lot of early features like this and I know we have a goal this year of making it easier to create by then and modify them over time as spec changes happen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature definition Creating or defining new features or groups of features.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants