You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/data-guidelines/index.md
+38-1Lines changed: 38 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,6 +52,43 @@ Do not use `"preview"` for planned but not yet implemented support changes. In o
52
52
53
53
This guideline was adopted to protect the quality of stable data in the face of schedule uncertainty. To learn more about the adoption of `"preview"` values, see [#12344](https://github.com/mdn/browser-compat-data/issues/12344) and [#10334](https://github.com/mdn/browser-compat-data/pull/10334).
54
54
55
+
## `"partial_implementation"` general usage guidelines
56
+
57
+
> ![NOTE]
58
+
> This guideline was added in August 2025 and feedback is welcome.
59
+
> If you have questions or concerns about how to apply it, [file an issue](https://github.com/mdn/browser-compat-data/issues/new/choose).
60
+
61
+
You must set `"partial_implementation": true` when all of the following conditions are met:
62
+
63
+
- The browser's support does not implement mandatory specified behavior.
64
+
- The browser's support is inconsistent with at least one other browser.
65
+
- The browser's support causes confusing feature detection results.
66
+
- The browser's support has a demonstrable negative impact on web developers.
67
+
68
+
This list only covers cases where `"partial_implementation": true` is required.
69
+
`"partial_implementation": true` may apply in unusual situations not covered by this guideline, such as significant changes in a single-implementation feature's behavior before standardization.
70
+
71
+
Here are some example situations:
72
+
73
+
-`"partial_implementation": false`: All implementing browsers ignore part of a feature's specified behavior in the same way.
74
+
This behavior is consistent and is a _de facto_ complete implementation.
75
+
76
+
-`"partial_implementation": false`: All implementing browsers provide a form control user interface, but the specification gives the implementer discretion over its look and feel.
77
+
A developer complains that one browser's user interface lacks some desired quality that other browsers implement; they want it to be marked as partially implemented.
78
+
Use a note or non-standard behavioral subfeature instead.
79
+
<!-- TODO: link to behavioral subfeature guidelines, when available -->
80
+
81
+
-`"partial_implementation": false`: An implementing browser fails a web platform test against a corner case.
82
+
No web developers have reported the bug and it's unlikely that there are real-world applications that would attempt to use the corner case.
83
+
Use a note instead.
84
+
85
+
-`"partial_implementation": true`: `CSS.supports()` returns `true` for a property name and value, but the value has no behavior.
86
+
See also: [Non-functional defined names imply `"partial_implementation"`](#non-functional-defined-names-imply-partial_implementation).
87
+
88
+
-`"partial_implementation": true`: One browser exposes a constructor, `Example()`, but it always throws an error. Other browsers implement the constructor's intended behavior. This confuses feature detection because `typeof Example === "function"` returns `true`, even though the constructor does not work.
89
+
90
+
This guideline was proposed and adopted in [#26780](https://github.com/mdn/browser-compat-data/pull/26780).
91
+
55
92
## `"partial_implementation"` requires a note
56
93
57
94
If you set `"partial_implementation": true`, then write a note describing how the implementation is incomplete.
@@ -60,7 +97,7 @@ This guideline was proposed in [#7332](https://github.com/mdn/browser-compat-dat
60
97
61
98
## Non-functional defined names imply `"partial_implementation"`
62
99
63
-
If a browser recognizes an API name, but the API doesn’t have any discernable behavior, use `"partial_implementation": true` instead of `"version_added": false`, as if the feature has non-standard support, rather than no support.
100
+
If a browser recognizes an API name, but the API doesn’t have any discernible behavior, use `"partial_implementation": true` instead of `"version_added": false`, as if the feature has non-standard support, rather than no support.
64
101
65
102
For example, suppose there is some specification for a Web API `NewFeature.method()`. Running `typeof NewFeature.method` in some browser returns `function` (not `undefined`), but the method, when called, returns `null` instead of an expected value. For that feature, set `"partial_implementation": true` and write a note describing the feature’s misbehavior.
0 commit comments