@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2017-2019 Yusuke Hirao
3
+ Copyright (c) 2017-2024 Yusuke Hirao
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Cites, ElementSpec, SpecDefs } from '@markuplint/ml-spec';
1
+ import type { Cites, ElementSpec, SpecDefs } from '@markuplint/ml-spec';
2
2
 
3
3
  export { Attribute } from '@markuplint/ml-spec';
4
4
 
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. Note: In Safari, you can use x-webkit-airplay=\"deny\" as a fallback.",
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. Note: In Safari, you can use x-webkit-airplay=\"deny\" as a fallback.",
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": "This enumerated attribute indicates how the caption must be aligned with respect to the table. It may have one of the following values: left The caption is displayed to the left of the table. top The caption is displayed above the table. right The caption is displayed to the right of the table. bottom The caption is displayed below the table. Warning: Do not use this attribute, as it has been deprecated. The <caption> element should be styled using the CSS properties caption-side and text-align.",
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 a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.",
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": "This enumerated attribute specifies how horizontal alignment of each column cell content will be handled. Possible values are: left, aligning the content to the left of the cell center, centering the content in the cell right, aligning the content to the right of the cell justify, inserting spaces into the textual content so that the content is justified in the cell If this attribute is not set, its value is inherited from the align of the <colgroup> element this <col> element belongs too. If there are none, the left value is assumed. Note: To achieve the same effect as the left, center, right or justify values, do not try to set the text-align property on a selector giving a <col> element. Because <td> elements are not descendant of the <col> element, they won't inherit it. If the table doesn't use a colspan attribute, use the td:nth-child(an+b) CSS selector. Set a to zero and b to the position of the column in the table, e.g. td:nth-child(2) { text-align: right; } to right-align the second column. 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.",
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": "The background color of the table. It is a 6-digit hexadecimal RGB code, prefixed by a '#'. One of the predefined color keywords can also be used. To achieve a similar effect, use the CSS background-color property.",
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": "This attribute sets the character to align the cells in a column on. 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.",
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": "This attribute is used to indicate the number of characters to offset the column data from the alignment characters specified by the char attribute.",
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": "This attribute specifies the vertical alignment of the text within each cell of the column. Possible values for this attribute are: baseline, which will put the text as close to the bottom of the cell as it is possible, but align it on the baseline of the characters instead of the bottom of them. If characters are all of the size, this has the same effect as bottom. bottom, which will put the text as close to the bottom of the cell as it is possible; middle, which will center the text in the cell; and top, which will put the text as close to the top of the cell as it is possible. Note: Do not try to set the vertical-align property on a selector giving a <col> element. Because <td> elements are not descendant of the <col> element, they won't inherit it. If the table doesn't use a colspan attribute, use the td:nth-child(an+b) CSS selector where 'a' is the total number of the columns in the table and 'b' is the ordinal position of the column in the table. Only after this selector the vertical-align property can be used. 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.",
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": "This attribute specifies a default width for each column in the current column group. In addition to the standard pixel and percentage values, this attribute might take the special form 0*, which means that the width of each column in the group should be the minimum width necessary to hold the column's contents. Relative widths such as 5* also can be used.",
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": "This enumerated attribute specifies how horizontal alignment of each column cell content will be handled. Possible values are: left, aligning the content to the left of the cell center, centering the content in the cell right, aligning the content to the right of the cell justify, inserting spaces into the textual content so that the content is justified in the cell char, aligning the textual content on a special character with a minimal offset, defined by the char and charoff attributes. If this attribute is not set, the left value is assumed. The descendant <col> elements may override this value using their own align attribute. Note: Do not try to set the text-align property on a selector giving a <colgroup> element. Because <td> elements are not descendant of the <colgroup> element, they won't inherit it. If the table doesn't use a colspan attribute, use one td:nth-child(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 this column in the table. Only after this selector the text-align property can be used. 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.",
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": "The background color of the table. It is a 6-digit hexadecimal RGB code, prefixed by a '#'. One of the predefined color keywords can also be used. To achieve a similar effect, use the CSS background-color property.",
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": "This attribute specifies the alignment of the content in a column group to a character. 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> which are members of this column group.",
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": "This attribute is used to indicate the number of characters to offset the column data from the alignment character specified by the char attribute.",
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": "This attribute specifies the vertical alignment of the text within each cell of the column. Possible values for this attribute are: baseline, which will put the text as close to the bottom of the cell as it is possible, but align it on the baseline of the characters instead of the bottom of them. If characters are all of the size, this has the same effect as bottom. bottom, which will put the text as close to the bottom of the cell as it is possible; middle, which will center the text in the cell; and top, which will put the text as close to the top of the cell as it is possible. Note: Do not try to set the vertical-align property on a selector giving a <colgroup> element. Because <td> elements are not descendant of the <colgroup> element, they won't inherit it. If the table doesn't use a colspan attribute, use the td:nth-child(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. Only after this selector the vertical-align property can be used. 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.",
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": "A nonstandard attribute used by iOS Safari that controls how textual form elements should be automatically capitalized. autocapitalize attributes on a form elements override it on <form>. Possible values: none: No automatic capitalization. sentences (default): Capitalize the first letter of each sentence. words: Capitalize the first letter of each word. characters: Capitalize all characters — that is, uppercase.",
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
- "experimental": true
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": "(Safari only). A string which indicates how auto-capitalization should be applied while the user is editing this field. Permitted values are: none Do not automatically capitalize any text sentences Automatically capitalize the first character of each sentence. words Automatically capitalize the first character of each word. characters Automatically capitalize every character.",
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. Note: In HTML 4, this can only be a simple white-space-separated list of media description literals, i.e., media types and groups, where defined and allowed as values for this attribute, such as print, screen, aural, braille. HTML5 extended this to any kind of media queries, which are a superset of the allowed values of HTML 4. Browsers not supporting CSS Media Queries won't necessarily recognize the adequate link; do not forget to set fallback links, the restricted set of media queries defined in HTML 4."
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 that is, information presented in a two-dimensional table comprised of rows and columns of cells containing 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": "This enumerated attribute indicates how the table must be aligned inside the containing document. It may have the following values: left: the table is displayed on the left side of the document; center: the table is displayed in the center of the document; right: the table is displayed on the right side of the document. Set margin-left and margin-right to achieve an effect that is similar to the align attribute: left: margin-right: auto; margin-left: 0; center: margin-right: auto; margin-left: auto; right: margin-right: 0; margin-left: auto;",
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": "The background color of the table. It is a 6-digit hexadecimal RGB code, prefixed by a '#'. One of the predefined color keywords can also be used. To achieve a similar effect, use the CSS background-color property.",
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": "This integer attribute defines, in pixels, the size of the frame surrounding the table. If set to 0, the frame attribute is set to void. To achieve a similar effect, use the CSS border shorthand property.",
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": "This attribute 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). To achieve a similar effect, apply the border-collapse property to the <table> element, with its value set to collapse, and the padding property to the <td> elements.",
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": "This attribute 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. To achieve a similar effect, apply the border-spacing property to the <table> element. border-spacing does not have any effect if border-collapse is set to collapse.",
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": "This enumerated attribute defines which side of the frame surrounding the table must be displayed. To achieve a similar effect, use the border-style and border-width properties.",
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": "This enumerated attribute defines where rules, i.e. lines, should appear in a table. It can have the following values: none, which indicates that no rules will be displayed; it is the default value; groups, which will cause the rules to be displayed between row groups (defined by the <thead>, <tbody> and <tfoot> elements) and between column groups (defined by the <col> and <colgroup> elements) only; rows, which will cause the rules to be displayed between rows; cols, which will cause the rules to be displayed between columns; all, which will cause the rules to be displayed between rows and columns. To achieve a similar effect, apply the border property to the appropriate <thead>, <tbody>, <tfoot>, <col>, or <colgroup> elements.",
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": "This attribute defines an alternative text that summarizes the content of the table. Use the <caption> element instead.",
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": "This attribute defines the width of the table. Use the CSS width property instead.",
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 the table (<table>).",
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": "This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are: left, aligning the content to the left of the cell center, centering the content in the cell right, aligning the content to the right of the cell justify, inserting spaces into the textual content so that the content is justified in the cell char, aligning the textual content on a special character with a minimal offset, defined by the char and charoff attributes. If this attribute is not set, the left value is assumed. As this attribute is deprecated, use the CSS text-align property instead. Note: The equivalent text-align property for the align=\"char\" is not implemented in any browsers yet. See the text-align's browser compatibility section for the <string> value.",
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": "The background color of the table. It is a 6-digit hexadecimal RGB code, prefixed by a '#'. One of the predefined color keywords can also be used. As this attribute is deprecated, use the CSS background-color property instead.",
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": "This attribute is used to set the character to align the cells in a column on. 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.",
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": "This attribute is used to indicate the number of characters to offset the column data from the alignment characters specified by the char attribute.",
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": "This attribute specifies the vertical alignment of the text within each row of cells of the table header. Possible values for this attribute are: baseline, which will put the text as close to the bottom of the cell as it is possible, but align it on the baseline of the characters instead of the bottom of them. If characters are all of the size, this has the same effect as bottom. bottom, which will put the text as close to the bottom of the cell as it is possible; middle, which will center the text in the cell; and top, which will put the text as close to the top of the cell as it is possible. As this attribute is deprecated, use the CSS vertical-align property instead.",
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. It participates in the table model.",
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": "This attribute contains a short abbreviated description of the cell's content. Some user-agents, such as speech readers, may present this description before the content itself. Note: Do not use this attribute as it is obsolete in the latest standard. Alternatively, you can put the abbreviated description inside the cell and place the long content in the title attribute.",
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": "This enumerated attribute specifies how the cell content's horizontal alignment will be handled. Possible values are: left: The content is aligned to the left of the cell. center: The content is centered in the cell. right: The content is aligned to the right of the cell. justify (with text only): The content is stretched out inside the cell so that it covers its entire width. char (with text only): The content is aligned to a character inside the <th> element with minimal offset. This character is defined by the char and charoff attributes. The default value when this attribute is not specified is left. Note: To achieve the same effect as the left, center, right or justify values, apply the CSS text-align property to the element. To achieve the same effect as the char value, give the text-align property the same value you would use for the char.",
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": "This attribute contains a list of space-separated strings. Each string is the id of a group of cells that this header applies to.",
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": "This attribute defines the background color of each cell in a column. It is a 6-digit hexadecimal RGB code, prefixed by a '#'. One of the predefined color keywords can also be used. To achieve a similar effect, use the CSS background-color property.",
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": "The content in the cell element is aligned to a character. Typical values include a period (.) to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
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": "This attribute is used to shift column data to the right of the character specified by the char attribute. Its value specifies the length of this shift.",
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": "This attribute contains a non-negative integer value that indicates for how many columns the cell extends. Its default value is 1. Values higher than 1000 will be considered as incorrect and will be set to the default value (1)."
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": "This attribute contains a list of space-separated strings, each corresponding to the id attribute of the <th> elements that apply to this element."
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": "This attribute is used to define a recommended cell height. Use the CSS height property instead.",
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": "This attribute contains a non-negative integer value that indicates for how many rows the cell extends. Its default value is 1; if its value is set to 0, it extends until the end of the table section (<thead>, <tbody>, <tfoot>, even if implicitly defined), that the cell belongs to. Values higher than 65534 are clipped down to 65534."
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": "This enumerated attribute defines the cells that the header (defined in the <th>) element relates to. Only use this attribute with the <th> element to define the row or column for which it is a header.",
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": "This attribute specifies how a text is vertically aligned inside a cell. Possible values for this attribute are: baseline: Positions the text near the bottom of the cell and aligns it with the baseline of the characters instead of the bottom. If characters don't descend below the baseline, the baseline value achieves the same effect as bottom. bottom: Positions the text near the bottom of the cell. middle: Centers the text in the cell. and top: Positions the text near the top of the cell. To achieve a similar effect, use the CSS vertical-align property.",
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": "This attribute is used to define a recommended cell width. Use the CSS width property instead.",
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 is a mechanism for holding HTML that is not to be rendered immediately when a page is loaded but may be instantiated subsequently during runtime using JavaScript.",
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 defines a set of rows summarizing the columns of the table.",
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": "This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are: left, aligning the content to the left of the cell center, centering the content in the cell right, aligning the content to the right of the cell justify, inserting spaces into the textual content so that the content is justified in the cell char, aligning the textual content on a special character with a minimal offset, defined by the char and charoff attributes. If this attribute is not set, the left value is assumed. Note: To achieve the same effect as the left, center, right or justify values, use the CSS text-align property on it. To achieve the same effect as the char value, in CSS, you can use the value of the char as the value of the text-align property.",
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": "The background color of the table. It is a 6-digit hexadecimal RGB code, prefixed by a '#'. One of the predefined color keywords can also be used. To achieve a similar effect, use the CSS background-color property.",
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": "This attribute specifies the alignment of the content in a column to a character. 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.",
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": "This attribute is used to indicate the number of characters to offset the column data from the alignment characters specified by the char attribute.",
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": "This attribute specifies the vertical alignment of the text within each row of cells of the table footer. Possible values for this attribute are: baseline, which will put the text as close to the bottom of the cell as it is possible, but align it on the baseline of the characters instead of the bottom of them. If characters are all of the size, this has the same effect as bottom. bottom, which will put the text as close to the bottom of the cell as it is possible; middle, which will center the text in the cell; and top, which will put the text as close to the top of the cell as it is possible. Note: Do not use this attribute as it is obsolete (and not supported) in the latest standard: instead set the CSS vertical-align property on it.",
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": "This enumerated attribute specifies how the cell content's horizontal alignment will be handled. Possible values are: left: The content is aligned to the left of the cell. center: The content is centered in the cell. right: The content is aligned to the right of the cell. justify (with text only): The content is stretched out inside the cell so that it covers its entire width. char (with text only): The content is aligned to a character inside the <th> element with minimal offset. This character is defined by the char and charoff attributes. The default value when this attribute is not specified is left. Note: Do not use this attribute as it is obsolete in the latest standard. To achieve the same effect as the left, center, right or justify values, apply the CSS text-align property to the element. To achieve the same effect as the char value, give the text-align property the same value you would use for the char.",
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": "This attribute contains a list of space-separated strings. Each string is the id of a group of cells that this header applies to. Note: Do not use this attribute as it is obsolete in the latest standard: use the scope attribute instead.",
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": "This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in sRGB and is prefixed by '#'.",
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": "The content in the cell element is aligned to a character. Typical values include a period (.) to align numbers or monetary values. If align is not set to char, this attribute is ignored. Note: Do not use this attribute as it is obsolete in the latest standard. To achieve the same effect, you can specify the character as the first value of the text-align property.",
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": "This attribute is used to shift column data to the right of the character specified by the char attribute. Its value specifies the length of this shift. Note: Do not use this attribute as it is obsolete in the latest standard.",
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": "This attribute contains a non-negative integer value that indicates for how many columns the cell extends. Its default value is 1. Values higher than 1000 will be considered as incorrect and will be set to the default value (1)."
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": "This attribute contains a list of space-separated strings, each corresponding to the id attribute of the <th> elements that apply to this element."
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": "This attribute is used to define a recommended cell height. Note: Do not use this attribute as it is obsolete in the latest standard: use the CSS height property instead.",
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": "This attribute contains a non-negative integer value that indicates for how many rows the cell extends. Its default value is 1; if its value is set to 0, it extends until the end of the table section (<thead>, <tbody>, <tfoot>, even if implicitly defined), that the cell belongs to. Values higher than 65534 are clipped down to 65534."
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": "This attribute specifies how a text is vertically aligned inside a cell. Possible values for this attribute are: baseline: Positions the text near the bottom of the cell and aligns it with the baseline of the characters instead of the bottom. If characters don't descend below the baseline, the baseline value achieves the same effect as bottom. bottom: Positions the text near the bottom of the cell. middle: Centers the text in the cell. and top: Positions the text near the top of the cell. Note: Do not use this attribute as it is obsolete in the latest standard: use the CSS vertical-align property instead.",
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": "This attribute is used to define a recommended cell width. Additional space can be added with the cellspacing and cellpadding properties and the width of the <col> element can also create extra width. But, if a column's width is too narrow to show a particular cell properly, it will be widened when displayed. Note: Do not use this attribute as it is obsolete in the latest standard: use the CSS width property instead.",
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 defines a set of rows defining the head of the columns of the table.",
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": "This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are: left, aligning the content to the left of the cell center, centering the content in the cell right, aligning the content to the right of the cell justify, inserting spaces into the textual content so that the content is justified in the cell char, aligning the textual content on a special character with a minimal offset, defined by the char and charoff attributes. If this attribute is not set, the left value is assumed. Warning: Do not use this attribute as it is obsolete (not supported) in the latest standard. To align values, use the CSS text-align property instead.",
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": "This attribute defines the background color of each column cell. It accepts a 6-digit hexadecimal color or a named color. Alpha transparency is not supported. Note: Do not use this attribute, as it is non-standard. The thead element should be styled using the CSS background-color property, which can be applied to any element, including the thead, <tr>, <td> and <th> elements.",
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": "This attribute is used to set the character to align the cells in a column on. 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. Note: Do not use this attribute as it is obsolete (and not supported) in the latest standard.",
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": "This attribute is used to indicate the number of characters to offset the column data from the alignment characters specified by the char attribute. Note: Do not use this attribute as it is obsolete (and not supported) in the latest standard.",
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": "This attribute specifies the vertical alignment of the text within each row of cells of the table header. Possible values for this attribute are: baseline, which will put the text as close to the bottom of the cell as it is possible, but align it on the baseline of the characters instead of the bottom of them. If characters are all of the size, this has the same effect as bottom. bottom, which will put the text as close to the bottom of the cell as it is possible; middle, which will center the text in the cell; top, which will put the text as close to the top of the cell as it is possible. Note: Do not use this attribute as it is obsolete (and not supported) in the latest standard: instead set the CSS vertical-align property on it.",
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": "A string which specifies how the cell's context should be aligned horizontally within the cells in the row; this is shorthand for using align on every cell in the row individually. Possible values are: left Align the content of each cell at its left edge. center Center the contents of each cell between their left and right edges. right Align the content of each cell at its right edge. justify Widen whitespaces within the text of each cell so that the text fills the full width of each cell (full justification). char Align each cell in the row on a specific character (such that each row in the column that is configured this way will horizontally align its cells on that character). This uses the char and charoff to establish the alignment character (typically \".\" or \",\" when aligning numerical data) and the number of characters that should follow the alignment character. This alignment type was never widely supported. If no value is expressly set for align, the parent node's value is inherited. Note: Instead of using the obsolete align attribute, you should instead use the CSS text-align property to establish left, center, right, or justify alignment for the row's cells. To apply character-based alignment, set the CSS text-align property to the alignment character (such as \".\" or \",\").",
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": "A string specifying a color to apply to the backgrounds of each of the row's cells. This can be either a hexadecimal #RRGGBB or #RGB value or a color keyword. Omitting the attribute or setting it to null in JavaScript causes the row's cells to inherit the row's parent element's background color. Note: The <tr> element should be styled using CSS. To give a similar effect as the bgcolor attribute, use the CSS property background-color.",
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": "A string that sets the character to align the cells in each row's columns (each row's centering that uses the same character gets aligned with others using the same character. Typical values for this include a period (\".\") or comma (\",\") when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored. Note: This attribute is obsolete and rarely implemented anyway. To achieve the same effect as the char attribute, set the CSS text-align property to the same string you would specify for the char property, such as text-align: \".\".",
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": "A string indicating the number of characters on the tail end of the column's data should be displayed after the alignment character specified by the char attribute. For example, when displaying money values for currencies that use hundredths of a unit (such as the dollar, which is divided into 100 cents), you would typically specify a value of 2, so that in tandem with char being set to \".\", the values in a column would be cleanly aligned on the decimal points, with the number of cents properly displayed to the right of the decimal point. Note: This attribute is obsolete, and was never widely supported anyway.",
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": "A string specifying the vertical alignment of the text within each cell in the row. Possible values for this attribute are: baseline Aligns each cell's content text as closely as possible to the bottom of the cell, handling alignment of different fonts and font sizes by aligning the characters along the baseline of the font(s) used in the row. If all the characters in the row are the same size, the effect is the same as bottom. bottom, Draws the text in each of the row's cells as closely as possible to the bottom edge of those cells. middle Each cell's text is vertically centered. top Each cell's text is drawn as closely as possible to the top edge of the containing cell. Note: Don't use the obsolete valign attribute. Instead, add the CSS vertical-align property to the row.",
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.14.0",
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-dev.0+7c596917",
21
- "@markuplint/test-tools": "3.8.0"
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": "3.14.0"
24
+ "@markuplint/ml-spec": "4.0.0-alpha.10"
25
25
  },
26
- "gitHead": "b37b749d7ac0f9e6cbd022ee7031bc020c6677d3"
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
+ });