-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
What to do about features that only have one implementation and likely will forever? #209
Comments
If they have been objected to by a majority we should definitely add warnings. Ideally we have the objections on record. If we don't have objections we should figure out what the likelihood of it getting implemented is. And perhaps what the likelihood of getting it removed is. |
We also have the reverse kind of situation, where a bad/silly/useless API is implemented by every vendor except one, as is the case with |
As for features with just one implementation where that single vendor isn't excited about removing it, maybe we could set a deadline in the spec, to say that if there isn't a second implementation within a year (or something) it will be removed? Of course, that doesn't work for single-vendor features that don't have a spec, nor does it work for everyone-except-one-vendor features that already has a spec. |
Some features with only one implementation are clearly misfeatures that should just be removed from implementations sooner or later. showModalDialog is in that category. Maybe also microdata. These features should be red-flagged in specs and then removed from specs when they're removed from implementations. Other features with only one implementation are potentially good ideas but perhaps too low priority to ever get interoperably implemented. MediaController may be in this category. These features should probably be flagged as "at risk" in specs. Over time these could move to the former category, or get implemented by other browsers. Other features with only one implementation are just waiting for other browsers to catch up and we expect that to happen within a few years. Maybe BroadcastChannel is in this category? For these we just leave the spec as-is. We don't necessarily know or agree which features are in which category. It may not become clear for years or ever. I think we need to carry on handling these on a feature-by-feature basis. |
Assigned to @domenic to decide if there's anything actionable to do in this issue or if we should close it. I basically agree that we need to handle this on a case-by-case basis, while of course learning from previous cases. |
Yeah, seems like the discussion here has run its course. |
This has come up a few times:
There are also a few other only-in-one-browser features that are slightly different. They haven't been objected to by the other engines, but they've stuck around for a long time with only one implementation:
<dialog>
; Blink onlyBroadcastChannel
; Gecko only<menu>
and friends; Gecko only, and only some parts of the specOther examples not in HTML:
In all of these cases, what is our best strategy? Should we remove them? Deprecate them? Should we try to move them to some separate spec as a sort of historical reference for single UAs? Should we mark them with big red boxes of some sort? (Or maybe the caniuse in the sidebar is enough?)
It seems weird to have specs that are essentially documentation for single-vendor features.
The text was updated successfully, but these errors were encountered: