govuk_publishing_components 30.4.1 → 30.5.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 (649) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-event-tracker.js +63 -51
  3. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-link-tracker.js +8 -8
  4. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.js +11 -10
  5. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/init-ga4.js +26 -0
  6. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4.js +1 -3
  7. data/app/assets/stylesheets/govuk_publishing_components/components/_organisation-logo.scss +2 -4
  8. data/app/views/govuk_publishing_components/component_guide/show.html.erb +28 -27
  9. data/lib/govuk_publishing_components/version.rb +1 -1
  10. data/node_modules/axe-core/README.md +83 -53
  11. data/node_modules/axe-core/axe.d.ts +403 -224
  12. data/node_modules/axe-core/axe.js +23281 -21919
  13. data/node_modules/axe-core/axe.min.js +3 -3
  14. data/node_modules/axe-core/locales/da.json +795 -780
  15. data/node_modules/axe-core/locales/de.json +932 -621
  16. data/node_modules/axe-core/locales/es.json +786 -771
  17. data/node_modules/axe-core/locales/eu.json +787 -0
  18. data/node_modules/axe-core/locales/fr.json +982 -840
  19. data/node_modules/axe-core/locales/ja.json +988 -880
  20. data/node_modules/axe-core/locales/ko.json +999 -775
  21. data/node_modules/axe-core/locales/nl.json +46 -34
  22. data/node_modules/axe-core/locales/pl.json +965 -0
  23. data/node_modules/axe-core/locales/pt_BR.json +966 -880
  24. data/node_modules/axe-core/package.json +189 -145
  25. data/node_modules/axe-core/sri-history.json +312 -192
  26. data/node_modules/govuk-frontend/govuk/all.js +64 -44
  27. data/node_modules/govuk-frontend/govuk/components/accordion/_index.scss +1 -1
  28. data/node_modules/govuk-frontend/govuk/components/accordion/accordion.js +3 -13
  29. data/node_modules/govuk-frontend/govuk/components/accordion/fixtures.json +12 -12
  30. data/node_modules/govuk-frontend/govuk/components/accordion/template.njk +5 -1
  31. data/node_modules/govuk-frontend/govuk/components/character-count/fixtures.json +1 -1
  32. data/node_modules/govuk-frontend/govuk/components/details/details.js +8 -20
  33. data/node_modules/govuk-frontend/govuk/components/details/macro-options.json +6 -0
  34. data/node_modules/govuk-frontend/govuk/components/details/template.njk +1 -1
  35. data/node_modules/govuk-frontend/govuk/components/error-message/fixtures.json +9 -0
  36. data/node_modules/govuk-frontend/govuk/components/error-summary/macro-options.json +6 -0
  37. data/node_modules/govuk-frontend/govuk/components/error-summary/template.njk +2 -2
  38. data/node_modules/govuk-frontend/govuk/components/footer/fixtures.json +59 -20
  39. data/node_modules/govuk-frontend/govuk/components/footer/macro-options.json +40 -0
  40. data/node_modules/govuk-frontend/govuk/components/footer/template.njk +17 -7
  41. data/node_modules/govuk-frontend/govuk/components/header/_index.scss +14 -21
  42. data/node_modules/govuk-frontend/govuk/components/header/fixtures.json +11 -11
  43. data/node_modules/govuk-frontend/govuk/components/header/header.js +53 -11
  44. data/node_modules/govuk-frontend/govuk/components/header/macro-options.json +2 -2
  45. data/node_modules/govuk-frontend/govuk/components/header/template.njk +1 -1
  46. data/node_modules/govuk-frontend/govuk/components/input/_index.scss +9 -10
  47. data/node_modules/govuk-frontend/govuk/components/inset-text/macro-options.json +6 -0
  48. data/node_modules/govuk-frontend/govuk/components/inset-text/template.njk +1 -1
  49. data/node_modules/govuk-frontend/govuk/components/notification-banner/macro-options.json +6 -0
  50. data/node_modules/govuk-frontend/govuk/components/notification-banner/template.njk +2 -2
  51. data/node_modules/govuk-frontend/govuk/components/panel/macro-options.json +6 -0
  52. data/node_modules/govuk-frontend/govuk/components/panel/template.njk +2 -2
  53. data/node_modules/govuk-frontend/govuk/components/select/_index.scss +6 -0
  54. data/node_modules/govuk-frontend/govuk/components/select/fixtures.json +15 -1
  55. data/node_modules/govuk-frontend/govuk/components/summary-list/_index.scss +37 -10
  56. data/node_modules/govuk-frontend/govuk/components/summary-list/fixtures.json +69 -4
  57. data/node_modules/govuk-frontend/govuk/components/summary-list/template.njk +3 -3
  58. data/node_modules/govuk-frontend/govuk/components/tabs/fixtures.json +13 -13
  59. data/node_modules/govuk-frontend/govuk/components/tabs/template.njk +5 -1
  60. data/node_modules/govuk-frontend/govuk/helpers/_typography.scss +14 -7
  61. data/node_modules/govuk-frontend/govuk/overrides/_spacing.scss +56 -12
  62. data/node_modules/govuk-frontend/govuk/settings/_spacing.scss +4 -8
  63. data/node_modules/govuk-frontend/govuk/template.njk +5 -5
  64. data/node_modules/govuk-frontend/govuk-esm/components/accordion/accordion.mjs +3 -13
  65. data/node_modules/govuk-frontend/govuk-esm/components/details/details.mjs +8 -20
  66. data/node_modules/govuk-frontend/govuk-esm/components/header/header.mjs +53 -11
  67. data/node_modules/govuk-frontend/package.json +1 -1
  68. metadata +6 -584
  69. data/node_modules/axe-core/CHANGELOG.md +0 -1053
  70. data/node_modules/axe-core/CONTRIBUTING.md +0 -187
  71. data/node_modules/axe-core/bower.json +0 -40
  72. data/node_modules/axe-core/doc/API.md +0 -889
  73. data/node_modules/axe-core/doc/accessibility-supported.md +0 -33
  74. data/node_modules/axe-core/doc/act-rules-format.md +0 -37
  75. data/node_modules/axe-core/doc/aria-supported.md +0 -13
  76. data/node_modules/axe-core/doc/backwards-compatibility-doc.md +0 -94
  77. data/node_modules/axe-core/doc/check-message-template.md +0 -124
  78. data/node_modules/axe-core/doc/code-submission-guidelines.md +0 -178
  79. data/node_modules/axe-core/doc/developer-guide.md +0 -514
  80. data/node_modules/axe-core/doc/examples/chrome-debugging-protocol/README.md +0 -13
  81. data/node_modules/axe-core/doc/examples/chrome-debugging-protocol/axe-cdp.js +0 -81
  82. data/node_modules/axe-core/doc/examples/chrome-debugging-protocol/package.json +0 -11
  83. data/node_modules/axe-core/doc/examples/html-handlebars.md +0 -164
  84. data/node_modules/axe-core/doc/examples/jasmine/README.md +0 -35
  85. data/node_modules/axe-core/doc/examples/jasmine/karma.conf.js +0 -29
  86. data/node_modules/axe-core/doc/examples/jasmine/package.json +0 -21
  87. data/node_modules/axe-core/doc/examples/jasmine/spec/a11y.js +0 -36
  88. data/node_modules/axe-core/doc/examples/jest_react/README.md +0 -41
  89. data/node_modules/axe-core/doc/examples/jest_react/link.js +0 -7
  90. data/node_modules/axe-core/doc/examples/jest_react/link.test.js +0 -24
  91. data/node_modules/axe-core/doc/examples/jest_react/package.json +0 -28
  92. data/node_modules/axe-core/doc/examples/jest_react/test-helpers.js +0 -21
  93. data/node_modules/axe-core/doc/examples/jsdom/package.json +0 -15
  94. data/node_modules/axe-core/doc/examples/mocha/README.md +0 -35
  95. data/node_modules/axe-core/doc/examples/mocha/karma.conf.js +0 -29
  96. data/node_modules/axe-core/doc/examples/mocha/package.json +0 -22
  97. data/node_modules/axe-core/doc/examples/phantomjs/README.md +0 -17
  98. data/node_modules/axe-core/doc/examples/phantomjs/axe-phantom.js +0 -53
  99. data/node_modules/axe-core/doc/examples/phantomjs/package.json +0 -19
  100. data/node_modules/axe-core/doc/examples/puppeteer/README.md +0 -12
  101. data/node_modules/axe-core/doc/examples/puppeteer/axe-puppeteer.js +0 -60
  102. data/node_modules/axe-core/doc/examples/puppeteer/package.json +0 -13
  103. data/node_modules/axe-core/doc/examples/qunit/README.md +0 -37
  104. data/node_modules/axe-core/doc/examples/qunit/package.json +0 -21
  105. data/node_modules/axe-core/doc/examples/test-examples.js +0 -32
  106. data/node_modules/axe-core/doc/plugins.md +0 -123
  107. data/node_modules/axe-core/doc/projects.md +0 -48
  108. data/node_modules/axe-core/doc/rule-descriptions.md +0 -129
  109. data/node_modules/axe-core/doc/rule-development.md +0 -123
  110. data/node_modules/axe-core/doc/rule-proposal.md +0 -106
  111. data/node_modules/axe-core/lib/checks/aria/abstractrole.js +0 -10
  112. data/node_modules/axe-core/lib/checks/aria/abstractrole.json +0 -14
  113. data/node_modules/axe-core/lib/checks/aria/allowed-attr.js +0 -39
  114. data/node_modules/axe-core/lib/checks/aria/allowed-attr.json +0 -14
  115. data/node_modules/axe-core/lib/checks/aria/aria-allowed-role.js +0 -28
  116. data/node_modules/axe-core/lib/checks/aria/aria-allowed-role.json +0 -22
  117. data/node_modules/axe-core/lib/checks/aria/aria-hidden-body.js +0 -1
  118. data/node_modules/axe-core/lib/checks/aria/aria-hidden-body.json +0 -11
  119. data/node_modules/axe-core/lib/checks/aria/aria-roledescription.js +0 -14
  120. data/node_modules/axe-core/lib/checks/aria/aria-roledescription.json +0 -23
  121. data/node_modules/axe-core/lib/checks/aria/errormessage.js +0 -33
  122. data/node_modules/axe-core/lib/checks/aria/errormessage.json +0 -14
  123. data/node_modules/axe-core/lib/checks/aria/fallbackrole.js +0 -1
  124. data/node_modules/axe-core/lib/checks/aria/fallbackrole.json +0 -11
  125. data/node_modules/axe-core/lib/checks/aria/has-widget-role.js +0 -6
  126. data/node_modules/axe-core/lib/checks/aria/has-widget-role.json +0 -12
  127. data/node_modules/axe-core/lib/checks/aria/implicit-role-fallback.js +0 -6
  128. data/node_modules/axe-core/lib/checks/aria/implicit-role-fallback.json +0 -12
  129. data/node_modules/axe-core/lib/checks/aria/invalidrole.js +0 -17
  130. data/node_modules/axe-core/lib/checks/aria/invalidrole.json +0 -14
  131. data/node_modules/axe-core/lib/checks/aria/no-implicit-explicit-label.js +0 -21
  132. data/node_modules/axe-core/lib/checks/aria/no-implicit-explicit-label.json +0 -11
  133. data/node_modules/axe-core/lib/checks/aria/required-attr.js +0 -53
  134. data/node_modules/axe-core/lib/checks/aria/required-attr.json +0 -14
  135. data/node_modules/axe-core/lib/checks/aria/required-children.js +0 -154
  136. data/node_modules/axe-core/lib/checks/aria/required-children.json +0 -32
  137. data/node_modules/axe-core/lib/checks/aria/required-parent.js +0 -87
  138. data/node_modules/axe-core/lib/checks/aria/required-parent.json +0 -14
  139. data/node_modules/axe-core/lib/checks/aria/unsupportedattr.js +0 -39
  140. data/node_modules/axe-core/lib/checks/aria/unsupportedattr.json +0 -11
  141. data/node_modules/axe-core/lib/checks/aria/unsupportedrole.js +0 -1
  142. data/node_modules/axe-core/lib/checks/aria/unsupportedrole.json +0 -11
  143. data/node_modules/axe-core/lib/checks/aria/valid-attr-value.js +0 -80
  144. data/node_modules/axe-core/lib/checks/aria/valid-attr-value.json +0 -19
  145. data/node_modules/axe-core/lib/checks/aria/valid-attr.js +0 -25
  146. data/node_modules/axe-core/lib/checks/aria/valid-attr.json +0 -15
  147. data/node_modules/axe-core/lib/checks/aria/valid-scrollable-semantics.js +0 -62
  148. data/node_modules/axe-core/lib/checks/aria/valid-scrollable-semantics.json +0 -12
  149. data/node_modules/axe-core/lib/checks/color/color-contrast.js +0 -86
  150. data/node_modules/axe-core/lib/checks/color/color-contrast.json +0 -30
  151. data/node_modules/axe-core/lib/checks/color/link-in-text-block.js +0 -85
  152. data/node_modules/axe-core/lib/checks/color/link-in-text-block.json +0 -19
  153. data/node_modules/axe-core/lib/checks/forms/autocomplete-appropriate.js +0 -67
  154. data/node_modules/axe-core/lib/checks/forms/autocomplete-appropriate.json +0 -11
  155. data/node_modules/axe-core/lib/checks/forms/autocomplete-valid.js +0 -2
  156. data/node_modules/axe-core/lib/checks/forms/autocomplete-valid.json +0 -11
  157. data/node_modules/axe-core/lib/checks/forms/fieldset-after.js +0 -25
  158. data/node_modules/axe-core/lib/checks/forms/fieldset.js +0 -109
  159. data/node_modules/axe-core/lib/checks/forms/fieldset.json +0 -20
  160. data/node_modules/axe-core/lib/checks/forms/group-labelledby-after.js +0 -16
  161. data/node_modules/axe-core/lib/checks/forms/group-labelledby.js +0 -66
  162. data/node_modules/axe-core/lib/checks/forms/group-labelledby.json +0 -17
  163. data/node_modules/axe-core/lib/checks/keyboard/accesskeys-after.js +0 -19
  164. data/node_modules/axe-core/lib/checks/keyboard/accesskeys.js +0 -5
  165. data/node_modules/axe-core/lib/checks/keyboard/accesskeys.json +0 -12
  166. data/node_modules/axe-core/lib/checks/keyboard/focusable-content.js +0 -16
  167. data/node_modules/axe-core/lib/checks/keyboard/focusable-content.json +0 -11
  168. data/node_modules/axe-core/lib/checks/keyboard/focusable-disabled.js +0 -30
  169. data/node_modules/axe-core/lib/checks/keyboard/focusable-disabled.json +0 -11
  170. data/node_modules/axe-core/lib/checks/keyboard/focusable-element.js +0 -12
  171. data/node_modules/axe-core/lib/checks/keyboard/focusable-element.json +0 -11
  172. data/node_modules/axe-core/lib/checks/keyboard/focusable-modal-open.js +0 -14
  173. data/node_modules/axe-core/lib/checks/keyboard/focusable-modal-open.json +0 -11
  174. data/node_modules/axe-core/lib/checks/keyboard/focusable-no-name.js +0 -6
  175. data/node_modules/axe-core/lib/checks/keyboard/focusable-no-name.json +0 -11
  176. data/node_modules/axe-core/lib/checks/keyboard/focusable-not-tabbable.js +0 -30
  177. data/node_modules/axe-core/lib/checks/keyboard/focusable-not-tabbable.json +0 -11
  178. data/node_modules/axe-core/lib/checks/keyboard/landmark-is-top-level.js +0 -18
  179. data/node_modules/axe-core/lib/checks/keyboard/landmark-is-top-level.json +0 -11
  180. data/node_modules/axe-core/lib/checks/keyboard/page-has-elm-after.js +0 -11
  181. data/node_modules/axe-core/lib/checks/keyboard/page-has-elm.js +0 -13
  182. data/node_modules/axe-core/lib/checks/keyboard/page-has-heading-one.json +0 -15
  183. data/node_modules/axe-core/lib/checks/keyboard/page-has-main.json +0 -15
  184. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate-after.js +0 -2
  185. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate-banner.json +0 -16
  186. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate-contentinfo.json +0 -16
  187. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate-main.json +0 -15
  188. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate.js +0 -36
  189. data/node_modules/axe-core/lib/checks/keyboard/tabindex.js +0 -6
  190. data/node_modules/axe-core/lib/checks/keyboard/tabindex.json +0 -11
  191. data/node_modules/axe-core/lib/checks/label/alt-space-value.js +0 -3
  192. data/node_modules/axe-core/lib/checks/label/alt-space-value.json +0 -11
  193. data/node_modules/axe-core/lib/checks/label/duplicate-img-label.js +0 -22
  194. data/node_modules/axe-core/lib/checks/label/duplicate-img-label.json +0 -11
  195. data/node_modules/axe-core/lib/checks/label/explicit.js +0 -15
  196. data/node_modules/axe-core/lib/checks/label/explicit.json +0 -11
  197. data/node_modules/axe-core/lib/checks/label/help-same-as-label.js +0 -23
  198. data/node_modules/axe-core/lib/checks/label/help-same-as-label.json +0 -12
  199. data/node_modules/axe-core/lib/checks/label/hidden-explicit-label.js +0 -12
  200. data/node_modules/axe-core/lib/checks/label/hidden-explicit-label.json +0 -11
  201. data/node_modules/axe-core/lib/checks/label/implicit.js +0 -7
  202. data/node_modules/axe-core/lib/checks/label/implicit.json +0 -11
  203. data/node_modules/axe-core/lib/checks/label/label-content-name-mismatch.js +0 -59
  204. data/node_modules/axe-core/lib/checks/label/label-content-name-mismatch.json +0 -15
  205. data/node_modules/axe-core/lib/checks/label/multiple-label.js +0 -39
  206. data/node_modules/axe-core/lib/checks/label/multiple-label.json +0 -11
  207. data/node_modules/axe-core/lib/checks/label/title-only.js +0 -5
  208. data/node_modules/axe-core/lib/checks/label/title-only.json +0 -11
  209. data/node_modules/axe-core/lib/checks/landmarks/landmark-is-unique-after.js +0 -23
  210. data/node_modules/axe-core/lib/checks/landmarks/landmark-is-unique.js +0 -7
  211. data/node_modules/axe-core/lib/checks/landmarks/landmark-is-unique.json +0 -12
  212. data/node_modules/axe-core/lib/checks/language/has-lang.js +0 -20
  213. data/node_modules/axe-core/lib/checks/language/has-lang.json +0 -14
  214. data/node_modules/axe-core/lib/checks/language/valid-lang.js +0 -26
  215. data/node_modules/axe-core/lib/checks/language/valid-lang.json +0 -11
  216. data/node_modules/axe-core/lib/checks/language/xml-lang-mismatch.js +0 -5
  217. data/node_modules/axe-core/lib/checks/language/xml-lang-mismatch.json +0 -11
  218. data/node_modules/axe-core/lib/checks/lists/dlitem.js +0 -23
  219. data/node_modules/axe-core/lib/checks/lists/dlitem.json +0 -11
  220. data/node_modules/axe-core/lib/checks/lists/listitem.js +0 -21
  221. data/node_modules/axe-core/lib/checks/lists/listitem.json +0 -14
  222. data/node_modules/axe-core/lib/checks/lists/only-dlitems.js +0 -42
  223. data/node_modules/axe-core/lib/checks/lists/only-dlitems.json +0 -11
  224. data/node_modules/axe-core/lib/checks/lists/only-listitems.js +0 -58
  225. data/node_modules/axe-core/lib/checks/lists/only-listitems.json +0 -14
  226. data/node_modules/axe-core/lib/checks/lists/structured-dlitems.js +0 -22
  227. data/node_modules/axe-core/lib/checks/lists/structured-dlitems.json +0 -11
  228. data/node_modules/axe-core/lib/checks/media/caption.js +0 -8
  229. data/node_modules/axe-core/lib/checks/media/caption.json +0 -11
  230. data/node_modules/axe-core/lib/checks/media/description.js +0 -8
  231. data/node_modules/axe-core/lib/checks/media/description.json +0 -11
  232. data/node_modules/axe-core/lib/checks/media/frame-tested.js +0 -28
  233. data/node_modules/axe-core/lib/checks/media/frame-tested.json +0 -15
  234. data/node_modules/axe-core/lib/checks/media/no-autoplay-audio.js +0 -93
  235. data/node_modules/axe-core/lib/checks/media/no-autoplay-audio.json +0 -15
  236. data/node_modules/axe-core/lib/checks/mobile/css-orientation-lock.js +0 -251
  237. data/node_modules/axe-core/lib/checks/mobile/css-orientation-lock.json +0 -15
  238. data/node_modules/axe-core/lib/checks/mobile/meta-viewport-large.json +0 -15
  239. data/node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js +0 -55
  240. data/node_modules/axe-core/lib/checks/mobile/meta-viewport.json +0 -14
  241. data/node_modules/axe-core/lib/checks/navigation/header-present.js +0 -4
  242. data/node_modules/axe-core/lib/checks/navigation/header-present.json +0 -11
  243. data/node_modules/axe-core/lib/checks/navigation/heading-order-after.js +0 -14
  244. data/node_modules/axe-core/lib/checks/navigation/heading-order.js +0 -15
  245. data/node_modules/axe-core/lib/checks/navigation/heading-order.json +0 -12
  246. data/node_modules/axe-core/lib/checks/navigation/identical-links-same-purpose-after.js +0 -100
  247. data/node_modules/axe-core/lib/checks/navigation/identical-links-same-purpose.js +0 -31
  248. data/node_modules/axe-core/lib/checks/navigation/identical-links-same-purpose.json +0 -12
  249. data/node_modules/axe-core/lib/checks/navigation/internal-link-present.js +0 -4
  250. data/node_modules/axe-core/lib/checks/navigation/internal-link-present.json +0 -11
  251. data/node_modules/axe-core/lib/checks/navigation/landmark.js +0 -3
  252. data/node_modules/axe-core/lib/checks/navigation/landmark.json +0 -11
  253. data/node_modules/axe-core/lib/checks/navigation/meta-refresh.js +0 -4
  254. data/node_modules/axe-core/lib/checks/navigation/meta-refresh.json +0 -11
  255. data/node_modules/axe-core/lib/checks/navigation/p-as-heading.js +0 -93
  256. data/node_modules/axe-core/lib/checks/navigation/p-as-heading.json +0 -30
  257. data/node_modules/axe-core/lib/checks/navigation/region.js +0 -107
  258. data/node_modules/axe-core/lib/checks/navigation/region.json +0 -11
  259. data/node_modules/axe-core/lib/checks/navigation/skip-link.js +0 -5
  260. data/node_modules/axe-core/lib/checks/navigation/skip-link.json +0 -12
  261. data/node_modules/axe-core/lib/checks/navigation/unique-frame-title-after.js +0 -9
  262. data/node_modules/axe-core/lib/checks/navigation/unique-frame-title.js +0 -6
  263. data/node_modules/axe-core/lib/checks/navigation/unique-frame-title.json +0 -12
  264. data/node_modules/axe-core/lib/checks/parsing/duplicate-id-active.json +0 -12
  265. data/node_modules/axe-core/lib/checks/parsing/duplicate-id-after.js +0 -8
  266. data/node_modules/axe-core/lib/checks/parsing/duplicate-id-aria.json +0 -12
  267. data/node_modules/axe-core/lib/checks/parsing/duplicate-id.js +0 -17
  268. data/node_modules/axe-core/lib/checks/parsing/duplicate-id.json +0 -12
  269. data/node_modules/axe-core/lib/checks/shared/aria-label.js +0 -2
  270. data/node_modules/axe-core/lib/checks/shared/aria-label.json +0 -11
  271. data/node_modules/axe-core/lib/checks/shared/aria-labelledby.js +0 -2
  272. data/node_modules/axe-core/lib/checks/shared/aria-labelledby.json +0 -11
  273. data/node_modules/axe-core/lib/checks/shared/avoid-inline-spacing.js +0 -18
  274. data/node_modules/axe-core/lib/checks/shared/avoid-inline-spacing.json +0 -14
  275. data/node_modules/axe-core/lib/checks/shared/button-has-visible-text.js +0 -12
  276. data/node_modules/axe-core/lib/checks/shared/button-has-visible-text.json +0 -11
  277. data/node_modules/axe-core/lib/checks/shared/doc-has-title.js +0 -2
  278. data/node_modules/axe-core/lib/checks/shared/doc-has-title.json +0 -11
  279. data/node_modules/axe-core/lib/checks/shared/exists.js +0 -1
  280. data/node_modules/axe-core/lib/checks/shared/exists.json +0 -11
  281. data/node_modules/axe-core/lib/checks/shared/has-alt.js +0 -6
  282. data/node_modules/axe-core/lib/checks/shared/has-alt.json +0 -11
  283. data/node_modules/axe-core/lib/checks/shared/has-visible-text.js +0 -1
  284. data/node_modules/axe-core/lib/checks/shared/has-visible-text.json +0 -11
  285. data/node_modules/axe-core/lib/checks/shared/is-on-screen.js +0 -4
  286. data/node_modules/axe-core/lib/checks/shared/is-on-screen.json +0 -11
  287. data/node_modules/axe-core/lib/checks/shared/non-empty-alt.js +0 -2
  288. data/node_modules/axe-core/lib/checks/shared/non-empty-alt.json +0 -11
  289. data/node_modules/axe-core/lib/checks/shared/non-empty-if-present.js +0 -15
  290. data/node_modules/axe-core/lib/checks/shared/non-empty-if-present.json +0 -14
  291. data/node_modules/axe-core/lib/checks/shared/non-empty-title.js +0 -2
  292. data/node_modules/axe-core/lib/checks/shared/non-empty-title.json +0 -11
  293. data/node_modules/axe-core/lib/checks/shared/non-empty-value.js +0 -2
  294. data/node_modules/axe-core/lib/checks/shared/non-empty-value.json +0 -11
  295. data/node_modules/axe-core/lib/checks/shared/role-none.js +0 -1
  296. data/node_modules/axe-core/lib/checks/shared/role-none.json +0 -11
  297. data/node_modules/axe-core/lib/checks/shared/role-presentation.js +0 -1
  298. data/node_modules/axe-core/lib/checks/shared/role-presentation.json +0 -11
  299. data/node_modules/axe-core/lib/checks/shared/svg-non-empty-title.js +0 -4
  300. data/node_modules/axe-core/lib/checks/shared/svg-non-empty-title.json +0 -11
  301. data/node_modules/axe-core/lib/checks/tables/caption-faked.js +0 -10
  302. data/node_modules/axe-core/lib/checks/tables/caption-faked.json +0 -11
  303. data/node_modules/axe-core/lib/checks/tables/has-caption.js +0 -1
  304. data/node_modules/axe-core/lib/checks/tables/has-caption.json +0 -12
  305. data/node_modules/axe-core/lib/checks/tables/has-summary.js +0 -1
  306. data/node_modules/axe-core/lib/checks/tables/has-summary.json +0 -12
  307. data/node_modules/axe-core/lib/checks/tables/has-th.js +0 -31
  308. data/node_modules/axe-core/lib/checks/tables/has-th.json +0 -12
  309. data/node_modules/axe-core/lib/checks/tables/headers-visible-text.js +0 -30
  310. data/node_modules/axe-core/lib/checks/tables/html5-scope.js +0 -5
  311. data/node_modules/axe-core/lib/checks/tables/html5-scope.json +0 -11
  312. data/node_modules/axe-core/lib/checks/tables/same-caption-summary.js +0 -7
  313. data/node_modules/axe-core/lib/checks/tables/same-caption-summary.json +0 -11
  314. data/node_modules/axe-core/lib/checks/tables/scope-value.js +0 -5
  315. data/node_modules/axe-core/lib/checks/tables/scope-value.json +0 -11
  316. data/node_modules/axe-core/lib/checks/tables/td-has-header.js +0 -30
  317. data/node_modules/axe-core/lib/checks/tables/td-has-header.json +0 -11
  318. data/node_modules/axe-core/lib/checks/tables/td-headers-attr.js +0 -61
  319. data/node_modules/axe-core/lib/checks/tables/td-headers-attr.json +0 -12
  320. data/node_modules/axe-core/lib/checks/tables/th-has-data-cells.js +0 -76
  321. data/node_modules/axe-core/lib/checks/tables/th-has-data-cells.json +0 -12
  322. data/node_modules/axe-core/lib/checks/tables/th-single-row-column.js +0 -39
  323. data/node_modules/axe-core/lib/checks/visibility/hidden-content.js +0 -21
  324. data/node_modules/axe-core/lib/checks/visibility/hidden-content.json +0 -12
  325. data/node_modules/axe-core/lib/commons/aria/arialabel-text.js +0 -18
  326. data/node_modules/axe-core/lib/commons/aria/arialabelledby-text.js +0 -52
  327. data/node_modules/axe-core/lib/commons/aria/attributes.js +0 -45
  328. data/node_modules/axe-core/lib/commons/aria/get-element-unallowed-roles.js +0 -113
  329. data/node_modules/axe-core/lib/commons/aria/get-owned-virtual.js +0 -24
  330. data/node_modules/axe-core/lib/commons/aria/get-role.js +0 -44
  331. data/node_modules/axe-core/lib/commons/aria/index.js +0 -2424
  332. data/node_modules/axe-core/lib/commons/aria/is-accessible-ref.js +0 -59
  333. data/node_modules/axe-core/lib/commons/aria/is-aria-role-allowed-on-element.js +0 -41
  334. data/node_modules/axe-core/lib/commons/aria/is-unsupported-role.js +0 -14
  335. data/node_modules/axe-core/lib/commons/aria/label-virtual.js +0 -54
  336. data/node_modules/axe-core/lib/commons/aria/named-from-contents.js +0 -39
  337. data/node_modules/axe-core/lib/commons/aria/roles.js +0 -208
  338. data/node_modules/axe-core/lib/commons/aria/validate-attr-value.js +0 -62
  339. data/node_modules/axe-core/lib/commons/color/center-point-of-rect.js +0 -30
  340. data/node_modules/axe-core/lib/commons/color/contrast.js +0 -178
  341. data/node_modules/axe-core/lib/commons/color/element-has-image.js +0 -36
  342. data/node_modules/axe-core/lib/commons/color/element-is-distinct.js +0 -88
  343. data/node_modules/axe-core/lib/commons/color/get-background-color.js +0 -285
  344. data/node_modules/axe-core/lib/commons/color/get-foreground-color.js +0 -61
  345. data/node_modules/axe-core/lib/commons/color/get-own-background-color.js +0 -22
  346. data/node_modules/axe-core/lib/commons/color/incomplete-data.js +0 -50
  347. data/node_modules/axe-core/lib/commons/color/index.js +0 -8
  348. data/node_modules/axe-core/lib/commons/dom/elements-below-floating.js +0 -39
  349. data/node_modules/axe-core/lib/commons/dom/find-elms-in-context.js +0 -28
  350. data/node_modules/axe-core/lib/commons/dom/find-up.js +0 -63
  351. data/node_modules/axe-core/lib/commons/dom/get-composed-parent.js +0 -25
  352. data/node_modules/axe-core/lib/commons/dom/get-element-by-reference.js +0 -34
  353. data/node_modules/axe-core/lib/commons/dom/get-element-coordinates.js +0 -38
  354. data/node_modules/axe-core/lib/commons/dom/get-element-stack.js +0 -589
  355. data/node_modules/axe-core/lib/commons/dom/get-root-node.js +0 -12
  356. data/node_modules/axe-core/lib/commons/dom/get-scroll-offset.js +0 -33
  357. data/node_modules/axe-core/lib/commons/dom/get-tabbable-elements.js +0 -24
  358. data/node_modules/axe-core/lib/commons/dom/get-viewport-size.js +0 -37
  359. data/node_modules/axe-core/lib/commons/dom/has-content-virtual.js +0 -75
  360. data/node_modules/axe-core/lib/commons/dom/idrefs.js +0 -36
  361. data/node_modules/axe-core/lib/commons/dom/index.js +0 -9
  362. data/node_modules/axe-core/lib/commons/dom/is-focusable.js +0 -95
  363. data/node_modules/axe-core/lib/commons/dom/is-hidden-with-css.js +0 -73
  364. data/node_modules/axe-core/lib/commons/dom/is-html5.js +0 -17
  365. data/node_modules/axe-core/lib/commons/dom/is-in-text-block.js +0 -94
  366. data/node_modules/axe-core/lib/commons/dom/is-modal-open.js +0 -98
  367. data/node_modules/axe-core/lib/commons/dom/is-node.js +0 -13
  368. data/node_modules/axe-core/lib/commons/dom/is-offscreen.js +0 -62
  369. data/node_modules/axe-core/lib/commons/dom/is-skip-link.js +0 -45
  370. data/node_modules/axe-core/lib/commons/dom/is-visible.js +0 -176
  371. data/node_modules/axe-core/lib/commons/dom/is-visual-content.js +0 -49
  372. data/node_modules/axe-core/lib/commons/dom/shadow-elements-from-point.js +0 -42
  373. data/node_modules/axe-core/lib/commons/dom/url-props-from-attribute.js +0 -152
  374. data/node_modules/axe-core/lib/commons/dom/visually-contains.js +0 -111
  375. data/node_modules/axe-core/lib/commons/dom/visually-overlaps.js +0 -46
  376. data/node_modules/axe-core/lib/commons/forms/index.js +0 -8
  377. data/node_modules/axe-core/lib/commons/forms/is-aria-combobox.js +0 -13
  378. data/node_modules/axe-core/lib/commons/forms/is-aria-listbox.js +0 -13
  379. data/node_modules/axe-core/lib/commons/forms/is-aria-range.js +0 -14
  380. data/node_modules/axe-core/lib/commons/forms/is-aria-textbox.js +0 -13
  381. data/node_modules/axe-core/lib/commons/forms/is-native-select.js +0 -13
  382. data/node_modules/axe-core/lib/commons/forms/is-native-textbox.js +0 -28
  383. data/node_modules/axe-core/lib/commons/index.js +0 -11
  384. data/node_modules/axe-core/lib/commons/intro.stub +0 -1
  385. data/node_modules/axe-core/lib/commons/matches/attributes.js +0 -27
  386. data/node_modules/axe-core/lib/commons/matches/condition.js +0 -19
  387. data/node_modules/axe-core/lib/commons/matches/from-definition.js +0 -52
  388. data/node_modules/axe-core/lib/commons/matches/from-function.js +0 -38
  389. data/node_modules/axe-core/lib/commons/matches/from-primative.js +0 -30
  390. data/node_modules/axe-core/lib/commons/matches/index.js +0 -39
  391. data/node_modules/axe-core/lib/commons/matches/node-name.js +0 -24
  392. data/node_modules/axe-core/lib/commons/matches/properties.js +0 -28
  393. data/node_modules/axe-core/lib/commons/outro.stub +0 -2
  394. data/node_modules/axe-core/lib/commons/table/get-all-cells.js +0 -28
  395. data/node_modules/axe-core/lib/commons/table/get-cell-position.js +0 -28
  396. data/node_modules/axe-core/lib/commons/table/get-headers.js +0 -79
  397. data/node_modules/axe-core/lib/commons/table/get-scope.js +0 -54
  398. data/node_modules/axe-core/lib/commons/table/index.js +0 -9
  399. data/node_modules/axe-core/lib/commons/table/is-column-header.js +0 -13
  400. data/node_modules/axe-core/lib/commons/table/is-data-cell.js +0 -22
  401. data/node_modules/axe-core/lib/commons/table/is-data-table.js +0 -189
  402. data/node_modules/axe-core/lib/commons/table/is-header.js +0 -22
  403. data/node_modules/axe-core/lib/commons/table/is-row-header.js +0 -13
  404. data/node_modules/axe-core/lib/commons/table/to-grid.js +0 -38
  405. data/node_modules/axe-core/lib/commons/table/traverse.js +0 -78
  406. data/node_modules/axe-core/lib/commons/text/accessible-text-virtual.js +0 -152
  407. data/node_modules/axe-core/lib/commons/text/form-control-value.js +0 -192
  408. data/node_modules/axe-core/lib/commons/text/index.js +0 -8
  409. data/node_modules/axe-core/lib/commons/text/is-human-interpretable.js +0 -51
  410. data/node_modules/axe-core/lib/commons/text/is-icon-ligature.js +0 -210
  411. data/node_modules/axe-core/lib/commons/text/is-valid-autocomplete.js +0 -117
  412. data/node_modules/axe-core/lib/commons/text/label-text.js +0 -58
  413. data/node_modules/axe-core/lib/commons/text/label-virtual.js +0 -53
  414. data/node_modules/axe-core/lib/commons/text/native-element-types.js +0 -100
  415. data/node_modules/axe-core/lib/commons/text/native-text-alternative.js +0 -50
  416. data/node_modules/axe-core/lib/commons/text/native-text-methods.js +0 -122
  417. data/node_modules/axe-core/lib/commons/text/sanitize.js +0 -18
  418. data/node_modules/axe-core/lib/commons/text/subtree-text.js +0 -89
  419. data/node_modules/axe-core/lib/commons/text/title-text.js +0 -33
  420. data/node_modules/axe-core/lib/commons/text/unicode.js +0 -147
  421. data/node_modules/axe-core/lib/commons/text/unsupported.js +0 -5
  422. data/node_modules/axe-core/lib/commons/text/visible-text-nodes.js +0 -25
  423. data/node_modules/axe-core/lib/commons/text/visible-virtual.js +0 -46
  424. data/node_modules/axe-core/lib/commons/utils/index.js +0 -10
  425. data/node_modules/axe-core/lib/core/base/audit.js +0 -781
  426. data/node_modules/axe-core/lib/core/base/cache.js +0 -33
  427. data/node_modules/axe-core/lib/core/base/check-result.js +0 -33
  428. data/node_modules/axe-core/lib/core/base/check.js +0 -170
  429. data/node_modules/axe-core/lib/core/base/context.js +0 -274
  430. data/node_modules/axe-core/lib/core/base/rule-result.js +0 -39
  431. data/node_modules/axe-core/lib/core/base/rule.js +0 -560
  432. data/node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js +0 -40
  433. data/node_modules/axe-core/lib/core/base/virtual-node/serial-virtual-node.js +0 -88
  434. data/node_modules/axe-core/lib/core/base/virtual-node/virtual-node.js +0 -136
  435. data/node_modules/axe-core/lib/core/constants.js +0 -76
  436. data/node_modules/axe-core/lib/core/imports/index.js +0 -51
  437. data/node_modules/axe-core/lib/core/index.js +0 -43
  438. data/node_modules/axe-core/lib/core/log.js +0 -12
  439. data/node_modules/axe-core/lib/core/public/cleanup-plugins.js +0 -53
  440. data/node_modules/axe-core/lib/core/public/configure.js +0 -110
  441. data/node_modules/axe-core/lib/core/public/get-rules.js +0 -29
  442. data/node_modules/axe-core/lib/core/public/load.js +0 -66
  443. data/node_modules/axe-core/lib/core/public/plugins.js +0 -47
  444. data/node_modules/axe-core/lib/core/public/reporter.js +0 -24
  445. data/node_modules/axe-core/lib/core/public/reset.js +0 -12
  446. data/node_modules/axe-core/lib/core/public/run-rules.js +0 -96
  447. data/node_modules/axe-core/lib/core/public/run-virtual-rule.js +0 -50
  448. data/node_modules/axe-core/lib/core/public/run.js +0 -159
  449. data/node_modules/axe-core/lib/core/reporters/helpers/failure-summary.js +0 -35
  450. data/node_modules/axe-core/lib/core/reporters/helpers/get-environment-data.js +0 -39
  451. data/node_modules/axe-core/lib/core/reporters/helpers/incomplete-fallback-msg.js +0 -13
  452. data/node_modules/axe-core/lib/core/reporters/helpers/index.js +0 -3
  453. data/node_modules/axe-core/lib/core/reporters/helpers/process-aggregate.js +0 -102
  454. data/node_modules/axe-core/lib/core/reporters/na.js +0 -24
  455. data/node_modules/axe-core/lib/core/reporters/no-passes.js +0 -18
  456. data/node_modules/axe-core/lib/core/reporters/raw-env.js +0 -12
  457. data/node_modules/axe-core/lib/core/reporters/raw.js +0 -32
  458. data/node_modules/axe-core/lib/core/reporters/v1.js +0 -29
  459. data/node_modules/axe-core/lib/core/reporters/v2.js +0 -22
  460. data/node_modules/axe-core/lib/core/utils/aggregate.js +0 -19
  461. data/node_modules/axe-core/lib/core/utils/aggregateChecks.js +0 -85
  462. data/node_modules/axe-core/lib/core/utils/aggregateNodeResults.js +0 -61
  463. data/node_modules/axe-core/lib/core/utils/aggregateResult.js +0 -37
  464. data/node_modules/axe-core/lib/core/utils/are-styles-set.js +0 -21
  465. data/node_modules/axe-core/lib/core/utils/assert.js +0 -12
  466. data/node_modules/axe-core/lib/core/utils/check-helper.js +0 -38
  467. data/node_modules/axe-core/lib/core/utils/clone.js +0 -27
  468. data/node_modules/axe-core/lib/core/utils/collect-results-from-frames.js +0 -127
  469. data/node_modules/axe-core/lib/core/utils/contains.js +0 -44
  470. data/node_modules/axe-core/lib/core/utils/css-parser.js +0 -7
  471. data/node_modules/axe-core/lib/core/utils/dq-element.js +0 -97
  472. data/node_modules/axe-core/lib/core/utils/element-matches.js +0 -43
  473. data/node_modules/axe-core/lib/core/utils/escape-selector.js +0 -78
  474. data/node_modules/axe-core/lib/core/utils/extend-meta-data.js +0 -17
  475. data/node_modules/axe-core/lib/core/utils/finalize-result.js +0 -11
  476. data/node_modules/axe-core/lib/core/utils/find-by.js +0 -14
  477. data/node_modules/axe-core/lib/core/utils/flattened-tree.js +0 -156
  478. data/node_modules/axe-core/lib/core/utils/get-all-checks.js +0 -12
  479. data/node_modules/axe-core/lib/core/utils/get-base-lang.js +0 -16
  480. data/node_modules/axe-core/lib/core/utils/get-check-message.js +0 -21
  481. data/node_modules/axe-core/lib/core/utils/get-check-option.js +0 -39
  482. data/node_modules/axe-core/lib/core/utils/get-friendly-uri-end.js +0 -144
  483. data/node_modules/axe-core/lib/core/utils/get-node-attributes.js +0 -21
  484. data/node_modules/axe-core/lib/core/utils/get-root-node.js +0 -17
  485. data/node_modules/axe-core/lib/core/utils/get-scroll.js +0 -39
  486. data/node_modules/axe-core/lib/core/utils/get-selector.js +0 -409
  487. data/node_modules/axe-core/lib/core/utils/get-stylesheet-factory.js +0 -51
  488. data/node_modules/axe-core/lib/core/utils/get-xpath.js +0 -83
  489. data/node_modules/axe-core/lib/core/utils/index.js +0 -10
  490. data/node_modules/axe-core/lib/core/utils/inject-style.js +0 -38
  491. data/node_modules/axe-core/lib/core/utils/is-hidden.js +0 -52
  492. data/node_modules/axe-core/lib/core/utils/is-html-element.js +0 -135
  493. data/node_modules/axe-core/lib/core/utils/is-shadow-root.js +0 -40
  494. data/node_modules/axe-core/lib/core/utils/is-xhtml.js +0 -14
  495. data/node_modules/axe-core/lib/core/utils/matches.js +0 -263
  496. data/node_modules/axe-core/lib/core/utils/memoize.js +0 -17
  497. data/node_modules/axe-core/lib/core/utils/merge-results.js +0 -116
  498. data/node_modules/axe-core/lib/core/utils/node-sorter.js +0 -21
  499. data/node_modules/axe-core/lib/core/utils/parse-crossorigin-stylesheet.js +0 -54
  500. data/node_modules/axe-core/lib/core/utils/parse-sameorigin-stylesheet.js +0 -96
  501. data/node_modules/axe-core/lib/core/utils/parse-stylesheet.js +0 -70
  502. data/node_modules/axe-core/lib/core/utils/performance-timer.js +0 -126
  503. data/node_modules/axe-core/lib/core/utils/pollyfills.js +0 -299
  504. data/node_modules/axe-core/lib/core/utils/preload-cssom.js +0 -253
  505. data/node_modules/axe-core/lib/core/utils/preload-media.js +0 -65
  506. data/node_modules/axe-core/lib/core/utils/preload.js +0 -144
  507. data/node_modules/axe-core/lib/core/utils/process-message.js +0 -72
  508. data/node_modules/axe-core/lib/core/utils/publish-metadata.js +0 -106
  509. data/node_modules/axe-core/lib/core/utils/qsa.js +0 -110
  510. data/node_modules/axe-core/lib/core/utils/queue.js +0 -138
  511. data/node_modules/axe-core/lib/core/utils/respondable.js +0 -261
  512. data/node_modules/axe-core/lib/core/utils/rule-should-run.js +0 -82
  513. data/node_modules/axe-core/lib/core/utils/scroll-state.js +0 -57
  514. data/node_modules/axe-core/lib/core/utils/select.js +0 -135
  515. data/node_modules/axe-core/lib/core/utils/to-array.js +0 -21
  516. data/node_modules/axe-core/lib/core/utils/token-list.js +0 -15
  517. data/node_modules/axe-core/lib/core/utils/uuid.js +0 -244
  518. data/node_modules/axe-core/lib/core/utils/valid-input-type.js +0 -35
  519. data/node_modules/axe-core/lib/core/utils/valid-langs.js +0 -8152
  520. data/node_modules/axe-core/lib/intro.stub +0 -15
  521. data/node_modules/axe-core/lib/misc/any-failure-summary.json +0 -6
  522. data/node_modules/axe-core/lib/misc/incomplete-fallback.json +0 -3
  523. data/node_modules/axe-core/lib/misc/none-failure-summary.json +0 -6
  524. data/node_modules/axe-core/lib/outro.stub +0 -2
  525. data/node_modules/axe-core/lib/rules/accesskeys.json +0 -13
  526. data/node_modules/axe-core/lib/rules/area-alt.json +0 -21
  527. data/node_modules/axe-core/lib/rules/aria-allowed-attr-matches.js +0 -11
  528. data/node_modules/axe-core/lib/rules/aria-allowed-attr.json +0 -12
  529. data/node_modules/axe-core/lib/rules/aria-allowed-role-matches.js +0 -7
  530. data/node_modules/axe-core/lib/rules/aria-allowed-role.json +0 -14
  531. data/node_modules/axe-core/lib/rules/aria-dpub-role-fallback-matches.js +0 -10
  532. data/node_modules/axe-core/lib/rules/aria-dpub-role-fallback.json +0 -14
  533. data/node_modules/axe-core/lib/rules/aria-form-field-name-matches.js +0 -50
  534. data/node_modules/axe-core/lib/rules/aria-has-attr-matches.js +0 -11
  535. data/node_modules/axe-core/lib/rules/aria-hidden-body.json +0 -13
  536. data/node_modules/axe-core/lib/rules/aria-hidden-focus-matches.js +0 -18
  537. data/node_modules/axe-core/lib/rules/aria-hidden-focus.json +0 -18
  538. data/node_modules/axe-core/lib/rules/aria-input-field-name.json +0 -13
  539. data/node_modules/axe-core/lib/rules/aria-required-attr.json +0 -12
  540. data/node_modules/axe-core/lib/rules/aria-required-children.json +0 -12
  541. data/node_modules/axe-core/lib/rules/aria-required-parent.json +0 -12
  542. data/node_modules/axe-core/lib/rules/aria-roledescription.json +0 -12
  543. data/node_modules/axe-core/lib/rules/aria-roles.json +0 -13
  544. data/node_modules/axe-core/lib/rules/aria-toggle-field-name.json +0 -18
  545. data/node_modules/axe-core/lib/rules/aria-valid-attr-value.json +0 -12
  546. data/node_modules/axe-core/lib/rules/aria-valid-attr.json +0 -12
  547. data/node_modules/axe-core/lib/rules/audio-caption.json +0 -20
  548. data/node_modules/axe-core/lib/rules/autocomplete-matches.js +0 -49
  549. data/node_modules/axe-core/lib/rules/autocomplete-valid.json +0 -12
  550. data/node_modules/axe-core/lib/rules/avoid-inline-spacing.json +0 -12
  551. data/node_modules/axe-core/lib/rules/blink.json +0 -19
  552. data/node_modules/axe-core/lib/rules/button-name.json +0 -25
  553. data/node_modules/axe-core/lib/rules/bypass-matches.js +0 -1
  554. data/node_modules/axe-core/lib/rules/bypass.json +0 -20
  555. data/node_modules/axe-core/lib/rules/checkboxgroup.json +0 -13
  556. data/node_modules/axe-core/lib/rules/color-contrast-matches.js +0 -161
  557. data/node_modules/axe-core/lib/rules/color-contrast.json +0 -13
  558. data/node_modules/axe-core/lib/rules/css-orientation-lock.json +0 -13
  559. data/node_modules/axe-core/lib/rules/data-table-large-matches.js +0 -11
  560. data/node_modules/axe-core/lib/rules/data-table-matches.js +0 -1
  561. data/node_modules/axe-core/lib/rules/definition-list.json +0 -13
  562. data/node_modules/axe-core/lib/rules/dlitem.json +0 -13
  563. data/node_modules/axe-core/lib/rules/document-title.json +0 -13
  564. data/node_modules/axe-core/lib/rules/duplicate-id-active-matches.js +0 -8
  565. data/node_modules/axe-core/lib/rules/duplicate-id-active.json +0 -14
  566. data/node_modules/axe-core/lib/rules/duplicate-id-aria-matches.js +0 -1
  567. data/node_modules/axe-core/lib/rules/duplicate-id-aria.json +0 -14
  568. data/node_modules/axe-core/lib/rules/duplicate-id-misc-matches.js +0 -11
  569. data/node_modules/axe-core/lib/rules/duplicate-id.json +0 -14
  570. data/node_modules/axe-core/lib/rules/empty-heading.json +0 -13
  571. data/node_modules/axe-core/lib/rules/focus-order-semantics.json +0 -13
  572. data/node_modules/axe-core/lib/rules/form-field-multiple-labels.json +0 -13
  573. data/node_modules/axe-core/lib/rules/frame-tested.json +0 -12
  574. data/node_modules/axe-core/lib/rules/frame-title-has-text.js +0 -2
  575. data/node_modules/axe-core/lib/rules/frame-title-unique.json +0 -13
  576. data/node_modules/axe-core/lib/rules/frame-title.json +0 -25
  577. data/node_modules/axe-core/lib/rules/heading-matches.js +0 -15
  578. data/node_modules/axe-core/lib/rules/heading-order.json +0 -13
  579. data/node_modules/axe-core/lib/rules/hidden-content.json +0 -13
  580. data/node_modules/axe-core/lib/rules/html-has-lang.json +0 -13
  581. data/node_modules/axe-core/lib/rules/html-lang-valid.json +0 -12
  582. data/node_modules/axe-core/lib/rules/html-namespace-matches.js +0 -1
  583. data/node_modules/axe-core/lib/rules/html-xml-lang-mismatch.json +0 -13
  584. data/node_modules/axe-core/lib/rules/identical-links-same-purpose-matches.js +0 -13
  585. data/node_modules/axe-core/lib/rules/identical-links-same-purpose.json +0 -14
  586. data/node_modules/axe-core/lib/rules/image-alt.json +0 -25
  587. data/node_modules/axe-core/lib/rules/img-redundant-alt.json +0 -12
  588. data/node_modules/axe-core/lib/rules/input-button-name.json +0 -26
  589. data/node_modules/axe-core/lib/rules/input-image-alt.json +0 -18
  590. data/node_modules/axe-core/lib/rules/inserted-into-focus-order-matches.js +0 -1
  591. data/node_modules/axe-core/lib/rules/label-content-name-mismatch-matches.js +0 -45
  592. data/node_modules/axe-core/lib/rules/label-content-name-mismatch.json +0 -12
  593. data/node_modules/axe-core/lib/rules/label-matches.js +0 -11
  594. data/node_modules/axe-core/lib/rules/label-title-only.json +0 -13
  595. data/node_modules/axe-core/lib/rules/label.json +0 -26
  596. data/node_modules/axe-core/lib/rules/landmark-banner-is-top-level.json +0 -13
  597. data/node_modules/axe-core/lib/rules/landmark-complementary-is-top-level.json +0 -12
  598. data/node_modules/axe-core/lib/rules/landmark-contentinfo-is-top-level.json +0 -13
  599. data/node_modules/axe-core/lib/rules/landmark-has-body-context.js +0 -8
  600. data/node_modules/axe-core/lib/rules/landmark-main-is-top-level.json +0 -12
  601. data/node_modules/axe-core/lib/rules/landmark-no-duplicate-banner.json +0 -12
  602. data/node_modules/axe-core/lib/rules/landmark-no-duplicate-contentinfo.json +0 -12
  603. data/node_modules/axe-core/lib/rules/landmark-no-duplicate-main.json +0 -12
  604. data/node_modules/axe-core/lib/rules/landmark-one-main.json +0 -12
  605. data/node_modules/axe-core/lib/rules/landmark-unique-matches.js +0 -41
  606. data/node_modules/axe-core/lib/rules/landmark-unique.json +0 -13
  607. data/node_modules/axe-core/lib/rules/layout-table-matches.js +0 -8
  608. data/node_modules/axe-core/lib/rules/layout-table.json +0 -14
  609. data/node_modules/axe-core/lib/rules/link-in-text-block-matches.js +0 -14
  610. data/node_modules/axe-core/lib/rules/link-in-text-block.json +0 -14
  611. data/node_modules/axe-core/lib/rules/link-name.json +0 -25
  612. data/node_modules/axe-core/lib/rules/list.json +0 -13
  613. data/node_modules/axe-core/lib/rules/listitem.json +0 -13
  614. data/node_modules/axe-core/lib/rules/marquee.json +0 -13
  615. data/node_modules/axe-core/lib/rules/meta-refresh.json +0 -20
  616. data/node_modules/axe-core/lib/rules/meta-viewport-large.json +0 -13
  617. data/node_modules/axe-core/lib/rules/meta-viewport.json +0 -13
  618. data/node_modules/axe-core/lib/rules/no-autoplay-audio-matches.js +0 -18
  619. data/node_modules/axe-core/lib/rules/no-autoplay-audio.json +0 -15
  620. data/node_modules/axe-core/lib/rules/no-empty-role-matches.js +0 -9
  621. data/node_modules/axe-core/lib/rules/no-role-matches.js +0 -1
  622. data/node_modules/axe-core/lib/rules/not-html-matches.js +0 -1
  623. data/node_modules/axe-core/lib/rules/object-alt.json +0 -25
  624. data/node_modules/axe-core/lib/rules/p-as-heading-matches.js +0 -17
  625. data/node_modules/axe-core/lib/rules/p-as-heading.json +0 -13
  626. data/node_modules/axe-core/lib/rules/page-has-heading-one.json +0 -12
  627. data/node_modules/axe-core/lib/rules/radiogroup.json +0 -13
  628. data/node_modules/axe-core/lib/rules/region.json +0 -12
  629. data/node_modules/axe-core/lib/rules/role-img-alt.json +0 -19
  630. data/node_modules/axe-core/lib/rules/scope-attr-valid.json +0 -12
  631. data/node_modules/axe-core/lib/rules/scrollable-region-focusable-matches.js +0 -30
  632. data/node_modules/axe-core/lib/rules/scrollable-region-focusable.json +0 -12
  633. data/node_modules/axe-core/lib/rules/server-side-image-map.json +0 -18
  634. data/node_modules/axe-core/lib/rules/skip-link-matches.js +0 -1
  635. data/node_modules/axe-core/lib/rules/skip-link.json +0 -13
  636. data/node_modules/axe-core/lib/rules/svg-img-alt.json +0 -24
  637. data/node_modules/axe-core/lib/rules/svg-namespace-matches.js +0 -1
  638. data/node_modules/axe-core/lib/rules/tabindex.json +0 -12
  639. data/node_modules/axe-core/lib/rules/table-duplicate-name.json +0 -12
  640. data/node_modules/axe-core/lib/rules/table-fake-caption.json +0 -20
  641. data/node_modules/axe-core/lib/rules/td-has-header.json +0 -20
  642. data/node_modules/axe-core/lib/rules/td-headers-attr.json +0 -12
  643. data/node_modules/axe-core/lib/rules/th-has-data-cells.json +0 -13
  644. data/node_modules/axe-core/lib/rules/valid-lang.json +0 -13
  645. data/node_modules/axe-core/lib/rules/video-caption.json +0 -19
  646. data/node_modules/axe-core/lib/rules/video-description.json +0 -21
  647. data/node_modules/axe-core/lib/rules/window-is-top.js +0 -3
  648. data/node_modules/axe-core/lib/rules/xml-lang-mismatch-matches.js +0 -12
  649. data/node_modules/axe-core/typings/axe-core/axe-core-tests.ts +0 -188
