@markuplint/html-spec 3.0.0-alpha.2 → 3.0.0-alpha.27

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.
Files changed (183) hide show
  1. package/README.md +8 -3
  2. package/index.json +146 -48
  3. package/package.json +5 -5
  4. package/src/spec-common.attributes.json +0 -1650
  5. package/src/spec-common.contents.json +0 -314
  6. package/src/spec.a.json +0 -58
  7. package/src/spec.abbr.json +0 -25
  8. package/src/spec.address.json +0 -25
  9. package/src/spec.area.json +0 -64
  10. package/src/spec.article.json +0 -24
  11. package/src/spec.aside.json +0 -38
  12. package/src/spec.audio.json +0 -48
  13. package/src/spec.b.json +0 -24
  14. package/src/spec.base.json +0 -21
  15. package/src/spec.bdi.json +0 -24
  16. package/src/spec.bdo.json +0 -24
  17. package/src/spec.blockquote.json +0 -31
  18. package/src/spec.body.json +0 -100
  19. package/src/spec.br.json +0 -32
  20. package/src/spec.button.json +0 -70
  21. package/src/spec.canvas.json +0 -33
  22. package/src/spec.caption.json +0 -30
  23. package/src/spec.cite.json +0 -24
  24. package/src/spec.code.json +0 -27
  25. package/src/spec.col.json +0 -31
  26. package/src/spec.colgroup.json +0 -41
  27. package/src/spec.data.json +0 -29
  28. package/src/spec.datalist.json +0 -38
  29. package/src/spec.dd.json +0 -30
  30. package/src/spec.del.json +0 -36
  31. package/src/spec.details.json +0 -35
  32. package/src/spec.dfn.json +0 -23
  33. package/src/spec.dialog.json +0 -36
  34. package/src/spec.div.json +0 -55
  35. package/src/spec.dl.json +0 -56
  36. package/src/spec.dt.json +0 -26
  37. package/src/spec.em.json +0 -27
  38. package/src/spec.embed.json +0 -30
  39. package/src/spec.fieldset.json +0 -27
  40. package/src/spec.figcaption.json +0 -24
  41. package/src/spec.figure.json +0 -52
  42. package/src/spec.footer.json +0 -37
  43. package/src/spec.form.json +0 -100
  44. package/src/spec.h1.json +0 -26
  45. package/src/spec.h2.json +0 -26
  46. package/src/spec.h3.json +0 -26
  47. package/src/spec.h4.json +0 -26
  48. package/src/spec.h5.json +0 -26
  49. package/src/spec.h6.json +0 -26
  50. package/src/spec.head.json +0 -30
  51. package/src/spec.header.json +0 -37
  52. package/src/spec.hgroup.json +0 -45
  53. package/src/spec.hr.json +0 -23
  54. package/src/spec.html.json +0 -27
  55. package/src/spec.i.json +0 -24
  56. package/src/spec.iframe.json +0 -74
  57. package/src/spec.img.json +0 -109
  58. package/src/spec.input.json +0 -792
  59. package/src/spec.ins.json +0 -36
  60. package/src/spec.kbd.json +0 -24
  61. package/src/spec.label.json +0 -29
  62. package/src/spec.legend.json +0 -24
  63. package/src/spec.li.json +0 -40
  64. package/src/spec.link.json +0 -140
  65. package/src/spec.main.json +0 -27
  66. package/src/spec.map.json +0 -30
  67. package/src/spec.mark.json +0 -24
  68. package/src/spec.math.json +0 -20
  69. package/src/spec.menu.json +0 -53
  70. package/src/spec.meta.json +0 -59
  71. package/src/spec.meter.json +0 -62
  72. package/src/spec.nav.json +0 -26
  73. package/src/spec.noscript.json +0 -24
  74. package/src/spec.object.json +0 -40
  75. package/src/spec.ol.json +0 -71
  76. package/src/spec.optgroup.json +0 -34
  77. package/src/spec.option.json +0 -70
  78. package/src/spec.output.json +0 -29
  79. package/src/spec.p.json +0 -27
  80. package/src/spec.picture.json +0 -46
  81. package/src/spec.portal.json +0 -25
  82. package/src/spec.pre.json +0 -24
  83. package/src/spec.progress.json +0 -44
  84. package/src/spec.q.json +0 -29
  85. package/src/spec.rp.json +0 -23
  86. package/src/spec.rt.json +0 -24
  87. package/src/spec.ruby.json +0 -55
  88. package/src/spec.s.json +0 -24
  89. package/src/spec.samp.json +0 -24
  90. package/src/spec.script.json +0 -73
  91. package/src/spec.section.json +0 -73
  92. package/src/spec.select.json +0 -66
  93. package/src/spec.slot.json +0 -29
  94. package/src/spec.small.json +0 -24
  95. package/src/spec.source.json +0 -52
  96. package/src/spec.span.json +0 -24
  97. package/src/spec.strong.json +0 -27
  98. package/src/spec.style.json +0 -35
  99. package/src/spec.sub.json +0 -27
  100. package/src/spec.summary.json +0 -38
  101. package/src/spec.sup.json +0 -27
  102. package/src/spec.svg_a.json +0 -118
  103. package/src/spec.svg_animate.json +0 -109
  104. package/src/spec.svg_animateMotion.json +0 -73
  105. package/src/spec.svg_animateTransform.json +0 -47
  106. package/src/spec.svg_circle.json +0 -113
  107. package/src/spec.svg_clipPath.json +0 -108
  108. package/src/spec.svg_defs.json +0 -109
  109. package/src/spec.svg_desc.json +0 -21
  110. package/src/spec.svg_discard.json +0 -31
  111. package/src/spec.svg_ellipse.json +0 -116
  112. package/src/spec.svg_feBlend.json +0 -115
  113. package/src/spec.svg_feColorMatrix.json +0 -104
  114. package/src/spec.svg_feComponentTransfer.json +0 -97
  115. package/src/spec.svg_feComposite.json +0 -146
  116. package/src/spec.svg_feConvolveMatrix.json +0 -147
  117. package/src/spec.svg_feDiffuseLighting.json +0 -126
  118. package/src/spec.svg_feDisplacementMap.json +0 -133
  119. package/src/spec.svg_feDistantLight.json +0 -32
  120. package/src/spec.svg_feDropShadow.json +0 -109
  121. package/src/spec.svg_feFlood.json +0 -101
  122. package/src/spec.svg_feFuncA.json +0 -20
  123. package/src/spec.svg_feFuncB.json +0 -20
  124. package/src/spec.svg_feFuncG.json +0 -20
  125. package/src/spec.svg_feFuncR.json +0 -20
  126. package/src/spec.svg_feGaussianBlur.json +0 -105
  127. package/src/spec.svg_feImage.json +0 -123
  128. package/src/spec.svg_feMerge.json +0 -90
  129. package/src/spec.svg_feMergeNode.json +0 -20
  130. package/src/spec.svg_feMorphology.json +0 -106
  131. package/src/spec.svg_feOffset.json +0 -103
  132. package/src/spec.svg_fePointLight.json +0 -38
  133. package/src/spec.svg_feSpecularLighting.json +0 -131
  134. package/src/spec.svg_feSpotLight.json +0 -67
  135. package/src/spec.svg_feTile.json +0 -90
  136. package/src/spec.svg_feTurbulence.json +0 -126
  137. package/src/spec.svg_filter.json +0 -138
  138. package/src/spec.svg_foreignObject.json +0 -97
  139. package/src/spec.svg_g.json +0 -115
  140. package/src/spec.svg_image.json +0 -128
  141. package/src/spec.svg_line.json +0 -136
  142. package/src/spec.svg_linearGradient.json +0 -152
  143. package/src/spec.svg_marker.json +0 -180
  144. package/src/spec.svg_mask.json +0 -142
  145. package/src/spec.svg_metadata.json +0 -21
  146. package/src/spec.svg_mpath.json +0 -26
  147. package/src/spec.svg_path.json +0 -114
  148. package/src/spec.svg_pattern.json +0 -157
  149. package/src/spec.svg_polygon.json +0 -117
  150. package/src/spec.svg_polyline.json +0 -117
  151. package/src/spec.svg_radialGradient.json +0 -162
  152. package/src/spec.svg_rect.json +0 -118
  153. package/src/spec.svg_script.json +0 -40
  154. package/src/spec.svg_set.json +0 -42
  155. package/src/spec.svg_stop.json +0 -110
  156. package/src/spec.svg_style.json +0 -36
  157. package/src/spec.svg_svg.json +0 -170
  158. package/src/spec.svg_switch.json +0 -105
  159. package/src/spec.svg_symbol.json +0 -77
  160. package/src/spec.svg_text.json +0 -153
  161. package/src/spec.svg_textPath.json +0 -169
  162. package/src/spec.svg_title.json +0 -21
  163. package/src/spec.svg_tspan.json +0 -147
  164. package/src/spec.svg_use.json +0 -115
  165. package/src/spec.svg_view.json +0 -45
  166. package/src/spec.table.json +0 -64
  167. package/src/spec.tbody.json +0 -23
  168. package/src/spec.td.json +0 -37
  169. package/src/spec.template.json +0 -20
  170. package/src/spec.textarea.json +0 -67
  171. package/src/spec.tfoot.json +0 -23
  172. package/src/spec.th.json +0 -66
  173. package/src/spec.thead.json +0 -23
  174. package/src/spec.time.json +0 -32
  175. package/src/spec.title.json +0 -24
  176. package/src/spec.tr.json +0 -29
  177. package/src/spec.track.json +0 -54
  178. package/src/spec.u.json +0 -24
  179. package/src/spec.ul.json +0 -53
  180. package/src/spec.var.json +0 -24
  181. package/src/spec.video.json +0 -78
  182. package/src/spec.wbr.json +0 -25
  183. package/src/structure.test.ts +0 -84
