govuk_publishing_components 30.3.0 → 30.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (661) 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 +25 -11
  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/component_guide/application.scss +4 -0
  8. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-footer.scss +7 -0
  9. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-super-navigation-header.scss +60 -11
  10. data/app/assets/stylesheets/govuk_publishing_components/components/_organisation-logo.scss +2 -4
  11. data/app/views/govuk_publishing_components/component_guide/show.html.erb +31 -6
  12. data/app/views/govuk_publishing_components/components/_layout_super_navigation_header.html.erb +6 -2
  13. data/config/locales/en.yml +4 -0
  14. data/lib/govuk_publishing_components/version.rb +1 -1
  15. data/node_modules/axe-core/README.md +83 -53
  16. data/node_modules/axe-core/axe.d.ts +403 -224
  17. data/node_modules/axe-core/axe.js +23281 -21919
  18. data/node_modules/axe-core/axe.min.js +3 -3
  19. data/node_modules/axe-core/locales/da.json +795 -780
  20. data/node_modules/axe-core/locales/de.json +932 -621
  21. data/node_modules/axe-core/locales/es.json +786 -771
  22. data/node_modules/axe-core/locales/eu.json +787 -0
  23. data/node_modules/axe-core/locales/fr.json +982 -840
  24. data/node_modules/axe-core/locales/ja.json +988 -880
  25. data/node_modules/axe-core/locales/ko.json +999 -775
  26. data/node_modules/axe-core/locales/nl.json +46 -34
  27. data/node_modules/axe-core/locales/pl.json +965 -0
  28. data/node_modules/axe-core/locales/pt_BR.json +966 -880
  29. data/node_modules/axe-core/package.json +189 -145
  30. data/node_modules/axe-core/sri-history.json +312 -192
  31. data/node_modules/govuk-frontend/govuk/all.js +64 -44
  32. data/node_modules/govuk-frontend/govuk/components/accordion/_index.scss +1 -1
  33. data/node_modules/govuk-frontend/govuk/components/accordion/accordion.js +3 -13
  34. data/node_modules/govuk-frontend/govuk/components/accordion/fixtures.json +12 -12
  35. data/node_modules/govuk-frontend/govuk/components/accordion/template.njk +5 -1
  36. data/node_modules/govuk-frontend/govuk/components/character-count/fixtures.json +1 -1
  37. data/node_modules/govuk-frontend/govuk/components/details/details.js +8 -20
  38. data/node_modules/govuk-frontend/govuk/components/details/macro-options.json +6 -0
  39. data/node_modules/govuk-frontend/govuk/components/details/template.njk +1 -1
  40. data/node_modules/govuk-frontend/govuk/components/error-message/fixtures.json +9 -0
  41. data/node_modules/govuk-frontend/govuk/components/error-summary/macro-options.json +6 -0
  42. data/node_modules/govuk-frontend/govuk/components/error-summary/template.njk +2 -2
  43. data/node_modules/govuk-frontend/govuk/components/footer/fixtures.json +59 -20
  44. data/node_modules/govuk-frontend/govuk/components/footer/macro-options.json +40 -0
  45. data/node_modules/govuk-frontend/govuk/components/footer/template.njk +17 -7
  46. data/node_modules/govuk-frontend/govuk/components/header/_index.scss +14 -21
  47. data/node_modules/govuk-frontend/govuk/components/header/fixtures.json +11 -11
  48. data/node_modules/govuk-frontend/govuk/components/header/header.js +53 -11
  49. data/node_modules/govuk-frontend/govuk/components/header/macro-options.json +2 -2
  50. data/node_modules/govuk-frontend/govuk/components/header/template.njk +1 -1
  51. data/node_modules/govuk-frontend/govuk/components/input/_index.scss +9 -10
  52. data/node_modules/govuk-frontend/govuk/components/inset-text/macro-options.json +6 -0
  53. data/node_modules/govuk-frontend/govuk/components/inset-text/template.njk +1 -1
  54. data/node_modules/govuk-frontend/govuk/components/notification-banner/macro-options.json +6 -0
  55. data/node_modules/govuk-frontend/govuk/components/notification-banner/template.njk +2 -2
  56. data/node_modules/govuk-frontend/govuk/components/panel/macro-options.json +6 -0
  57. data/node_modules/govuk-frontend/govuk/components/panel/template.njk +2 -2
  58. data/node_modules/govuk-frontend/govuk/components/select/_index.scss +6 -0
  59. data/node_modules/govuk-frontend/govuk/components/select/fixtures.json +15 -1
  60. data/node_modules/govuk-frontend/govuk/components/summary-list/_index.scss +37 -10
  61. data/node_modules/govuk-frontend/govuk/components/summary-list/fixtures.json +69 -4
  62. data/node_modules/govuk-frontend/govuk/components/summary-list/template.njk +3 -3
  63. data/node_modules/govuk-frontend/govuk/components/tabs/fixtures.json +13 -13
  64. data/node_modules/govuk-frontend/govuk/components/tabs/template.njk +5 -1
  65. data/node_modules/govuk-frontend/govuk/helpers/_typography.scss +14 -7
  66. data/node_modules/govuk-frontend/govuk/overrides/_spacing.scss +56 -12
  67. data/node_modules/govuk-frontend/govuk/settings/_spacing.scss +4 -8
  68. data/node_modules/govuk-frontend/govuk/template.njk +5 -5
  69. data/node_modules/govuk-frontend/govuk-esm/components/accordion/accordion.mjs +3 -13
  70. data/node_modules/govuk-frontend/govuk-esm/components/details/details.mjs +8 -20
  71. data/node_modules/govuk-frontend/govuk-esm/components/header/header.mjs +53 -11
  72. data/node_modules/govuk-frontend/package.json +1 -1
  73. data/node_modules/sortablejs/README.md +828 -815
  74. data/node_modules/sortablejs/Sortable.js +186 -113
  75. data/node_modules/sortablejs/Sortable.min.js +2 -2
  76. data/node_modules/sortablejs/modular/sortable.complete.esm.js +184 -111
  77. data/node_modules/sortablejs/modular/sortable.core.esm.js +184 -111
  78. data/node_modules/sortablejs/modular/sortable.esm.js +184 -111
  79. data/node_modules/sortablejs/package.json +3 -3
  80. metadata +6 -584
  81. data/node_modules/axe-core/CHANGELOG.md +0 -1053
  82. data/node_modules/axe-core/CONTRIBUTING.md +0 -187
  83. data/node_modules/axe-core/bower.json +0 -40
  84. data/node_modules/axe-core/doc/API.md +0 -889
  85. data/node_modules/axe-core/doc/accessibility-supported.md +0 -33
  86. data/node_modules/axe-core/doc/act-rules-format.md +0 -37
  87. data/node_modules/axe-core/doc/aria-supported.md +0 -13
  88. data/node_modules/axe-core/doc/backwards-compatibility-doc.md +0 -94
  89. data/node_modules/axe-core/doc/check-message-template.md +0 -124
  90. data/node_modules/axe-core/doc/code-submission-guidelines.md +0 -178
  91. data/node_modules/axe-core/doc/developer-guide.md +0 -514
  92. data/node_modules/axe-core/doc/examples/chrome-debugging-protocol/README.md +0 -13
  93. data/node_modules/axe-core/doc/examples/chrome-debugging-protocol/axe-cdp.js +0 -81
  94. data/node_modules/axe-core/doc/examples/chrome-debugging-protocol/package.json +0 -11
  95. data/node_modules/axe-core/doc/examples/html-handlebars.md +0 -164
  96. data/node_modules/axe-core/doc/examples/jasmine/README.md +0 -35
  97. data/node_modules/axe-core/doc/examples/jasmine/karma.conf.js +0 -29
  98. data/node_modules/axe-core/doc/examples/jasmine/package.json +0 -21
  99. data/node_modules/axe-core/doc/examples/jasmine/spec/a11y.js +0 -36
  100. data/node_modules/axe-core/doc/examples/jest_react/README.md +0 -41
  101. data/node_modules/axe-core/doc/examples/jest_react/link.js +0 -7
  102. data/node_modules/axe-core/doc/examples/jest_react/link.test.js +0 -24
  103. data/node_modules/axe-core/doc/examples/jest_react/package.json +0 -28
  104. data/node_modules/axe-core/doc/examples/jest_react/test-helpers.js +0 -21
  105. data/node_modules/axe-core/doc/examples/jsdom/package.json +0 -15
  106. data/node_modules/axe-core/doc/examples/mocha/README.md +0 -35
  107. data/node_modules/axe-core/doc/examples/mocha/karma.conf.js +0 -29
  108. data/node_modules/axe-core/doc/examples/mocha/package.json +0 -22
  109. data/node_modules/axe-core/doc/examples/phantomjs/README.md +0 -17
  110. data/node_modules/axe-core/doc/examples/phantomjs/axe-phantom.js +0 -53
  111. data/node_modules/axe-core/doc/examples/phantomjs/package.json +0 -19
  112. data/node_modules/axe-core/doc/examples/puppeteer/README.md +0 -12
  113. data/node_modules/axe-core/doc/examples/puppeteer/axe-puppeteer.js +0 -60
  114. data/node_modules/axe-core/doc/examples/puppeteer/package.json +0 -13
  115. data/node_modules/axe-core/doc/examples/qunit/README.md +0 -37
  116. data/node_modules/axe-core/doc/examples/qunit/package.json +0 -21
  117. data/node_modules/axe-core/doc/examples/test-examples.js +0 -32
  118. data/node_modules/axe-core/doc/plugins.md +0 -123
  119. data/node_modules/axe-core/doc/projects.md +0 -48
  120. data/node_modules/axe-core/doc/rule-descriptions.md +0 -129
  121. data/node_modules/axe-core/doc/rule-development.md +0 -123
  122. data/node_modules/axe-core/doc/rule-proposal.md +0 -106
  123. data/node_modules/axe-core/lib/checks/aria/abstractrole.js +0 -10
  124. data/node_modules/axe-core/lib/checks/aria/abstractrole.json +0 -14
  125. data/node_modules/axe-core/lib/checks/aria/allowed-attr.js +0 -39
  126. data/node_modules/axe-core/lib/checks/aria/allowed-attr.json +0 -14
  127. data/node_modules/axe-core/lib/checks/aria/aria-allowed-role.js +0 -28
  128. data/node_modules/axe-core/lib/checks/aria/aria-allowed-role.json +0 -22
  129. data/node_modules/axe-core/lib/checks/aria/aria-hidden-body.js +0 -1
  130. data/node_modules/axe-core/lib/checks/aria/aria-hidden-body.json +0 -11
  131. data/node_modules/axe-core/lib/checks/aria/aria-roledescription.js +0 -14
  132. data/node_modules/axe-core/lib/checks/aria/aria-roledescription.json +0 -23
  133. data/node_modules/axe-core/lib/checks/aria/errormessage.js +0 -33
  134. data/node_modules/axe-core/lib/checks/aria/errormessage.json +0 -14
  135. data/node_modules/axe-core/lib/checks/aria/fallbackrole.js +0 -1
  136. data/node_modules/axe-core/lib/checks/aria/fallbackrole.json +0 -11
  137. data/node_modules/axe-core/lib/checks/aria/has-widget-role.js +0 -6
  138. data/node_modules/axe-core/lib/checks/aria/has-widget-role.json +0 -12
  139. data/node_modules/axe-core/lib/checks/aria/implicit-role-fallback.js +0 -6
  140. data/node_modules/axe-core/lib/checks/aria/implicit-role-fallback.json +0 -12
  141. data/node_modules/axe-core/lib/checks/aria/invalidrole.js +0 -17
  142. data/node_modules/axe-core/lib/checks/aria/invalidrole.json +0 -14
  143. data/node_modules/axe-core/lib/checks/aria/no-implicit-explicit-label.js +0 -21
  144. data/node_modules/axe-core/lib/checks/aria/no-implicit-explicit-label.json +0 -11
  145. data/node_modules/axe-core/lib/checks/aria/required-attr.js +0 -53
  146. data/node_modules/axe-core/lib/checks/aria/required-attr.json +0 -14
  147. data/node_modules/axe-core/lib/checks/aria/required-children.js +0 -154
  148. data/node_modules/axe-core/lib/checks/aria/required-children.json +0 -32
  149. data/node_modules/axe-core/lib/checks/aria/required-parent.js +0 -87
  150. data/node_modules/axe-core/lib/checks/aria/required-parent.json +0 -14
  151. data/node_modules/axe-core/lib/checks/aria/unsupportedattr.js +0 -39
  152. data/node_modules/axe-core/lib/checks/aria/unsupportedattr.json +0 -11
  153. data/node_modules/axe-core/lib/checks/aria/unsupportedrole.js +0 -1
  154. data/node_modules/axe-core/lib/checks/aria/unsupportedrole.json +0 -11
  155. data/node_modules/axe-core/lib/checks/aria/valid-attr-value.js +0 -80
  156. data/node_modules/axe-core/lib/checks/aria/valid-attr-value.json +0 -19
  157. data/node_modules/axe-core/lib/checks/aria/valid-attr.js +0 -25
  158. data/node_modules/axe-core/lib/checks/aria/valid-attr.json +0 -15
  159. data/node_modules/axe-core/lib/checks/aria/valid-scrollable-semantics.js +0 -62
  160. data/node_modules/axe-core/lib/checks/aria/valid-scrollable-semantics.json +0 -12
  161. data/node_modules/axe-core/lib/checks/color/color-contrast.js +0 -86
  162. data/node_modules/axe-core/lib/checks/color/color-contrast.json +0 -30
  163. data/node_modules/axe-core/lib/checks/color/link-in-text-block.js +0 -85
  164. data/node_modules/axe-core/lib/checks/color/link-in-text-block.json +0 -19
  165. data/node_modules/axe-core/lib/checks/forms/autocomplete-appropriate.js +0 -67
  166. data/node_modules/axe-core/lib/checks/forms/autocomplete-appropriate.json +0 -11
  167. data/node_modules/axe-core/lib/checks/forms/autocomplete-valid.js +0 -2
  168. data/node_modules/axe-core/lib/checks/forms/autocomplete-valid.json +0 -11
  169. data/node_modules/axe-core/lib/checks/forms/fieldset-after.js +0 -25
  170. data/node_modules/axe-core/lib/checks/forms/fieldset.js +0 -109
  171. data/node_modules/axe-core/lib/checks/forms/fieldset.json +0 -20
  172. data/node_modules/axe-core/lib/checks/forms/group-labelledby-after.js +0 -16
  173. data/node_modules/axe-core/lib/checks/forms/group-labelledby.js +0 -66
  174. data/node_modules/axe-core/lib/checks/forms/group-labelledby.json +0 -17
  175. data/node_modules/axe-core/lib/checks/keyboard/accesskeys-after.js +0 -19
  176. data/node_modules/axe-core/lib/checks/keyboard/accesskeys.js +0 -5
  177. data/node_modules/axe-core/lib/checks/keyboard/accesskeys.json +0 -12
  178. data/node_modules/axe-core/lib/checks/keyboard/focusable-content.js +0 -16
  179. data/node_modules/axe-core/lib/checks/keyboard/focusable-content.json +0 -11
  180. data/node_modules/axe-core/lib/checks/keyboard/focusable-disabled.js +0 -30
  181. data/node_modules/axe-core/lib/checks/keyboard/focusable-disabled.json +0 -11
  182. data/node_modules/axe-core/lib/checks/keyboard/focusable-element.js +0 -12
  183. data/node_modules/axe-core/lib/checks/keyboard/focusable-element.json +0 -11
  184. data/node_modules/axe-core/lib/checks/keyboard/focusable-modal-open.js +0 -14
  185. data/node_modules/axe-core/lib/checks/keyboard/focusable-modal-open.json +0 -11
  186. data/node_modules/axe-core/lib/checks/keyboard/focusable-no-name.js +0 -6
  187. data/node_modules/axe-core/lib/checks/keyboard/focusable-no-name.json +0 -11
  188. data/node_modules/axe-core/lib/checks/keyboard/focusable-not-tabbable.js +0 -30
  189. data/node_modules/axe-core/lib/checks/keyboard/focusable-not-tabbable.json +0 -11
  190. data/node_modules/axe-core/lib/checks/keyboard/landmark-is-top-level.js +0 -18
  191. data/node_modules/axe-core/lib/checks/keyboard/landmark-is-top-level.json +0 -11
  192. data/node_modules/axe-core/lib/checks/keyboard/page-has-elm-after.js +0 -11
  193. data/node_modules/axe-core/lib/checks/keyboard/page-has-elm.js +0 -13
  194. data/node_modules/axe-core/lib/checks/keyboard/page-has-heading-one.json +0 -15
  195. data/node_modules/axe-core/lib/checks/keyboard/page-has-main.json +0 -15
  196. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate-after.js +0 -2
  197. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate-banner.json +0 -16
  198. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate-contentinfo.json +0 -16
  199. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate-main.json +0 -15
  200. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate.js +0 -36
  201. data/node_modules/axe-core/lib/checks/keyboard/tabindex.js +0 -6
  202. data/node_modules/axe-core/lib/checks/keyboard/tabindex.json +0 -11
  203. data/node_modules/axe-core/lib/checks/label/alt-space-value.js +0 -3
  204. data/node_modules/axe-core/lib/checks/label/alt-space-value.json +0 -11
  205. data/node_modules/axe-core/lib/checks/label/duplicate-img-label.js +0 -22
  206. data/node_modules/axe-core/lib/checks/label/duplicate-img-label.json +0 -11
  207. data/node_modules/axe-core/lib/checks/label/explicit.js +0 -15
  208. data/node_modules/axe-core/lib/checks/label/explicit.json +0 -11
  209. data/node_modules/axe-core/lib/checks/label/help-same-as-label.js +0 -23
  210. data/node_modules/axe-core/lib/checks/label/help-same-as-label.json +0 -12
  211. data/node_modules/axe-core/lib/checks/label/hidden-explicit-label.js +0 -12
  212. data/node_modules/axe-core/lib/checks/label/hidden-explicit-label.json +0 -11
  213. data/node_modules/axe-core/lib/checks/label/implicit.js +0 -7
  214. data/node_modules/axe-core/lib/checks/label/implicit.json +0 -11
  215. data/node_modules/axe-core/lib/checks/label/label-content-name-mismatch.js +0 -59
  216. data/node_modules/axe-core/lib/checks/label/label-content-name-mismatch.json +0 -15
  217. data/node_modules/axe-core/lib/checks/label/multiple-label.js +0 -39
  218. data/node_modules/axe-core/lib/checks/label/multiple-label.json +0 -11
  219. data/node_modules/axe-core/lib/checks/label/title-only.js +0 -5
  220. data/node_modules/axe-core/lib/checks/label/title-only.json +0 -11
  221. data/node_modules/axe-core/lib/checks/landmarks/landmark-is-unique-after.js +0 -23
  222. data/node_modules/axe-core/lib/checks/landmarks/landmark-is-unique.js +0 -7
  223. data/node_modules/axe-core/lib/checks/landmarks/landmark-is-unique.json +0 -12
  224. data/node_modules/axe-core/lib/checks/language/has-lang.js +0 -20
  225. data/node_modules/axe-core/lib/checks/language/has-lang.json +0 -14
  226. data/node_modules/axe-core/lib/checks/language/valid-lang.js +0 -26
  227. data/node_modules/axe-core/lib/checks/language/valid-lang.json +0 -11
  228. data/node_modules/axe-core/lib/checks/language/xml-lang-mismatch.js +0 -5
  229. data/node_modules/axe-core/lib/checks/language/xml-lang-mismatch.json +0 -11
  230. data/node_modules/axe-core/lib/checks/lists/dlitem.js +0 -23
  231. data/node_modules/axe-core/lib/checks/lists/dlitem.json +0 -11
  232. data/node_modules/axe-core/lib/checks/lists/listitem.js +0 -21
  233. data/node_modules/axe-core/lib/checks/lists/listitem.json +0 -14
  234. data/node_modules/axe-core/lib/checks/lists/only-dlitems.js +0 -42
  235. data/node_modules/axe-core/lib/checks/lists/only-dlitems.json +0 -11
  236. data/node_modules/axe-core/lib/checks/lists/only-listitems.js +0 -58
  237. data/node_modules/axe-core/lib/checks/lists/only-listitems.json +0 -14
  238. data/node_modules/axe-core/lib/checks/lists/structured-dlitems.js +0 -22
  239. data/node_modules/axe-core/lib/checks/lists/structured-dlitems.json +0 -11
  240. data/node_modules/axe-core/lib/checks/media/caption.js +0 -8
  241. data/node_modules/axe-core/lib/checks/media/caption.json +0 -11
  242. data/node_modules/axe-core/lib/checks/media/description.js +0 -8
  243. data/node_modules/axe-core/lib/checks/media/description.json +0 -11
  244. data/node_modules/axe-core/lib/checks/media/frame-tested.js +0 -28
  245. data/node_modules/axe-core/lib/checks/media/frame-tested.json +0 -15
  246. data/node_modules/axe-core/lib/checks/media/no-autoplay-audio.js +0 -93
  247. data/node_modules/axe-core/lib/checks/media/no-autoplay-audio.json +0 -15
  248. data/node_modules/axe-core/lib/checks/mobile/css-orientation-lock.js +0 -251
  249. data/node_modules/axe-core/lib/checks/mobile/css-orientation-lock.json +0 -15
  250. data/node_modules/axe-core/lib/checks/mobile/meta-viewport-large.json +0 -15
  251. data/node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js +0 -55
  252. data/node_modules/axe-core/lib/checks/mobile/meta-viewport.json +0 -14
  253. data/node_modules/axe-core/lib/checks/navigation/header-present.js +0 -4
  254. data/node_modules/axe-core/lib/checks/navigation/header-present.json +0 -11
  255. data/node_modules/axe-core/lib/checks/navigation/heading-order-after.js +0 -14
  256. data/node_modules/axe-core/lib/checks/navigation/heading-order.js +0 -15
  257. data/node_modules/axe-core/lib/checks/navigation/heading-order.json +0 -12
  258. data/node_modules/axe-core/lib/checks/navigation/identical-links-same-purpose-after.js +0 -100
  259. data/node_modules/axe-core/lib/checks/navigation/identical-links-same-purpose.js +0 -31
  260. data/node_modules/axe-core/lib/checks/navigation/identical-links-same-purpose.json +0 -12
  261. data/node_modules/axe-core/lib/checks/navigation/internal-link-present.js +0 -4
  262. data/node_modules/axe-core/lib/checks/navigation/internal-link-present.json +0 -11
  263. data/node_modules/axe-core/lib/checks/navigation/landmark.js +0 -3
  264. data/node_modules/axe-core/lib/checks/navigation/landmark.json +0 -11
  265. data/node_modules/axe-core/lib/checks/navigation/meta-refresh.js +0 -4
  266. data/node_modules/axe-core/lib/checks/navigation/meta-refresh.json +0 -11
  267. data/node_modules/axe-core/lib/checks/navigation/p-as-heading.js +0 -93
  268. data/node_modules/axe-core/lib/checks/navigation/p-as-heading.json +0 -30
  269. data/node_modules/axe-core/lib/checks/navigation/region.js +0 -107
  270. data/node_modules/axe-core/lib/checks/navigation/region.json +0 -11
  271. data/node_modules/axe-core/lib/checks/navigation/skip-link.js +0 -5
  272. data/node_modules/axe-core/lib/checks/navigation/skip-link.json +0 -12
  273. data/node_modules/axe-core/lib/checks/navigation/unique-frame-title-after.js +0 -9
  274. data/node_modules/axe-core/lib/checks/navigation/unique-frame-title.js +0 -6
  275. data/node_modules/axe-core/lib/checks/navigation/unique-frame-title.json +0 -12
  276. data/node_modules/axe-core/lib/checks/parsing/duplicate-id-active.json +0 -12
  277. data/node_modules/axe-core/lib/checks/parsing/duplicate-id-after.js +0 -8
  278. data/node_modules/axe-core/lib/checks/parsing/duplicate-id-aria.json +0 -12
  279. data/node_modules/axe-core/lib/checks/parsing/duplicate-id.js +0 -17
  280. data/node_modules/axe-core/lib/checks/parsing/duplicate-id.json +0 -12
  281. data/node_modules/axe-core/lib/checks/shared/aria-label.js +0 -2
  282. data/node_modules/axe-core/lib/checks/shared/aria-label.json +0 -11
  283. data/node_modules/axe-core/lib/checks/shared/aria-labelledby.js +0 -2
  284. data/node_modules/axe-core/lib/checks/shared/aria-labelledby.json +0 -11
  285. data/node_modules/axe-core/lib/checks/shared/avoid-inline-spacing.js +0 -18
  286. data/node_modules/axe-core/lib/checks/shared/avoid-inline-spacing.json +0 -14
  287. data/node_modules/axe-core/lib/checks/shared/button-has-visible-text.js +0 -12
  288. data/node_modules/axe-core/lib/checks/shared/button-has-visible-text.json +0 -11
  289. data/node_modules/axe-core/lib/checks/shared/doc-has-title.js +0 -2
  290. data/node_modules/axe-core/lib/checks/shared/doc-has-title.json +0 -11
  291. data/node_modules/axe-core/lib/checks/shared/exists.js +0 -1
  292. data/node_modules/axe-core/lib/checks/shared/exists.json +0 -11
  293. data/node_modules/axe-core/lib/checks/shared/has-alt.js +0 -6
  294. data/node_modules/axe-core/lib/checks/shared/has-alt.json +0 -11
  295. data/node_modules/axe-core/lib/checks/shared/has-visible-text.js +0 -1
  296. data/node_modules/axe-core/lib/checks/shared/has-visible-text.json +0 -11
  297. data/node_modules/axe-core/lib/checks/shared/is-on-screen.js +0 -4
  298. data/node_modules/axe-core/lib/checks/shared/is-on-screen.json +0 -11
  299. data/node_modules/axe-core/lib/checks/shared/non-empty-alt.js +0 -2
  300. data/node_modules/axe-core/lib/checks/shared/non-empty-alt.json +0 -11
  301. data/node_modules/axe-core/lib/checks/shared/non-empty-if-present.js +0 -15
  302. data/node_modules/axe-core/lib/checks/shared/non-empty-if-present.json +0 -14
  303. data/node_modules/axe-core/lib/checks/shared/non-empty-title.js +0 -2
  304. data/node_modules/axe-core/lib/checks/shared/non-empty-title.json +0 -11
  305. data/node_modules/axe-core/lib/checks/shared/non-empty-value.js +0 -2
  306. data/node_modules/axe-core/lib/checks/shared/non-empty-value.json +0 -11
  307. data/node_modules/axe-core/lib/checks/shared/role-none.js +0 -1
  308. data/node_modules/axe-core/lib/checks/shared/role-none.json +0 -11
  309. data/node_modules/axe-core/lib/checks/shared/role-presentation.js +0 -1
  310. data/node_modules/axe-core/lib/checks/shared/role-presentation.json +0 -11
  311. data/node_modules/axe-core/lib/checks/shared/svg-non-empty-title.js +0 -4
  312. data/node_modules/axe-core/lib/checks/shared/svg-non-empty-title.json +0 -11
  313. data/node_modules/axe-core/lib/checks/tables/caption-faked.js +0 -10
  314. data/node_modules/axe-core/lib/checks/tables/caption-faked.json +0 -11
  315. data/node_modules/axe-core/lib/checks/tables/has-caption.js +0 -1
  316. data/node_modules/axe-core/lib/checks/tables/has-caption.json +0 -12
  317. data/node_modules/axe-core/lib/checks/tables/has-summary.js +0 -1
  318. data/node_modules/axe-core/lib/checks/tables/has-summary.json +0 -12
  319. data/node_modules/axe-core/lib/checks/tables/has-th.js +0 -31
  320. data/node_modules/axe-core/lib/checks/tables/has-th.json +0 -12
  321. data/node_modules/axe-core/lib/checks/tables/headers-visible-text.js +0 -30
  322. data/node_modules/axe-core/lib/checks/tables/html5-scope.js +0 -5
  323. data/node_modules/axe-core/lib/checks/tables/html5-scope.json +0 -11
  324. data/node_modules/axe-core/lib/checks/tables/same-caption-summary.js +0 -7
  325. data/node_modules/axe-core/lib/checks/tables/same-caption-summary.json +0 -11
  326. data/node_modules/axe-core/lib/checks/tables/scope-value.js +0 -5
  327. data/node_modules/axe-core/lib/checks/tables/scope-value.json +0 -11
  328. data/node_modules/axe-core/lib/checks/tables/td-has-header.js +0 -30
  329. data/node_modules/axe-core/lib/checks/tables/td-has-header.json +0 -11
  330. data/node_modules/axe-core/lib/checks/tables/td-headers-attr.js +0 -61
  331. data/node_modules/axe-core/lib/checks/tables/td-headers-attr.json +0 -12
  332. data/node_modules/axe-core/lib/checks/tables/th-has-data-cells.js +0 -76
  333. data/node_modules/axe-core/lib/checks/tables/th-has-data-cells.json +0 -12
  334. data/node_modules/axe-core/lib/checks/tables/th-single-row-column.js +0 -39
  335. data/node_modules/axe-core/lib/checks/visibility/hidden-content.js +0 -21
  336. data/node_modules/axe-core/lib/checks/visibility/hidden-content.json +0 -12
  337. data/node_modules/axe-core/lib/commons/aria/arialabel-text.js +0 -18
  338. data/node_modules/axe-core/lib/commons/aria/arialabelledby-text.js +0 -52
  339. data/node_modules/axe-core/lib/commons/aria/attributes.js +0 -45
  340. data/node_modules/axe-core/lib/commons/aria/get-element-unallowed-roles.js +0 -113
  341. data/node_modules/axe-core/lib/commons/aria/get-owned-virtual.js +0 -24
  342. data/node_modules/axe-core/lib/commons/aria/get-role.js +0 -44
  343. data/node_modules/axe-core/lib/commons/aria/index.js +0 -2424
  344. data/node_modules/axe-core/lib/commons/aria/is-accessible-ref.js +0 -59
  345. data/node_modules/axe-core/lib/commons/aria/is-aria-role-allowed-on-element.js +0 -41
  346. data/node_modules/axe-core/lib/commons/aria/is-unsupported-role.js +0 -14
  347. data/node_modules/axe-core/lib/commons/aria/label-virtual.js +0 -54
  348. data/node_modules/axe-core/lib/commons/aria/named-from-contents.js +0 -39
  349. data/node_modules/axe-core/lib/commons/aria/roles.js +0 -208
  350. data/node_modules/axe-core/lib/commons/aria/validate-attr-value.js +0 -62
  351. data/node_modules/axe-core/lib/commons/color/center-point-of-rect.js +0 -30
  352. data/node_modules/axe-core/lib/commons/color/contrast.js +0 -178
  353. data/node_modules/axe-core/lib/commons/color/element-has-image.js +0 -36
  354. data/node_modules/axe-core/lib/commons/color/element-is-distinct.js +0 -88
  355. data/node_modules/axe-core/lib/commons/color/get-background-color.js +0 -285
  356. data/node_modules/axe-core/lib/commons/color/get-foreground-color.js +0 -61
  357. data/node_modules/axe-core/lib/commons/color/get-own-background-color.js +0 -22
  358. data/node_modules/axe-core/lib/commons/color/incomplete-data.js +0 -50
  359. data/node_modules/axe-core/lib/commons/color/index.js +0 -8
  360. data/node_modules/axe-core/lib/commons/dom/elements-below-floating.js +0 -39
  361. data/node_modules/axe-core/lib/commons/dom/find-elms-in-context.js +0 -28
  362. data/node_modules/axe-core/lib/commons/dom/find-up.js +0 -63
  363. data/node_modules/axe-core/lib/commons/dom/get-composed-parent.js +0 -25
  364. data/node_modules/axe-core/lib/commons/dom/get-element-by-reference.js +0 -34
  365. data/node_modules/axe-core/lib/commons/dom/get-element-coordinates.js +0 -38
  366. data/node_modules/axe-core/lib/commons/dom/get-element-stack.js +0 -589
  367. data/node_modules/axe-core/lib/commons/dom/get-root-node.js +0 -12
  368. data/node_modules/axe-core/lib/commons/dom/get-scroll-offset.js +0 -33
  369. data/node_modules/axe-core/lib/commons/dom/get-tabbable-elements.js +0 -24
  370. data/node_modules/axe-core/lib/commons/dom/get-viewport-size.js +0 -37
  371. data/node_modules/axe-core/lib/commons/dom/has-content-virtual.js +0 -75
  372. data/node_modules/axe-core/lib/commons/dom/idrefs.js +0 -36
  373. data/node_modules/axe-core/lib/commons/dom/index.js +0 -9
  374. data/node_modules/axe-core/lib/commons/dom/is-focusable.js +0 -95
  375. data/node_modules/axe-core/lib/commons/dom/is-hidden-with-css.js +0 -73
  376. data/node_modules/axe-core/lib/commons/dom/is-html5.js +0 -17
  377. data/node_modules/axe-core/lib/commons/dom/is-in-text-block.js +0 -94
  378. data/node_modules/axe-core/lib/commons/dom/is-modal-open.js +0 -98
  379. data/node_modules/axe-core/lib/commons/dom/is-node.js +0 -13
  380. data/node_modules/axe-core/lib/commons/dom/is-offscreen.js +0 -62
  381. data/node_modules/axe-core/lib/commons/dom/is-skip-link.js +0 -45
  382. data/node_modules/axe-core/lib/commons/dom/is-visible.js +0 -176
  383. data/node_modules/axe-core/lib/commons/dom/is-visual-content.js +0 -49
  384. data/node_modules/axe-core/lib/commons/dom/shadow-elements-from-point.js +0 -42
  385. data/node_modules/axe-core/lib/commons/dom/url-props-from-attribute.js +0 -152
  386. data/node_modules/axe-core/lib/commons/dom/visually-contains.js +0 -111
  387. data/node_modules/axe-core/lib/commons/dom/visually-overlaps.js +0 -46
  388. data/node_modules/axe-core/lib/commons/forms/index.js +0 -8
  389. data/node_modules/axe-core/lib/commons/forms/is-aria-combobox.js +0 -13
  390. data/node_modules/axe-core/lib/commons/forms/is-aria-listbox.js +0 -13
  391. data/node_modules/axe-core/lib/commons/forms/is-aria-range.js +0 -14
  392. data/node_modules/axe-core/lib/commons/forms/is-aria-textbox.js +0 -13
  393. data/node_modules/axe-core/lib/commons/forms/is-native-select.js +0 -13
  394. data/node_modules/axe-core/lib/commons/forms/is-native-textbox.js +0 -28
  395. data/node_modules/axe-core/lib/commons/index.js +0 -11
  396. data/node_modules/axe-core/lib/commons/intro.stub +0 -1
  397. data/node_modules/axe-core/lib/commons/matches/attributes.js +0 -27
  398. data/node_modules/axe-core/lib/commons/matches/condition.js +0 -19
  399. data/node_modules/axe-core/lib/commons/matches/from-definition.js +0 -52
  400. data/node_modules/axe-core/lib/commons/matches/from-function.js +0 -38
  401. data/node_modules/axe-core/lib/commons/matches/from-primative.js +0 -30
  402. data/node_modules/axe-core/lib/commons/matches/index.js +0 -39
  403. data/node_modules/axe-core/lib/commons/matches/node-name.js +0 -24
  404. data/node_modules/axe-core/lib/commons/matches/properties.js +0 -28
  405. data/node_modules/axe-core/lib/commons/outro.stub +0 -2
  406. data/node_modules/axe-core/lib/commons/table/get-all-cells.js +0 -28
  407. data/node_modules/axe-core/lib/commons/table/get-cell-position.js +0 -28
  408. data/node_modules/axe-core/lib/commons/table/get-headers.js +0 -79
  409. data/node_modules/axe-core/lib/commons/table/get-scope.js +0 -54
  410. data/node_modules/axe-core/lib/commons/table/index.js +0 -9
  411. data/node_modules/axe-core/lib/commons/table/is-column-header.js +0 -13
  412. data/node_modules/axe-core/lib/commons/table/is-data-cell.js +0 -22
  413. data/node_modules/axe-core/lib/commons/table/is-data-table.js +0 -189
  414. data/node_modules/axe-core/lib/commons/table/is-header.js +0 -22
  415. data/node_modules/axe-core/lib/commons/table/is-row-header.js +0 -13
  416. data/node_modules/axe-core/lib/commons/table/to-grid.js +0 -38
  417. data/node_modules/axe-core/lib/commons/table/traverse.js +0 -78
  418. data/node_modules/axe-core/lib/commons/text/accessible-text-virtual.js +0 -152
  419. data/node_modules/axe-core/lib/commons/text/form-control-value.js +0 -192
  420. data/node_modules/axe-core/lib/commons/text/index.js +0 -8
  421. data/node_modules/axe-core/lib/commons/text/is-human-interpretable.js +0 -51
  422. data/node_modules/axe-core/lib/commons/text/is-icon-ligature.js +0 -210
  423. data/node_modules/axe-core/lib/commons/text/is-valid-autocomplete.js +0 -117
  424. data/node_modules/axe-core/lib/commons/text/label-text.js +0 -58
  425. data/node_modules/axe-core/lib/commons/text/label-virtual.js +0 -53
  426. data/node_modules/axe-core/lib/commons/text/native-element-types.js +0 -100
  427. data/node_modules/axe-core/lib/commons/text/native-text-alternative.js +0 -50
  428. data/node_modules/axe-core/lib/commons/text/native-text-methods.js +0 -122
  429. data/node_modules/axe-core/lib/commons/text/sanitize.js +0 -18
  430. data/node_modules/axe-core/lib/commons/text/subtree-text.js +0 -89
  431. data/node_modules/axe-core/lib/commons/text/title-text.js +0 -33
  432. data/node_modules/axe-core/lib/commons/text/unicode.js +0 -147
  433. data/node_modules/axe-core/lib/commons/text/unsupported.js +0 -5
  434. data/node_modules/axe-core/lib/commons/text/visible-text-nodes.js +0 -25
  435. data/node_modules/axe-core/lib/commons/text/visible-virtual.js +0 -46
  436. data/node_modules/axe-core/lib/commons/utils/index.js +0 -10
  437. data/node_modules/axe-core/lib/core/base/audit.js +0 -781
  438. data/node_modules/axe-core/lib/core/base/cache.js +0 -33
  439. data/node_modules/axe-core/lib/core/base/check-result.js +0 -33
  440. data/node_modules/axe-core/lib/core/base/check.js +0 -170
  441. data/node_modules/axe-core/lib/core/base/context.js +0 -274
  442. data/node_modules/axe-core/lib/core/base/rule-result.js +0 -39
  443. data/node_modules/axe-core/lib/core/base/rule.js +0 -560
  444. data/node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js +0 -40
  445. data/node_modules/axe-core/lib/core/base/virtual-node/serial-virtual-node.js +0 -88
  446. data/node_modules/axe-core/lib/core/base/virtual-node/virtual-node.js +0 -136
  447. data/node_modules/axe-core/lib/core/constants.js +0 -76
  448. data/node_modules/axe-core/lib/core/imports/index.js +0 -51
  449. data/node_modules/axe-core/lib/core/index.js +0 -43
  450. data/node_modules/axe-core/lib/core/log.js +0 -12
  451. data/node_modules/axe-core/lib/core/public/cleanup-plugins.js +0 -53
  452. data/node_modules/axe-core/lib/core/public/configure.js +0 -110
  453. data/node_modules/axe-core/lib/core/public/get-rules.js +0 -29
  454. data/node_modules/axe-core/lib/core/public/load.js +0 -66
  455. data/node_modules/axe-core/lib/core/public/plugins.js +0 -47
  456. data/node_modules/axe-core/lib/core/public/reporter.js +0 -24
  457. data/node_modules/axe-core/lib/core/public/reset.js +0 -12
  458. data/node_modules/axe-core/lib/core/public/run-rules.js +0 -96
  459. data/node_modules/axe-core/lib/core/public/run-virtual-rule.js +0 -50
  460. data/node_modules/axe-core/lib/core/public/run.js +0 -159
  461. data/node_modules/axe-core/lib/core/reporters/helpers/failure-summary.js +0 -35
  462. data/node_modules/axe-core/lib/core/reporters/helpers/get-environment-data.js +0 -39
  463. data/node_modules/axe-core/lib/core/reporters/helpers/incomplete-fallback-msg.js +0 -13
  464. data/node_modules/axe-core/lib/core/reporters/helpers/index.js +0 -3
  465. data/node_modules/axe-core/lib/core/reporters/helpers/process-aggregate.js +0 -102
  466. data/node_modules/axe-core/lib/core/reporters/na.js +0 -24
  467. data/node_modules/axe-core/lib/core/reporters/no-passes.js +0 -18
  468. data/node_modules/axe-core/lib/core/reporters/raw-env.js +0 -12
  469. data/node_modules/axe-core/lib/core/reporters/raw.js +0 -32
  470. data/node_modules/axe-core/lib/core/reporters/v1.js +0 -29
  471. data/node_modules/axe-core/lib/core/reporters/v2.js +0 -22
  472. data/node_modules/axe-core/lib/core/utils/aggregate.js +0 -19
  473. data/node_modules/axe-core/lib/core/utils/aggregateChecks.js +0 -85
  474. data/node_modules/axe-core/lib/core/utils/aggregateNodeResults.js +0 -61
  475. data/node_modules/axe-core/lib/core/utils/aggregateResult.js +0 -37
  476. data/node_modules/axe-core/lib/core/utils/are-styles-set.js +0 -21
  477. data/node_modules/axe-core/lib/core/utils/assert.js +0 -12
  478. data/node_modules/axe-core/lib/core/utils/check-helper.js +0 -38
  479. data/node_modules/axe-core/lib/core/utils/clone.js +0 -27
  480. data/node_modules/axe-core/lib/core/utils/collect-results-from-frames.js +0 -127
  481. data/node_modules/axe-core/lib/core/utils/contains.js +0 -44
  482. data/node_modules/axe-core/lib/core/utils/css-parser.js +0 -7
  483. data/node_modules/axe-core/lib/core/utils/dq-element.js +0 -97
  484. data/node_modules/axe-core/lib/core/utils/element-matches.js +0 -43
  485. data/node_modules/axe-core/lib/core/utils/escape-selector.js +0 -78
  486. data/node_modules/axe-core/lib/core/utils/extend-meta-data.js +0 -17
  487. data/node_modules/axe-core/lib/core/utils/finalize-result.js +0 -11
  488. data/node_modules/axe-core/lib/core/utils/find-by.js +0 -14
  489. data/node_modules/axe-core/lib/core/utils/flattened-tree.js +0 -156
  490. data/node_modules/axe-core/lib/core/utils/get-all-checks.js +0 -12
  491. data/node_modules/axe-core/lib/core/utils/get-base-lang.js +0 -16
  492. data/node_modules/axe-core/lib/core/utils/get-check-message.js +0 -21
  493. data/node_modules/axe-core/lib/core/utils/get-check-option.js +0 -39
  494. data/node_modules/axe-core/lib/core/utils/get-friendly-uri-end.js +0 -144
  495. data/node_modules/axe-core/lib/core/utils/get-node-attributes.js +0 -21
  496. data/node_modules/axe-core/lib/core/utils/get-root-node.js +0 -17
  497. data/node_modules/axe-core/lib/core/utils/get-scroll.js +0 -39
  498. data/node_modules/axe-core/lib/core/utils/get-selector.js +0 -409
  499. data/node_modules/axe-core/lib/core/utils/get-stylesheet-factory.js +0 -51
  500. data/node_modules/axe-core/lib/core/utils/get-xpath.js +0 -83
  501. data/node_modules/axe-core/lib/core/utils/index.js +0 -10
  502. data/node_modules/axe-core/lib/core/utils/inject-style.js +0 -38
  503. data/node_modules/axe-core/lib/core/utils/is-hidden.js +0 -52
  504. data/node_modules/axe-core/lib/core/utils/is-html-element.js +0 -135
  505. data/node_modules/axe-core/lib/core/utils/is-shadow-root.js +0 -40
  506. data/node_modules/axe-core/lib/core/utils/is-xhtml.js +0 -14
  507. data/node_modules/axe-core/lib/core/utils/matches.js +0 -263
  508. data/node_modules/axe-core/lib/core/utils/memoize.js +0 -17
  509. data/node_modules/axe-core/lib/core/utils/merge-results.js +0 -116
  510. data/node_modules/axe-core/lib/core/utils/node-sorter.js +0 -21
  511. data/node_modules/axe-core/lib/core/utils/parse-crossorigin-stylesheet.js +0 -54
  512. data/node_modules/axe-core/lib/core/utils/parse-sameorigin-stylesheet.js +0 -96
  513. data/node_modules/axe-core/lib/core/utils/parse-stylesheet.js +0 -70
  514. data/node_modules/axe-core/lib/core/utils/performance-timer.js +0 -126
  515. data/node_modules/axe-core/lib/core/utils/pollyfills.js +0 -299
  516. data/node_modules/axe-core/lib/core/utils/preload-cssom.js +0 -253
  517. data/node_modules/axe-core/lib/core/utils/preload-media.js +0 -65
  518. data/node_modules/axe-core/lib/core/utils/preload.js +0 -144
  519. data/node_modules/axe-core/lib/core/utils/process-message.js +0 -72
  520. data/node_modules/axe-core/lib/core/utils/publish-metadata.js +0 -106
  521. data/node_modules/axe-core/lib/core/utils/qsa.js +0 -110
  522. data/node_modules/axe-core/lib/core/utils/queue.js +0 -138
  523. data/node_modules/axe-core/lib/core/utils/respondable.js +0 -261
  524. data/node_modules/axe-core/lib/core/utils/rule-should-run.js +0 -82
  525. data/node_modules/axe-core/lib/core/utils/scroll-state.js +0 -57
  526. data/node_modules/axe-core/lib/core/utils/select.js +0 -135
  527. data/node_modules/axe-core/lib/core/utils/to-array.js +0 -21
  528. data/node_modules/axe-core/lib/core/utils/token-list.js +0 -15
  529. data/node_modules/axe-core/lib/core/utils/uuid.js +0 -244
  530. data/node_modules/axe-core/lib/core/utils/valid-input-type.js +0 -35
  531. data/node_modules/axe-core/lib/core/utils/valid-langs.js +0 -8152
  532. data/node_modules/axe-core/lib/intro.stub +0 -15
  533. data/node_modules/axe-core/lib/misc/any-failure-summary.json +0 -6
  534. data/node_modules/axe-core/lib/misc/incomplete-fallback.json +0 -3
  535. data/node_modules/axe-core/lib/misc/none-failure-summary.json +0 -6
  536. data/node_modules/axe-core/lib/outro.stub +0 -2
  537. data/node_modules/axe-core/lib/rules/accesskeys.json +0 -13
  538. data/node_modules/axe-core/lib/rules/area-alt.json +0 -21
  539. data/node_modules/axe-core/lib/rules/aria-allowed-attr-matches.js +0 -11
  540. data/node_modules/axe-core/lib/rules/aria-allowed-attr.json +0 -12
  541. data/node_modules/axe-core/lib/rules/aria-allowed-role-matches.js +0 -7
  542. data/node_modules/axe-core/lib/rules/aria-allowed-role.json +0 -14
  543. data/node_modules/axe-core/lib/rules/aria-dpub-role-fallback-matches.js +0 -10
  544. data/node_modules/axe-core/lib/rules/aria-dpub-role-fallback.json +0 -14
  545. data/node_modules/axe-core/lib/rules/aria-form-field-name-matches.js +0 -50
  546. data/node_modules/axe-core/lib/rules/aria-has-attr-matches.js +0 -11
  547. data/node_modules/axe-core/lib/rules/aria-hidden-body.json +0 -13
  548. data/node_modules/axe-core/lib/rules/aria-hidden-focus-matches.js +0 -18
  549. data/node_modules/axe-core/lib/rules/aria-hidden-focus.json +0 -18
  550. data/node_modules/axe-core/lib/rules/aria-input-field-name.json +0 -13
  551. data/node_modules/axe-core/lib/rules/aria-required-attr.json +0 -12
  552. data/node_modules/axe-core/lib/rules/aria-required-children.json +0 -12
  553. data/node_modules/axe-core/lib/rules/aria-required-parent.json +0 -12
  554. data/node_modules/axe-core/lib/rules/aria-roledescription.json +0 -12
  555. data/node_modules/axe-core/lib/rules/aria-roles.json +0 -13
  556. data/node_modules/axe-core/lib/rules/aria-toggle-field-name.json +0 -18
  557. data/node_modules/axe-core/lib/rules/aria-valid-attr-value.json +0 -12
  558. data/node_modules/axe-core/lib/rules/aria-valid-attr.json +0 -12
  559. data/node_modules/axe-core/lib/rules/audio-caption.json +0 -20
  560. data/node_modules/axe-core/lib/rules/autocomplete-matches.js +0 -49
  561. data/node_modules/axe-core/lib/rules/autocomplete-valid.json +0 -12
  562. data/node_modules/axe-core/lib/rules/avoid-inline-spacing.json +0 -12
  563. data/node_modules/axe-core/lib/rules/blink.json +0 -19
  564. data/node_modules/axe-core/lib/rules/button-name.json +0 -25
  565. data/node_modules/axe-core/lib/rules/bypass-matches.js +0 -1
  566. data/node_modules/axe-core/lib/rules/bypass.json +0 -20
  567. data/node_modules/axe-core/lib/rules/checkboxgroup.json +0 -13
  568. data/node_modules/axe-core/lib/rules/color-contrast-matches.js +0 -161
  569. data/node_modules/axe-core/lib/rules/color-contrast.json +0 -13
  570. data/node_modules/axe-core/lib/rules/css-orientation-lock.json +0 -13
  571. data/node_modules/axe-core/lib/rules/data-table-large-matches.js +0 -11
  572. data/node_modules/axe-core/lib/rules/data-table-matches.js +0 -1
  573. data/node_modules/axe-core/lib/rules/definition-list.json +0 -13
  574. data/node_modules/axe-core/lib/rules/dlitem.json +0 -13
  575. data/node_modules/axe-core/lib/rules/document-title.json +0 -13
  576. data/node_modules/axe-core/lib/rules/duplicate-id-active-matches.js +0 -8
  577. data/node_modules/axe-core/lib/rules/duplicate-id-active.json +0 -14
  578. data/node_modules/axe-core/lib/rules/duplicate-id-aria-matches.js +0 -1
  579. data/node_modules/axe-core/lib/rules/duplicate-id-aria.json +0 -14
  580. data/node_modules/axe-core/lib/rules/duplicate-id-misc-matches.js +0 -11
  581. data/node_modules/axe-core/lib/rules/duplicate-id.json +0 -14
  582. data/node_modules/axe-core/lib/rules/empty-heading.json +0 -13
  583. data/node_modules/axe-core/lib/rules/focus-order-semantics.json +0 -13
  584. data/node_modules/axe-core/lib/rules/form-field-multiple-labels.json +0 -13
  585. data/node_modules/axe-core/lib/rules/frame-tested.json +0 -12
  586. data/node_modules/axe-core/lib/rules/frame-title-has-text.js +0 -2
  587. data/node_modules/axe-core/lib/rules/frame-title-unique.json +0 -13
  588. data/node_modules/axe-core/lib/rules/frame-title.json +0 -25
  589. data/node_modules/axe-core/lib/rules/heading-matches.js +0 -15
  590. data/node_modules/axe-core/lib/rules/heading-order.json +0 -13
  591. data/node_modules/axe-core/lib/rules/hidden-content.json +0 -13
  592. data/node_modules/axe-core/lib/rules/html-has-lang.json +0 -13
  593. data/node_modules/axe-core/lib/rules/html-lang-valid.json +0 -12
  594. data/node_modules/axe-core/lib/rules/html-namespace-matches.js +0 -1
  595. data/node_modules/axe-core/lib/rules/html-xml-lang-mismatch.json +0 -13
  596. data/node_modules/axe-core/lib/rules/identical-links-same-purpose-matches.js +0 -13
  597. data/node_modules/axe-core/lib/rules/identical-links-same-purpose.json +0 -14
  598. data/node_modules/axe-core/lib/rules/image-alt.json +0 -25
  599. data/node_modules/axe-core/lib/rules/img-redundant-alt.json +0 -12
  600. data/node_modules/axe-core/lib/rules/input-button-name.json +0 -26
  601. data/node_modules/axe-core/lib/rules/input-image-alt.json +0 -18
  602. data/node_modules/axe-core/lib/rules/inserted-into-focus-order-matches.js +0 -1
  603. data/node_modules/axe-core/lib/rules/label-content-name-mismatch-matches.js +0 -45
  604. data/node_modules/axe-core/lib/rules/label-content-name-mismatch.json +0 -12
  605. data/node_modules/axe-core/lib/rules/label-matches.js +0 -11
  606. data/node_modules/axe-core/lib/rules/label-title-only.json +0 -13
  607. data/node_modules/axe-core/lib/rules/label.json +0 -26
  608. data/node_modules/axe-core/lib/rules/landmark-banner-is-top-level.json +0 -13
  609. data/node_modules/axe-core/lib/rules/landmark-complementary-is-top-level.json +0 -12
  610. data/node_modules/axe-core/lib/rules/landmark-contentinfo-is-top-level.json +0 -13
  611. data/node_modules/axe-core/lib/rules/landmark-has-body-context.js +0 -8
  612. data/node_modules/axe-core/lib/rules/landmark-main-is-top-level.json +0 -12
  613. data/node_modules/axe-core/lib/rules/landmark-no-duplicate-banner.json +0 -12
  614. data/node_modules/axe-core/lib/rules/landmark-no-duplicate-contentinfo.json +0 -12
  615. data/node_modules/axe-core/lib/rules/landmark-no-duplicate-main.json +0 -12
  616. data/node_modules/axe-core/lib/rules/landmark-one-main.json +0 -12
  617. data/node_modules/axe-core/lib/rules/landmark-unique-matches.js +0 -41
  618. data/node_modules/axe-core/lib/rules/landmark-unique.json +0 -13
  619. data/node_modules/axe-core/lib/rules/layout-table-matches.js +0 -8
  620. data/node_modules/axe-core/lib/rules/layout-table.json +0 -14
  621. data/node_modules/axe-core/lib/rules/link-in-text-block-matches.js +0 -14
  622. data/node_modules/axe-core/lib/rules/link-in-text-block.json +0 -14
  623. data/node_modules/axe-core/lib/rules/link-name.json +0 -25
  624. data/node_modules/axe-core/lib/rules/list.json +0 -13
  625. data/node_modules/axe-core/lib/rules/listitem.json +0 -13
  626. data/node_modules/axe-core/lib/rules/marquee.json +0 -13
  627. data/node_modules/axe-core/lib/rules/meta-refresh.json +0 -20
  628. data/node_modules/axe-core/lib/rules/meta-viewport-large.json +0 -13
  629. data/node_modules/axe-core/lib/rules/meta-viewport.json +0 -13
  630. data/node_modules/axe-core/lib/rules/no-autoplay-audio-matches.js +0 -18
  631. data/node_modules/axe-core/lib/rules/no-autoplay-audio.json +0 -15
  632. data/node_modules/axe-core/lib/rules/no-empty-role-matches.js +0 -9
  633. data/node_modules/axe-core/lib/rules/no-role-matches.js +0 -1
  634. data/node_modules/axe-core/lib/rules/not-html-matches.js +0 -1
  635. data/node_modules/axe-core/lib/rules/object-alt.json +0 -25
  636. data/node_modules/axe-core/lib/rules/p-as-heading-matches.js +0 -17
  637. data/node_modules/axe-core/lib/rules/p-as-heading.json +0 -13
  638. data/node_modules/axe-core/lib/rules/page-has-heading-one.json +0 -12
  639. data/node_modules/axe-core/lib/rules/radiogroup.json +0 -13
  640. data/node_modules/axe-core/lib/rules/region.json +0 -12
  641. data/node_modules/axe-core/lib/rules/role-img-alt.json +0 -19
  642. data/node_modules/axe-core/lib/rules/scope-attr-valid.json +0 -12
  643. data/node_modules/axe-core/lib/rules/scrollable-region-focusable-matches.js +0 -30
  644. data/node_modules/axe-core/lib/rules/scrollable-region-focusable.json +0 -12
  645. data/node_modules/axe-core/lib/rules/server-side-image-map.json +0 -18
  646. data/node_modules/axe-core/lib/rules/skip-link-matches.js +0 -1
  647. data/node_modules/axe-core/lib/rules/skip-link.json +0 -13
  648. data/node_modules/axe-core/lib/rules/svg-img-alt.json +0 -24
  649. data/node_modules/axe-core/lib/rules/svg-namespace-matches.js +0 -1
  650. data/node_modules/axe-core/lib/rules/tabindex.json +0 -12
  651. data/node_modules/axe-core/lib/rules/table-duplicate-name.json +0 -12
  652. data/node_modules/axe-core/lib/rules/table-fake-caption.json +0 -20
  653. data/node_modules/axe-core/lib/rules/td-has-header.json +0 -20
  654. data/node_modules/axe-core/lib/rules/td-headers-attr.json +0 -12
  655. data/node_modules/axe-core/lib/rules/th-has-data-cells.json +0 -13
  656. data/node_modules/axe-core/lib/rules/valid-lang.json +0 -13
  657. data/node_modules/axe-core/lib/rules/video-caption.json +0 -19
  658. data/node_modules/axe-core/lib/rules/video-description.json +0 -21
  659. data/node_modules/axe-core/lib/rules/window-is-top.js +0 -3
  660. data/node_modules/axe-core/lib/rules/xml-lang-mismatch-matches.js +0 -12
  661. data/node_modules/axe-core/typings/axe-core/axe-core-tests.ts +0 -188
