@markuplint/html-spec 2.7.0 → 3.0.0-alpha.0

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 (623) hide show
  1. package/index.json +23716 -12904
  2. package/package.json +6 -6
  3. package/src/{global-attributes/_global.json → spec-common.attributes.json} +302 -318
  4. package/src/spec-common.contents.json +313 -0
  5. package/src/spec.a.json +59 -0
  6. package/src/spec.abbr.json +25 -0
  7. package/src/spec.address.json +26 -0
  8. package/src/spec.area.json +64 -0
  9. package/src/spec.article.json +24 -0
  10. package/src/spec.aside.json +38 -0
  11. package/src/spec.audio.json +50 -0
  12. package/src/spec.b.json +24 -0
  13. package/src/spec.base.json +21 -0
  14. package/src/spec.bdi.json +24 -0
  15. package/src/spec.bdo.json +24 -0
  16. package/src/spec.blockquote.json +31 -0
  17. package/src/spec.body.json +100 -0
  18. package/src/spec.br.json +32 -0
  19. package/src/spec.button.json +71 -0
  20. package/src/spec.canvas.json +34 -0
  21. package/src/spec.caption.json +30 -0
  22. package/src/spec.cite.json +24 -0
  23. package/src/spec.code.json +27 -0
  24. package/src/spec.col.json +31 -0
  25. package/src/spec.colgroup.json +41 -0
  26. package/src/spec.data.json +29 -0
  27. package/src/spec.datalist.json +38 -0
  28. package/src/spec.dd.json +30 -0
  29. package/src/spec.del.json +36 -0
  30. package/src/spec.details.json +35 -0
  31. package/src/spec.dfn.json +24 -0
  32. package/src/spec.dialog.json +36 -0
  33. package/src/spec.div.json +55 -0
  34. package/src/spec.dl.json +50 -0
  35. package/src/spec.dt.json +27 -0
  36. package/src/spec.em.json +27 -0
  37. package/src/spec.embed.json +30 -0
  38. package/src/spec.fieldset.json +27 -0
  39. package/src/spec.figcaption.json +24 -0
  40. package/src/spec.figure.json +41 -0
  41. package/src/spec.footer.json +38 -0
  42. package/src/spec.form.json +101 -0
  43. package/src/spec.h1.json +26 -0
  44. package/src/spec.h2.json +26 -0
  45. package/src/spec.h3.json +26 -0
  46. package/src/spec.h4.json +26 -0
  47. package/src/spec.h5.json +26 -0
  48. package/src/spec.h6.json +26 -0
  49. package/src/spec.head.json +32 -0
  50. package/src/spec.header.json +38 -0
  51. package/src/spec.hgroup.json +37 -0
  52. package/src/spec.hr.json +23 -0
  53. package/src/spec.html.json +27 -0
  54. package/src/spec.i.json +24 -0
  55. package/src/spec.iframe.json +74 -0
  56. package/src/spec.img.json +109 -0
  57. package/src/spec.input.json +792 -0
  58. package/src/spec.ins.json +36 -0
  59. package/src/spec.kbd.json +24 -0
  60. package/src/spec.label.json +30 -0
  61. package/src/spec.legend.json +24 -0
  62. package/src/spec.li.json +40 -0
  63. package/src/spec.link.json +140 -0
  64. package/src/spec.main.json +27 -0
  65. package/src/spec.map.json +30 -0
  66. package/src/spec.mark.json +24 -0
  67. package/src/spec.math.json +20 -0
  68. package/src/spec.menu.json +53 -0
  69. package/src/spec.meta.json +59 -0
  70. package/src/spec.meter.json +63 -0
  71. package/src/spec.nav.json +26 -0
  72. package/src/spec.noscript.json +24 -0
  73. package/src/spec.object.json +40 -0
  74. package/src/spec.ol.json +71 -0
  75. package/src/spec.optgroup.json +34 -0
  76. package/src/spec.option.json +70 -0
  77. package/src/spec.output.json +29 -0
  78. package/src/spec.p.json +27 -0
  79. package/src/spec.picture.json +46 -0
  80. package/src/spec.portal.json +25 -0
  81. package/src/spec.pre.json +24 -0
  82. package/src/spec.progress.json +45 -0
  83. package/src/spec.q.json +30 -0
  84. package/src/spec.rp.json +24 -0
  85. package/src/spec.rt.json +24 -0
  86. package/src/spec.ruby.json +56 -0
  87. package/src/spec.s.json +24 -0
  88. package/src/spec.samp.json +24 -0
  89. package/src/spec.script.json +73 -0
  90. package/src/spec.section.json +73 -0
  91. package/src/spec.select.json +66 -0
  92. package/src/spec.slot.json +29 -0
  93. package/src/spec.small.json +24 -0
  94. package/src/spec.source.json +52 -0
  95. package/src/spec.span.json +24 -0
  96. package/src/spec.strong.json +27 -0
  97. package/src/spec.style.json +35 -0
  98. package/src/spec.sub.json +27 -0
  99. package/src/spec.summary.json +38 -0
  100. package/src/spec.sup.json +27 -0
  101. package/src/{attributes/svg_a.json → spec.svg_a.json} +38 -4
  102. package/src/{attributes/svg_animate.json → spec.svg_animate.json} +16 -4
  103. package/src/{attributes/svg_animateMotion.json → spec.svg_animateMotion.json} +36 -7
  104. package/src/{attributes/svg_animateTransform.json → spec.svg_animateTransform.json} +16 -4
  105. package/src/{attributes/svg_circle.json → spec.svg_circle.json} +25 -4
  106. package/src/{attributes/svg_clipPath.json → spec.svg_clipPath.json} +16 -5
  107. package/src/spec.svg_defs.json +109 -0
  108. package/src/spec.svg_desc.json +21 -0
  109. package/src/spec.svg_discard.json +31 -0
  110. package/src/{attributes/svg_ellipse.json → spec.svg_ellipse.json} +27 -4
  111. package/src/{attributes/svg_feBlend.json → spec.svg_feBlend.json} +16 -5
  112. package/src/{attributes/svg_feColorMatrix.json → spec.svg_feColorMatrix.json} +16 -5
  113. package/src/{attributes/svg_feComponentTransfer.json → spec.svg_feComponentTransfer.json} +22 -4
  114. package/src/{attributes/svg_feComposite.json → spec.svg_feComposite.json} +20 -9
  115. package/src/{attributes/svg_feConvolveMatrix.json → spec.svg_feConvolveMatrix.json} +23 -12
  116. package/src/{attributes/svg_feDiffuseLighting.json → spec.svg_feDiffuseLighting.json} +34 -6
  117. package/src/{attributes/svg_feDisplacementMap.json → spec.svg_feDisplacementMap.json} +18 -7
  118. package/src/spec.svg_feDistantLight.json +32 -0
  119. package/src/{attributes/svg_feDropShadow.json → spec.svg_feDropShadow.json} +17 -6
  120. package/src/{attributes/svg_feFlood.json → spec.svg_feFlood.json} +16 -5
  121. package/src/spec.svg_feFuncA.json +20 -0
  122. package/src/spec.svg_feFuncB.json +20 -0
  123. package/src/spec.svg_feFuncG.json +20 -0
  124. package/src/spec.svg_feFuncR.json +20 -0
  125. package/src/{attributes/svg_feGaussianBlur.json → spec.svg_feGaussianBlur.json} +16 -5
  126. package/src/{attributes/svg_feImage.json → spec.svg_feImage.json} +19 -8
  127. package/src/{attributes/svg_feMerge.json → spec.svg_feMerge.json} +15 -4
  128. package/src/spec.svg_feMergeNode.json +20 -0
  129. package/src/{attributes/svg_feMorphology.json → spec.svg_feMorphology.json} +16 -5
  130. package/src/{attributes/svg_feOffset.json → spec.svg_feOffset.json} +16 -5
  131. package/src/spec.svg_fePointLight.json +38 -0
  132. package/src/{attributes/svg_feSpecularLighting.json → spec.svg_feSpecularLighting.json} +35 -7
  133. package/src/spec.svg_feSpotLight.json +67 -0
  134. package/src/{attributes/svg_feTile.json → spec.svg_feTile.json} +15 -4
  135. package/src/{attributes/svg_feTurbulence.json → spec.svg_feTurbulence.json} +20 -9
  136. package/src/{attributes/svg_filter.json → spec.svg_filter.json} +22 -11
  137. package/src/{attributes/svg_rect.json → spec.svg_foreignObject.json} +13 -11
  138. package/src/spec.svg_g.json +115 -0
  139. package/src/{attributes/svg_image.json → spec.svg_image.json} +27 -6
  140. package/src/{attributes/svg_line.json → spec.svg_line.json} +31 -8
  141. package/src/{attributes/svg_linearGradient.json → spec.svg_linearGradient.json} +30 -11
  142. package/src/{attributes/svg_marker.json → spec.svg_marker.json} +40 -11
  143. package/src/{attributes/svg_mask.json → spec.svg_mask.json} +44 -9
  144. package/src/spec.svg_metadata.json +21 -0
  145. package/src/spec.svg_mpath.json +26 -0
  146. package/src/{attributes/svg_path.json → spec.svg_path.json} +27 -4
  147. package/src/{attributes/svg_pattern.json → spec.svg_pattern.json} +40 -11
  148. package/src/{attributes/svg_polyline.json → spec.svg_polygon.json} +28 -5
  149. package/src/spec.svg_polyline.json +117 -0
  150. package/src/{attributes/svg_radialGradient.json → spec.svg_radialGradient.json} +32 -13
  151. package/src/spec.svg_rect.json +118 -0
  152. package/src/spec.svg_script.json +40 -0
  153. package/src/spec.svg_set.json +42 -0
  154. package/src/{attributes/svg_stop.json → spec.svg_stop.json} +17 -6
  155. package/src/spec.svg_style.json +36 -0
  156. package/src/{attributes/svg_svg.json → spec.svg_svg.json} +49 -13
  157. package/src/{attributes/svg_polygon.json → spec.svg_switch.json} +25 -14
  158. package/src/spec.svg_symbol.json +77 -0
  159. package/src/{attributes/svg_text.json → spec.svg_text.json} +38 -10
  160. package/src/{attributes/svg_textPath.json → spec.svg_textPath.json} +39 -11
  161. package/src/spec.svg_title.json +21 -0
  162. package/src/{attributes/svg_tspan.json → spec.svg_tspan.json} +34 -10
  163. package/src/{attributes/svg_use.json → spec.svg_use.json} +26 -4
  164. package/src/spec.svg_view.json +45 -0
  165. package/src/spec.table.json +64 -0
  166. package/src/spec.tbody.json +23 -0
  167. package/src/spec.td.json +37 -0
  168. package/src/spec.template.json +24 -0
  169. package/src/spec.textarea.json +67 -0
  170. package/src/spec.tfoot.json +23 -0
  171. package/src/spec.th.json +67 -0
  172. package/src/spec.thead.json +23 -0
  173. package/src/spec.time.json +32 -0
  174. package/src/spec.title.json +24 -0
  175. package/src/spec.tr.json +29 -0
  176. package/src/spec.track.json +54 -0
  177. package/src/spec.u.json +24 -0
  178. package/src/spec.ul.json +53 -0
  179. package/src/spec.var.json +24 -0
  180. package/src/spec.video.json +80 -0
  181. package/src/spec.wbr.json +25 -0
  182. package/src/structure.test.ts +60 -40
  183. package/src/aria-in-html/a.json +0 -31
  184. package/src/aria-in-html/abbr.json +0 -8
  185. package/src/aria-in-html/address.json +0 -8
  186. package/src/aria-in-html/area.json +0 -14
  187. package/src/aria-in-html/article.json +0 -8
  188. package/src/aria-in-html/aside.json +0 -8
  189. package/src/aria-in-html/audio.json +0 -8
  190. package/src/aria-in-html/b.json +0 -8
  191. package/src/aria-in-html/base.json +0 -8
  192. package/src/aria-in-html/bdi.json +0 -8
  193. package/src/aria-in-html/bdo.json +0 -8
  194. package/src/aria-in-html/blockquote.json +0 -8
  195. package/src/aria-in-html/body.json +0 -8
  196. package/src/aria-in-html/br.json +0 -8
  197. package/src/aria-in-html/button.json +0 -18
  198. package/src/aria-in-html/canvas.json +0 -8
  199. package/src/aria-in-html/caption.json +0 -8
  200. package/src/aria-in-html/cite.json +0 -8
  201. package/src/aria-in-html/code.json +0 -8
  202. package/src/aria-in-html/col.json +0 -8
  203. package/src/aria-in-html/colgroup.json +0 -8
  204. package/src/aria-in-html/data.json +0 -8
  205. package/src/aria-in-html/datalist.json +0 -8
  206. package/src/aria-in-html/dd.json +0 -8
  207. package/src/aria-in-html/del.json +0 -8
  208. package/src/aria-in-html/details.json +0 -8
  209. package/src/aria-in-html/dfn.json +0 -8
  210. package/src/aria-in-html/dialog.json +0 -8
  211. package/src/aria-in-html/div.json +0 -8
  212. package/src/aria-in-html/dl.json +0 -8
  213. package/src/aria-in-html/dt.json +0 -8
  214. package/src/aria-in-html/em.json +0 -8
  215. package/src/aria-in-html/embed.json +0 -8
  216. package/src/aria-in-html/fieldset.json +0 -8
  217. package/src/aria-in-html/figcaption.json +0 -8
  218. package/src/aria-in-html/figure.json +0 -14
  219. package/src/aria-in-html/footer.json +0 -14
  220. package/src/aria-in-html/form.json +0 -14
  221. package/src/aria-in-html/h1.json +0 -8
  222. package/src/aria-in-html/h2.json +0 -8
  223. package/src/aria-in-html/h3.json +0 -8
  224. package/src/aria-in-html/h4.json +0 -8
  225. package/src/aria-in-html/h5.json +0 -8
  226. package/src/aria-in-html/h6.json +0 -8
  227. package/src/aria-in-html/head.json +0 -8
  228. package/src/aria-in-html/header.json +0 -14
  229. package/src/aria-in-html/hgroup.json +0 -8
  230. package/src/aria-in-html/hr.json +0 -8
  231. package/src/aria-in-html/html.json +0 -8
  232. package/src/aria-in-html/i.json +0 -8
  233. package/src/aria-in-html/iframe.json +0 -8
  234. package/src/aria-in-html/img.json +0 -39
  235. package/src/aria-in-html/input.json +0 -192
  236. package/src/aria-in-html/ins.json +0 -8
  237. package/src/aria-in-html/kbd.json +0 -8
  238. package/src/aria-in-html/label.json +0 -8
  239. package/src/aria-in-html/legend.json +0 -8
  240. package/src/aria-in-html/li.json +0 -19
  241. package/src/aria-in-html/link.json +0 -8
  242. package/src/aria-in-html/main.json +0 -8
  243. package/src/aria-in-html/map.json +0 -8
  244. package/src/aria-in-html/mark.json +0 -8
  245. package/src/aria-in-html/math.json +0 -8
  246. package/src/aria-in-html/menu.json +0 -20
  247. package/src/aria-in-html/meta.json +0 -8
  248. package/src/aria-in-html/meter.json +0 -8
  249. package/src/aria-in-html/nav.json +0 -8
  250. package/src/aria-in-html/noscript.json +0 -8
  251. package/src/aria-in-html/object.json +0 -8
  252. package/src/aria-in-html/ol.json +0 -20
  253. package/src/aria-in-html/optgroup.json +0 -8
  254. package/src/aria-in-html/option.json +0 -8
  255. package/src/aria-in-html/output.json +0 -8
  256. package/src/aria-in-html/p.json +0 -8
  257. package/src/aria-in-html/param.json +0 -8
  258. package/src/aria-in-html/picture.json +0 -8
  259. package/src/aria-in-html/portal.json +0 -8
  260. package/src/aria-in-html/pre.json +0 -8
  261. package/src/aria-in-html/progress.json +0 -8
  262. package/src/aria-in-html/q.json +0 -8
  263. package/src/aria-in-html/rp.json +0 -8
  264. package/src/aria-in-html/rt.json +0 -8
  265. package/src/aria-in-html/ruby.json +0 -8
  266. package/src/aria-in-html/s.json +0 -8
  267. package/src/aria-in-html/samp.json +0 -8
  268. package/src/aria-in-html/script.json +0 -8
  269. package/src/aria-in-html/section.json +0 -34
  270. package/src/aria-in-html/select.json +0 -20
  271. package/src/aria-in-html/slot.json +0 -8
  272. package/src/aria-in-html/small.json +0 -8
  273. package/src/aria-in-html/source.json +0 -8
  274. package/src/aria-in-html/span.json +0 -8
  275. package/src/aria-in-html/strong.json +0 -8
  276. package/src/aria-in-html/style.json +0 -8
  277. package/src/aria-in-html/sub.json +0 -8
  278. package/src/aria-in-html/summary.json +0 -8
  279. package/src/aria-in-html/sup.json +0 -8
  280. package/src/aria-in-html/svg.json +0 -8
  281. package/src/aria-in-html/table.json +0 -8
  282. package/src/aria-in-html/tbody.json +0 -8
  283. package/src/aria-in-html/td.json +0 -24
  284. package/src/aria-in-html/template.json +0 -8
  285. package/src/aria-in-html/textarea.json +0 -8
  286. package/src/aria-in-html/tfoot.json +0 -8
  287. package/src/aria-in-html/th.json +0 -24
  288. package/src/aria-in-html/thead.json +0 -8
  289. package/src/aria-in-html/time.json +0 -8
  290. package/src/aria-in-html/title.json +0 -8
  291. package/src/aria-in-html/tr.json +0 -14
  292. package/src/aria-in-html/track.json +0 -8
  293. package/src/aria-in-html/u.json +0 -8
  294. package/src/aria-in-html/ul.json +0 -20
  295. package/src/aria-in-html/var.json +0 -8
  296. package/src/aria-in-html/video.json +0 -8
  297. package/src/aria-in-html/wbr.json +0 -8
  298. package/src/attributes/a.json +0 -12
  299. package/src/attributes/abbr.json +0 -11
  300. package/src/attributes/address.json +0 -11
  301. package/src/attributes/area.json +0 -37
  302. package/src/attributes/article.json +0 -11
  303. package/src/attributes/aside.json +0 -11
  304. package/src/attributes/audio.json +0 -13
  305. package/src/attributes/b.json +0 -11
  306. package/src/attributes/base.json +0 -12
  307. package/src/attributes/bdi.json +0 -11
  308. package/src/attributes/bdo.json +0 -11
  309. package/src/attributes/blockquote.json +0 -16
  310. package/src/attributes/body.json +0 -76
  311. package/src/attributes/br.json +0 -11
  312. package/src/attributes/button.json +0 -34
  313. package/src/attributes/canvas.json +0 -21
  314. package/src/attributes/caption.json +0 -11
  315. package/src/attributes/cite.json +0 -11
  316. package/src/attributes/code.json +0 -11
  317. package/src/attributes/col.json +0 -22
  318. package/src/attributes/colgroup.json +0 -22
  319. package/src/attributes/data.json +0 -16
  320. package/src/attributes/datalist.json +0 -11
  321. package/src/attributes/dd.json +0 -11
  322. package/src/attributes/del.json +0 -20
  323. package/src/attributes/details.json +0 -16
  324. package/src/attributes/dfn.json +0 -11
  325. package/src/attributes/dialog.json +0 -20
  326. package/src/attributes/div.json +0 -11
  327. package/src/attributes/dl.json +0 -11
  328. package/src/attributes/dt.json +0 -11
  329. package/src/attributes/em.json +0 -11
  330. package/src/attributes/embed.json +0 -27
  331. package/src/attributes/fieldset.json +0 -12
  332. package/src/attributes/figcaption.json +0 -11
  333. package/src/attributes/figure.json +0 -11
  334. package/src/attributes/footer.json +0 -11
  335. package/src/attributes/form.json +0 -80
  336. package/src/attributes/h1.json +0 -11
  337. package/src/attributes/h2.json +0 -11
  338. package/src/attributes/h3.json +0 -11
  339. package/src/attributes/h4.json +0 -11
  340. package/src/attributes/h5.json +0 -11
  341. package/src/attributes/h6.json +0 -11
  342. package/src/attributes/head.json +0 -11
  343. package/src/attributes/header.json +0 -11
  344. package/src/attributes/hgroup.json +0 -11
  345. package/src/attributes/hr.json +0 -11
  346. package/src/attributes/html.json +0 -11
  347. package/src/attributes/i.json +0 -11
  348. package/src/attributes/iframe.json +0 -61
  349. package/src/attributes/img.json +0 -45
  350. package/src/attributes/input.json +0 -343
  351. package/src/attributes/ins.json +0 -20
  352. package/src/attributes/kbd.json +0 -11
  353. package/src/attributes/label.json +0 -16
  354. package/src/attributes/legend.json +0 -11
  355. package/src/attributes/li.json +0 -19
  356. package/src/attributes/link.json +0 -143
  357. package/src/attributes/main.json +0 -11
  358. package/src/attributes/map.json +0 -17
  359. package/src/attributes/mark.json +0 -11
  360. package/src/attributes/math.json +0 -8
  361. package/src/attributes/menu.json +0 -11
  362. package/src/attributes/meta.json +0 -64
  363. package/src/attributes/meter.json +0 -36
  364. package/src/attributes/nav.json +0 -11
  365. package/src/attributes/noscript.json +0 -11
  366. package/src/attributes/object.json +0 -28
  367. package/src/attributes/ol.json +0 -29
  368. package/src/attributes/optgroup.json +0 -18
  369. package/src/attributes/option.json +0 -25
  370. package/src/attributes/output.json +0 -17
  371. package/src/attributes/p.json +0 -11
  372. package/src/attributes/picture.json +0 -11
  373. package/src/attributes/portal.json +0 -22
  374. package/src/attributes/pre.json +0 -11
  375. package/src/attributes/progress.json +0 -21
  376. package/src/attributes/q.json +0 -16
  377. package/src/attributes/rp.json +0 -11
  378. package/src/attributes/rt.json +0 -11
  379. package/src/attributes/ruby.json +0 -11
  380. package/src/attributes/s.json +0 -11
  381. package/src/attributes/samp.json +0 -11
  382. package/src/attributes/script.json +0 -64
  383. package/src/attributes/section.json +0 -11
  384. package/src/attributes/select.json +0 -24
  385. package/src/attributes/slot.json +0 -16
  386. package/src/attributes/small.json +0 -11
  387. package/src/attributes/source.json +0 -55
  388. package/src/attributes/span.json +0 -11
  389. package/src/attributes/strong.json +0 -11
  390. package/src/attributes/style.json +0 -22
  391. package/src/attributes/sub.json +0 -11
  392. package/src/attributes/summary.json +0 -11
  393. package/src/attributes/sup.json +0 -11
  394. package/src/attributes/svg_defs.json +0 -80
  395. package/src/attributes/svg_desc.json +0 -10
  396. package/src/attributes/svg_discard.json +0 -20
  397. package/src/attributes/svg_feDistantLight.json +0 -21
  398. package/src/attributes/svg_feFuncA.json +0 -9
  399. package/src/attributes/svg_feFuncB.json +0 -9
  400. package/src/attributes/svg_feFuncG.json +0 -9
  401. package/src/attributes/svg_feFuncR.json +0 -9
  402. package/src/attributes/svg_feMergeNode.json +0 -9
  403. package/src/attributes/svg_fePointLight.json +0 -27
  404. package/src/attributes/svg_feSpotLight.json +0 -56
  405. package/src/attributes/svg_foreignObject.json +0 -87
  406. package/src/attributes/svg_g.json +0 -83
  407. package/src/attributes/svg_hatch.json +0 -114
  408. package/src/attributes/svg_hatchpath.json +0 -84
  409. package/src/attributes/svg_mesh.json +0 -88
  410. package/src/attributes/svg_meshgradient.json +0 -33
  411. package/src/attributes/svg_meshpatch.json +0 -79
  412. package/src/attributes/svg_meshrow.json +0 -79
  413. package/src/attributes/svg_metadata.json +0 -10
  414. package/src/attributes/svg_mpath.json +0 -15
  415. package/src/attributes/svg_script.json +0 -29
  416. package/src/attributes/svg_set.json +0 -31
  417. package/src/attributes/svg_style.json +0 -25
  418. package/src/attributes/svg_switch.json +0 -83
  419. package/src/attributes/svg_symbol.json +0 -45
  420. package/src/attributes/svg_title.json +0 -10
  421. package/src/attributes/svg_view.json +0 -34
  422. package/src/attributes/table.json +0 -11
  423. package/src/attributes/tbody.json +0 -11
  424. package/src/attributes/td.json +0 -12
  425. package/src/attributes/template.json +0 -11
  426. package/src/attributes/textarea.json +0 -51
  427. package/src/attributes/tfoot.json +0 -11
  428. package/src/attributes/th.json +0 -25
  429. package/src/attributes/thead.json +0 -11
  430. package/src/attributes/time.json +0 -16
  431. package/src/attributes/title.json +0 -11
  432. package/src/attributes/tr.json +0 -11
  433. package/src/attributes/track.json +0 -38
  434. package/src/attributes/u.json +0 -11
  435. package/src/attributes/ul.json +0 -11
  436. package/src/attributes/var.json +0 -11
  437. package/src/attributes/video.json +0 -43
  438. package/src/attributes/wbr.json +0 -11
  439. package/src/content-models.json +0 -334
  440. package/src/permitted-structures/a.json +0 -9
  441. package/src/permitted-structures/abbr.json +0 -8
  442. package/src/permitted-structures/address.json +0 -9
  443. package/src/permitted-structures/area.json +0 -5
  444. package/src/permitted-structures/article.json +0 -8
  445. package/src/permitted-structures/aside.json +0 -8
  446. package/src/permitted-structures/audio.json +0 -31
  447. package/src/permitted-structures/b.json +0 -8
  448. package/src/permitted-structures/base.json +0 -4
  449. package/src/permitted-structures/bdi.json +0 -8
  450. package/src/permitted-structures/bdo.json +0 -8
  451. package/src/permitted-structures/blockquote.json +0 -8
  452. package/src/permitted-structures/body.json +0 -8
  453. package/src/permitted-structures/br.json +0 -4
  454. package/src/permitted-structures/button.json +0 -9
  455. package/src/permitted-structures/canvas.json +0 -5
  456. package/src/permitted-structures/caption.json +0 -8
  457. package/src/permitted-structures/cite.json +0 -8
  458. package/src/permitted-structures/code.json +0 -8
  459. package/src/permitted-structures/col.json +0 -4
  460. package/src/permitted-structures/colgroup.json +0 -16
  461. package/src/permitted-structures/data.json +0 -8
  462. package/src/permitted-structures/datalist.json +0 -19
  463. package/src/permitted-structures/dd.json +0 -8
  464. package/src/permitted-structures/del.json +0 -8
  465. package/src/permitted-structures/details.json +0 -11
  466. package/src/permitted-structures/dfn.json +0 -9
  467. package/src/permitted-structures/dialog.json +0 -8
  468. package/src/permitted-structures/div.json +0 -32
  469. package/src/permitted-structures/dl.json +0 -35
  470. package/src/permitted-structures/dt.json +0 -9
  471. package/src/permitted-structures/em.json +0 -8
  472. package/src/permitted-structures/embed.json +0 -4
  473. package/src/permitted-structures/fieldset.json +0 -11
  474. package/src/permitted-structures/figcaption.json +0 -8
  475. package/src/permitted-structures/figure.json +0 -19
  476. package/src/permitted-structures/footer.json +0 -9
  477. package/src/permitted-structures/form.json +0 -9
  478. package/src/permitted-structures/h1.json +0 -8
  479. package/src/permitted-structures/h2.json +0 -8
  480. package/src/permitted-structures/h3.json +0 -8
  481. package/src/permitted-structures/h4.json +0 -8
  482. package/src/permitted-structures/h5.json +0 -8
  483. package/src/permitted-structures/h6.json +0 -8
  484. package/src/permitted-structures/head.json +0 -16
  485. package/src/permitted-structures/header.json +0 -9
  486. package/src/permitted-structures/hgroup.json +0 -18
  487. package/src/permitted-structures/hr.json +0 -4
  488. package/src/permitted-structures/html.json +0 -11
  489. package/src/permitted-structures/i.json +0 -8
  490. package/src/permitted-structures/iframe.json +0 -8
  491. package/src/permitted-structures/img.json +0 -4
  492. package/src/permitted-structures/input.json +0 -4
  493. package/src/permitted-structures/ins.json +0 -8
  494. package/src/permitted-structures/kbd.json +0 -8
  495. package/src/permitted-structures/label.json +0 -9
  496. package/src/permitted-structures/legend.json +0 -8
  497. package/src/permitted-structures/li.json +0 -8
  498. package/src/permitted-structures/link.json +0 -4
  499. package/src/permitted-structures/main.json +0 -8
  500. package/src/permitted-structures/map.json +0 -8
  501. package/src/permitted-structures/mark.json +0 -8
  502. package/src/permitted-structures/math.json +0 -4
  503. package/src/permitted-structures/menu.json +0 -8
  504. package/src/permitted-structures/meta.json +0 -4
  505. package/src/permitted-structures/meter.json +0 -9
  506. package/src/permitted-structures/nav.json +0 -8
  507. package/src/permitted-structures/noscript.json +0 -21
  508. package/src/permitted-structures/object.json +0 -8
  509. package/src/permitted-structures/ol.json +0 -8
  510. package/src/permitted-structures/optgroup.json +0 -8
  511. package/src/permitted-structures/option.json +0 -30
  512. package/src/permitted-structures/output.json +0 -8
  513. package/src/permitted-structures/p.json +0 -8
  514. package/src/permitted-structures/picture.json +0 -20
  515. package/src/permitted-structures/portal.json +0 -8
  516. package/src/permitted-structures/pre.json +0 -8
  517. package/src/permitted-structures/progress.json +0 -9
  518. package/src/permitted-structures/q.json +0 -8
  519. package/src/permitted-structures/rp.json +0 -8
  520. package/src/permitted-structures/rt.json +0 -8
  521. package/src/permitted-structures/ruby.json +0 -41
  522. package/src/permitted-structures/s.json +0 -8
  523. package/src/permitted-structures/samp.json +0 -8
  524. package/src/permitted-structures/script.json +0 -8
  525. package/src/permitted-structures/section.json +0 -8
  526. package/src/permitted-structures/select.json +0 -8
  527. package/src/permitted-structures/slot.json +0 -8
  528. package/src/permitted-structures/small.json +0 -8
  529. package/src/permitted-structures/source.json +0 -4
  530. package/src/permitted-structures/span.json +0 -8
  531. package/src/permitted-structures/strong.json +0 -8
  532. package/src/permitted-structures/style.json +0 -8
  533. package/src/permitted-structures/sub.json +0 -8
  534. package/src/permitted-structures/summary.json +0 -19
  535. package/src/permitted-structures/sup.json +0 -8
  536. package/src/permitted-structures/svg_a.json +0 -24
  537. package/src/permitted-structures/svg_animate.json +0 -8
  538. package/src/permitted-structures/svg_animateMotion.json +0 -25
  539. package/src/permitted-structures/svg_animateTransform.json +0 -8
  540. package/src/permitted-structures/svg_circle.json +0 -17
  541. package/src/permitted-structures/svg_clipPath.json +0 -8
  542. package/src/permitted-structures/svg_defs.json +0 -26
  543. package/src/permitted-structures/svg_desc.json +0 -8
  544. package/src/permitted-structures/svg_discard.json +0 -8
  545. package/src/permitted-structures/svg_ellipse.json +0 -17
  546. package/src/permitted-structures/svg_feBlend.json +0 -8
  547. package/src/permitted-structures/svg_feColorMatrix.json +0 -8
  548. package/src/permitted-structures/svg_feComponentTransfer.json +0 -8
  549. package/src/permitted-structures/svg_feComposite.json +0 -8
  550. package/src/permitted-structures/svg_feConvolveMatrix.json +0 -8
  551. package/src/permitted-structures/svg_feDiffuseLighting.json +0 -25
  552. package/src/permitted-structures/svg_feDisplacementMap.json +0 -8
  553. package/src/permitted-structures/svg_feDistantLight.json +0 -8
  554. package/src/permitted-structures/svg_feDropShadow.json +0 -8
  555. package/src/permitted-structures/svg_feFlood.json +0 -8
  556. package/src/permitted-structures/svg_feFuncA.json +0 -8
  557. package/src/permitted-structures/svg_feFuncB.json +0 -8
  558. package/src/permitted-structures/svg_feFuncG.json +0 -8
  559. package/src/permitted-structures/svg_feFuncR.json +0 -8
  560. package/src/permitted-structures/svg_feGaussianBlur.json +0 -8
  561. package/src/permitted-structures/svg_feImage.json +0 -8
  562. package/src/permitted-structures/svg_feMerge.json +0 -8
  563. package/src/permitted-structures/svg_feMergeNode.json +0 -8
  564. package/src/permitted-structures/svg_feMorphology.json +0 -8
  565. package/src/permitted-structures/svg_feOffset.json +0 -8
  566. package/src/permitted-structures/svg_fePointLight.json +0 -8
  567. package/src/permitted-structures/svg_feSpecularLighting.json +0 -25
  568. package/src/permitted-structures/svg_feSpotLight.json +0 -8
  569. package/src/permitted-structures/svg_feTile.json +0 -8
  570. package/src/permitted-structures/svg_feTurbulence.json +0 -8
  571. package/src/permitted-structures/svg_filter.json +0 -8
  572. package/src/permitted-structures/svg_foreignObject.json +0 -4
  573. package/src/permitted-structures/svg_g.json +0 -26
  574. package/src/permitted-structures/svg_hatch.json +0 -8
  575. package/src/permitted-structures/svg_hatchpath.json +0 -8
  576. package/src/permitted-structures/svg_image.json +0 -8
  577. package/src/permitted-structures/svg_line.json +0 -17
  578. package/src/permitted-structures/svg_linearGradient.json +0 -16
  579. package/src/permitted-structures/svg_marker.json +0 -26
  580. package/src/permitted-structures/svg_mask.json +0 -32
  581. package/src/permitted-structures/svg_mesh.json +0 -20
  582. package/src/permitted-structures/svg_meshgradient.json +0 -16
  583. package/src/permitted-structures/svg_meshpatch.json +0 -9
  584. package/src/permitted-structures/svg_meshrow.json +0 -9
  585. package/src/permitted-structures/svg_metadata.json +0 -8
  586. package/src/permitted-structures/svg_mpath.json +0 -8
  587. package/src/permitted-structures/svg_path.json +0 -17
  588. package/src/permitted-structures/svg_pattern.json +0 -26
  589. package/src/permitted-structures/svg_polygon.json +0 -17
  590. package/src/permitted-structures/svg_polyline.json +0 -17
  591. package/src/permitted-structures/svg_radialGradient.json +0 -16
  592. package/src/permitted-structures/svg_rect.json +0 -17
  593. package/src/permitted-structures/svg_script.json +0 -8
  594. package/src/permitted-structures/svg_set.json +0 -8
  595. package/src/permitted-structures/svg_stop.json +0 -8
  596. package/src/permitted-structures/svg_style.json +0 -8
  597. package/src/permitted-structures/svg_svg.json +0 -30
  598. package/src/permitted-structures/svg_switch.json +0 -19
  599. package/src/permitted-structures/svg_symbol.json +0 -26
  600. package/src/permitted-structures/svg_text.json +0 -20
  601. package/src/permitted-structures/svg_textPath.json +0 -21
  602. package/src/permitted-structures/svg_title.json +0 -8
  603. package/src/permitted-structures/svg_tspan.json +0 -17
  604. package/src/permitted-structures/svg_use.json +0 -8
  605. package/src/permitted-structures/svg_view.json +0 -8
  606. package/src/permitted-structures/table.json +0 -49
  607. package/src/permitted-structures/tbody.json +0 -8
  608. package/src/permitted-structures/td.json +0 -8
  609. package/src/permitted-structures/template.json +0 -8
  610. package/src/permitted-structures/textarea.json +0 -8
  611. package/src/permitted-structures/tfoot.json +0 -8
  612. package/src/permitted-structures/th.json +0 -9
  613. package/src/permitted-structures/thead.json +0 -8
  614. package/src/permitted-structures/time.json +0 -8
  615. package/src/permitted-structures/title.json +0 -8
  616. package/src/permitted-structures/tr.json +0 -8
  617. package/src/permitted-structures/track.json +0 -4
  618. package/src/permitted-structures/u.json +0 -8
  619. package/src/permitted-structures/ul.json +0 -8
  620. package/src/permitted-structures/var.json +0 -8
  621. package/src/permitted-structures/video.json +0 -31
  622. package/src/permitted-structures/wbr.json +0 -4
  623. package/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,792 @@