@@ -1,189 +0,0 @@
1
- /* global table, dom */
2
-
3
- /**
4
- * Determines whether a table is a data table
5
- * @method isDataTable
6
- * @memberof axe.commons.table
7
- * @instance
8
- * @param {HTMLTableElement} node The table to test
9
- * @return {Boolean}
10
- * @see http://asurkov.blogspot.co.uk/2011/10/data-vs-layout-table.html
11
- */
12
- table.isDataTable = function(node) {
13
- var role = (node.getAttribute('role') || '').toLowerCase();
14
-
15
- // The element is not focusable and has role=presentation
16
- if ((role === 'presentation' || role === 'none') && !dom.isFocusable(node)) {
17
- return false;
18
- }
19
-
20
- // Table inside editable area is data table always since the table structure is crucial for table editing
21
- if (
22
- node.getAttribute('contenteditable') === 'true' ||
23
- dom.findUp(node, '[contenteditable="true"]')
24
- ) {
25
- return true;
26
- }
27
-
28
- // Table having ARIA table related role is data table
29
- if (role === 'grid' || role === 'treegrid' || role === 'table') {
30
- return true;
31
- }
32
-
33
- // Table having ARIA landmark role is data table
34
- if (commons.aria.getRoleType(role) === 'landmark') {
35
- return true;
36
- }
37
-
38
- // Table having datatable="0" attribute is layout table
39
- if (node.getAttribute('datatable') === '0') {
40
- return false;
41
- }
42
-
43
- // Table having summary attribute is data table
44
- if (node.getAttribute('summary')) {
45
- return true;
46
- }
47
-
48
- // Table having legitimate data table structures is data table
49
- if (node.tHead || node.tFoot || node.caption) {
50
- return true;
51
- }
52
- // colgroup / col - colgroup is magically generated
53
- for (
54
- var childIndex = 0, childLength = node.children.length;
55
- childIndex < childLength;
56
- childIndex++
57
- ) {
58
- if (node.children[childIndex].nodeName.toUpperCase() === 'COLGROUP') {
59
- return true;
60
- }
61
- }
62
-
63
- var cells = 0;
64
- var rowLength = node.rows.length;
65
- var row, cell;
66
- var hasBorder = false;
67
- for (var rowIndex = 0; rowIndex < rowLength; rowIndex++) {
68
- row = node.rows[rowIndex];
69
- for (
70
- var cellIndex = 0, cellLength = row.cells.length;
71
- cellIndex < cellLength;
72
- cellIndex++
73
- ) {
74
- cell = row.cells[cellIndex];
75
- if (cell.nodeName.toUpperCase() === 'TH') {
76
- return true;
77
- }
78
- if (
79
- !hasBorder &&
80
- (cell.offsetWidth !== cell.clientWidth ||
81
- cell.offsetHeight !== cell.clientHeight)
82
- ) {
83
- hasBorder = true;
84
- }
85
- if (
86
- cell.getAttribute('scope') ||
87
- cell.getAttribute('headers') ||
88
- cell.getAttribute('abbr')
89
- ) {
90
- return true;
91
- }
92
- if (
93
- ['columnheader', 'rowheader'].includes(
94
- (cell.getAttribute('role') || '').toLowerCase()
95
- )
96
- ) {
97
- return true;
98
- }
99
- // abbr element as a single child element of table cell
100
- if (
101
- cell.children.length === 1 &&
102
- cell.children[0].nodeName.toUpperCase() === 'ABBR'
103
- ) {
104
- return true;
105
- }
106
- cells++;
107
- }
108
- }
109
-
110
- // Table having nested table is layout table
111
- if (node.getElementsByTagName('table').length) {
112
- return false;
113
- }
114
-
115
- // Table having only one row or column is layout table (row)
116
- if (rowLength < 2) {
117
- return false;
118
- }
119
-
120
- // Table having only one row or column is layout table (column)
121
- var sampleRow = node.rows[Math.ceil(rowLength / 2)];
122
- if (sampleRow.cells.length === 1 && sampleRow.cells[0].colSpan === 1) {
123
- return false;
124
- }
125
-
126
- // Table having many columns (>= 5) is data table
127
- if (sampleRow.cells.length >= 5) {
128
- return true;
129
- }
130
-
131
- // Table having borders around cells is data table
132
- if (hasBorder) {
133
- return true;
134
- }
135
-
136
- // Table having differently colored rows is data table
137
- var bgColor, bgImage;
138
- for (rowIndex = 0; rowIndex < rowLength; rowIndex++) {
139
- row = node.rows[rowIndex];
140
- if (
141
- bgColor &&
142
- bgColor !==
143
- window.getComputedStyle(row).getPropertyValue('background-color')
144
- ) {
145
- return true;
146
- } else {
147
- bgColor = window
148
- .getComputedStyle(row)
149
- .getPropertyValue('background-color');
150
- }
151
- if (
152
- bgImage &&
153
- bgImage !==
154
- window.getComputedStyle(row).getPropertyValue('background-image')
155
- ) {
156
- return true;
157
- } else {
158
- bgImage = window
159
- .getComputedStyle(row)
160
- .getPropertyValue('background-image');
161
- }
162
- }
163
-
164
- // Table having many rows (>= 20) is data table
165
- if (rowLength >= 20) {
166
- return true;
167
- }
168
-
169
- // Wide table (more than 95% of the document width) is layout table
170
- if (
171
- dom.getElementCoordinates(node).width >
172
- dom.getViewportSize(window).width * 0.95
173
- ) {
174
- return false;
175
- }
176
-
177
- // Table having small amount of cells (<= 10) is layout table
178
- if (cells < 10) {
179
- return false;
180
- }
181
-
182
- // Table containing embed, object, applet of iframe elements (typical advertisements elements) is layout table
183
- if (node.querySelector('object, embed, iframe, applet')) {
184
- return false;
185
- }
186
-
187
- // Otherwise it's data table
188
- return true;
189
- };
@@ -1,22 +0,0 @@
1
- /* global table, axe */
2
-
3
- /**
4
- * Determine if a `HTMLTableCellElement` is a header
5
- * @method isHeader
6
- * @memberof axe.commons.table
7
- * @instance
8
- * @param {HTMLTableCellElement} cell The table cell to test
9
- * @return {Boolean}
10
- */
11
- table.isHeader = function(cell) {
12
- if (table.isColumnHeader(cell) || table.isRowHeader(cell)) {
13
- return true;
14
- }
15
-
16
- if (cell.getAttribute('id')) {
17
- const id = axe.utils.escapeSelector(cell.getAttribute('id'));
18
- return !!document.querySelector(`[headers~="${id}"]`);
19
- }
20
-
21
- return false;
22
- };
@@ -1,13 +0,0 @@
1
- /* global table */
2
-
3
- /**
4
- * Determine if a `HTMLTableCellElement` is a row header
5
- * @method isRowHeader
6
- * @memberof axe.commons.table
7
- * @instance
8
- * @param {HTMLTableCellElement} cell The table cell to test
9
- * @return {Boolean}
10
- */
11
- table.isRowHeader = function(cell) {
12
- return ['row', 'auto'].includes(table.getScope(cell));
13
- };
@@ -1,38 +0,0 @@
1
- /*global table */
2
-
3
- /**
4
- * Converts a table to an Array of arrays, normalized for row and column spans
5
- * @method toGrid
6
- * @memberof axe.commons.table
7
- * @instance
8
- * @param {HTMLTableElement} node The table to convert
9
- * @return {Array<HTMLTableCellElement>} Array of HTMLTableCellElements
10
- */
11
- table.toGrid = axe.utils.memoize(function(node) {
12
- var table = [];
13
- var rows = node.rows;
14
- for (var i = 0, rowLength = rows.length; i < rowLength; i++) {
15
- var cells = rows[i].cells;
16
- table[i] = table[i] || [];
17
-
18
- var columnIndex = 0;
19
-
20
- for (var j = 0, cellLength = cells.length; j < cellLength; j++) {
21
- for (var colSpan = 0; colSpan < cells[j].colSpan; colSpan++) {
22
- for (var rowSpan = 0; rowSpan < cells[j].rowSpan; rowSpan++) {
23
- table[i + rowSpan] = table[i + rowSpan] || [];
24
- while (table[i + rowSpan][columnIndex]) {
25
- columnIndex++;
26
- }
27
- table[i + rowSpan][columnIndex] = cells[j];
28
- }
29
- columnIndex++;
30
- }
31
- }
32
- }
33
-
34
- return table;
35
- });
36
-
37
- // This was the old name
38
- table.toArray = table.toGrid;
@@ -1,78 +0,0 @@
1
- /* global table */
2
- (function(table) {
3
- var traverseTable = function(dir, position, tableGrid, callback) {
4
- var result;
5
- var cell = tableGrid[position.y]
6
- ? tableGrid[position.y][position.x]
7
- : undefined;
8
- if (!cell) {
9
- return [];
10
- }
11
- if (typeof callback === 'function') {
12
- result = callback(cell, position, tableGrid);
13
- if (result === true) {
14
- // abort
15
- return [cell];
16
- }
17
- }
18
-
19
- result = traverseTable(
20
- dir,
21
- {
22
- x: position.x + dir.x,
23
- y: position.y + dir.y
24
- },
25
- tableGrid,
26
- callback
27
- );
28
- result.unshift(cell);
29
- return result;
30
- };
31
-
32
- /**
33
- * Traverses a table in a given direction, passing the cell to the callback
34
- * @method traverse
35
- * @memberof axe.commons.table
36
- * @instance
37
- * @param {Object|String} dir Direction that will be added recursively {x: 1, y: 0}, 'left';
38
- * @param {Object} startPos x/y coordinate: {x: 0, y: 0};
39
- * @param {Array} [tablegrid] A matrix of the table obtained using axe.commons.table.toArray (OPTIONAL)
40
- * @param {Function} callback Function to which each cell will be passed
41
- * @return {NodeElement} If the callback returns true, the traversal will end and the cell will be returned
42
- */
43
- table.traverse = function(dir, startPos, tableGrid, callback) {
44
- /* eslint indent: 0 */
45
- if (Array.isArray(startPos)) {
46
- callback = tableGrid;
47
- tableGrid = startPos;
48
- startPos = { x: 0, y: 0 };
49
- }
50
-
51
- if (typeof dir === 'string') {
52
- switch (dir) {
53
- case 'left':
54
- dir = { x: -1, y: 0 };
55
- break;
56
- case 'up':
57
- dir = { x: 0, y: -1 };
58
- break;
59
- case 'right':
60
- dir = { x: 1, y: 0 };
61
- break;
62
- case 'down':
63
- dir = { x: 0, y: 1 };
64
- break;
65
- }
66
- }
67
-
68
- return traverseTable(
69
- dir,
70
- {
71
- x: startPos.x + dir.x,
72
- y: startPos.y + dir.y
73
- },
74
- tableGrid,
75
- callback
76
- );
77
- };
78
- })(table);
@@ -1,152 +0,0 @@
1
- /* global text, dom, aria, axe */
2
-
3
- /**
4
- * Finds virtual node and calls accessibleTextVirtual()
5
- * IMPORTANT: This method requires the composed tree at axe._tree
6
- *
7
- * @param {HTMLElement} element The HTMLElement
8
- * @param {Object} context
9
- * @property {Bool} inControlContext
10
- * @property {Bool} inLabelledByContext
11
- * @return {string}
12
- */
13
- text.accessibleText = function accessibleText(element, context) {
14
- const virtualNode = axe.utils.getNodeFromTree(element); // throws an exception on purpose if axe._tree not correct
15
- return text.accessibleTextVirtual(virtualNode, context);
16
- };
17
-
18
- /**
19
- * Finds virtual node and calls accessibleTextVirtual()
20
- * IMPORTANT: This method requires the composed tree at axe._tree
21
- *
22
- * @param {HTMLElement} element The HTMLElement
23
- * @param {Object} context
24
- * @property {Bool} inControlContext
25
- * @property {Bool} inLabelledByContext
26
- * @return {string}
27
- */
28
- text.accessibleTextVirtual = function accessibleTextVirtual(
29
- virtualNode,
30
- context = {}
31
- ) {
32
- const { actualNode } = virtualNode;
33
- context = prepareContext(virtualNode, context);
34
-
35
- // Step 2A, check visibility
36
- if (shouldIgnoreHidden(virtualNode, context)) {
37
- return '';
38
- }
39
-
40
- const computationSteps = [
41
- aria.arialabelledbyText, // Step 2B.1
42
- aria.arialabelText, // Step 2C
43
- text.nativeTextAlternative, // Step 2D
44
- text.formControlValue, // Step 2E
45
- text.subtreeText, // Step 2F + Step 2H
46
- textNodeContent, // Step 2G (order with 2H does not matter)
47
- text.titleText // Step 2I
48
- ];
49
-
50
- // Find the first step that returns a non-empty string
51
- let accName = computationSteps.reduce((accName, step) => {
52
- if (context.startNode === virtualNode) {
53
- accName = text.sanitize(accName);
54
- }
55
-
56
- if (accName !== '') {
57
- // yes, whitespace only a11y names halt the algorithm
58
- return accName;
59
- }
60
- return step(virtualNode, context);
61
- }, '');
62
-
63
- if (context.debug) {
64
- axe.log(accName || '{empty-value}', actualNode, context);
65
- }
66
- return accName;
67
- };
68
-
69
- /**
70
- * Return the textContent of a node
71
- * @param {VirtualNode} element
72
- * @return {String} textContent value
73
- */
74
- function textNodeContent({ actualNode }) {
75
- if (actualNode.nodeType !== 3) {
76
- return '';
77
- }
78
- return actualNode.textContent;
79
- }
80
-
81
- /**
82
- * Check if the
83
- * @param {VirtualNode} element
84
- * @param {Object} context
85
- * @property {VirtualNode[]} processed
86
- * @return {Boolean}
87
- */
88
- function shouldIgnoreHidden({ actualNode }, context) {
89
- if (
90
- // If the parent isn't ignored, the text node should not be either
91
- actualNode.nodeType !== 1 ||
92
- // If the target of aria-labelledby is hidden, ignore all descendents
93
- context.includeHidden
94
- ) {
95
- return false;
96
- }
97
-
98
- return !dom.isVisible(actualNode, true);
99
- }
100
-
101
- /**
102
- * Apply defaults to the context
103
- * @param {VirtualNode} element
104
- * @param {Object} context
105
- * @return {Object} context object with defaults applied
106
- */
107
- function prepareContext(virtualNode, context) {
108
- const { actualNode } = virtualNode;
109
- if (!context.startNode) {
110
- context = { startNode: virtualNode, ...context };
111
- }
112
- /**
113
- * When `aria-labelledby` directly references a `hidden` element
114
- * the element needs to be included in the accessible name.
115
- *
116
- * When a descendent of the `aria-labelledby` reference is `hidden`
117
- * the element should not be included in the accessible name.
118
- *
119
- * This is done by setting `includeHidden` for the `aria-labelledby` reference.
120
- */
121
- if (
122
- actualNode.nodeType === 1 &&
123
- context.inLabelledByContext &&
124
- context.includeHidden === undefined
125
- ) {
126
- context = {
127
- includeHidden: !dom.isVisible(actualNode, true),
128
- ...context
129
- };
130
- }
131
- return context;
132
- }
133
-
134
- /**
135
- * Check if the node is processed with this context before
136
- * @param {VirtualNode} element
137
- * @param {Object} context
138
- * @property {VirtualNode[]} processed
139
- * @return {Boolean}
140
- */
141
- text.accessibleTextVirtual.alreadyProcessed = function alreadyProcessed(
142
- virtualnode,
143
- context
144
- ) {
145
- context.processed = context.processed || [];
146
- if (context.processed.includes(virtualnode)) {
147
- return true;
148
- }
149
-
150
- context.processed.push(virtualnode);
151
- return false;
152
- };
@@ -1,192 +0,0 @@
1
- /* global text, aria, dom */
2
- const controlValueRoles = [
3
- 'textbox',
4
- 'progressbar',
5
- 'scrollbar',
6
- 'slider',
7
- 'spinbutton',
8
- 'combobox',
9
- 'listbox'
10
- ];
11
-
12
- text.formControlValueMethods = {
13
- nativeTextboxValue,
14
- nativeSelectValue,
15
- ariaTextboxValue,
16
- ariaListboxValue,
17
- ariaComboboxValue,
18
- ariaRangeValue
19
- };
20
-
21
- /**
22
- * Calculate value of a form control
23
- *
24
- * @param {VirtualNode} element The VirtualNode instance whose value we want
25
- * @param {Object} context
26
- * @property {Element} startNode First node in accessible name computation
27
- * @property {String[]} unsupported List of roles where value computation is unsupported
28
- * @property {Bool} debug Enable logging for formControlValue
29
- * @return {string} The calculated value
30
- */
31
- text.formControlValue = function formControlValue(virtualNode, context = {}) {
32
- const { actualNode } = virtualNode;
33
- const unsupported = text.unsupported.accessibleNameFromFieldValue || [];
34
- const role = aria.getRole(actualNode);
35
-
36
- if (
37
- // For the targeted node, the accessible name is never the value:
38
- context.startNode === virtualNode ||
39
- // Only elements with a certain role can return their value
40
- !controlValueRoles.includes(role) ||
41
- // Skip unsupported roles
42
- unsupported.includes(role)
43
- ) {
44
- return '';
45
- }
46
-
47
- // Object.values:
48
- const valueMethods = Object.keys(text.formControlValueMethods).map(
49
- name => text.formControlValueMethods[name]
50
- );
51
-
52
- // Return the value of the first step that returns with text
53
- let valueString = valueMethods.reduce((accName, step) => {
54
- return accName || step(virtualNode, context);
55
- }, '');
56
-
57
- if (context.debug) {
58
- axe.log(valueString || '{empty-value}', actualNode, context);
59
- }
60
- return valueString;
61
- };
62
-
63
- /**
64
- * Calculate value of a native textbox element (input and textarea)
65
- *
66
- * @param {VirtualNode|Element} element The element whose value we want
67
- * @return {string} The calculated value
68
- */
69
- function nativeTextboxValue(node) {
70
- node = node.actualNode || node;
71
- if (axe.commons.forms.isNativeTextbox(node)) {
72
- return node.value || '';
73
- }
74
- return '';
75
- }
76
-
77
- /**
78
- * Calculate value of a select element
79
- *
80
- * @param {VirtualNode} element The VirtualNode instance whose value we want
81
- * @return {string} The calculated value
82
- */
83
- function nativeSelectValue(node) {
84
- node = node.actualNode || node;
85
- if (!axe.commons.forms.isNativeSelect(node)) {
86
- return '';
87
- }
88
- return (
89
- Array.from(node.options)
90
- .filter(option => option.selected)
91
- .map(option => option.text)
92
- .join(' ') || ''
93
- );
94
- }
95
-
96
- /**
97
- * Calculate value of a an element with role=textbox
98
- *
99
- * @param {VirtualNode} element The VirtualNode instance whose value we want
100
- * @return {string} The calculated value
101
- */
102
- function ariaTextboxValue(virtualNode) {
103
- const { actualNode } = virtualNode;
104
- if (!axe.commons.forms.isAriaTextbox(actualNode)) {
105
- return '';
106
- }
107
- if (!dom.isHiddenWithCSS(actualNode)) {
108
- return text.visibleVirtual(virtualNode, true);
109
- } else {
110
- return actualNode.textContent;
111
- }
112
- }
113
-
114
- /**
115
- * Calculate value of an element with role=combobox or role=listbox
116
- *
117
- * @param {VirtualNode} element The VirtualNode instance whose value we want
118
- * @param {Object} context The VirtualNode instance whose value we want
119
- * @property {Element} startNode First node in accessible name computation
120
- * @property {String[]} unsupported List of roles where value computation is unsupported
121
- * @property {Bool} debug Enable logging for formControlValue
122
- * @return {string} The calculated value
123
- */
124
- function ariaListboxValue(virtualNode, context) {
125
- const { actualNode } = virtualNode;
126
- if (!axe.commons.forms.isAriaListbox(actualNode)) {
127
- return '';
128
- }
129
-
130
- const selected = aria
131
- .getOwnedVirtual(virtualNode)
132
- .filter(
133
- owned =>
134
- aria.getRole(owned) === 'option' &&
135
- owned.actualNode.getAttribute('aria-selected') === 'true'
136
- );
137
-
138
- if (selected.length === 0) {
139
- return '';
140
- }
141
- // Note: Even with aria-multiselectable, only the first value will be used
142
- // in the accessible name. This isn't spec'ed out, but seems to be how all
143
- // browser behave.
144
- return axe.commons.text.accessibleTextVirtual(selected[0], context);
145
- }
146
-
147
- /**
148
- * Calculate value of an element with role=combobox or role=listbox
149
- *
150
- * @param {VirtualNode} element The VirtualNode instance whose value we want
151
- * @param {Object} context The VirtualNode instance whose value we want
152
- * @property {Element} startNode First node in accessible name computation
153
- * @property {String[]} unsupported List of roles where value computation is unsupported
154
- * @property {Bool} debug Enable logging for formControlValue
155
- * @return {string} The calculated value
156
- */
157
- function ariaComboboxValue(virtualNode, context) {
158
- const { actualNode } = virtualNode;
159
- let listbox;
160
-
161
- // For combobox, find the first owned listbox:
162
- if (!axe.commons.forms.isAriaCombobox(actualNode)) {
163
- return '';
164
- }
165
- listbox = aria
166
- .getOwnedVirtual(virtualNode)
167
- .filter(elm => aria.getRole(elm) === 'listbox')[0];
168
-
169
- return listbox
170
- ? text.formControlValueMethods.ariaListboxValue(listbox, context)
171
- : '';
172
- }
173
-
174
- /**
175
- * Calculate value of an element with range-type role
176
- *
177
- * @param {VirtualNode|Node} element The VirtualNode instance whose value we want
178
- * @return {string} The calculated value
179
- */
180
- function ariaRangeValue(node) {
181
- node = node.actualNode || node;
182
- if (
183
- !axe.commons.forms.isAriaRange(node) ||
184
- !node.hasAttribute('aria-valuenow')
185
- ) {
186
- return '';
187
- }
188
- // Validate the number, if not, return 0.
189
- // Chrome 70 typecasts this, Firefox 62 does not
190
- const valueNow = +node.getAttribute('aria-valuenow');
191
- return !isNaN(valueNow) ? String(valueNow) : '0';
192
- }
@@ -1,8 +0,0 @@
1
- /* exported text */
2
- /*eslint no-unused-vars: 0*/
3
- /**
4
- * Namespace for text-related utilities.
5
- * @namespace text
6
- * @memberof axe.commons
7
- */
8
- var text = (commons.text = { EdgeFormDefaults: {} });