@accesslint/core 0.7.0 → 0.8.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 (400) hide show
  1. package/README.md +104 -98
  2. package/dist/index.cjs +5 -5
  3. package/dist/index.d.ts +2 -2
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.iife.js +5 -5
  6. package/dist/index.js +3948 -3773
  7. package/dist/rules/adaptable/aria-required-children.d.ts +3 -0
  8. package/dist/rules/adaptable/aria-required-children.d.ts.map +1 -0
  9. package/dist/rules/adaptable/aria-required-parent.d.ts +3 -0
  10. package/dist/rules/adaptable/aria-required-parent.d.ts.map +1 -0
  11. package/dist/rules/adaptable/autocomplete-valid.d.ts +3 -0
  12. package/dist/rules/adaptable/autocomplete-valid.d.ts.map +1 -0
  13. package/dist/rules/adaptable/definition-list.d.ts +2 -0
  14. package/dist/rules/adaptable/definition-list.d.ts.map +1 -0
  15. package/dist/rules/adaptable/dl-children.d.ts +3 -0
  16. package/dist/rules/adaptable/dl-children.d.ts.map +1 -0
  17. package/dist/rules/adaptable/empty-table-header.d.ts +3 -0
  18. package/dist/rules/adaptable/empty-table-header.d.ts.map +1 -0
  19. package/dist/rules/adaptable/list-children.d.ts +2 -0
  20. package/dist/rules/adaptable/list-children.d.ts.map +1 -0
  21. package/dist/rules/adaptable/listitem-parent.d.ts +3 -0
  22. package/dist/rules/adaptable/listitem-parent.d.ts.map +1 -0
  23. package/dist/rules/adaptable/orientation-lock.d.ts +3 -0
  24. package/dist/rules/adaptable/orientation-lock.d.ts.map +1 -0
  25. package/dist/rules/adaptable/scope-attr-valid.d.ts +3 -0
  26. package/dist/rules/adaptable/scope-attr-valid.d.ts.map +1 -0
  27. package/dist/rules/{tables/utils.d.ts → adaptable/table-utils.d.ts} +1 -1
  28. package/dist/rules/adaptable/table-utils.d.ts.map +1 -0
  29. package/dist/rules/adaptable/td-has-header.d.ts +3 -0
  30. package/dist/rules/adaptable/td-has-header.d.ts.map +1 -0
  31. package/dist/rules/adaptable/td-headers-attr.d.ts +3 -0
  32. package/dist/rules/adaptable/td-headers-attr.d.ts.map +1 -0
  33. package/dist/rules/adaptable/th-has-data-cells.d.ts +3 -0
  34. package/dist/rules/adaptable/th-has-data-cells.d.ts.map +1 -0
  35. package/dist/rules/aria/aria-allowed-attr.d.ts +3 -0
  36. package/dist/rules/aria/aria-allowed-attr.d.ts.map +1 -0
  37. package/dist/rules/aria/aria-allowed-role.d.ts +3 -0
  38. package/dist/rules/aria/aria-allowed-role.d.ts.map +1 -0
  39. package/dist/rules/aria/aria-attr-audit.d.ts.map +1 -1
  40. package/dist/rules/aria/aria-hidden-body.d.ts +2 -0
  41. package/dist/rules/aria/aria-hidden-body.d.ts.map +1 -0
  42. package/dist/rules/aria/aria-hidden-focus.d.ts +3 -0
  43. package/dist/rules/aria/aria-hidden-focus.d.ts.map +1 -0
  44. package/dist/rules/aria/aria-prohibited-attr.d.ts +3 -0
  45. package/dist/rules/aria/aria-prohibited-attr.d.ts.map +1 -0
  46. package/dist/rules/aria/aria-required-attr.d.ts +3 -0
  47. package/dist/rules/aria/aria-required-attr.d.ts.map +1 -0
  48. package/dist/rules/aria/aria-roles.d.ts +3 -0
  49. package/dist/rules/aria/aria-roles.d.ts.map +1 -0
  50. package/dist/rules/aria/aria-valid-attr-value.d.ts +3 -0
  51. package/dist/rules/aria/aria-valid-attr-value.d.ts.map +1 -0
  52. package/dist/rules/aria/aria-valid-attr.d.ts +3 -0
  53. package/dist/rules/aria/aria-valid-attr.d.ts.map +1 -0
  54. package/dist/rules/aria/presentation-role-conflict.d.ts +3 -0
  55. package/dist/rules/aria/presentation-role-conflict.d.ts.map +1 -0
  56. package/dist/rules/aria/presentational-children-focusable.d.ts +3 -0
  57. package/dist/rules/aria/presentational-children-focusable.d.ts.map +1 -0
  58. package/dist/rules/distinguishable/color-contrast-enhanced.d.ts +3 -0
  59. package/dist/rules/distinguishable/color-contrast-enhanced.d.ts.map +1 -0
  60. package/dist/rules/distinguishable/color-contrast-helpers.d.ts.map +1 -0
  61. package/dist/rules/distinguishable/color-contrast.d.ts +3 -0
  62. package/dist/rules/distinguishable/color-contrast.d.ts.map +1 -0
  63. package/dist/rules/distinguishable/letter-spacing.d.ts +3 -0
  64. package/dist/rules/distinguishable/letter-spacing.d.ts.map +1 -0
  65. package/dist/rules/distinguishable/line-height.d.ts +3 -0
  66. package/dist/rules/distinguishable/line-height.d.ts.map +1 -0
  67. package/dist/rules/distinguishable/link-in-text-block.d.ts +3 -0
  68. package/dist/rules/distinguishable/link-in-text-block.d.ts.map +1 -0
  69. package/dist/rules/distinguishable/meta-viewport.d.ts +3 -0
  70. package/dist/rules/distinguishable/meta-viewport.d.ts.map +1 -0
  71. package/dist/rules/distinguishable/text-spacing-helpers.d.ts.map +1 -0
  72. package/dist/rules/distinguishable/word-spacing.d.ts +3 -0
  73. package/dist/rules/distinguishable/word-spacing.d.ts.map +1 -0
  74. package/dist/rules/engine.d.ts.map +1 -1
  75. package/dist/rules/enough-time/blink.d.ts +2 -0
  76. package/dist/rules/enough-time/blink.d.ts.map +1 -0
  77. package/dist/rules/enough-time/marquee.d.ts +2 -0
  78. package/dist/rules/enough-time/marquee.d.ts.map +1 -0
  79. package/dist/rules/enough-time/meta-refresh-no-exception.d.ts +3 -0
  80. package/dist/rules/enough-time/meta-refresh-no-exception.d.ts.map +1 -0
  81. package/dist/rules/enough-time/meta-refresh.d.ts +3 -0
  82. package/dist/rules/enough-time/meta-refresh.d.ts.map +1 -0
  83. package/dist/rules/index.d.ts +9 -1
  84. package/dist/rules/index.d.ts.map +1 -1
  85. package/dist/rules/keyboard-accessible/accesskeys.d.ts +3 -0
  86. package/dist/rules/keyboard-accessible/accesskeys.d.ts.map +1 -0
  87. package/dist/rules/keyboard-accessible/focus-order.d.ts +3 -0
  88. package/dist/rules/keyboard-accessible/focus-order.d.ts.map +1 -0
  89. package/dist/rules/keyboard-accessible/focus-visible.d.ts +3 -0
  90. package/dist/rules/keyboard-accessible/focus-visible.d.ts.map +1 -0
  91. package/dist/rules/keyboard-accessible/nested-interactive.d.ts +3 -0
  92. package/dist/rules/keyboard-accessible/nested-interactive.d.ts.map +1 -0
  93. package/dist/rules/keyboard-accessible/scrollable-region.d.ts +3 -0
  94. package/dist/rules/keyboard-accessible/scrollable-region.d.ts.map +1 -0
  95. package/dist/rules/keyboard-accessible/server-image-map.d.ts +2 -0
  96. package/dist/rules/keyboard-accessible/server-image-map.d.ts.map +1 -0
  97. package/dist/rules/keyboard-accessible/tabindex.d.ts +2 -0
  98. package/dist/rules/keyboard-accessible/tabindex.d.ts.map +1 -0
  99. package/dist/rules/labels-and-names/aria-command-name.d.ts +3 -0
  100. package/dist/rules/labels-and-names/aria-command-name.d.ts.map +1 -0
  101. package/dist/rules/labels-and-names/aria-dialog-name.d.ts +3 -0
  102. package/dist/rules/labels-and-names/aria-dialog-name.d.ts.map +1 -0
  103. package/dist/rules/{keyboard/accesslint-027.d.ts → labels-and-names/aria-input-field-name.d.ts} +2 -2
  104. package/dist/rules/labels-and-names/aria-input-field-name.d.ts.map +1 -0
  105. package/dist/rules/labels-and-names/aria-meter-name.d.ts +3 -0
  106. package/dist/rules/labels-and-names/aria-meter-name.d.ts.map +1 -0
  107. package/dist/rules/{aria → labels-and-names}/aria-name-helpers.d.ts +4 -2
  108. package/dist/rules/labels-and-names/aria-name-helpers.d.ts.map +1 -0
  109. package/dist/rules/labels-and-names/aria-progressbar-name.d.ts +3 -0
  110. package/dist/rules/labels-and-names/aria-progressbar-name.d.ts.map +1 -0
  111. package/dist/rules/labels-and-names/aria-toggle-field-name.d.ts +2 -0
  112. package/dist/rules/labels-and-names/aria-toggle-field-name.d.ts.map +1 -0
  113. package/dist/rules/labels-and-names/aria-tooltip-name.d.ts +3 -0
  114. package/dist/rules/labels-and-names/aria-tooltip-name.d.ts.map +1 -0
  115. package/dist/rules/labels-and-names/aria-treeitem-name.d.ts +3 -0
  116. package/dist/rules/labels-and-names/aria-treeitem-name.d.ts.map +1 -0
  117. package/dist/rules/labels-and-names/button-name.d.ts +3 -0
  118. package/dist/rules/labels-and-names/button-name.d.ts.map +1 -0
  119. package/dist/rules/labels-and-names/duplicate-id-aria.d.ts +3 -0
  120. package/dist/rules/labels-and-names/duplicate-id-aria.d.ts.map +1 -0
  121. package/dist/rules/{forms/constants.d.ts → labels-and-names/form-constants.d.ts} +1 -1
  122. package/dist/rules/labels-and-names/form-constants.d.ts.map +1 -0
  123. package/dist/rules/labels-and-names/form-label.d.ts +3 -0
  124. package/dist/rules/labels-and-names/form-label.d.ts.map +1 -0
  125. package/dist/rules/labels-and-names/frame-title-unique.d.ts +3 -0
  126. package/dist/rules/labels-and-names/frame-title-unique.d.ts.map +1 -0
  127. package/dist/rules/labels-and-names/frame-title.d.ts +3 -0
  128. package/dist/rules/labels-and-names/frame-title.d.ts.map +1 -0
  129. package/dist/rules/{parsing/constants.d.ts → labels-and-names/id-ref-constants.d.ts} +1 -1
  130. package/dist/rules/labels-and-names/id-ref-constants.d.ts.map +1 -0
  131. package/dist/rules/labels-and-names/input-button-name.d.ts +3 -0
  132. package/dist/rules/labels-and-names/input-button-name.d.ts.map +1 -0
  133. package/dist/rules/labels-and-names/label-content-mismatch.d.ts +3 -0
  134. package/dist/rules/labels-and-names/label-content-mismatch.d.ts.map +1 -0
  135. package/dist/rules/labels-and-names/label-title-only.d.ts +3 -0
  136. package/dist/rules/labels-and-names/label-title-only.d.ts.map +1 -0
  137. package/dist/rules/labels-and-names/multiple-labels.d.ts +3 -0
  138. package/dist/rules/labels-and-names/multiple-labels.d.ts.map +1 -0
  139. package/dist/rules/labels-and-names/summary-name.d.ts +3 -0
  140. package/dist/rules/labels-and-names/summary-name.d.ts.map +1 -0
  141. package/dist/rules/landmarks/banner-is-top-level.d.ts +2 -0
  142. package/dist/rules/landmarks/banner-is-top-level.d.ts.map +1 -0
  143. package/dist/rules/landmarks/complementary-is-top-level.d.ts +3 -0
  144. package/dist/rules/landmarks/complementary-is-top-level.d.ts.map +1 -0
  145. package/dist/rules/{structure → landmarks}/constants.d.ts +0 -2
  146. package/dist/rules/{structure → landmarks}/constants.d.ts.map +1 -1
  147. package/dist/rules/landmarks/contentinfo-is-top-level.d.ts +2 -0
  148. package/dist/rules/landmarks/contentinfo-is-top-level.d.ts.map +1 -0
  149. package/dist/rules/landmarks/landmark-main.d.ts +3 -0
  150. package/dist/rules/landmarks/landmark-main.d.ts.map +1 -0
  151. package/dist/rules/landmarks/landmark-unique.d.ts +3 -0
  152. package/dist/rules/landmarks/landmark-unique.d.ts.map +1 -0
  153. package/dist/rules/landmarks/main-is-top-level.d.ts +3 -0
  154. package/dist/rules/landmarks/main-is-top-level.d.ts.map +1 -0
  155. package/dist/rules/landmarks/no-duplicate-banner.d.ts +2 -0
  156. package/dist/rules/landmarks/no-duplicate-banner.d.ts.map +1 -0
  157. package/dist/rules/landmarks/no-duplicate-contentinfo.d.ts +2 -0
  158. package/dist/rules/landmarks/no-duplicate-contentinfo.d.ts.map +1 -0
  159. package/dist/rules/landmarks/no-duplicate-main.d.ts +2 -0
  160. package/dist/rules/landmarks/no-duplicate-main.d.ts.map +1 -0
  161. package/dist/rules/landmarks/region.d.ts +3 -0
  162. package/dist/rules/landmarks/region.d.ts.map +1 -0
  163. package/dist/rules/navigable/bypass.d.ts +3 -0
  164. package/dist/rules/navigable/bypass.d.ts.map +1 -0
  165. package/dist/rules/navigable/document-title.d.ts +3 -0
  166. package/dist/rules/navigable/document-title.d.ts.map +1 -0
  167. package/dist/rules/navigable/empty-heading.d.ts +3 -0
  168. package/dist/rules/navigable/empty-heading.d.ts.map +1 -0
  169. package/dist/rules/navigable/heading-order.d.ts +3 -0
  170. package/dist/rules/navigable/heading-order.d.ts.map +1 -0
  171. package/dist/rules/navigable/link-name.d.ts +3 -0
  172. package/dist/rules/navigable/link-name.d.ts.map +1 -0
  173. package/dist/rules/navigable/p-as-heading.d.ts +3 -0
  174. package/dist/rules/navigable/p-as-heading.d.ts.map +1 -0
  175. package/dist/rules/navigable/page-has-heading-one.d.ts +3 -0
  176. package/dist/rules/navigable/page-has-heading-one.d.ts.map +1 -0
  177. package/dist/rules/navigable/skip-link.d.ts +3 -0
  178. package/dist/rules/navigable/skip-link.d.ts.map +1 -0
  179. package/dist/rules/{language → readable}/constants.d.ts.map +1 -1
  180. package/dist/rules/readable/html-has-lang.d.ts +3 -0
  181. package/dist/rules/readable/html-has-lang.d.ts.map +1 -0
  182. package/dist/rules/readable/html-lang-valid.d.ts +3 -0
  183. package/dist/rules/readable/html-lang-valid.d.ts.map +1 -0
  184. package/dist/rules/readable/html-xml-lang-mismatch.d.ts +3 -0
  185. package/dist/rules/readable/html-xml-lang-mismatch.d.ts.map +1 -0
  186. package/dist/rules/readable/valid-lang.d.ts +3 -0
  187. package/dist/rules/readable/valid-lang.d.ts.map +1 -0
  188. package/dist/rules/text-alternatives/area-alt.d.ts +3 -0
  189. package/dist/rules/text-alternatives/area-alt.d.ts.map +1 -0
  190. package/dist/rules/{images/accesslint-015.d.ts → text-alternatives/image-alt-words.d.ts} +2 -2
  191. package/dist/rules/text-alternatives/image-alt-words.d.ts.map +1 -0
  192. package/dist/rules/{images/accesslint-014.d.ts → text-alternatives/image-redundant-alt.d.ts} +2 -2
  193. package/dist/rules/text-alternatives/image-redundant-alt.d.ts.map +1 -0
  194. package/dist/rules/text-alternatives/img-alt.d.ts +3 -0
  195. package/dist/rules/text-alternatives/img-alt.d.ts.map +1 -0
  196. package/dist/rules/text-alternatives/input-image-alt.d.ts +3 -0
  197. package/dist/rules/text-alternatives/input-image-alt.d.ts.map +1 -0
  198. package/dist/rules/text-alternatives/object-alt.d.ts +3 -0
  199. package/dist/rules/text-alternatives/object-alt.d.ts.map +1 -0
  200. package/dist/rules/text-alternatives/role-img-alt.d.ts +3 -0
  201. package/dist/rules/text-alternatives/role-img-alt.d.ts.map +1 -0
  202. package/dist/rules/text-alternatives/svg-img-alt.d.ts +3 -0
  203. package/dist/rules/text-alternatives/svg-img-alt.d.ts.map +1 -0
  204. package/dist/rules/time-based-media/audio-transcript.d.ts +3 -0
  205. package/dist/rules/time-based-media/audio-transcript.d.ts.map +1 -0
  206. package/dist/rules/time-based-media/video-captions.d.ts +3 -0
  207. package/dist/rules/time-based-media/video-captions.d.ts.map +1 -0
  208. package/dist/rules/types.d.ts +50 -6
  209. package/dist/rules/types.d.ts.map +1 -1
  210. package/package.json +1 -1
  211. package/dist/rules/aria/accesslint-054.d.ts +0 -3
  212. package/dist/rules/aria/accesslint-054.d.ts.map +0 -1
  213. package/dist/rules/aria/accesslint-055.d.ts +0 -3
  214. package/dist/rules/aria/accesslint-055.d.ts.map +0 -1
  215. package/dist/rules/aria/accesslint-056.d.ts +0 -3
  216. package/dist/rules/aria/accesslint-056.d.ts.map +0 -1
  217. package/dist/rules/aria/accesslint-057.d.ts +0 -3
  218. package/dist/rules/aria/accesslint-057.d.ts.map +0 -1
  219. package/dist/rules/aria/accesslint-058.d.ts +0 -3
  220. package/dist/rules/aria/accesslint-058.d.ts.map +0 -1
  221. package/dist/rules/aria/accesslint-059.d.ts +0 -3
  222. package/dist/rules/aria/accesslint-059.d.ts.map +0 -1
  223. package/dist/rules/aria/accesslint-060.d.ts +0 -3
  224. package/dist/rules/aria/accesslint-060.d.ts.map +0 -1
  225. package/dist/rules/aria/accesslint-061.d.ts +0 -3
  226. package/dist/rules/aria/accesslint-061.d.ts.map +0 -1
  227. package/dist/rules/aria/accesslint-062.d.ts +0 -2
  228. package/dist/rules/aria/accesslint-062.d.ts.map +0 -1
  229. package/dist/rules/aria/accesslint-063.d.ts +0 -3
  230. package/dist/rules/aria/accesslint-063.d.ts.map +0 -1
  231. package/dist/rules/aria/accesslint-064.d.ts +0 -3
  232. package/dist/rules/aria/accesslint-064.d.ts.map +0 -1
  233. package/dist/rules/aria/accesslint-065.d.ts +0 -2
  234. package/dist/rules/aria/accesslint-065.d.ts.map +0 -1
  235. package/dist/rules/aria/accesslint-066.d.ts +0 -2
  236. package/dist/rules/aria/accesslint-066.d.ts.map +0 -1
  237. package/dist/rules/aria/accesslint-067.d.ts +0 -3
  238. package/dist/rules/aria/accesslint-067.d.ts.map +0 -1
  239. package/dist/rules/aria/accesslint-068.d.ts +0 -3
  240. package/dist/rules/aria/accesslint-068.d.ts.map +0 -1
  241. package/dist/rules/aria/accesslint-069.d.ts +0 -3
  242. package/dist/rules/aria/accesslint-069.d.ts.map +0 -1
  243. package/dist/rules/aria/accesslint-070.d.ts +0 -3
  244. package/dist/rules/aria/accesslint-070.d.ts.map +0 -1
  245. package/dist/rules/aria/accesslint-071.d.ts +0 -3
  246. package/dist/rules/aria/accesslint-071.d.ts.map +0 -1
  247. package/dist/rules/aria/accesslint-072.d.ts +0 -3
  248. package/dist/rules/aria/accesslint-072.d.ts.map +0 -1
  249. package/dist/rules/aria/accesslint-073.d.ts +0 -3
  250. package/dist/rules/aria/accesslint-073.d.ts.map +0 -1
  251. package/dist/rules/aria/accesslint-074.d.ts +0 -3
  252. package/dist/rules/aria/accesslint-074.d.ts.map +0 -1
  253. package/dist/rules/aria/accesslint-075.d.ts +0 -3
  254. package/dist/rules/aria/accesslint-075.d.ts.map +0 -1
  255. package/dist/rules/aria/accesslint-076.d.ts +0 -3
  256. package/dist/rules/aria/accesslint-076.d.ts.map +0 -1
  257. package/dist/rules/aria/aria-name-helpers.d.ts.map +0 -1
  258. package/dist/rules/color/accesslint-092.d.ts +0 -3
  259. package/dist/rules/color/accesslint-092.d.ts.map +0 -1
  260. package/dist/rules/color/accesslint-093.d.ts +0 -3
  261. package/dist/rules/color/accesslint-093.d.ts.map +0 -1
  262. package/dist/rules/color/color-contrast-helpers.d.ts.map +0 -1
  263. package/dist/rules/forms/accesslint-020.d.ts +0 -3
  264. package/dist/rules/forms/accesslint-020.d.ts.map +0 -1
  265. package/dist/rules/forms/accesslint-021.d.ts +0 -3
  266. package/dist/rules/forms/accesslint-021.d.ts.map +0 -1
  267. package/dist/rules/forms/accesslint-023.d.ts +0 -3
  268. package/dist/rules/forms/accesslint-023.d.ts.map +0 -1
  269. package/dist/rules/forms/accesslint-024.d.ts +0 -3
  270. package/dist/rules/forms/accesslint-024.d.ts.map +0 -1
  271. package/dist/rules/forms/accesslint-025.d.ts +0 -3
  272. package/dist/rules/forms/accesslint-025.d.ts.map +0 -1
  273. package/dist/rules/forms/accesslint-026.d.ts +0 -3
  274. package/dist/rules/forms/accesslint-026.d.ts.map +0 -1
  275. package/dist/rules/forms/constants.d.ts.map +0 -1
  276. package/dist/rules/images/accesslint-011.d.ts +0 -3
  277. package/dist/rules/images/accesslint-011.d.ts.map +0 -1
  278. package/dist/rules/images/accesslint-012.d.ts +0 -3
  279. package/dist/rules/images/accesslint-012.d.ts.map +0 -1
  280. package/dist/rules/images/accesslint-013.d.ts +0 -3
  281. package/dist/rules/images/accesslint-013.d.ts.map +0 -1
  282. package/dist/rules/images/accesslint-014.d.ts.map +0 -1
  283. package/dist/rules/images/accesslint-015.d.ts.map +0 -1
  284. package/dist/rules/images/accesslint-016.d.ts +0 -3
  285. package/dist/rules/images/accesslint-016.d.ts.map +0 -1
  286. package/dist/rules/images/accesslint-017.d.ts +0 -3
  287. package/dist/rules/images/accesslint-017.d.ts.map +0 -1
  288. package/dist/rules/images/accesslint-018.d.ts +0 -3
  289. package/dist/rules/images/accesslint-018.d.ts.map +0 -1
  290. package/dist/rules/images/accesslint-019.d.ts +0 -2
  291. package/dist/rules/images/accesslint-019.d.ts.map +0 -1
  292. package/dist/rules/keyboard/accesslint-027.d.ts.map +0 -1
  293. package/dist/rules/keyboard/accesslint-028.d.ts +0 -3
  294. package/dist/rules/keyboard/accesslint-028.d.ts.map +0 -1
  295. package/dist/rules/keyboard/accesslint-029.d.ts +0 -3
  296. package/dist/rules/keyboard/accesslint-029.d.ts.map +0 -1
  297. package/dist/rules/keyboard/accesslint-030.d.ts +0 -3
  298. package/dist/rules/keyboard/accesslint-030.d.ts.map +0 -1
  299. package/dist/rules/keyboard/accesslint-031.d.ts +0 -3
  300. package/dist/rules/keyboard/accesslint-031.d.ts.map +0 -1
  301. package/dist/rules/keyboard/accesslint-032.d.ts +0 -3
  302. package/dist/rules/keyboard/accesslint-032.d.ts.map +0 -1
  303. package/dist/rules/language/accesslint-080.d.ts +0 -3
  304. package/dist/rules/language/accesslint-080.d.ts.map +0 -1
  305. package/dist/rules/language/accesslint-081.d.ts +0 -3
  306. package/dist/rules/language/accesslint-081.d.ts.map +0 -1
  307. package/dist/rules/language/accesslint-082.d.ts +0 -3
  308. package/dist/rules/language/accesslint-082.d.ts.map +0 -1
  309. package/dist/rules/language/accesslint-083.d.ts +0 -3
  310. package/dist/rules/language/accesslint-083.d.ts.map +0 -1
  311. package/dist/rules/links/accesslint-077.d.ts +0 -3
  312. package/dist/rules/links/accesslint-077.d.ts.map +0 -1
  313. package/dist/rules/links/accesslint-078.d.ts +0 -3
  314. package/dist/rules/links/accesslint-078.d.ts.map +0 -1
  315. package/dist/rules/links/accesslint-079.d.ts +0 -3
  316. package/dist/rules/links/accesslint-079.d.ts.map +0 -1
  317. package/dist/rules/media/accesslint-090.d.ts +0 -3
  318. package/dist/rules/media/accesslint-090.d.ts.map +0 -1
  319. package/dist/rules/media/accesslint-091.d.ts +0 -3
  320. package/dist/rules/media/accesslint-091.d.ts.map +0 -1
  321. package/dist/rules/parsing/accesslint-089.d.ts +0 -3
  322. package/dist/rules/parsing/accesslint-089.d.ts.map +0 -1
  323. package/dist/rules/parsing/constants.d.ts.map +0 -1
  324. package/dist/rules/structure/accesslint-001.d.ts +0 -3
  325. package/dist/rules/structure/accesslint-001.d.ts.map +0 -1
  326. package/dist/rules/structure/accesslint-002.d.ts +0 -3
  327. package/dist/rules/structure/accesslint-002.d.ts.map +0 -1
  328. package/dist/rules/structure/accesslint-003.d.ts +0 -3
  329. package/dist/rules/structure/accesslint-003.d.ts.map +0 -1
  330. package/dist/rules/structure/accesslint-004.d.ts +0 -3
  331. package/dist/rules/structure/accesslint-004.d.ts.map +0 -1
  332. package/dist/rules/structure/accesslint-005.d.ts +0 -3
  333. package/dist/rules/structure/accesslint-005.d.ts.map +0 -1
  334. package/dist/rules/structure/accesslint-006.d.ts +0 -3
  335. package/dist/rules/structure/accesslint-006.d.ts.map +0 -1
  336. package/dist/rules/structure/accesslint-007.d.ts +0 -3
  337. package/dist/rules/structure/accesslint-007.d.ts.map +0 -1
  338. package/dist/rules/structure/accesslint-008.d.ts +0 -3
  339. package/dist/rules/structure/accesslint-008.d.ts.map +0 -1
  340. package/dist/rules/structure/accesslint-009.d.ts +0 -2
  341. package/dist/rules/structure/accesslint-009.d.ts.map +0 -1
  342. package/dist/rules/structure/accesslint-010.d.ts +0 -2
  343. package/dist/rules/structure/accesslint-010.d.ts.map +0 -1
  344. package/dist/rules/structure/accesslint-033.d.ts +0 -3
  345. package/dist/rules/structure/accesslint-033.d.ts.map +0 -1
  346. package/dist/rules/structure/accesslint-034.d.ts +0 -3
  347. package/dist/rules/structure/accesslint-034.d.ts.map +0 -1
  348. package/dist/rules/structure/accesslint-035.d.ts +0 -3
  349. package/dist/rules/structure/accesslint-035.d.ts.map +0 -1
  350. package/dist/rules/structure/accesslint-036.d.ts +0 -3
  351. package/dist/rules/structure/accesslint-036.d.ts.map +0 -1
  352. package/dist/rules/structure/accesslint-037.d.ts +0 -2
  353. package/dist/rules/structure/accesslint-037.d.ts.map +0 -1
  354. package/dist/rules/structure/accesslint-038.d.ts +0 -2
  355. package/dist/rules/structure/accesslint-038.d.ts.map +0 -1
  356. package/dist/rules/structure/accesslint-039.d.ts +0 -2
  357. package/dist/rules/structure/accesslint-039.d.ts.map +0 -1
  358. package/dist/rules/structure/accesslint-040.d.ts +0 -2
  359. package/dist/rules/structure/accesslint-040.d.ts.map +0 -1
  360. package/dist/rules/structure/accesslint-041.d.ts +0 -2
  361. package/dist/rules/structure/accesslint-041.d.ts.map +0 -1
  362. package/dist/rules/structure/accesslint-042.d.ts +0 -3
  363. package/dist/rules/structure/accesslint-042.d.ts.map +0 -1
  364. package/dist/rules/structure/accesslint-043.d.ts +0 -3
  365. package/dist/rules/structure/accesslint-043.d.ts.map +0 -1
  366. package/dist/rules/structure/accesslint-044.d.ts +0 -3
  367. package/dist/rules/structure/accesslint-044.d.ts.map +0 -1
  368. package/dist/rules/structure/accesslint-045.d.ts +0 -3
  369. package/dist/rules/structure/accesslint-045.d.ts.map +0 -1
  370. package/dist/rules/structure/accesslint-046.d.ts +0 -2
  371. package/dist/rules/structure/accesslint-046.d.ts.map +0 -1
  372. package/dist/rules/structure/accesslint-047.d.ts +0 -3
  373. package/dist/rules/structure/accesslint-047.d.ts.map +0 -1
  374. package/dist/rules/structure/accesslint-048.d.ts +0 -3
  375. package/dist/rules/structure/accesslint-048.d.ts.map +0 -1
  376. package/dist/rules/structure/accesslint-049.d.ts +0 -2
  377. package/dist/rules/structure/accesslint-049.d.ts.map +0 -1
  378. package/dist/rules/structure/accesslint-050.d.ts +0 -3
  379. package/dist/rules/structure/accesslint-050.d.ts.map +0 -1
  380. package/dist/rules/structure/accesslint-051.d.ts +0 -3
  381. package/dist/rules/structure/accesslint-051.d.ts.map +0 -1
  382. package/dist/rules/structure/accesslint-052.d.ts +0 -3
  383. package/dist/rules/structure/accesslint-052.d.ts.map +0 -1
  384. package/dist/rules/structure/accesslint-053.d.ts +0 -3
  385. package/dist/rules/structure/accesslint-053.d.ts.map +0 -1
  386. package/dist/rules/structure/text-spacing-helpers.d.ts.map +0 -1
  387. package/dist/rules/tables/accesslint-084.d.ts +0 -3
  388. package/dist/rules/tables/accesslint-084.d.ts.map +0 -1
  389. package/dist/rules/tables/accesslint-085.d.ts +0 -3
  390. package/dist/rules/tables/accesslint-085.d.ts.map +0 -1
  391. package/dist/rules/tables/accesslint-086.d.ts +0 -3
  392. package/dist/rules/tables/accesslint-086.d.ts.map +0 -1
  393. package/dist/rules/tables/accesslint-087.d.ts +0 -3
  394. package/dist/rules/tables/accesslint-087.d.ts.map +0 -1
  395. package/dist/rules/tables/accesslint-088.d.ts +0 -3
  396. package/dist/rules/tables/accesslint-088.d.ts.map +0 -1
  397. package/dist/rules/tables/utils.d.ts.map +0 -1
  398. /package/dist/rules/{color → distinguishable}/color-contrast-helpers.d.ts +0 -0
  399. /package/dist/rules/{structure → distinguishable}/text-spacing-helpers.d.ts +0 -0
  400. /package/dist/rules/{language → readable}/constants.d.ts +0 -0
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![npm version](https://img.shields.io/npm/v/@accesslint/core)](https://www.npmjs.com/package/@accesslint/core)
4
4
  [![license](https://img.shields.io/npm/l/@accesslint/core)](https://github.com/AccessLint/core/blob/main/LICENSE)
5
5
 
6
- Pure accessibility rule engine for WCAG auditing. 93 bundled rules (92 active by default) and zero browser dependencies.
6
+ Pure accessibility rule engine with zero browser dependencies. Covers WCAG 2.1 Level A and AA with best-practice rules included.
7
7
 
8
8
  > Looking for CI? [AccessLint](https://www.accesslint.com?ref=readme_core) runs accessibility checks on every pull request and posts review comments directly on your GitHub PRs.
9
9
 
@@ -26,7 +26,6 @@ Pure accessibility rule engine for WCAG auditing. 93 bundled rules (92 active by
26
26
  - **Lightweight** — 43 KB gzipped (IIFE), zero runtime dependencies
27
27
  - **Chunked audits** — time-budgeted processing via [`createChunkedAudit`](#createchunkedauditdoc-document-chunkedaudit) to avoid long tasks on the main thread
28
28
  - **ESM, CJS, and IIFE** — tree-shakable ES modules, CommonJS for Node, and a single-file IIFE for script injection into any page
29
- - **MIT licensed**
30
29
 
31
30
  ## Install
32
31
 
@@ -157,7 +156,7 @@ import { configureRules } from "@accesslint/core";
157
156
 
158
157
  // Disable a rule
159
158
  configureRules({
160
- disabledRules: ["heading-order"],
159
+ disabledRules: ["navigable/heading-order"],
161
160
  });
162
161
 
163
162
  // Include AAA-level rules (excluded by default)
@@ -193,102 +192,109 @@ Helpers for building custom rules:
193
192
 
194
193
  ## Rules
195
194
 
196
- 92 rules active by default, covering WCAG 2.1 Level A and AA. One additional AAA-level rule (`color-contrast-enhanced`) is bundled but excluded by default; include it via `configureRules({ includeAAA: true })`.
195
+ Covers WCAG 2.1 Level A and AA, plus best-practice rules. One additional AAA-level rule (`distinguishable/color-contrast-enhanced`) is bundled but excluded by default; include it via `configureRules({ includeAAA: true })`.
196
+
197
+ Rule IDs match the `ruleId` field in violations and are used with `configureRules()` and `getRuleById()`.
198
+
199
+ <details>
200
+ <summary>View all rules</summary>
197
201
 
198
202
  | Rule | Level | WCAG | Description |
199
203
  | ---- | ----- | ---- | ----------- |
200
- | `accesslint-001` | A | 2.4.2 | Documents must have a `<title>` element. |
201
- | `accesslint-002` | A | — | Page must have a mechanism to bypass repeated blocks. |
202
- | `accesslint-003` | A | — | Page should contain a level-one heading. |
203
- | `accesslint-004` | A | 4.1.2 | Frames must have an accessible name. |
204
- | `accesslint-005` | A | 4.1.2 | Frame titles should be unique. |
205
- | `accesslint-006` | AA | 1.4.4 | Viewport meta must not disable user scaling. |
206
- | `accesslint-007` | A | 2.2.1 | Meta refresh must not redirect or refresh automatically. |
207
- | `accesslint-008` | A | 2.2.1 | Meta refresh must not be used with a delay (no exceptions). |
208
- | `accesslint-009` | A | 2.2.2 | `<blink>` must not be used. |
209
- | `accesslint-010` | A | 2.2.2 | `<marquee>` must not be used. |
210
- | `accesslint-011` | A | 1.1.1 | Images must have alternate text. |
211
- | `accesslint-012` | A | 1.1.1 | SVG images must have an accessible name. |
212
- | `accesslint-013` | A | 1.1.1, 4.1.2 | Image inputs must have alternate text. |
213
- | `accesslint-014` | A | — | Image alt should not duplicate adjacent text. |
214
- | `accesslint-015` | A | — | Alt text should not contain "image", "photo", etc. |
215
- | `accesslint-016` | A | 1.1.1, 4.1.2 | `<area>` elements must have alt text. |
216
- | `accesslint-017` | A | 1.1.1 | `<object>` elements must have alt text. |
217
- | `accesslint-018` | A | 1.1.1 | `role="img"` elements must have an accessible name. |
218
- | `accesslint-019` | A | 2.1.1 | Server-side image maps must not be used. |
219
- | `accesslint-020` | A | 4.1.2 | Form elements must have labels. |
220
- | `accesslint-021` | A | — | Form fields should not have multiple labels. |
221
- | `accesslint-023` | A | 4.1.2 | Input buttons must have discernible text. |
222
- | `accesslint-024` | AA | 1.3.5 | Autocomplete attribute must use valid values. |
223
- | `accesslint-025` | A | — | Accessible name must contain visible text. |
224
- | `accesslint-026` | A | — | Forms should not use title as the only label. |
225
- | `accesslint-027` | A | — | tabindex should not be greater than 0. |
226
- | `accesslint-028` | A | — | Focusable elements must have an appropriate role. |
227
- | `accesslint-029` | A | 4.1.2 | Interactive controls must not be nested. |
228
- | `accesslint-030` | A | 2.1.1 | Scrollable regions must be keyboard accessible. |
229
- | `accesslint-031` | A | — | Accesskey values must be unique. |
230
- | `accesslint-032` | AA | 2.4.7 | Elements in focus order must have a visible focus indicator. |
231
- | `accesslint-033` | A | — | Heading levels should increase by one. |
232
- | `accesslint-034` | A | — | Headings must have discernible text. |
233
- | `accesslint-035` | A | — | Paragraphs should not be styled as headings. |
234
- | `accesslint-036` | A | — | Page should have one main landmark. |
235
- | `accesslint-037` | A | — | No duplicate banner landmarks. |
236
- | `accesslint-038` | A | — | No duplicate contentinfo landmarks. |
237
- | `accesslint-039` | A | — | No duplicate main landmarks. |
238
- | `accesslint-040` | A | — | Banner landmark should be top-level. |
239
- | `accesslint-041` | A | — | Contentinfo landmark should be top-level. |
240
- | `accesslint-042` | A | — | Main landmark should be top-level. |
241
- | `accesslint-043` | A | — | Aside landmark should be top-level. |
242
- | `accesslint-044` | A | — | Landmarks of the same type should have unique labels. |
243
- | `accesslint-045` | A | — | All content should be within landmarks. |
244
- | `accesslint-046` | A | 1.3.1 | `<ul>` and `<ol>` must only contain valid children. |
245
- | `accesslint-047` | A | 1.3.1 | `<li>` must be in a `<ul>`, `<ol>`, or `<menu>`. |
246
- | `accesslint-048` | A | 1.3.1 | `<dt>` and `<dd>` must be in a `<dl>`. |
247
- | `accesslint-049` | A | 1.3.1 | `<dl>` must only contain valid children. |
248
- | `accesslint-050` | AA | 1.4.12 | Letter spacing with `!important` must be at least 0.12em. |
249
- | `accesslint-051` | AA | 1.4.12 | Line height with `!important` must be at least 1.5. |
250
- | `accesslint-052` | AA | 1.4.12 | Word spacing with `!important` must be at least 0.16em. |
251
- | `accesslint-053` | AA | 1.3.4 | Page orientation must not be restricted. |
252
- | `accesslint-054` | A | 4.1.2 | ARIA role values must be valid. |
253
- | `accesslint-055` | A | 4.1.2 | ARIA attributes must be valid (correctly spelled). |
254
- | `accesslint-056` | A | 4.1.2 | ARIA attributes must have valid values. |
255
- | `accesslint-057` | A | 4.1.2 | Required ARIA attributes must be present. |
256
- | `accesslint-058` | A | 4.1.2 | ARIA attributes must be allowed for the role. |
257
- | `accesslint-059` | A | 4.1.2 | ARIA role must be appropriate for the element. |
258
- | `accesslint-060` | A | 1.3.1 | ARIA roles must have required child roles. |
259
- | `accesslint-061` | A | 1.3.1 | ARIA roles must be in required parent roles. |
260
- | `accesslint-062` | A | 4.1.2 | `aria-hidden` must not be on `<body>`. |
261
- | `accesslint-063` | A | 4.1.2 | `aria-hidden` regions must not contain focusable elements. |
262
- | `accesslint-064` | A | 4.1.2 | ARIA commands must have an accessible name. |
263
- | `accesslint-065` | A | 4.1.2 | ARIA input fields must have an accessible name. |
264
- | `accesslint-066` | A | 4.1.2 | ARIA toggle fields must have an accessible name. |
265
- | `accesslint-067` | A | 4.1.2 | ARIA meters must have an accessible name. |
266
- | `accesslint-068` | A | 4.1.2 | ARIA progressbars must have an accessible name. |
267
- | `accesslint-069` | A | 4.1.2 | ARIA dialogs must have an accessible name. |
268
- | `accesslint-070` | A | 4.1.2 | ARIA tooltips must have an accessible name. |
269
- | `accesslint-071` | A | 4.1.2 | ARIA treeitems must have an accessible name. |
270
- | `accesslint-072` | A | 4.1.2 | ARIA attributes must not be prohibited for the role. |
271
- | `accesslint-073` | A | 4.1.2 | Presentation role must not conflict with focusability. |
272
- | `accesslint-074` | A | 4.1.2 | Presentational children must not contain focusable content. |
273
- | `accesslint-075` | A | 4.1.2 | Buttons must have discernible text. |
274
- | `accesslint-076` | A | 4.1.2 | `<summary>` elements must have an accessible name. |
275
- | `accesslint-077` | A | 2.4.4, 4.1.2 | Links must have discernible text. |
276
- | `accesslint-078` | A | 2.4.1 | Skip links must point to a valid target. |
277
- | `accesslint-079` | A | 1.4.1 | Links in text blocks must be distinguishable by more than color. |
278
- | `accesslint-080` | A | 3.1.1 | `<html>` must have a `lang` attribute. |
279
- | `accesslint-081` | A | 3.1.1 | `lang` on `<html>` must be valid. |
280
- | `accesslint-082` | AA | 3.1.2 | `lang` attribute must have a valid value on all elements. |
281
- | `accesslint-083` | A | 3.1.1 | `lang` and `xml:lang` must match. |
282
- | `accesslint-084` | A | 1.3.1 | Table headers references must be valid. |
283
- | `accesslint-085` | A | 1.3.1 | Table headers should be associated with data cells. |
284
- | `accesslint-086` | A | 1.3.1 | Data cells in large tables should have associated headers. |
285
- | `accesslint-087` | A | 1.3.1 | `scope` attribute must have a valid value. |
286
- | `accesslint-088` | A | — | Table headers should have visible text. |
287
- | `accesslint-089` | A | 4.1.2 | IDs used in ARIA must be unique. |
288
- | `accesslint-090` | A | 1.2.2 | Videos must have captions. |
289
- | `accesslint-091` | A | 1.2.1 | Audio elements should have a text alternative. |
290
- | `accesslint-092` | AA | 1.4.3 | Text must have sufficient color contrast. |
291
- | `accesslint-093` | AAA | 1.4.6 | Text must have enhanced color contrast (AAA). |
204
+ | `navigable/document-title` | A | 2.4.2 | Documents must have a `<title>` element. |
205
+ | `navigable/bypass` | A | — | Page must have a mechanism to bypass repeated blocks. |
206
+ | `navigable/page-has-heading-one` | A | — | Page should contain a level-one heading. |
207
+ | `labels-and-names/frame-title` | A | 4.1.2 | Frames must have an accessible name. |
208
+ | `labels-and-names/frame-title-unique` | A | 4.1.2 | Frame titles should be unique. |
209
+ | `distinguishable/meta-viewport` | AA | 1.4.4 | Viewport meta must not disable user scaling. |
210
+ | `enough-time/meta-refresh` | A | 2.2.1 | Meta refresh must not redirect or refresh automatically. |
211
+ | `enough-time/meta-refresh-no-exception` | A | 2.2.1 | Meta refresh must not be used with a delay (no exceptions). |
212
+ | `enough-time/blink` | A | 2.2.2 | `<blink>` must not be used. |
213
+ | `enough-time/marquee` | A | 2.2.2 | `<marquee>` must not be used. |
214
+ | `text-alternatives/img-alt` | A | 1.1.1 | Images must have alternate text. |
215
+ | `text-alternatives/svg-img-alt` | A | 1.1.1 | SVG images must have an accessible name. |
216
+ | `text-alternatives/input-image-alt` | A | 1.1.1, 4.1.2 | Image inputs must have alternate text. |
217
+ | `text-alternatives/image-redundant-alt` | A | — | Image alt should not duplicate adjacent text. |
218
+ | `text-alternatives/image-alt-words` | A | — | Alt text should not contain "image", "photo", etc. |
219
+ | `text-alternatives/area-alt` | A | 1.1.1, 4.1.2 | `<area>` elements must have alt text. |
220
+ | `text-alternatives/object-alt` | A | 1.1.1 | `<object>` elements must have alt text. |
221
+ | `text-alternatives/role-img-alt` | A | 1.1.1 | `role="img"` elements must have an accessible name. |
222
+ | `keyboard-accessible/server-image-map` | A | 2.1.1 | Server-side image maps must not be used. |
223
+ | `labels-and-names/form-label` | A | 4.1.2 | Form elements must have labels. |
224
+ | `labels-and-names/multiple-labels` | A | — | Form fields should not have multiple labels. |
225
+ | `labels-and-names/input-button-name` | A | 4.1.2 | Input buttons must have discernible text. |
226
+ | `adaptable/autocomplete-valid` | AA | 1.3.5 | Autocomplete attribute must use valid values. |
227
+ | `labels-and-names/label-content-mismatch` | A | — | Accessible name must contain visible text. |
228
+ | `labels-and-names/label-title-only` | A | — | Forms should not use title as the only label. |
229
+ | `keyboard-accessible/tabindex` | A | — | tabindex should not be greater than 0. |
230
+ | `keyboard-accessible/focus-order` | A | — | Focusable elements must have an appropriate role. |
231
+ | `keyboard-accessible/nested-interactive` | A | 4.1.2 | Interactive controls must not be nested. |
232
+ | `keyboard-accessible/scrollable-region` | A | 2.1.1 | Scrollable regions must be keyboard accessible. |
233
+ | `keyboard-accessible/accesskeys` | A | — | Accesskey values must be unique. |
234
+ | `keyboard-accessible/focus-visible` | AA | 2.4.7 | Elements in focus order must have a visible focus indicator. |
235
+ | `navigable/heading-order` | A | — | Heading levels should increase by one. |
236
+ | `navigable/empty-heading` | A | — | Headings must have discernible text. |
237
+ | `navigable/p-as-heading` | A | — | Paragraphs should not be styled as headings. |
238
+ | `landmarks/landmark-main` | A | — | Page should have one main landmark. |
239
+ | `landmarks/no-duplicate-banner` | A | — | No duplicate banner landmarks. |
240
+ | `landmarks/no-duplicate-contentinfo` | A | — | No duplicate contentinfo landmarks. |
241
+ | `landmarks/no-duplicate-main` | A | — | No duplicate main landmarks. |
242
+ | `landmarks/banner-is-top-level` | A | — | Banner landmark should be top-level. |
243
+ | `landmarks/contentinfo-is-top-level` | A | — | Contentinfo landmark should be top-level. |
244
+ | `landmarks/main-is-top-level` | A | — | Main landmark should be top-level. |
245
+ | `landmarks/complementary-is-top-level` | A | — | Aside landmark should be top-level. |
246
+ | `landmarks/landmark-unique` | A | — | Landmarks of the same type should have unique labels. |
247
+ | `landmarks/region` | A | — | All content should be within landmarks. |
248
+ | `adaptable/list-children` | A | 1.3.1 | `<ul>` and `<ol>` must only contain valid children. |
249
+ | `adaptable/listitem-parent` | A | 1.3.1 | `<li>` must be in a `<ul>`, `<ol>`, or `<menu>`. |
250
+ | `adaptable/dl-children` | A | 1.3.1 | `<dt>` and `<dd>` must be in a `<dl>`. |
251
+ | `adaptable/definition-list` | A | 1.3.1 | `<dl>` must only contain valid children. |
252
+ | `distinguishable/letter-spacing` | AA | 1.4.12 | Letter spacing with `!important` must be at least 0.12em. |
253
+ | `distinguishable/line-height` | AA | 1.4.12 | Line height with `!important` must be at least 1.5. |
254
+ | `distinguishable/word-spacing` | AA | 1.4.12 | Word spacing with `!important` must be at least 0.16em. |
255
+ | `adaptable/orientation-lock` | AA | 1.3.4 | Page orientation must not be restricted. |
256
+ | `aria/aria-roles` | A | 4.1.2 | ARIA role values must be valid. |
257
+ | `aria/aria-valid-attr` | A | 4.1.2 | ARIA attributes must be valid (correctly spelled). |
258
+ | `aria/aria-valid-attr-value` | A | 4.1.2 | ARIA attributes must have valid values. |
259
+ | `aria/aria-required-attr` | A | 4.1.2 | Required ARIA attributes must be present. |
260
+ | `aria/aria-allowed-attr` | A | 4.1.2 | ARIA attributes must be allowed for the role. |
261
+ | `aria/aria-allowed-role` | A | 4.1.2 | ARIA role must be appropriate for the element. |
262
+ | `adaptable/aria-required-children` | A | 1.3.1 | ARIA roles must have required child roles. |
263
+ | `adaptable/aria-required-parent` | A | 1.3.1 | ARIA roles must be in required parent roles. |
264
+ | `aria/aria-hidden-body` | A | 4.1.2 | `aria-hidden` must not be on `<body>`. |
265
+ | `aria/aria-hidden-focus` | A | 4.1.2 | `aria-hidden` regions must not contain focusable elements. |
266
+ | `labels-and-names/aria-command-name` | A | 4.1.2 | ARIA commands must have an accessible name. |
267
+ | `labels-and-names/aria-input-field-name` | A | 4.1.2 | ARIA input fields must have an accessible name. |
268
+ | `labels-and-names/aria-toggle-field-name` | A | 4.1.2 | ARIA toggle fields must have an accessible name. |
269
+ | `labels-and-names/aria-meter-name` | A | 4.1.2 | ARIA meters must have an accessible name. |
270
+ | `labels-and-names/aria-progressbar-name` | A | 4.1.2 | ARIA progressbars must have an accessible name. |
271
+ | `labels-and-names/aria-dialog-name` | A | 4.1.2 | ARIA dialogs must have an accessible name. |
272
+ | `labels-and-names/aria-tooltip-name` | A | 4.1.2 | ARIA tooltips must have an accessible name. |
273
+ | `labels-and-names/aria-treeitem-name` | A | 4.1.2 | ARIA treeitems must have an accessible name. |
274
+ | `aria/aria-prohibited-attr` | A | 4.1.2 | ARIA attributes must not be prohibited for the role. |
275
+ | `aria/presentation-role-conflict` | A | 4.1.2 | Presentation role must not conflict with focusability. |
276
+ | `aria/presentational-children-focusable` | A | 4.1.2 | Presentational children must not contain focusable content. |
277
+ | `labels-and-names/button-name` | A | 4.1.2 | Buttons must have discernible text. |
278
+ | `labels-and-names/summary-name` | A | 4.1.2 | `<summary>` elements must have an accessible name. |
279
+ | `navigable/link-name` | A | 2.4.4, 4.1.2 | Links must have discernible text. |
280
+ | `navigable/skip-link` | A | 2.4.1 | Skip links must point to a valid target. |
281
+ | `distinguishable/link-in-text-block` | A | 1.4.1 | Links in text blocks must be distinguishable by more than color. |
282
+ | `readable/html-has-lang` | A | 3.1.1 | `<html>` must have a `lang` attribute. |
283
+ | `readable/html-lang-valid` | A | 3.1.1 | `lang` on `<html>` must be valid. |
284
+ | `readable/valid-lang` | AA | 3.1.2 | `lang` attribute must have a valid value on all elements. |
285
+ | `readable/html-xml-lang-mismatch` | A | 3.1.1 | `lang` and `xml:lang` must match. |
286
+ | `adaptable/td-headers-attr` | A | 1.3.1 | Table headers references must be valid. |
287
+ | `adaptable/th-has-data-cells` | A | 1.3.1 | Table headers should be associated with data cells. |
288
+ | `adaptable/td-has-header` | A | 1.3.1 | Data cells in large tables should have associated headers. |
289
+ | `adaptable/scope-attr-valid` | A | 1.3.1 | `scope` attribute must have a valid value. |
290
+ | `adaptable/empty-table-header` | A | — | Table headers should have visible text. |
291
+ | `labels-and-names/duplicate-id-aria` | A | 4.1.2 | IDs used in ARIA must be unique. |
292
+ | `time-based-media/video-captions` | A | 1.2.2 | Videos must have captions. |
293
+ | `time-based-media/audio-transcript` | A | 1.2.1 | Audio elements should have a text alternative. |
294
+ | `distinguishable/color-contrast` | AA | 1.4.3 | Text must have sufficient color contrast. |
295
+ | `distinguishable/color-contrast-enhanced` | AAA | 1.4.6 | Text must have enhanced color contrast (AAA). |
296
+
297
+ </details>
292
298
 
293
299
  ## Compatibility
294
300
 
@@ -307,9 +313,9 @@ Tested in the following environments:
307
313
 
308
314
  ```sh
309
315
  npm install
310
- npm test # 1030 tests
316
+ npm test # 1191 tests
311
317
  npm run bench # performance benchmarks
312
- npm run build # produces dist/index.js, dist/index.cjs, dist/index.d.ts
318
+ npm run build # produces dist/index.js, dist/index.cjs, dist/index.d.ts, dist/index.iife.js
313
319
  ```
314
320
 
315
321
  Found a bug or have a suggestion? [Open an issue](https://github.com/AccessLint/core/issues).