1
+ // https://html.spec.whatwg.org/multipage/input.html#the-input-element
2
+ // https://www.w3.org/TR/html-aria/#el-input
3
+ // https://w3c.github.io/html-aria/#el-input
4
+ {
5
+ "contentModel": {
6
+ "contents": false
7
+ },
8
+ "globalAttrs": {
9
+ "#HTMLGlobalAttrs": true,
10
+ "#GlobalEventAttrs": true,
11
+ "#DocumentElementEventAttrs": true,
12
+ "#ARIAAttrs": true,
13
+ "#HTMLEmbededAndMediaContentAttrs": ["src", "height", "width"],
14
+ "#HTMLFormControlElementAttrs": [
15
+ "autocomplete",
16
+ "dirname",
17
+ "disabled",
18
+ "form",
19
+ "formaction",
20
+ "formenctype",
21
+ "formmethod",
22
+ "formnovalidate",
23
+ "formtarget",
24
+ "name",
25
+ "maxlength",
26
+ "minlength",
27
+ "readonly",
28
+ "required"
29
+ ]
30
+ },
31
+ "attributes": {
32
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-accept
33
+ "accept": {
34
+ "type": {
35
+ "token": "Accept",
36
+ "caseInsensitive": true,
37
+ "unique": true,
38
+ "separator": "comma"
39
+ },
40
+ "condition": "[type='file' i]"
41
+ },
42
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-alt
43
+ "alt": {
44
+ "type": "Any",
45
+ "condition": "[type='image' i]"
46
+ },
47
+ // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-autocomplete
48
+ "autocomplete": {
49
+ "condition": [
50
+ ":not([type])",
51
+ "[type='hidden' i]",
52
+ "[type='text' i]",
53
+ "[type='search' i]",
54
+ "[type='url' i]",
55
+ "[type='tel' i]",
56
+ "[type='email' i]",
57
+ "[type='password' i]",
58
+ "[type='date' i]",
59
+ "[type='month' i]",
60
+ "[type='week' i]",
61
+ "[type='time' i]",
62
+ "[type='datetime-local' i]",
63
+ "[type='number' i]",
64
+ "[type='range' i]",
65
+ "[type='color' i]"
66
+ ]
67
+ },
68
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-checked
69
+ "checked": {
70
+ "type": "Boolean",
71
+ "condition": ["[type='checkbox' i]", "[type='radio' i]"]
72
+ },
73
+ // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-dirname
74
+ "dirname": {
75
+ "condition": [":not([type])", "[type='text' i]", "[type='search' i]"]
76
+ },
77
+ // https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-height
78
+ "height": {
79
+ "condition": "[type='image' i]"
80
+ },
81
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-list
82
+ "list": {
83
+ "type": "DOMID",
84
+ "condition": [
85
+ ":not([type])",
86
+ "[type='text' i]",
87
+ "[type='search' i]",
88
+ "[type='url' i]",
89
+ "[type='tel' i]",
90
+ "[type='email' i]",
91
+ "[type='date' i]",
92
+ "[type='month' i]",
93
+ "[type='week' i]",
94
+ "[type='time' i]",
95
+ "[type='datetime-local' i]",
96
+ "[type='number' i]",
97
+ "[type='range' i]",
98
+ "[type='color' i]"
99
+ ]
100
+ },
101
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-max
102
+ "max": {
103
+ "type": ["DateTime", "Number"],
104
+ "condition": [
105
+ "[type='date' i]",
106
+ "[type='month' i]",
107
+ "[type='week' i]",
108
+ "[type='time' i]",
109
+ "[type='datetime-local' i]",
110
+ "[type='number' i]",
111
+ "[type='range' i]"
112
+ ]
113
+ },
114
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-maxlength
115
+ "maxlength": {
116
+ "condition": [
117
+ ":not([type])",
118
+ "[type='text' i]",
119
+ "[type='search' i]",
120
+ "[type='url' i]",
121
+ "[type='tel' i]",
122
+ "[type='email' i]",
123
+ "[type='password' i]"
124
+ ]
125
+ },
126
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-min
127
+ "min": {
128
+ "type": ["DateTime", "Number"],
129
+ "condition": [
130
+ "[type='date' i]",
131
+ "[type='month' i]",
132
+ "[type='week' i]",
133
+ "[type='time' i]",
134
+ "[type='datetime-local' i]",
135
+ "[type='number' i]",
136
+ "[type='range' i]"
137
+ ]
138
+ },
139
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-minlength
140
+ "minlength": {
141
+ "condition": [
142
+ ":not([type])",
143
+ "[type='text' i]",
144
+ "[type='search' i]",
145
+ "[type='url' i]",
146
+ "[type='tel' i]",
147
+ "[type='email' i]",
148
+ "[type='password' i]"
149
+ ]
150
+ },
151
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-multiple
152
+ "multiple": {
153
+ "type": "Boolean",
154
+ "condition": ["[type='email' i]", "[type='file' i]"]
155
+ },
156
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-pattern
157
+ "pattern": {
158
+ "type": "Pattern",
159
+ "condition": [
160
+ ":not([type])",
161
+ "[type='text' i]",
162
+ "[type='search' i]",
163
+ "[type='url' i]",
164
+ "[type='tel' i]",
165
+ "[type='email' i]",
166
+ "[type='password' i]"
167
+ ]
168
+ },
169
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-placeholder
170
+ "placeholder": {
171
+ "type": "OneLineAny",
172
+ "condition": [
173
+ ":not([type])",
174
+ "[type='text' i]",
175
+ "[type='search' i]",
176
+ "[type='url' i]",
177
+ "[type='tel' i]",
178
+ "[type='email' i]",
179
+ "[type='password' i]",
180
+ "[type='number' i]"
181
+ ]
182
+ },
183
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-readonly
184
+ "readonly": {
185
+ "condition": [
186
+ ":not([type])",
187
+ "[type='text' i]",
188
+ "[type='search' i]",
189
+ "[type='url' i]",
190
+ "[type='tel' i]",
191
+ "[type='email' i]",
192
+ "[type='password' i]",
193
+ "[type='date' i]",
194
+ "[type='month' i]",
195
+ "[type='week' i]",
196
+ "[type='time' i]",
197
+ "[type='datetime-local' i]",
198
+ "[type='number' i]"
199
+ ]
200
+ },
201
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-required
202
+ "required": {
203
+ "condition": [
204
+ ":not([type])",
205
+ "[type='text' i]",
206
+ "[type='search' i]",
207
+ "[type='url' i]",
208
+ "[type='tel' i]",
209
+ "[type='email' i]",
210
+ "[type='password' i]",
211
+ "[type='date' i]",
212
+ "[type='month' i]",
213
+ "[type='week' i]",
214
+ "[type='time' i]",
215
+ "[type='datetime-local' i]",
216
+ "[type='number' i]",
217
+ "[type='checkbox' i]",
218
+ "[type='radio' i]",
219
+ "[type='file' i]"
220
+ ]
221
+ },
222
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-size
223
+ "size": {
224
+ "type": {
225
+ "type": "integer",
226
+ "gt": 0
227
+ },
228
+ "condition": [
229
+ ":not([type])",
230
+ "[type='text' i]",
231
+ "[type='search' i]",
232
+ "[type='url' i]",
233
+ "[type='tel' i]",
234
+ "[type='email' i]",
235
+ "[type='password' i]"
236
+ ],
237
+ "defaultValue": "20"
238
+ },
239
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-src
240
+ "src": {
241
+ "condition": "[type='image' i]"
242
+ },
243
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-step
244
+ "step": {
245
+ "type": [
246
+ "Number",
247
+ {
248
+ "enum": ["any"],
249
+ "caseInsensitive": true
250
+ }
251
+ ],
252
+ "condition": [
253
+ "[type='date' i]",
254
+ "[type='month' i]",
255
+ "[type='week' i]",
256
+ "[type='time' i]",
257
+ "[type='datetime-local' i]",
258
+ "[type='number' i]",
259
+ "[type='range' i]"
260
+ ]
261
+ },
262
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-type
263
+ "type": {
264
+ "type": {
265
+ "enum": [
266
+ "hidden",
267
+ "text",
268
+ "search",
269
+ "tel",
270
+ "url",
271
+ "email",
272
+ "password",
273
+ "date",
274
+ "month",
275
+ "week",
276
+ "time",
277
+ "datetime-local",
278
+ "number",
279
+ "range",
280
+ "color",
281
+ "checkbox",
282
+ "radio",
283
+ "file",
284
+ "submit",
285
+ "image",
286
+ "reset",
287
+ "button"
288
+ ],
289
+ "invalidValueDefault": "text",
290
+ "missingValueDefault": "text"
291
+ },
292
+ "defaultValue": "text"
293
+ },
294
+ // https://html.spec.whatwg.org/multipage/input.html#attr-input-value
295
+ "value": {
296
+ // The `type` attribute determines the type
297
+ "type": "Any"
298
+ },
299
+ // https://html.spec.whatwg.org/multipage/embedded-content-other.html#attr-dim-width
300
+ "width": {
301
+ "condition": "[type='image' i]"
302
+ }
303
+ },
304
+ "aria": {
305
+ // No condition:
306
+ // > input type=text or with a missing or invalid type, with no list attribute
307
+ // @see https://w3c.github.io/html-aria/#el-input-text
308
+ "implicitRole": "textbox",
309
+ "permittedRoles": ["combobox", "searchbox", "spinbutton"],
310
+ "conditions": {
311
+ "[type='button' i]": {
312
+ "implicitRole": "button",
313
+ "permittedRoles": [
314
+ "checkbox",
315
+ "combobox",
316
+ "link",
317
+ "menuitem",
318
+ "menuitemcheckbox",
319
+ "menuitemradio",
320
+ "option",
321
+ "radio",
322
+ "switch",
323
+ "tab"
324
+ ]
325
+ },
326
+ "[type='checkbox' i]": {
327
+ "implicitRole": "checkbox",
328
+ // Roles: menuitemcheckbox, option or switch;
329
+ "permittedRoles": ["menuitemcheckbox", "option", "switch"],
330
+ "properties": {
331
+ // Otherwise, any global aria-* attributes and any aria-* attributes applicable to the allowed roles.
332
+ "global": true,
333
+ "role": true,
334
+ "whithout": [
335
+ {
336
+ // Authors MUST NOT use the aria-checked attribute on input type=checkbox elements.
337
+ "type": "must-not",
338
+ "name": "aria-checked",
339
+ // The HTML checked attribute can be used instead of the aria-checked attribute for menuitemcheckbox, option or switch roles when used on type=checkbox.
340
+ "alt": {
341
+ "method": "set-attr",
342
+ "target": "checked"
343
+ }
344
+ }
345
+ ]
346
+ }
347
+ },
348
+ "[type='checkbox' i][aria-pressed]": {
349
+ "implicitRole": "checkbox",
350
+ // button if used with aria-pressed.
351
+ "permittedRoles": ["button"],
352
+ "properties": {
353
+ // Otherwise, any global aria-* attributes and any aria-* attributes applicable to the allowed roles.
354
+ "global": true,
355
+ "role": true,
356
+ "whithout": [
357
+ {
358
+ // Authors MUST NOT use the aria-checked attribute on input type=checkbox elements.
359
+ "type": "must-not",
360
+ "name": "aria-checked",
361
+ // The HTML checked attribute can be used instead of the aria-checked attribute for menuitemcheckbox, option or switch roles when used on type=checkbox.
362
+ "alt": {
363
+ "method": "set-attr",
364
+ "target": "checked"
365
+ }
366
+ }
367
+ ]
368
+ }
369
+ },
370
+ "[type='color' i]": {
371
+ "implicitRole": false,
372
+ "permittedRoles": false,
373
+ "properties": {
374
+ "global": true
375
+ }
376
+ },
377
+ "[type='date' i]": {
378
+ "implicitRole": false,
379
+ "permittedRoles": false,
380
+ "properties": {
381
+ "global": true,
382
+ "role": "textbox"
383
+ }
384
+ },
385
+ "[type='datetime-local' i]": {
386
+ "permittedRoles": false,
387
+ "properties": {
388
+ "global": true,
389
+ "role": "textbox"
390
+ }
391
+ },
392
+ "[type='email' i]:not([list])": {
393
+ "implicitRole": "textbox",
394
+ "permittedRoles": false,
395
+ "properties": {
396
+ "global": true,
397
+ "role": "textbox"
398
+ }
399
+ },
400
+ "[type='file' i]": {
401
+ "implicitRole": false,
402
+ "permittedRoles": false,
403
+ "properties": {
404
+ "global": true
405
+ }
406
+ },
407
+ "[type='hidden' i]": {
408
+ "implicitRole": false,
409
+ "permittedRoles": false,
410
+ "properties": false
411
+ },
412
+ "[type='image' i]": {
413
+ "implicitRole": "button",
414
+ "permittedRoles": ["link", "menuitem", "menuitemcheckbox", "menuitemradio", "radio", "switch"]
415
+ },
416
+ "[type='month' i]": {
417
+ "implicitRole": false,
418
+ "permittedRoles": false,
419
+ "properties": {
420
+ "global": true,
421
+ "role": "textbox"
422
+ }
423
+ },
424
+ "[type='number' i]": {
425
+ "implicitRole": "spinbutton",
426
+ "permittedRoles": false,
427
+ "properties": {
428
+ "global": true,
429
+ "role": "spinbutton"
430
+ }
431
+ },
432
+ "[type='password' i]": {
433
+ "implicitRole": false,
434
+ "permittedRoles": false,
435
+ "properties": {
436
+ "global": true,
437
+ "role": "textbox"
438
+ }
439
+ },
440
+ "[type='radio' i]": {
441
+ "implicitRole": "radio",
442
+ "permittedRoles": ["menuitemradio"],
443
+ "properties": {
444
+ "global": true,
445
+ "role": true,
446
+ "whithout": [
447
+ {
448
+ // Authors MUST NOT use the aria-checked attribute on input type=radio elements.
449
+ "type": "must-not",
450
+ "name": "aria-checked",
451
+ // The HTML checked attribute can be used instead of the aria-checked attribute for the menuitemradio role when used on type=radio.
452
+ "alt": {
453
+ "method": "set-attr",
454
+ "target": "checked"
455
+ }
456
+ }
457
+ ]
458
+ }
459
+ },
460
+ "[type='range' i]": {
461
+ "implicitRole": "slider",
462
+ "permittedRoles": false,
463
+ "properties": {
464
+ "global": true,
465
+ "role": "slider",
466
+ // Authors SHOULD NOT use the aria-valuemax or aria-valuemin attributes on input type=range.
467
+ "whithout": [
468
+ {
469
+ "type": "should-not",
470
+ "name": "aria-valuemax"
471
+ },
472
+ {
473
+ "type": "should-not",
474
+ "name": "aria-valuemin"
475
+ }
476
+ ]
477
+ }
478
+ },
479
+ "[type='reset' i]": {
480
+ "implicitRole": "button",
481
+ "permittedRoles": false,
482
+ "properties": {
483
+ "global": true,
484
+ "role": "button"
485
+ }
486
+ },
487
+ "[type='search' i]:not([list])": {
488
+ "implicitRole": "searchbox",
489
+ "permittedRoles": false,
490
+ "properties": {
491
+ "global": true,
492
+ "role": "searchbox"
493
+ }
494
+ },
495
+ "[type='submit' i]": {
496
+ "implicitRole": "button",
497
+ "permittedRoles": false,
498
+ "properties": {
499
+ "global": true,
500
+ "role": "button"
501
+ }
502
+ },
503
+ "[type='tel' i]:not([list])": {
504
+ "implicitRole": "textbox",
505
+ "permittedRoles": false,
506
+ "properties": {
507
+ "global": true,
508
+ "role": "textbox"
509
+ }
510
+ },
511
+ ":is(:not([type]), [type='text' i], [type='search' i], [type='tel' i], [type='url' i], [type='email' i])[list]": {
512
+ "implicitRole": "combobox",
513
+ "permittedRoles": false,
514
+ "properties": {
515
+ "global": true,
516
+ "role": "combobox",
517
+ // Authors SHOULD NOT use the aria-haspopup attribute on the indicated inputs with a list attribute.
518
+ "whithout": [
519
+ {
520
+ "type": "should-not",
521
+ "name": "aria-haspopup"
522
+ }
523
+ ]
524
+ }
525
+ },
526
+ "[type='time' i]": {
527
+ "implicitRole": false,
528
+ "permittedRoles": false,
529
+ "properties": {
530
+ "global": true,
531
+ "role": "textbox"
532
+ }
533
+ },
534
+ "[type='url' i]:not([list])": {
535
+ "implicitRole": "textbox",
536
+ "permittedRoles": false,
537
+ "properties": {
538
+ "global": true,
539
+ "role": "textbox"
540
+ }
541
+ },
542
+ "[type='week' i]": {
543
+ "implicitRole": false,
544
+ "permittedRoles": false,
545
+ "properties": {
546
+ "global": true,
547
+ "role": "textbox"
548
+ }
549
+ }
550
+ },
551
+ "1.1": {
552
+ // No condition:
553
+ // > input type=text or with a missing or invalid type, with no list attribute
554
+ // https://www.w3.org/TR/html-aria/#el-input-text
555
+ "implicitRole": "textbox",
556
+ "permittedRoles": ["combobox", "searchbox", "spinbutton"],
557
+ "conditions": {
558
+ "[type='button' i]": {
559
+ "implicitRole": "button",
560
+ "permittedRoles": [
561
+ "link",
562
+ "menuitem",
563
+ "menuitemcheckbox",
564
+ "menuitemradio",
565
+ "option",
566
+ "radio",
567
+ "switch",
568
+ "tab"
569
+ ]
570
+ },
571
+ "[type='checkbox' i]": {
572
+ "implicitRole": "checkbox",
573
+ // Roles: menuitemcheckbox, option or switch;
574
+ "permittedRoles": ["menuitemcheckbox", "option", "switch"],
575
+ "properties": {
576
+ // Authors SHOULD NOT use the aria-checked attribute on input type=checkbox elements.
577
+ // Otherwise, any global aria-* attributes and any aria-* attributes applicable to the allowed roles.
578
+ "global": true,
579
+ "role": true,
580
+ "whithout": [
581
+ {
582
+ "type": "should-not",
583
+ "name": "aria-checked", // The HTML checked attribute can be used instead of the aria-checked attribute for menuitemcheckbox, option or switch roles when used on type=checkbox.
584
+ "alt": {
585
+ "method": "set-attr",
586
+ "target": "checked"
587
+ }
588
+ }
589
+ ]
590
+ }
591
+ },
592
+ "[type='checkbox' i][aria-pressed]": {
593
+ "implicitRole": "checkbox",
594
+ // button if used with aria-pressed.
595
+ "permittedRoles": ["button"],
596
+ "properties": {
597
+ // Authors SHOULD NOT use the aria-checked attribute on input type=checkbox elements.
598
+ // Otherwise, any global aria-* attributes and any aria-* attributes applicable to the allowed roles.
599
+ "global": true,
600
+ "role": true,
601
+ "whithout": [
602
+ {
603
+ "type": "should-not",
604
+ "name": "aria-hecked"
605
+ }
606
+ ]
607
+ }
608
+ },
609
+ "[type='color' i]": {
610
+ "implicitRole": false,
611
+ "permittedRoles": false,
612
+ "properties": {
613
+ "global": true
614
+ }
615
+ },
616
+ "[type='date' i]": {
617
+ "implicitRole": false,
618
+ "permittedRoles": false,
619
+ "properties": {
620
+ "global": true,
621
+ "role": "textbox"
622
+ }
623
+ },
624
+ "[type='datetime-local' i]": {
625
+ "permittedRoles": false,
626
+ "properties": {
627
+ "global": true,
628
+ "role": "textbox"
629
+ }
630
+ },
631
+ "[type='email' i]:not([list])": {
632
+ "implicitRole": "textbox",
633
+ "permittedRoles": false,
634
+ "properties": {
635
+ "global": true,
636
+ "role": "textbox"
637
+ }
638
+ },
639
+ "[type='file' i]": {
640
+ "implicitRole": false,
641
+ "permittedRoles": false,
642
+ "properties": {
643
+ "global": true
644
+ }
645
+ },
646
+ "[type='hidden' i]": {
647
+ "implicitRole": false,
648
+ "permittedRoles": false,
649
+ "properties": false
650
+ },
651
+ "[type='image' i]": {
652
+ "implicitRole": "button",
653
+ "permittedRoles": ["link", "menuitem", "menuitemcheckbox", "menuitemradio", "radio", "switch"]
654
+ },
655
+ "[type='month' i]": {
656
+ "implicitRole": false,
657
+ "permittedRoles": false,
658
+ "properties": {
659
+ "global": true,
660
+ "role": "textbox"
661
+ }
662
+ },
663
+ "[type='number' i]": {
664
+ "implicitRole": "spinbutton",
665
+ "permittedRoles": false,
666
+ "properties": {
667
+ "global": true,
668
+ "role": "spinbutton"
669
+ }
670
+ },
671
+ "[type='password' i]": {
672
+ "implicitRole": false,
673
+ "permittedRoles": false,
674
+ "properties": {
675
+ "global": true,
676
+ "role": "textbox"
677
+ }
678
+ },
679
+ "[type='radio' i]": {
680
+ "implicitRole": "radio",
681
+ "permittedRoles": ["menuitemradio"],
682
+ "properties": {
683
+ "global": true,
684
+ "role": true,
685
+ // Authors SHOULD NOT use the aria-checked attribute on input type=radio elements.
686
+ "whithout": [
687
+ {
688
+ "type": "should-not",
689
+ "name": "aria-checked",
690
+ // The HTML checked attribute can be used instead of the aria-checked attribute for the menuitemradio role when used on type=radio.
691
+ "alt": {
692
+ "method": "set-attr",
693
+ "target": "checked"
694
+ }
695
+ }
696
+ ]
697
+ }
698
+ },
699
+ "[type='range' i]": {
700
+ "implicitRole": "slider",
701
+ "permittedRoles": false,
702
+ "properties": {
703
+ "global": true,
704
+ "role": "slider",
705
+ // Authors SHOULD NOT use the aria-valuemax or aria-valuemin attributes on input type=range.
706
+ "whithout": [
707
+ {
708
+ "type": "should-not",
709
+ "name": "aria-valuemax"
710
+ },
711
+ {
712
+ "type": "should-not",
713
+ "name": "aria-valuemin"
714
+ }
715
+ ]
716
+ }
717
+ },
718
+ "[type='reset' i]": {
719
+ "implicitRole": "button",
720
+ "permittedRoles": false,
721
+ "properties": {
722
+ "global": true,
723
+ "role": "button"
724
+ }
725
+ },
726
+ "[type='search' i]:not([list])": {
727
+ "implicitRole": "searchbox",
728
+ "permittedRoles": false,
729
+ "properties": {
730
+ "global": true,
731
+ "role": "searchbox"
732
+ }
733
+ },
734
+ "[type='submit' i]": {
735
+ "implicitRole": "button",
736
+ "permittedRoles": false,
737
+ "properties": {
738
+ "global": true,
739
+ "role": "button"
740
+ }
741
+ },
742
+ "[type='tel' i]:not([list])": {
743
+ "implicitRole": "textbox",
744
+ "permittedRoles": false,
745
+ "properties": {
746
+ "global": true,
747
+ "role": "textbox"
748
+ }
749
+ },
750
+ ":is(:not([type]), [type='text' i], [type='search' i], [type='tel' i], [type='url' i], [type='email' i])[list]": {
751
+ "implicitRole": "combobox",
752
+ "permittedRoles": false,
753
+ "properties": {
754
+ "global": true,
755
+ "role": "combobox",
756
+ // Authors SHOULD NOT use the aria-haspopup attribute on the indicated inputs with a list attribute.
757
+ "whithout": [
758
+ {
759
+ "type": "should-not",
760
+ "name": "aria-haspopup"
761
+ }
762
+ ]
763
+ }
764
+ },
765
+ "[type='time' i]": {
766
+ "implicitRole": false,
767
+ "permittedRoles": false,
768
+ "properties": {
769
+ "global": true,
770
+ "role": "textbox"
771
+ }
772
+ },
773
+ "[type='url' i]:not([list])": {
774
+ "implicitRole": "textbox",
775
+ "permittedRoles": false,
776
+ "properties": {
777
+ "global": true,
778
+ "role": "textbox"
779
+ }
780
+ },
781
+ "[type='week' i]": {
782
+ "implicitRole": false,
783
+ "permittedRoles": false,
784
+ "properties": {
785
+ "global": true,
786
+ "role": "textbox"
787
+ }
788
+ }
789
+ }
790
+ }
791
+ }
792
+ }