@markuplint/html-spec 3.14.0 → 4.0.0-alpha.10
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/LICENSE +1 -1
- package/index.d.ts +1 -1
- package/index.json +97 -461
- package/package.json +5 -5
- package/test/structure.spec.mjs +98 -0
package/LICENSE
CHANGED
package/index.d.ts
CHANGED
package/index.json
CHANGED
|
@@ -2088,363 +2088,6 @@
|
|
|
2088
2088
|
],
|
|
2089
2089
|
"prohibitedProperties": []
|
|
2090
2090
|
},
|
|
2091
|
-
{
|
|
2092
|
-
"name": "associationlist",
|
|
2093
|
-
"description": "A section containing associationlistitemkey and associationlistitemvalue elements.\n\nAssociation lists contain children whose role is associationlistitemkey and associationlistitemvalue to represent a list of key items each having one or more values.\n\nAuthor requirements for elements whose role is associationlist:",
|
|
2094
|
-
"generalization": ["section"],
|
|
2095
|
-
"requiredContextRole": [],
|
|
2096
|
-
"requiredOwnedElements": ["associationlistitemkey", "associationlistitemvalue"],
|
|
2097
|
-
"accessibleNameRequired": false,
|
|
2098
|
-
"accessibleNameFromAuthor": true,
|
|
2099
|
-
"accessibleNameFromContent": false,
|
|
2100
|
-
"accessibleNameProhibited": false,
|
|
2101
|
-
"ownedProperties": [
|
|
2102
|
-
{
|
|
2103
|
-
"name": "aria-atomic",
|
|
2104
|
-
"inherited": true
|
|
2105
|
-
},
|
|
2106
|
-
{
|
|
2107
|
-
"name": "aria-braillelabel",
|
|
2108
|
-
"inherited": true
|
|
2109
|
-
},
|
|
2110
|
-
{
|
|
2111
|
-
"name": "aria-brailleroledescription",
|
|
2112
|
-
"inherited": true
|
|
2113
|
-
},
|
|
2114
|
-
{
|
|
2115
|
-
"name": "aria-busy",
|
|
2116
|
-
"inherited": true
|
|
2117
|
-
},
|
|
2118
|
-
{
|
|
2119
|
-
"name": "aria-controls",
|
|
2120
|
-
"inherited": true
|
|
2121
|
-
},
|
|
2122
|
-
{
|
|
2123
|
-
"name": "aria-current",
|
|
2124
|
-
"inherited": true
|
|
2125
|
-
},
|
|
2126
|
-
{
|
|
2127
|
-
"name": "aria-describedby",
|
|
2128
|
-
"inherited": true
|
|
2129
|
-
},
|
|
2130
|
-
{
|
|
2131
|
-
"name": "aria-description",
|
|
2132
|
-
"inherited": true
|
|
2133
|
-
},
|
|
2134
|
-
{
|
|
2135
|
-
"name": "aria-details",
|
|
2136
|
-
"inherited": true
|
|
2137
|
-
},
|
|
2138
|
-
{
|
|
2139
|
-
"name": "aria-disabled",
|
|
2140
|
-
"deprecated": true,
|
|
2141
|
-
"inherited": true
|
|
2142
|
-
},
|
|
2143
|
-
{
|
|
2144
|
-
"name": "aria-dropeffect",
|
|
2145
|
-
"inherited": true
|
|
2146
|
-
},
|
|
2147
|
-
{
|
|
2148
|
-
"name": "aria-errormessage",
|
|
2149
|
-
"deprecated": true,
|
|
2150
|
-
"inherited": true
|
|
2151
|
-
},
|
|
2152
|
-
{
|
|
2153
|
-
"name": "aria-flowto",
|
|
2154
|
-
"inherited": true
|
|
2155
|
-
},
|
|
2156
|
-
{
|
|
2157
|
-
"name": "aria-grabbed",
|
|
2158
|
-
"inherited": true
|
|
2159
|
-
},
|
|
2160
|
-
{
|
|
2161
|
-
"name": "aria-haspopup",
|
|
2162
|
-
"deprecated": true,
|
|
2163
|
-
"inherited": true
|
|
2164
|
-
},
|
|
2165
|
-
{
|
|
2166
|
-
"name": "aria-hidden",
|
|
2167
|
-
"inherited": true
|
|
2168
|
-
},
|
|
2169
|
-
{
|
|
2170
|
-
"name": "aria-invalid",
|
|
2171
|
-
"deprecated": true,
|
|
2172
|
-
"inherited": true
|
|
2173
|
-
},
|
|
2174
|
-
{
|
|
2175
|
-
"name": "aria-keyshortcuts",
|
|
2176
|
-
"inherited": true
|
|
2177
|
-
},
|
|
2178
|
-
{
|
|
2179
|
-
"name": "aria-label",
|
|
2180
|
-
"inherited": true
|
|
2181
|
-
},
|
|
2182
|
-
{
|
|
2183
|
-
"name": "aria-labelledby",
|
|
2184
|
-
"inherited": true
|
|
2185
|
-
},
|
|
2186
|
-
{
|
|
2187
|
-
"name": "aria-live",
|
|
2188
|
-
"inherited": true
|
|
2189
|
-
},
|
|
2190
|
-
{
|
|
2191
|
-
"name": "aria-owns",
|
|
2192
|
-
"inherited": true
|
|
2193
|
-
},
|
|
2194
|
-
{
|
|
2195
|
-
"name": "aria-relevant",
|
|
2196
|
-
"inherited": true
|
|
2197
|
-
},
|
|
2198
|
-
{
|
|
2199
|
-
"name": "aria-roledescription",
|
|
2200
|
-
"inherited": true
|
|
2201
|
-
}
|
|
2202
|
-
],
|
|
2203
|
-
"prohibitedProperties": []
|
|
2204
|
-
},
|
|
2205
|
-
{
|
|
2206
|
-
"name": "associationlistitemkey",
|
|
2207
|
-
"description": "A single key item in an association list.\n\nAuthor requirements for elements whose role is associationlistitemkey:",
|
|
2208
|
-
"generalization": ["section"],
|
|
2209
|
-
"requiredContextRole": ["associationlist"],
|
|
2210
|
-
"requiredOwnedElements": [],
|
|
2211
|
-
"accessibleNameRequired": false,
|
|
2212
|
-
"accessibleNameFromAuthor": true,
|
|
2213
|
-
"accessibleNameFromContent": false,
|
|
2214
|
-
"accessibleNameProhibited": false,
|
|
2215
|
-
"ownedProperties": [
|
|
2216
|
-
{
|
|
2217
|
-
"name": "aria-atomic",
|
|
2218
|
-
"inherited": true
|
|
2219
|
-
},
|
|
2220
|
-
{
|
|
2221
|
-
"name": "aria-braillelabel",
|
|
2222
|
-
"inherited": true
|
|
2223
|
-
},
|
|
2224
|
-
{
|
|
2225
|
-
"name": "aria-brailleroledescription",
|
|
2226
|
-
"inherited": true
|
|
2227
|
-
},
|
|
2228
|
-
{
|
|
2229
|
-
"name": "aria-busy",
|
|
2230
|
-
"inherited": true
|
|
2231
|
-
},
|
|
2232
|
-
{
|
|
2233
|
-
"name": "aria-controls",
|
|
2234
|
-
"inherited": true
|
|
2235
|
-
},
|
|
2236
|
-
{
|
|
2237
|
-
"name": "aria-current",
|
|
2238
|
-
"inherited": true
|
|
2239
|
-
},
|
|
2240
|
-
{
|
|
2241
|
-
"name": "aria-describedby",
|
|
2242
|
-
"inherited": true
|
|
2243
|
-
},
|
|
2244
|
-
{
|
|
2245
|
-
"name": "aria-description",
|
|
2246
|
-
"inherited": true
|
|
2247
|
-
},
|
|
2248
|
-
{
|
|
2249
|
-
"name": "aria-details",
|
|
2250
|
-
"inherited": true
|
|
2251
|
-
},
|
|
2252
|
-
{
|
|
2253
|
-
"name": "aria-disabled",
|
|
2254
|
-
"deprecated": true,
|
|
2255
|
-
"inherited": true
|
|
2256
|
-
},
|
|
2257
|
-
{
|
|
2258
|
-
"name": "aria-dropeffect",
|
|
2259
|
-
"inherited": true
|
|
2260
|
-
},
|
|
2261
|
-
{
|
|
2262
|
-
"name": "aria-errormessage",
|
|
2263
|
-
"deprecated": true,
|
|
2264
|
-
"inherited": true
|
|
2265
|
-
},
|
|
2266
|
-
{
|
|
2267
|
-
"name": "aria-flowto",
|
|
2268
|
-
"inherited": true
|
|
2269
|
-
},
|
|
2270
|
-
{
|
|
2271
|
-
"name": "aria-grabbed",
|
|
2272
|
-
"inherited": true
|
|
2273
|
-
},
|
|
2274
|
-
{
|
|
2275
|
-
"name": "aria-haspopup",
|
|
2276
|
-
"deprecated": true,
|
|
2277
|
-
"inherited": true
|
|
2278
|
-
},
|
|
2279
|
-
{
|
|
2280
|
-
"name": "aria-hidden",
|
|
2281
|
-
"inherited": true
|
|
2282
|
-
},
|
|
2283
|
-
{
|
|
2284
|
-
"name": "aria-invalid",
|
|
2285
|
-
"deprecated": true,
|
|
2286
|
-
"inherited": true
|
|
2287
|
-
},
|
|
2288
|
-
{
|
|
2289
|
-
"name": "aria-keyshortcuts",
|
|
2290
|
-
"inherited": true
|
|
2291
|
-
},
|
|
2292
|
-
{
|
|
2293
|
-
"name": "aria-label",
|
|
2294
|
-
"inherited": true
|
|
2295
|
-
},
|
|
2296
|
-
{
|
|
2297
|
-
"name": "aria-labelledby",
|
|
2298
|
-
"inherited": true
|
|
2299
|
-
},
|
|
2300
|
-
{
|
|
2301
|
-
"name": "aria-level"
|
|
2302
|
-
},
|
|
2303
|
-
{
|
|
2304
|
-
"name": "aria-live",
|
|
2305
|
-
"inherited": true
|
|
2306
|
-
},
|
|
2307
|
-
{
|
|
2308
|
-
"name": "aria-owns",
|
|
2309
|
-
"inherited": true
|
|
2310
|
-
},
|
|
2311
|
-
{
|
|
2312
|
-
"name": "aria-posinset"
|
|
2313
|
-
},
|
|
2314
|
-
{
|
|
2315
|
-
"name": "aria-relevant",
|
|
2316
|
-
"inherited": true
|
|
2317
|
-
},
|
|
2318
|
-
{
|
|
2319
|
-
"name": "aria-roledescription",
|
|
2320
|
-
"inherited": true
|
|
2321
|
-
},
|
|
2322
|
-
{
|
|
2323
|
-
"name": "aria-setsize"
|
|
2324
|
-
}
|
|
2325
|
-
],
|
|
2326
|
-
"prohibitedProperties": []
|
|
2327
|
-
},
|
|
2328
|
-
{
|
|
2329
|
-
"name": "associationlistitemvalue",
|
|
2330
|
-
"description": "A single value item in an association list.\n\nAuthor requirements for elements whose role is associationlistitemvalue:",
|
|
2331
|
-
"generalization": ["section"],
|
|
2332
|
-
"requiredContextRole": ["associationlist"],
|
|
2333
|
-
"requiredOwnedElements": [],
|
|
2334
|
-
"accessibleNameRequired": false,
|
|
2335
|
-
"accessibleNameFromAuthor": true,
|
|
2336
|
-
"accessibleNameFromContent": false,
|
|
2337
|
-
"accessibleNameProhibited": false,
|
|
2338
|
-
"ownedProperties": [
|
|
2339
|
-
{
|
|
2340
|
-
"name": "aria-atomic",
|
|
2341
|
-
"inherited": true
|
|
2342
|
-
},
|
|
2343
|
-
{
|
|
2344
|
-
"name": "aria-braillelabel",
|
|
2345
|
-
"inherited": true
|
|
2346
|
-
},
|
|
2347
|
-
{
|
|
2348
|
-
"name": "aria-brailleroledescription",
|
|
2349
|
-
"inherited": true
|
|
2350
|
-
},
|
|
2351
|
-
{
|
|
2352
|
-
"name": "aria-busy",
|
|
2353
|
-
"inherited": true
|
|
2354
|
-
},
|
|
2355
|
-
{
|
|
2356
|
-
"name": "aria-controls",
|
|
2357
|
-
"inherited": true
|
|
2358
|
-
},
|
|
2359
|
-
{
|
|
2360
|
-
"name": "aria-current",
|
|
2361
|
-
"inherited": true
|
|
2362
|
-
},
|
|
2363
|
-
{
|
|
2364
|
-
"name": "aria-describedby",
|
|
2365
|
-
"inherited": true
|
|
2366
|
-
},
|
|
2367
|
-
{
|
|
2368
|
-
"name": "aria-description",
|
|
2369
|
-
"inherited": true
|
|
2370
|
-
},
|
|
2371
|
-
{
|
|
2372
|
-
"name": "aria-details",
|
|
2373
|
-
"inherited": true
|
|
2374
|
-
},
|
|
2375
|
-
{
|
|
2376
|
-
"name": "aria-disabled",
|
|
2377
|
-
"deprecated": true,
|
|
2378
|
-
"inherited": true
|
|
2379
|
-
},
|
|
2380
|
-
{
|
|
2381
|
-
"name": "aria-dropeffect",
|
|
2382
|
-
"inherited": true
|
|
2383
|
-
},
|
|
2384
|
-
{
|
|
2385
|
-
"name": "aria-errormessage",
|
|
2386
|
-
"deprecated": true,
|
|
2387
|
-
"inherited": true
|
|
2388
|
-
},
|
|
2389
|
-
{
|
|
2390
|
-
"name": "aria-flowto",
|
|
2391
|
-
"inherited": true
|
|
2392
|
-
},
|
|
2393
|
-
{
|
|
2394
|
-
"name": "aria-grabbed",
|
|
2395
|
-
"inherited": true
|
|
2396
|
-
},
|
|
2397
|
-
{
|
|
2398
|
-
"name": "aria-haspopup",
|
|
2399
|
-
"deprecated": true,
|
|
2400
|
-
"inherited": true
|
|
2401
|
-
},
|
|
2402
|
-
{
|
|
2403
|
-
"name": "aria-hidden",
|
|
2404
|
-
"inherited": true
|
|
2405
|
-
},
|
|
2406
|
-
{
|
|
2407
|
-
"name": "aria-invalid",
|
|
2408
|
-
"deprecated": true,
|
|
2409
|
-
"inherited": true
|
|
2410
|
-
},
|
|
2411
|
-
{
|
|
2412
|
-
"name": "aria-keyshortcuts",
|
|
2413
|
-
"inherited": true
|
|
2414
|
-
},
|
|
2415
|
-
{
|
|
2416
|
-
"name": "aria-label",
|
|
2417
|
-
"inherited": true
|
|
2418
|
-
},
|
|
2419
|
-
{
|
|
2420
|
-
"name": "aria-labelledby",
|
|
2421
|
-
"inherited": true
|
|
2422
|
-
},
|
|
2423
|
-
{
|
|
2424
|
-
"name": "aria-live",
|
|
2425
|
-
"inherited": true
|
|
2426
|
-
},
|
|
2427
|
-
{
|
|
2428
|
-
"name": "aria-owns",
|
|
2429
|
-
"inherited": true
|
|
2430
|
-
},
|
|
2431
|
-
{
|
|
2432
|
-
"name": "aria-posinset"
|
|
2433
|
-
},
|
|
2434
|
-
{
|
|
2435
|
-
"name": "aria-relevant",
|
|
2436
|
-
"inherited": true
|
|
2437
|
-
},
|
|
2438
|
-
{
|
|
2439
|
-
"name": "aria-roledescription",
|
|
2440
|
-
"inherited": true
|
|
2441
|
-
},
|
|
2442
|
-
{
|
|
2443
|
-
"name": "aria-setsize"
|
|
2444
|
-
}
|
|
2445
|
-
],
|
|
2446
|
-
"prohibitedProperties": []
|
|
2447
|
-
},
|
|
2448
2091
|
{
|
|
2449
2092
|
"name": "banner",
|
|
2450
2093
|
"description": "A landmark that contains mostly site-oriented content, rather than page-specific content.\n\nSite-oriented content typically includes things such as the logo or identity of the site sponsor, and a site-specific search tool. A banner usually appears at the top of the page and typically spans the full width.\n\nAssistive technologies SHOULD enable users to quickly navigate to elements with role banner. user agents SHOULD treat elements with role banner as navigational landmarks. user agents MAY enable users to quickly navigate to elements with role banner.\n\nThe author SHOULD mark no more than one element on a page with the banner role.\n\nBecause document and application elements can be nested in the DOM, they can have multiple banner elements as DOM descendants, assuming each of those is associated with different document nodes, either by a DOM nesting (e.g., document within document) or by use of the aria-owns attribute.",
|
|
@@ -35609,16 +35252,13 @@
|
|
|
35609
35252
|
"description": "If this attribute is present, the browser will offer controls to allow the user to control audio playback, including volume, seeking, and pause/resume playback."
|
|
35610
35253
|
},
|
|
35611
35254
|
"controlslist": {
|
|
35612
|
-
"description": "The controlslist attribute, when specified, helps the browser select what controls to show for the audio element whenever the browser shows its own set of controls (that is, when the controls attribute is specified). The allowed values are nodownload, nofullscreen and noremoteplayback."
|
|
35613
|
-
"experimental": true,
|
|
35614
|
-
"nonStandard": true
|
|
35255
|
+
"description": "The controlslist attribute, when specified, helps the browser select what controls to show for the audio element whenever the browser shows its own set of controls (that is, when the controls attribute is specified). The allowed values are nodownload, nofullscreen and noremoteplayback."
|
|
35615
35256
|
},
|
|
35616
35257
|
"crossorigin": {
|
|
35617
35258
|
"description": "This enumerated attribute indicates whether to use CORS to fetch the related audio file. CORS-enabled resources can be reused in the <canvas> element without being tainted. The allowed values are: anonymous Sends a cross-origin request without a credential. In other words, it sends the Origin: HTTP header without a cookie, X.509 certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (by not setting the Access-Control-Allow-Origin: HTTP header), the resource will be tainted, and its usage restricted. use-credentials Sends a cross-origin request with a credential. In other words, it sends the Origin: HTTP header with a cookie, a certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (through Access-Control-Allow-Credentials: HTTP header), the resource will be tainted and its usage restricted. When not present, the resource is fetched without a CORS request (i.e. without sending the Origin: HTTP header), preventing its non-tainted use in <canvas> elements. If invalid, it is handled as if the enumerated keyword anonymous was used. See CORS settings attributes for additional information."
|
|
35618
35259
|
},
|
|
35619
35260
|
"disableremoteplayback": {
|
|
35620
|
-
"description": "A Boolean attribute used to disable the capability of remote playback in devices that are attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, DLNA, AirPlay, etc.). See this proposed specification for more information.
|
|
35621
|
-
"experimental": true
|
|
35261
|
+
"description": "A Boolean attribute used to disable the capability of remote playback in devices that are attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, DLNA, AirPlay, etc.). See this proposed specification for more information. In Safari, you can use x-webkit-airplay=\"deny\" as a fallback."
|
|
35622
35262
|
},
|
|
35623
35263
|
"loop": {
|
|
35624
35264
|
"description": "A Boolean attribute: if specified, the audio player will automatically seek back to the start upon reaching the end of the audio."
|
|
@@ -35791,16 +35431,13 @@
|
|
|
35791
35431
|
"description": "If this attribute is present, the browser will offer controls to allow the user to control audio playback, including volume, seeking, and pause/resume playback."
|
|
35792
35432
|
},
|
|
35793
35433
|
"controlslist": {
|
|
35794
|
-
"description": "The controlslist attribute, when specified, helps the browser select what controls to show for the audio element whenever the browser shows its own set of controls (that is, when the controls attribute is specified). The allowed values are nodownload, nofullscreen and noremoteplayback."
|
|
35795
|
-
"experimental": true,
|
|
35796
|
-
"nonStandard": true
|
|
35434
|
+
"description": "The controlslist attribute, when specified, helps the browser select what controls to show for the audio element whenever the browser shows its own set of controls (that is, when the controls attribute is specified). The allowed values are nodownload, nofullscreen and noremoteplayback."
|
|
35797
35435
|
},
|
|
35798
35436
|
"crossorigin": {
|
|
35799
35437
|
"description": "This enumerated attribute indicates whether to use CORS to fetch the related audio file. CORS-enabled resources can be reused in the <canvas> element without being tainted. The allowed values are: anonymous Sends a cross-origin request without a credential. In other words, it sends the Origin: HTTP header without a cookie, X.509 certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (by not setting the Access-Control-Allow-Origin: HTTP header), the resource will be tainted, and its usage restricted. use-credentials Sends a cross-origin request with a credential. In other words, it sends the Origin: HTTP header with a cookie, a certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (through Access-Control-Allow-Credentials: HTTP header), the resource will be tainted and its usage restricted. When not present, the resource is fetched without a CORS request (i.e. without sending the Origin: HTTP header), preventing its non-tainted use in <canvas> elements. If invalid, it is handled as if the enumerated keyword anonymous was used. See CORS settings attributes for additional information."
|
|
35800
35438
|
},
|
|
35801
35439
|
"disableremoteplayback": {
|
|
35802
|
-
"description": "A Boolean attribute used to disable the capability of remote playback in devices that are attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, DLNA, AirPlay, etc.). See this proposed specification for more information.
|
|
35803
|
-
"experimental": true
|
|
35440
|
+
"description": "A Boolean attribute used to disable the capability of remote playback in devices that are attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, DLNA, AirPlay, etc.). See this proposed specification for more information. In Safari, you can use x-webkit-airplay=\"deny\" as a fallback."
|
|
35804
35441
|
},
|
|
35805
35442
|
"loop": {
|
|
35806
35443
|
"description": "A Boolean attribute: if specified, the audio player will automatically seek back to the start upon reaching the end of the audio."
|
|
@@ -36128,10 +35765,6 @@
|
|
|
36128
35765
|
"#HTMLGlobalAttrs": true
|
|
36129
35766
|
},
|
|
36130
35767
|
"attributes": {
|
|
36131
|
-
"autocomplete": {
|
|
36132
|
-
"description": "This attribute on a <button> is nonstandard and Firefox-specific. Unlike other browsers, Firefox persists the dynamic disabled state of a <button> across page loads. Setting autocomplete=\"off\" on the button disables this feature; see Firefox bug 654072.",
|
|
36133
|
-
"nonStandard": true
|
|
36134
|
-
},
|
|
36135
35768
|
"autofocus": {
|
|
36136
35769
|
"description": "This Boolean attribute specifies that the button should have input focus when the page loads. Only one element in a document can have this attribute."
|
|
36137
35770
|
},
|
|
@@ -36222,7 +35855,7 @@
|
|
|
36222
35855
|
{
|
|
36223
35856
|
"name": "caption",
|
|
36224
35857
|
"cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption",
|
|
36225
|
-
"description": "The <caption> HTML element specifies the caption (or title) of a table.",
|
|
35858
|
+
"description": "The <caption> HTML element specifies the caption (or title) of a table, providing the table an accessible description.",
|
|
36226
35859
|
"categories": [],
|
|
36227
35860
|
"contentModel": {
|
|
36228
35861
|
"contents": [
|
|
@@ -36250,7 +35883,7 @@
|
|
|
36250
35883
|
},
|
|
36251
35884
|
"attributes": {
|
|
36252
35885
|
"align": {
|
|
36253
|
-
"description": "
|
|
35886
|
+
"description": "Specifies on which side of the table the caption should be displayed. The possible enumerated values are left, top, right, or bottom. Use the caption-side and text-align CSS properties instead, as this attribute is deprecated.",
|
|
36254
35887
|
"deprecated": true
|
|
36255
35888
|
}
|
|
36256
35889
|
}
|
|
@@ -36328,7 +35961,7 @@
|
|
|
36328
35961
|
{
|
|
36329
35962
|
"name": "col",
|
|
36330
35963
|
"cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col",
|
|
36331
|
-
"description": "The <col> HTML element defines
|
|
35964
|
+
"description": "The <col> HTML element defines one or more columns in a column group represented by its parent <colgroup> element. The <col> element is only valid as a child of a <colgroup> element that has no span attribute defined.",
|
|
36332
35965
|
"categories": [],
|
|
36333
35966
|
"contentModel": {
|
|
36334
35967
|
"contents": false
|
|
@@ -36346,19 +35979,19 @@
|
|
|
36346
35979
|
},
|
|
36347
35980
|
"attributes": {
|
|
36348
35981
|
"align": {
|
|
36349
|
-
"description": "
|
|
35982
|
+
"description": "Specifies the horizontal alignment of each column cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and on offset defined by the charoff attribute. Note that this attribute overrides the specified align of its <colgroup> parent element. Use the text-align CSS property on the <td> and <th> elements instead, as this attribute is deprecated. Note: Setting text-align on the <col> element has no effect as <col> has no descendants, and therefore no elements inherit from it. If the table does not use a colspan attribute, use the td:nth-of-type(an+b) CSS selector. Set a to zero and b to the position of the column in the table, e.g. td:nth-of-type(2) { text-align: right; } to right-align the second column cells. If the table does use a colspan attribute, the effect can be achieved by combining adequate CSS attribute selectors like [colspan=n], though this is not trivial.",
|
|
36350
35983
|
"deprecated": true
|
|
36351
35984
|
},
|
|
36352
35985
|
"bgcolor": {
|
|
36353
|
-
"description": "
|
|
35986
|
+
"description": "Defines the background color of each column cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
|
|
36354
35987
|
"deprecated": true
|
|
36355
35988
|
},
|
|
36356
35989
|
"char": {
|
|
36357
|
-
"description": "
|
|
35990
|
+
"description": "Specifies the alignment of the content to a character of each column cell. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored, though it will still override the specified char of its <colgroup> parent element.",
|
|
36358
35991
|
"deprecated": true
|
|
36359
35992
|
},
|
|
36360
35993
|
"charoff": {
|
|
36361
|
-
"description": "
|
|
35994
|
+
"description": "Specifies the number of characters to offset the column cell content from the alignment character specified by the char attribute.",
|
|
36362
35995
|
"deprecated": true
|
|
36363
35996
|
},
|
|
36364
35997
|
"span": {
|
|
@@ -36371,11 +36004,11 @@
|
|
|
36371
36004
|
"defaultValue": "1"
|
|
36372
36005
|
},
|
|
36373
36006
|
"valign": {
|
|
36374
|
-
"description": "
|
|
36007
|
+
"description": "Specifies the vertical alignment of each column cell. The possible enumerated values are baseline, bottom, middle, and top. Note that this attribute overrides the specified valign of its <colgroup> parent element. Use the vertical-align CSS property on the <td> and <th> elements instead, as this attribute is deprecated. Note: Setting vertical-align on the <col> element has no effect as <col> has no descendants, and therefore no elements inherit from it. If the table does not use a colspan attribute, use the td:nth-of-type(an+b) CSS selector. Set a to zero and b to the position of the column in the table, e.g. td:nth-of-type(2) { vertical-align: middle; } to center the second column cells vertically. If the table does use a colspan attribute, the effect can be achieved by combining adequate CSS attribute selectors like [colspan=n], though this is not trivial.",
|
|
36375
36008
|
"deprecated": true
|
|
36376
36009
|
},
|
|
36377
36010
|
"width": {
|
|
36378
|
-
"description": "
|
|
36011
|
+
"description": "Specifies a default width for each column. In addition to the standard pixel and percentage values, this attribute can take the special form 0*, which means that the width of each column spanned should be the minimum width necessary to hold the column's contents. Relative widths such as 5* can also be used. Note that this attribute overrides the specified width of its <colgroup> parent element. Use the width CSS property instead, as this attribute is deprecated.",
|
|
36379
36012
|
"deprecated": true
|
|
36380
36013
|
}
|
|
36381
36014
|
}
|
|
@@ -36411,19 +36044,19 @@
|
|
|
36411
36044
|
},
|
|
36412
36045
|
"attributes": {
|
|
36413
36046
|
"align": {
|
|
36414
|
-
"description": "
|
|
36047
|
+
"description": "Specifies the horizontal alignment of each column group cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and the offset defined by the charoff attribute. Note that the descendant <col> elements may override this value using their own align attribute. Use the text-align CSS property on the <td> and <th> elements instead, as this attribute is deprecated. Note: Setting text-align on the <colgroup> element has no effect as <td> and <th> elements are not descendants of the <colgroup> element, and therefore they do not inherit from it. If the table does not use a colspan attribute, use the td:nth-of-type(an+b) CSS selector per column, where a is the total number of the columns in the table and b is the ordinal position of the column in the table, e.g. td:nth-of-type(7n+2) { text-align: right; } to right-align the second column cells. If the table does use a colspan attribute, the effect can be achieved by combining adequate CSS attribute selectors like [colspan=n], though this is not trivial.",
|
|
36415
36048
|
"deprecated": true
|
|
36416
36049
|
},
|
|
36417
36050
|
"bgcolor": {
|
|
36418
|
-
"description": "
|
|
36051
|
+
"description": "Defines the background color of each column group cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
|
|
36419
36052
|
"deprecated": true
|
|
36420
36053
|
},
|
|
36421
36054
|
"char": {
|
|
36422
|
-
"description": "
|
|
36055
|
+
"description": "Specifies the alignment of the content to a character of each column group cell. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored, though it will still be used as the default value for the align of the <col> elements which are members of this column group.",
|
|
36423
36056
|
"deprecated": true
|
|
36424
36057
|
},
|
|
36425
36058
|
"charoff": {
|
|
36426
|
-
"description": "
|
|
36059
|
+
"description": "Specifies the number of characters to offset the column group cell content from the alignment character specified by the char attribute.",
|
|
36427
36060
|
"deprecated": true
|
|
36428
36061
|
},
|
|
36429
36062
|
"span": {
|
|
@@ -36436,7 +36069,11 @@
|
|
|
36436
36069
|
"defaultValue": "1"
|
|
36437
36070
|
},
|
|
36438
36071
|
"valign": {
|
|
36439
|
-
"description": "
|
|
36072
|
+
"description": "Specifies the vertical alignment of each column group cell. The possible enumerated values are baseline, bottom, middle, and top. Note that the descendant <col> elements may override this value using their own valign attribute. Use the vertical-align CSS property on the <td> and <th> elements instead, as this attribute is deprecated. Note: Setting vertical-align on the <colgroup> element has no effect as <td> and <th> elements are not descendants of the <colgroup> element, and therefore they do not inherit from it. If the table does not use a colspan attribute, use the td:nth-of-type() CSS selector per column, e.g. td:nth-of-type(2) { vertical-align: middle; } to center the second column cells vertically. If the table does use a colspan attribute, the effect can be achieved by combining adequate CSS attribute selectors like [colspan=n], though this is not trivial.",
|
|
36073
|
+
"deprecated": true
|
|
36074
|
+
},
|
|
36075
|
+
"width": {
|
|
36076
|
+
"description": "Specifies a default width for each column in the current column group. In addition to the standard pixel and percentage values, this attribute can take the special form 0*, which means that the width of each column spanned should be the minimum width necessary to hold the column's contents. Relative widths such as 5* can also be used. Note that the descendant <col> elements may override this value using their own width attribute. Use the width CSS property instead, as this attribute is deprecated.",
|
|
36440
36077
|
"deprecated": true
|
|
36441
36078
|
}
|
|
36442
36079
|
}
|
|
@@ -36945,7 +36582,7 @@
|
|
|
36945
36582
|
{
|
|
36946
36583
|
"name": "figcaption",
|
|
36947
36584
|
"cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figcaption",
|
|
36948
|
-
"description": "The <figcaption> HTML element represents a caption or legend describing the rest of the contents of its parent <figure> element.",
|
|
36585
|
+
"description": "The <figcaption> HTML element represents a caption or legend describing the rest of the contents of its parent <figure> element, providing the <figure> an accessible description.",
|
|
36949
36586
|
"categories": [],
|
|
36950
36587
|
"contentModel": {
|
|
36951
36588
|
"contents": [
|
|
@@ -37128,8 +36765,7 @@
|
|
|
37128
36765
|
"type": "URL"
|
|
37129
36766
|
},
|
|
37130
36767
|
"autocapitalize": {
|
|
37131
|
-
"description": "
|
|
37132
|
-
"nonStandard": true
|
|
36768
|
+
"description": "Controls whether inputted text is automatically capitalized and, if so, in what manner. See the autocapitalize global attribute page for more information."
|
|
37133
36769
|
},
|
|
37134
36770
|
"autocomplete": {
|
|
37135
36771
|
"type": {
|
|
@@ -37690,7 +37326,8 @@
|
|
|
37690
37326
|
},
|
|
37691
37327
|
"allowpaymentrequest": {
|
|
37692
37328
|
"description": "Set to true if a cross-origin <iframe> should be allowed to invoke the Payment Request API. Note: This attribute is considered a legacy attribute and redefined as allow=\"payment\".",
|
|
37693
|
-
"
|
|
37329
|
+
"deprecated": true,
|
|
37330
|
+
"nonStandard": true
|
|
37694
37331
|
},
|
|
37695
37332
|
"credentialless": {
|
|
37696
37333
|
"description": "Set to true to make the <iframe> credentialless, meaning that its content will be loaded in a new, ephemeral context. It doesn't have access to the network, cookies, and storage data associated with its origin. It uses a new context local to the top-level document lifetime. In return, the Cross-Origin-Embedder-Policy (COEP) embedding rules can be lifted, so documents with COEP set can embed third-party documents that do not. See IFrame credentialless for more details.",
|
|
@@ -37876,8 +37513,7 @@
|
|
|
37876
37513
|
"description": "Marks the image for observation by the PerformanceElementTiming API. The value given becomes an identifier for the observed image element. See also the elementtiming attribute page."
|
|
37877
37514
|
},
|
|
37878
37515
|
"fetchpriority": {
|
|
37879
|
-
"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."
|
|
37880
|
-
"experimental": true
|
|
37516
|
+
"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."
|
|
37881
37517
|
},
|
|
37882
37518
|
"height": {
|
|
37883
37519
|
"description": "The intrinsic height of the image, in pixels. Must be an integer without a unit. Note: Including height and width enables the aspect ratio of the image to be calculated by the browser prior to the image being loaded. This aspect ratio is used to reserve the space needed to display the image, reducing or even preventing a layout shift when the image is downloaded and painted to the screen. Reducing layout shift is a major component of good user experience and web performance."
|
|
@@ -37891,7 +37527,7 @@
|
|
|
37891
37527
|
"condition": "a[href] img"
|
|
37892
37528
|
},
|
|
37893
37529
|
"loading": {
|
|
37894
|
-
"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."
|
|
37530
|
+
"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. Note: Images with loading set to lazy will never be loaded if they do not intersect a visible part of an element, even if loading them would change that as unloaded images have a width and height of 0. Putting width and height on lazyloaded images fixes this issue and is a best practice, recommended by the specification. Doing so also helps prevent layout shifts."
|
|
37895
37531
|
},
|
|
37896
37532
|
"longdesc": {
|
|
37897
37533
|
"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.",
|
|
@@ -38440,8 +38076,7 @@
|
|
|
38440
38076
|
"condition": "[type='image' i]"
|
|
38441
38077
|
},
|
|
38442
38078
|
"autocapitalize": {
|
|
38443
|
-
"description": "
|
|
38444
|
-
"nonStandard": true
|
|
38079
|
+
"description": "Controls whether inputted text is automatically capitalized and, if so, in what manner. See the autocapitalize global attribute page for more information."
|
|
38445
38080
|
},
|
|
38446
38081
|
"autocomplete": {
|
|
38447
38082
|
"condition": [
|
|
@@ -39042,8 +38677,7 @@
|
|
|
39042
38677
|
"type": "Boolean"
|
|
39043
38678
|
},
|
|
39044
38679
|
"fetchpriority": {
|
|
39045
|
-
"description": "Provides a hint of the relative priority to use when fetching a preloaded resource. Allowed values: high Signals a high-priority fetch relative to other resources of the same type. low Signals a low-priority fetch relative to other resources of the same type. auto Default: Signals automatic determination of fetch priority relative to other resources of the same type."
|
|
39046
|
-
"experimental": true
|
|
38680
|
+
"description": "Provides a hint of the relative priority to use when fetching a preloaded resource. Allowed values: high Signals a high-priority fetch relative to other resources of the same type. low Signals a low-priority fetch relative to other resources of the same type. auto Default: Signals automatic determination of fetch priority relative to other resources of the same type."
|
|
39047
38681
|
},
|
|
39048
38682
|
"href": {
|
|
39049
38683
|
"description": "This attribute specifies the URL of the linked resource. A URL can be absolute or relative."
|
|
@@ -39068,7 +38702,7 @@
|
|
|
39068
38702
|
"requiredEither": ["rel"]
|
|
39069
38703
|
},
|
|
39070
38704
|
"media": {
|
|
39071
|
-
"description": "This attribute specifies the media that the linked resource applies to. Its value must be a media type / media query. This attribute is mainly useful when linking to external stylesheets — it allows the user agent to pick the best adapted one for the device it runs on.
|
|
38705
|
+
"description": "This attribute specifies the media that the linked resource applies to. Its value must be a media type / media query. This attribute is mainly useful when linking to external stylesheets — it allows the user agent to pick the best adapted one for the device it runs on."
|
|
39072
38706
|
},
|
|
39073
38707
|
"methods": {
|
|
39074
38708
|
"description": "The value of this attribute provides information about the functions that might be performed on an object. The values generally are given by the HTTP protocol when it is used, but it might (for similar reasons as for the title attribute) be useful to include advisory information in advance in the link. For example, the browser might choose a different rendering of a link as a function of the methods specified; something that is searchable might get a different icon, or an outside link might render with an indication of leaving the current site. This attribute is not well understood nor supported, even by the defining browser, Internet Explorer 4.",
|
|
@@ -40505,8 +40139,7 @@
|
|
|
40505
40139
|
"ineffective": ["[type='module' i]", ":not([src])", "[async]"]
|
|
40506
40140
|
},
|
|
40507
40141
|
"fetchpriority": {
|
|
40508
|
-
"description": "Provides a hint of the relative priority to use when fetching an external script. Allowed values: high Signals a high-priority fetch relative to other external scripts. low Signals a low-priority fetch relative to other external scripts. auto Default: Signals automatic determination of fetch priority relative to other external scripts."
|
|
40509
|
-
"experimental": true
|
|
40142
|
+
"description": "Provides a hint of the relative priority to use when fetching an external script. Allowed values: high Signals a high-priority fetch relative to other external scripts. low Signals a low-priority fetch relative to other external scripts. auto Default: Signals automatic determination of fetch priority relative to other external scripts."
|
|
40510
40143
|
},
|
|
40511
40144
|
"integrity": {
|
|
40512
40145
|
"condition": "[src]"
|
|
@@ -41054,7 +40687,7 @@
|
|
|
41054
40687
|
{
|
|
41055
40688
|
"name": "table",
|
|
41056
40689
|
"cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table",
|
|
41057
|
-
"description": "The <table> HTML element represents tabular data
|
|
40690
|
+
"description": "The <table> HTML element represents tabular data—that is, information presented in a two-dimensional table comprised of rows and columns of cells containing data.",
|
|
41058
40691
|
"categories": ["#flow"],
|
|
41059
40692
|
"contentModel": {
|
|
41060
40693
|
"contents": [
|
|
@@ -41116,39 +40749,39 @@
|
|
|
41116
40749
|
},
|
|
41117
40750
|
"attributes": {
|
|
41118
40751
|
"align": {
|
|
41119
|
-
"description": "
|
|
40752
|
+
"description": "Specifies the horizontal alignment of the table within its parent element. The possible enumerated values are left, center, and right. Use the margin-inline-start and margin-inline-end CSS properties instead, as this attribute is deprecated.",
|
|
41120
40753
|
"deprecated": true
|
|
41121
40754
|
},
|
|
41122
40755
|
"bgcolor": {
|
|
41123
|
-
"description": "
|
|
40756
|
+
"description": "Defines the background color of the table. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
|
|
41124
40757
|
"deprecated": true
|
|
41125
40758
|
},
|
|
41126
40759
|
"border": {
|
|
41127
|
-
"description": "
|
|
40760
|
+
"description": "Defines, as a non-negative integer value (in pixels), the size of the frame surrounding the table. If set to 0, the frame attribute is set to void. Use the border CSS property instead, as this attribute is deprecated.",
|
|
41128
40761
|
"deprecated": true
|
|
41129
40762
|
},
|
|
41130
40763
|
"cellpadding": {
|
|
41131
|
-
"description": "
|
|
40764
|
+
"description": "Defines the space between the content of a cell and its border, displayed or not. If the cellpadding's length is defined in pixels, this pixel-sized space will be applied to all four sides of the cell's content. If the length is defined using a percentage value, the content will be centered and the total vertical space (top and bottom) will represent this value. The same is true for the total horizontal space (left and right). Apply the border-collapse CSS property to the <table> element, with its value set to collapse, and the padding CSS property to the <td> elements instead, as this attribute is deprecated.",
|
|
41132
40765
|
"deprecated": true
|
|
41133
40766
|
},
|
|
41134
40767
|
"cellspacing": {
|
|
41135
|
-
"description": "
|
|
40768
|
+
"description": "Defines the size of the space between two cells in a percentage value or pixels. The attribute is applied both horizontally and vertically, to the space between the top of the table and the cells of the first row, the left of the table and the first column, the right of the table and the last column and the bottom of the table and the last row. Apply the border-spacing CSS property to the <table> element instead, as this attribute is deprecated. border-spacing does not have any effect if the border-collapse CSS property is set to collapse.",
|
|
41136
40769
|
"deprecated": true
|
|
41137
40770
|
},
|
|
41138
40771
|
"frame": {
|
|
41139
|
-
"description": "
|
|
40772
|
+
"description": "Defines which side of the frame surrounding the table must be displayed. The possible enumerated values are void, above, below, hsides, vsides, lhs, rhs, box and border. Use the border-style and border-width CSS properties instead, as this attribute is deprecated.",
|
|
41140
40773
|
"deprecated": true
|
|
41141
40774
|
},
|
|
41142
40775
|
"rules": {
|
|
41143
|
-
"description": "
|
|
40776
|
+
"description": "Defines where rules (borders) are displayed in the table. The possible enumerated values are none (default value), groups (<thead>, <tbody>, and <tfoot> elements), rows (horizontal lines), cols (vertical lines), and all (border around every cell). Use the border CSS property on the appropriate table-related elements, as well as on the <table> itself, instead, as this attribute is deprecated.",
|
|
41144
40777
|
"deprecated": true
|
|
41145
40778
|
},
|
|
41146
40779
|
"summary": {
|
|
41147
|
-
"description": "
|
|
40780
|
+
"description": "Defines an alternative text that summarizes the content of the table. Use the <caption> element instead, as this attribute is deprecated.",
|
|
41148
40781
|
"deprecated": true
|
|
41149
40782
|
},
|
|
41150
40783
|
"width": {
|
|
41151
|
-
"description": "
|
|
40784
|
+
"description": "Specifies the width of the table. Use the width CSS property instead, as this attribute is deprecated. Note: While no HTML specification includes height as a <table> attribute, some browsers support a non-standard interpretation of height. The unitless value sets a minimum absolute height in pixels. If set as a percent value, the minimum table height will be relative to the parent container's height. Use the min-height CSS property instead, as this attribute is deprecated.",
|
|
41152
40785
|
"deprecated": true
|
|
41153
40786
|
}
|
|
41154
40787
|
}
|
|
@@ -41156,7 +40789,7 @@
|
|
|
41156
40789
|
{
|
|
41157
40790
|
"name": "tbody",
|
|
41158
40791
|
"cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody",
|
|
41159
|
-
"description": "The <tbody> HTML element encapsulates a set of table rows (<tr> elements), indicating that they comprise the body of
|
|
40792
|
+
"description": "The <tbody> HTML element encapsulates a set of table rows (<tr> elements), indicating that they comprise the body of a table's (main) data.",
|
|
41160
40793
|
"categories": [],
|
|
41161
40794
|
"contentModel": {
|
|
41162
40795
|
"contents": [
|
|
@@ -41177,23 +40810,23 @@
|
|
|
41177
40810
|
},
|
|
41178
40811
|
"attributes": {
|
|
41179
40812
|
"align": {
|
|
41180
|
-
"description": "
|
|
40813
|
+
"description": "Specifies the horizontal alignment of each body cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and on offset defined by the charoff attribute. Use the text-align CSS property instead, as this attribute is deprecated.",
|
|
41181
40814
|
"deprecated": true
|
|
41182
40815
|
},
|
|
41183
40816
|
"bgcolor": {
|
|
41184
|
-
"description": "
|
|
40817
|
+
"description": "Defines the background color of each body cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
|
|
41185
40818
|
"deprecated": true
|
|
41186
40819
|
},
|
|
41187
40820
|
"char": {
|
|
41188
|
-
"description": "
|
|
40821
|
+
"description": "Specifies the alignment of the content to a character of each body cell. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
|
|
41189
40822
|
"deprecated": true
|
|
41190
40823
|
},
|
|
41191
40824
|
"charoff": {
|
|
41192
|
-
"description": "
|
|
40825
|
+
"description": "Specifies the number of characters to offset the body cell content from the alignment character specified by the char attribute.",
|
|
41193
40826
|
"deprecated": true
|
|
41194
40827
|
},
|
|
41195
40828
|
"valign": {
|
|
41196
|
-
"description": "
|
|
40829
|
+
"description": "Specifies the vertical alignment of each body cell. The possible enumerated values are baseline, bottom, middle, and top. Use the vertical-align CSS property instead, as this attribute is deprecated.",
|
|
41197
40830
|
"deprecated": true
|
|
41198
40831
|
}
|
|
41199
40832
|
}
|
|
@@ -41201,7 +40834,7 @@
|
|
|
41201
40834
|
{
|
|
41202
40835
|
"name": "td",
|
|
41203
40836
|
"cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td",
|
|
41204
|
-
"description": "The <td> HTML element defines a cell of a table that contains data
|
|
40837
|
+
"description": "The <td> HTML element defines a cell of a table that contains data and may be used as a child of the <tr> element.",
|
|
41205
40838
|
"categories": [],
|
|
41206
40839
|
"contentModel": {
|
|
41207
40840
|
"contents": [
|
|
@@ -41234,52 +40867,52 @@
|
|
|
41234
40867
|
},
|
|
41235
40868
|
"attributes": {
|
|
41236
40869
|
"abbr": {
|
|
41237
|
-
"description": "
|
|
40870
|
+
"description": "Contains a short abbreviated description of the data cell's content. Some user-agents, such as speech readers, may present this description before the content itself. Put the abbreviated content inside the cell and place the (longer) description in the title attribute, as this attribute is deprecated. Or, preferably, include the content within the data cell, and use CSS to visually clip overflowing text.",
|
|
41238
40871
|
"deprecated": true
|
|
41239
40872
|
},
|
|
41240
40873
|
"align": {
|
|
41241
|
-
"description": "
|
|
40874
|
+
"description": "Specifies the horizontal alignment of the data cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and the offset defined by the charoff attribute. Use the text-align CSS property instead, as this attribute is deprecated.",
|
|
41242
40875
|
"deprecated": true
|
|
41243
40876
|
},
|
|
41244
40877
|
"axis": {
|
|
41245
|
-
"description": "
|
|
40878
|
+
"description": "Contains a list of space-separated strings, each corresponding to the id attribute of a group of cells that the data cell applies to.",
|
|
41246
40879
|
"deprecated": true
|
|
41247
40880
|
},
|
|
41248
40881
|
"bgcolor": {
|
|
41249
|
-
"description": "
|
|
40882
|
+
"description": "Defines the background color of the data cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
|
|
41250
40883
|
"deprecated": true
|
|
41251
40884
|
},
|
|
41252
40885
|
"char": {
|
|
41253
|
-
"description": "
|
|
40886
|
+
"description": "Specifies the alignment of the content to a character of the data cell. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
|
|
41254
40887
|
"deprecated": true
|
|
41255
40888
|
},
|
|
41256
40889
|
"charoff": {
|
|
41257
|
-
"description": "
|
|
40890
|
+
"description": "Specifies the number of characters to offset the data cell content from the alignment character specified by the char attribute.",
|
|
41258
40891
|
"deprecated": true
|
|
41259
40892
|
},
|
|
41260
40893
|
"colspan": {
|
|
41261
|
-
"description": "
|
|
40894
|
+
"description": "Contains a non-negative integer value that indicates how many columns the data cell spans or extends. The default value is 1. User agents dismiss values higher than 1000 as incorrect, setting to the default value (1)."
|
|
41262
40895
|
},
|
|
41263
40896
|
"headers": {
|
|
41264
|
-
"description": "
|
|
40897
|
+
"description": "Contains a list of space-separated strings, each corresponding to the id attribute of the <th> elements that provide headings for this table cell."
|
|
41265
40898
|
},
|
|
41266
40899
|
"height": {
|
|
41267
|
-
"description": "
|
|
40900
|
+
"description": "Defines a recommended data cell height. Use the height CSS property instead, as this attribute is deprecated.",
|
|
41268
40901
|
"deprecated": true
|
|
41269
40902
|
},
|
|
41270
40903
|
"rowspan": {
|
|
41271
|
-
"description": "
|
|
40904
|
+
"description": "Contains a non-negative integer value that indicates for how many rows the data cell spans or extends. The default value is 1; if its value is set to 0, it extends until the end of the table grouping section (<thead>, <tbody>, <tfoot>, even if implicitly defined), that the cell belongs to. Values higher than 65534 are clipped to 65534."
|
|
41272
40905
|
},
|
|
41273
40906
|
"scope": {
|
|
41274
|
-
"description": "
|
|
40907
|
+
"description": "Defines the cells that the header (defined in the <th>) element relates to. The possible enumerated values are row, col, rowgroup, and colgroup. Only use this attribute with the <th> element to define the row or column for which it is a header, as this attribute is deprecated for the <td> element.",
|
|
41275
40908
|
"deprecated": true
|
|
41276
40909
|
},
|
|
41277
40910
|
"valign": {
|
|
41278
|
-
"description": "
|
|
40911
|
+
"description": "Specifies the vertical alignment of the data cell. The possible enumerated values are baseline, bottom, middle, and top. Use the vertical-align CSS property instead, as this attribute is deprecated.",
|
|
41279
40912
|
"deprecated": true
|
|
41280
40913
|
},
|
|
41281
40914
|
"width": {
|
|
41282
|
-
"description": "
|
|
40915
|
+
"description": "Defines a recommended data cell width. Use the width CSS property instead, as this attribute is deprecated.",
|
|
41283
40916
|
"deprecated": true
|
|
41284
40917
|
}
|
|
41285
40918
|
}
|
|
@@ -41287,7 +40920,7 @@
|
|
|
41287
40920
|
{
|
|
41288
40921
|
"name": "template",
|
|
41289
40922
|
"cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template",
|
|
41290
|
-
"description": "The <template> HTML element
|
|
40923
|
+
"description": "The <template> HTML element serves as a mechanism for holding HTML fragments, which can either be used later via JavaScript or generated immediately into shadow DOM.",
|
|
41291
40924
|
"categories": ["#metadata", "#flow", "#phrasing", "#script-supporting"],
|
|
41292
40925
|
"contentModel": {
|
|
41293
40926
|
"contents": true
|
|
@@ -41354,6 +40987,9 @@
|
|
|
41354
40987
|
"#HTMLGlobalAttrs": true
|
|
41355
40988
|
},
|
|
41356
40989
|
"attributes": {
|
|
40990
|
+
"autocapitalize": {
|
|
40991
|
+
"description": "Controls whether inputted text is automatically capitalized and, if so, in what manner. See the autocapitalize global attribute page for more information."
|
|
40992
|
+
},
|
|
41357
40993
|
"autocomplete": {
|
|
41358
40994
|
"description": "This attribute indicates whether the value of the control can be automatically completed by the browser. Possible values are: off: The user must explicitly enter a value into this field for every use, or the document provides its own auto-completion method; the browser does not automatically complete the entry. on: The browser can automatically complete the value based on values that the user has entered during previous uses. If the autocomplete attribute is not specified on a <textarea> element, then the browser uses the autocomplete attribute value of the <textarea> element's form owner. The form owner is either the <form> element that this <textarea> element is a descendant of or the form element whose id is specified by the form attribute of the input element. For more information, see the autocomplete attribute in <form>."
|
|
41359
40995
|
},
|
|
@@ -41420,7 +41056,7 @@
|
|
|
41420
41056
|
{
|
|
41421
41057
|
"name": "tfoot",
|
|
41422
41058
|
"cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot",
|
|
41423
|
-
"description": "The <tfoot> HTML element
|
|
41059
|
+
"description": "The <tfoot> HTML element encapsulates a set of table rows (<tr> elements), indicating that they comprise the foot of a table with information about the table's columns. This is usually a summary of the columns, e.g., a sum of the given numbers in a column.",
|
|
41424
41060
|
"categories": [],
|
|
41425
41061
|
"contentModel": {
|
|
41426
41062
|
"contents": [
|
|
@@ -41441,23 +41077,23 @@
|
|
|
41441
41077
|
},
|
|
41442
41078
|
"attributes": {
|
|
41443
41079
|
"align": {
|
|
41444
|
-
"description": "
|
|
41080
|
+
"description": "Specifies the horizontal alignment of each foot cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and on offset defined by the charoff attribute. Use the text-align CSS property instead, as this attribute is deprecated.",
|
|
41445
41081
|
"deprecated": true
|
|
41446
41082
|
},
|
|
41447
41083
|
"bgcolor": {
|
|
41448
|
-
"description": "
|
|
41084
|
+
"description": "Defines the background color of each foot cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
|
|
41449
41085
|
"deprecated": true
|
|
41450
41086
|
},
|
|
41451
41087
|
"char": {
|
|
41452
|
-
"description": "
|
|
41088
|
+
"description": "Specifies the alignment of the content to a character of each foot cell. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
|
|
41453
41089
|
"deprecated": true
|
|
41454
41090
|
},
|
|
41455
41091
|
"charoff": {
|
|
41456
|
-
"description": "
|
|
41092
|
+
"description": "Specifies the number of characters to offset the foot cell content from the alignment character specified by the char attribute.",
|
|
41457
41093
|
"deprecated": true
|
|
41458
41094
|
},
|
|
41459
41095
|
"valign": {
|
|
41460
|
-
"description": "
|
|
41096
|
+
"description": "Specifies the vertical alignment of each foot cell. The possible enumerated values are baseline, bottom, middle, and top. Use the vertical-align CSS property instead, as this attribute is deprecated.",
|
|
41461
41097
|
"deprecated": true
|
|
41462
41098
|
}
|
|
41463
41099
|
}
|
|
@@ -41465,7 +41101,7 @@
|
|
|
41465
41101
|
{
|
|
41466
41102
|
"name": "th",
|
|
41467
41103
|
"cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th",
|
|
41468
|
-
"description": "The <th> HTML element defines a cell as the header of a group of table cells. The exact nature of this group is defined by the scope and headers attributes.",
|
|
41104
|
+
"description": "The <th> HTML element defines a cell as the header of a group of table cells and may be used as a child of the <tr> element. The exact nature of this group is defined by the scope and headers attributes.",
|
|
41469
41105
|
"categories": [],
|
|
41470
41106
|
"contentModel": {
|
|
41471
41107
|
"contents": [
|
|
@@ -41513,37 +41149,37 @@
|
|
|
41513
41149
|
"type": "Any"
|
|
41514
41150
|
},
|
|
41515
41151
|
"align": {
|
|
41516
|
-
"description": "
|
|
41152
|
+
"description": "Specifies the horizontal alignment of the header cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and the offset defined by the charoff attribute. Use the text-align CSS property instead, as this attribute is deprecated.",
|
|
41517
41153
|
"deprecated": true
|
|
41518
41154
|
},
|
|
41519
41155
|
"axis": {
|
|
41520
|
-
"description": "
|
|
41156
|
+
"description": "Contains a list of space-separated strings, each corresponding to the id attribute of a group of cells that the header cell applies to. Use the scope attribute instead, as this attribute is deprecated.",
|
|
41521
41157
|
"deprecated": true
|
|
41522
41158
|
},
|
|
41523
41159
|
"bgcolor": {
|
|
41524
|
-
"description": "
|
|
41160
|
+
"description": "Defines the background color of the header cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
|
|
41525
41161
|
"deprecated": true
|
|
41526
41162
|
},
|
|
41527
41163
|
"char": {
|
|
41528
|
-
"description": "
|
|
41164
|
+
"description": "Specifies the alignment of the content to a character of the header cell. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
|
|
41529
41165
|
"deprecated": true
|
|
41530
41166
|
},
|
|
41531
41167
|
"charoff": {
|
|
41532
|
-
"description": "
|
|
41168
|
+
"description": "Specifies the number of characters to offset the header cell content from the alignment character specified by the char attribute.",
|
|
41533
41169
|
"deprecated": true
|
|
41534
41170
|
},
|
|
41535
41171
|
"colspan": {
|
|
41536
|
-
"description": "
|
|
41172
|
+
"description": "A non-negative integer value indicating how many columns the header cell spans or extends. The default value is 1. User agents dismiss values higher than 1000 as incorrect, defaulting such values to 1."
|
|
41537
41173
|
},
|
|
41538
41174
|
"headers": {
|
|
41539
|
-
"description": "
|
|
41175
|
+
"description": "A list of space-separated strings corresponding to the id attributes of the <th> elements that provide the headers for this header cell."
|
|
41540
41176
|
},
|
|
41541
41177
|
"height": {
|
|
41542
|
-
"description": "
|
|
41178
|
+
"description": "Defines a recommended header cell height. Use the height CSS property instead, as this attribute is deprecated.",
|
|
41543
41179
|
"deprecated": true
|
|
41544
41180
|
},
|
|
41545
41181
|
"rowspan": {
|
|
41546
|
-
"description": "
|
|
41182
|
+
"description": "A non-negative integer value indicating how many rows the header cell spans or extends. The default value is 1; if its value is set to 0, the header cell will extends to the end of the table grouping section (<thead>, <tbody>, <tfoot>, even if implicitly defined), that the <th> belongs to. Values higher than 65534 are clipped at 65534."
|
|
41547
41183
|
},
|
|
41548
41184
|
"scope": {
|
|
41549
41185
|
"type": {
|
|
@@ -41553,11 +41189,11 @@
|
|
|
41553
41189
|
}
|
|
41554
41190
|
},
|
|
41555
41191
|
"valign": {
|
|
41556
|
-
"description": "
|
|
41192
|
+
"description": "Specifies the vertical alignment of the header cell. The possible enumerated values are baseline, bottom, middle, and top. Use the vertical-align CSS property instead, as this attribute is deprecated.",
|
|
41557
41193
|
"deprecated": true
|
|
41558
41194
|
},
|
|
41559
41195
|
"width": {
|
|
41560
|
-
"description": "
|
|
41196
|
+
"description": "Defines a recommended header cell width. Use the width CSS property instead, as this attribute is deprecated.",
|
|
41561
41197
|
"deprecated": true
|
|
41562
41198
|
}
|
|
41563
41199
|
}
|
|
@@ -41565,7 +41201,7 @@
|
|
|
41565
41201
|
{
|
|
41566
41202
|
"name": "thead",
|
|
41567
41203
|
"cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead",
|
|
41568
|
-
"description": "The <thead> HTML element
|
|
41204
|
+
"description": "The <thead> HTML element encapsulates a set of table rows (<tr> elements), indicating that they comprise the head of a table with information about the table's columns. This is usually in the form of column headers (<th> elements).",
|
|
41569
41205
|
"categories": [],
|
|
41570
41206
|
"contentModel": {
|
|
41571
41207
|
"contents": [
|
|
@@ -41586,23 +41222,23 @@
|
|
|
41586
41222
|
},
|
|
41587
41223
|
"attributes": {
|
|
41588
41224
|
"align": {
|
|
41589
|
-
"description": "
|
|
41225
|
+
"description": "Specifies the horizontal alignment of each head cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and the offset defined by the charoff attribute. Use the text-align CSS property instead, as this attribute is deprecated.",
|
|
41590
41226
|
"deprecated": true
|
|
41591
41227
|
},
|
|
41592
41228
|
"bgcolor": {
|
|
41593
|
-
"description": "
|
|
41229
|
+
"description": "Defines the background color of each head cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
|
|
41594
41230
|
"deprecated": true
|
|
41595
41231
|
},
|
|
41596
41232
|
"char": {
|
|
41597
|
-
"description": "
|
|
41233
|
+
"description": "Specifies the alignment of the content to a character of each head cell. If align is not set to char, this attribute is ignored.",
|
|
41598
41234
|
"deprecated": true
|
|
41599
41235
|
},
|
|
41600
41236
|
"charoff": {
|
|
41601
|
-
"description": "
|
|
41237
|
+
"description": "Specifies the number of characters to offset the head cell content from the alignment character specified by the char attribute.",
|
|
41602
41238
|
"deprecated": true
|
|
41603
41239
|
},
|
|
41604
41240
|
"valign": {
|
|
41605
|
-
"description": "
|
|
41241
|
+
"description": "Specifies the vertical alignment of each head cell. The possible enumerated values are baseline, bottom, middle, and top. Use the vertical-align CSS property instead, as this attribute is deprecated.",
|
|
41606
41242
|
"deprecated": true
|
|
41607
41243
|
}
|
|
41608
41244
|
}
|
|
@@ -41693,23 +41329,23 @@
|
|
|
41693
41329
|
},
|
|
41694
41330
|
"attributes": {
|
|
41695
41331
|
"align": {
|
|
41696
|
-
"description": "
|
|
41332
|
+
"description": "Specifies the horizontal alignment of each row cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and on offset defined by the charoff attribute. Use the text-align CSS property instead, as this attribute is deprecated.",
|
|
41697
41333
|
"deprecated": true
|
|
41698
41334
|
},
|
|
41699
41335
|
"bgcolor": {
|
|
41700
|
-
"description": "
|
|
41336
|
+
"description": "Defines the background color of each row cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
|
|
41701
41337
|
"deprecated": true
|
|
41702
41338
|
},
|
|
41703
41339
|
"char": {
|
|
41704
|
-
"description": "
|
|
41340
|
+
"description": "Specifies the alignment of the content to a character of each row cell. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
|
|
41705
41341
|
"deprecated": true
|
|
41706
41342
|
},
|
|
41707
41343
|
"charoff": {
|
|
41708
|
-
"description": "
|
|
41344
|
+
"description": "Specifies the number of characters to offset the row cell content from the alignment character specified by the char attribute.",
|
|
41709
41345
|
"deprecated": true
|
|
41710
41346
|
},
|
|
41711
41347
|
"valign": {
|
|
41712
|
-
"description": "
|
|
41348
|
+
"description": "Specifies the vertical alignment of each row cell. The possible enumerated values are baseline, bottom, middle, and top. Use the vertical-align CSS property instead, as this attribute is deprecated.",
|
|
41713
41349
|
"deprecated": true
|
|
41714
41350
|
}
|
|
41715
41351
|
}
|
|
@@ -41973,8 +41609,7 @@
|
|
|
41973
41609
|
"experimental": true
|
|
41974
41610
|
},
|
|
41975
41611
|
"disableremoteplayback": {
|
|
41976
|
-
"description": "A Boolean attribute used to disable the capability of remote playback in devices that are attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, DLNA, AirPlay, etc.). In Safari, you can use x-webkit-airplay=\"deny\" as a fallback."
|
|
41977
|
-
"experimental": true
|
|
41612
|
+
"description": "A Boolean attribute used to disable the capability of remote playback in devices that are attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, DLNA, AirPlay, etc.). In Safari, you can use x-webkit-airplay=\"deny\" as a fallback."
|
|
41978
41613
|
},
|
|
41979
41614
|
"height": {
|
|
41980
41615
|
"description": "The height of the video's display area, in CSS pixels (absolute values only; no percentages)."
|
|
@@ -48348,6 +47983,7 @@
|
|
|
48348
47983
|
"contents": [
|
|
48349
47984
|
{
|
|
48350
47985
|
"zeroOrMore": [
|
|
47986
|
+
"#text",
|
|
48351
47987
|
":model(SVGDescriptive)",
|
|
48352
47988
|
":model(SVGPaintServer)",
|
|
48353
47989
|
"svg|a",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@markuplint/html-spec",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-alpha.10",
|
|
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>",
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
"gen:prettier": "prettier --write index.json"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@markuplint/spec-generator": "4.0.0-
|
|
21
|
-
"@markuplint/test-tools": "
|
|
20
|
+
"@markuplint/spec-generator": "4.0.0-alpha.10",
|
|
21
|
+
"@markuplint/test-tools": "4.0.0-alpha.10"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@markuplint/ml-spec": "
|
|
24
|
+
"@markuplint/ml-spec": "4.0.0-alpha.10"
|
|
25
25
|
},
|
|
26
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "b41153ea665aa8f091daf6114a06047f4ccb8350"
|
|
27
27
|
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
|
|
6
|
+
import { resolveNamespace, getAttrSpecsByNames } from '@markuplint/ml-spec';
|
|
7
|
+
import { glob } from '@markuplint/test-tools';
|
|
8
|
+
import Ajv from 'ajv';
|
|
9
|
+
import strip from 'strip-json-comments';
|
|
10
|
+
import { describe, test, expect } from 'vitest';
|
|
11
|
+
|
|
12
|
+
import htmlSpec from '../index.js';
|
|
13
|
+
|
|
14
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
15
|
+
const __dirname = path.dirname(__filename);
|
|
16
|
+
|
|
17
|
+
const require = createRequire(import.meta.url);
|
|
18
|
+
|
|
19
|
+
const schemas = {
|
|
20
|
+
element: {
|
|
21
|
+
$id: '@markuplint/ml-spec/schemas/element.schema.json',
|
|
22
|
+
...require('../../ml-spec/schemas/element.schema.json'),
|
|
23
|
+
},
|
|
24
|
+
aria: {
|
|
25
|
+
$id: '@markuplint/ml-spec/schemas/aria.schema.json',
|
|
26
|
+
...require('../../ml-spec/schemas/aria.schema.json'),
|
|
27
|
+
},
|
|
28
|
+
contentModels: {
|
|
29
|
+
$id: '@markuplint/ml-spec/schemas/content-models.schema.json',
|
|
30
|
+
...require('../../ml-spec/schemas/content-models.schema.json'),
|
|
31
|
+
},
|
|
32
|
+
globalAttributes: {
|
|
33
|
+
$id: '@markuplint/ml-spec/schemas/global-attributes.schema.json',
|
|
34
|
+
...require('../../ml-spec/schemas/global-attributes.schema.json'),
|
|
35
|
+
},
|
|
36
|
+
attributes: {
|
|
37
|
+
$id: '@markuplint/ml-spec/schemas/attributes.schema.json',
|
|
38
|
+
...require('../../ml-spec/schemas/attributes.schema.json'),
|
|
39
|
+
},
|
|
40
|
+
types: {
|
|
41
|
+
$id: '@markuplint/types/types.schema.json',
|
|
42
|
+
...require('../../types/types.schema.json'),
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
test('structure', () => {
|
|
47
|
+
// eslint-disable-next-line import/no-named-as-default-member
|
|
48
|
+
for (const el of htmlSpec.specs) {
|
|
49
|
+
const { localName, namespaceURI } = resolveNamespace(el.name);
|
|
50
|
+
try {
|
|
51
|
+
getAttrSpecsByNames(localName, namespaceURI, htmlSpec);
|
|
52
|
+
} catch {
|
|
53
|
+
throw el;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
describe('schema', () => {
|
|
59
|
+
const map = [
|
|
60
|
+
[
|
|
61
|
+
'spec.*.json',
|
|
62
|
+
new Ajv({
|
|
63
|
+
schemas: [
|
|
64
|
+
schemas.element,
|
|
65
|
+
schemas.aria,
|
|
66
|
+
schemas.contentModels,
|
|
67
|
+
schemas.globalAttributes,
|
|
68
|
+
schemas.attributes,
|
|
69
|
+
schemas.types,
|
|
70
|
+
],
|
|
71
|
+
}).getSchema(schemas.element.$id),
|
|
72
|
+
|
|
73
|
+
path.resolve(__dirname, 'spec.*.json'),
|
|
74
|
+
],
|
|
75
|
+
[
|
|
76
|
+
'spec-common.attributes.json',
|
|
77
|
+
new Ajv({
|
|
78
|
+
schemas: [schemas.globalAttributes, schemas.attributes, schemas.types],
|
|
79
|
+
}).getSchema(schemas.globalAttributes.$id),
|
|
80
|
+
|
|
81
|
+
path.resolve(__dirname, 'spec-common.attributes.json'),
|
|
82
|
+
],
|
|
83
|
+
];
|
|
84
|
+
|
|
85
|
+
for (const [testName, validator, targetFiles] of map) {
|
|
86
|
+
test(testName, async () => {
|
|
87
|
+
const files = await glob(targetFiles);
|
|
88
|
+
for (const jsonPath of files) {
|
|
89
|
+
const json = JSON.parse(strip(await readFile(jsonPath, { encoding: 'utf-8' })));
|
|
90
|
+
const isValid = validator(json);
|
|
91
|
+
if (!isValid) {
|
|
92
|
+
throw new Error(`${path.basename(jsonPath)} is invalid (${validator.schemaEnv.baseId})`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
expect(testName).toBe(testName);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
});
|