web-specs 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -543
- package/package.json +16 -16
- package/index.json +0 -18085
package/README.md
CHANGED
|
@@ -1,544 +1,64 @@
|
|
|
1
|
-
# Web browser specifications
|
|
2
|
-
|
|
3
|
-
This repository contains a curated list of technical Web specifications.
|
|
4
|
-
|
|
5
|
-
This list is meant to be an up-to-date input source for projects that run
|
|
6
|
-
analyses on web technologies to create reports on test coverage,
|
|
7
|
-
cross-references, WebIDL, quality, etc.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## Table of Contents
|
|
11
|
-
|
|
12
|
-
- [Installation and usage](#installation-and-usage)
|
|
13
|
-
<!-- COMMON-TOC: start
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
const specs = require("web-specs");
|
|
65
|
-
console.log(JSON.stringify(specs, null, 2));
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Alternatively, you can fetch [`index.json`](https://w3c.github.io/browser-specs/index.json)
|
|
69
|
-
or retrieve the list from the [`web-specs@latest` branch](https://github.com/w3c/browser-specs/tree/web-specs%40latest).
|
|
70
|
-
|
|
71
|
-
<!-- COMMON-BODY: start -->
|
|
72
|
-
## Spec object
|
|
73
|
-
|
|
74
|
-
Each specification in the list comes with the following properties:
|
|
75
|
-
|
|
76
|
-
```json
|
|
77
|
-
{
|
|
78
|
-
"url": "https://www.w3.org/TR/css-color-4/",
|
|
79
|
-
"seriesComposition": "full",
|
|
80
|
-
"shortname": "css-color-4",
|
|
81
|
-
"series": {
|
|
82
|
-
"shortname": "css-color",
|
|
83
|
-
"currentSpecification": "css-color-4",
|
|
84
|
-
"title": "CSS Color",
|
|
85
|
-
"shortTitle": "CSS Color",
|
|
86
|
-
"releaseUrl": "https://www.w3.org/TR/css-color/",
|
|
87
|
-
"nightlyUrl": "https://drafts.csswg.org/css-color/"
|
|
88
|
-
},
|
|
89
|
-
"seriesVersion": "4",
|
|
90
|
-
"seriesNext": "css-color-5",
|
|
91
|
-
"organization": "W3C",
|
|
92
|
-
"groups": [
|
|
93
|
-
{
|
|
94
|
-
"name": "Cascading Style Sheets (CSS) Working Group",
|
|
95
|
-
"url": "https://www.w3.org/Style/CSS/"
|
|
96
|
-
}
|
|
97
|
-
],
|
|
98
|
-
"release": {
|
|
99
|
-
"url": "https://www.w3.org/TR/css-color-4/",
|
|
100
|
-
"filename": "Overview.html"
|
|
101
|
-
},
|
|
102
|
-
"nightly": {
|
|
103
|
-
"url": "https://drafts.csswg.org/css-color/",
|
|
104
|
-
"repository": "https://github.com/w3c/csswg-drafts",
|
|
105
|
-
"sourcePath": "css-color-4/Overview.bs",
|
|
106
|
-
"filename": "Overview.html"
|
|
107
|
-
},
|
|
108
|
-
"title": "CSS Color Module Level 4",
|
|
109
|
-
"source": "w3c",
|
|
110
|
-
"shortTitle": "CSS Color 4",
|
|
111
|
-
"categories": ["browser"],
|
|
112
|
-
"tests": {
|
|
113
|
-
"repository": "https://github.com/web-platform-tests/wpt",
|
|
114
|
-
"testPaths": [
|
|
115
|
-
"css/css-color"
|
|
116
|
-
]
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
### `url`
|
|
123
|
-
|
|
124
|
-
The versioned (but not dated) URL for the spec. For W3C specs published as
|
|
125
|
-
TR documents, this is the TR URL. For WHATWG specs, this is the URL of the
|
|
126
|
-
living standard. In other cases, this is the URL of the latest Editor's Draft.
|
|
127
|
-
|
|
128
|
-
The `url` property is always set.
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
### `shortname`
|
|
132
|
-
|
|
133
|
-
A shortname that uniquely identifies the spec in the list. The value matches the
|
|
134
|
-
"well-known" shortname of the spec, that usually appears in the versioned URL.
|
|
135
|
-
For instance, for W3C specs published as TR documents, this is the TR shortname.
|
|
136
|
-
For WHATWG specs, this is the shortname that appears at the beginning of the URL
|
|
137
|
-
(e.g. `compat` for `https://compat.spec.whatwg.org/`). For specs developed on
|
|
138
|
-
GitHub, this is usually the name of repository that holds the spec.
|
|
139
|
-
|
|
140
|
-
The `shortname` property is always set.
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
### `title`
|
|
144
|
-
|
|
145
|
-
The title of the spec. The title is either retrieved from the
|
|
146
|
-
[W3C API](https://w3c.github.io/w3c-api/) for W3C specs,
|
|
147
|
-
[Specref](https://www.specref.org/) or from the spec itself. The
|
|
148
|
-
[`source`](#source) property details the actual provenance.
|
|
149
|
-
|
|
150
|
-
The `title` property is always set.
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
### `shortTitle`
|
|
154
|
-
|
|
155
|
-
The short title of the spec. In most cases, the short title is generated from
|
|
156
|
-
`title` by dropping terms such as "Module", "Level", or "Standard". In some
|
|
157
|
-
cases, the short title is set manually.
|
|
158
|
-
|
|
159
|
-
The `shortTitle` property is always set. When there is no meaningful short
|
|
160
|
-
title, the property is set to the actual (possibly long) title of the spec.
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
### `categories`
|
|
164
|
-
|
|
165
|
-
An array that contains the list of categories that the spec belongs to. The only
|
|
166
|
-
possible value so far is `"browser"`, which means that the spec targets web
|
|
167
|
-
browsers.
|
|
168
|
-
|
|
169
|
-
The `categories` property is always set. Value may be an empty array for some of
|
|
170
|
-
the specs in the `web-specs` package. Value always contains `"browser"` for
|
|
171
|
-
specs in the `browser-specs` package.
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
### `series`
|
|
175
|
-
|
|
176
|
-
An object that describes the series that the spec is part of. A series includes
|
|
177
|
-
existing levels/versions of the spec. For instance, CSS Color Module Level 4
|
|
178
|
-
belongs to the same series as CSS Color Module Level 3 and CSS Color Module
|
|
179
|
-
Level 5.
|
|
180
|
-
|
|
181
|
-
Please note that the list only contains specs that are deemed to be
|
|
182
|
-
[of interest](#spec-selection-criteria). In particular, the list does not
|
|
183
|
-
contain levels and versions that have been fully superseded, and may not contain
|
|
184
|
-
early drafts of new levels and versions either.
|
|
185
|
-
|
|
186
|
-
The `series` property is always set.
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
#### `series.shortname`
|
|
190
|
-
|
|
191
|
-
A shortname that uniquely identifies the series. In most cases, the shortname
|
|
192
|
-
is the shortname of the spec without the level or version number. For instance,
|
|
193
|
-
the series' shortname for `css-color-5` is `css-color`. When a specification is
|
|
194
|
-
not versioned, the series' shortname is identical to the spec's shortname.
|
|
195
|
-
|
|
196
|
-
The `shortname` property is always set.
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
#### `series.currentSpecification`
|
|
200
|
-
|
|
201
|
-
The shortname of the spec that should be regarded as the current level or
|
|
202
|
-
version in the series. The current spec in a series is up to the group who
|
|
203
|
-
develops the series. In most cases, the current spec is the latest level or
|
|
204
|
-
version in the series that is a "full" spec (see
|
|
205
|
-
[`seriesComposition`](#seriescomposition)).
|
|
206
|
-
|
|
207
|
-
The `currentSpecification` property is always set.
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
#### `series.title`
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
The version-less version of the title of the spec which can be used to refer to
|
|
214
|
-
all specs in the series. The title is either retrieved from the
|
|
215
|
-
[W3C API](https://w3c.github.io/w3c-api/) for W3C specs, or derived from the
|
|
216
|
-
spec's [`title`](#title).
|
|
217
|
-
|
|
218
|
-
The `title` property is always set.
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
#### `series.shortTitle`
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
The short title of the series title. In most cases, the short title is generated
|
|
225
|
-
from [`series.title`](#seriestitle) by dropping terms such as "Module", "Level",
|
|
226
|
-
or "Standard". In some cases, the short title is set manually.
|
|
227
|
-
|
|
228
|
-
The `shortTitle` property is always set. When there is no meaningful short
|
|
229
|
-
title, the property is set to the actual (possibly long) series title.
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
#### `series.releaseUrl`
|
|
233
|
-
|
|
234
|
-
The URL of the latest published snapshot for the spec series. For leveled specs
|
|
235
|
-
(those that create a series), this matches the unversioned URL. That
|
|
236
|
-
unversioned URL should return the specification identified by the
|
|
237
|
-
[`currentSpecification`](#seriescurrentspecification) property.
|
|
238
|
-
|
|
239
|
-
For instance, this property will be set to `https://www.w3.org/TR/css-fonts/`
|
|
240
|
-
for all specifications in the CSS Fonts series.
|
|
241
|
-
|
|
242
|
-
For non-leveled specs, this matches the [`url`](#url) property.
|
|
243
|
-
|
|
244
|
-
The `releaseUrl` property is only set for W3C specs published as TR documents.
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
#### `series.nightlyUrl`
|
|
248
|
-
|
|
249
|
-
For leveled specs (those that create a series), this matches the unversioned URL
|
|
250
|
-
that allows to access the latest Editor's Draft of the current specification in
|
|
251
|
-
the series.
|
|
252
|
-
|
|
253
|
-
For instance, this property will be set to `https://drafts.csswg.org/css-fonts/`
|
|
254
|
-
for all specifications in the CSS Fonts series.
|
|
255
|
-
|
|
256
|
-
For specs that are not part of a series of specs, this matches the
|
|
257
|
-
[`nightly.url`](#nightlyurl) property.
|
|
258
|
-
|
|
259
|
-
The `nightlyUrl` property is always set.
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
### `seriesVersion`
|
|
263
|
-
|
|
264
|
-
The level or version of the spec, represented as an `x`, `x.y` or `x.y.z` string
|
|
265
|
-
with `x`, `y` and `z` numbers, and `x` always greater than or equal to `1`. For
|
|
266
|
-
instance, this property will have the value `1.2` (as a string, so enclosed
|
|
267
|
-
in `"`) for the WAI-ARIA 1.2 spec.
|
|
268
|
-
|
|
269
|
-
The `seriesVersion` property is only set for specs that have a level or version
|
|
270
|
-
number.
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
### `seriesComposition`
|
|
274
|
-
|
|
275
|
-
Whether the spec is a standalone spec, or whether it is a delta spec over the
|
|
276
|
-
previous level or version in the series. Possible values are `full` or `delta`.
|
|
277
|
-
|
|
278
|
-
The `seriesComposition` property is always set.
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
### `seriesPrevious`
|
|
282
|
-
|
|
283
|
-
The `shortname` of the previous spec in the series.
|
|
284
|
-
|
|
285
|
-
The `seriesPrevious` property is only set where there is a previous level or
|
|
286
|
-
version.
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
### `seriesNext`
|
|
290
|
-
|
|
291
|
-
The `shortname` of the next spec in the series.
|
|
292
|
-
|
|
293
|
-
The `seriesNext` property is only set where there is a next level or version.
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
### `organization`
|
|
297
|
-
|
|
298
|
-
The name of the standardization organization that owns the spec such as `W3C`,
|
|
299
|
-
`WHATWG`, `IETF`, `Ecma International`, `Khronos Group`.
|
|
300
|
-
|
|
301
|
-
The `organization` property is always set.
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
### `groups`
|
|
305
|
-
|
|
306
|
-
The list the groups that develop (or developed) the spec. Each item in the array
|
|
307
|
-
is an object with a `name` property that contains the human-readable name of the
|
|
308
|
-
group and a `url` property that targets the homepage of the group.
|
|
309
|
-
|
|
310
|
-
The `groups` property is always set. In most cases, a spec is developed by one
|
|
311
|
-
and only one group.
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
### `release`
|
|
315
|
-
|
|
316
|
-
An object that represents the latest published snapshot of the spec, when it
|
|
317
|
-
exists.
|
|
318
|
-
|
|
319
|
-
The `release` property is only set for W3C specs published as TR documents.
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
#### `release.url`
|
|
323
|
-
|
|
324
|
-
The URL of the latest published snapshot of the spec. Matches the versioned
|
|
325
|
-
URL (see [`url`](#url)).
|
|
326
|
-
|
|
327
|
-
The `url` property is always set.
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
#### `release.filename`
|
|
331
|
-
|
|
332
|
-
The filename of the resource that gets served when the default URL is fetched.
|
|
333
|
-
For instance, the filename for `https://www.w3.org/TR/presentation-api/` is
|
|
334
|
-
`Overview.html`, meaning that the specification could also be retrieved from
|
|
335
|
-
`https://www.w3.org/TR/presentation-api/Overview.html`. The filename may be
|
|
336
|
-
useful to distinguish links to self in a spec.
|
|
337
|
-
|
|
338
|
-
The `filename` property is always set.
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
#### `release.pages`
|
|
342
|
-
|
|
343
|
-
The list of absolute page URLs when the spec is a multipage spec.
|
|
344
|
-
|
|
345
|
-
The `pages` property is only set for specs identified as multipage specs.
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
### `nightly`
|
|
349
|
-
|
|
350
|
-
An object that represents the latest Editor's Draft of the spec, or the living
|
|
351
|
-
standard when the concept of Editor's Draft does not exist.
|
|
352
|
-
|
|
353
|
-
The `nightly` property is always set.
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
#### `nightly.url`
|
|
357
|
-
|
|
358
|
-
The URL of the latest Editor's Draft or of the living standard.
|
|
359
|
-
|
|
360
|
-
The URL is either retrieved from the [W3C API](https://w3c.github.io/w3c-api/)
|
|
361
|
-
for W3C specs, or [Specref](https://www.specref.org/). The document at the
|
|
362
|
-
versioned URL is considered to be the latest Editor's Draft if the spec does
|
|
363
|
-
neither exist in the W3C API nor in Specref. The [`source`](#source) property
|
|
364
|
-
details the actual provenance.
|
|
365
|
-
|
|
366
|
-
The `url` property is always set.
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
#### `nightly.filename`
|
|
370
|
-
|
|
371
|
-
The filename of the resource that gets served when the default URL is fetched.
|
|
372
|
-
For instance, the filename for `https://w3c.github.io/presentation-api/` is
|
|
373
|
-
`index.html`, meaning that the specification could also be retrieved from
|
|
374
|
-
`https://w3c.github.io/presentation-api/index.html`. The filename may be
|
|
375
|
-
useful to distinguish links to self in a spec.
|
|
376
|
-
|
|
377
|
-
The `filename` property is always set.
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
#### `nightly.pages`
|
|
381
|
-
|
|
382
|
-
The list of absolute page URLs when the spec is a multipage spec.
|
|
383
|
-
|
|
384
|
-
The `pages` property is only set for specs identified as multipage specs.
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
#### `nightly.repository`
|
|
388
|
-
|
|
389
|
-
The URL of the repository that contains the source of the Editor's Draft or of
|
|
390
|
-
the living standard.
|
|
391
|
-
|
|
392
|
-
The URL is either retrieved from the [Specref](https://www.specref.org/) or
|
|
393
|
-
computed from `nightly.url`.
|
|
394
|
-
|
|
395
|
-
The `repository` property is always set except for IETF specs where such a repo does not always exist.
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
#### `nightly.sourcePath`
|
|
399
|
-
|
|
400
|
-
The relative path to the filename that contains the source of the Editor's Draft
|
|
401
|
-
or of the living standard at the HEAD of the default branch of the repository.
|
|
402
|
-
|
|
403
|
-
That path is computed by parsing the contents of the repository for common
|
|
404
|
-
patterns. The info must be specified in `specs.json` for specifications that do
|
|
405
|
-
not follow a common pattern.
|
|
406
|
-
|
|
407
|
-
The `sourcePath` property is always set when `repository` is set.
|
|
408
|
-
|
|
409
|
-
**Note:** The path is relative to the root of the repository, and only valid in
|
|
410
|
-
the default branch of the repository. If needed, the source may be fetched from
|
|
411
|
-
the absolute HTTPS URL `${nightly.repository}/blob/HEAD/${nightly.sourcePath}`.
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
### `tests`
|
|
415
|
-
|
|
416
|
-
An object that links the specification with its test suite when it has one.
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
#### `tests.repository`
|
|
420
|
-
|
|
421
|
-
The URL of the repository that contains the test suite of the specification,
|
|
422
|
-
typically `https://github.com/web-platform-tests/wpt`.
|
|
423
|
-
|
|
424
|
-
The `repository` property is always set when the `tests` object is present.
|
|
425
|
-
|
|
426
|
-
#### `tests.testPaths`
|
|
427
|
-
|
|
428
|
-
The list of relative paths to the actual tests at the HEAD of the default branch
|
|
429
|
-
of the test repository.
|
|
430
|
-
|
|
431
|
-
For test suites within [Web Platform
|
|
432
|
-
Tests](https://github.com/web-platform-tests/wpt), the list is determined by
|
|
433
|
-
looking at `META.yml` files within each folder.
|
|
434
|
-
|
|
435
|
-
The `testPaths` array typically only contains one entry, but tests of a given
|
|
436
|
-
spec are sometimes spread over multiple folders. For instance, that is the case
|
|
437
|
-
for DOM and HTML tests.
|
|
438
|
-
|
|
439
|
-
The `testPaths` property is usually set when the `tests` object is present. When
|
|
440
|
-
absent, that means that the entire repository is the test suite.
|
|
441
|
-
|
|
442
|
-
#### `tests.excludePaths`
|
|
443
|
-
|
|
444
|
-
The list of relative sub-paths of paths listed in the `testPaths` property that
|
|
445
|
-
do not contain tests for the underlying spec. For instance, tests for the
|
|
446
|
-
WebXR Device API are under the
|
|
447
|
-
[`webxr`](https://github.com/web-platform-tests/wpt/tree/master/webxr) folder,
|
|
448
|
-
but several folders under `webxr` actually contain test suites for WebXR module
|
|
449
|
-
specs and as such need to be excluded from the test suite of the WebXR Device
|
|
450
|
-
API spec.
|
|
451
|
-
|
|
452
|
-
The `excludePaths` property is seldom set.
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
### `source`
|
|
456
|
-
|
|
457
|
-
The provenance for the `title` and `nightly` property values. Can be one of:
|
|
458
|
-
- `w3c`: information retrieved from the [W3C API](https://w3c.github.io/w3c-api/)
|
|
459
|
-
- `specref`: information retrieved from [Specref](https://www.specref.org/)
|
|
460
|
-
- `spec`: information retrieved from the spec itself
|
|
461
|
-
|
|
462
|
-
The `source` property is always set.
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
## How to add/update/delete a spec
|
|
466
|
-
|
|
467
|
-
If you believe that a spec should be added, modified, or removed from the list,
|
|
468
|
-
or if you would like to otherwise contribute to this project, please check
|
|
469
|
-
[contributing instructions](CONTRIBUTING.md).
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
## Spec selection criteria
|
|
473
|
-
|
|
474
|
-
This repository contains a curated list of technical Web specifications that are
|
|
475
|
-
deemed relevant for the Web platform. Roughly speaking, this list should match
|
|
476
|
-
the list of web specs actively developed by W3C, the WHATWG and a few other
|
|
477
|
-
organizations.
|
|
478
|
-
|
|
479
|
-
To try to make things more concrete, the following criteria are used to assess
|
|
480
|
-
whether a spec should a priori appear in the list:
|
|
481
|
-
|
|
482
|
-
1. The spec is stable or in development. Superseded and abandoned specs will not
|
|
483
|
-
appear in the list. For instance, the list contains the HTML LS spec, but not
|
|
484
|
-
HTML 4.01 or HTML 5).
|
|
485
|
-
2. The spec is being developed by a well-known standardization or
|
|
486
|
-
pre-standardization group. Today, this means a W3C Working Group or Community
|
|
487
|
-
Group, the WHATWG, the IETF, the TC39 group or the Khronos Group.
|
|
488
|
-
4. The spec sits at the application layer or is "close to it". For instance,
|
|
489
|
-
most IETF specs are likely out of scope, but some that are exposed to Web developers are in scope.
|
|
490
|
-
5. The spec defines normative content (terms, CSS, IDL), or it contains
|
|
491
|
-
informative content that other specs often need to refer to (e.g. guidelines
|
|
492
|
-
from horizontal activities such as accessibility, internationalization, privacy
|
|
493
|
-
and security).
|
|
494
|
-
|
|
495
|
-
There are and there will be exceptions to the rule. Besides, some of these
|
|
496
|
-
criteria remain fuzzy and/or arbitrary, and we expect them to evolve over time,
|
|
497
|
-
typically driven by needs expressed by projects that may want to use the list.
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
## Versioning
|
|
501
|
-
|
|
502
|
-
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
|
|
503
|
-
with the following increment rules given a `major.minor.patch` version:
|
|
504
|
-
- `major`: A property disappeared, its meaning has changed, or some other
|
|
505
|
-
incompatible API change was made. When the `major` number gets incremented, code
|
|
506
|
-
that parses the list likely needs to be updated.
|
|
507
|
-
- `minor`: A new property was added, the list of specs changed (a new spec
|
|
508
|
-
added, or a spec was removed). Code that parses the list should continue to work
|
|
509
|
-
undisturbed, but please note that there is no guarantee that a spec that was
|
|
510
|
-
present in the previous version will continue to appear in the new version.
|
|
511
|
-
Situations where a spec gets dropped should remain scarce. If you believe that
|
|
512
|
-
removal of a spec should rather trigger a `major` update, please
|
|
513
|
-
[raise an issue](https://github.com/w3c/browser-specs/issues/new) and explain
|
|
514
|
-
how it affects your project.
|
|
515
|
-
- `patch`: Info about one or more specs changed. Minor updates were made to the
|
|
516
|
-
code that don't affect the list.
|
|
517
|
-
<!-- COMMON-BODY: end -->
|
|
518
|
-
|
|
519
|
-
## Spec selection criteria
|
|
520
|
-
|
|
521
|
-
This repository contains a curated list of technical Web specifications that are
|
|
522
|
-
deemed relevant for the Web platform. Roughly speaking, this list should match
|
|
523
|
-
the list of web specs actively developed by W3C, the WHATWG and a few other
|
|
524
|
-
organizations.
|
|
525
|
-
|
|
526
|
-
To try to make things more concrete, the following criteria are used to assess
|
|
527
|
-
whether a spec should a priori appear in the list:
|
|
528
|
-
|
|
529
|
-
1. The spec is stable or in development. Superseded and abandoned specs will not
|
|
530
|
-
appear in the list. For instance, the list contains the HTML LS spec, but not
|
|
531
|
-
HTML 4.01 or HTML 5).
|
|
532
|
-
2. The spec is being developed by a well-known standardization or
|
|
533
|
-
pre-standardization group. Today, this means a W3C Working Group or Community
|
|
534
|
-
Group, the WHATWG, the IETF, the TC39 group or the Khronos Group.
|
|
535
|
-
4. The spec sits at the application layer or is "close to it". For instance,
|
|
536
|
-
most IETF specs are likely out of scope, but some that are exposed to Web developers are in scope.
|
|
537
|
-
5. The spec defines normative content (terms, CSS, IDL), or it contains
|
|
538
|
-
informative content that other specs often need to refer to (e.g. guidelines
|
|
539
|
-
from horizontal activities such as accessibility, internationalization, privacy
|
|
540
|
-
and security).
|
|
541
|
-
|
|
542
|
-
There are and there will be exceptions to the rule. Besides, some of these
|
|
543
|
-
criteria remain fuzzy and/or arbitrary, and we expect them to evolve over time,
|
|
1
|
+
# Web browser specifications
|
|
2
|
+
|
|
3
|
+
This repository contains a curated list of technical Web specifications.
|
|
4
|
+
|
|
5
|
+
This list is meant to be an up-to-date input source for projects that run
|
|
6
|
+
analyses on web technologies to create reports on test coverage,
|
|
7
|
+
cross-references, WebIDL, quality, etc.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Table of Contents
|
|
11
|
+
|
|
12
|
+
- [Installation and usage](#installation-and-usage)
|
|
13
|
+
<!-- COMMON-TOC: start --><!-- COMMON-TOC: end -->
|
|
14
|
+
- [Spec selection criteria](#spec-selection-criteria)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Installation and usage
|
|
18
|
+
|
|
19
|
+
The list is distributed as an NPM package. To incorporate it to your project,
|
|
20
|
+
run:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install web-specs
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
You can then retrieve the list from your Node.js program:
|
|
27
|
+
|
|
28
|
+
```js
|
|
29
|
+
const specs = require("web-specs");
|
|
30
|
+
console.log(JSON.stringify(specs, null, 2));
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Alternatively, you can fetch [`index.json`](https://w3c.github.io/browser-specs/index.json)
|
|
34
|
+
or retrieve the list from the [`web-specs@latest` branch](https://github.com/w3c/browser-specs/tree/web-specs%40latest).
|
|
35
|
+
|
|
36
|
+
<!-- COMMON-BODY: start -->
|
|
37
|
+
<!-- COMMON-BODY: end -->
|
|
38
|
+
|
|
39
|
+
## Spec selection criteria
|
|
40
|
+
|
|
41
|
+
This repository contains a curated list of technical Web specifications that are
|
|
42
|
+
deemed relevant for the Web platform. Roughly speaking, this list should match
|
|
43
|
+
the list of web specs actively developed by W3C, the WHATWG and a few other
|
|
44
|
+
organizations.
|
|
45
|
+
|
|
46
|
+
To try to make things more concrete, the following criteria are used to assess
|
|
47
|
+
whether a spec should a priori appear in the list:
|
|
48
|
+
|
|
49
|
+
1. The spec is stable or in development. Superseded and abandoned specs will not
|
|
50
|
+
appear in the list. For instance, the list contains the HTML LS spec, but not
|
|
51
|
+
HTML 4.01 or HTML 5).
|
|
52
|
+
2. The spec is being developed by a well-known standardization or
|
|
53
|
+
pre-standardization group. Today, this means a W3C Working Group or Community
|
|
54
|
+
Group, the WHATWG, the IETF, the TC39 group or the Khronos Group.
|
|
55
|
+
4. The spec sits at the application layer or is "close to it". For instance,
|
|
56
|
+
most IETF specs are likely out of scope, but some that are exposed to Web developers are in scope.
|
|
57
|
+
5. The spec defines normative content (terms, CSS, IDL), or it contains
|
|
58
|
+
informative content that other specs often need to refer to (e.g. guidelines
|
|
59
|
+
from horizontal activities such as accessibility, internationalization, privacy
|
|
60
|
+
and security).
|
|
61
|
+
|
|
62
|
+
There are and there will be exceptions to the rule. Besides, some of these
|
|
63
|
+
criteria remain fuzzy and/or arbitrary, and we expect them to evolve over time,
|
|
544
64
|
typically driven by needs expressed by projects that may want to use the list.
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "web-specs",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Curated list of technical Web specifications",
|
|
5
|
-
"repository": {
|
|
6
|
-
"type": "git",
|
|
7
|
-
"url": "https://github.com/w3c/browser-specs.git"
|
|
8
|
-
},
|
|
9
|
-
"bugs": {
|
|
10
|
-
"url": "https://github.com/w3c/browser-specs/issues"
|
|
11
|
-
},
|
|
12
|
-
"license": "CC0-1.0",
|
|
13
|
-
"files": [
|
|
14
|
-
"index.json"
|
|
15
|
-
],
|
|
16
|
-
"main": "index.json"
|
|
1
|
+
{
|
|
2
|
+
"name": "web-specs",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Curated list of technical Web specifications",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/w3c/browser-specs.git"
|
|
8
|
+
},
|
|
9
|
+
"bugs": {
|
|
10
|
+
"url": "https://github.com/w3c/browser-specs/issues"
|
|
11
|
+
},
|
|
12
|
+
"license": "CC0-1.0",
|
|
13
|
+
"files": [
|
|
14
|
+
"index.json"
|
|
15
|
+
],
|
|
16
|
+
"main": "index.json"
|
|
17
17
|
}
|