@@ -1,773 +1,788 @@
1
1
  {
2
- "lang": "es",
3
- "rules": {
4
- "accesskeys": {
5
- "description": "Garantiza que cada valor para el atributo accesskey es único",
6
- "help": "El valor del atributo accesskey debe ser único"
7
- },
8
- "area-alt": {
9
- "description": "Garantiza que los elementos <area> de los mapas de imágenes tienen texto alternativo",
10
- "help": "Los elementos <area> activos deben tener texto alternativo"
11
- },
12
- "aria-allowed-attr": {
13
- "description": "Garantiza que los atributos ARIA están permitidos para el rol de un elemento",
14
- "help": "Los elementos solo deben usar atributos ARIA permitidos"
15
- },
16
- "aria-allowed-role": {
17
- "description": "Garantiza que el atributo role tiene un valor apropiado para el elemento",
18
- "help": "ARIA role debe ser apropiado para el elemento"
19
- },
20
- "aria-dpub-role-fallback": {
21
- "description": "Garantiza que los 'DPUB roles' no admitidos solo se usan en elementos con roles alternativos implícitos",
22
- "help": "Los 'DPUB ARIA roles' no admitidos deberían usarse en elementos con roles alternativos implícitos"
23
- },
24
- "aria-hidden-body": {
25
- "description": "Garantiza que aria-hidden='true' no está presente en el 'body' del documento.",
26
- "help": "aria-hidden='true' no debe estar presente en el 'body' del documento"
27
- },
28
- "aria-hidden-focus": {
29
- "description": "Garantiza que los elementos 'aria-hidden' no contienen elementos que admitan el foco",
30
- "help": "Los elementos 'ARIA hidden' no deben contener elementos que admitan el foco"
31
- },
32
- "aria-input-field-name": {
33
- "description": "Garantiza que cada 'ARIA input field' tiene un nombre accesible",
34
- "help": "Los 'ARIA input fields' tienen un nombre accesible"
35
- },
36
- "aria-required-attr": {
37
- "description": "Garantiza que los elementos con 'ARIA roles' tienen todos los atributos ARIA requeridos",
38
- "help": "Deben proporcionarse los atributos ARIA requeridos"
39
- },
40
- "aria-required-children": {
41
- "description": "Garantiza que los elementos con un 'ARIA role' que requieren 'child roles' los contienen",
42
- "help": "Ciertos 'ARIA roles' deben contener determinados hijos"
43
- },
44
- "aria-required-parent": {
45
- "description": "Garantiza que los elementos con un 'ARIA role' que requieren 'parent roles' están contenidos en ellos",
46
- "help": "Ciertos 'ARIA roles' deben estar contenidos en determinados padres"
47
- },
48
- "aria-roles": {
49
- "description": "Garantiza que todos los elementos con un atributo role usan un valor válido",
50
- "help": "Los 'ARIA roles' usados deben cumplir los requisitos para valores válidos"
51
- },
52
- "aria-toggle-field-name": {
53
- "description": "Garantiza que cada 'ARIA toggle field' tiene un nombre accesible",
54
- "help": "Los 'ARIA toggle fields' tienen un nombre accesible"
55
- },
56
- "aria-valid-attr-value": {
57
- "description": "Garantiza que todos los atributos ARIA tienen valores válidos",
58
- "help": "Los atributos ARIA deben cumplir los requisitos para valores válidos"
59
- },
60
- "aria-valid-attr": {
61
- "description": "Garantiza que los atributos que empiezan por aria- son atributos ARIA válidos",
62
- "help": "Los atributos ARIA deben cumplir los requisitos para nombres válidos"
63
- },
64
- "audio-caption": {
65
- "description": "Garantiza que los elementos <audio> tienen subtítulos",
66
- "help": "Los elementos <audio> deben tener una pista de subtítulos"
67
- },
68
- "autocomplete-valid": {
69
- "description": "Garantizar que el atributo autocomplete es correcto y adecuado para el campo de formulario",
70
- "help": "El atributo autocomplete debe usarse correctamente"
71
- },
72
- "avoid-inline-spacing": {
73
- "description": "Garantizar que el espaciado de texto establecido mediante atributos style se puede ajustar con hojas de estilo personalizadas",
74
- "help": "El espaciado de texto 'inline' debe poder ajustarse mediante hojas de estilo personalizadas"
75
- },
76
- "blink": {
77
- "description": "Garantiza que no se usan elementos <blink>",
78
- "help": "Los elementos <blink> están obsoletos y no deben usarse"
79
- },
80
- "button-name": {
81
- "description": "Garantiza que los botones tienen texto discernible",
82
- "help": "Los botones deben tener texto discernible"
83
- },
84
- "bypass": {
85
- "description": "Garantiza que cada página tiene al menos un medio para que un usuario pueda saltarse la navegación y pasar directamente al contenido",
86
- "help": "Las páginas deben tener medios para saltarse bloques repetidos"
87
- },
88
- "checkboxgroup": {
89
- "description": "Garantiza que los elementos <input type=\"checkbox\"> relacionados tienen un grupo y que la designación del grupo es consistente",
90
- "help": "Los 'Checkbox inputs' con el mismo valor para el atributo name deben ser parte de un grupo"
91
- },
92
- "color-contrast": {
93
- "description": "Garantiza que el contraste entre colores de primer plano y fondo cumple los límites de la ratio para contraste WCAG 2 AA",
94
- "help": "Los elementos deben tener un contraste de colores suficiente"
95
- },
96
- "css-orientation-lock": {
97
- "description": "Garantiza que el contenido no está bloqueado en ninguna orientación de pantalla específica, y que el contenido es manejable en cualquier orientación de pantalla",
98
- "help": "Las 'CSS Media queries' no se usan para bloquear la orientación de pantalla"
99
- },
100
- "definition-list": {
101
- "description": "Garantiza que los elementos <dl> están estructurados correctamente",
102
- "help": "Los elementos <dl> solo deben contener directamente grupos de <dt> y <dd> debidamente ordenados, o elementos <script> o <template>"
103
- },
104
- "dlitem": {
105
- "description": "Garantiza que los elementos <dt> y <dd> están contenidos en un <dl>",
106
- "help": "Los elementos <dt> y <dd> deben estar contenidos en un <dl>"
107
- },
108
- "document-title": {
109
- "description": "Garantiza que cada documento HTML tiene un elemento <title> no vacío",
110
- "help": "Los documentos deben tener elementos <title> para ayudar en la navegación"
111
- },
112
- "duplicate-id-active": {
113
- "description": "Garantiza que cada valor para el atributo id de elementos activos es único",
114
- "help": "Los 'IDs' de elementos activos deben ser únicos"
115
- },
116
- "duplicate-id-aria": {
117
- "description": "Garantiza que cada valor del atributo id usado en ARIA y en 'labels' es único",
118
- "help": "Los 'IDs' usados en ARIA y en 'labels' deben ser únicos"
119
- },
120
- "duplicate-id": {
121
- "description": "Garantiza que cada valor para el atributo id es único",
122
- "help": "El valor del atributo id debe ser único"
123
- },
124
- "empty-heading": {
125
- "description": "Garantiza que los encabezados tienen texto discernible",
126
- "help": "Los encabezados no deben estar vacíos"
127
- },
128
- "focus-order-semantics": {
129
- "description": "Garantiza que los elementos en orden de foco tienen un rol apropiado",
130
- "help": "Los elementos en orden de foco necesitan un rol apropiado para contenido interactivo"
131
- },
132
- "form-field-multiple-labels": {
133
- "description": "Garantiza que el campo de formulario no tiene múltiples elementos label",
134
- "help": "El campo de formulario no debe tener múltiples elementos label"
135
- },
136
- "frame-tested": {
137
- "description": "Garantiza que los elementos <iframe> y <frame> contienen el script axe-core",
138
- "help": "Los marcos deben probarse con axe-core"
139
- },
140
- "frame-title-unique": {
141
- "description": "Garantiza que los elementos <iframe> y <frame> contienen un atributo título único",
142
- "help": "Los marcos deben tener un único atributo title"
143
- },
144
- "frame-title": {
145
- "description": "Garantiza que los elementos <iframe> y <frame> contienen un atributo título no vacío",
146
- "help": "Los marcos deben tener el atributo title"
147
- },
148
- "heading-order": {
149
- "description": "Garantiza que el orden de los encabezados es semánticamente correcto",
150
- "help": "El nivel de encabezados solo debería incrementarse en 1"
151
- },
152
- "hidden-content": {
153
- "description": "Informa a los usuarios sobre contenido oculto.",
154
- "help": "El contenido oculto de la página no se puede analizar"
155
- },
156
- "html-has-lang": {
157
- "description": "Garantiza que cada documento HTML tiene un atributo lang",
158
- "help": "El elemento <html> debe tener un atributo lang"
159
- },
160
- "html-lang-valid": {
161
- "description": "Garantiza que el atributo lang del elemento <html> tiene un valor válido",
162
- "help": "El elemento <html> debe tener un valor válido para el atributo lang"
163
- },
164
- "html-xml-lang-mismatch": {
165
- "description": "Garantizar que en los elementos HTML con atributos tanto lang como xml:lang válidos haya concordancia en el idioma base de la página",
166
- "help": "Los elementos HTML con lang y xml:lang deben tener el mismo idioma base"
167
- },
168
- "image-alt": {
169
- "description": "Garantiza que los elementos <img> tienen texto alternativo o un rol de none o presentation",
170
- "help": "Las imágenes deben tener texto alternativo"
171
- },
172
- "image-redundant-alt": {
173
- "description": "Garantiza que la alternativa a la imagen no se repite como texto",
174
- "help": "El texto alternativo de las imágenes no debe repetirse como texto"
175
- },
176
- "input-button-name": {
177
- "description": "Garantizar que los 'input buttons' tienen texto discernible",
178
- "help": "Los 'Input buttons' deben tener texto discernible"
179
- },
180
- "input-image-alt": {
181
- "description": "Garantiza que los elementos <input type=\"image\"> tienen texto alternativo",
182
- "help": "Los 'image buttons' deben tener texto alternativo"
183
- },
184
- "label-content-name-mismatch": {
185
- "description": "Garantiza que, en los elementos etiquetados mediante su contenido, su texto visible debe formar parte de su nombre accesible",
186
- "help": "Los elementos deben tener su texto visible como parte de su nombre accesible"
187
- },
188
- "label-title-only": {
189
- "description": "Garantiza que cada elemento de formulario no está etiquetado únicamente mediante los atributos title o aria-describedby ",
190
- "help": "Los elementos de formulario deben tener una etiqueta visible"
191
- },
192
- "label": {
193
- "description": "Garantiza que cada elemento de formulario tiene una etiqueta",
194
- "help": "Los elementos de formulario deben tener etiquetas"
195
- },
196
- "landmark-banner-is-top-level": {
197
- "description": "Garantiza que el punto de referencia banner está en el nivel superior",
198
- "help": "El punto de referencia banner no debe estar contenido en otro punto de referencia"
199
- },
200
- "landmark-complementary-is-top-level": {
201
- "description": "Garantiza que el punto de referencia complementary o aside está en el nivel superior",
202
- "help": "Aside no debe estar contenido en otro punto de referencia"
203
- },
204
- "landmark-contentinfo-is-top-level": {
205
- "description": "Garantiza que el punto de referencia contentinfo está en el nivel superior",
206
- "help": "El punto de referencia contentinfo no debe estar contenido en otro punto de referencia"
207
- },
208
- "landmark-main-is-top-level": {
209
- "description": "Garantiza que el punto de referencia main está en el nivel superior",
210
- "help": "El punto de referencia main no debe estar contenido en otro punto de referencia"
211
- },
212
- "landmark-no-duplicate-banner": {
213
- "description": "Garantiza que el documento tiene, como mucho, un punto de referencia banner",
214
- "help": "El documento no debe tener más de un punto de referencia banner"
215
- },
216
- "landmark-no-duplicate-contentinfo": {
217
- "description": "Garantiza que el documento tiene, como mucho, un punto de referencia contentinfo",
218
- "help": "El documento no debe tener más de un punto de referencia contentinfo"
219
- },
220
- "landmark-one-main": {
221
- "description": "Garantiza que el documento solo tiene un punto de referencia main y que cada marco incorporado en la página tiene, como mucho, un punto de referencia main",
222
- "help": "El documento debe tener un punto de referencia main"
223
- },
224
- "landmark-unique": {
225
- "help": "Garantiza que los puntos de referencia son únicos",
226
- "description": "Los puntos de referencia deben tener una única combinación de role o role/label/title (es decir, un nombre accesible único)"
227
- },
228
- "layout-table": {
229
- "description": "Garantiza que los elementos de diseño en <table> no usan elementos <th>, <caption> o el atributo summary",
230
- "help": "Las tablas de diseño no deben usar elementos de tablas de datos"
231
- },
232
- "link-in-text-block": {
233
- "description": "Los enlaces pueden distinguirse sin depender del color",
234
- "help": "Los enlaces deben distinguirse del texto adyacente por un medio que no dependa del color"
235
- },
236
- "link-name": {
237
- "description": "Garantiza que los enlaces tienen texto discernible",
238
- "help": "Los enlaces deben tener texto discernible"
239
- },
240
- "list": {
241
- "description": "Garantiza que las listas están estructuradas correctamente",
242
- "help": "<ul> y <ol> solo deben contener directamente elementos <li>, <script> o <template>"
243
- },
244
- "listitem": {
245
- "description": "Garantiza que los elementos <li> se utilizan semánticamente",
246
- "help": "Los elementos <li> deben estar contenidos en un <ul> o un <ol>"
247
- },
248
- "marquee": {
249
- "description": "Garantiza que no se usan elementos <marquee>",
250
- "help": "Los elementos <marquee> están obsoletos y no deben usarse"
251
- },
252
- "meta-refresh": {
253
- "description": "Garantiza que no se usa <meta http-equiv=\"refresh\">",
254
- "help": "El refresco programado no debe existir"
255
- },
256
- "meta-viewport-large": {
257
- "description": "Garantizar que <meta name=\"viewport\"> puede ampliarse en grado significativo",
258
- "help": "Los usuarios deben poder hacer zum y ampliar el texto hasta 500%"
259
- },
260
- "meta-viewport": {
261
- "description": "Garantiza que <meta name=\"viewport\"> no impide la ampliación y el zum en el texto",
262
- "help": "No debe impedirse el zum y la ampliación"
263
- },
264
- "object-alt": {
265
- "description": "Garantiza que los elementos <object> tienen texto alternativo",
266
- "help": "Los elementos <object> deben tener texto alternativo"
267
- },
268
- "p-as-heading": {
269
- "description": "Garantizar que los elementos p no se usan para diseñar encabezados",
270
- "help": "No se usa texto en negrita, cursiva o tamaño de fuente para dar estilo de encabezados a elementos p"
271
- },
272
- "page-has-heading-one": {
273
- "description": "Garantizar que la página, o al menos uno de sus marcos, contiene un encabezado de nivel 1",
274
- "help": "La página debe contener un encabezado de nivel 1"
275
- },
276
- "radiogroup": {
277
- "description": "Garantiza que los elementos <input type=\"radio\"> relacionados tienen un grupo y que la designación del grupo es consistente",
278
- "help": "'Radio inputs' con el mismo valor para el atributo name deben formar parte de un grupo"
279
- },
280
- "region": {
281
- "description": "Garantiza que todo el contenido de la página está incluido en puntos de referencia",
282
- "help": "Todo el contenido de la página debe estar incluido en puntos de referencia"
283
- },
284
- "role-img-alt": {
285
- "description": "Garantiza que los elementos [role='img'] tienen texto alternativo",
286
- "help": "Los elementos [role='img'] tienen un texto alternativo"
287
- },
288
- "scope-attr-valid": {
289
- "description": "Garantiza que el atributo scope se usa correctamente en las tablas",
290
- "help": "El atributo scope debería usarse correctamente"
291
- },
292
- "scrollable-region-focusable": {
293
- "description": "Los elementos que tienen contenido que puede desplazarse verticalmente (en 'scroll') deberían ser accesibles mediante el teclado",
294
- "help": "Asegurar que la región de desplazamiento vertical ('scroll') tiene acceso por teclado"
295
- },
296
- "server-side-image-map": {
297
- "description": "Garantiza que no se usan mapas de imágenes del lado del servidor",
298
- "help": "No deben usarse mapas de imágenes del lado del servidor"
299
- },
300
- "skip-link": {
301
- "description": "Garantizar que todos los enlaces de salto ('skip') tienen un destino que admite el foco",
302
- "help": "El destino del enlace de salto ('skip') debería existir y admitir el foco"
303
- },
304
- "tabindex": {
305
- "description": "Garantiza que los valores del atributo tabindex no son mayores que 0",
306
- "help": "Los elementos no deberían tener un tabindex mayor que 0"
307
- },
308
- "table-duplicate-name": {
309
- "description": "Garantizar que las tablas no tienen el mismo summary y caption",
310
- "help": "El elemento <caption> no debería contener el mismo texto que el atributo summary"
311
- },
312
- "table-fake-caption": {
313
- "description": "Garantizar que las tablas con título usan el elemento <caption>.",
314
- "help": "Las celdas de datos o de encabezados no deberían usarse para dar título a una tabla de datos."
315
- },
316
- "td-has-header": {
317
- "description": "Garantizar que cada celda de datos no vacía de una tabla grande tiene uno o más encabezados de tabla",
318
- "help": "Todos los elementos td no vacíos de una tabla mayor que 3 por 3 deben tener un encabezado de tabla asociado"
319
- },
320
- "td-headers-attr": {
321
- "description": "Garantizar que cada celda que use los encabezados en una tabla haga referencia a otra celda de esa tabla",
322
- "help": "Todas las celdas de un elemento table que usen el atributo headers deben hacer referencia solo a otras celdas de esa misma tabla"
323
- },
324
- "th-has-data-cells": {
325
- "description": "Garantizar que cada encabezado de tabla en una tabla de datos hace referencia a celdas de datos",
326
- "help": "Todos los elementos th y elementos con role=columnheader/rowheader deben tener las celdas de datos que describen"
327
- },
328
- "valid-lang": {
329
- "description": "Garantiza que los atributos lang tienen valores válidos",
330
- "help": "El atributo lang debe tener un valor válido"
331
- },
332
- "video-caption": {
333
- "description": "Garantiza que los elementos <video> tienen subtítulos",
334
- "help": "Los elementos <video> deben tener subtítulos"
335
- },
336
- "video-description": {
337
- "description": "Garantiza que los elementos <video> tienen audiodescripciones",
338
- "help": "Los elementos <video> deben tener una pista de audiodescripción"
339
- }
340
- },
341
- "checks": {
342
- "abstractrole": {
343
- "pass": "No se usan 'abstract roles'",
344
- "fail": "Los 'abstract roles' no se pueden usar directamente"
345
- },
346
- "aria-allowed-attr": {
347
- "pass": "Los atributos ARIA se usan correctamente para el rol definido",
348
- "fail": "En ARIA, atributo{{=it.data && it.data.length > 1 ? 's no están permitidos' : 'no está permitido'}} :{{~it.data:value}} {{=value}}{{~}}"
349
- },
350
- "aria-allowed-role": {
351
- "pass": "El rol ARIA está permitido para el elemento proporcionado",
352
- "fail": "En ARIA, role{{=it.data && it.data.length > 1 ? 's' : ''}} {{=it.data.join(', ')}} {{=it.data && it.data.length > 1 ? 'no están permitidos' : ' no está permitido'}} para el elemento proporcionado",
353
- "incomplete": "En ARIA, hay que eliminar role{{=it.data && it.data.length > 1 ? 's' : ''}} {{=it.data.join(', ')}} cuando el elemento se haga visible, ya que {{=it.data && it.data.length > 1 ? 'no están permitidos' : 'no está permitido'}} para el elemento"
354
- },
355
- "aria-hidden-body": {
356
- "pass": "No hay ningún atributo aria-hidden presente en el 'body' del documento",
357
- "fail": "aria-hidden=true no debe estar presente en el 'body' del documento"
358
- },
359
- "aria-errormessage": {
360
- "pass": "Usa una técnica admitida para aria-errormessage",
361
- "fail": "En aria-errormessage, valor{{=it.data && it.data.length > 1 ? 'es' : ''}} {{~it.data:value}} `{{=value}}{{~}}`, se debe usar una técnica para anunciar el mensaje (p. ej., aria-live, aria-describedby, role=alert, etc.)"
362
- },
363
- "has-widget-role": {
364
- "pass": "El elemento tiene un rol de widget.",
365
- "fail": "El elemento no tiene un rol de widget."
366
- },
367
- "implicit-role-fallback": {
368
- "pass": "El rol ARIA implícito de los elementos es una alternativa apropiada",
369
- "fail": "El rol ARIA implícito de los elementos no es una buena alternativa para el rol (no admitido)"
370
- },
371
- "invalidrole": {
372
- "pass": "El rol ARIA es válido",
373
- "fail": "El rol debe ser uno de los roles ARIA válidos"
374
- },
375
- "no-implicit-explicit-label": {
376
- "pass": "No hay discordancia entre un <label> y el nombre accesible",
377
- "incomplete": "Comprobar que el <label> no necesita ser parte del ARIA {{=it.data}} para el nombre del campo"
378
- },
379
- "aria-required-attr": {
380
- "pass": "Todos los atributos ARIA requeridos están presentes",
381
- "fail": "Atributo{{=it.data && it.data.length > 1 ? 's requeridos no presentes' : ' requerido no presente'}}:{{~it.data:value}} {{=value}}{{~}}"
382
- },
383
- "aria-required-children": {
384
- "pass": "Los hijos ARIA requeridos están presentes",
385
- "fail": "Rol de {{=it.data && it.data.length > 1 ? 'hijos' : 'hijo'}} requerido en ARIA no presente:{{~it.data:value}} {{=value}}{{~}}",
386
- "incomplete": "Esperando que se añada rol ARIA para {{=it.data && it.data.length > 1 ? 'hijos' : 'hijo'}}:{{~it.data:value}} {{=value}}{{~}}"
387
- },
388
- "aria-required-parent": {
389
- "pass": "Rol de padre requerido en ARIA presente",
390
- "fail": "Rol de ARIA requerido para padre {{=it.data && it.data.length > 1 ? 's' : ''}} no presente:{{~it.data:value}} {{=value}}{{~}}"
391
- },
392
- "aria-unsupported-attr": {
393
- "pass": "El atributo ARIA está admitido",
394
- "fail": "El atributo ARIA no está ampliamente admitido en lectores de pantalla y tecnologías de apoyo: {{~it.data:value}} {{=value}}{{~}}"
395
- },
396
- "unsupportedrole": {
397
- "pass": "El rol ARIA está admitido",
398
- "fail": "El rol usado no está ampliamente admitido en lectores de pantalla y tecnologías de apoyo: {{~it.data:value}} {{=value}}{{~}}"
399
- },
400
- "aria-valid-attr-value": {
401
- "pass": "Los valores de los atributos ARIA son válidos",
402
- "fail": "Valor{{=it.data && it.data.length > 1 ? 'es no válidos para atributo ARIA' : ' no válido para atributo ARIA'}}:{{~it.data:value}} {{=value}}{{~}}",
403
- "incomplete": "Atributo{=it.data && it.data.length > 1 ? 's' : ''}} ARIA ID de elemento no existe en la página:{{~it.data:value}} {{=value}}{{~}}"
404
- },
405
- "aria-valid-attr": {
406
- "pass": "Nombre{{=it.data && it.data.length > 1 ? 's de atributos ARIA válidos' : 'de atributo ARIA válido'}}",
407
- "fail": "Nombre{{=it.data && it.data.length > 1 ? 's de atributos ARIA no válidos' : ' de atributo ARIA no válido'}}: {{~it.data:value}} {{=value}}{{~}}"
408
- },
409
- "valid-scrollable-semantics": {
410
- "pass": "El elemento tiene una semántica válida para un elemento en orden de foco.",
411
- "fail": "El elemento tiene una semántica no válida para un elemento en orden de foco."
412
- },
413
- "color-contrast": {
414
- "pass": "El elemento tiene un contraste de color suficiente de {{=it.data.contrastRatio}}",
415
- "fail": "El elemento tiene un contraste de color insuficiente de {{=it.data.contrastRatio}} (color de primer plano: {{=it.data.fgColor}}, color de fondo: {{=it.data.bgColor}}, tamaño de fuente: {{=it.data.fontSize}}, grosor de fuente: {{=it.data.fontWeight}}). Ratio de contraste esperado: {{=it.data.expectedContrastRatio}}",
416
- "incomplete": {
417
- "bgImage": "El color de fondo del elemento no se pudo determinar debido a una imagen de fondo",
418
- "bgGradient": "El color de fondo del elemento no se pudo determinar debido a un degradado de fondo",
419
- "imgNode": "El color de fondo del elemento no se pudo determinar porque el elemento contiene un nodo de imagen",
420
- "bgOverlap": "El color de fondo no se pudo determinar porque tiene otro elemento superpuesto",
421
- "fgAlpha": "El color de fondo no se pudo determinar debido a una transparencia alfa",
422
- "elmPartiallyObscured": "El color de fondo no se pudo determinar porque está parcialmente oculto por otro elemento",
423
- "elmPartiallyObscuring": "El color de fondo del elemento no se pudo determinar porque se superpone parcialmente a otros elementos",
424
- "outsideViewport": "El color de fondo del elemento no se pudo determinar porque está fuera de la ventana gráfica ('viewport')",
425
- "equalRatio": "El elemento tiene una ratio de contraste 1:1 con el fondo",
426
- "shortTextContent": "El contenido del elemento es demasiado corto para determinar si es contenido de texto propiamente dicho",
427
- "default": "Imposible determinar la ratio de contraste"
428
- }
429
- },
430
- "link-in-text-block": {
431
- "pass": "Los enlaces se pueden distinguir respecto al texto adyacente de forma ajena al color",
432
- "fail": "Es necesario distinguir los enlaces respecto al texto adyacente de una forma ajena al color",
433
- "incomplete": {
434
- "bgContrast": "No se pudo determinar la ratio de contraste del elemento. Comprobar si existe un estilo hover/focus distinto",
435
- "bgImage": "La ratio de contraste del elemento no se pudo determinar debido a una imagen de fondo",
436
- "bgGradient": "La ratio de contraste del elemento no se pudo determinar debido a un degradado de fondo",
437
- "imgNode": "La ratio de contraste del elemento no se pudo determinar porque el elemento contiene un nodo de imagen",
438
- "bgOverlap": "La ratio de contraste del elemento no se pudo determinar debido a superposición de elementos",
439
- "default": "Imposible determinar la ratio de contraste"
440
- }
441
- },
442
- "autocomplete-appropriate": {
443
- "pass": "el valor de autocomplete está en un elemento apropiado",
444
- "fail": "el valor de autocomplete es inapropiado para este tipo de input"
445
- },
446
- "autocomplete-valid": {
447
- "pass": "el atributo autocomplete está formateado correctamente",
448
- "fail": "el atributo autocomplete está formateado incorrectamente"
449
- },
450
- "fieldset": {
451
- "pass": "El elemento está contenido en un fieldset",
452
- "fail": "{{var code = it.data && it.data.failureCode;}}{{? code === 'no-legend'}}Fieldset no tiene un legend como primer hijo{{?? code === 'empty-legend'}}Legend no tiene texto visible para lectores de pantalla{{?? code === 'mixed-inputs'}}Fieldset contiene inputs no relacionados{{?? code === 'no-group-label'}}ARIA group no tiene aria-label o aria-labelledby{{?? code === 'group-mixed-inputs'}}ARIA group contiene inputs no relacionados{{??}}El elemento no tiene un fieldset o ARIA group contenedor{{?}}"
453
- },
454
- "group-labelledby": {
455
- "pass": "Los elementos con el nombre \"{{=it.data.name}}\" tienen tanto una etiqueta compartida como una etiqueta única, referida mediante aria-labelledby",
456
- "fail": "{{var code = it.data && it.data.failureCode;}}Los elementos con el nombre \"{{=it.data.name}}\", no todos tienen {{? code === 'no-shared-label' }}una etiqueta compartida{{?? code === 'no-unique-label' }}una etiqueta única{{??}}tanto una etiqueta compartida como una etiqueta única{{?}}, referida mediante aria-labelledby"
457
- },
458
- "accesskeys": {
459
- "pass": "El valor del atributo accesskey es único",
460
- "fail": "El documento tiene múltiples elementos con el mismo accesskey"
461
- },
462
- "focusable-content": {
463
- "pass": "El elemento contiene elementos que admiten el foco",
464
- "fail": "El elemento debería tener contenido que admita el foco"
465
- },
466
- "focusable-disabled": {
467
- "pass": "Dentro del elemento no hay elementos que admitan el foco",
468
- "fail": "El contenido que admita el foco debería ser desactivado o eliminado del DOM"
469
- },
470
- "focusable-element": {
471
- "pass": "El elemento admite el foco",
472
- "fail": "El elemento debería admitir el foco"
473
- },
474
- "focusable-no-name": {
475
- "pass": "El elemento no está en orden de tabulación o tiene texto accesible",
476
- "fail": "El elemento está en orden de tabulación y no tiene texto accesible"
477
- },
478
- "focusable-not-tabbable": {
479
- "pass": "Dentro del elemento no hay elementos que admitan el foco",
480
- "fail": "El contenido que admita el foco debería tener tabindex='-1' o ser eliminado del DOM"
481
- },
482
- "landmark-is-top-level": {
483
- "pass": "El punto de referencia {{=it.data.role }} está en el nivel superior.",
484
- "fail": "El punto de referencia {{=it.data.role }} está contenido en otro punto de referencia."
485
- },
486
- "page-has-heading-one": {
487
- "pass": "La página tiene al menos un encabezado de nivel 1",
488
- "fail": "La página debe tener un encabezado de nivel 1"
489
- },
490
- "page-has-main": {
491
- "pass": "El documento tiene al menos un punto de referencia main",
492
- "fail": "El documento no tiene punto de referencia main"
493
- },
494
- "page-no-duplicate-banner": {
495
- "pass": "El documento no tiene más de un punto de referencia banner",
496
- "fail": "El documento tiene más de un punto de referencia banner"
497
- },
498
- "page-no-duplicate-contentinfo": {
499
- "pass": "El documento no tiene más de un punto de referencia contentinfo",
500
- "fail": "El documento tiene más de un punto de referencia contentinfo"
501
- },
502
- "page-no-duplicate-main": {
503
- "pass": "El documento no tiene más de un punto de referencia main",
504
- "fail": "El documento tiene más de un punto de referencia main"
505
- },
506
- "tabindex": {
507
- "pass": "El elemento no tiene un tabindex mayor que 0",
508
- "fail": "El elemento tiene un tabindex mayor que 0"
509
- },
510
- "alt-space-value": {
511
- "pass": "El elemento tiene un valor válido para el atributo alt",
512
- "fail": "El elemento tiene un atributo alt que contiene solo un carácter de espacio, que no es ignorado por todos los lectores de pantalla"
513
- },
514
- "duplicate-img-label": {
515
- "pass": "El elemento no duplica texto existente en el texto alternativo de <img>",
516
- "fail": "El elemento contiene un elemento <img> con texto alternativo que duplica texto existente"
517
- },
518
- "explicit-label": {
519
- "pass": "El elemento de formulario tiene un <label> explícito",
520
- "fail": "El elemento de formulario no tiene un <label> explícito"
521
- },
522
- "help-same-as-label": {
523
- "pass": "El texto de ayuda (title o aria-describedby) no duplica el texto de label",
524
- "fail": "El texto de ayuda (title o aria-describedby) es el mismo que el texto de label"
525
- },
526
- "hidden-explicit-label": {
527
- "pass": "El elemento de formulario tiene un <label> explícito visible",
528
- "fail": "El elemento de formulario tiene un <label> explícito oculto"
529
- },
530
- "implicit-label": {
531
- "pass": "El elemento de formulario tiene un <label> implícito ('envuelto')",
532
- "fail": "El elemento de formulario no tiene un <label> implícito ('envuelto')"
533
- },
534
- "label-content-name-mismatch": {
535
- "pass": "El elemento contiene texto visible como parte de su nombre accesible",
536
- "fail": "El texto contenido en el elemento no está incluido en el nombre accesible"
537
- },
538
- "multiple-label": {
539
- "pass": "El campo de formulario no tiene múltiples elementos label",
540
- "fail": "Múltiples elementos label no son ampliamente admitidos en las tecnologías de apoyo"
541
- },
542
- "title-only": {
543
- "pass": "El elemento de formulario no usa únicamente el atributo title para su etiqueta",
544
- "fail": "Solo se usó title para generar la etiqueta de un elemento de formulario"
545
- },
546
- "landmark-is-unique": {
547
- "pass": "Los puntos de referencia deben tener una combinación única de role o role/label/title (es decir, un nombre accesible único)",
548
- "fail": "El punto de referencia debe tener un aria-label, aria-labelledby o title único para que los puntos de referencia sean distinguibles"
549
- },
550
- "has-lang": {
551
- "pass": "El elemento <html> tiene un atributo lang",
552
- "fail": "El elemento <html> no tiene un atributo lang"
553
- },
554
- "valid-lang": {
555
- "pass": "El valor del atributo lang está incluido en la lista de idiomas válidos",
556
- "fail": "Valor del atributo lang no incluido en la lista de idiomas válidos"
557
- },
558
- "xml-lang-mismatch": {
559
- "pass": "Los atributos lang y xml:lang tienen el mismo idioma base",
560
- "fail": "Los atributos lang y xml:lang no tienen el mismo idioma base"
561
- },
562
- "dlitem": {
563
- "pass": "El elemento de lista de descripción tiene un elemento <dl> padre",
564
- "fail": "El elemento de lista de descripción no tiene un elemento <dl> padre"
565
- },
566
- "listitem": {
567
- "pass": "El elemento de lista tiene un elemento padre <ul>, <ol> o role=\"list\"",
568
- "fail": "El elemento de lista no tiene un elemento padre <ul>, <ol> o role=\"list\""
569
- },
570
- "only-dlitems": {
571
- "pass": "El elemento de lista solo tiene hijos directos que están permitidos dentro de elementos <dt> o <dd>",
572
- "fail": "El elemento de lista tiene hijos directos que no están permitidos dentro de elementos <dt> o <dd>"
573
- },
574
- "only-listitems": {
575
- "pass": "El elemento de lista solo tiene hijos directos que están permitidos dentro de elementos <li>",
576
- "fail": "El elemento de lista tiene hijos directos que no están permitidos dentro de elementos <li>"
577
- },
578
- "structured-dlitems": {
579
- "pass": "Cuando no está vacío, el elemento tiene tanto elementos <dt> como <dd>",
580
- "fail": "Cuando no está vacío, el elemento no tiene al menos un elemento <dt> seguido por, al menos, un elemento <dd>"
581
- },
582
- "caption": {
583
- "pass": "El elemento multimedia tiene una pista de subtítulos",
584
- "incomplete": "Comprobar que hay disponibles subtítulos para el elemento"
585
- },
586
- "description": {
587
- "pass": "El elemento multimedia tiene una pista de audiodescripción",
588
- "incomplete": "Comprobar que hay disponible audiodescripción para el elemento"
589
- },
590
- "frame-tested": {
591
- "pass": "El marco incorporado fue probado con axe-core",
592
- "fail": "El marco incorporado no se pudo probar con axe-core",
593
- "incomplete": "El marco incorporado aún tiene que probarse con axe-core"
594
- },
595
- "css-orientation-lock": {
596
- "pass": "La pantalla es manejable y no existe bloqueo de orientación",
597
- "fail": "Se aplica bloqueo de orientación CSS y hace que la pantalla sea inmanejable",
598
- "incomplete": "No se puede determinar si hay bloqueo de orientación CSS"
599
- },
600
- "meta-viewport-large": {
601
- "pass": "La etiqueta <meta> no impide un zum significativo en dispositivos móviles",
602
- "fail": "La etiqueta <meta> limita el zum en dispositivos móviles"
603
- },
604
- "meta-viewport": {
605
- "pass": "La etiqueta <meta> no impide el zum en dispositivos móviles",
606
- "fail": "{{=it.data}} en la etiqueta <meta> impide el zum en dispositivos móviles"
607
- },
608
- "header-present": {
609
- "pass": "La página tiene un 'header'",
610
- "fail": "La página no tiene un 'header'"
611
- },
612
- "heading-order": {
613
- "pass": "Horden de encabezados válido",
614
- "fail": "Orden de encabezados no válido"
615
- },
616
- "internal-link-present": {
617
- "pass": "Encontrado enlace de salto ('skip') válido",
618
- "fail": "No se han encontrado enlaces de salto ('skip') válidos"
619
- },
620
- "landmark": {
621
- "pass": "La página tiene una región punto de referencia",
622
- "fail": "La página no tiene una región punto de referencia"
623
- },
624
- "meta-refresh": {
625
- "pass": "La etiqueta <meta> no refresca la página inmediatamente",
626
- "fail": "La etiqueta <meta> fuerza el refresco programado de la página"
627
- },
628
- "p-as-heading": {
629
- "pass": "Los elementos <p> no se han diseñado como encabezados",
630
- "fail": "Deberían usarse elementos de encabezado en vez de elementos <p> con estilos"
631
- },
632
- "region": {
633
- "pass": "Todo el contenido de la página está incluido en puntos de referencia",
634
- "fail": "La página tiene contenido no incluido en puntos de referencia"
635
- },
636
- "skip-link": {
637
- "pass": "Existe el destino del enlace de salto ('skip')",
638
- "incomplete": "El destino del enlace de salto ('skip') debería volverse visible en la activación",
639
- "fail": "No hay destino para el enlace de salto ('skip')"
640
- },
641
- "unique-frame-title": {
642
- "pass": "El atributo title del elemento es único",
643
- "fail": "El atributo title del elemento no es único"
644
- },
645
- "duplicate-id-active": {
646
- "pass": "El documento no tiene elementos activos que compartan el mismo atributo id",
647
- "fail": "El documento tiene elementos activos con el mismo atributo id: {{=it.data}}"
648
- },
649
- "duplicate-id-aria": {
650
- "pass": "El documento no tiene elementos referidos con ARIA o etiquetas que compartan el mismo atributo id",
651
- "fail": "El documento tiene múltiples elementos referidos con ARIA con el mismo atributo id: {{=it.data}}"
652
- },
653
- "duplicate-id": {
654
- "pass": "El documento no tiene elementos estáticos que compartan el mismo atributo id",
655
- "fail": "El documento tiene múltiples elementos estáticos con el mismo atributo id"
656
- },
657
- "aria-label": {
658
- "pass": "El atributo aria-label existe y no está vacío",
659
- "fail": "El atributo aria-label no existe o está vacío"
660
- },
661
- "aria-labelledby": {
662
- "pass": "El atributo aria-labelledby existe y hace referencia a elementos visibles para lectores de pantalla",
663
- "fail": "El atributo aria-labelledby no existe, hace referencia a elementos inexistentes o hace referencia a elementos vacíos"
664
- },
665
- "avoid-inline-spacing": {
666
- "pass": "No se han especificado estilos 'inline' con '!important' que afecten al espaciado de texto",
667
- "fail": "Eliminar '!important' de inline style{{=it.data && it.data.length > 1 ? 's' : ''}} {{=it.data.join(', ')}}, porque su anulación no está admitida en la mayoría de navegadores"
668
- },
669
- "button-has-visible-text": {
670
- "pass": "El elemento tiene texto interno visible para lectores de pantalla",
671
- "fail": "El elemento no tiene texto interno visible para lectores de pantalla"
672
- },
673
- "doc-has-title": {
674
- "pass": "El documento tiene un elemento <title> no vacío",
675
- "fail": "El documento no tiene un elemento <title> no vacío"
676
- },
677
- "exists": {
678
- "pass": "El elemento no existe",
679
- "fail": "El elemento existe"
680
- },
681
- "has-alt": {
682
- "pass": "El elemento tiene un atributo alt",
683
- "fail": "El elemento no tiene un atributo alt"
684
- },
685
- "has-visible-text": {
686
- "pass": "El elemento tiene texto visible para lectores de pantalla",
687
- "fail": "El elemento no tiene texto visible para lectores de pantalla"
688
- },
689
- "is-on-screen": {
690
- "pass": "El elemento no es visible",
691
- "fail": "El elemento es visible"
692
- },
693
- "non-empty-alt": {
694
- "pass": "El elemento tiene un atributo alt no vacío",
695
- "fail": "El elemento no tiene atributo alt o el atributo alt está vacío"
696
- },
697
- "non-empty-if-present": {
698
- "pass": "El elemento {{?it.data}}tiene un atributo de valor no vacío{{??}}no tiene un atributo de valor{{?}}",
699
- "fail": "El elemento tiene un atributo de valor y el atributo de valor está vacío"
700
- },
701
- "non-empty-title": {
702
- "pass": "El elemento tiene un atributo title",
703
- "fail": "El elemento no tiene atributo title o el atributo title está vacío"
704
- },
705
- "non-empty-value": {
706
- "pass": "El elemento tiene un atributo de valor no vacío",
707
- "fail": "El elemento no tiene un atributo de valor o el atributo de valor está vacío"
708
- },
709
- "role-none": {
710
- "pass": "La semántica predeterminada del elemento se anuló mediante role=\"none\"",
711
- "fail": "La semántica predeterminada del elemento no se anuló mediante role=\"none\""
712
- },
713
- "role-presentation": {
714
- "pass": "La semántica predeterminada del elemento se anuló mediante role=\"presentation\"",
715
- "fail": "La semántica predeterminada del elemento no se anuló mediante role=\"presentation\""
716
- },
717
- "caption-faked": {
718
- "pass": "La primera fila de una tabla no se usa como título ('caption')",
719
- "fail": "La primera fila de la tabla debería ser un título ('caption') en vez de una celda de tabla"
720
- },
721
- "has-caption": {
722
- "pass": "la tabla de diseño no usa el elemento <caption>",
723
- "fail": "La tabla de diseño usa el elemento <caption>"
724
- },
725
- "has-summary": {
726
- "pass": "La tabla de diseño no usa el atributo summary",
727
- "fail": "La tabla de diseño usa el atributo summary"
728
- },
729
- "has-th": {
730
- "pass": "La tabla de diseño no usa elementos <th>",
731
- "fail": "La tabla de diseño usa elementos <th>"
732
- },
733
- "html5-scope": {
734
- "pass": "El atributo scope solo se usa en elementos de encabezados de tabla (<th>)",
735
- "fail": "En HTML 5, los atributos scope solo se pueden usar en elementos de encabezados de tabla (<th>)"
736
- },
737
- "same-caption-summary": {
738
- "pass": "El contenido del atributo summary y de <caption> no están duplicados",
739
- "fail": "El contenido del atributo summary y del elemento <caption> son idénticos"
740
- },
741
- "scope-value": {
742
- "pass": "El atributo scope se usa correctamente",
743
- "fail": "El valor del atributo scope solo puede ser 'row' o 'col'"
744
- },
745
- "td-has-header": {
746
- "pass": "Todas las celdas de datos no vacías tienen encabezados de tabla",
747
- "fail": "Algunas celdas de datos no vacías no tienen encabezados de tabla"
748
- },
749
- "td-headers-attr": {
750
- "pass": "El atributo headers se usa exclusivamente para hacer referencia a otras celdas de la tabla",
751
- "fail": "El atributo headers no se usa exclusivamente para hacer referencia a otras celdas de la tabla"
752
- },
753
- "th-has-data-cells": {
754
- "pass": "Todas las celdas de encabezados de tabla hacen referencia a celdas de datos",
755
- "fail": "No todas las celdas de encabezados de tabla hacen referencia a celdas de datos",
756
- "incomplete": "Hay celdas de datos de la tabla ausentes o vacías"
757
- },
758
- "hidden-content": {
759
- "pass": "Se ha analizado todo el contenido de la página.",
760
- "fail": "Hubo problemas al analizar el contenido de esta página.",
761
- "incomplete": "Hay contenido oculto en la página que no fue analizado. Necesitarás activar la visualización de este contenido a fin de analizarlo."
762
- }
763
- },
764
- "failureSummaries": {
765
- "any": {
766
- "failureMessage": "Corregir cualquiera de las siguientes incidencias:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
767
- },
768
- "none": {
769
- "failureMessage": "Corregir (todas) las siguientes incidencias:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
770
- }
771
- },
772
- "incompleteFallbackMessage": "Corregir (todas) las siguientes incidencias:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
2
+ "lang": "es",
3
+ "rules": {
4
+ "accesskeys": {
5
+ "description": "Garantiza que cada valor para el atributo accesskey es único",
6
+ "help": "El valor del atributo accesskey debe ser único"
7
+ },
8
+ "area-alt": {
9
+ "description": "Garantiza que los elementos <area> de los mapas de imágenes tienen texto alternativo",
10
+ "help": "Los elementos <area> activos deben tener texto alternativo"
11
+ },
12
+ "aria-allowed-attr": {
13
+ "description": "Garantiza que los atributos ARIA están permitidos para el rol de un elemento",
14
+ "help": "Los elementos solo deben usar atributos ARIA permitidos"
15
+ },
16
+ "aria-allowed-role": {
17
+ "description": "Garantiza que el atributo role tiene un valor apropiado para el elemento",
18
+ "help": "ARIA role debe ser apropiado para el elemento"
19
+ },
20
+ "aria-hidden-body": {
21
+ "description": "Garantiza que aria-hidden='true' no está presente en el 'body' del documento.",
22
+ "help": "aria-hidden='true' no debe estar presente en el 'body' del documento"
23
+ },
24
+ "aria-hidden-focus": {
25
+ "description": "Garantiza que los elementos 'aria-hidden' no contienen elementos que admitan el foco",
26
+ "help": "Los elementos 'ARIA hidden' no deben contener elementos que admitan el foco"
27
+ },
28
+ "aria-input-field-name": {
29
+ "description": "Garantiza que cada 'ARIA input field' tiene un nombre accesible",
30
+ "help": "Los 'ARIA input fields' tienen un nombre accesible"
31
+ },
32
+ "aria-required-attr": {
33
+ "description": "Garantiza que los elementos con 'ARIA roles' tienen todos los atributos ARIA requeridos",
34
+ "help": "Deben proporcionarse los atributos ARIA requeridos"
35
+ },
36
+ "aria-required-children": {
37
+ "description": "Garantiza que los elementos con un 'ARIA role' que requieren 'child roles' los contienen",
38
+ "help": "Ciertos 'ARIA roles' deben contener determinados hijos"
39
+ },
40
+ "aria-required-parent": {
41
+ "description": "Garantiza que los elementos con un 'ARIA role' que requieren 'parent roles' están contenidos en ellos",
42
+ "help": "Ciertos 'ARIA roles' deben estar contenidos en determinados padres"
43
+ },
44
+ "aria-roles": {
45
+ "description": "Garantiza que todos los elementos con un atributo role usan un valor válido",
46
+ "help": "Los 'ARIA roles' usados deben cumplir los requisitos para valores válidos"
47
+ },
48
+ "aria-toggle-field-name": {
49
+ "description": "Garantiza que cada 'ARIA toggle field' tiene un nombre accesible",
50
+ "help": "Los 'ARIA toggle fields' tienen un nombre accesible"
51
+ },
52
+ "aria-valid-attr-value": {
53
+ "description": "Garantiza que todos los atributos ARIA tienen valores válidos",
54
+ "help": "Los atributos ARIA deben cumplir los requisitos para valores válidos"
55
+ },
56
+ "aria-valid-attr": {
57
+ "description": "Garantiza que los atributos que empiezan por aria- son atributos ARIA válidos",
58
+ "help": "Los atributos ARIA deben cumplir los requisitos para nombres válidos"
59
+ },
60
+ "audio-caption": {
61
+ "description": "Garantiza que los elementos <audio> tienen subtítulos",
62
+ "help": "Los elementos <audio> deben tener una pista de subtítulos"
63
+ },
64
+ "autocomplete-valid": {
65
+ "description": "Garantizar que el atributo autocomplete es correcto y adecuado para el campo de formulario",
66
+ "help": "El atributo autocomplete debe usarse correctamente"
67
+ },
68
+ "avoid-inline-spacing": {
69
+ "description": "Garantizar que el espaciado de texto establecido mediante atributos style se puede ajustar con hojas de estilo personalizadas",
70
+ "help": "El espaciado de texto 'inline' debe poder ajustarse mediante hojas de estilo personalizadas"
71
+ },
72
+ "blink": {
73
+ "description": "Garantiza que no se usan elementos <blink>",
74
+ "help": "Los elementos <blink> están obsoletos y no deben usarse"
75
+ },
76
+ "button-name": {
77
+ "description": "Garantiza que los botones tienen texto discernible",
78
+ "help": "Los botones deben tener texto discernible"
79
+ },
80
+ "bypass": {
81
+ "description": "Garantiza que cada página tiene al menos un medio para que un usuario pueda saltarse la navegación y pasar directamente al contenido",
82
+ "help": "Las páginas deben tener medios para saltarse bloques repetidos"
83
+ },
84
+ "color-contrast": {
85
+ "description": "Garantiza que el contraste entre colores de primer plano y fondo cumple los límites de la ratio para contraste WCAG 2 AA",
86
+ "help": "Los elementos deben tener un contraste de colores suficiente"
87
+ },
88
+ "color-contrast-enhanced": {
89
+ "description": "Garantiza que el contraste entre colores de primer plano y fondo cumple los límites de la ratio para contraste WCAG 2 AAA",
90
+ "help": "Los elementos deben tener un contraste de colores suficiente"
91
+ },
92
+ "css-orientation-lock": {
93
+ "description": "Garantiza que el contenido no está bloqueado en ninguna orientación de pantalla específica, y que el contenido es manejable en cualquier orientación de pantalla",
94
+ "help": "Las 'CSS Media queries' no se usan para bloquear la orientación de pantalla"
95
+ },
96
+ "definition-list": {
97
+ "description": "Garantiza que los elementos <dl> están estructurados correctamente",
98
+ "help": "Los elementos <dl> solo deben contener directamente grupos de <dt> y <dd> debidamente ordenados, o elementos <script> o <template>"
99
+ },
100
+ "dlitem": {
101
+ "description": "Garantiza que los elementos <dt> y <dd> están contenidos en un <dl>",
102
+ "help": "Los elementos <dt> y <dd> deben estar contenidos en un <dl>"
103
+ },
104
+ "document-title": {
105
+ "description": "Garantiza que cada documento HTML tiene un elemento <title> no vacío",
106
+ "help": "Los documentos deben tener elementos <title> para ayudar en la navegación"
107
+ },
108
+ "duplicate-id-active": {
109
+ "description": "Garantiza que cada valor para el atributo id de elementos activos es único",
110
+ "help": "Los 'IDs' de elementos activos deben ser únicos"
111
+ },
112
+ "duplicate-id-aria": {
113
+ "description": "Garantiza que cada valor del atributo id usado en ARIA y en 'labels' es único",
114
+ "help": "Los 'IDs' usados en ARIA y en 'labels' deben ser únicos"
115
+ },
116
+ "duplicate-id": {
117
+ "description": "Garantiza que cada valor para el atributo id es único",
118
+ "help": "El valor del atributo id debe ser único"
119
+ },
120
+ "empty-heading": {
121
+ "description": "Garantiza que los encabezados tienen texto discernible",
122
+ "help": "Los encabezados no deben estar vacíos"
123
+ },
124
+ "focus-order-semantics": {
125
+ "description": "Garantiza que los elementos en orden de foco tienen un rol apropiado",
126
+ "help": "Los elementos en orden de foco necesitan un rol apropiado para contenido interactivo"
127
+ },
128
+ "form-field-multiple-labels": {
129
+ "description": "Garantiza que el campo de formulario no tiene múltiples elementos label",
130
+ "help": "El campo de formulario no debe tener múltiples elementos label"
131
+ },
132
+ "frame-tested": {
133
+ "description": "Garantiza que los elementos <iframe> y <frame> contienen el script axe-core",
134
+ "help": "Los marcos deben probarse con axe-core"
135
+ },
136
+ "frame-title-unique": {
137
+ "description": "Garantiza que los elementos <iframe> y <frame> contienen un atributo título único",
138
+ "help": "Los marcos deben tener un único atributo title"
139
+ },
140
+ "frame-title": {
141
+ "description": "Garantiza que los elementos <iframe> y <frame> contienen un atributo título no vacío",
142
+ "help": "Los marcos deben tener el atributo title"
143
+ },
144
+ "heading-order": {
145
+ "description": "Garantiza que el orden de los encabezados es semánticamente correcto",
146
+ "help": "El nivel de encabezados solo debería incrementarse en 1"
147
+ },
148
+ "hidden-content": {
149
+ "description": "Informa a los usuarios sobre contenido oculto.",
150
+ "help": "El contenido oculto de la página no se puede analizar"
151
+ },
152
+ "html-has-lang": {
153
+ "description": "Garantiza que cada documento HTML tiene un atributo lang",
154
+ "help": "El elemento <html> debe tener un atributo lang"
155
+ },
156
+ "html-lang-valid": {
157
+ "description": "Garantiza que el atributo lang del elemento <html> tiene un valor válido",
158
+ "help": "El elemento <html> debe tener un valor válido para el atributo lang"
159
+ },
160
+ "html-xml-lang-mismatch": {
161
+ "description": "Garantizar que en los elementos HTML con atributos tanto lang como xml:lang válidos haya concordancia en el idioma base de la página",
162
+ "help": "Los elementos HTML con lang y xml:lang deben tener el mismo idioma base"
163
+ },
164
+ "image-alt": {
165
+ "description": "Garantiza que los elementos <img> tienen texto alternativo o un rol de none o presentation",
166
+ "help": "Las imágenes deben tener texto alternativo"
167
+ },
168
+ "image-redundant-alt": {
169
+ "description": "Garantiza que la alternativa a la imagen no se repite como texto",
170
+ "help": "El texto alternativo de las imágenes no debe repetirse como texto"
171
+ },
172
+ "input-button-name": {
173
+ "description": "Garantizar que los 'input buttons' tienen texto discernible",
174
+ "help": "Los 'Input buttons' deben tener texto discernible"
175
+ },
176
+ "input-image-alt": {
177
+ "description": "Garantiza que los elementos <input type=\"image\"> tienen texto alternativo",
178
+ "help": "Los 'image buttons' deben tener texto alternativo"
179
+ },
180
+ "label-content-name-mismatch": {
181
+ "description": "Garantiza que, en los elementos etiquetados mediante su contenido, su texto visible debe formar parte de su nombre accesible",
182
+ "help": "Los elementos deben tener su texto visible como parte de su nombre accesible"
183
+ },
184
+ "label-title-only": {
185
+ "description": "Garantiza que cada elemento de formulario no está etiquetado únicamente mediante los atributos title o aria-describedby ",
186
+ "help": "Los elementos de formulario deben tener una etiqueta visible"
187
+ },
188
+ "label": {
189
+ "description": "Garantiza que cada elemento de formulario tiene una etiqueta",
190
+ "help": "Los elementos de formulario deben tener etiquetas"
191
+ },
192
+ "landmark-banner-is-top-level": {
193
+ "description": "Garantiza que el punto de referencia banner está en el nivel superior",
194
+ "help": "El punto de referencia banner no debe estar contenido en otro punto de referencia"
195
+ },
196
+ "landmark-complementary-is-top-level": {
197
+ "description": "Garantiza que el punto de referencia complementary o aside está en el nivel superior",
198
+ "help": "Aside no debe estar contenido en otro punto de referencia"
199
+ },
200
+ "landmark-contentinfo-is-top-level": {
201
+ "description": "Garantiza que el punto de referencia contentinfo está en el nivel superior",
202
+ "help": "El punto de referencia contentinfo no debe estar contenido en otro punto de referencia"
203
+ },
204
+ "landmark-main-is-top-level": {
205
+ "description": "Garantiza que el punto de referencia main está en el nivel superior",
206
+ "help": "El punto de referencia main no debe estar contenido en otro punto de referencia"
207
+ },
208
+ "landmark-no-duplicate-banner": {
209
+ "description": "Garantiza que el documento tiene, como mucho, un punto de referencia banner",
210
+ "help": "El documento no debe tener más de un punto de referencia banner"
211
+ },
212
+ "landmark-no-duplicate-contentinfo": {
213
+ "description": "Garantiza que el documento tiene, como mucho, un punto de referencia contentinfo",
214
+ "help": "El documento no debe tener más de un punto de referencia contentinfo"
215
+ },
216
+ "landmark-one-main": {
217
+ "description": "Garantiza que el documento solo tiene un punto de referencia main y que cada marco incorporado en la página tiene, como mucho, un punto de referencia main",
218
+ "help": "El documento debe tener un punto de referencia main"
219
+ },
220
+ "landmark-unique": {
221
+ "help": "Garantiza que los puntos de referencia son únicos",
222
+ "description": "Los puntos de referencia deben tener una única combinación de role o role/label/title (es decir, un nombre accesible único)"
223
+ },
224
+ "link-in-text-block": {
225
+ "description": "Los enlaces pueden distinguirse sin depender del color",
226
+ "help": "Los enlaces deben distinguirse del texto adyacente por un medio que no dependa del color"
227
+ },
228
+ "link-name": {
229
+ "description": "Garantiza que los enlaces tienen texto discernible",
230
+ "help": "Los enlaces deben tener texto discernible"
231
+ },
232
+ "list": {
233
+ "description": "Garantiza que las listas están estructuradas correctamente",
234
+ "help": "<ul> y <ol> solo deben contener directamente elementos <li>, <script> o <template>"
235
+ },
236
+ "listitem": {
237
+ "description": "Garantiza que los elementos <li> se utilizan semánticamente",
238
+ "help": "Los elementos <li> deben estar contenidos en un <ul> o un <ol>"
239
+ },
240
+ "marquee": {
241
+ "description": "Garantiza que no se usan elementos <marquee>",
242
+ "help": "Los elementos <marquee> están obsoletos y no deben usarse"
243
+ },
244
+ "meta-refresh": {
245
+ "description": "Garantiza que no se usa <meta http-equiv=\"refresh\">",
246
+ "help": "El refresco programado no debe existir"
247
+ },
248
+ "meta-viewport-large": {
249
+ "description": "Garantizar que <meta name=\"viewport\"> puede ampliarse en grado significativo",
250
+ "help": "Los usuarios deben poder hacer zum y ampliar el texto hasta 500%"
251
+ },
252
+ "meta-viewport": {
253
+ "description": "Garantiza que <meta name=\"viewport\"> no impide la ampliación y el zum en el texto",
254
+ "help": "No debe impedirse el zum y la ampliación"
255
+ },
256
+ "object-alt": {
257
+ "description": "Garantiza que los elementos <object> tienen texto alternativo",
258
+ "help": "Los elementos <object> deben tener texto alternativo"
259
+ },
260
+ "p-as-heading": {
261
+ "description": "Garantizar que los elementos p no se usan para diseñar encabezados",
262
+ "help": "No se usa texto en negrita, cursiva o tamaño de fuente para dar estilo de encabezados a elementos p"
263
+ },
264
+ "page-has-heading-one": {
265
+ "description": "Garantizar que la página, o al menos uno de sus marcos, contiene un encabezado de nivel 1",
266
+ "help": "La página debe contener un encabezado de nivel 1"
267
+ },
268
+ "region": {
269
+ "description": "Garantiza que todo el contenido de la página está incluido en puntos de referencia",
270
+ "help": "Todo el contenido de la página debe estar incluido en puntos de referencia"
271
+ },
272
+ "role-img-alt": {
273
+ "description": "Garantiza que los elementos [role='img'] tienen texto alternativo",
274
+ "help": "Los elementos [role='img'] tienen un texto alternativo"
275
+ },
276
+ "scope-attr-valid": {
277
+ "description": "Garantiza que el atributo scope se usa correctamente en las tablas",
278
+ "help": "El atributo scope debería usarse correctamente"
279
+ },
280
+ "scrollable-region-focusable": {
281
+ "description": "Los elementos que tienen contenido que puede desplazarse verticalmente (en 'scroll') deberían ser accesibles mediante el teclado",
282
+ "help": "Asegurar que la región de desplazamiento vertical ('scroll') tiene acceso por teclado"
283
+ },
284
+ "server-side-image-map": {
285
+ "description": "Garantiza que no se usan mapas de imágenes del lado del servidor",
286
+ "help": "No deben usarse mapas de imágenes del lado del servidor"
287
+ },
288
+ "skip-link": {
289
+ "description": "Garantizar que todos los enlaces de salto ('skip') tienen un destino que admite el foco",
290
+ "help": "El destino del enlace de salto ('skip') debería existir y admitir el foco"
291
+ },
292
+ "tabindex": {
293
+ "description": "Garantiza que los valores del atributo tabindex no son mayores que 0",
294
+ "help": "Los elementos no deberían tener un tabindex mayor que 0"
295
+ },
296
+ "table-duplicate-name": {
297
+ "description": "Garantizar que las tablas no tienen el mismo summary y caption",
298
+ "help": "El elemento <caption> no debería contener el mismo texto que el atributo summary"
299
+ },
300
+ "table-fake-caption": {
301
+ "description": "Garantizar que las tablas con título usan el elemento <caption>.",
302
+ "help": "Las celdas de datos o de encabezados no deberían usarse para dar título a una tabla de datos."
303
+ },
304
+ "td-has-header": {
305
+ "description": "Garantizar que cada celda de datos no vacía de una tabla grande tiene uno o más encabezados de tabla",
306
+ "help": "Todos los elementos td no vacíos de una tabla mayor que 3 por 3 deben tener un encabezado de tabla asociado"
307
+ },
308
+ "td-headers-attr": {
309
+ "description": "Garantizar que cada celda que use los encabezados en una tabla haga referencia a otra celda de esa tabla",
310
+ "help": "Todas las celdas de un elemento table que usen el atributo headers deben hacer referencia solo a otras celdas de esa misma tabla"
311
+ },
312
+ "th-has-data-cells": {
313
+ "description": "Garantizar que cada encabezado de tabla en una tabla de datos hace referencia a celdas de datos",
314
+ "help": "Todos los elementos th y elementos con role=columnheader/rowheader deben tener las celdas de datos que describen"
315
+ },
316
+ "valid-lang": {
317
+ "description": "Garantiza que los atributos lang tienen valores válidos",
318
+ "help": "El atributo lang debe tener un valor válido"
319
+ },
320
+ "video-caption": {
321
+ "description": "Garantiza que los elementos <video> tienen subtítulos",
322
+ "help": "Los elementos <video> deben tener subtítulos"
323
+ }
324
+ },
325
+ "checks": {
326
+ "abstractrole": {
327
+ "pass": "No se usan 'abstract roles'",
328
+ "fail": "Los 'abstract roles' no se pueden usar directamente"
329
+ },
330
+ "aria-allowed-attr": {
331
+ "pass": "Los atributos ARIA se usan correctamente para el rol definido",
332
+ "fail": {
333
+ "singular": "En ARIA, atributos no están permitidos : ${data.values}",
334
+ "plural": "En ARIA, atributono está permitido : ${data.values}"
335
+ }
336
+ },
337
+ "aria-allowed-role": {
338
+ "pass": "El rol ARIA está permitido para el elemento proporcionado",
339
+ "fail": {
340
+ "singular": "En ARIA, roles ${data.values} no están permitidos para el elemento proporcionado",
341
+ "plural": "En ARIA, role ${data.values} no está permitido para el elemento proporcionado"
342
+ },
343
+ "incomplete": {
344
+ "singular": "En ARIA, hay que eliminar roles ${data.values} cuando el elemento se haga visible, ya que no están permitidos para el elemento",
345
+ "plural": "En ARIA, hay que eliminar role ${data.values} cuando el elemento se haga visible, ya que no está permitido para el elemento"
346
+ }
347
+ },
348
+ "aria-hidden-body": {
349
+ "pass": "No hay ningún atributo aria-hidden presente en el 'body' del documento",
350
+ "fail": "aria-hidden=true no debe estar presente en el 'body' del documento"
351
+ },
352
+ "aria-errormessage": {
353
+ "pass": "Usa una técnica admitida para aria-errormessage",
354
+ "fail": {
355
+ "singular": "En aria-errormessage, valores ${data.values}`, se debe usar una técnica para anunciar el mensaje (p. ej., aria-live, aria-describedby, role=alert, etc.)",
356
+ "plural": "En aria-errormessage, valor ${data.values}`, se debe usar una técnica para anunciar el mensaje (p. ej., aria-live, aria-describedby, role=alert, etc.)"
357
+ }
358
+ },
359
+ "has-widget-role": {
360
+ "pass": "El elemento tiene un rol de widget.",
361
+ "fail": "El elemento no tiene un rol de widget."
362
+ },
363
+ "invalidrole": {
364
+ "pass": "El rol ARIA es válido",
365
+ "fail": "El rol debe ser uno de los roles ARIA válidos"
366
+ },
367
+ "no-implicit-explicit-label": {
368
+ "pass": "No hay discordancia entre un <label> y el nombre accesible",
369
+ "incomplete": "Comprobar que el <label> no necesita ser parte del ARIA ${data} para el nombre del campo"
370
+ },
371
+ "aria-required-attr": {
372
+ "pass": "Todos los atributos ARIA requeridos están presentes",
373
+ "fail": {
374
+ "singular": "Atributos requeridos no presentes: ${data.values}",
375
+ "plural": "Atributo requerido no presente: ${data.values}"
376
+ }
377
+ },
378
+ "aria-required-children": {
379
+ "pass": "Los hijos ARIA requeridos están presentes",
380
+ "fail": {
381
+ "singular": "Rol de hijos requerido en ARIA no presente: ${data.values}",
382
+ "plural": "Rol de hijo requerido en ARIA no presente: ${data.values}"
383
+ },
384
+ "incomplete": {
385
+ "singular": "Esperando que se añada rol ARIA para hijos: ${data.values}",
386
+ "plural": "Esperando que se añada rol ARIA para hijo: ${data.values}"
387
+ }
388
+ },
389
+ "aria-required-parent": {
390
+ "pass": "Rol de padre requerido en ARIA presente",
391
+ "fail": {
392
+ "singular": "Rol de ARIA requerido para padre s no presente: ${data.values}",
393
+ "plural": "Rol de ARIA requerido para padre no presente: ${data.values}"
394
+ }
395
+ },
396
+ "aria-unsupported-attr": {
397
+ "pass": "El atributo ARIA está admitido",
398
+ "fail": "El atributo ARIA no está ampliamente admitido en lectores de pantalla y tecnologías de apoyo: ${data.values}"
399
+ },
400
+ "unsupportedrole": {
401
+ "pass": "El rol ARIA está admitido",
402
+ "fail": "El rol usado no está ampliamente admitido en lectores de pantalla y tecnologías de apoyo: ${data.values}"
403
+ },
404
+ "aria-valid-attr-value": {
405
+ "pass": "Los valores de los atributos ARIA son válidos",
406
+ "fail": {
407
+ "singular": "Valores no válidos para atributo ARIA: ${data.values}",
408
+ "plural": "Valor no válido para atributo ARIA: ${data.values}"
409
+ },
410
+ "incomplete": {
411
+ "singular": "Atributos ARIA ID de elemento no existe en la página: ${data.values}",
412
+ "plural": "Atributo ARIA ID de elemento no existe en la página: ${data.values}"
413
+ }
414
+ },
415
+ "aria-valid-attr": {
416
+ "pass": {
417
+ "singular": "Nombres de atributos ARIA válidos",
418
+ "plural": "Nombrede atributo ARIA válido"
419
+ },
420
+ "fail": {
421
+ "singular": "Nombres de atributos ARIA no válidos: ${data.values}",
422
+ "plural": "Nombre de atributo ARIA no válido: ${data.values}"
423
+ }
424
+ },
425
+ "valid-scrollable-semantics": {
426
+ "pass": "El elemento tiene una semántica válida para un elemento en orden de foco.",
427
+ "fail": "El elemento tiene una semántica no válida para un elemento en orden de foco."
428
+ },
429
+ "color-contrast": {
430
+ "pass": "El elemento tiene un contraste de color suficiente de ${data.contrastRatio}",
431
+ "fail": "El elemento tiene un contraste de color insuficiente de ${data.contrastRatio} (color de primer plano: ${data.fgColor}, color de fondo: ${data.bgColor}, tamaño de fuente: ${data.fontSize}, grosor de fuente: ${data.fontWeight}). Ratio de contraste esperado: ${data.expectedContrastRatio}",
432
+ "incomplete": {
433
+ "bgImage": "El color de fondo del elemento no se pudo determinar debido a una imagen de fondo",
434
+ "bgGradient": "El color de fondo del elemento no se pudo determinar debido a un degradado de fondo",
435
+ "imgNode": "El color de fondo del elemento no se pudo determinar porque el elemento contiene un nodo de imagen",
436
+ "bgOverlap": "El color de fondo no se pudo determinar porque tiene otro elemento superpuesto",
437
+ "fgAlpha": "El color de fondo no se pudo determinar debido a una transparencia alfa",
438
+ "elmPartiallyObscured": "El color de fondo no se pudo determinar porque está parcialmente oculto por otro elemento",
439
+ "elmPartiallyObscuring": "El color de fondo del elemento no se pudo determinar porque se superpone parcialmente a otros elementos",
440
+ "outsideViewport": "El color de fondo del elemento no se pudo determinar porque está fuera de la ventana gráfica ('viewport')",
441
+ "equalRatio": "El elemento tiene una ratio de contraste 1:1 con el fondo",
442
+ "shortTextContent": "El contenido del elemento es demasiado corto para determinar si es contenido de texto propiamente dicho",
443
+ "default": "Imposible determinar la ratio de contraste"
444
+ }
445
+ },
446
+ "color-contrast-enhanced": {
447
+ "pass": "El elemento tiene un contraste de color suficiente de ${data.contrastRatio}",
448
+ "fail": "El elemento tiene un contraste de color insuficiente de ${data.contrastRatio} (color de primer plano: ${data.fgColor}, color de fondo: ${data.bgColor}, tamaño de fuente: ${data.fontSize}, grosor de fuente: ${data.fontWeight}). Ratio de contraste esperado: ${data.expectedContrastRatio}",
449
+ "incomplete": {
450
+ "bgImage": "El color de fondo del elemento no se pudo determinar debido a una imagen de fondo",
451
+ "bgGradient": "El color de fondo del elemento no se pudo determinar debido a un degradado de fondo",
452
+ "imgNode": "El color de fondo del elemento no se pudo determinar porque el elemento contiene un nodo de imagen",
453
+ "bgOverlap": "El color de fondo no se pudo determinar porque tiene otro elemento superpuesto",
454
+ "fgAlpha": "El color de fondo no se pudo determinar debido a una transparencia alfa",
455
+ "elmPartiallyObscured": "El color de fondo no se pudo determinar porque está parcialmente oculto por otro elemento",
456
+ "elmPartiallyObscuring": "El color de fondo del elemento no se pudo determinar porque se superpone parcialmente a otros elementos",
457
+ "outsideViewport": "El color de fondo del elemento no se pudo determinar porque está fuera de la ventana gráfica ('viewport')",
458
+ "equalRatio": "El elemento tiene una ratio de contraste 1:1 con el fondo",
459
+ "shortTextContent": "El contenido del elemento es demasiado corto para determinar si es contenido de texto propiamente dicho",
460
+ "default": "Imposible determinar la ratio de contraste"
461
+ }
462
+ },
463
+ "link-in-text-block": {
464
+ "pass": "Los enlaces se pueden distinguir respecto al texto adyacente de forma ajena al color",
465
+ "fail": "Es necesario distinguir los enlaces respecto al texto adyacente de una forma ajena al color",
466
+ "incomplete": {
467
+ "bgContrast": "No se pudo determinar la ratio de contraste del elemento. Comprobar si existe un estilo hover/focus distinto",
468
+ "bgImage": "La ratio de contraste del elemento no se pudo determinar debido a una imagen de fondo",
469
+ "bgGradient": "La ratio de contraste del elemento no se pudo determinar debido a un degradado de fondo",
470
+ "imgNode": "La ratio de contraste del elemento no se pudo determinar porque el elemento contiene un nodo de imagen",
471
+ "bgOverlap": "La ratio de contraste del elemento no se pudo determinar debido a superposición de elementos",
472
+ "default": "Imposible determinar la ratio de contraste"
473
+ }
474
+ },
475
+ "autocomplete-appropriate": {
476
+ "pass": "el valor de autocomplete está en un elemento apropiado",
477
+ "fail": "el valor de autocomplete es inapropiado para este tipo de input"
478
+ },
479
+ "autocomplete-valid": {
480
+ "pass": "el atributo autocomplete está formateado correctamente",
481
+ "fail": "el atributo autocomplete está formateado incorrectamente"
482
+ },
483
+ "accesskeys": {
484
+ "pass": "El valor del atributo accesskey es único",
485
+ "fail": "El documento tiene múltiples elementos con el mismo accesskey"
486
+ },
487
+ "focusable-content": {
488
+ "pass": "El elemento contiene elementos que admiten el foco",
489
+ "fail": "El elemento debería tener contenido que admita el foco"
490
+ },
491
+ "focusable-disabled": {
492
+ "pass": "Dentro del elemento no hay elementos que admitan el foco",
493
+ "fail": "El contenido que admita el foco debería ser desactivado o eliminado del DOM"
494
+ },
495
+ "focusable-element": {
496
+ "pass": "El elemento admite el foco",
497
+ "fail": "El elemento debería admitir el foco"
498
+ },
499
+ "focusable-no-name": {
500
+ "pass": "El elemento no está en orden de tabulación o tiene texto accesible",
501
+ "fail": "El elemento está en orden de tabulación y no tiene texto accesible"
502
+ },
503
+ "focusable-not-tabbable": {
504
+ "pass": "Dentro del elemento no hay elementos que admitan el foco",
505
+ "fail": "El contenido que admita el foco debería tener tabindex='-1' o ser eliminado del DOM"
506
+ },
507
+ "landmark-is-top-level": {
508
+ "pass": "El punto de referencia ${data.role} está en el nivel superior.",
509
+ "fail": "El punto de referencia ${data.role} está contenido en otro punto de referencia."
510
+ },
511
+ "page-has-heading-one": {
512
+ "pass": "La página tiene al menos un encabezado de nivel 1",
513
+ "fail": "La página debe tener un encabezado de nivel 1"
514
+ },
515
+ "page-has-main": {
516
+ "pass": "El documento tiene al menos un punto de referencia main",
517
+ "fail": "El documento no tiene punto de referencia main"
518
+ },
519
+ "page-no-duplicate-banner": {
520
+ "pass": "El documento no tiene más de un punto de referencia banner",
521
+ "fail": "El documento tiene más de un punto de referencia banner"
522
+ },
523
+ "page-no-duplicate-contentinfo": {
524
+ "pass": "El documento no tiene más de un punto de referencia contentinfo",
525
+ "fail": "El documento tiene más de un punto de referencia contentinfo"
526
+ },
527
+ "page-no-duplicate-main": {
528
+ "pass": "El documento no tiene más de un punto de referencia main",
529
+ "fail": "El documento tiene más de un punto de referencia main"
530
+ },
531
+ "tabindex": {
532
+ "pass": "El elemento no tiene un tabindex mayor que 0",
533
+ "fail": "El elemento tiene un tabindex mayor que 0"
534
+ },
535
+ "alt-space-value": {
536
+ "pass": "El elemento tiene un valor válido para el atributo alt",
537
+ "fail": "El elemento tiene un atributo alt que contiene solo un carácter de espacio, que no es ignorado por todos los lectores de pantalla"
538
+ },
539
+ "duplicate-img-label": {
540
+ "pass": "El elemento no duplica texto existente en el texto alternativo de <img>",
541
+ "fail": "El elemento contiene un elemento <img> con texto alternativo que duplica texto existente"
542
+ },
543
+ "explicit-label": {
544
+ "pass": "El elemento de formulario tiene un <label> explícito",
545
+ "fail": "El elemento de formulario no tiene un <label> explícito"
546
+ },
547
+ "help-same-as-label": {
548
+ "pass": "El texto de ayuda (title o aria-describedby) no duplica el texto de label",
549
+ "fail": "El texto de ayuda (title o aria-describedby) es el mismo que el texto de label"
550
+ },
551
+ "hidden-explicit-label": {
552
+ "pass": "El elemento de formulario tiene un <label> explícito visible",
553
+ "fail": "El elemento de formulario tiene un <label> explícito oculto"
554
+ },
555
+ "implicit-label": {
556
+ "pass": "El elemento de formulario tiene un <label> implícito ('envuelto')",
557
+ "fail": "El elemento de formulario no tiene un <label> implícito ('envuelto')"
558
+ },
559
+ "label-content-name-mismatch": {
560
+ "pass": "El elemento contiene texto visible como parte de su nombre accesible",
561
+ "fail": "El texto contenido en el elemento no está incluido en el nombre accesible"
562
+ },
563
+ "multiple-label": {
564
+ "pass": "El campo de formulario no tiene múltiples elementos label",
565
+ "fail": "Múltiples elementos label no son ampliamente admitidos en las tecnologías de apoyo"
566
+ },
567
+ "title-only": {
568
+ "pass": "El elemento de formulario no usa únicamente el atributo title para su etiqueta",
569
+ "fail": "Solo se usó title para generar la etiqueta de un elemento de formulario"
570
+ },
571
+ "landmark-is-unique": {
572
+ "pass": "Los puntos de referencia deben tener una combinación única de role o role/label/title (es decir, un nombre accesible único)",
573
+ "fail": "El punto de referencia debe tener un aria-label, aria-labelledby o title único para que los puntos de referencia sean distinguibles"
574
+ },
575
+ "has-lang": {
576
+ "pass": "El elemento <html> tiene un atributo lang",
577
+ "fail": "El elemento <html> no tiene un atributo lang"
578
+ },
579
+ "valid-lang": {
580
+ "pass": "El valor del atributo lang está incluido en la lista de idiomas válidos",
581
+ "fail": "Valor del atributo lang no incluido en la lista de idiomas válidos"
582
+ },
583
+ "xml-lang-mismatch": {
584
+ "pass": "Los atributos lang y xml:lang tienen el mismo idioma base",
585
+ "fail": "Los atributos lang y xml:lang no tienen el mismo idioma base"
586
+ },
587
+ "dlitem": {
588
+ "pass": "El elemento de lista de descripción tiene un elemento <dl> padre",
589
+ "fail": "El elemento de lista de descripción no tiene un elemento <dl> padre"
590
+ },
591
+ "listitem": {
592
+ "pass": "El elemento de lista tiene un elemento padre <ul>, <ol> o role=\"list\"",
593
+ "fail": "El elemento de lista no tiene un elemento padre <ul>, <ol> o role=\"list\""
594
+ },
595
+ "only-dlitems": {
596
+ "pass": "El elemento de lista solo tiene hijos directos que están permitidos dentro de elementos <dt> o <dd>",
597
+ "fail": "El elemento de lista tiene hijos directos que no están permitidos dentro de elementos <dt> o <dd>"
598
+ },
599
+ "only-listitems": {
600
+ "pass": "El elemento de lista solo tiene hijos directos que están permitidos dentro de elementos <li>",
601
+ "fail": "El elemento de lista tiene hijos directos que no están permitidos dentro de elementos <li>"
602
+ },
603
+ "structured-dlitems": {
604
+ "pass": "Cuando no está vacío, el elemento tiene tanto elementos <dt> como <dd>",
605
+ "fail": "Cuando no está vacío, el elemento no tiene al menos un elemento <dt> seguido por, al menos, un elemento <dd>"
606
+ },
607
+ "caption": {
608
+ "pass": "El elemento multimedia tiene una pista de subtítulos",
609
+ "incomplete": "Comprobar que hay disponibles subtítulos para el elemento"
610
+ },
611
+ "frame-tested": {
612
+ "pass": "El marco incorporado fue probado con axe-core",
613
+ "fail": "El marco incorporado no se pudo probar con axe-core",
614
+ "incomplete": "El marco incorporado aún tiene que probarse con axe-core"
615
+ },
616
+ "css-orientation-lock": {
617
+ "pass": "La pantalla es manejable y no existe bloqueo de orientación",
618
+ "fail": "Se aplica bloqueo de orientación CSS y hace que la pantalla sea inmanejable",
619
+ "incomplete": "No se puede determinar si hay bloqueo de orientación CSS"
620
+ },
621
+ "meta-viewport-large": {
622
+ "pass": "La etiqueta <meta> no impide un zum significativo en dispositivos móviles",
623
+ "fail": "La etiqueta <meta> limita el zum en dispositivos móviles"
624
+ },
625
+ "meta-viewport": {
626
+ "pass": "La etiqueta <meta> no impide el zum en dispositivos móviles",
627
+ "fail": "${data} en la etiqueta <meta> impide el zum en dispositivos móviles"
628
+ },
629
+ "header-present": {
630
+ "pass": "La página tiene un 'header'",
631
+ "fail": "La página no tiene un 'header'"
632
+ },
633
+ "heading-order": {
634
+ "pass": "Horden de encabezados válido",
635
+ "fail": "Orden de encabezados no válido"
636
+ },
637
+ "internal-link-present": {
638
+ "pass": "Encontrado enlace de salto ('skip') válido",
639
+ "fail": "No se han encontrado enlaces de salto ('skip') válidos"
640
+ },
641
+ "landmark": {
642
+ "pass": "La página tiene una región punto de referencia",
643
+ "fail": "La página no tiene una región punto de referencia"
644
+ },
645
+ "meta-refresh": {
646
+ "pass": "La etiqueta <meta> no refresca la página inmediatamente",
647
+ "fail": "La etiqueta <meta> fuerza el refresco programado de la página"
648
+ },
649
+ "p-as-heading": {
650
+ "pass": "Los elementos <p> no se han diseñado como encabezados",
651
+ "fail": "Deberían usarse elementos de encabezado en vez de elementos <p> con estilos"
652
+ },
653
+ "region": {
654
+ "pass": "Todo el contenido de la página está incluido en puntos de referencia",
655
+ "fail": "La página tiene contenido no incluido en puntos de referencia"
656
+ },
657
+ "skip-link": {
658
+ "pass": "Existe el destino del enlace de salto ('skip')",
659
+ "incomplete": "El destino del enlace de salto ('skip') debería volverse visible en la activación",
660
+ "fail": "No hay destino para el enlace de salto ('skip')"
661
+ },
662
+ "unique-frame-title": {
663
+ "pass": "El atributo title del elemento es único",
664
+ "fail": "El atributo title del elemento no es único"
665
+ },
666
+ "duplicate-id-active": {
667
+ "pass": "El documento no tiene elementos activos que compartan el mismo atributo id",
668
+ "fail": "El documento tiene elementos activos con el mismo atributo id: ${data}"
669
+ },
670
+ "duplicate-id-aria": {
671
+ "pass": "El documento no tiene elementos referidos con ARIA o etiquetas que compartan el mismo atributo id",
672
+ "fail": "El documento tiene múltiples elementos referidos con ARIA con el mismo atributo id: ${data}"
673
+ },
674
+ "duplicate-id": {
675
+ "pass": "El documento no tiene elementos estáticos que compartan el mismo atributo id",
676
+ "fail": "El documento tiene múltiples elementos estáticos con el mismo atributo id"
677
+ },
678
+ "aria-label": {
679
+ "pass": "El atributo aria-label existe y no está vacío",
680
+ "fail": "El atributo aria-label no existe o está vacío"
681
+ },
682
+ "aria-labelledby": {
683
+ "pass": "El atributo aria-labelledby existe y hace referencia a elementos visibles para lectores de pantalla",
684
+ "fail": "El atributo aria-labelledby no existe, hace referencia a elementos inexistentes o hace referencia a elementos vacíos"
685
+ },
686
+ "avoid-inline-spacing": {
687
+ "pass": "No se han especificado estilos 'inline' con '!important' que afecten al espaciado de texto",
688
+ "fail": {
689
+ "singular": "Eliminar '!important' de inline styles ${data.values}, porque su anulación no está admitida en la mayoría de navegadores",
690
+ "plural": "Eliminar '!important' de inline style ${data.values}, porque su anulación no está admitida en la mayoría de navegadores"
691
+ }
692
+ },
693
+ "button-has-visible-text": {
694
+ "pass": "El elemento tiene texto interno visible para lectores de pantalla",
695
+ "fail": "El elemento no tiene texto interno visible para lectores de pantalla"
696
+ },
697
+ "doc-has-title": {
698
+ "pass": "El documento tiene un elemento <title> no vacío",
699
+ "fail": "El documento no tiene un elemento <title> no vacío"
700
+ },
701
+ "exists": {
702
+ "pass": "El elemento no existe",
703
+ "fail": "El elemento existe"
704
+ },
705
+ "has-alt": {
706
+ "pass": "El elemento tiene un atributo alt",
707
+ "fail": "El elemento no tiene un atributo alt"
708
+ },
709
+ "has-visible-text": {
710
+ "pass": "El elemento tiene texto visible para lectores de pantalla",
711
+ "fail": "El elemento no tiene texto visible para lectores de pantalla"
712
+ },
713
+ "is-on-screen": {
714
+ "pass": "El elemento no es visible",
715
+ "fail": "El elemento es visible"
716
+ },
717
+ "non-empty-alt": {
718
+ "pass": "El elemento tiene un atributo alt no vacío",
719
+ "fail": "El elemento no tiene atributo alt o el atributo alt está vacío"
720
+ },
721
+ "non-empty-if-present": {
722
+ "pass": {
723
+ "default": "El elemento no tiene un atributo de valor",
724
+ "has-label": "El elemento tiene un atributo de valor no vacío"
725
+ },
726
+ "fail": "El elemento tiene un atributo de valor y el atributo de valor está vacío"
727
+ },
728
+ "non-empty-title": {
729
+ "pass": "El elemento tiene un atributo title",
730
+ "fail": "El elemento no tiene atributo title o el atributo title está vacío"
731
+ },
732
+ "non-empty-value": {
733
+ "pass": "El elemento tiene un atributo de valor no vacío",
734
+ "fail": "El elemento no tiene un atributo de valor o el atributo de valor está vacío"
735
+ },
736
+ "role-none": {
737
+ "pass": "La semántica predeterminada del elemento se anuló mediante role=\"none\"",
738
+ "fail": "La semántica predeterminada del elemento no se anuló mediante role=\"none\""
739
+ },
740
+ "role-presentation": {
741
+ "pass": "La semántica predeterminada del elemento se anuló mediante role=\"presentation\"",
742
+ "fail": "La semántica predeterminada del elemento no se anuló mediante role=\"presentation\""
743
+ },
744
+ "caption-faked": {
745
+ "pass": "La primera fila de una tabla no se usa como título ('caption')",
746
+ "fail": "La primera fila de la tabla debería ser un título ('caption') en vez de una celda de tabla"
747
+ },
748
+ "html5-scope": {
749
+ "pass": "El atributo scope solo se usa en elementos de encabezados de tabla (<th>)",
750
+ "fail": "En HTML 5, los atributos scope solo se pueden usar en elementos de encabezados de tabla (<th>)"
751
+ },
752
+ "same-caption-summary": {
753
+ "pass": "El contenido del atributo summary y de <caption> no están duplicados",
754
+ "fail": "El contenido del atributo summary y del elemento <caption> son idénticos"
755
+ },
756
+ "scope-value": {
757
+ "pass": "El atributo scope se usa correctamente",
758
+ "fail": "El valor del atributo scope solo puede ser 'row' o 'col'"
759
+ },
760
+ "td-has-header": {
761
+ "pass": "Todas las celdas de datos no vacías tienen encabezados de tabla",
762
+ "fail": "Algunas celdas de datos no vacías no tienen encabezados de tabla"
763
+ },
764
+ "td-headers-attr": {
765
+ "pass": "El atributo headers se usa exclusivamente para hacer referencia a otras celdas de la tabla",
766
+ "fail": "El atributo headers no se usa exclusivamente para hacer referencia a otras celdas de la tabla"
767
+ },
768
+ "th-has-data-cells": {
769
+ "pass": "Todas las celdas de encabezados de tabla hacen referencia a celdas de datos",
770
+ "fail": "No todas las celdas de encabezados de tabla hacen referencia a celdas de datos",
771
+ "incomplete": "Hay celdas de datos de la tabla ausentes o vacías"
772
+ },
773
+ "hidden-content": {
774
+ "pass": "Se ha analizado todo el contenido de la página.",
775
+ "fail": "Hubo problemas al analizar el contenido de esta página.",
776
+ "incomplete": "Hay contenido oculto en la página que no fue analizado. Necesitarás activar la visualización de este contenido a fin de analizarlo."
777
+ }
778
+ },
779
+ "failureSummaries": {
780
+ "any": {
781
+ "failureMessage": "Corregir cualquiera de las siguientes incidencias:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
782
+ },
783
+ "none": {
784
+ "failureMessage": "Corregir (todas) las siguientes incidencias:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
785
+ }
786
+ },
787
+ "incompleteFallbackMessage": "Corregir (todas) las siguientes incidencias:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
773
788
  }