package/README.md CHANGED
@@ -1,13 +1,18 @@
1
1
  # @markuplint/html-spec
2
2
 
3
3
  [![npm version](https://badge.fury.io/js/%40markuplint%2Fhtml-spec.svg)](https://www.npmjs.com/package/@markuplint/html-spec)
4
- [![Build Status](https://travis-ci.org/markuplint/markuplint.svg?branch=main)](https://travis-ci.org/markuplint/markuplint)
5
- [![Coverage Status](https://coveralls.io/repos/github/markuplint/markuplint/badge.svg?branch=main)](https://coveralls.io/github/markuplint/markuplint?branch=main)
6
4
 
7
5
  ## Install
8
6
 
9
- ```sh
7
+ [`markuplint`](https://www.npmjs.com/package/markuplint) package includes this package.
8
+
9
+ <details>
10
+ <summary>If you are installing purposely, how below:</summary>
11
+
12
+ ```shell
10
13
  $ npm install @markuplint/html-spec
11
14
 
12
15
  $ yarn add @markuplint/html-spec
13
16
  ```
17
+
18
+ </details>
package/index.json CHANGED
@@ -363,7 +363,7 @@
363
363
  }
364
364
  },
365
365
  "class": {
366
- "type": "<class-list>"
366
+ "type": "Any"
367
367
  },
368
368
  "id": {
369
369
  "type": "DOMID"
@@ -1027,7 +1027,7 @@
1027
1027
  "type": "BCP47"
1028
1028
  },
1029
1029
  "class": {
1030
- "type": "<class-list>"
1030
+ "type": "Any"
1031
1031
  },
1032
1032
  "style": {
1033
1033
  "type": "<css-declaration-list>"
@@ -22268,6 +22268,83 @@
22268
22268
  "textarea",
22269
22269
  "video[controls]"
22270
22270
  ],
22271
+ "#palpable": [
22272
+ "a",
22273
+ "abbr",
22274
+ "address",
22275
+ "article",
22276
+ "aside",
22277
+ "audio[controls]",
22278
+ "b",
22279
+ "bdi",
22280
+ "bdo",
22281
+ "blockquote",
22282
+ "button",
22283
+ "canvas",
22284
+ "cite",
22285
+ "code",
22286
+ "data",
22287
+ "details",
22288
+ "dfn",
22289
+ "div",
22290
+ "dl:has(>:is(dt+dd))",
22291
+ "em",
22292
+ "embed",
22293
+ "fieldset",
22294
+ "figure",
22295
+ "footer",
22296
+ "form",
22297
+ "h1",
22298
+ "h2",
22299
+ "h3",
22300
+ "h4",
22301
+ "h5",
22302
+ "h6",
22303
+ "header",
22304
+ "hgroup",
22305
+ "i",
22306
+ "iframe",
22307
+ "img",
22308
+ "input:not([type='hidden' i])",
22309
+ "ins",
22310
+ "kbd",
22311
+ "label",
22312
+ "main",
22313
+ "map",
22314
+ "mark",
22315
+ "math",
22316
+ "menu:has(>li)",
22317
+ "meter",
22318
+ "nav",
22319
+ "object",
22320
+ "ol:has(>li)",
22321
+ "output",
22322
+ "p",
22323
+ "pre",
22324
+ "progress",
22325
+ "q",
22326
+ "ruby",
22327
+ "s",
22328
+ "samp",
22329
+ "section",
22330
+ "select",
22331
+ "small",
22332
+ "span",
22333
+ "strong",
22334
+ "sub",
22335
+ "sup ",
22336
+ "svg",
22337
+ "table",
22338
+ "text",
22339
+ "area",
22340
+ "time",
22341
+ "u",
22342
+ "ul:has(>li)",
22343
+ "var",
22344
+ "video",
22345
+ "#custom",
22346
+ "#text"
22347
+ ],
22271
22348
  "#script-supporting": ["script", "template"],
22272
22349
  "#SVGAnimation": [
22273
22350
  "svg|animate",
@@ -22479,10 +22556,10 @@
22479
22556
  "deprecated": true
22480
22557
  },
22481
22558
  "download": {
22482
- "description": "Causes the browser to treat the linked URL as a download. Can be used with or without a value: Without a value, the browser will suggest a filename/extension, generated from various sources: The Content-Disposition HTTP header The final segment in the URL path The media type (from the Content-Type header, the start of a data: URL, or Blob.type for a blob: URL) Defining a value suggests it as the filename. / and \\ characters are converted to underscores (_). Filesystems may forbid other characters in filenames, so browsers will adjust the suggested name if necessary. Note: download only works for same-origin URLs, or the blob: and data: schemes. How browsers treat downloads varies by browser, user settings, and other factors. The user may be prompted before a download starts, or the file may be saved automatically, or it may open automatically, either in an external application or in the browser itself. If the Content-Disposition header has different information from the download attribute, resulting behavior may differ: If the header specifies a filename, it takes priority over a filename specified in the download attribute. If the header specifies a disposition of inline, Chrome and Firefox prioritize the attribute and treat it as a download. Old Firefox versions (before 82) prioritize the header and will display the content inline."
22559
+ "description": "Causes the browser to treat the linked URL as a download. Can be used with or without a filename value: Without a value, the browser will suggest a filename/extension, generated from various sources: The Content-Disposition HTTP header The final segment in the URL path The media type (from the Content-Type header, the start of a data: URL, or Blob.type for a blob: URL) filename: defining a value suggests it as the filename. / and \\ characters are converted to underscores (_). Filesystems may forbid other characters in filenames, so browsers will adjust the suggested name if necessary. Note: download only works for same-origin URLs, or the blob: and data: schemes. How browsers treat downloads varies by browser, user settings, and other factors. The user may be prompted before a download starts, or the file may be saved automatically, or it may open automatically, either in an external application or in the browser itself. If the Content-Disposition header has different information from the download attribute, resulting behavior may differ: If the header specifies a filename, it takes priority over a filename specified in the download attribute. If the header specifies a disposition of inline, Chrome and Firefox prioritize the attribute and treat it as a download. Old Firefox versions (before 82) prioritize the header and will display the content inline."
22483
22560
  },
22484
22561
  "href": {
22485
- "description": "The URL that the hyperlink points to. Links are not restricted to HTTP-based URLs — they can use any URL scheme supported by browsers: Sections of a page with fragment URLs Pieces of media files with media fragments Telephone numbers with tel: URLs Email addresses with mailto: URLs While web browsers may not support other URL schemes, web sites can with registerProtocolHandler()"
22562
+ "description": "The URL that the hyperlink points to. Links are not restricted to HTTP-based URLs — they can use any URL scheme supported by browsers: Sections of a page with fragment URLs Pieces of media files with media fragments Telephone numbers with tel: URLs Email addresses with mailto: URLs While web browsers may not support other URL schemes, websites can with registerProtocolHandler()"
22486
22563
  },
22487
22564
  "hreflang": {
22488
22565
  "description": "Hints at the human language of the linked URL. No built-in functionality. Allowed values are the same as the global lang attribute."
@@ -22509,7 +22586,7 @@
22509
22586
  "deprecated": true
22510
22587
  },
22511
22588
  "target": {
22512
- "description": "Where to display the linked URL, as the name for a browsing context (a tab, window, or <iframe>). The following keywords have special meanings for where to load the URL: _self: the current browsing context. (Default) _blank: usually a new tab, but users can configure browsers to open a new window instead. _parent: the parent browsing context of the current one. If no parent, behaves as _self. _top: the topmost browsing context (the \"highest\" context that's an ancestor of the current one). If no ancestors, behaves as _self. Note: Setting target=\"_blank\" on <a> elements implicitly provides the same rel behavior as setting rel=\"noopener\" which does not set window.opener. See browser compatibility for support status."
22589
+ "description": "Where to display the linked URL, as the name for a browsing context (a tab, window, or <iframe>). The following keywords have special meanings for where to load the URL: _self: the current browsing context. (Default) _blank: usually a new tab, but users can configure browsers to open a new window instead. _parent: the parent browsing context of the current one. If no parent, behaves as _self. _top: the topmost browsing context (the \"highest\" context that's an ancestor of the current one). If no ancestors, behaves as _self. Note: Setting target=\"_blank\" on <a> elements implicitly provides the same rel behavior as setting rel=\"noopener\" which does not set window.opener."
22513
22590
  },
22514
22591
  "type": {
22515
22592
  "description": "Hints at the linked URL's format with a MIME type. No built-in functionality."
@@ -22666,7 +22743,7 @@
22666
22743
  {
22667
22744
  "name": "area",
22668
22745
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/area",
22669
- "description": "The <area> HTML element defines an area inside an image map that has predefined clickable areas. An image map allows geometric areas on an image to be associated with hypertext link.",
22746
+ "description": "The <area> HTML element defines an area inside an image map that has predefined clickable areas. An image map allows geometric areas on an image to be associated with hypertext links.",
22670
22747
  "categories": ["#flow", "#phrasing"],
22671
22748
  "contentModel": {
22672
22749
  "contents": false,
@@ -22879,7 +22956,7 @@
22879
22956
  "nonStandard": true
22880
22957
  },
22881
22958
  "crossorigin": {
22882
- "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 image 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 image 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 used in <canvas> elements. If invalid, it is handled as if the enumerated keyword anonymous was used. See CORS settings attributes for additional information."
22959
+ "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."
22883
22960
  },
22884
22961
  "disableremoteplayback": {
22885
22962
  "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.",
@@ -23165,7 +23242,7 @@
23165
23242
  "deprecated": true
23166
23243
  },
23167
23244
  "background": {
23168
- "description": "URI of a image to use as a background. Do not use this attribute! Use the CSS background property on the element instead.",
23245
+ "description": "URI of an image to use as a background. Do not use this attribute! Use the CSS background property on the element instead.",
23169
23246
  "deprecated": true
23170
23247
  },
23171
23248
  "bgcolor": {
@@ -23313,7 +23390,7 @@
23313
23390
  {
23314
23391
  "name": "button",
23315
23392
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button",
23316
- "description": "The <button> HTML element is an interactive element activated by a user with a mouse, keyboard, finger, voice command, or other assistive technology. Once activated, it then performs a programmable action, such as submitting a form or opening a dialog.",
23393
+ "description": "The <button> HTML element is an interactive element activated by a user with a mouse, keyboard, finger, voice command, or other assistive technology. Once activated, it then performs an action, such as submitting a form or opening a dialog.",
23317
23394
  "categories": ["#flow", "#phrasing", "#interactive", "#palpable"],
23318
23395
  "contentModel": {
23319
23396
  "contents": [
@@ -23385,7 +23462,7 @@
23385
23462
  "description": "The URL that processes the information submitted by the button. Overrides the action attribute of the button's form owner. Does nothing if there is no form owner."
23386
23463
  },
23387
23464
  "formenctype": {
23388
- "description": "If the button is a submit button (it's inside/associated with a <form> and doesn't have type=\"button\"), specifies how to encode the form data that is submitted. Possible values: application/x-www-form-urlencoded: The default if the attribute is not used. multipart/form-data: Use to submit <input> elements with their type attributes set to file. text/plain: Specified as a debugging aid; shouldn't be used for real form submission. If this attribute is specified, it overrides the enctype attribute of the button's form owner."
23465
+ "description": "If the button is a submit button (it's inside/associated with a <form> and doesn't have type=\"button\"), specifies how to encode the form data that is submitted. Possible values: application/x-www-form-urlencoded: The default if the attribute is not used. multipart/form-data: Used to submit <input> elements with their type attributes set to file. text/plain: Specified as a debugging aid; shouldn't be used for real form submission. If this attribute is specified, it overrides the enctype attribute of the button's form owner."
23389
23466
  },
23390
23467
  "formmethod": {
23391
23468
  "description": "If the button is a submit button (it's inside/associated with a <form> and doesn't have type=\"button\"), this attribute specifies the HTTP method used to submit the form. Possible values: post: The data from the form are included in the body of the HTTP request when sent to the server. Use when the form contains information that shouldn't be public, like login credentials. get: The form data are appended to the form's action URL, with a ? as a separator, and the resulting URL is sent to the server. Use this method when the form has no side effects, like search forms. If specified, this attribute overrides the method attribute of the button's form owner."
@@ -23440,7 +23517,7 @@
23440
23517
  "defaultValue": "150"
23441
23518
  },
23442
23519
  "moz-opaque": {
23443
- "description": "Lets the canvas know whether or not translucency will be a factor. If the canvas knows there's no translucency, painting performance can be optimized. This is only supported by Mozilla-based browsers; use the standardized canvas.getContext('2d', { alpha: false }) instead.",
23520
+ "description": "Lets the canvas know whether translucency will be a factor. If the canvas knows there's no translucency, painting performance can be optimized. This is only supported by Mozilla-based browsers; use the standardized canvas.getContext('2d', { alpha: false }) instead.",
23444
23521
  "deprecated": true,
23445
23522
  "nonStandard": true
23446
23523
  },
@@ -23605,7 +23682,7 @@
23605
23682
  "defaultValue": "1"
23606
23683
  },
23607
23684
  "valign": {
23608
- "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.",
23685
+ "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.",
23609
23686
  "deprecated": true
23610
23687
  },
23611
23688
  "width": {
@@ -23646,7 +23723,7 @@
23646
23723
  },
23647
23724
  "attributes": {
23648
23725
  "align": {
23649
- "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.",
23726
+ "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.",
23650
23727
  "deprecated": true
23651
23728
  },
23652
23729
  "bgcolor": {
@@ -23671,7 +23748,7 @@
23671
23748
  "defaultValue": "1"
23672
23749
  },
23673
23750
  "valign": {
23674
- "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.",
23751
+ "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.",
23675
23752
  "deprecated": true
23676
23753
  }
23677
23754
  }
@@ -24923,11 +25000,7 @@
24923
25000
  "description": "The <iframe> HTML element represents a nested browsing context, embedding another HTML page into the current one.",
24924
25001
  "categories": ["#flow", "#phrasing", "#embedded", "#interactive", "#palpable"],
24925
25002
  "contentModel": {
24926
- "contents": [
24927
- {
24928
- "transparent": "*"
24929
- }
24930
- ]
25003
+ "contents": false
24931
25004
  },
24932
25005
  "aria": {
24933
25006
  "implicitRole": false,
@@ -25128,6 +25201,9 @@
25128
25201
  "description": "The width of a border around the image. Use the border CSS property instead.",
25129
25202
  "deprecated": true
25130
25203
  },
25204
+ "crossorigin": {
25205
+ "description": "Indicates if the fetching of the image must be done using a CORS request. Image data from a CORS-enabled image returned from a CORS request can be reused in the <canvas> element without being marked \"tainted\". If the crossorigin attribute is not specified, then a non-CORS request is sent (without the Origin request header), and the browser marks the image as tainted and restricts access to its image data, preventing its usage in <canvas> elements. If the crossorigin attribute is specified, then a CORS request is sent (with the Origin request header); but if the server does not opt into allowing cross-origin access to the image data by the origin site (by not sending any Access-Control-Allow-Origin response header, or by not including the site's origin in any Access-Control-Allow-Origin response header it does send), then the browser blocks the image from loading, and logs a CORS error to the devtools console. Allowed values: anonymous A CORS request is sent with credentials omitted (that is, no cookies, X.509 certificates, or Authorization request header). use-credentials The CORS request is sent with any credentials included (that is, cookies, X.509 certificates, and the Authorization request header). If the server does not opt into sharing credentials with the origin site (by sending back the Access-Control-Allow-Credentials: true response header), then the browser marks the image as tainted and restricts access to its image data. If the attribute has an invalid value, browsers handle it as if the anonymous value was used. See CORS settings attributes for additional information."
25206
+ },
25131
25207
  "decoding": {
25132
25208
  "type": {
25133
25209
  "enum": ["sync", "async", "auto"],
@@ -25135,6 +25211,13 @@
25135
25211
  "missingValueDefault": "auto"
25136
25212
  }
25137
25213
  },
25214
+ "fetchpriority": {
25215
+ "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.",
25216
+ "experimental": true
25217
+ },
25218
+ "height": {
25219
+ "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."
25220
+ },
25138
25221
  "hspace": {
25139
25222
  "description": "The number of pixels of white space on the left and right of the image. Use the margin CSS property instead.",
25140
25223
  "deprecated": true
@@ -25143,6 +25226,9 @@
25143
25226
  "type": "Boolean",
25144
25227
  "condition": "a[href] img"
25145
25228
  },
25229
+ "loading": {
25230
+ "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."
25231
+ },
25146
25232
  "longdesc": {
25147
25233
  "description": "A link to a more detailed description of the image. Possible values are a URL or an element id. Note: This attribute is mentioned in the latest W3C version, HTML 5.2, but has been removed from the WHATWG's HTML Living Standard. It has an uncertain future; authors should use a WAI-ARIA alternative such as aria-describedby or aria-details.",
25148
25234
  "deprecated": true
@@ -25151,10 +25237,19 @@
25151
25237
  "description": "A name for the element. Use the id attribute instead.",
25152
25238
  "deprecated": true
25153
25239
  },
25240
+ "referrerpolicy": {
25241
+ "description": "A string indicating which referrer to use when fetching the resource: no-referrer: The Referer header will not be sent. no-referrer-when-downgrade: The Referer header will not be sent to origins without TLS (HTTPS). origin: The sent referrer will be limited to the origin of the referring page: its scheme, host, and port. origin-when-cross-origin: The referrer sent to other origins will be limited to the scheme, the host, and the port. Navigations on the same origin will still include the path. same-origin: A referrer will be sent for same origin, but cross-origin requests will contain no referrer information. strict-origin: Only send the origin of the document as the referrer when the protocol security level stays the same (HTTPS→HTTPS), but don't send it to a less secure destination (HTTPS→HTTP). strict-origin-when-cross-origin (default): Send a full URL when performing a same-origin request, only send the origin when the protocol security level stays the same (HTTPS→HTTPS), and send no header to a less secure destination (HTTPS→HTTP). unsafe-url: The referrer will include the origin and the path (but not the fragment, password, or username). This value is unsafe, because it leaks origins and paths from TLS-protected resources to insecure origins."
25242
+ },
25243
+ "sizes": {
25244
+ "description": "One or more strings separated by commas, indicating a set of source sizes. Each source size consists of: A media condition. This must be omitted for the last item in the list. A source size value. Media Conditions describe properties of the viewport, not of the image. For example, (max-height: 500px) 1000px proposes to use a source of 1000px width, if the viewport is not higher than 500px. Source size values specify the intended display size of the image. User agents use the current source size to select one of the sources supplied by the srcset attribute, when those sources are described using width (w) descriptors. The selected source size affects the intrinsic size of the image (the image's display size if no CSS styling is applied). If the srcset attribute is absent, or contains no values with a width descriptor, then the sizes attribute has no effect."
25245
+ },
25154
25246
  "src": {
25155
25247
  "type": "URL",
25156
25248
  "required": true
25157
25249
  },
25250
+ "srcset": {
25251
+ "description": "One or more strings separated by commas, indicating possible image sources for the user agent to use. Each string is composed of: A URL to an image Optionally, whitespace followed by one of: A width descriptor (a positive integer directly followed by w). The width descriptor is divided by the source size given in the sizes attribute to calculate the effective pixel density. A pixel density descriptor (a positive floating point number directly followed by x). If no descriptor is specified, the source is assigned the default descriptor of 1x. It is incorrect to mix width descriptors and pixel density descriptors in the same srcset attribute. Duplicate descriptors (for instance, two sources in the same srcset which are both described with 2x) are also invalid. If the srcset attribute uses width descriptors, the sizes attribute must also be present, or the srcset itself will be ignored. The user agent selects any of the available sources at its discretion. This provides them with significant leeway to tailor their selection based on things like user preferences or bandwidth conditions. See our Responsive images tutorial for an example."
25252
+ },
25158
25253
  "usemap": {
25159
25254
  "type": "HashName",
25160
25255
  "condition": ":is(:not(a):not(button)) img"
@@ -25162,6 +25257,9 @@
25162
25257
  "vspace": {
25163
25258
  "description": "The number of pixels of white space above and below the image. Use the margin CSS property instead.",
25164
25259
  "deprecated": true
25260
+ },
25261
+ "width": {
25262
+ "description": "The intrinsic width of the image in pixels. Must be an integer without a unit."
25165
25263
  }
25166
25264
  }
25167
25265
  },
@@ -25699,7 +25797,7 @@
25699
25797
  ]
25700
25798
  },
25701
25799
  "autocorrect": {
25702
- "description": "(Safari only). A string which indicates whether or not to activate automatic correction while the user is editing this field. Permitted values are: on Enable automatic correction of typos, as well as processing of text substitutions if any are configured. off Disable automatic correction and text substitutions.",
25800
+ "description": "(Safari only). A string which indicates whether to activate automatic correction while the user is editing this field. Permitted values are: on Enable automatic correction of typos, as well as processing of text substitutions if any are configured. off Disable automatic correction and text substitutions.",
25703
25801
  "nonStandard": true
25704
25802
  },
25705
25803
  "autofocus": {
@@ -26347,7 +26445,7 @@
26347
26445
  "requiredEither": ["itemprop"]
26348
26446
  },
26349
26447
  "rev": {
26350
- "description": "The value of this attribute shows the relationship of the current document to the linked document, as defined by the href attribute. The attribute thus defines the reverse relationship compared to the value of the rel attribute. Link type values for the attribute are similar to the possible values for rel. Note: Instead of rev, you should use the rel attribute with the opposite link type value. For example, to establish the reverse link for made, specify author. Also this attribute doesn't stand for \"revision\" and must not be used with a version number, even though many sites misuse it in this way.",
26448
+ "description": "The value of this attribute shows the relationship of the current document to the linked document, as defined by the href attribute. The attribute thus defines the reverse relationship compared to the value of the rel attribute. Link type values for the attribute are similar to the possible values for rel. Note: Instead of rev, you should use the rel attribute with the opposite link type value. For example, to establish the reverse link for made, specify author. Also, this attribute doesn't stand for \"revision\" and must not be used with a version number, even though many sites misuse it in this way.",
26351
26449
  "obsolete": true,
26352
26450
  "deprecated": true
26353
26451
  },
@@ -26452,7 +26550,7 @@
26452
26550
  {
26453
26551
  "name": "mark",
26454
26552
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/mark",
26455
- "description": "The <mark> HTML element represents text which is marked or highlighted for reference or notation purposes, due to the marked passage's relevance or importance in the enclosing context.",
26553
+ "description": "The <mark> HTML element represents text which is marked or highlighted for reference or notation purposes due to the marked passage's relevance in the enclosing context.",
26456
26554
  "categories": ["#flow", "#phrasing", "#palpable"],
26457
26555
  "contentModel": {
26458
26556
  "contents": [
@@ -26540,7 +26638,7 @@
26540
26638
  {
26541
26639
  "name": "math",
26542
26640
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/math",
26543
- "description": "The <math> element is the top-level MathML element, used to write a single mathematical formula. It can be placed in HTML content where flow content is permitted.",
26641
+ "description": "The <math> MathML element is the top-level MathML element, used to write a single mathematical formula. It can be placed in HTML content where flow content is permitted.",
26544
26642
  "categories": [],
26545
26643
  "contentModel": {
26546
26644
  "contents": true
@@ -26913,7 +27011,7 @@
26913
27011
  "contentModel": {
26914
27012
  "contents": [
26915
27013
  {
26916
- "oneOrMore": ":model(flow)"
27014
+ "transparent": ":not(noscript)"
26917
27015
  }
26918
27016
  ]
26919
27017
  },
@@ -27772,7 +27870,7 @@
27772
27870
  "type": [
27773
27871
  "MIMEType",
27774
27872
  {
27775
- "enum": ["module"],
27873
+ "enum": ["module", "importmap"],
27776
27874
  "caseInsensitive": true
27777
27875
  }
27778
27876
  ]
@@ -27992,7 +28090,7 @@
27992
28090
  {
27993
28091
  "name": "source",
27994
28092
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source",
27995
- "description": "The <source> HTML element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element. It is an empty element, meaning that it has no content and does not have a closing tag. It is commonly used to offer the same media content in multiple file formats in order to provide compatibility with a broad range of browsers given their differing support for image file formats and media file formats.",
28093
+ "description": "The <source> HTML element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element. It is a void element, meaning that it has no content and does not have a closing tag. It is commonly used to offer the same media content in multiple file formats in order to provide compatibility with a broad range of browsers given their differing support for image file formats and media file formats.",
27996
28094
  "categories": [],
27997
28095
  "contentModel": {
27998
28096
  "contents": false
@@ -28039,7 +28137,7 @@
28039
28137
  {
28040
28138
  "name": "spacer",
28041
28139
  "cite": "https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features",
28042
- "description": "The <spacer> HTML element is an obsolete HTML element which allowed insertion of empty spaces on pages. It was devised by Netscape to accomplish the same effect as a single-pixel layout image, which was something web designers used to use to add white spaces to web pages without actually using an image. However, <spacer> no longer supported by any major browser and the same effects can now be achieved using simple CSS.",
28140
+ "description": "The <spacer> HTML element is an obsolete HTML element which allowed insertion of empty spaces on pages. It was devised by Netscape to accomplish the same effect as a single-pixel layout image, which was something web designers used to use to add white spaces to web pages without actually using an image. However, <spacer> is no longer supported by any major browser and the same effects can now be achieved using simple CSS.",
28043
28141
  "categories": [],
28044
28142
  "contentModel": {
28045
28143
  "contents": true
@@ -28449,13 +28547,13 @@
28449
28547
  "implicitRole": false,
28450
28548
  "permittedRoles": true,
28451
28549
  "conditions": {
28452
- "table:is(:not([role]), [role=table]) > :is(thead, tfoot, tbody) > tr > td": {
28550
+ "table:is(:not([role]), [role=table]) > :is(thead, tfoot, tbody) > tr > td, table:is(:not([role]), [role=table]) > tr > td": {
28453
28551
  "implicitRole": "cell"
28454
28552
  },
28455
- "table:is([role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > td": {
28553
+ "table:is([role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > td, table:is([role=grid], [role=treegrid]) > tr > td": {
28456
28554
  "implicitRole": "gridcell"
28457
28555
  },
28458
- "table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > td": {
28556
+ "table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > td, table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > td": {
28459
28557
  "permittedRoles": false
28460
28558
  }
28461
28559
  }
@@ -28585,7 +28683,7 @@
28585
28683
  "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>."
28586
28684
  },
28587
28685
  "autocorrect": {
28588
- "description": "A string which indicates whether or not to activate automatic spelling correction and processing of text substitutions (if any are configured) while the user is editing this textarea. Permitted values are: on Enable automatic spelling correction and text substitutions. off Disable automatic spelling correction and text substitutions.",
28686
+ "description": "A string which indicates whether to activate automatic spelling correction and processing of text substitutions (if any are configured) while the user is editing this textarea. Permitted values are: on Enable automatic spelling correction and text substitutions. off Disable automatic spelling correction and text substitutions.",
28589
28687
  "nonStandard": true
28590
28688
  },
28591
28689
  "autofocus": {
@@ -28703,25 +28801,25 @@
28703
28801
  "implicitRole": false,
28704
28802
  "permittedRoles": true,
28705
28803
  "conditions": {
28706
- "table:is(:not([role]), [role=table]) > :is(thead, tfoot, tbody) > tr > th": {
28804
+ "table:is(:not([role]), [role=table]) > :is(thead, tfoot, tbody) > tr > th, table:is(:not([role]), [role=table]) > tr > th": {
28707
28805
  "implicitRole": "cell"
28708
28806
  },
28709
- "table:is([role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th": {
28807
+ "table:is([role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th, table:is([role=grid], [role=treegrid]) > tr > th": {
28710
28808
  "implicitRole": "gridcell"
28711
28809
  },
28712
28810
  "table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > thead > tr > th:not([scope])": {
28713
28811
  "implicitRole": "columnheader"
28714
28812
  },
28715
- "table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(tfoot, tbody) > tr > th:not([scope])": {
28813
+ "table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(tfoot, tbody) > tr > th:not([scope]), table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th:not([scope])": {
28716
28814
  "implicitRole": "rowheader"
28717
28815
  },
28718
- "table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th[scope=col]": {
28816
+ "table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th[scope=col], table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th[scope=col]": {
28719
28817
  "implicitRole": "columnheader"
28720
28818
  },
28721
- "table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th[scope=row]": {
28819
+ "table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th[scope=row], table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th[scope=row]": {
28722
28820
  "implicitRole": "rowheader"
28723
28821
  },
28724
- "table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th": {
28822
+ "table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > :is(thead, tfoot, tbody) > tr > th, table:is(:not([role]), [role=table], [role=grid], [role=treegrid]) > tr > th": {
28725
28823
  "permittedRoles": false
28726
28824
  }
28727
28825
  }
@@ -28747,7 +28845,7 @@
28747
28845
  "deprecated": true
28748
28846
  },
28749
28847
  "bgcolor": {
28750
- "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 '#'. This attribute may be used with one of sixteen predefined color strings: black = \"#000000\" green = \"#008000\" silver = \"#C0C0C0\" lime = \"#00FF00\" gray = \"#808080\" olive = \"#808000\" white = \"#FFFFFF\" yellow = \"#FFFF00\" maroon = \"#800000\" navy = \"#000080\" red = \"#FF0000\" blue = \"#0000FF\" purple = \"#800080\" teal = \"#008080\" fuchsia = \"#FF00FF\" aqua = \"#00FFFF\" Note: Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet Explorer: The <th> element should be styled using CSS. To create a similar effect use the background-color property in CSS instead.",
28848
+ "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 '#'.",
28751
28849
  "deprecated": true
28752
28850
  },
28753
28851
  "char": {
@@ -28927,7 +29025,7 @@
28927
29025
  "deprecated": true
28928
29026
  },
28929
29027
  "bgcolor": {
28930
- "description": "A string specifying a color to apply to the backgrounds of each of the row's cells. This can be either an 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.",
29028
+ "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.",
28931
29029
  "deprecated": true
28932
29030
  },
28933
29031
  "char": {
@@ -28939,7 +29037,7 @@
28939
29037
  "deprecated": true
28940
29038
  },
28941
29039
  "valign": {
28942
- "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 of 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.",
29040
+ "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.",
28943
29041
  "deprecated": true
28944
29042
  }
28945
29043
  }
@@ -29202,7 +29300,7 @@
29202
29300
  }
29203
29301
  },
29204
29302
  "crossorigin": {
29205
- "description": "This enumerated attribute indicates whether to use CORS to fetch the related video. 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 image 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 image 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 used in <canvas> elements. If invalid, it is handled as if the enumerated keyword anonymous was used. See CORS settings attributes for additional information."
29303
+ "description": "This enumerated attribute indicates whether to use CORS to fetch the related video. 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."
29206
29304
  },
29207
29305
  "disablepictureinpicture": {
29208
29306
  "description": "Prevents the browser from suggesting a Picture-in-Picture context menu or to request Picture-in-Picture automatically in some cases.",
@@ -29228,7 +29326,7 @@
29228
29326
  "type": "URL"
29229
29327
  },
29230
29328
  "preload": {
29231
- "description": "This enumerated attribute is intended to provide a hint to the browser about what the author thinks will lead to the best user experience with regards to what content is loaded before the video is played. It may have one of the following values: none: Indicates that the video should not be preloaded. metadata: Indicates that only video metadata (e.g. length) is fetched. auto: Indicates that the whole video file can be downloaded, even if the user is not expected to use it. empty string: Synonym of the auto value. The default value is different for each browser. The spec advises it to be set to metadata. Note: The autoplay attribute has precedence over preload. If autoplay is specified, the browser would obviously need to start downloading the video for playback. The specification does not force the browser to follow the value of this attribute; it is a mere hint."
29329
+ "description": "This enumerated attribute is intended to provide a hint to the browser about what the author thinks will lead to the best user experience regarding what content is loaded before the video is played. It may have one of the following values: none: Indicates that the video should not be preloaded. metadata: Indicates that only video metadata (e.g. length) is fetched. auto: Indicates that the whole video file can be downloaded, even if the user is not expected to use it. empty string: Synonym of the auto value. The default value is different for each browser. The spec advises it to be set to metadata. Note: The autoplay attribute has precedence over preload. If autoplay is specified, the browser would obviously need to start downloading the video for playback. The specification does not force the browser to follow the value of this attribute; it is a mere hint."
29232
29330
  },
29233
29331
  "src": {
29234
29332
  "description": "The URL of the video to embed. This is optional; you may instead use the <source> element within the video block to specify the video to embed."
@@ -30154,7 +30252,7 @@
30154
30252
  "contentModel": {
30155
30253
  "contents": [
30156
30254
  {
30157
- "require": [":model(SVGOtherXMLNamespace)", "#text"]
30255
+ "require": [":model(SVGDescriptive)", ":model(SVGNeverRendered)", "#text"]
30158
30256
  }
30159
30257
  ]
30160
30258
  },
@@ -32571,7 +32669,7 @@
32571
32669
  "animatable": true
32572
32670
  },
32573
32671
  "numOctaves": {
32574
- "type": "<positive-integer>",
32672
+ "type": "<integer>",
32575
32673
  "defaultValue": "1",
32576
32674
  "animatable": true
32577
32675
  },
@@ -33871,7 +33969,7 @@
33871
33969
  "contentModel": {
33872
33970
  "contents": [
33873
33971
  {
33874
- "zeroOrMore": [":model(SVGOtherXMLNamespace)", "#text"]
33972
+ "zeroOrMore": [":model(SVGDescriptive)", ":model(SVGNeverRendered)", "#text"]
33875
33973
  }
33876
33974
  ]
33877
33975
  },
@@ -34209,7 +34307,7 @@
34209
34307
  "description": "This attribute determines the x coordinate shift of the pattern tile. Value type: <length>|<percentage> ; Default value: 0; Animatable: yes"
34210
34308
  },
34211
34309
  "xlink:href": {
34212
- "description": "This attribute reference a template pattern that provides default values for the <pattern> attributes. Value type: <URL>; Default value: none; Animatable: yes Note: For browsers implementing href, if both href and xlink:href are set, xlink:href will be ignored and only href will be used.",
34310
+ "description": "This attribute references a template pattern that provides default values for the <pattern> attributes. Value type: <URL>; Default value: none; Animatable: yes Note: For browsers implementing href, if both href and xlink:href are set, xlink:href will be ignored and only href will be used.",
34213
34311
  "deprecated": true
34214
34312
  },
34215
34313
  "y": {
@@ -34762,7 +34860,7 @@
34762
34860
  "contentModel": {
34763
34861
  "contents": [
34764
34862
  {
34765
- "zeroOrMore": [":model(SVGOtherXMLNamespace)", "#text"]
34863
+ "zeroOrMore": [":model(SVGNeverRendered)", ":model(SVGStructurallyExternal)", "#text"]
34766
34864
  }
34767
34865
  ]
34768
34866
  },
@@ -35675,7 +35773,7 @@
35675
35773
  "contentModel": {
35676
35774
  "contents": [
35677
35775
  {
35678
- "zeroOrMore": [":model(SVGOtherXMLNamespace)", "#text"]
35776
+ "zeroOrMore": [":model(SVGDescriptive)", ":model(SVGNeverRendered)", "#text"]
35679
35777
  }
35680
35778
  ]
35681
35779
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markuplint/html-spec",
3
- "version": "3.0.0-alpha.2",
3
+ "version": "3.0.0-alpha.27+b5eef04a",
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>",
@@ -18,15 +18,15 @@
18
18
  "@types/cheerio": "^0.22.31",
19
19
  "@types/cli-progress": "^3.11.0",
20
20
  "@types/node-fetch": "2",
21
- "ajv": "^8.11.0",
21
+ "ajv": "^8.11.2",
22
22
  "cheerio": "^1.0.0-rc.12",
23
23
  "cli-progress": "^3.11.2",
24
- "fast-xml-parser": "^4.0.10",
24
+ "fast-xml-parser": "^4.0.12",
25
25
  "node-fetch": "2",
26
26
  "strip-json-comments": "3"
27
27
  },
28
28
  "dependencies": {
29
- "@markuplint/ml-spec": "3.0.0-alpha.2"
29
+ "@markuplint/ml-spec": "3.0.0-alpha.27+b5eef04a"
30
30
  },
31
- "gitHead": "830bf8187b81bf5ca2f5f09b6f85a98395a58bdb"
31
+ "gitHead": "b5eef04a99177b25dccb164b486fba9fa01893ae"
32
32
  }