implementationStatus - speced/respec GitHub Wiki
implementationStatus
Type: boolean | string | ImplementationStatusOptions
Default: undefined
Adds a Baseline browser availability badge to the document header, showing which browsers support the feature according to web-features data.
Basic usage
The simplest approach is to set the value to true, which auto-detects the feature from the spec's URLs (edDraftURI, shortName, or thisVersion):
var respecConfig = {
shortName: "screen-wake-lock",
implementationStatus: true,
};
If auto-detection doesn't find a match, use an explicit feature ID instead:
var respecConfig = {
implementationStatus: "screen-wake-lock",
};
Finding your feature ID
Feature IDs come from the web-features project. To find yours:
- Search on webstatus.dev for your feature name. The feature ID is the last segment of the URL (e.g.,
https://webstatus.dev/features/screen-wake-lockmeans the ID isscreen-wake-lock). - Alternatively, browse the web-features feature list on GitHub.
If your feature is not yet tracked in web-features, the badge will show a fallback link to Web Platform Status.
With options
var respecConfig = {
implementationStatus: {
feature: "screen-wake-lock",
removeOnSave: true,
},
};
Options
| Option | Type | Default | Description |
|---|---|---|---|
feature |
string | null |
null |
web-features ID. Set to null (or omit) to auto-detect from spec URLs. |
removeOnSave |
boolean |
false |
Replace the interactive badge with a plain link when saving/exporting the spec. |
apiURL |
string |
respec.org endpoint | Override the data endpoint. For self-hosted data or testing. |
How it works
Auto-detection
When feature is null (the default), the module assembles a set of URLs from the spec's configuration:
edDraftURI(e.g.,https://w3c.github.io/screen-wake-lock/)- URLs derived from
shortName(e.g.,https://www.w3.org/TR/screen-wake-lock/andhttps://w3c.github.io/screen-wake-lock/) thisVersion
These URLs are matched against the spec field in web-features data. If a match is found, the badge renders automatically.
Multi-feature specs
If a spec maps to multiple web-features entries, the badge aggregates them using worst-case semantics:
- If all features are "Widely available", the badge shows "Widely available".
- If any feature is only "Newly available", the badge shows "Newly available".
- If any feature has limited support, the badge shows "Limited availability".
Browser support icons show a checkmark only if the browser supports all matched features.
removeOnSave
When removeOnSave is true, the interactive badge (with browser icons) is replaced by a plain link before the spec is exported or saved. The link points to https://webstatus.dev/features/{featureId} for single-feature specs, or https://webstatus.dev/ for multi-feature specs.
Status levels
| Status | Label | Meaning |
|---|---|---|
"high" |
Widely available | Supported in all major browsers for an extended period |
"low" |
Newly available | Recently became available in all major browsers |
| (none) | Limited availability | Not yet available across all major browsers |
Notes
- The badge appears in the spec's front matter (the
<dl>in the document header), alongside editors, status, etc. - Browsers are grouped by engine: Chromium (Chrome + Edge), Gecko (Firefox), WebKit (Safari).
- If the feature is not found in web-features, the module emits a ReSpec warning and shows a fallback link to webstatus.dev.
- This option is independent of
caniuse, which sources data from caniuse.com. The two can coexist, butimplementationStatususes Baseline/web-features data, which groups features differently. - For specs published to
/TR/, consider settingremoveOnSave: trueso the exported HTML contains a static link rather than a live badge that depends on JavaScript.