@markuplint/html-spec 3.0.0-alpha.1 → 3.0.0-alpha.3
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/index.json +34 -9
- package/package.json +3 -3
- package/src/spec.td.json +3 -3
- package/src/spec.th.json +6 -6
package/index.json
CHANGED
|
@@ -25128,6 +25128,9 @@
|
|
|
25128
25128
|
"description": "The width of a border around the image. Use the border CSS property instead.",
|
|
25129
25129
|
"deprecated": true
|
|
25130
25130
|
},
|
|
25131
|
+
"crossorigin": {
|
|
25132
|
+
"description": "Indicates if the fetching of the image must be done using a CORS request. Image data from a CORS-enabled image returned from a CORS request can be reused in the <canvas> element without being marked \"tainted\". If the crossorigin attribute is not specified, then a non-CORS request is sent (without the Origin request header), and the browser marks the image as tainted and restricts access to its image data, preventing its usage in <canvas> elements. If the crossorigin attribute is specified, then a CORS request is sent (with the Origin request header); but if the server does not opt into allowing cross-origin access to the image data by the origin site (by not sending any Access-Control-Allow-Origin response header, or by not including the site's origin in any Access-Control-Allow-Origin response header it does send), then the browser blocks the image from loading, and logs a CORS error to the devtools console. Allowed values: anonymous A CORS request is sent with credentials omitted (that is, no cookies, X.509 certificates, or Authorization request header). use-credentials The CORS request is sent with any credentials included (that is, cookies, X.509 certificates, and the Authorization request header). If the server does not opt into sharing credentials with the origin site (by sending back the Access-Control-Allow-Credentials: true response header), then the browser marks the image as tainted and restricts access to its image data. If the attribute has an invalid value, browsers handle it as if the anonymous value was used. See CORS settings attributes for additional information."
|
|
25133
|
+
},
|
|
25131
25134
|
"decoding": {
|
|
25132
25135
|
"type": {
|
|
25133
25136
|
"enum": ["sync", "async", "auto"],
|
|
@@ -25135,6 +25138,13 @@
|
|
|
25135
25138
|
"missingValueDefault": "auto"
|
|
25136
25139
|
}
|
|
25137
25140
|
},
|
|
25141
|
+
"fetchpriority": {
|
|
25142
|
+
"description": "Provides a hint of the relative priority to use when fetching the image. Allowed values: high Signals a high-priority fetch relative to other images. low Signals a low-priority fetch relative to other images. auto Default: Signals automatic determination of fetch priority relative to other images.",
|
|
25143
|
+
"experimental": true
|
|
25144
|
+
},
|
|
25145
|
+
"height": {
|
|
25146
|
+
"description": "The intrinsic height of the image, in pixels. Must be an integer without a unit."
|
|
25147
|
+
},
|
|
25138
25148
|
"hspace": {
|
|
25139
25149
|
"description": "The number of pixels of white space on the left and right of the image. Use the margin CSS property instead.",
|
|
25140
25150
|
"deprecated": true
|
|
@@ -25143,6 +25153,9 @@
|
|
|
25143
25153
|
"type": "Boolean",
|
|
25144
25154
|
"condition": "a[href] img"
|
|
25145
25155
|
},
|
|
25156
|
+
"loading": {
|
|
25157
|
+
"description": "Indicates how the browser should load the image: eager: Loads the image immediately, regardless of whether or not the image is currently within the visible viewport (this is the default value). lazy: Defers loading the image until it reaches a calculated distance from the viewport, as defined by the browser. The intent is to avoid the network and storage bandwidth needed to handle the image until it's reasonably certain that it will be needed. This generally improves the performance of the content in most typical use cases. Note: Loading is only deferred when JavaScript is enabled. This is an anti-tracking measure, because if a user agent supported lazy loading when scripting is disabled, it would still be possible for a site to track a user's approximate scroll position throughout a session, by strategically placing images in a page's markup such that a server can track how many images are requested and when."
|
|
25158
|
+
},
|
|
25146
25159
|
"longdesc": {
|
|
25147
25160
|
"description": "A link to a more detailed description of the image. Possible values are a URL or an element id. Note: This attribute is mentioned in the latest W3C version, HTML 5.2, but has been removed from the WHATWG's HTML Living Standard. It has an uncertain future; authors should use a WAI-ARIA alternative such as aria-describedby or aria-details.",
|
|
25148
25161
|
"deprecated": true
|
|
@@ -25151,10 +25164,19 @@
|
|
|
25151
25164
|
"description": "A name for the element. Use the id attribute instead.",
|
|
25152
25165
|
"deprecated": true
|
|
25153
25166
|
},
|
|
25167
|
+
"referrerpolicy": {
|
|
25168
|
+
"description": "A string indicating which referrer to use when fetching the resource: no-referrer: The Referer header will not be sent. no-referrer-when-downgrade: The Referer header will not be sent to origins without TLS (HTTPS). origin: The sent referrer will be limited to the origin of the referring page: its scheme, host, and port. origin-when-cross-origin: The referrer sent to other origins will be limited to the scheme, the host, and the port. Navigations on the same origin will still include the path. same-origin: A referrer will be sent for same origin, but cross-origin requests will contain no referrer information. strict-origin: Only send the origin of the document as the referrer when the protocol security level stays the same (HTTPS→HTTPS), but don't send it to a less secure destination (HTTPS→HTTP). strict-origin-when-cross-origin (default): Send a full URL when performing a same-origin request, only send the origin when the protocol security level stays the same (HTTPS→HTTPS), and send no header to a less secure destination (HTTPS→HTTP). unsafe-url: The referrer will include the origin and the path (but not the fragment, password, or username). This value is unsafe, because it leaks origins and paths from TLS-protected resources to insecure origins."
|
|
25169
|
+
},
|
|
25170
|
+
"sizes": {
|
|
25171
|
+
"description": "One or more strings separated by commas, indicating a set of source sizes. Each source size consists of: A media condition. This must be omitted for the last item in the list. A source size value. Media Conditions describe properties of the viewport, not of the image. For example, (max-height: 500px) 1000px proposes to use a source of 1000px width, if the viewport is not higher than 500px. Source size values specify the intended display size of the image. User agents use the current source size to select one of the sources supplied by the srcset attribute, when those sources are described using width (w) descriptors. The selected source size affects the intrinsic size of the image (the image's display size if no CSS styling is applied). If the srcset attribute is absent, or contains no values with a width descriptor, then the sizes attribute has no effect."
|
|
25172
|
+
},
|
|
25154
25173
|
"src": {
|
|
25155
25174
|
"type": "URL",
|
|
25156
25175
|
"required": true
|
|
25157
25176
|
},
|
|
25177
|
+
"srcset": {
|
|
25178
|
+
"description": "One or more strings separated by commas, indicating possible image sources for the user agent to use. Each string is composed of: A URL to an image Optionally, whitespace followed by one of: A width descriptor (a positive integer directly followed by w). The width descriptor is divided by the source size given in the sizes attribute to calculate the effective pixel density. A pixel density descriptor (a positive floating point number directly followed by x). If no descriptor is specified, the source is assigned the default descriptor of 1x. It is incorrect to mix width descriptors and pixel density descriptors in the same srcset attribute. Duplicate descriptors (for instance, two sources in the same srcset which are both described with 2x) are also invalid. If the srcset attribute uses width descriptors, the sizes attribute must also be present, or the srcset itself will be ignored. The user agent selects any of the available sources at its discretion. This provides them with significant leeway to tailor their selection based on things like user preferences or bandwidth conditions. See our Responsive images tutorial for an example."
|
|
25179
|
+
},
|
|
25158
25180
|
"usemap": {
|
|
25159
25181
|
"type": "HashName",
|
|
25160
25182
|
"condition": ":is(:not(a):not(button)) img"
|
|
@@ -25162,6 +25184,9 @@
|
|
|
25162
25184
|
"vspace": {
|
|
25163
25185
|
"description": "The number of pixels of white space above and below the image. Use the margin CSS property instead.",
|
|
25164
25186
|
"deprecated": true
|
|
25187
|
+
},
|
|
25188
|
+
"width": {
|
|
25189
|
+
"description": "The intrinsic width of the image in pixels. Must be an integer without a unit."
|
|
25165
25190
|
}
|
|
25166
25191
|
}
|
|
25167
25192
|
},
|
|
@@ -28449,13 +28474,13 @@
|
|
|
28449
28474
|
"implicitRole": false,
|
|
28450
28475
|
"permittedRoles": true,
|
|
28451
28476
|
"conditions": {
|
|
28452
|
-
"table:is(:not([role]), [role=table]) > :is(thead, tfoot, tbody) > tr > td": {
|
|
28477
|
+
"table:is(:not([role]), [role=table]) > :is(thead, tfoot, tbody) > tr > td, table:is(:not([role]), [role=table]) > tr > td": {
|
|
28453
28478
|
"implicitRole": "cell"
|
|
28454
28479
|
},
|
|
28455
|
-
"table:is([role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > td": {
|
|
28480
|
+
"table:is([role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > td, table:is([role=grid], [role=treegrid]) > tr > td": {
|
|
28456
28481
|
"implicitRole": "gridcell"
|
|
28457
28482
|
},
|
|
28458
|
-
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > td": {
|
|
28483
|
+
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > td, table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > td": {
|
|
28459
28484
|
"permittedRoles": false
|
|
28460
28485
|
}
|
|
28461
28486
|
}
|
|
@@ -28703,25 +28728,25 @@
|
|
|
28703
28728
|
"implicitRole": false,
|
|
28704
28729
|
"permittedRoles": true,
|
|
28705
28730
|
"conditions": {
|
|
28706
|
-
"table:is(:not([role]), [role=table]) > :is(thead, tfoot, tbody) > tr > th": {
|
|
28731
|
+
"table:is(:not([role]), [role=table]) > :is(thead, tfoot, tbody) > tr > th, table:is(:not([role]), [role=table]) > tr > th": {
|
|
28707
28732
|
"implicitRole": "cell"
|
|
28708
28733
|
},
|
|
28709
|
-
"table:is([role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th": {
|
|
28734
|
+
"table:is([role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th, table:is([role=grid], [role=treegrid]) > tr > th": {
|
|
28710
28735
|
"implicitRole": "gridcell"
|
|
28711
28736
|
},
|
|
28712
28737
|
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > thead > tr > th:not([scope])": {
|
|
28713
28738
|
"implicitRole": "columnheader"
|
|
28714
28739
|
},
|
|
28715
|
-
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(tfoot, tbody) > tr > th:not([scope])": {
|
|
28740
|
+
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(tfoot, tbody) > tr > th:not([scope]), table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th:not([scope])": {
|
|
28716
28741
|
"implicitRole": "rowheader"
|
|
28717
28742
|
},
|
|
28718
|
-
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th[scope=col]": {
|
|
28743
|
+
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th[scope=col], table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th[scope=col]": {
|
|
28719
28744
|
"implicitRole": "columnheader"
|
|
28720
28745
|
},
|
|
28721
|
-
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th[scope=row]": {
|
|
28746
|
+
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th[scope=row], table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th[scope=row]": {
|
|
28722
28747
|
"implicitRole": "rowheader"
|
|
28723
28748
|
},
|
|
28724
|
-
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th": {
|
|
28749
|
+
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th, table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th": {
|
|
28725
28750
|
"permittedRoles": false
|
|
28726
28751
|
}
|
|
28727
28752
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@markuplint/html-spec",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.3",
|
|
4
4
|
"description": "A specification of HTML Living Standard for markuplint",
|
|
5
5
|
"repository": "git@github.com:markuplint/markuplint.git",
|
|
6
6
|
"author": "Yusuke Hirao <yusukehirao@me.com>",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"strip-json-comments": "3"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@markuplint/ml-spec": "3.0.0-alpha.
|
|
29
|
+
"@markuplint/ml-spec": "3.0.0-alpha.3"
|
|
30
30
|
},
|
|
31
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "884b1a6a7385e86cca7796b0b927a886ee90140e"
|
|
32
32
|
}
|
package/src/spec.td.json
CHANGED
|
@@ -22,13 +22,13 @@
|
|
|
22
22
|
"implicitRole": false,
|
|
23
23
|
"permittedRoles": true,
|
|
24
24
|
"conditions": {
|
|
25
|
-
"table:is(:not([role]), [role=table]) > :is(thead, tfoot, tbody) > tr > td": {
|
|
25
|
+
"table:is(:not([role]), [role=table]) > :is(thead, tfoot, tbody) > tr > td, table:is(:not([role]), [role=table]) > tr > td": {
|
|
26
26
|
"implicitRole": "cell"
|
|
27
27
|
},
|
|
28
|
-
"table:is([role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > td": {
|
|
28
|
+
"table:is([role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > td, table:is([role=grid], [role=treegrid]) > tr > td": {
|
|
29
29
|
"implicitRole": "gridcell"
|
|
30
30
|
},
|
|
31
|
-
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > td": {
|
|
31
|
+
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > td, table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > td": {
|
|
32
32
|
// No role if the ancestor table element has role=table, grid, or treegrid; otherwise any role.
|
|
33
33
|
"permittedRoles": false
|
|
34
34
|
}
|
package/src/spec.th.json
CHANGED
|
@@ -38,27 +38,27 @@
|
|
|
38
38
|
// role=columnheader, rowheader or cell if the ancestor table element is exposed as a role=table.
|
|
39
39
|
// role=columnheader, rowheader or gridcell if the ancestor table element is exposed as a role=grid or treegrid.
|
|
40
40
|
"conditions": {
|
|
41
|
-
"table:is(:not([role]), [role=table]) > :is(thead, tfoot, tbody) > tr > th": {
|
|
41
|
+
"table:is(:not([role]), [role=table]) > :is(thead, tfoot, tbody) > tr > th, table:is(:not([role]), [role=table]) > tr > th": {
|
|
42
42
|
"implicitRole": "cell"
|
|
43
43
|
},
|
|
44
|
-
"table:is([role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th": {
|
|
44
|
+
"table:is([role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th, table:is([role=grid], [role=treegrid]) > tr > th": {
|
|
45
45
|
"implicitRole": "gridcell"
|
|
46
46
|
},
|
|
47
47
|
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > thead > tr > th:not([scope])": {
|
|
48
48
|
"implicitRole": "columnheader"
|
|
49
49
|
},
|
|
50
|
-
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(tfoot, tbody) > tr > th:not([scope])": {
|
|
50
|
+
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(tfoot, tbody) > tr > th:not([scope]), table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th:not([scope])": {
|
|
51
51
|
"implicitRole": "rowheader"
|
|
52
52
|
},
|
|
53
53
|
// https://www.w3.org/TR/wai-aria-1.1/#columnheader Base Concept: HTML th[scope="col"]
|
|
54
|
-
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th[scope=col]": {
|
|
54
|
+
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th[scope=col], table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th[scope=col]": {
|
|
55
55
|
"implicitRole": "columnheader"
|
|
56
56
|
},
|
|
57
57
|
// https://www.w3.org/TR/wai-aria-1.1/#rowheader Base Concept: HTML th[scope="row"]
|
|
58
|
-
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th[scope=row]": {
|
|
58
|
+
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th[scope=row], table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th[scope=row]": {
|
|
59
59
|
"implicitRole": "rowheader"
|
|
60
60
|
},
|
|
61
|
-
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th": {
|
|
61
|
+
"table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th, table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th": {
|
|
62
62
|
"permittedRoles": false
|
|
63
63
|
}
|
|
64
64
|
}
|