govuk_publishing_components 30.4.1 → 30.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (651) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-core.js +20 -0
  3. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-event-tracker.js +63 -51
  4. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-link-tracker.js +8 -8
  5. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.js +11 -10
  6. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/init-ga4.js +27 -0
  7. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4.js +2 -3
  8. data/app/assets/stylesheets/govuk_publishing_components/components/_organisation-logo.scss +2 -4
  9. data/app/views/govuk_publishing_components/component_guide/show.html.erb +28 -27
  10. data/config/locales/en.yml +8 -8
  11. data/lib/govuk_publishing_components/version.rb +1 -1
  12. data/node_modules/axe-core/README.md +83 -53
  13. data/node_modules/axe-core/axe.d.ts +403 -224
  14. data/node_modules/axe-core/axe.js +23281 -21919
  15. data/node_modules/axe-core/axe.min.js +3 -3
  16. data/node_modules/axe-core/locales/da.json +795 -780
  17. data/node_modules/axe-core/locales/de.json +932 -621
  18. data/node_modules/axe-core/locales/es.json +786 -771
  19. data/node_modules/axe-core/locales/eu.json +787 -0
  20. data/node_modules/axe-core/locales/fr.json +982 -840
  21. data/node_modules/axe-core/locales/ja.json +988 -880
  22. data/node_modules/axe-core/locales/ko.json +999 -775
  23. data/node_modules/axe-core/locales/nl.json +46 -34
  24. data/node_modules/axe-core/locales/pl.json +965 -0
  25. data/node_modules/axe-core/locales/pt_BR.json +966 -880
  26. data/node_modules/axe-core/package.json +189 -145
  27. data/node_modules/axe-core/sri-history.json +312 -192
  28. data/node_modules/govuk-frontend/govuk/all.js +64 -44
  29. data/node_modules/govuk-frontend/govuk/components/accordion/_index.scss +1 -1
  30. data/node_modules/govuk-frontend/govuk/components/accordion/accordion.js +3 -13
  31. data/node_modules/govuk-frontend/govuk/components/accordion/fixtures.json +12 -12
  32. data/node_modules/govuk-frontend/govuk/components/accordion/template.njk +5 -1
  33. data/node_modules/govuk-frontend/govuk/components/character-count/fixtures.json +1 -1
  34. data/node_modules/govuk-frontend/govuk/components/details/details.js +8 -20
  35. data/node_modules/govuk-frontend/govuk/components/details/macro-options.json +6 -0
  36. data/node_modules/govuk-frontend/govuk/components/details/template.njk +1 -1
  37. data/node_modules/govuk-frontend/govuk/components/error-message/fixtures.json +9 -0
  38. data/node_modules/govuk-frontend/govuk/components/error-summary/macro-options.json +6 -0
  39. data/node_modules/govuk-frontend/govuk/components/error-summary/template.njk +2 -2
  40. data/node_modules/govuk-frontend/govuk/components/footer/fixtures.json +59 -20
  41. data/node_modules/govuk-frontend/govuk/components/footer/macro-options.json +40 -0
  42. data/node_modules/govuk-frontend/govuk/components/footer/template.njk +17 -7
  43. data/node_modules/govuk-frontend/govuk/components/header/_index.scss +14 -21
  44. data/node_modules/govuk-frontend/govuk/components/header/fixtures.json +11 -11
  45. data/node_modules/govuk-frontend/govuk/components/header/header.js +53 -11
  46. data/node_modules/govuk-frontend/govuk/components/header/macro-options.json +2 -2
  47. data/node_modules/govuk-frontend/govuk/components/header/template.njk +1 -1
  48. data/node_modules/govuk-frontend/govuk/components/input/_index.scss +9 -10
  49. data/node_modules/govuk-frontend/govuk/components/inset-text/macro-options.json +6 -0
  50. data/node_modules/govuk-frontend/govuk/components/inset-text/template.njk +1 -1
  51. data/node_modules/govuk-frontend/govuk/components/notification-banner/macro-options.json +6 -0
  52. data/node_modules/govuk-frontend/govuk/components/notification-banner/template.njk +2 -2
  53. data/node_modules/govuk-frontend/govuk/components/panel/macro-options.json +6 -0
  54. data/node_modules/govuk-frontend/govuk/components/panel/template.njk +2 -2
  55. data/node_modules/govuk-frontend/govuk/components/select/_index.scss +6 -0
  56. data/node_modules/govuk-frontend/govuk/components/select/fixtures.json +15 -1
  57. data/node_modules/govuk-frontend/govuk/components/summary-list/_index.scss +37 -10
  58. data/node_modules/govuk-frontend/govuk/components/summary-list/fixtures.json +69 -4
  59. data/node_modules/govuk-frontend/govuk/components/summary-list/template.njk +3 -3
  60. data/node_modules/govuk-frontend/govuk/components/tabs/fixtures.json +13 -13
  61. data/node_modules/govuk-frontend/govuk/components/tabs/template.njk +5 -1
  62. data/node_modules/govuk-frontend/govuk/helpers/_typography.scss +14 -7
  63. data/node_modules/govuk-frontend/govuk/overrides/_spacing.scss +56 -12
  64. data/node_modules/govuk-frontend/govuk/settings/_spacing.scss +4 -8
  65. data/node_modules/govuk-frontend/govuk/template.njk +5 -5
  66. data/node_modules/govuk-frontend/govuk-esm/components/accordion/accordion.mjs +3 -13
  67. data/node_modules/govuk-frontend/govuk-esm/components/details/details.mjs +8 -20
  68. data/node_modules/govuk-frontend/govuk-esm/components/header/header.mjs +53 -11
  69. data/node_modules/govuk-frontend/package.json +1 -1
  70. metadata +7 -584
  71. data/node_modules/axe-core/CHANGELOG.md +0 -1053
  72. data/node_modules/axe-core/CONTRIBUTING.md +0 -187
  73. data/node_modules/axe-core/bower.json +0 -40
  74. data/node_modules/axe-core/doc/API.md +0 -889
  75. data/node_modules/axe-core/doc/accessibility-supported.md +0 -33
  76. data/node_modules/axe-core/doc/act-rules-format.md +0 -37
  77. data/node_modules/axe-core/doc/aria-supported.md +0 -13
  78. data/node_modules/axe-core/doc/backwards-compatibility-doc.md +0 -94
  79. data/node_modules/axe-core/doc/check-message-template.md +0 -124
  80. data/node_modules/axe-core/doc/code-submission-guidelines.md +0 -178
  81. data/node_modules/axe-core/doc/developer-guide.md +0 -514
  82. data/node_modules/axe-core/doc/examples/chrome-debugging-protocol/README.md +0 -13
  83. data/node_modules/axe-core/doc/examples/chrome-debugging-protocol/axe-cdp.js +0 -81
  84. data/node_modules/axe-core/doc/examples/chrome-debugging-protocol/package.json +0 -11
  85. data/node_modules/axe-core/doc/examples/html-handlebars.md +0 -164
  86. data/node_modules/axe-core/doc/examples/jasmine/README.md +0 -35
  87. data/node_modules/axe-core/doc/examples/jasmine/karma.conf.js +0 -29
  88. data/node_modules/axe-core/doc/examples/jasmine/package.json +0 -21
  89. data/node_modules/axe-core/doc/examples/jasmine/spec/a11y.js +0 -36
  90. data/node_modules/axe-core/doc/examples/jest_react/README.md +0 -41
  91. data/node_modules/axe-core/doc/examples/jest_react/link.js +0 -7
  92. data/node_modules/axe-core/doc/examples/jest_react/link.test.js +0 -24
  93. data/node_modules/axe-core/doc/examples/jest_react/package.json +0 -28
  94. data/node_modules/axe-core/doc/examples/jest_react/test-helpers.js +0 -21
  95. data/node_modules/axe-core/doc/examples/jsdom/package.json +0 -15
  96. data/node_modules/axe-core/doc/examples/mocha/README.md +0 -35
  97. data/node_modules/axe-core/doc/examples/mocha/karma.conf.js +0 -29
  98. data/node_modules/axe-core/doc/examples/mocha/package.json +0 -22
  99. data/node_modules/axe-core/doc/examples/phantomjs/README.md +0 -17
  100. data/node_modules/axe-core/doc/examples/phantomjs/axe-phantom.js +0 -53
  101. data/node_modules/axe-core/doc/examples/phantomjs/package.json +0 -19
  102. data/node_modules/axe-core/doc/examples/puppeteer/README.md +0 -12
  103. data/node_modules/axe-core/doc/examples/puppeteer/axe-puppeteer.js +0 -60
  104. data/node_modules/axe-core/doc/examples/puppeteer/package.json +0 -13
  105. data/node_modules/axe-core/doc/examples/qunit/README.md +0 -37
  106. data/node_modules/axe-core/doc/examples/qunit/package.json +0 -21
  107. data/node_modules/axe-core/doc/examples/test-examples.js +0 -32
  108. data/node_modules/axe-core/doc/plugins.md +0 -123
  109. data/node_modules/axe-core/doc/projects.md +0 -48
  110. data/node_modules/axe-core/doc/rule-descriptions.md +0 -129
  111. data/node_modules/axe-core/doc/rule-development.md +0 -123
  112. data/node_modules/axe-core/doc/rule-proposal.md +0 -106
  113. data/node_modules/axe-core/lib/checks/aria/abstractrole.js +0 -10
  114. data/node_modules/axe-core/lib/checks/aria/abstractrole.json +0 -14
  115. data/node_modules/axe-core/lib/checks/aria/allowed-attr.js +0 -39
  116. data/node_modules/axe-core/lib/checks/aria/allowed-attr.json +0 -14
  117. data/node_modules/axe-core/lib/checks/aria/aria-allowed-role.js +0 -28
  118. data/node_modules/axe-core/lib/checks/aria/aria-allowed-role.json +0 -22
  119. data/node_modules/axe-core/lib/checks/aria/aria-hidden-body.js +0 -1
  120. data/node_modules/axe-core/lib/checks/aria/aria-hidden-body.json +0 -11
  121. data/node_modules/axe-core/lib/checks/aria/aria-roledescription.js +0 -14
  122. data/node_modules/axe-core/lib/checks/aria/aria-roledescription.json +0 -23
  123. data/node_modules/axe-core/lib/checks/aria/errormessage.js +0 -33
  124. data/node_modules/axe-core/lib/checks/aria/errormessage.json +0 -14
  125. data/node_modules/axe-core/lib/checks/aria/fallbackrole.js +0 -1
  126. data/node_modules/axe-core/lib/checks/aria/fallbackrole.json +0 -11
  127. data/node_modules/axe-core/lib/checks/aria/has-widget-role.js +0 -6
  128. data/node_modules/axe-core/lib/checks/aria/has-widget-role.json +0 -12
  129. data/node_modules/axe-core/lib/checks/aria/implicit-role-fallback.js +0 -6
  130. data/node_modules/axe-core/lib/checks/aria/implicit-role-fallback.json +0 -12
  131. data/node_modules/axe-core/lib/checks/aria/invalidrole.js +0 -17
  132. data/node_modules/axe-core/lib/checks/aria/invalidrole.json +0 -14
  133. data/node_modules/axe-core/lib/checks/aria/no-implicit-explicit-label.js +0 -21
  134. data/node_modules/axe-core/lib/checks/aria/no-implicit-explicit-label.json +0 -11
  135. data/node_modules/axe-core/lib/checks/aria/required-attr.js +0 -53
  136. data/node_modules/axe-core/lib/checks/aria/required-attr.json +0 -14
  137. data/node_modules/axe-core/lib/checks/aria/required-children.js +0 -154
  138. data/node_modules/axe-core/lib/checks/aria/required-children.json +0 -32
  139. data/node_modules/axe-core/lib/checks/aria/required-parent.js +0 -87
  140. data/node_modules/axe-core/lib/checks/aria/required-parent.json +0 -14
  141. data/node_modules/axe-core/lib/checks/aria/unsupportedattr.js +0 -39
  142. data/node_modules/axe-core/lib/checks/aria/unsupportedattr.json +0 -11
  143. data/node_modules/axe-core/lib/checks/aria/unsupportedrole.js +0 -1
  144. data/node_modules/axe-core/lib/checks/aria/unsupportedrole.json +0 -11
  145. data/node_modules/axe-core/lib/checks/aria/valid-attr-value.js +0 -80
  146. data/node_modules/axe-core/lib/checks/aria/valid-attr-value.json +0 -19
  147. data/node_modules/axe-core/lib/checks/aria/valid-attr.js +0 -25
  148. data/node_modules/axe-core/lib/checks/aria/valid-attr.json +0 -15
  149. data/node_modules/axe-core/lib/checks/aria/valid-scrollable-semantics.js +0 -62
  150. data/node_modules/axe-core/lib/checks/aria/valid-scrollable-semantics.json +0 -12
  151. data/node_modules/axe-core/lib/checks/color/color-contrast.js +0 -86
  152. data/node_modules/axe-core/lib/checks/color/color-contrast.json +0 -30
  153. data/node_modules/axe-core/lib/checks/color/link-in-text-block.js +0 -85
  154. data/node_modules/axe-core/lib/checks/color/link-in-text-block.json +0 -19
  155. data/node_modules/axe-core/lib/checks/forms/autocomplete-appropriate.js +0 -67
  156. data/node_modules/axe-core/lib/checks/forms/autocomplete-appropriate.json +0 -11
  157. data/node_modules/axe-core/lib/checks/forms/autocomplete-valid.js +0 -2
  158. data/node_modules/axe-core/lib/checks/forms/autocomplete-valid.json +0 -11
  159. data/node_modules/axe-core/lib/checks/forms/fieldset-after.js +0 -25
  160. data/node_modules/axe-core/lib/checks/forms/fieldset.js +0 -109
  161. data/node_modules/axe-core/lib/checks/forms/fieldset.json +0 -20
  162. data/node_modules/axe-core/lib/checks/forms/group-labelledby-after.js +0 -16
  163. data/node_modules/axe-core/lib/checks/forms/group-labelledby.js +0 -66
  164. data/node_modules/axe-core/lib/checks/forms/group-labelledby.json +0 -17
  165. data/node_modules/axe-core/lib/checks/keyboard/accesskeys-after.js +0 -19
  166. data/node_modules/axe-core/lib/checks/keyboard/accesskeys.js +0 -5
  167. data/node_modules/axe-core/lib/checks/keyboard/accesskeys.json +0 -12
  168. data/node_modules/axe-core/lib/checks/keyboard/focusable-content.js +0 -16
  169. data/node_modules/axe-core/lib/checks/keyboard/focusable-content.json +0 -11
  170. data/node_modules/axe-core/lib/checks/keyboard/focusable-disabled.js +0 -30
  171. data/node_modules/axe-core/lib/checks/keyboard/focusable-disabled.json +0 -11
  172. data/node_modules/axe-core/lib/checks/keyboard/focusable-element.js +0 -12
  173. data/node_modules/axe-core/lib/checks/keyboard/focusable-element.json +0 -11
  174. data/node_modules/axe-core/lib/checks/keyboard/focusable-modal-open.js +0 -14
  175. data/node_modules/axe-core/lib/checks/keyboard/focusable-modal-open.json +0 -11
  176. data/node_modules/axe-core/lib/checks/keyboard/focusable-no-name.js +0 -6
  177. data/node_modules/axe-core/lib/checks/keyboard/focusable-no-name.json +0 -11
  178. data/node_modules/axe-core/lib/checks/keyboard/focusable-not-tabbable.js +0 -30
  179. data/node_modules/axe-core/lib/checks/keyboard/focusable-not-tabbable.json +0 -11
  180. data/node_modules/axe-core/lib/checks/keyboard/landmark-is-top-level.js +0 -18
  181. data/node_modules/axe-core/lib/checks/keyboard/landmark-is-top-level.json +0 -11
  182. data/node_modules/axe-core/lib/checks/keyboard/page-has-elm-after.js +0 -11
  183. data/node_modules/axe-core/lib/checks/keyboard/page-has-elm.js +0 -13
  184. data/node_modules/axe-core/lib/checks/keyboard/page-has-heading-one.json +0 -15
  185. data/node_modules/axe-core/lib/checks/keyboard/page-has-main.json +0 -15
  186. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate-after.js +0 -2
  187. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate-banner.json +0 -16
  188. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate-contentinfo.json +0 -16
  189. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate-main.json +0 -15
  190. data/node_modules/axe-core/lib/checks/keyboard/page-no-duplicate.js +0 -36
  191. data/node_modules/axe-core/lib/checks/keyboard/tabindex.js +0 -6
  192. data/node_modules/axe-core/lib/checks/keyboard/tabindex.json +0 -11
  193. data/node_modules/axe-core/lib/checks/label/alt-space-value.js +0 -3
  194. data/node_modules/axe-core/lib/checks/label/alt-space-value.json +0 -11
  195. data/node_modules/axe-core/lib/checks/label/duplicate-img-label.js +0 -22
  196. data/node_modules/axe-core/lib/checks/label/duplicate-img-label.json +0 -11
  197. data/node_modules/axe-core/lib/checks/label/explicit.js +0 -15
  198. data/node_modules/axe-core/lib/checks/label/explicit.json +0 -11
  199. data/node_modules/axe-core/lib/checks/label/help-same-as-label.js +0 -23
  200. data/node_modules/axe-core/lib/checks/label/help-same-as-label.json +0 -12
  201. data/node_modules/axe-core/lib/checks/label/hidden-explicit-label.js +0 -12
  202. data/node_modules/axe-core/lib/checks/label/hidden-explicit-label.json +0 -11
  203. data/node_modules/axe-core/lib/checks/label/implicit.js +0 -7
  204. data/node_modules/axe-core/lib/checks/label/implicit.json +0 -11
  205. data/node_modules/axe-core/lib/checks/label/label-content-name-mismatch.js +0 -59
  206. data/node_modules/axe-core/lib/checks/label/label-content-name-mismatch.json +0 -15
  207. data/node_modules/axe-core/lib/checks/label/multiple-label.js +0 -39
  208. data/node_modules/axe-core/lib/checks/label/multiple-label.json +0 -11
  209. data/node_modules/axe-core/lib/checks/label/title-only.js +0 -5
  210. data/node_modules/axe-core/lib/checks/label/title-only.json +0 -11
  211. data/node_modules/axe-core/lib/checks/landmarks/landmark-is-unique-after.js +0 -23
  212. data/node_modules/axe-core/lib/checks/landmarks/landmark-is-unique.js +0 -7
  213. data/node_modules/axe-core/lib/checks/landmarks/landmark-is-unique.json +0 -12
  214. data/node_modules/axe-core/lib/checks/language/has-lang.js +0 -20
  215. data/node_modules/axe-core/lib/checks/language/has-lang.json +0 -14
  216. data/node_modules/axe-core/lib/checks/language/valid-lang.js +0 -26
  217. data/node_modules/axe-core/lib/checks/language/valid-lang.json +0 -11
  218. data/node_modules/axe-core/lib/checks/language/xml-lang-mismatch.js +0 -5
  219. data/node_modules/axe-core/lib/checks/language/xml-lang-mismatch.json +0 -11
  220. data/node_modules/axe-core/lib/checks/lists/dlitem.js +0 -23
  221. data/node_modules/axe-core/lib/checks/lists/dlitem.json +0 -11
  222. data/node_modules/axe-core/lib/checks/lists/listitem.js +0 -21
  223. data/node_modules/axe-core/lib/checks/lists/listitem.json +0 -14
  224. data/node_modules/axe-core/lib/checks/lists/only-dlitems.js +0 -42
  225. data/node_modules/axe-core/lib/checks/lists/only-dlitems.json +0 -11
  226. data/node_modules/axe-core/lib/checks/lists/only-listitems.js +0 -58
  227. data/node_modules/axe-core/lib/checks/lists/only-listitems.json +0 -14
  228. data/node_modules/axe-core/lib/checks/lists/structured-dlitems.js +0 -22
  229. data/node_modules/axe-core/lib/checks/lists/structured-dlitems.json +0 -11
  230. data/node_modules/axe-core/lib/checks/media/caption.js +0 -8
  231. data/node_modules/axe-core/lib/checks/media/caption.json +0 -11
  232. data/node_modules/axe-core/lib/checks/media/description.js +0 -8
  233. data/node_modules/axe-core/lib/checks/media/description.json +0 -11
  234. data/node_modules/axe-core/lib/checks/media/frame-tested.js +0 -28
  235. data/node_modules/axe-core/lib/checks/media/frame-tested.json +0 -15
  236. data/node_modules/axe-core/lib/checks/media/no-autoplay-audio.js +0 -93
  237. data/node_modules/axe-core/lib/checks/media/no-autoplay-audio.json +0 -15
  238. data/node_modules/axe-core/lib/checks/mobile/css-orientation-lock.js +0 -251
  239. data/node_modules/axe-core/lib/checks/mobile/css-orientation-lock.json +0 -15
  240. data/node_modules/axe-core/lib/checks/mobile/meta-viewport-large.json +0 -15
  241. data/node_modules/axe-core/lib/checks/mobile/meta-viewport-scale.js +0 -55
  242. data/node_modules/axe-core/lib/checks/mobile/meta-viewport.json +0 -14
  243. data/node_modules/axe-core/lib/checks/navigation/header-present.js +0 -4
  244. data/node_modules/axe-core/lib/checks/navigation/header-present.json +0 -11
  245. data/node_modules/axe-core/lib/checks/navigation/heading-order-after.js +0 -14
  246. data/node_modules/axe-core/lib/checks/navigation/heading-order.js +0 -15
  247. data/node_modules/axe-core/lib/checks/navigation/heading-order.json +0 -12
  248. data/node_modules/axe-core/lib/checks/navigation/identical-links-same-purpose-after.js +0 -100
  249. data/node_modules/axe-core/lib/checks/navigation/identical-links-same-purpose.js +0 -31
  250. data/node_modules/axe-core/lib/checks/navigation/identical-links-same-purpose.json +0 -12
  251. data/node_modules/axe-core/lib/checks/navigation/internal-link-present.js +0 -4
  252. data/node_modules/axe-core/lib/checks/navigation/internal-link-present.json +0 -11
  253. data/node_modules/axe-core/lib/checks/navigation/landmark.js +0 -3
  254. data/node_modules/axe-core/lib/checks/navigation/landmark.json +0 -11
  255. data/node_modules/axe-core/lib/checks/navigation/meta-refresh.js +0 -4
  256. data/node_modules/axe-core/lib/checks/navigation/meta-refresh.json +0 -11
  257. data/node_modules/axe-core/lib/checks/navigation/p-as-heading.js +0 -93
  258. data/node_modules/axe-core/lib/checks/navigation/p-as-heading.json +0 -30
  259. data/node_modules/axe-core/lib/checks/navigation/region.js +0 -107
  260. data/node_modules/axe-core/lib/checks/navigation/region.json +0 -11
  261. data/node_modules/axe-core/lib/checks/navigation/skip-link.js +0 -5
  262. data/node_modules/axe-core/lib/checks/navigation/skip-link.json +0 -12
  263. data/node_modules/axe-core/lib/checks/navigation/unique-frame-title-after.js +0 -9
  264. data/node_modules/axe-core/lib/checks/navigation/unique-frame-title.js +0 -6
  265. data/node_modules/axe-core/lib/checks/navigation/unique-frame-title.json +0 -12
  266. data/node_modules/axe-core/lib/checks/parsing/duplicate-id-active.json +0 -12
  267. data/node_modules/axe-core/lib/checks/parsing/duplicate-id-after.js +0 -8
  268. data/node_modules/axe-core/lib/checks/parsing/duplicate-id-aria.json +0 -12
  269. data/node_modules/axe-core/lib/checks/parsing/duplicate-id.js +0 -17
  270. data/node_modules/axe-core/lib/checks/parsing/duplicate-id.json +0 -12
  271. data/node_modules/axe-core/lib/checks/shared/aria-label.js +0 -2
  272. data/node_modules/axe-core/lib/checks/shared/aria-label.json +0 -11
  273. data/node_modules/axe-core/lib/checks/shared/aria-labelledby.js +0 -2
  274. data/node_modules/axe-core/lib/checks/shared/aria-labelledby.json +0 -11
  275. data/node_modules/axe-core/lib/checks/shared/avoid-inline-spacing.js +0 -18
  276. data/node_modules/axe-core/lib/checks/shared/avoid-inline-spacing.json +0 -14
  277. data/node_modules/axe-core/lib/checks/shared/button-has-visible-text.js +0 -12
  278. data/node_modules/axe-core/lib/checks/shared/button-has-visible-text.json +0 -11
  279. data/node_modules/axe-core/lib/checks/shared/doc-has-title.js +0 -2
  280. data/node_modules/axe-core/lib/checks/shared/doc-has-title.json +0 -11
  281. data/node_modules/axe-core/lib/checks/shared/exists.js +0 -1
  282. data/node_modules/axe-core/lib/checks/shared/exists.json +0 -11
  283. data/node_modules/axe-core/lib/checks/shared/has-alt.js +0 -6
  284. data/node_modules/axe-core/lib/checks/shared/has-alt.json +0 -11
  285. data/node_modules/axe-core/lib/checks/shared/has-visible-text.js +0 -1
  286. data/node_modules/axe-core/lib/checks/shared/has-visible-text.json +0 -11
  287. data/node_modules/axe-core/lib/checks/shared/is-on-screen.js +0 -4
  288. data/node_modules/axe-core/lib/checks/shared/is-on-screen.json +0 -11
  289. data/node_modules/axe-core/lib/checks/shared/non-empty-alt.js +0 -2
  290. data/node_modules/axe-core/lib/checks/shared/non-empty-alt.json +0 -11
  291. data/node_modules/axe-core/lib/checks/shared/non-empty-if-present.js +0 -15
  292. data/node_modules/axe-core/lib/checks/shared/non-empty-if-present.json +0 -14
  293. data/node_modules/axe-core/lib/checks/shared/non-empty-title.js +0 -2
  294. data/node_modules/axe-core/lib/checks/shared/non-empty-title.json +0 -11
  295. data/node_modules/axe-core/lib/checks/shared/non-empty-value.js +0 -2
  296. data/node_modules/axe-core/lib/checks/shared/non-empty-value.json +0 -11
  297. data/node_modules/axe-core/lib/checks/shared/role-none.js +0 -1
  298. data/node_modules/axe-core/lib/checks/shared/role-none.json +0 -11
  299. data/node_modules/axe-core/lib/checks/shared/role-presentation.js +0 -1
  300. data/node_modules/axe-core/lib/checks/shared/role-presentation.json +0 -11
  301. data/node_modules/axe-core/lib/checks/shared/svg-non-empty-title.js +0 -4
  302. data/node_modules/axe-core/lib/checks/shared/svg-non-empty-title.json +0 -11
  303. data/node_modules/axe-core/lib/checks/tables/caption-faked.js +0 -10
  304. data/node_modules/axe-core/lib/checks/tables/caption-faked.json +0 -11
  305. data/node_modules/axe-core/lib/checks/tables/has-caption.js +0 -1
  306. data/node_modules/axe-core/lib/checks/tables/has-caption.json +0 -12
  307. data/node_modules/axe-core/lib/checks/tables/has-summary.js +0 -1
  308. data/node_modules/axe-core/lib/checks/tables/has-summary.json +0 -12
  309. data/node_modules/axe-core/lib/checks/tables/has-th.js +0 -31
  310. data/node_modules/axe-core/lib/checks/tables/has-th.json +0 -12
  311. data/node_modules/axe-core/lib/checks/tables/headers-visible-text.js +0 -30
  312. data/node_modules/axe-core/lib/checks/tables/html5-scope.js +0 -5
  313. data/node_modules/axe-core/lib/checks/tables/html5-scope.json +0 -11
  314. data/node_modules/axe-core/lib/checks/tables/same-caption-summary.js +0 -7
  315. data/node_modules/axe-core/lib/checks/tables/same-caption-summary.json +0 -11
  316. data/node_modules/axe-core/lib/checks/tables/scope-value.js +0 -5
  317. data/node_modules/axe-core/lib/checks/tables/scope-value.json +0 -11
  318. data/node_modules/axe-core/lib/checks/tables/td-has-header.js +0 -30
  319. data/node_modules/axe-core/lib/checks/tables/td-has-header.json +0 -11
  320. data/node_modules/axe-core/lib/checks/tables/td-headers-attr.js +0 -61
  321. data/node_modules/axe-core/lib/checks/tables/td-headers-attr.json +0 -12
  322. data/node_modules/axe-core/lib/checks/tables/th-has-data-cells.js +0 -76
  323. data/node_modules/axe-core/lib/checks/tables/th-has-data-cells.json +0 -12
  324. data/node_modules/axe-core/lib/checks/tables/th-single-row-column.js +0 -39
  325. data/node_modules/axe-core/lib/checks/visibility/hidden-content.js +0 -21
  326. data/node_modules/axe-core/lib/checks/visibility/hidden-content.json +0 -12
  327. data/node_modules/axe-core/lib/commons/aria/arialabel-text.js +0 -18
  328. data/node_modules/axe-core/lib/commons/aria/arialabelledby-text.js +0 -52
  329. data/node_modules/axe-core/lib/commons/aria/attributes.js +0 -45
  330. data/node_modules/axe-core/lib/commons/aria/get-element-unallowed-roles.js +0 -113
  331. data/node_modules/axe-core/lib/commons/aria/get-owned-virtual.js +0 -24
  332. data/node_modules/axe-core/lib/commons/aria/get-role.js +0 -44
  333. data/node_modules/axe-core/lib/commons/aria/index.js +0 -2424
  334. data/node_modules/axe-core/lib/commons/aria/is-accessible-ref.js +0 -59
  335. data/node_modules/axe-core/lib/commons/aria/is-aria-role-allowed-on-element.js +0 -41
  336. data/node_modules/axe-core/lib/commons/aria/is-unsupported-role.js +0 -14
  337. data/node_modules/axe-core/lib/commons/aria/label-virtual.js +0 -54
  338. data/node_modules/axe-core/lib/commons/aria/named-from-contents.js +0 -39
  339. data/node_modules/axe-core/lib/commons/aria/roles.js +0 -208
  340. data/node_modules/axe-core/lib/commons/aria/validate-attr-value.js +0 -62
  341. data/node_modules/axe-core/lib/commons/color/center-point-of-rect.js +0 -30
  342. data/node_modules/axe-core/lib/commons/color/contrast.js +0 -178
  343. data/node_modules/axe-core/lib/commons/color/element-has-image.js +0 -36
  344. data/node_modules/axe-core/lib/commons/color/element-is-distinct.js +0 -88
  345. data/node_modules/axe-core/lib/commons/color/get-background-color.js +0 -285
  346. data/node_modules/axe-core/lib/commons/color/get-foreground-color.js +0 -61
  347. data/node_modules/axe-core/lib/commons/color/get-own-background-color.js +0 -22
  348. data/node_modules/axe-core/lib/commons/color/incomplete-data.js +0 -50
  349. data/node_modules/axe-core/lib/commons/color/index.js +0 -8
  350. data/node_modules/axe-core/lib/commons/dom/elements-below-floating.js +0 -39
  351. data/node_modules/axe-core/lib/commons/dom/find-elms-in-context.js +0 -28
  352. data/node_modules/axe-core/lib/commons/dom/find-up.js +0 -63
  353. data/node_modules/axe-core/lib/commons/dom/get-composed-parent.js +0 -25
  354. data/node_modules/axe-core/lib/commons/dom/get-element-by-reference.js +0 -34
  355. data/node_modules/axe-core/lib/commons/dom/get-element-coordinates.js +0 -38
  356. data/node_modules/axe-core/lib/commons/dom/get-element-stack.js +0 -589
  357. data/node_modules/axe-core/lib/commons/dom/get-root-node.js +0 -12
  358. data/node_modules/axe-core/lib/commons/dom/get-scroll-offset.js +0 -33
  359. data/node_modules/axe-core/lib/commons/dom/get-tabbable-elements.js +0 -24
  360. data/node_modules/axe-core/lib/commons/dom/get-viewport-size.js +0 -37
  361. data/node_modules/axe-core/lib/commons/dom/has-content-virtual.js +0 -75
  362. data/node_modules/axe-core/lib/commons/dom/idrefs.js +0 -36
  363. data/node_modules/axe-core/lib/commons/dom/index.js +0 -9
  364. data/node_modules/axe-core/lib/commons/dom/is-focusable.js +0 -95
  365. data/node_modules/axe-core/lib/commons/dom/is-hidden-with-css.js +0 -73
  366. data/node_modules/axe-core/lib/commons/dom/is-html5.js +0 -17
  367. data/node_modules/axe-core/lib/commons/dom/is-in-text-block.js +0 -94
  368. data/node_modules/axe-core/lib/commons/dom/is-modal-open.js +0 -98
  369. data/node_modules/axe-core/lib/commons/dom/is-node.js +0 -13
  370. data/node_modules/axe-core/lib/commons/dom/is-offscreen.js +0 -62
  371. data/node_modules/axe-core/lib/commons/dom/is-skip-link.js +0 -45
  372. data/node_modules/axe-core/lib/commons/dom/is-visible.js +0 -176
  373. data/node_modules/axe-core/lib/commons/dom/is-visual-content.js +0 -49
  374. data/node_modules/axe-core/lib/commons/dom/shadow-elements-from-point.js +0 -42
  375. data/node_modules/axe-core/lib/commons/dom/url-props-from-attribute.js +0 -152
  376. data/node_modules/axe-core/lib/commons/dom/visually-contains.js +0 -111
  377. data/node_modules/axe-core/lib/commons/dom/visually-overlaps.js +0 -46
  378. data/node_modules/axe-core/lib/commons/forms/index.js +0 -8
  379. data/node_modules/axe-core/lib/commons/forms/is-aria-combobox.js +0 -13
  380. data/node_modules/axe-core/lib/commons/forms/is-aria-listbox.js +0 -13
  381. data/node_modules/axe-core/lib/commons/forms/is-aria-range.js +0 -14
  382. data/node_modules/axe-core/lib/commons/forms/is-aria-textbox.js +0 -13
  383. data/node_modules/axe-core/lib/commons/forms/is-native-select.js +0 -13
  384. data/node_modules/axe-core/lib/commons/forms/is-native-textbox.js +0 -28
  385. data/node_modules/axe-core/lib/commons/index.js +0 -11
  386. data/node_modules/axe-core/lib/commons/intro.stub +0 -1
  387. data/node_modules/axe-core/lib/commons/matches/attributes.js +0 -27
  388. data/node_modules/axe-core/lib/commons/matches/condition.js +0 -19
  389. data/node_modules/axe-core/lib/commons/matches/from-definition.js +0 -52
  390. data/node_modules/axe-core/lib/commons/matches/from-function.js +0 -38
  391. data/node_modules/axe-core/lib/commons/matches/from-primative.js +0 -30
  392. data/node_modules/axe-core/lib/commons/matches/index.js +0 -39
  393. data/node_modules/axe-core/lib/commons/matches/node-name.js +0 -24
  394. data/node_modules/axe-core/lib/commons/matches/properties.js +0 -28
  395. data/node_modules/axe-core/lib/commons/outro.stub +0 -2
  396. data/node_modules/axe-core/lib/commons/table/get-all-cells.js +0 -28
  397. data/node_modules/axe-core/lib/commons/table/get-cell-position.js +0 -28
  398. data/node_modules/axe-core/lib/commons/table/get-headers.js +0 -79
  399. data/node_modules/axe-core/lib/commons/table/get-scope.js +0 -54
  400. data/node_modules/axe-core/lib/commons/table/index.js +0 -9
  401. data/node_modules/axe-core/lib/commons/table/is-column-header.js +0 -13
  402. data/node_modules/axe-core/lib/commons/table/is-data-cell.js +0 -22
  403. data/node_modules/axe-core/lib/commons/table/is-data-table.js +0 -189
  404. data/node_modules/axe-core/lib/commons/table/is-header.js +0 -22
  405. data/node_modules/axe-core/lib/commons/table/is-row-header.js +0 -13
  406. data/node_modules/axe-core/lib/commons/table/to-grid.js +0 -38
  407. data/node_modules/axe-core/lib/commons/table/traverse.js +0 -78
  408. data/node_modules/axe-core/lib/commons/text/accessible-text-virtual.js +0 -152
  409. data/node_modules/axe-core/lib/commons/text/form-control-value.js +0 -192
  410. data/node_modules/axe-core/lib/commons/text/index.js +0 -8
  411. data/node_modules/axe-core/lib/commons/text/is-human-interpretable.js +0 -51
  412. data/node_modules/axe-core/lib/commons/text/is-icon-ligature.js +0 -210
  413. data/node_modules/axe-core/lib/commons/text/is-valid-autocomplete.js +0 -117
  414. data/node_modules/axe-core/lib/commons/text/label-text.js +0 -58
  415. data/node_modules/axe-core/lib/commons/text/label-virtual.js +0 -53
  416. data/node_modules/axe-core/lib/commons/text/native-element-types.js +0 -100
  417. data/node_modules/axe-core/lib/commons/text/native-text-alternative.js +0 -50
  418. data/node_modules/axe-core/lib/commons/text/native-text-methods.js +0 -122
  419. data/node_modules/axe-core/lib/commons/text/sanitize.js +0 -18
  420. data/node_modules/axe-core/lib/commons/text/subtree-text.js +0 -89
  421. data/node_modules/axe-core/lib/commons/text/title-text.js +0 -33
  422. data/node_modules/axe-core/lib/commons/text/unicode.js +0 -147
  423. data/node_modules/axe-core/lib/commons/text/unsupported.js +0 -5
  424. data/node_modules/axe-core/lib/commons/text/visible-text-nodes.js +0 -25
  425. data/node_modules/axe-core/lib/commons/text/visible-virtual.js +0 -46
  426. data/node_modules/axe-core/lib/commons/utils/index.js +0 -10
  427. data/node_modules/axe-core/lib/core/base/audit.js +0 -781
  428. data/node_modules/axe-core/lib/core/base/cache.js +0 -33
  429. data/node_modules/axe-core/lib/core/base/check-result.js +0 -33
  430. data/node_modules/axe-core/lib/core/base/check.js +0 -170
  431. data/node_modules/axe-core/lib/core/base/context.js +0 -274
  432. data/node_modules/axe-core/lib/core/base/rule-result.js +0 -39
  433. data/node_modules/axe-core/lib/core/base/rule.js +0 -560
  434. data/node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js +0 -40
  435. data/node_modules/axe-core/lib/core/base/virtual-node/serial-virtual-node.js +0 -88
  436. data/node_modules/axe-core/lib/core/base/virtual-node/virtual-node.js +0 -136
  437. data/node_modules/axe-core/lib/core/constants.js +0 -76
  438. data/node_modules/axe-core/lib/core/imports/index.js +0 -51
  439. data/node_modules/axe-core/lib/core/index.js +0 -43
  440. data/node_modules/axe-core/lib/core/log.js +0 -12
  441. data/node_modules/axe-core/lib/core/public/cleanup-plugins.js +0 -53
  442. data/node_modules/axe-core/lib/core/public/configure.js +0 -110
  443. data/node_modules/axe-core/lib/core/public/get-rules.js +0 -29
  444. data/node_modules/axe-core/lib/core/public/load.js +0 -66
  445. data/node_modules/axe-core/lib/core/public/plugins.js +0 -47
  446. data/node_modules/axe-core/lib/core/public/reporter.js +0 -24
  447. data/node_modules/axe-core/lib/core/public/reset.js +0 -12
  448. data/node_modules/axe-core/lib/core/public/run-rules.js +0 -96
  449. data/node_modules/axe-core/lib/core/public/run-virtual-rule.js +0 -50
  450. data/node_modules/axe-core/lib/core/public/run.js +0 -159
  451. data/node_modules/axe-core/lib/core/reporters/helpers/failure-summary.js +0 -35
  452. data/node_modules/axe-core/lib/core/reporters/helpers/get-environment-data.js +0 -39
  453. data/node_modules/axe-core/lib/core/reporters/helpers/incomplete-fallback-msg.js +0 -13
  454. data/node_modules/axe-core/lib/core/reporters/helpers/index.js +0 -3
  455. data/node_modules/axe-core/lib/core/reporters/helpers/process-aggregate.js +0 -102
  456. data/node_modules/axe-core/lib/core/reporters/na.js +0 -24
  457. data/node_modules/axe-core/lib/core/reporters/no-passes.js +0 -18
  458. data/node_modules/axe-core/lib/core/reporters/raw-env.js +0 -12
  459. data/node_modules/axe-core/lib/core/reporters/raw.js +0 -32
  460. data/node_modules/axe-core/lib/core/reporters/v1.js +0 -29
  461. data/node_modules/axe-core/lib/core/reporters/v2.js +0 -22
  462. data/node_modules/axe-core/lib/core/utils/aggregate.js +0 -19
  463. data/node_modules/axe-core/lib/core/utils/aggregateChecks.js +0 -85
  464. data/node_modules/axe-core/lib/core/utils/aggregateNodeResults.js +0 -61
  465. data/node_modules/axe-core/lib/core/utils/aggregateResult.js +0 -37
  466. data/node_modules/axe-core/lib/core/utils/are-styles-set.js +0 -21
  467. data/node_modules/axe-core/lib/core/utils/assert.js +0 -12
  468. data/node_modules/axe-core/lib/core/utils/check-helper.js +0 -38
  469. data/node_modules/axe-core/lib/core/utils/clone.js +0 -27
  470. data/node_modules/axe-core/lib/core/utils/collect-results-from-frames.js +0 -127
  471. data/node_modules/axe-core/lib/core/utils/contains.js +0 -44
  472. data/node_modules/axe-core/lib/core/utils/css-parser.js +0 -7
  473. data/node_modules/axe-core/lib/core/utils/dq-element.js +0 -97
  474. data/node_modules/axe-core/lib/core/utils/element-matches.js +0 -43
  475. data/node_modules/axe-core/lib/core/utils/escape-selector.js +0 -78
  476. data/node_modules/axe-core/lib/core/utils/extend-meta-data.js +0 -17
  477. data/node_modules/axe-core/lib/core/utils/finalize-result.js +0 -11
  478. data/node_modules/axe-core/lib/core/utils/find-by.js +0 -14
  479. data/node_modules/axe-core/lib/core/utils/flattened-tree.js +0 -156
  480. data/node_modules/axe-core/lib/core/utils/get-all-checks.js +0 -12
  481. data/node_modules/axe-core/lib/core/utils/get-base-lang.js +0 -16
  482. data/node_modules/axe-core/lib/core/utils/get-check-message.js +0 -21
  483. data/node_modules/axe-core/lib/core/utils/get-check-option.js +0 -39
  484. data/node_modules/axe-core/lib/core/utils/get-friendly-uri-end.js +0 -144
  485. data/node_modules/axe-core/lib/core/utils/get-node-attributes.js +0 -21
  486. data/node_modules/axe-core/lib/core/utils/get-root-node.js +0 -17
  487. data/node_modules/axe-core/lib/core/utils/get-scroll.js +0 -39
  488. data/node_modules/axe-core/lib/core/utils/get-selector.js +0 -409
  489. data/node_modules/axe-core/lib/core/utils/get-stylesheet-factory.js +0 -51
  490. data/node_modules/axe-core/lib/core/utils/get-xpath.js +0 -83
  491. data/node_modules/axe-core/lib/core/utils/index.js +0 -10
  492. data/node_modules/axe-core/lib/core/utils/inject-style.js +0 -38
  493. data/node_modules/axe-core/lib/core/utils/is-hidden.js +0 -52
  494. data/node_modules/axe-core/lib/core/utils/is-html-element.js +0 -135
  495. data/node_modules/axe-core/lib/core/utils/is-shadow-root.js +0 -40
  496. data/node_modules/axe-core/lib/core/utils/is-xhtml.js +0 -14
  497. data/node_modules/axe-core/lib/core/utils/matches.js +0 -263
  498. data/node_modules/axe-core/lib/core/utils/memoize.js +0 -17
  499. data/node_modules/axe-core/lib/core/utils/merge-results.js +0 -116
  500. data/node_modules/axe-core/lib/core/utils/node-sorter.js +0 -21
  501. data/node_modules/axe-core/lib/core/utils/parse-crossorigin-stylesheet.js +0 -54
  502. data/node_modules/axe-core/lib/core/utils/parse-sameorigin-stylesheet.js +0 -96
  503. data/node_modules/axe-core/lib/core/utils/parse-stylesheet.js +0 -70
  504. data/node_modules/axe-core/lib/core/utils/performance-timer.js +0 -126
  505. data/node_modules/axe-core/lib/core/utils/pollyfills.js +0 -299
  506. data/node_modules/axe-core/lib/core/utils/preload-cssom.js +0 -253
  507. data/node_modules/axe-core/lib/core/utils/preload-media.js +0 -65
  508. data/node_modules/axe-core/lib/core/utils/preload.js +0 -144
  509. data/node_modules/axe-core/lib/core/utils/process-message.js +0 -72
  510. data/node_modules/axe-core/lib/core/utils/publish-metadata.js +0 -106
  511. data/node_modules/axe-core/lib/core/utils/qsa.js +0 -110
  512. data/node_modules/axe-core/lib/core/utils/queue.js +0 -138
  513. data/node_modules/axe-core/lib/core/utils/respondable.js +0 -261
  514. data/node_modules/axe-core/lib/core/utils/rule-should-run.js +0 -82
  515. data/node_modules/axe-core/lib/core/utils/scroll-state.js +0 -57
  516. data/node_modules/axe-core/lib/core/utils/select.js +0 -135
  517. data/node_modules/axe-core/lib/core/utils/to-array.js +0 -21
  518. data/node_modules/axe-core/lib/core/utils/token-list.js +0 -15
  519. data/node_modules/axe-core/lib/core/utils/uuid.js +0 -244
  520. data/node_modules/axe-core/lib/core/utils/valid-input-type.js +0 -35
  521. data/node_modules/axe-core/lib/core/utils/valid-langs.js +0 -8152
  522. data/node_modules/axe-core/lib/intro.stub +0 -15
  523. data/node_modules/axe-core/lib/misc/any-failure-summary.json +0 -6
  524. data/node_modules/axe-core/lib/misc/incomplete-fallback.json +0 -3
  525. data/node_modules/axe-core/lib/misc/none-failure-summary.json +0 -6
  526. data/node_modules/axe-core/lib/outro.stub +0 -2
  527. data/node_modules/axe-core/lib/rules/accesskeys.json +0 -13
  528. data/node_modules/axe-core/lib/rules/area-alt.json +0 -21
  529. data/node_modules/axe-core/lib/rules/aria-allowed-attr-matches.js +0 -11
  530. data/node_modules/axe-core/lib/rules/aria-allowed-attr.json +0 -12
  531. data/node_modules/axe-core/lib/rules/aria-allowed-role-matches.js +0 -7
  532. data/node_modules/axe-core/lib/rules/aria-allowed-role.json +0 -14
  533. data/node_modules/axe-core/lib/rules/aria-dpub-role-fallback-matches.js +0 -10
  534. data/node_modules/axe-core/lib/rules/aria-dpub-role-fallback.json +0 -14
  535. data/node_modules/axe-core/lib/rules/aria-form-field-name-matches.js +0 -50
  536. data/node_modules/axe-core/lib/rules/aria-has-attr-matches.js +0 -11
  537. data/node_modules/axe-core/lib/rules/aria-hidden-body.json +0 -13
  538. data/node_modules/axe-core/lib/rules/aria-hidden-focus-matches.js +0 -18
  539. data/node_modules/axe-core/lib/rules/aria-hidden-focus.json +0 -18
  540. data/node_modules/axe-core/lib/rules/aria-input-field-name.json +0 -13
  541. data/node_modules/axe-core/lib/rules/aria-required-attr.json +0 -12
  542. data/node_modules/axe-core/lib/rules/aria-required-children.json +0 -12
  543. data/node_modules/axe-core/lib/rules/aria-required-parent.json +0 -12
  544. data/node_modules/axe-core/lib/rules/aria-roledescription.json +0 -12
  545. data/node_modules/axe-core/lib/rules/aria-roles.json +0 -13
  546. data/node_modules/axe-core/lib/rules/aria-toggle-field-name.json +0 -18
  547. data/node_modules/axe-core/lib/rules/aria-valid-attr-value.json +0 -12
  548. data/node_modules/axe-core/lib/rules/aria-valid-attr.json +0 -12
  549. data/node_modules/axe-core/lib/rules/audio-caption.json +0 -20
  550. data/node_modules/axe-core/lib/rules/autocomplete-matches.js +0 -49
  551. data/node_modules/axe-core/lib/rules/autocomplete-valid.json +0 -12
  552. data/node_modules/axe-core/lib/rules/avoid-inline-spacing.json +0 -12
  553. data/node_modules/axe-core/lib/rules/blink.json +0 -19
  554. data/node_modules/axe-core/lib/rules/button-name.json +0 -25
  555. data/node_modules/axe-core/lib/rules/bypass-matches.js +0 -1
  556. data/node_modules/axe-core/lib/rules/bypass.json +0 -20
  557. data/node_modules/axe-core/lib/rules/checkboxgroup.json +0 -13
  558. data/node_modules/axe-core/lib/rules/color-contrast-matches.js +0 -161
  559. data/node_modules/axe-core/lib/rules/color-contrast.json +0 -13
  560. data/node_modules/axe-core/lib/rules/css-orientation-lock.json +0 -13
  561. data/node_modules/axe-core/lib/rules/data-table-large-matches.js +0 -11
  562. data/node_modules/axe-core/lib/rules/data-table-matches.js +0 -1
  563. data/node_modules/axe-core/lib/rules/definition-list.json +0 -13
  564. data/node_modules/axe-core/lib/rules/dlitem.json +0 -13
  565. data/node_modules/axe-core/lib/rules/document-title.json +0 -13
  566. data/node_modules/axe-core/lib/rules/duplicate-id-active-matches.js +0 -8
  567. data/node_modules/axe-core/lib/rules/duplicate-id-active.json +0 -14
  568. data/node_modules/axe-core/lib/rules/duplicate-id-aria-matches.js +0 -1
  569. data/node_modules/axe-core/lib/rules/duplicate-id-aria.json +0 -14
  570. data/node_modules/axe-core/lib/rules/duplicate-id-misc-matches.js +0 -11
  571. data/node_modules/axe-core/lib/rules/duplicate-id.json +0 -14
  572. data/node_modules/axe-core/lib/rules/empty-heading.json +0 -13
  573. data/node_modules/axe-core/lib/rules/focus-order-semantics.json +0 -13
  574. data/node_modules/axe-core/lib/rules/form-field-multiple-labels.json +0 -13
  575. data/node_modules/axe-core/lib/rules/frame-tested.json +0 -12
  576. data/node_modules/axe-core/lib/rules/frame-title-has-text.js +0 -2
  577. data/node_modules/axe-core/lib/rules/frame-title-unique.json +0 -13
  578. data/node_modules/axe-core/lib/rules/frame-title.json +0 -25
  579. data/node_modules/axe-core/lib/rules/heading-matches.js +0 -15
  580. data/node_modules/axe-core/lib/rules/heading-order.json +0 -13
  581. data/node_modules/axe-core/lib/rules/hidden-content.json +0 -13
  582. data/node_modules/axe-core/lib/rules/html-has-lang.json +0 -13
  583. data/node_modules/axe-core/lib/rules/html-lang-valid.json +0 -12
  584. data/node_modules/axe-core/lib/rules/html-namespace-matches.js +0 -1
  585. data/node_modules/axe-core/lib/rules/html-xml-lang-mismatch.json +0 -13
  586. data/node_modules/axe-core/lib/rules/identical-links-same-purpose-matches.js +0 -13
  587. data/node_modules/axe-core/lib/rules/identical-links-same-purpose.json +0 -14
  588. data/node_modules/axe-core/lib/rules/image-alt.json +0 -25
  589. data/node_modules/axe-core/lib/rules/img-redundant-alt.json +0 -12
  590. data/node_modules/axe-core/lib/rules/input-button-name.json +0 -26
  591. data/node_modules/axe-core/lib/rules/input-image-alt.json +0 -18
  592. data/node_modules/axe-core/lib/rules/inserted-into-focus-order-matches.js +0 -1
  593. data/node_modules/axe-core/lib/rules/label-content-name-mismatch-matches.js +0 -45
  594. data/node_modules/axe-core/lib/rules/label-content-name-mismatch.json +0 -12
  595. data/node_modules/axe-core/lib/rules/label-matches.js +0 -11
  596. data/node_modules/axe-core/lib/rules/label-title-only.json +0 -13
  597. data/node_modules/axe-core/lib/rules/label.json +0 -26
  598. data/node_modules/axe-core/lib/rules/landmark-banner-is-top-level.json +0 -13
  599. data/node_modules/axe-core/lib/rules/landmark-complementary-is-top-level.json +0 -12
  600. data/node_modules/axe-core/lib/rules/landmark-contentinfo-is-top-level.json +0 -13
  601. data/node_modules/axe-core/lib/rules/landmark-has-body-context.js +0 -8
  602. data/node_modules/axe-core/lib/rules/landmark-main-is-top-level.json +0 -12
  603. data/node_modules/axe-core/lib/rules/landmark-no-duplicate-banner.json +0 -12
  604. data/node_modules/axe-core/lib/rules/landmark-no-duplicate-contentinfo.json +0 -12
  605. data/node_modules/axe-core/lib/rules/landmark-no-duplicate-main.json +0 -12
  606. data/node_modules/axe-core/lib/rules/landmark-one-main.json +0 -12
  607. data/node_modules/axe-core/lib/rules/landmark-unique-matches.js +0 -41
  608. data/node_modules/axe-core/lib/rules/landmark-unique.json +0 -13
  609. data/node_modules/axe-core/lib/rules/layout-table-matches.js +0 -8
  610. data/node_modules/axe-core/lib/rules/layout-table.json +0 -14
  611. data/node_modules/axe-core/lib/rules/link-in-text-block-matches.js +0 -14
  612. data/node_modules/axe-core/lib/rules/link-in-text-block.json +0 -14
  613. data/node_modules/axe-core/lib/rules/link-name.json +0 -25
  614. data/node_modules/axe-core/lib/rules/list.json +0 -13
  615. data/node_modules/axe-core/lib/rules/listitem.json +0 -13
  616. data/node_modules/axe-core/lib/rules/marquee.json +0 -13
  617. data/node_modules/axe-core/lib/rules/meta-refresh.json +0 -20
  618. data/node_modules/axe-core/lib/rules/meta-viewport-large.json +0 -13
  619. data/node_modules/axe-core/lib/rules/meta-viewport.json +0 -13
  620. data/node_modules/axe-core/lib/rules/no-autoplay-audio-matches.js +0 -18
  621. data/node_modules/axe-core/lib/rules/no-autoplay-audio.json +0 -15
  622. data/node_modules/axe-core/lib/rules/no-empty-role-matches.js +0 -9
  623. data/node_modules/axe-core/lib/rules/no-role-matches.js +0 -1
  624. data/node_modules/axe-core/lib/rules/not-html-matches.js +0 -1
  625. data/node_modules/axe-core/lib/rules/object-alt.json +0 -25
  626. data/node_modules/axe-core/lib/rules/p-as-heading-matches.js +0 -17
  627. data/node_modules/axe-core/lib/rules/p-as-heading.json +0 -13
  628. data/node_modules/axe-core/lib/rules/page-has-heading-one.json +0 -12
  629. data/node_modules/axe-core/lib/rules/radiogroup.json +0 -13
  630. data/node_modules/axe-core/lib/rules/region.json +0 -12
  631. data/node_modules/axe-core/lib/rules/role-img-alt.json +0 -19
  632. data/node_modules/axe-core/lib/rules/scope-attr-valid.json +0 -12
  633. data/node_modules/axe-core/lib/rules/scrollable-region-focusable-matches.js +0 -30
  634. data/node_modules/axe-core/lib/rules/scrollable-region-focusable.json +0 -12
  635. data/node_modules/axe-core/lib/rules/server-side-image-map.json +0 -18
  636. data/node_modules/axe-core/lib/rules/skip-link-matches.js +0 -1
  637. data/node_modules/axe-core/lib/rules/skip-link.json +0 -13
  638. data/node_modules/axe-core/lib/rules/svg-img-alt.json +0 -24
  639. data/node_modules/axe-core/lib/rules/svg-namespace-matches.js +0 -1
  640. data/node_modules/axe-core/lib/rules/tabindex.json +0 -12
  641. data/node_modules/axe-core/lib/rules/table-duplicate-name.json +0 -12
  642. data/node_modules/axe-core/lib/rules/table-fake-caption.json +0 -20
  643. data/node_modules/axe-core/lib/rules/td-has-header.json +0 -20
  644. data/node_modules/axe-core/lib/rules/td-headers-attr.json +0 -12
  645. data/node_modules/axe-core/lib/rules/th-has-data-cells.json +0 -13
  646. data/node_modules/axe-core/lib/rules/valid-lang.json +0 -13
  647. data/node_modules/axe-core/lib/rules/video-caption.json +0 -19
  648. data/node_modules/axe-core/lib/rules/video-description.json +0 -21
  649. data/node_modules/axe-core/lib/rules/window-is-top.js +0 -3
  650. data/node_modules/axe-core/lib/rules/xml-lang-mismatch-matches.js +0 -12
  651. data/node_modules/axe-core/typings/axe-core/axe-core-tests.ts +0 -188
@@ -1,882 +1,968 @@
1
1
  {
2
- "lang": "pt_BR",
3
- "rules": {
4
- "accesskeys": {
5
- "description": "Certifique-se de que cada valor do atributo 'acesskey' é único",
6
- "help": "O valor do atributo 'accesskey' deve ser único"
7
- },
8
- "area-alt": {
9
- "description": "Certifique-se de que elementos <area> de mapas de imagem tenham um texto alternativo",
10
- "help": "Elementos <area> ativos devem ter um texto alternativo"
11
- },
12
- "aria-allowed-attr": {
13
- "description": "Certifique-se de que os atributos ARIA são permitidos para a função de um elemento",
14
- "help": "Os elementos devem usar apenas atributos ARIA permitidos"
15
- },
16
- "aria-allowed-role": {
17
- "description": "Certifique-se de que o atributo 'role' tem um valor apropriado para o elemento",
18
- "help": "A função ARIA deve ser apropriada para o elemento"
19
- },
20
- "aria-dpub-role-fallback": {
21
- "description": "Certifique-se de que as funções DPUB não suportadas são usados somente em elementos com funções implícitas (fallback)",
22
- "help": "As funções DPUB não suportadas devem ser usadas em elementos com funções implícitas (fallback)"
23
- },
24
- "aria-hidden-body": {
25
- "description": "Certifique-se de que aria-hidden='true' não está presente no elemento <body>.",
26
- "help": "aria-hidden='true' não deve estar presente no elemento <body>"
27
- },
28
- "aria-hidden-focus": {
29
- "description": "Certifique-se de que elementos com aria-hidden não contenham elementos focalizáveis",
30
- "help": "Elementos ocultados através de ARIA não devem conter elementos focalizáveis"
31
- },
32
- "aria-input-field-name": {
33
- "description": "Certifique-se de que cada campo de entrada ARIA tenha um nome acessível",
34
- "help": "Campos de entrada ARIA tenham um nome acessível"
35
- },
36
- "aria-required-attr": {
37
- "description": "Certifique-se de que elementos com funções ARIA tenham todos os atributos ARIA necessários",
38
- "help": "Os atributos ARIA necessários devem ser fornecidos"
39
- },
40
- "aria-required-children": {
41
- "description": "Certifique-se de que elementos com uma função ARIA que requer funções filhas as contenham",
42
- "help": "Certas funções ARIA devem conter filhos específicos"
43
- },
44
- "aria-required-parent": {
45
- "description": "Certifique-se de que elementos com uma função ARIA que requer funções pais estejam contidas nestas",
46
- "help": "Certas funções ARIA devem estar contidas em pais específicos"
47
- },
48
- "aria-roledescription": {
49
- "description": "Certifique-se de que 'aria-roledescription' somente é utilizado em elementos com uma função implícita ou explícita",
50
- "help": "Use 'aria-roledescription' em elementos com função semântica"
51
- },
52
- "aria-roles": {
53
- "description": "Certifique-se de que todos os elementos com um atributo 'role' utilizem um valor válido",
54
- "help": "Os ARIA 'roles' utilizados devem ter valores válidos"
55
- },
56
- "aria-toggle-field-name": {
57
- "description": "Certifique-se de que cada botão de alternância ARIA tenha um nome acessível",
58
- "help": "Botões de alternância ARIA tenham um nome acessível"
59
- },
60
- "aria-valid-attr-value": {
61
- "description": "Certifique-se de que cada atributo ARIA tenha um valor válido",
62
- "help": "Atributos ARIA devem ter valores válidos"
63
- },
64
- "aria-valid-attr": {
65
- "description": "Certifique-se de que atributos que se iniciem com aria- são atributos ARIA válidos",
66
- "help": "Atributos ARIA devem ter nomes válidos"
67
- },
68
- "audio-caption": {
69
- "description": "Certifique-se de que elementos <audio> tenham legendas",
70
- "help": "Elementos <audio> devem ter uma trilha de legenda"
71
- },
72
- "autocomplete-valid": {
73
- "description": "Certifique-se de que o atributo 'autocomplete' esteja correto e adequado para o campo de formulário",
74
- "help": "Atributo 'autocomplete' deve ser usado corretamente"
75
- },
76
- "avoid-inline-spacing": {
77
- "description": "Certifique-se de que o espaçamento de texto definido via atributos de estilo pode ser ajustado com folhas de estilo personalizadas",
78
- "help": "O espaçamento de texto 'inline' deve ser ajustável com folhas de estilo personalizadas"
79
- },
80
- "blink": {
81
- "description": "Certifique-se de que elementos <blink> não são utilizados",
82
- "help": "Elementos <blink> foram descontinuados e não devem ser utilizados"
83
- },
84
- "button-name": {
85
- "description": "Certifique-se de que botões tenham texto discernível",
86
- "help": "Botões devem ter texto discernível"
87
- },
88
- "bypass": {
89
- "description": "Certifique-se de que cada página tenha ao menos um mecanismo para o usuário ignorar a navegação e ir direto ao conteúdo",
90
- "help": "A página deve ter meios para ignorar blocos repetidos"
91
- },
92
- "checkboxgroup": {
93
- "description": "Certifique-se de que elementos <input type=\"checkbox\"> relacionados tenham um grupo e que a designação do grupo seja consistente",
94
- "help": "Caixas de seleção com o mesmo valor do atributo 'name' devem ser parte de um grupo"
95
- },
96
- "color-contrast": {
97
- "description": "Certifique-se de que o contraste entre as cores de primeiro plano e de fundo atenda aos limites de relação de contraste WCAG 2 AA",
98
- "help": "Os elementos devem ter contraste de cor suficiente"
99
- },
100
- "css-orientation-lock": {
101
- "description": "Certifique-se de que o conteúdo não está bloqueado para nenhuma orientação de tela específica, e que o mesmo seja operável em todas as orientações de tela",
102
- "help": "CSS Media queries não são usadas para bloquear a orientação de tela"
103
- },
104
- "definition-list": {
105
- "description": "Certifique-se de que elementos <dl> estão estruturados corretamente",
106
- "help": "Elementos <dl> devem conter diretamente apenas grupos <dt> e <dd> propriamente ordenados, ou elementos <script> ou <template>"
107
- },
108
- "dlitem": {
109
- "description": "Certifique-se de que elementos <dt> e <dd> estão contidos em um elemento <dl>",
110
- "help": "Elementos <dt> e <dd> devem estar contidos em um elemento <dl>"
111
- },
112
- "document-title": {
113
- "description": "Certifique-se de que cada documento HTML contenha um elemento <title> não vazio",
114
- "help": "Documentos devem ter um elemento <title> para ajudar na navegação"
115
- },
116
- "duplicate-id-active": {
117
- "description": "Certifique-se de que cada valor do atributo 'id' de elementos ativos seja único",
118
- "help": "IDs de elementos ativos devem ser únicos"
119
- },
120
- "duplicate-id-aria": {
121
- "description": "Certifique-se de que cada valor do atributo 'id' usado no ARIA e em rótulos seja único",
122
- "help": "IDs usados no ARIA e em 'labels' devem ser únicos"
123
- },
124
- "duplicate-id": {
125
- "description": "Certifique-se de que cada valor do atributo 'id' seja único",
126
- "help": "O valor do atributo 'id' deve ser único"
127
- },
128
- "empty-heading": {
129
- "description": "Certifique-se de que os títulos tenham texto discernível",
130
- "help": "Os títulos não devem ser vazios"
131
- },
132
- "focus-order-semantics": {
133
- "description": "Certifique-se de que os elementos na ordem de foco tenham uma função apropriada",
134
- "help": "Elementos na ordem de foco necessitam de uma função apropriada para conteúdo interativo"
135
- },
136
- "form-field-multiple-labels": {
137
- "description": "Certifique-se de que campos de formulários não tenham múltiplos elementos 'label'",
138
- "help": "Campos de formulário não devem ter múltiplos elementos 'label'"
139
- },
140
- "frame-tested": {
141
- "description": "Certifique-se de que elementos <iframe> e <frame> contenham o script axe-core",
142
- "help": "Os 'frames' devem ser testados com o axe-core"
143
- },
144
- "frame-title-unique": {
145
- "description": "Certifique-se de que os elementos <iframe> e <frame> contenham um atributo 'title' único",
146
- "help": "Os 'frames' devem ter um atributo 'title' único"
147
- },
148
- "frame-title": {
149
- "description": "Certifique-se de que os elementos <iframe> e <frame> contenham um atributo 'title' não vazio",
150
- "help": "Os 'frames' devem ter um atributo 'title'"
151
- },
152
- "heading-order": {
153
- "description": "Certifique-se de que a hierarquia dos níveis de títulos seja semanticamente correta",
154
- "help": "Níveis dos títulos devem aumentar de um em um"
155
- },
156
- "hidden-content": {
157
- "description": "Informar aos usuários sobre conteúdo oculto.",
158
- "help": "O conteúdo oculto na página não pode ser analisado"
159
- },
160
- "html-has-lang": {
161
- "description": "Certifique-se de que cada documento HTML tenha um atributo 'lang'",
162
- "help": "O elemento <html> deve ter um atributo 'lang'"
163
- },
164
- "html-lang-valid": {
165
- "description": "Certifique-se de que o atributo 'lang' do elemento <html> tenha um valor válido",
166
- "help": "O elemento <html> deve ter um valor válido para o atributo 'lang'"
167
- },
168
- "html-xml-lang-mismatch": {
169
- "description": "Certifique-se de que elementos HTML com ambos os atributos 'lang' e 'xml:lang' válidos concordem entre si sobre o idioma base da página",
170
- "help": "Elementos HTML com 'lang' e 'xml:lang' devem ter o mesmo idioma base"
171
- },
172
- "identical-links-same-purpose": {
173
- "description": "Certifique-se de que links com o mesmo nome acessível servem a um propósito similar",
174
- "help": "Links com o mesmo nome devem ter um propósito similar"
175
- },
176
- "image-alt": {
177
- "description": "Certifique-se de que elementos <img> tenham texto alternativo ou um 'role' igual a 'none' ou 'presentation'",
178
- "help": "Imagens devem ter texto alternativo"
179
- },
180
- "image-redundant-alt": {
181
- "description": "Certifique-se de que a alternativa de imagem não seja repetida como texto",
182
- "help": "O texto alternativo de imagens não deve ser repetido como texto"
183
- },
184
- "input-button-name": {
185
- "description": "Certifique-se de que botões tenham um texto discernível",
186
- "help": "Botões de controle devem ter um texto discernível"
187
- },
188
- "input-image-alt": {
189
- "description": "Certifique-se de que elementos <input type=\"image\"> tenham um texto alternativo",
190
- "help": "Botões de imagem devem ter um texto alternativo"
191
- },
192
- "label-content-name-mismatch": {
193
- "description": "Certifique-se de que elementos nomeados por meio de seu conteúdo tenham seu texto visível como parte de seu nome acessível",
194
- "help": "Elementos devem ter seu texto visível como parte de seu nome acessível"
195
- },
196
- "label-title-only": {
197
- "description": "Certifique-se de que cada elemento de formulário não seja rotulado apenas usando os atributos 'title' ou 'aria-describedby'",
198
- "help": "Elementos de formulário devem ter um rótulo visível"
199
- },
200
- "label": {
201
- "description": "Certifique-se de que cada elemento de formulário tenha um rótulo",
202
- "help": "Elementos de formulário devem ter rótulos"
203
- },
204
- "landmark-banner-is-top-level": {
205
- "description": "Certifique-se de que a região 'banner' esteja no nível principal",
206
- "help": "A região 'banner' não deve estar contida em outra região"
207
- },
208
- "landmark-complementary-is-top-level": {
209
- "description": "Certifique-se de que a região 'complementary' ou 'aside' estejam no nível principal",
210
- "help": "'Aside' não deve estar contido em outra região"
211
- },
212
- "landmark-contentinfo-is-top-level": {
213
- "description": "Certifique-se de que a região 'contentinfo' esteja no nível principal",
214
- "help": "A região 'contentinfo' não deve estar contida em outra região"
215
- },
216
- "landmark-main-is-top-level": {
217
- "description": "Certifique-se de que a região 'main' esteja no nível principal",
218
- "help": "A região 'main' não deve estar contida em outra região"
219
- },
220
- "landmark-no-duplicate-banner": {
221
- "description": "Certifique-se de que o documento tenha no máximo uma região 'banner'",
222
- "help": "O documento não deve ter mais do que uma região 'banner'"
223
- },
224
- "landmark-no-duplicate-contentinfo": {
225
- "description": "Certifique-se de que o documento tenha no máximo uma região 'contentinfo'",
226
- "help": "O documento não deve ter mais do que uma região 'contentinfo'"
227
- },
228
- "landmark-no-duplicate-main": {
229
- "description": "Certifique-se de que o documento tenha, no máximo, uma região 'main'",
230
- "help": "O documento não deve ter mais de uma região 'main'"
231
- },
232
- "landmark-one-main": {
233
- "description": "Certifique-se de que o documento tenha apenas uma região 'main' e que cada 'iframe' na página tenha no náximo uma região 'main'",
234
- "help": "O documento deve ter uma região 'main'"
235
- },
236
- "landmark-unique": {
237
- "help": "Certifique-se de que as regiões são únicas",
238
- "description": "As regiões devem ter um 'role' ou combinação de 'role'/'label'/'title' (ou seja, um nome acessível) únicos"
239
- },
240
- "layout-table": {
241
- "description": "Certifique-se de que elementos <table> de apresentação não usem elementos <th>, <caption> ou o atributo 'summary'",
242
- "help": "Tabelas de apresentação não devem usar elementos de tabela de dados"
243
- },
244
- "link-in-text-block": {
245
- "description": "Links podem ser distinguidos sem depender da cor",
246
- "help": "Links devem ser distinguidos do texto ao redor de uma maneira que não dependa da cor"
247
- },
248
- "link-name": {
249
- "description": "Certifique-se de que links tenham um texto discernível",
250
- "help": "Links devem ter um texto discernível"
251
- },
252
- "list": {
253
- "description": "Certifique-se de que listas sejam estruturadas corretamente",
254
- "help": "Elementos <ul> e <ol> devem conter diretamente apenas elementos <li>, <script> ou <template>"
255
- },
256
- "listitem": {
257
- "description": "Certifique-se de que elementos <li> são usados semanticamente",
258
- "help": "Elementos <li> devem estar contidos em um <ul> ou <ol>"
259
- },
260
- "marquee": {
261
- "description": "Certifique-se de que elementos <marquee> não são utilizados",
262
- "help": "Elementos <marquee> foram descontinuados e não devem ser utilizados"
263
- },
264
- "meta-refresh": {
265
- "description": "Certifique-se de que <meta http-equiv=\"refresh\"> não é utilizado",
266
- "help": "Atualização temporizada não deve existir"
267
- },
268
- "meta-viewport-large": {
269
- "description": "Certifique-se de que <meta name=\"viewport\"> permite ampliar de maneira significativa",
270
- "help": "Os usuários devem poder dar zoom e ampliar o texto em até 500%"
271
- },
272
- "meta-viewport": {
273
- "description": "Certifique-se de que <meta name=\"viewport\"> não desabilite a ampliação de texto e o zoom",
274
- "help": "O zoom e a ampliação de texto não devem ser desabilitados"
275
- },
276
- "no-autoplay-audio": {
277
- "description": "Certifique-se de que elementos <video> ou <audio> não reproduzam áudio automaticamente por mais de 3 segundos sem um mecanismo de controle para parar ou silenciar o áudio",
278
- "help": "Elementos <video> ou <audio> não reproduzam áudio automaticamente"
279
- },
280
- "object-alt": {
281
- "description": "Certifique-se de que elementos <object> tenham um texto alternativo",
282
- "help": "Elementos <object> devem ter um texto alternativo"
283
- },
284
- "p-as-heading": {
285
- "description": "Certifique-se de que elementos <p> não sejam utilizados para estilizar títulos",
286
- "help": "Negrito, itálico e 'font-size' não sejam utilizados para estilizar elementos <p> como um título"
287
- },
288
- "page-has-heading-one": {
289
- "description": "Certifique-se de que a página, ou pelo menos um dos seus 'frames', contenha um título de primeiro nível",
290
- "help": "A página deve conter um título de primeiro nível"
291
- },
292
- "radiogroup": {
293
- "description": "Certifique-se de que elementos <input type=\"radio\"> relacionados tenham o mesmo grupo e que o nome do grupo é consistente",
294
- "help": "Controles do tipo 'botão de rádio' com o mesmo valor para o atributo 'name' devem ser parte de um grupo"
295
- },
296
- "region": {
297
- "description": "Certifique-se de todo o conteúdo da página esteja contido em regiões (landmarks)",
298
- "help": "Todo o conteúdo da página deve estar contido em regiões (landmarks)"
299
- },
300
- "role-img-alt": {
301
- "description": "Certifique-se de que elementos com [role='img'] tenham texto alternativo",
302
- "help": "Elementos com [role='img'] tenham um texto alternativo"
303
- },
304
- "scope-attr-valid": {
305
- "description": "Certifique-se de que o atributo 'scope' é utilizado corretamente em tabelas",
306
- "help": "O atributo 'scope' deve ser utilizado corretamente"
307
- },
308
- "scrollable-region-focusable": {
309
- "description": "Elementos que tenham conteúdo rolável devem ser acessíveis via teclado",
310
- "help": "Certificar-se de que regiões roláveis tenham acesso via teclado"
311
- },
312
- "server-side-image-map": {
313
- "description": "Certifique-se de que mapas de imagem do lado do servidor não são utilizados",
314
- "help": "Mapas de imagem do lado do servidor não devem ser utilizados"
315
- },
316
- "skip-link": {
317
- "description": "Certifique-se de que todos os links de escape tenham um destino focalizável",
318
- "help": "O destino de um link de escape deve existir e ser focalizável"
319
- },
320
- "svg-img-alt": {
321
- "description": "Certifique-se de que elementos svg com um 'role' de 'img', 'graphics-document' ou 'graphics-symbol' tenham um texto acessível",
322
- "help": "Elementos svg com um 'role' de 'img' tenham um texto alternativo"
323
- },
324
- "tabindex": {
325
- "description": "Certifique-se de que os valores do atributo 'tabindex' não são maiores do que 0",
326
- "help": "Elementos não devem ter um 'tabindex' maior do que zero"
327
- },
328
- "table-duplicate-name": {
329
- "description": "Certifique-se de que tabelas não tenham 'summary' e <caption> iguais",
330
- "help": "O elemento <caption> não deve conter o mesmo texto que o atributo 'summary'"
331
- },
332
- "table-fake-caption": {
333
- "description": "Certifique-se de que tabelas com uma legenda usem o elemento <caption>.",
334
- "help": "Células de dados ou cabeçalhos não devem ser usadas para exibir uma legenda para uma tabela de dados."
335
- },
336
- "td-has-header": {
337
- "description": "Certifique-se de que cada célula de dados não vazia em uma tabela grande tenha um ou mais cabeçalhos",
338
- "help": "Todos os elementos 'td' não vazios em uma tabela maior que 3 por 3 devem ter um cabeçalho associado"
339
- },
340
- "td-headers-attr": {
341
- "description": "Certifique-se de que cada célula em uma tabela usando o atributo 'headers' se refira a outra célula nesta tabela",
342
- "help": "Todas as células em uma tabela que utilizem o atributo 'headers' devem se referir apenas a outras células desta mesma tabela"
343
- },
344
- "th-has-data-cells": {
345
- "description": "Certifique-se de cada cabeçalho em uma tabela de dados se refira a células de dados",
346
- "help": "Todos os elementos 'th' e elementos com role=columnheader/rowheader devem ter células de dados que eles descrevem"
347
- },
348
- "valid-lang": {
349
- "description": "Certifique-se de que os atributos 'lang' tenham valores válidos",
350
- "help": "O atributo 'lang' deve ter um valor válido"
351
- },
352
- "video-caption": {
353
- "description": "Certifique-se de que elementos <video> tenham legendas",
354
- "help": "Elementos <video> devem ter legendas"
355
- },
356
- "video-description": {
357
- "description": "Certifique-se de que elementos <video> tenham descrição de áudio",
358
- "help": "Elementos <video> devem ter uma faixa de áudio de descrição"
359
- }
360
- },
361
- "checks": {
362
- "abstractrole": {
363
- "pass": "As funções abstratas não são utilizadas",
364
- "fail": {
365
- "singular": "A função abstrata não pode ser diretamente utilizada: ${data.values}",
366
- "plural": "As funções abstratas não podem ser diretamente utilizadas: ${data.values}"
367
- }
368
- },
369
- "aria-allowed-attr": {
370
- "pass": "Atributos ARIA são usados corretamente para a função definida",
371
- "fail": {
372
- "singular": "O atributo ARIA não é permitido: ${data.values}",
373
- "plural": "Os atributos ARIA não são permitidos: ${data.values}"
374
- }
375
- },
376
- "aria-allowed-role": {
377
- "pass": "O ARIA 'role' é permitido para o elemento dado",
378
- "fail": {
379
- "singular": "O ARIA 'role' ${data.values} não é permitido para o elemento dado",
380
- "plural": "Os ARIA 'roles' ${data.values} não são permitidos para o elemento dado"
381
- },
382
- "incomplete": {
383
- "singular": "O ARIA 'role' ${data.values} deve ser removido quando o elemento é tornado visível, uma vez que não é permitido para o elemento",
384
- "plural": "Os ARIA 'roles' ${data.values} devem ser removidos quando o elemento é tornado visível, uma vez que não são permitidos para o elemento"
385
- }
386
- },
387
- "aria-hidden-body": {
388
- "pass": "Nenhum atributo 'aria-hidden' está presente no elemento <body>",
389
- "fail": "'aria-hidden=true' não deve estar presente no elemento <body>"
390
- },
391
- "aria-roledescription": {
392
- "pass": "'aria-roledescription' usado em função semântica suportada",
393
- "incomplete": "Garanta que o 'aria-roledescription' é anunciado pelos leitores de tela suportados",
394
- "fail": "Dê ao elemento uma função que suporte 'aria-roledescription'"
395
- },
396
- "aria-errormessage": {
397
- "pass": "Usa uma técnica de 'aria-errormessage' suportada",
398
- "fail": {
399
- "singular": "O valor de 'aria-errormessage' `${data.values}` deve umsar uma técnica para anunciar a mensagem (por exemplo, 'aria-live', 'aria-describedby', role=alert, etc.)",
400
- "plural": "Os valores de 'aria-errormessage' `${data.values}` devem usar uma técnica para anunciar a mensagem (por exemplo, 'aria-live', 'aria-describedby', role=alert, etc.)"
401
- }
402
- },
403
- "fallbackrole": {
404
- "pass": "Apenas um valor de 'role' deve ser utilizado",
405
- "fail": "Use apenas um valor de 'role', uma vez que funções 'fallback' não são suportadas em navegadores mais antigos"
406
- },
407
- "has-widget-role": {
408
- "pass": "Elemento tem um 'role' de 'widget'.",
409
- "fail": "Elemento não tem um 'role' de 'widget'."
410
- },
411
- "implicit-role-fallback": {
412
- "pass": "A função ARIA implícita do elemento é um 'fallback' apropriado",
413
- "fail": "A função ARIA implícita do elemento não é um bom 'fallback' para esta função (não suportada)"
414
- },
415
- "invalidrole": {
416
- "pass": "O ARIA 'role' é válido",
417
- "fail": {
418
- "singular": "O 'role' deve ser um dos ARIA 'roles' válidos: ${data.values}",
419
- "plural": "Os 'roles' devem ser um dos ARIA 'roles' válidos: ${data.values}"
420
- }
421
- },
422
- "no-implicit-explicit-label": {
423
- "pass": "Não nenhuma divergência entre <label> e o nome acessível",
424
- "incomplete": "Verifique se o <label> não precisa fazer parte do nome do campo ARIA {{=it.data}}"
425
- },
426
- "aria-required-attr": {
427
- "pass": "Todos os atributos ARIA necessários estão presentes",
428
- "fail": {
429
- "singular": "Atributo ARIA necessário ausente: ${data.values}",
430
- "plural": "Atributos ARIA necessários ausentes: ${data.values}"
431
- }
432
- },
433
- "aria-required-children": {
434
- "pass": "Os ARIA filhos necessários estão presentes",
435
- "fail": {
436
- "singular": "Função ARIA filha necessária ausente: ${data.values}",
437
- "plural": "Funções ARIA filhas necessárias ausentes: ${data.values}"
438
- },
439
- "incomplete": {
440
- "singular": "Esperando função ARIA filha a ser adicionada: ${data.values}",
441
- "plural": "Esperando funções ARIA filhas a serem adicionadas: ${data.values}"
442
- }
443
- },
444
- "aria-required-parent": {
445
- "pass": "A função ARIA pai necessária está presente",
446
- "fail": {
447
- "singular": "Função ARIA pai necessária ausente: ${data.values}",
448
- "plural": "Funções ARIA pais necessárias ausentes: ${data.values}"
449
- }
450
- },
451
- "aria-unsupported-attr": {
452
- "pass": "O atributo ARIA é suportado",
453
- "fail": "O atributo ARIA não é amplamente suportado em leitores de tela e tecnologias assistivas: {{~it.data:value}} {{=value}}{{~}}"
454
- },
455
- "unsupportedrole": {
456
- "pass": "O ARIA 'role' é suportado",
457
- "fail": "O 'role' usado não é amplamente suportado em leitores de tela e tecnologias assistivas: {{~it.data:value}} {{=value}}{{~}}"
458
- },
459
- "aria-valid-attr-value": {
460
- "pass": "Os valores dos atributos ARIA são válidos",
461
- "fail": {
462
- "singular": "Valor de atributo ARIA inválido: ${data.values}",
463
- "plural": "Valores de atributos ARIA inválidos: ${data.values}"
464
- },
465
- "incomplete": {
466
- "noId": "O ID do atributo ARIA do elemento não existe na página: ${data.needsReview}",
467
- "ariaCurrent": "O valor do atributo ARIA é inválido e será tratado como \"aria-current=true\": ${data.needsReview}"
468
- }
469
- },
470
- "aria-valid-attr": {
471
- "pass": "{{=it.data && it.data.length > 1 ? 'Os nomes dos atributos ARIA são válidos' : 'O nome do atributo ARIA é valido'}}",
472
- "fail": {
473
- "singular": "Nome de atributo ARIA inválido: ${data.values}",
474
- "plural": "Nomes de atributos ARIA inválidos: ${data.values}"
475
- }
476
- },
477
- "valid-scrollable-semantics": {
478
- "pass": "O elemento possui semântica válida para um elemento na ordem de foco.",
479
- "fail": "O elemento possui semântica inválida para um elemento na ordem de foco."
480
- },
481
- "color-contrast": {
482
- "pass": "O elemento tem contraste suficiente no valor de {{=it.data.contrastRatio}}",
483
- "fail": "O elemento tem contraste insuficiente no valor de {{=it.data.contrastRatio}} (cor do primeiro plano: {{=it.data.fgColor}}, cor de fundo: {{=it.data.bgColor}}, tamanho da fonte: {{=it.data.fontSize}}, normal/negrito: {{=it.data.fontWeight}}). Contraste esperado no valor de {{=it.data.expectedContrastRatio}}",
484
- "incomplete": {
485
- "default": "Impossível determinar o contraste",
486
- "bgImage": "A cor de fundo do elemento não pôde ser determinada devido a uma imagem de fundo",
487
- "bgGradient": "A cor de fundo do elemento não pôde ser determinada devido a um gradiente de fundo",
488
- "imgNode": "A cor de fundo do elemento não pôde ser determinada porque o elemento contém um nó de imagem",
489
- "bgOverlap": "A cor de fundo do elemento não pôde ser determinada porque está sobreposta por outro elemento",
490
- "fgAlpha": "A cor do primeiro plano do elemento não pôde ser determinada devido à transparência alfa",
491
- "elmPartiallyObscured": "A cor de fundo do elemento não pôde ser determinada porque está parcialmente obscurecida por outro elemento",
492
- "elmPartiallyObscuring": "A cor de fundo do elemento não pôde ser determinada porque está parcialmente sobreposta a outros elementos",
493
- "outsideViewport": "A cor de fundo do elemento não pôde ser determinada porque está fora da 'viewport'",
494
- "equalRatio": "O elemento tem um contraste de 1:1 com plano de fundo",
495
- "shortTextContent": "O conteúdo do elemento é muito curto para determinar se é conteúdo de texto real",
496
- "nonBmp": "O conteúdo do elemento contém apenas caracteres não textuais"
497
- }
498
- },
499
- "link-in-text-block": {
500
- "pass": "Links pode ser distinguidos do texto ao redor de outra maneira além da cor",
501
- "fail": "Links precisam ser distinguidos do texto ao redor de outra maneira além da cor",
502
- "incomplete": {
503
- "default": "Impossível determinar o contraste",
504
- "bgContrast": "O contraste do elemento não pôde ser determinado. Verifique se há um estilo distinto para 'hover'/'focus'.",
505
- "bgImage": "O contraste do elemento não pôde ser determinado devido a uma imagem de fundo",
506
- "bgGradient": "O contraste do elemento não pôde ser determinado devido a um gradiente de fundo",
507
- "imgNode": "O contraste do elemento não pôde ser determinado porque o elemento contém um de imagem",
508
- "bgOverlap": "O contraste do elemento não pôde ser determinado devido a uma sobreposição do elemento"
509
- }
510
- },
511
- "autocomplete-appropriate": {
512
- "pass": "o valor 'autocomplete' está em um elemento apropriado",
513
- "fail": "o valor 'autocomplete' está em um elemento inapropriado para este tipo de entrada"
514
- },
515
- "autocomplete-valid": {
516
- "pass": "o atributo 'autocomplete' está corretamente formatado",
517
- "fail": "o atributo 'autocomplete' está incorretamente formatado"
518
- },
519
- "fieldset": {
520
- "pass": "O elemento está contido em um <fieldset>",
521
- "fail": {
522
- "default": "O elemento não está contido em um >fieldset> ou grupo ARIA",
523
- "no-legend": "O <fieldset> não tem um elemento <legend> como seu primeiro filho",
524
- "empty-legend": "O elemento <legend> não tem texto visível para leitores de tela",
525
- "mixed-inputs": "O <fieldset> contem controles não relacionados",
526
- "no-group-label": "O grupo ARIA não tem um 'aria-label' ou 'aria-labelledby'",
527
- "group-mixed-inputs": "O grupo ARIA contém controles não relacionados"
528
- }
529
- },
530
- "group-labelledby": {
531
- "pass": "Os elementos com o nome \"{{=it.data.name}}\" possuem tanto um 'label' compartilhado, como um 'label' único, referenciados através do 'aria-labelledby'",
532
- "fail": {
533
- "default": "Os elementos com o nome \"${data.name}\" não possuem todos tanto um 'label' compartilhado, como um 'label' único, referenciados através do 'aria-labelledby'",
534
- "no-shared-label": "Os elementos com o nome \"${data.name}\" não possuem todos um 'label' compartilhado, referenciado através do 'aria-labelledby'",
535
- "no-unique-label": "Os elementos com o nome \"${data.name}\" não possuem todos um 'label' único, referenciado através do 'aria-labelledby'"
536
- }
537
- },
538
- "accesskeys": {
539
- "pass": "O valor do atributo 'accesskey' é único",
540
- "fail": "O documento tem múltiplos elementos com a mesma 'accesskey'"
541
- },
542
- "focusable-content": {
543
- "pass": "O elemento contém elementos focalizáveis",
544
- "fail": "O elemento deveria ter conteúdo focalizável"
545
- },
546
- "focusable-disabled": {
547
- "pass": "Nenhum elemento focalizável contido no elemento",
548
- "fail": "Conteúdo focalizável deve ser desabilitado ou removido do DOM"
549
- },
550
- "focusable-element": {
551
- "pass": "O elemento é focalizável",
552
- "fail": "O elemento deveria ser focalizável"
553
- },
554
- "focusable-modal-open": {
555
- "pass": "Nenhum elemento focalizável enquanto um modal está aberto",
556
- "incomplete": "Garanta que os elementos focalizáveis não estejam na ordem de tabulação no estado atual"
557
- },
558
- "focusable-no-name": {
559
- "pass": "O elemento não está na ordem de tabulação ou tem texto acessível",
560
- "fail": "O elemento está na ordem de tabulação e não tem nome acessível"
561
- },
562
- "focusable-not-tabbable": {
563
- "pass": "Nenhum elemento focalizável contido no elemento",
564
- "fail": "Conteúdo focalizável deve ter tabindex='-1' ou ser removido do DOM"
565
- },
566
- "landmark-is-top-level": {
567
- "pass": "A região {{=it.data.role }} está no nível principal.",
568
- "fail": "A região {{=it.data.role }} está contida em outra região."
569
- },
570
- "page-has-heading-one": {
571
- "pass": "A página tem pelo menos um título de primeiro nível",
572
- "fail": "A página deve ter pelo menos um título de primeiro nível"
573
- },
574
- "page-has-main": {
575
- "pass": "O documento tem pelo menos uma região 'main'",
576
- "fail": "O documento não tem uma região 'main'"
577
- },
578
- "page-no-duplicate-banner": {
579
- "pass": "O documento não tem mais de uma região 'banner'",
580
- "fail": "O documento tem mais de uma região 'banner'"
581
- },
582
- "page-no-duplicate-contentinfo": {
583
- "pass": "O documento não tem mais de uma região 'contentinfo'",
584
- "fail": "O documento tem mais de uma região 'contenteinfo'"
585
- },
586
- "page-no-duplicate-main": {
587
- "pass": "O documento não tem mais de uma região 'main'",
588
- "fail": "O documento tem mais de uma região 'main'"
589
- },
590
- "tabindex": {
591
- "pass": "O elemento não tem um 'tabindex' maior do que 0",
592
- "fail": "O elemento tem um 'tabindex' maior do que 0"
593
- },
594
- "alt-space-value": {
595
- "pass": "O elemento tem um valor válido para o atributo 'alt'",
596
- "fail": "O elemento tem um atributo 'alt' contendo apenas um caracter de espaço, o que não é ignorado por todos os leitores de tela"
597
- },
598
- "duplicate-img-label": {
599
- "pass": "O elemento não duplica um texto existente no atributo 'alt' do elemento <img>",
600
- "fail": "O elemento contém o elemento <img> com texto alternativo duplicando um texto existente"
601
- },
602
- "explicit-label": {
603
- "pass": "O elemento de formulário tem um <label> explícito",
604
- "fail": "O elemento de formulário não tem um <label> explícito"
605
- },
606
- "help-same-as-label": {
607
- "pass": "O texto de ajuda ('title' ou 'aria-describedby') não duplica o texto do rótulo",
608
- "fail": "O texto de ajuda ('title' ou 'aria-describedby') é o igual ao texto do rótulo"
609
- },
610
- "hidden-explicit-label": {
611
- "pass": "O elemento de formulário tem um <label> explícito visível",
612
- "fail": "O elemento de formulário tem um <label> explícito que está oculto"
613
- },
614
- "implicit-label": {
615
- "pass": "O elemento de formulário tem um <label> implícito (envolvido)",
616
- "fail": "O elemento de formulário não tem <label> implícito (envolvido)"
617
- },
618
- "label-content-name-mismatch": {
619
- "pass": "O elemento contém o texto visível como parte do seu nome acessível",
620
- "fail": "O texto dentro do elemento não está incluído no nome acessível"
621
- },
622
- "multiple-label": {
623
- "pass": "O campo de formulário não tem múltiplos elementos <label>",
624
- "incomplete": "O uso de múltiplos elementos <label> não é amplamente suportado pelas tecnologias assistivas. Certifique-se de que o primeiro <label> contém toda a informação necessária."
625
- },
626
- "title-only": {
627
- "pass": "Elementos de formulário não usam somente o atributo 'title' como seu rótulo",
628
- "fail": "Apenas 'title' usado para gerar o rótulo do elemento de formulário"
629
- },
630
- "landmark-is-unique": {
631
- "pass": "As regiões devem ter um 'role' ou combinação de 'role'/'label'/'title' (ou seja, nome acessível) únicos",
632
- "fail": "A região deve ter um 'aria-label', 'aria-labelledby', ou 'title' único para tornar as regiões distinguíveis"
633
- },
634
- "has-lang": {
635
- "pass": "O elemento <html> tem um atributo 'lang'",
636
- "fail": "O elemento <html> não tem um atributo 'lang'"
637
- },
638
- "valid-lang": {
639
- "pass": "O valor do atributo 'lang' está incluso na lista de idiomas válidos",
640
- "fail": "O valor do atributo 'lang' não está incluso na lista de idiomas válidos"
641
- },
642
- "xml-lang-mismatch": {
643
- "pass": "Os atributos 'lang' e 'xml:lang' têm o mesmo idioma base",
644
- "fail": "Os atributos 'lang' e 'xml:lang' não têm o mesmo idioma base"
645
- },
646
- "dlitem": {
647
- "pass": "O item da lista de descrição tem um elemento pai <dl>",
648
- "fail": "O item da lista de descrição não tem um elemente pai <dl>"
649
- },
650
- "listitem": {
651
- "pass": "O item de lista tem um elemento pai <ul>, <ol> ou role=\"list\"",
652
- "fail": {
653
- "default": "O item de lista não tem um elemento pai <ul> ou <ol>",
654
- "roleNotValid": "O item de lista não tem um elemento pai <ul> ou <ol> sem um 'role', ou um role=\"list\""
655
- }
656
- },
657
- "only-dlitems": {
658
- "pass": "O elemento de lista tem somente filhos diretos que são permitidos dentro de elementos <dt> ou <dd>",
659
- "fail": "O elemento de lista tem filhos diretos que não são permitidos dentro de elementos <dt> ou <dd>"
660
- },
661
- "only-listitems": {
662
- "pass": "O elemento de lista tem somente filhos diretos que são permitidos dentro de elementos <li>",
663
- "fail": {
664
- "default": "O elemento de lista tem filhos diretos que não são permitidos dentro de elementos <li>",
665
- "roleNotValid": "O elemento de lista tem filhos diretos com um 'role' que não é permitido: ${data.roles}"
666
- }
667
- },
668
- "structured-dlitems": {
669
- "pass": "Quando não vazio, o elemento tem ambos elementos <dt> e <dd>",
670
- "fail": "Quando não vazio, o elemento não tem nem ao menos um elemento <dt> seguindo de pelo menos um elemento <dd>"
671
- },
672
- "caption": {
673
- "pass": "O elemento multimídia tem uma trilha de legendas",
674
- "incomplete": "Verifique se legendas estão disponíveis para o elemento"
675
- },
676
- "description": {
677
- "pass": "O elemento multimídia tem uma trilha de audiodescrição",
678
- "incomplete": "Verifique se a audiodescrição está disponível para o elemento"
679
- },
680
- "frame-tested": {
681
- "pass": "O 'iframe' foi testado com o 'axe-core'",
682
- "fail": "O 'iframe' não pôde ser testado com o 'axe-core'",
683
- "incomplete": "O 'iframe' ainda tem que ser testado com o 'axe-core'"
684
- },
685
- "no-autoplay-audio": {
686
- "pass": "Elementos <video> ou <audio> não reproduzem áudio por mais do que a duração permitida ou possuem mecanismos de controle",
687
- "fail": "Elementos <video> ou <audio> reproduzem áudio por uma duração maior que a permitida ou não possuem mecanismos de controle",
688
- "incomplete": "Garanta que elementos <video> ou <audio> não reproduzam áudio por mais do que a duração permitida ou disponibilize mecanismos de controle"
689
- },
690
- "css-orientation-lock": {
691
- "pass": "A tela é operável, e o bloqueio da orientação não existe",
692
- "fail": "Bloqueio de orientação CSS aplicado, o que torna a tela inoperável",
693
- "incomplete": "Bloqueio de orientação CSS não pode ser determinado"
694
- },
695
- "meta-viewport-large": {
696
- "pass": "A tag <meta> não impede o zoom significativo em dispositivos móveis",
697
- "fail": "A tag <meta> limita o zoom em dispositivos móveis"
698
- },
699
- "meta-viewport": {
700
- "pass": "A tag <meta> não desabilita o zoom em dispositivos móveis",
701
- "fail": "{{=it.data}} na tag <meta> desabilita o zoom em dispositivos móveis"
702
- },
703
- "header-present": {
704
- "pass": "A página tem um cabeçalho (header)",
705
- "fail": "A página não tem um cabeçalho (header)"
706
- },
707
- "heading-order": {
708
- "pass": "Hierarquia de títulos válida",
709
- "fail": "Hierarquia de títulos inválida"
710
- },
711
- "identical-links-same-purpose": {
712
- "pass": "Não outros links com o mesmo nome, que direcionem para uma URL diferente",
713
- "incomplete": "Verifique se os links têm o mesmo propósito ou são intencionalmente ambíguos."
714
- },
715
- "internal-link-present": {
716
- "pass": "Link de escape válido encontrado",
717
- "fail": "Nenhum link de escape válido encontrado"
718
- },
719
- "landmark": {
720
- "pass": "A página tem uma região (landmark)",
721
- "fail": "A página não tem nenhuma região (landmark)"
722
- },
723
- "meta-refresh": {
724
- "pass": "A tag <meta> não atualiza a página imediatamente",
725
- "fail": "A tag <meta> força atualizações temporizadas da página"
726
- },
727
- "p-as-heading": {
728
- "pass": "Elementos <p> não são estilizados como títulos",
729
- "fail": "Elementos de título devem ser utilizados no lugar de elementos <p> estilizados"
730
- },
731
- "region": {
732
- "pass": "Todo o conteúdo da página está contido em regiões (landmarks)",
733
- "fail": "Algum conteúdo da página não está contido em regiões (landmarks)"
734
- },
735
- "skip-link": {
736
- "pass": "Destino do link de escape existe",
737
- "incomplete": "Destino do link de escape deve se tornar visível na ativação",
738
- "fail": "Nenhum destino para o link de escape"
739
- },
740
- "unique-frame-title": {
741
- "pass": "O atributo 'title' do elemento é único",
742
- "fail": "O atributo 'title' do elemento não é único"
743
- },
744
- "duplicate-id-active": {
745
- "pass": "O documento não tem elementos ativos que compartilham o mesmo atributo 'id'",
746
- "fail": "O documento tem elementos ativos com o mesmo atributo 'id': {{=it.data}}"
747
- },
748
- "duplicate-id-aria": {
749
- "pass": "O documento não tem elementos referenciados com ARIA ou rótulos que compartilham o mesmo atributo 'id'",
750
- "fail": "O documento tem múltiplos elementos referenciados com ARIA com o mesmo atributo 'id': {{=it.data}}"
751
- },
752
- "duplicate-id": {
753
- "pass": "O documento não tem elementos estáticos que compartilham o mesmo atributo 'id'",
754
- "fail": "O documento tem múltiplos elementos estáticos com o mesmo atributo 'id'"
755
- },
756
- "aria-label": {
757
- "pass": "O atributo 'aria-label' existe e não está vazio",
758
- "fail": "O atributo 'aria-label' não existe ou está vazio"
759
- },
760
- "aria-labelledby": {
761
- "pass": "O atributo 'aria-labelledby' existe e referencia elementos que são visíveis aos leitores de tela",
762
- "fail": "O atributo 'aria-labelledby' não existe, referencia elementos que não existem ou são vazios"
763
- },
764
- "avoid-inline-spacing": {
765
- "pass": "Nenhum estilo 'inline' com '!important' que afete o espaçamento do texto foi especificado",
766
- "fail": {
767
- "singular": "Remova '!important' do estilo 'inline' ${data.values}, uma vez que sobrepor isto não é suportado pela maioria dos navegadores",
768
- "plural": "Remova '!important' dos estilos 'inline' ${data.values}, uma vez que sobrepor isto não é suportado pela maioria dos navegadores"
769
- }
770
- },
771
- "button-has-visible-text": {
772
- "pass": "O elemento tem texto interno que é visível aos leitores de tela",
773
- "fail": "O elemento não tem texto interno que seja visível aos leitores de tela"
774
- },
775
- "doc-has-title": {
776
- "pass": "O documento tem um elemento <title> não vazio",
777
- "fail": "O documento não tem um elemento <title> não vazio"
778
- },
779
- "exists": {
780
- "pass": "O elemento não existe",
781
- "incomplete": "O elemento existe"
782
- },
783
- "has-alt": {
784
- "pass": "O elemento tem um atributo 'alt'",
785
- "fail": "O elemento não tem um atributo 'alt'"
786
- },
787
- "has-visible-text": {
788
- "pass": "O elemento tem texto que é visível aos leitores de tela",
789
- "fail": "O elemento não tem texto que seja visível aos leitores de tela"
790
- },
791
- "is-on-screen": {
792
- "pass": "O elemento não é visível",
793
- "fail": "O elemento é visível"
794
- },
795
- "non-empty-alt": {
796
- "pass": "O elemento tem um atributo 'alt' não vazio",
797
- "fail": "O elemento não tem um atributo 'alt' ou ele está vazio"
798
- },
799
- "non-empty-if-present": {
800
- "pass": {
801
- "default": "O elemento tem um atributo 'value",
802
- "has-label": "O elemento tem um atributo 'value' não vazio"
803
- },
804
- "fail": "O elemento tem um atributo 'value' e ele está vazio"
805
- },
806
- "non-empty-title": {
807
- "pass": "O elemento tem um atributo 'title'",
808
- "fail": "O elemento não tem um atributo 'title' ou ele está vazio"
809
- },
810
- "non-empty-value": {
811
- "pass": "O elemento tem um atributo 'value' não vazio",
812
- "fail": "O elemento não tem um atributo 'value' ou ele está vazio"
813
- },
814
- "role-none": {
815
- "pass": "A semântica padrão do elemento foi sobrescrita com role=\"none\"",
816
- "fail": "A semântica padrão do elemento não foi sobrescrita com role=\"none\""
817
- },
818
- "role-presentation": {
819
- "pass": "A semântica padrão do elemento foi sobrescrita com role=\"presentation\"",
820
- "fail": "A semântica padrão do elemento não foi sobrescrita com role=\"presentation\""
821
- },
822
- "svg-non-empty-title": {
823
- "pass": "O elemento tem um filho <title>",
824
- "fail": "O elemento não tem um filho <title>"
825
- },
826
- "caption-faked": {
827
- "pass": "A primeira linha de uma tabela não é usada como legenda",
828
- "fail": "O primeiro elemento da tabela deve ser um <caption> em vez de uma célula da tabela"
829
- },
830
- "has-caption": {
831
- "pass": "A tabela de layout não usa o elemento <caption>",
832
- "fail": "A tabela de layout usa o elemento <caption>"
833
- },
834
- "has-summary": {
835
- "pass": "A tabela de layout não usa o atributo 'summary'",
836
- "fail": "A tabela de layout usa o atributo 'summary'"
837
- },
838
- "has-th": {
839
- "pass": "A tabela de layout não usa elementos <th>",
840
- "fail": "A tabela de layout usa elementos <th>"
841
- },
842
- "html5-scope": {
843
- "pass": "O atributo 'scope' é utilizado em elementos de cabeçalho de tabela (<th>)",
844
- "fail": "No HTML 5, os atributos 'scope' devem ser utilizados em elementos de cabeçalho de tabela (<th>)"
845
- },
846
- "same-caption-summary": {
847
- "pass": "O conteúdo do atributo 'summary' e <caption> não estão duplicados",
848
- "fail": "O conteúdo do atributo 'summary' e <caption> são idênticos"
849
- },
850
- "scope-value": {
851
- "pass": "O atributo 'scope' é usado corretamente",
852
- "fail": "O valor do atributo 'scope' pode ser apenas 'row' ou 'col'"
853
- },
854
- "td-has-header": {
855
- "pass": "Todos as células de dados não vazias possuem cabeçalhos",
856
- "fail": "Algumas células de dados não vazias não possuem cabeçalho"
857
- },
858
- "td-headers-attr": {
859
- "pass": "O atributo 'headers' é usado exclusivamente para referenciar outras células da tabela",
860
- "fail": "O atributo 'headers' não é usado exclusivamente para referenciar outras células da tabela"
861
- },
862
- "th-has-data-cells": {
863
- "pass": "Todas as células de cabeçalho da tabela se referem a células de dados",
864
- "fail": "Nem todas as células de cabeçalho da tabela se referem a células de dados",
865
- "incomplete": "Células de dados da tabela estão ausentes ou vazias"
866
- },
867
- "hidden-content": {
868
- "pass": "Todo o conteúdo da página foi analisado.",
869
- "fail": "Houve problemas ao analisar o conteúdo desta página.",
870
- "incomplete": "Existe conteúdo oculto na página que não foi analisado. Será preciso provocar a exibição deste conteúdo para poder analisá-lo."
871
- }
872
- },
873
- "failureSummaries": {
874
- "any": {
875
- "failureMessage": "Corrija qualquer um dos itens a seguir:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
876
- },
877
- "none": {
878
- "failureMessage": "Corrija todos os itens a seguir:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
879
- }
880
- },
881
- "incompleteFallbackMessage": "Corrija todos os itens a seguir:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
2
+ "lang": "pt_BR",
3
+ "rules": {
4
+ "accesskeys": {
5
+ "description": "Certifique-se de que cada valor do atributo 'acesskey' é único",
6
+ "help": "O valor do atributo 'accesskey' deve ser único"
7
+ },
8
+ "area-alt": {
9
+ "description": "Certifique-se de que elementos <area> de mapas de imagem tenham um texto alternativo",
10
+ "help": "Elementos <area> ativos devem ter um texto alternativo"
11
+ },
12
+ "aria-allowed-attr": {
13
+ "description": "Certifique-se de que os atributos ARIA são permitidos para a função de um elemento",
14
+ "help": "Os elementos devem usar apenas atributos ARIA permitidos"
15
+ },
16
+ "aria-allowed-role": {
17
+ "description": "Certifique-se de que o atributo 'role' tem um valor apropriado para o elemento",
18
+ "help": "A função ARIA deve ser apropriada para o elemento"
19
+ },
20
+ "aria-command-name": {
21
+ "description": "Certifique-se de que cada botão, link e item de menu ARIA tenha um nome acessível",
22
+ "help": "Comandos ARIA devem ter um nome acessível"
23
+ },
24
+ "aria-dialog-name": {
25
+ "description": "Certifique-se de que cada de diálogo e diálogo de alerta ARIA tenha um nome acessível",
26
+ "help": "Nós de diálogo e diálogo de alerta ARIA devem ter um nome acessível"
27
+ },
28
+ "aria-hidden-body": {
29
+ "description": "Certifique-se de que aria-hidden='true' não está presente no elemento <body>.",
30
+ "help": "aria-hidden='true' não deve estar presente no elemento <body>"
31
+ },
32
+ "aria-hidden-focus": {
33
+ "description": "Certifique-se de que elementos com aria-hidden não contenham elementos focalizáveis",
34
+ "help": "Elementos ocultados através de ARIA não devem conter elementos focalizáveis"
35
+ },
36
+ "aria-input-field-name": {
37
+ "description": "Certifique-se de que cada campo de entrada ARIA tenha um nome acessível",
38
+ "help": "Campos de entrada ARIA tenham um nome acessível"
39
+ },
40
+ "aria-meter-name": {
41
+ "description": "Certifique-se de que cada de medição ARIA tenha um nome acessível",
42
+ "help": "Nós de medição ARIA devem ter um nome acessível"
43
+ },
44
+ "aria-progressbar-name": {
45
+ "description": "Certifique-se de que cada de barra de progresso ARIA tenha um nome acessível",
46
+ "help": "Nós de barra de progresso ARIA devem ter um nome acessível"
47
+ },
48
+ "aria-required-attr": {
49
+ "description": "Certifique-se de que elementos com funções ARIA tenham todos os atributos ARIA necessários",
50
+ "help": "Os atributos ARIA necessários devem ser fornecidos"
51
+ },
52
+ "aria-required-children": {
53
+ "description": "Certifique-se de que elementos com uma função ARIA que requer funções filhas as contenham",
54
+ "help": "Certas funções ARIA devem conter filhos específicos"
55
+ },
56
+ "aria-required-parent": {
57
+ "description": "Certifique-se de que elementos com uma função ARIA que requer funções pais estejam contidas nestas",
58
+ "help": "Certas funções ARIA devem estar contidas em pais específicos"
59
+ },
60
+ "aria-roledescription": {
61
+ "description": "Certifique-se de que 'aria-roledescription' somente é utilizado em elementos com uma função implícita ou explícita",
62
+ "help": "Use 'aria-roledescription' em elementos com função semântica"
63
+ },
64
+ "aria-roles": {
65
+ "description": "Certifique-se de que todos os elementos com um atributo 'role' utilizem um valor válido",
66
+ "help": "Os ARIA 'roles' utilizados devem ter valores válidos"
67
+ },
68
+ "aria-text": {
69
+ "description": "Certifique-se de que \"role=text\" é usado em elementos sem descendentes focalizáveis",
70
+ "help": "\"role=text\" não deve ter descendentes focalizáveis"
71
+ },
72
+ "aria-toggle-field-name": {
73
+ "description": "Certifique-se de que cada botão de alternância ARIA tenha um nome acessível",
74
+ "help": "Botões de alternância ARIA tenham um nome acessível"
75
+ },
76
+ "aria-tooltip-name": {
77
+ "description": "Certifique-se de que cada de dica de tela ARIA tenha um nome acessível",
78
+ "help": "Nós de dica de tela ARIA devem ter um nome acessível"
79
+ },
80
+ "aria-treeitem-name": {
81
+ "description": "Certifique-se de que cada de 'treeitem' ARIA deve ter um nome acessível",
82
+ "help": "Nós de 'treeitem' ARIA devem ter um nome acessível"
83
+ },
84
+ "aria-valid-attr-value": {
85
+ "description": "Certifique-se de que cada atributo ARIA tenha um valor válido",
86
+ "help": "Atributos ARIA devem ter valores válidos"
87
+ },
88
+ "aria-valid-attr": {
89
+ "description": "Certifique-se de que atributos que se iniciem com aria- são atributos ARIA válidos",
90
+ "help": "Atributos ARIA devem ter nomes válidos"
91
+ },
92
+ "audio-caption": {
93
+ "description": "Certifique-se de que elementos <audio> tenham legendas",
94
+ "help": "Elementos <audio> devem ter uma trilha de legenda"
95
+ },
96
+ "autocomplete-valid": {
97
+ "description": "Certifique-se de que o atributo 'autocomplete' esteja correto e adequado para o campo de formulário",
98
+ "help": "Atributo 'autocomplete' deve ser usado corretamente"
99
+ },
100
+ "avoid-inline-spacing": {
101
+ "description": "Certifique-se de que o espaçamento de texto definido via atributos de estilo pode ser ajustado com folhas de estilo personalizadas",
102
+ "help": "O espaçamento de texto 'inline' deve ser ajustável com folhas de estilo personalizadas"
103
+ },
104
+ "blink": {
105
+ "description": "Certifique-se de que elementos <blink> não são utilizados",
106
+ "help": "Elementos <blink> foram descontinuados e não devem ser utilizados"
107
+ },
108
+ "button-name": {
109
+ "description": "Certifique-se de que botões tenham texto discernível",
110
+ "help": "Botões devem ter texto discernível"
111
+ },
112
+ "bypass": {
113
+ "description": "Certifique-se de que cada página tenha ao menos um mecanismo para o usuário ignorar a navegação e ir direto ao conteúdo",
114
+ "help": "A página deve ter meios para ignorar blocos repetidos"
115
+ },
116
+ "color-contrast": {
117
+ "description": "Certifique-se de que o contraste entre as cores de primeiro plano e de fundo atenda aos limites de relação de contraste WCAG 2 AA",
118
+ "help": "Os elementos devem ter contraste de cor suficiente"
119
+ },
120
+ "color-contrast-enhanced": {
121
+ "description": "Certifique-se de que o contraste entre as cores de primeiro plano e de fundo atenda aos limites de relação de contraste WCAG 2 AAA",
122
+ "help": "Os elementos devem ter contraste de cor suficiente"
123
+ },
124
+ "css-orientation-lock": {
125
+ "description": "Certifique-se de que o conteúdo não está bloqueado para nenhuma orientação de tela específica, e que o mesmo seja operável em todas as orientações de tela",
126
+ "help": "CSS Media queries não são usadas para bloquear a orientação de tela"
127
+ },
128
+ "definition-list": {
129
+ "description": "Certifique-se de que elementos <dl> estão estruturados corretamente",
130
+ "help": "Elementos <dl> devem conter diretamente apenas grupos <dt> e <dd> propriamente ordenados, ou elementos <script> ou <template>"
131
+ },
132
+ "dlitem": {
133
+ "description": "Certifique-se de que elementos <dt> e <dd> estão contidos em um elemento <dl>",
134
+ "help": "Elementos <dt> e <dd> devem estar contidos em um elemento <dl>"
135
+ },
136
+ "document-title": {
137
+ "description": "Certifique-se de que cada documento HTML contenha um elemento <title> não vazio",
138
+ "help": "Documentos devem ter um elemento <title> para ajudar na navegação"
139
+ },
140
+ "duplicate-id-active": {
141
+ "description": "Certifique-se de que cada valor do atributo 'id' de elementos ativos seja único",
142
+ "help": "IDs de elementos ativos devem ser únicos"
143
+ },
144
+ "duplicate-id-aria": {
145
+ "description": "Certifique-se de que cada valor do atributo 'id' usado no ARIA e em rótulos seja único",
146
+ "help": "IDs usados no ARIA e em 'labels' devem ser únicos"
147
+ },
148
+ "duplicate-id": {
149
+ "description": "Certifique-se de que cada valor do atributo 'id' seja único",
150
+ "help": "O valor do atributo 'id' deve ser único"
151
+ },
152
+ "empty-heading": {
153
+ "description": "Certifique-se de que os títulos tenham texto discernível",
154
+ "help": "Os títulos não devem ser vazios"
155
+ },
156
+ "empty-table-header": {
157
+ "description": "Certifique-se de que cabeçalhos de tabela tenham texto discernível",
158
+ "help": "O texto do cabeçalho de tabela não deve ser vazio"
159
+ },
160
+ "focus-order-semantics": {
161
+ "description": "Certifique-se de que os elementos na ordem de foco tenham uma função apropriada",
162
+ "help": "Elementos na ordem de foco necessitam de uma função apropriada para conteúdo interativo"
163
+ },
164
+ "form-field-multiple-labels": {
165
+ "description": "Certifique-se de que campos de formulários não tenham múltiplos elementos 'label'",
166
+ "help": "Campos de formulário não devem ter múltiplos elementos 'label'"
167
+ },
168
+ "frame-focusable-content": {
169
+ "description": "Certifique-se de que elementos <frame> e <iframe> com tabindex=-1 não tenham conteúdo focalizável",
170
+ "help": "Quadros com tabindex=-1 não devem ter conteúdo focalizável"
171
+ },
172
+ "frame-tested": {
173
+ "description": "Certifique-se de que elementos <iframe> e <frame> contenham o script axe-core",
174
+ "help": "Os 'frames' devem ser testados com o axe-core"
175
+ },
176
+ "frame-title-unique": {
177
+ "description": "Certifique-se de que os elementos <iframe> e <frame> contenham um atributo 'title' único",
178
+ "help": "Os 'frames' devem ter um atributo 'title' único"
179
+ },
180
+ "frame-title": {
181
+ "description": "Certifique-se de que os elementos <iframe> e <frame> contenham um atributo 'title' não vazio",
182
+ "help": "Os 'frames' devem ter um atributo 'title'"
183
+ },
184
+ "heading-order": {
185
+ "description": "Certifique-se de que a hierarquia dos níveis de títulos seja semanticamente correta",
186
+ "help": "Níveis dos títulos devem aumentar de um em um"
187
+ },
188
+ "hidden-content": {
189
+ "description": "Informar aos usuários sobre conteúdo oculto.",
190
+ "help": "O conteúdo oculto na página não pode ser analisado"
191
+ },
192
+ "html-has-lang": {
193
+ "description": "Certifique-se de que cada documento HTML tenha um atributo 'lang'",
194
+ "help": "O elemento <html> deve ter um atributo 'lang'"
195
+ },
196
+ "html-lang-valid": {
197
+ "description": "Certifique-se de que o atributo 'lang' do elemento <html> tenha um valor válido",
198
+ "help": "O elemento <html> deve ter um valor válido para o atributo 'lang'"
199
+ },
200
+ "html-xml-lang-mismatch": {
201
+ "description": "Certifique-se de que elementos HTML com ambos os atributos 'lang' e 'xml:lang' válidos concordem entre si sobre o idioma base da página",
202
+ "help": "Elementos HTML com 'lang' e 'xml:lang' devem ter o mesmo idioma base"
203
+ },
204
+ "identical-links-same-purpose": {
205
+ "description": "Certifique-se de que links com o mesmo nome acessível servem a um propósito similar",
206
+ "help": "Links com o mesmo nome devem ter um propósito similar"
207
+ },
208
+ "image-alt": {
209
+ "description": "Certifique-se de que elementos <img> tenham texto alternativo ou um 'role' igual a 'none' ou 'presentation'",
210
+ "help": "Imagens devem ter texto alternativo"
211
+ },
212
+ "image-redundant-alt": {
213
+ "description": "Certifique-se de que a alternativa de imagem não seja repetida como texto",
214
+ "help": "O texto alternativo de imagens não deve ser repetido como texto"
215
+ },
216
+ "input-button-name": {
217
+ "description": "Certifique-se de que botões tenham um texto discernível",
218
+ "help": "Botões de controle devem ter um texto discernível"
219
+ },
220
+ "input-image-alt": {
221
+ "description": "Certifique-se de que elementos <input type=\"image\"> tenham um texto alternativo",
222
+ "help": "Botões de imagem devem ter um texto alternativo"
223
+ },
224
+ "label-content-name-mismatch": {
225
+ "description": "Certifique-se de que elementos nomeados por meio de seu conteúdo tenham seu texto visível como parte de seu nome acessível",
226
+ "help": "Elementos devem ter seu texto visível como parte de seu nome acessível"
227
+ },
228
+ "label-title-only": {
229
+ "description": "Certifique-se de que cada elemento de formulário não seja rotulado apenas usando os atributos 'title' ou 'aria-describedby'",
230
+ "help": "Elementos de formulário devem ter um rótulo visível"
231
+ },
232
+ "label": {
233
+ "description": "Certifique-se de que cada elemento de formulário tenha um rótulo",
234
+ "help": "Elementos de formulário devem ter rótulos"
235
+ },
236
+ "landmark-banner-is-top-level": {
237
+ "description": "Certifique-se de que a região 'banner' esteja no nível principal",
238
+ "help": "A região 'banner' não deve estar contida em outra região"
239
+ },
240
+ "landmark-complementary-is-top-level": {
241
+ "description": "Certifique-se de que a região 'complementary' ou 'aside' estejam no nível principal",
242
+ "help": "'Aside' não deve estar contido em outra região"
243
+ },
244
+ "landmark-contentinfo-is-top-level": {
245
+ "description": "Certifique-se de que a região 'contentinfo' esteja no nível principal",
246
+ "help": "A região 'contentinfo' não deve estar contida em outra região"
247
+ },
248
+ "landmark-main-is-top-level": {
249
+ "description": "Certifique-se de que a região 'main' esteja no nível principal",
250
+ "help": "A região 'main' não deve estar contida em outra região"
251
+ },
252
+ "landmark-no-duplicate-banner": {
253
+ "description": "Certifique-se de que o documento tenha no máximo uma região 'banner'",
254
+ "help": "O documento não deve ter mais do que uma região 'banner'"
255
+ },
256
+ "landmark-no-duplicate-contentinfo": {
257
+ "description": "Certifique-se de que o documento tenha no máximo uma região 'contentinfo'",
258
+ "help": "O documento não deve ter mais do que uma região 'contentinfo'"
259
+ },
260
+ "landmark-no-duplicate-main": {
261
+ "description": "Certifique-se de que o documento tenha, no máximo, uma região 'main'",
262
+ "help": "O documento não deve ter mais de uma região 'main'"
263
+ },
264
+ "landmark-one-main": {
265
+ "description": "Certifique-se de que o documento tenha apenas uma região 'main' e que cada 'iframe' na página tenha no náximo uma região 'main'",
266
+ "help": "O documento deve ter uma região 'main'"
267
+ },
268
+ "landmark-unique": {
269
+ "help": "Certifique-se de que as regiões são únicas",
270
+ "description": "As regiões devem ter um 'role' ou combinação de 'role'/'label'/'title' (ou seja, um nome acessível) únicos"
271
+ },
272
+ "link-in-text-block": {
273
+ "description": "Links podem ser distinguidos sem depender da cor",
274
+ "help": "Links devem ser distinguidos do texto ao redor de uma maneira que não dependa da cor"
275
+ },
276
+ "link-name": {
277
+ "description": "Certifique-se de que links tenham um texto discernível",
278
+ "help": "Links devem ter um texto discernível"
279
+ },
280
+ "list": {
281
+ "description": "Certifique-se de que listas sejam estruturadas corretamente",
282
+ "help": "Elementos <ul> e <ol> devem conter diretamente apenas elementos <li>, <script> ou <template>"
283
+ },
284
+ "listitem": {
285
+ "description": "Certifique-se de que elementos <li> são usados semanticamente",
286
+ "help": "Elementos <li> devem estar contidos em um <ul> ou <ol>"
287
+ },
288
+ "marquee": {
289
+ "description": "Certifique-se de que elementos <marquee> não são utilizados",
290
+ "help": "Elementos <marquee> foram descontinuados e não devem ser utilizados"
291
+ },
292
+ "meta-refresh": {
293
+ "description": "Certifique-se de que <meta http-equiv=\"refresh\"> não é utilizado",
294
+ "help": "Atualização temporizada não deve existir"
295
+ },
296
+ "meta-viewport-large": {
297
+ "description": "Certifique-se de que <meta name=\"viewport\"> permite ampliar de maneira significativa",
298
+ "help": "Os usuários devem poder dar zoom e ampliar o texto em até 500%"
299
+ },
300
+ "meta-viewport": {
301
+ "description": "Certifique-se de que <meta name=\"viewport\"> não desabilite a ampliação de texto e o zoom",
302
+ "help": "O zoom e a ampliação de texto não devem ser desabilitados"
303
+ },
304
+ "nested-interactive": {
305
+ "description": "Controles interativos aninhados não são anunciados por leitores de tela",
306
+ "help": "Certifique-se de que controles interativos não estejam aninhados"
307
+ },
308
+ "no-autoplay-audio": {
309
+ "description": "Certifique-se de que elementos <video> ou <audio> não reproduzam áudio automaticamente por mais de 3 segundos sem um mecanismo de controle para parar ou silenciar o áudio",
310
+ "help": "Elementos <video> ou <audio> não reproduzam áudio automaticamente"
311
+ },
312
+ "object-alt": {
313
+ "description": "Certifique-se de que elementos <object> tenham um texto alternativo",
314
+ "help": "Elementos <object> devem ter um texto alternativo"
315
+ },
316
+ "p-as-heading": {
317
+ "description": "Certifique-se de que elementos <p> não sejam utilizados para estilizar títulos",
318
+ "help": "Negrito, itálico e 'font-size' não sejam utilizados para estilizar elementos <p> como um título"
319
+ },
320
+ "page-has-heading-one": {
321
+ "description": "Certifique-se de que a página, ou pelo menos um dos seus 'frames', contenha um título de primeiro nível",
322
+ "help": "A página deve conter um título de primeiro nível"
323
+ },
324
+ "presentation-role-conflict": {
325
+ "description": "Sinaliza elementos cuja função é 'none' ou 'presentation', e que causam o acionamento da resolução de conflito de funções.",
326
+ "help": "Elementos com função 'none' ou 'presentation' devem ser sinalizados"
327
+ },
328
+ "region": {
329
+ "description": "Certifique-se de todo o conteúdo da página esteja contido em regiões (landmarks)",
330
+ "help": "Todo o conteúdo da página deve estar contido em regiões (landmarks)"
331
+ },
332
+ "role-img-alt": {
333
+ "description": "Certifique-se de que elementos com [role='img'] tenham texto alternativo",
334
+ "help": "Elementos com [role='img'] tenham um texto alternativo"
335
+ },
336
+ "scope-attr-valid": {
337
+ "description": "Certifique-se de que o atributo 'scope' é utilizado corretamente em tabelas",
338
+ "help": "O atributo 'scope' deve ser utilizado corretamente"
339
+ },
340
+ "scrollable-region-focusable": {
341
+ "description": "Elementos que tenham conteúdo rolável devem ser acessíveis via teclado",
342
+ "help": "Certificar-se de que regiões roláveis tenham acesso via teclado"
343
+ },
344
+ "select-name": {
345
+ "description": "Certifique-se que o elemento 'select' tenha um nome acessível",
346
+ "help": "O elemento 'select' deve ter um nome acessível"
347
+ },
348
+ "server-side-image-map": {
349
+ "description": "Certifique-se de que mapas de imagem do lado do servidor não são utilizados",
350
+ "help": "Mapas de imagem do lado do servidor não devem ser utilizados"
351
+ },
352
+ "skip-link": {
353
+ "description": "Certifique-se de que todos os links de escape tenham um destino focalizável",
354
+ "help": "O destino de um link de escape deve existir e ser focalizável"
355
+ },
356
+ "svg-img-alt": {
357
+ "description": "Certifique-se de que elementos svg com um 'role' de 'img', 'graphics-document' ou 'graphics-symbol' tenham um texto acessível",
358
+ "help": "Elementos svg com um 'role' de 'img' tenham um texto alternativo"
359
+ },
360
+ "tabindex": {
361
+ "description": "Certifique-se de que os valores do atributo 'tabindex' não são maiores do que 0",
362
+ "help": "Elementos não devem ter um 'tabindex' maior do que zero"
363
+ },
364
+ "table-duplicate-name": {
365
+ "description": "Certifique-se de que tabelas não tenham 'summary' e <caption> iguais",
366
+ "help": "O elemento <caption> não deve conter o mesmo texto que o atributo 'summary'"
367
+ },
368
+ "table-fake-caption": {
369
+ "description": "Certifique-se de que tabelas com uma legenda usem o elemento <caption>.",
370
+ "help": "Células de dados ou cabeçalhos não devem ser usadas para exibir uma legenda para uma tabela de dados."
371
+ },
372
+ "td-has-header": {
373
+ "description": "Certifique-se de que cada célula de dados não vazia em uma tabela grande tenha um ou mais cabeçalhos",
374
+ "help": "Todos os elementos 'td' não vazios em uma tabela maior que 3 por 3 devem ter um cabeçalho associado"
375
+ },
376
+ "td-headers-attr": {
377
+ "description": "Certifique-se de que cada célula em uma tabela usando o atributo 'headers' se refira a outra célula nesta tabela",
378
+ "help": "Todas as células em uma tabela que utilizem o atributo 'headers' devem se referir apenas a outras células desta mesma tabela"
379
+ },
380
+ "th-has-data-cells": {
381
+ "description": "Certifique-se de cada cabeçalho em uma tabela de dados se refira a células de dados",
382
+ "help": "Todos os elementos 'th' e elementos com role=columnheader/rowheader devem ter células de dados que eles descrevem"
383
+ },
384
+ "valid-lang": {
385
+ "description": "Certifique-se de que os atributos 'lang' tenham valores válidos",
386
+ "help": "O atributo 'lang' deve ter um valor válido"
387
+ },
388
+ "video-caption": {
389
+ "description": "Certifique-se de que elementos <video> tenham legendas",
390
+ "help": "Elementos <video> devem ter legendas"
391
+ }
392
+ },
393
+ "checks": {
394
+ "abstractrole": {
395
+ "pass": "As funções abstratas não são utilizadas",
396
+ "fail": {
397
+ "singular": "A função abstrata não pode ser diretamente utilizada: ${data.values}",
398
+ "plural": "As funções abstratas não podem ser diretamente utilizadas: ${data.values}"
399
+ }
400
+ },
401
+ "aria-allowed-attr": {
402
+ "pass": "Atributos ARIA são usados corretamente para a função definida",
403
+ "fail": {
404
+ "singular": "O atributo ARIA não é permitido: ${data.values}",
405
+ "plural": "Os atributos ARIA não são permitidos: ${data.values}"
406
+ }
407
+ },
408
+ "aria-allowed-role": {
409
+ "pass": "O ARIA 'role' é permitido para o elemento dado",
410
+ "fail": {
411
+ "singular": "O ARIA 'role' ${data.values} não é permitido para o elemento dado",
412
+ "plural": "Os ARIA 'roles' ${data.values} não são permitidos para o elemento dado"
413
+ },
414
+ "incomplete": {
415
+ "singular": "O ARIA 'role' ${data.values} deve ser removido quando o elemento é tornado visível, uma vez que não é permitido para o elemento",
416
+ "plural": "Os ARIA 'roles' ${data.values} devem ser removidos quando o elemento é tornado visível, uma vez que não são permitidos para o elemento"
417
+ }
418
+ },
419
+ "aria-errormessage": {
420
+ "pass": "Usa uma técnica de 'aria-errormessage' suportada",
421
+ "fail": {
422
+ "singular": "O valor de 'aria-errormessage' `${data.values}` deve usar uma técnica para anunciar a mensagem (por exemplo, 'aria-live', 'aria-describedby', role=alert, etc.)",
423
+ "plural": "Os valores de 'aria-errormessage' `${data.values}` devem usar uma técnica para anunciar a mensagem (por exemplo, 'aria-live', 'aria-describedby', role=alert, etc.)"
424
+ },
425
+ "incomplete": {
426
+ "singular": "certifique-se de que o valor de 'aria-errormessage' `${data.values}` referencia um elemento existente",
427
+ "plural": "certifque-se de que os valores de 'aria-errormessage' `${data.values}` referenciem elementos existentes"
428
+ }
429
+ },
430
+ "aria-hidden-body": {
431
+ "pass": "Nenhum atributo 'aria-hidden' está presente no elemento <body>",
432
+ "fail": "'aria-hidden=true' não deve estar presente no elemento <body>"
433
+ },
434
+ "aria-prohibited-attr": {
435
+ "pass": "O atributo ARIA é permitido",
436
+ "fail": "O atributo ARIA não pode ser utilizado: ${data.values}",
437
+ "incomplete": "O atributo ARIA não é bem suportado no elemento e o conteúdo de texto será usado em seu lugar: ${data.values}"
438
+ },
439
+ "aria-required-attr": {
440
+ "pass": "Todos os atributos ARIA necessários estão presentes",
441
+ "fail": {
442
+ "singular": "Atributo ARIA necessário ausente: ${data.values}",
443
+ "plural": "Atributos ARIA necessários ausentes: ${data.values}"
444
+ }
445
+ },
446
+ "aria-required-children": {
447
+ "pass": "Os ARIA filhos necessários estão presentes",
448
+ "fail": {
449
+ "singular": "Função ARIA filha necessária ausente: ${data.values}",
450
+ "plural": "Funções ARIA filhas necessárias ausentes: ${data.values}"
451
+ },
452
+ "incomplete": {
453
+ "singular": "Esperando função ARIA filha a ser adicionada: ${data.values}",
454
+ "plural": "Esperando funções ARIA filhas a serem adicionadas: ${data.values}"
455
+ }
456
+ },
457
+ "aria-required-parent": {
458
+ "pass": "A função ARIA pai necessária está presente",
459
+ "fail": {
460
+ "singular": "Função ARIA pai necessária ausente: ${data.values}",
461
+ "plural": "Funções ARIA pais necessárias ausentes: ${data.values}"
462
+ }
463
+ },
464
+ "aria-roledescription": {
465
+ "pass": "'aria-roledescription' usado em função semântica suportada",
466
+ "incomplete": "Garanta que o 'aria-roledescription' é anunciado pelos leitores de tela suportados",
467
+ "fail": " ao elemento uma função que suporte 'aria-roledescription'"
468
+ },
469
+ "aria-unsupported-attr": {
470
+ "pass": "O atributo ARIA é suportado",
471
+ "fail": "O atributo ARIA não é amplamente suportado em leitores de tela e tecnologias assistivas: ${data.values}"
472
+ },
473
+ "aria-valid-attr-value": {
474
+ "pass": "Os valores dos atributos ARIA são válidos",
475
+ "fail": {
476
+ "singular": "Valor de atributo ARIA inválido: ${data.values}",
477
+ "plural": "Valores de atributos ARIA inválidos: ${data.values}"
478
+ },
479
+ "incomplete": {
480
+ "noId": "O ID do atributo ARIA do elemento não existe na página: ${data.needsReview}",
481
+ "ariaCurrent": "O valor do atributo ARIA é inválido e será tratado como \"aria-current=true\": ${data.needsReview}"
482
+ }
483
+ },
484
+ "aria-valid-attr": {
485
+ "pass": {
486
+ "singular": "Os nomes dos atributos ARIA são válidos",
487
+ "plural": "O nome do atributo ARIA é valido"
488
+ },
489
+ "fail": {
490
+ "singular": "Nome de atributo ARIA inválido: ${data.values}",
491
+ "plural": "Nomes de atributos ARIA inválidos: ${data.values}"
492
+ }
493
+ },
494
+ "fallbackrole": {
495
+ "pass": "Apenas um valor de 'role' deve ser utilizado",
496
+ "fail": "Use apenas um valor de 'role', uma vez que funções 'fallback' não são suportadas em navegadores mais antigos"
497
+ },
498
+ "has-global-aria-attribute": {
499
+ "pass": {
500
+ "singular": "O elemento tem um atributo ARIA global: ${data.values}",
501
+ "plural": "O elemento tem atributos ARIA globais: ${data.values}"
502
+ },
503
+ "fail": "O elemento não tem atributo ARIA global"
504
+ },
505
+ "has-widget-role": {
506
+ "pass": "Elemento tem um 'role' de 'widget'.",
507
+ "fail": "Elemento não tem um 'role' de 'widget'."
508
+ },
509
+ "invalidrole": {
510
+ "pass": "O ARIA 'role' é válido",
511
+ "fail": {
512
+ "singular": "O 'role' deve ser um dos ARIA 'roles' válidos: ${data.values}",
513
+ "plural": "Os 'roles' devem ser um dos ARIA 'roles' válidos: ${data.values}"
514
+ }
515
+ },
516
+ "is-element-focusable": {
517
+ "pass": "O elemento é focalizável.",
518
+ "fail": "O elemento não é focalizável."
519
+ },
520
+ "no-implicit-explicit-label": {
521
+ "pass": "Não há nenhuma divergência entre <label> e o nome acessível",
522
+ "incomplete": "Verifique se o <label> não precisa fazer parte do nome do campo ARIA ${data}"
523
+ },
524
+ "unsupportedrole": {
525
+ "pass": "O ARIA 'role' é suportado",
526
+ "fail": "O 'role' usado não é amplamente suportado em leitores de tela e tecnologias assistivas: ${data.values}"
527
+ },
528
+ "valid-scrollable-semantics": {
529
+ "pass": "O elemento possui semântica válida para um elemento na ordem de foco.",
530
+ "fail": "O elemento possui semântica inválida para um elemento na ordem de foco."
531
+ },
532
+ "color-contrast": {
533
+ "pass": "O elemento tem contraste suficiente no valor de ${data.contrastRatio}",
534
+ "fail": "O elemento tem contraste insuficiente no valor de ${data.contrastRatio} (cor do primeiro plano: ${data.fgColor}, cor de fundo: ${data.bgColor}, tamanho da fonte: ${data.fontSize}, normal/negrito: ${data.fontWeight}). Contraste esperado no valor de ${data.expectedContrastRatio}",
535
+ "incomplete": {
536
+ "default": "Impossível determinar o contraste",
537
+ "bgImage": "A cor de fundo do elemento não pôde ser determinada devido a uma imagem de fundo",
538
+ "bgGradient": "A cor de fundo do elemento não pôde ser determinada devido a um gradiente de fundo",
539
+ "imgNode": "A cor de fundo do elemento não pôde ser determinada porque o elemento contém um nó de imagem",
540
+ "bgOverlap": "A cor de fundo do elemento não pôde ser determinada porque está sobreposta por outro elemento",
541
+ "fgAlpha": "A cor do primeiro plano do elemento não pôde ser determinada devido à transparência alfa",
542
+ "elmPartiallyObscured": "A cor de fundo do elemento não pôde ser determinada porque está parcialmente obscurecida por outro elemento",
543
+ "elmPartiallyObscuring": "A cor de fundo do elemento não pôde ser determinada porque está parcialmente sobreposta a outros elementos",
544
+ "outsideViewport": "A cor de fundo do elemento não pôde ser determinada porque está fora da 'viewport'",
545
+ "equalRatio": "O elemento tem um contraste de 1:1 com plano de fundo",
546
+ "shortTextContent": "O conteúdo do elemento é muito curto para determinar se é conteúdo de texto real",
547
+ "nonBmp": "O conteúdo do elemento contém apenas caracteres não textuais",
548
+ "pseudoContent": "A cor de fundo do elemento não pode ser determinada devido a um pseudo-elemento"
549
+ }
550
+ },
551
+ "color-contrast-enhanced": {
552
+ "pass": "O elemento tem contraste suficiente no valor de ${data.contrastRatio}",
553
+ "fail": "O elemento tem contraste insuficiente no valor de ${data.contrastRatio} (cor do primeiro plano: ${data.fgColor}, cor de fundo: ${data.bgColor}, tamanho da fonte: ${data.fontSize}, normal/negrito: ${data.fontWeight}). Contraste esperado no valor de ${data.expectedContrastRatio}",
554
+ "incomplete": {
555
+ "default": "Impossível determinar o contraste",
556
+ "bgImage": "A cor de fundo do elemento não pôde ser determinada devido a uma imagem de fundo",
557
+ "bgGradient": "A cor de fundo do elemento não pôde ser determinada devido a um gradiente de fundo",
558
+ "imgNode": "A cor de fundo do elemento não pôde ser determinada porque o elemento contém um nó de imagem",
559
+ "bgOverlap": "A cor de fundo do elemento não pôde ser determinada porque está sobreposta por outro elemento",
560
+ "fgAlpha": "A cor do primeiro plano do elemento não pôde ser determinada devido à transparência alfa",
561
+ "elmPartiallyObscured": "A cor de fundo do elemento não pôde ser determinada porque está parcialmente obscurecida por outro elemento",
562
+ "elmPartiallyObscuring": "A cor de fundo do elemento não pôde ser determinada porque está parcialmente sobreposta a outros elementos",
563
+ "outsideViewport": "A cor de fundo do elemento não pôde ser determinada porque está fora da 'viewport'",
564
+ "equalRatio": "O elemento tem um contraste de 1:1 com plano de fundo",
565
+ "shortTextContent": "O conteúdo do elemento é muito curto para determinar se é conteúdo de texto real",
566
+ "nonBmp": "O conteúdo do elemento contém apenas caracteres não textuais",
567
+ "pseudoContent": "A cor de fundo do elemento não pode ser determinada devido a um pseudo-elemento"
568
+ }
569
+ },
570
+ "link-in-text-block": {
571
+ "pass": "Links pode ser distinguidos do texto ao redor de outra maneira além da cor",
572
+ "fail": "Links precisam ser distinguidos do texto ao redor de outra maneira além da cor",
573
+ "incomplete": {
574
+ "default": "Impossível determinar o contraste",
575
+ "bgContrast": "O contraste do elemento não pôde ser determinado. Verifique se há um estilo distinto para 'hover'/'focus'.",
576
+ "bgImage": "O contraste do elemento não pôde ser determinado devido a uma imagem de fundo",
577
+ "bgGradient": "O contraste do elemento não pôde ser determinado devido a um gradiente de fundo",
578
+ "imgNode": "O contraste do elemento não pôde ser determinado porque o elemento contém um nó de imagem",
579
+ "bgOverlap": "O contraste do elemento não pôde ser determinado devido a uma sobreposição do elemento"
580
+ }
581
+ },
582
+ "autocomplete-appropriate": {
583
+ "pass": "o valor 'autocomplete' está em um elemento apropriado",
584
+ "fail": "o valor 'autocomplete' está em um elemento inapropriado para este tipo de entrada"
585
+ },
586
+ "autocomplete-valid": {
587
+ "pass": "o atributo 'autocomplete' está corretamente formatado",
588
+ "fail": "o atributo 'autocomplete' está incorretamente formatado"
589
+ },
590
+ "accesskeys": {
591
+ "pass": "O valor do atributo 'accesskey' é único",
592
+ "fail": "O documento tem múltiplos elementos com a mesma 'accesskey'"
593
+ },
594
+ "focusable-content": {
595
+ "pass": "O elemento contém elementos focalizáveis",
596
+ "fail": "O elemento deveria ter conteúdo focalizável"
597
+ },
598
+ "focusable-disabled": {
599
+ "pass": "Nenhum elemento focalizável contido no elemento",
600
+ "fail": "Conteúdo focalizável deve ser desabilitado ou removido do DOM"
601
+ },
602
+ "focusable-element": {
603
+ "pass": "O elemento é focalizável",
604
+ "fail": "O elemento deveria ser focalizável"
605
+ },
606
+ "focusable-modal-open": {
607
+ "pass": "Nenhum elemento focalizável enquanto um modal está aberto",
608
+ "incomplete": "Garanta que os elementos focalizáveis não estejam na ordem de tabulação no estado atual"
609
+ },
610
+ "focusable-no-name": {
611
+ "pass": "O elemento não está na ordem de tabulação ou tem texto acessível",
612
+ "fail": "O elemento está na ordem de tabulação e não tem nome acessível",
613
+ "incomplete": "Não foi possível determinar se o elemento tem um nome acessível"
614
+ },
615
+ "focusable-not-tabbable": {
616
+ "pass": "Nenhum elemento focalizável contido no elemento",
617
+ "fail": "Conteúdo focalizável deve ter tabindex='-1' ou ser removido do DOM"
618
+ },
619
+ "frame-focusable-content": {
620
+ "pass": "O elemento não tem descendentes focalizáveis",
621
+ "fail": "O elemento tem descendentes focalizáveis",
622
+ "incomplete": "Não foi possível determinar se o elemento tem descendentes"
623
+ },
624
+ "landmark-is-top-level": {
625
+ "pass": "A região ${data.role} está no nível principal.",
626
+ "fail": "A região ${data.role} está contida em outra região."
627
+ },
628
+ "no-focusable-content": {
629
+ "pass": "O elemento não tem descendentes focalizáveis",
630
+ "fail": "O elemento tem descendentes focalizáveis",
631
+ "incomplete": "Não foi possível determinar se o elemento tem descendentes"
632
+ },
633
+ "page-has-heading-one": {
634
+ "pass": "A página tem pelo menos um título de primeiro nível",
635
+ "fail": "A página deve ter pelo menos um título de primeiro nível"
636
+ },
637
+ "page-has-main": {
638
+ "pass": "O documento tem pelo menos uma região 'main'",
639
+ "fail": "O documento não tem uma região 'main'"
640
+ },
641
+ "page-no-duplicate-banner": {
642
+ "pass": "O documento não tem mais de uma região 'banner'",
643
+ "fail": "O documento tem mais de uma região 'banner'"
644
+ },
645
+ "page-no-duplicate-contentinfo": {
646
+ "pass": "O documento não tem mais de uma região 'contentinfo'",
647
+ "fail": "O documento tem mais de uma região 'contenteinfo'"
648
+ },
649
+ "page-no-duplicate-main": {
650
+ "pass": "O documento não tem mais de uma região 'main'",
651
+ "fail": "O documento tem mais de uma região 'main'"
652
+ },
653
+ "tabindex": {
654
+ "pass": "O elemento não tem um 'tabindex' maior do que 0",
655
+ "fail": "O elemento tem um 'tabindex' maior do que 0"
656
+ },
657
+ "alt-space-value": {
658
+ "pass": "O elemento tem um valor válido para o atributo 'alt'",
659
+ "fail": "O elemento tem um atributo 'alt' contendo apenas um caracter de espaço, o que não é ignorado por todos os leitores de tela"
660
+ },
661
+ "duplicate-img-label": {
662
+ "pass": "O elemento não duplica um texto existente no atributo 'alt' do elemento <img>",
663
+ "fail": "O elemento contém o elemento <img> com texto alternativo duplicando um texto existente"
664
+ },
665
+ "explicit-label": {
666
+ "pass": "O elemento de formulário tem um <label> explícito",
667
+ "fail": "O elemento de formulário não tem um <label> explícito",
668
+ "incomplete": "Não foi possível determinar se o elemento de formulário tem um <label> explícito"
669
+ },
670
+ "help-same-as-label": {
671
+ "pass": "O texto de ajuda ('title' ou 'aria-describedby') não duplica o texto do rótulo",
672
+ "fail": "O texto de ajuda ('title' ou 'aria-describedby') é o igual ao texto do rótulo"
673
+ },
674
+ "hidden-explicit-label": {
675
+ "pass": "O elemento de formulário tem um <label> explícito visível",
676
+ "fail": "O elemento de formulário tem um <label> explícito que está oculto",
677
+ "incomplete": "Não foi possível determinar se o elemento de formulário tem um <label> explícito que está oculto"
678
+ },
679
+ "implicit-label": {
680
+ "pass": "O elemento de formulário tem um <label> implícito (envolvido)",
681
+ "fail": "O elemento de formulário não tem <label> implícito (envolvido)",
682
+ "incomplete": "Não foi possível determinar se o elemento de formulário tem um <label> implícito (envolvido)"
683
+ },
684
+ "label-content-name-mismatch": {
685
+ "pass": "O elemento contém o texto visível como parte do seu nome acessível",
686
+ "fail": "O texto dentro do elemento não está incluído no nome acessível"
687
+ },
688
+ "multiple-label": {
689
+ "pass": "O campo de formulário não tem múltiplos elementos <label>",
690
+ "incomplete": "O uso de múltiplos elementos <label> não é amplamente suportado pelas tecnologias assistivas. Certifique-se de que o primeiro <label> contém toda a informação necessária."
691
+ },
692
+ "title-only": {
693
+ "pass": "Elementos de formulário não usam somente o atributo 'title' como seu rótulo",
694
+ "fail": "Apenas 'title' usado para gerar o rótulo do elemento de formulário"
695
+ },
696
+ "landmark-is-unique": {
697
+ "pass": "As regiões devem ter um 'role' ou combinação de 'role'/'label'/'title' (ou seja, nome acessível) únicos",
698
+ "fail": "A região deve ter um 'aria-label', 'aria-labelledby', ou 'title' único para tornar as regiões distinguíveis"
699
+ },
700
+ "has-lang": {
701
+ "pass": "O elemento <html> tem um atributo 'lang'",
702
+ "fail": {
703
+ "noXHTML": "O atributo 'xml:lang' não é válido em páginas HTML, use o atributo 'lang'.",
704
+ "noLang": "O elemento <html> não possui um atributo 'lang'"
705
+ }
706
+ },
707
+ "valid-lang": {
708
+ "pass": "O valor do atributo 'lang' está incluso na lista de idiomas válidos",
709
+ "fail": "O valor do atributo 'lang' não está incluso na lista de idiomas válidos"
710
+ },
711
+ "xml-lang-mismatch": {
712
+ "pass": "Os atributos 'lang' e 'xml:lang' têm o mesmo idioma base",
713
+ "fail": "Os atributos 'lang' e 'xml:lang' não têm o mesmo idioma base"
714
+ },
715
+ "dlitem": {
716
+ "pass": "O item da lista de descrição tem um elemento pai <dl>",
717
+ "fail": "O item da lista de descrição não tem um elemente pai <dl>"
718
+ },
719
+ "listitem": {
720
+ "pass": "O item de lista tem um elemento pai <ul>, <ol> ou role=\"list\"",
721
+ "fail": {
722
+ "default": "O item de lista não tem um elemento pai <ul> ou <ol>",
723
+ "roleNotValid": "O item de lista não tem um elemento pai <ul> ou <ol> sem um 'role', ou um role=\"list\""
724
+ }
725
+ },
726
+ "only-dlitems": {
727
+ "pass": "O elemento de lista tem somente filhos diretos que são permitidos dentro de elementos <dt> ou <dd>",
728
+ "fail": "O elemento de lista tem filhos diretos que não são permitidos dentro de elementos <dt> ou <dd>"
729
+ },
730
+ "only-listitems": {
731
+ "pass": "O elemento de lista tem somente filhos diretos que são permitidos dentro de elementos <li>",
732
+ "fail": {
733
+ "default": "O elemento de lista tem filhos diretos que não são permitidos dentro de elementos <li>",
734
+ "roleNotValid": "O elemento de lista tem filhos diretos com um 'role' que não é permitido: ${data.roles}"
735
+ }
736
+ },
737
+ "structured-dlitems": {
738
+ "pass": "Quando não vazio, o elemento tem ambos elementos <dt> e <dd>",
739
+ "fail": "Quando não vazio, o elemento não tem nem ao menos um elemento <dt> seguindo de pelo menos um elemento <dd>"
740
+ },
741
+ "caption": {
742
+ "pass": "O elemento multimídia tem uma trilha de legendas",
743
+ "incomplete": "Verifique se legendas estão disponíveis para o elemento"
744
+ },
745
+ "frame-tested": {
746
+ "pass": "O 'iframe' foi testado com o 'axe-core'",
747
+ "fail": "O 'iframe' não pôde ser testado com o 'axe-core'",
748
+ "incomplete": "O 'iframe' ainda tem que ser testado com o 'axe-core'"
749
+ },
750
+ "no-autoplay-audio": {
751
+ "pass": "Elementos <video> ou <audio> não reproduzem áudio por mais do que a duração permitida ou possuem mecanismos de controle",
752
+ "fail": "Elementos <video> ou <audio> reproduzem áudio por uma duração maior que a permitida ou não possuem mecanismos de controle",
753
+ "incomplete": "Garanta que elementos <video> ou <audio> não reproduzam áudio por mais do que a duração permitida ou disponibilize mecanismos de controle"
754
+ },
755
+ "css-orientation-lock": {
756
+ "pass": "A tela é operável, e o bloqueio da orientação não existe",
757
+ "fail": "Bloqueio de orientação CSS aplicado, o que torna a tela inoperável",
758
+ "incomplete": "Bloqueio de orientação CSS não pode ser determinado"
759
+ },
760
+ "meta-viewport-large": {
761
+ "pass": "A tag <meta> não impede o zoom significativo em dispositivos móveis",
762
+ "fail": "A tag <meta> limita o zoom em dispositivos móveis"
763
+ },
764
+ "meta-viewport": {
765
+ "pass": "A tag <meta> não desabilita o zoom em dispositivos móveis",
766
+ "fail": "${data} na tag <meta> desabilita o zoom em dispositivos móveis"
767
+ },
768
+ "header-present": {
769
+ "pass": "A página tem um cabeçalho (header)",
770
+ "fail": "A página não tem um cabeçalho (header)"
771
+ },
772
+ "heading-order": {
773
+ "pass": "Hierarquia de títulos válida",
774
+ "fail": "Hierarquia de títulos inválida"
775
+ },
776
+ "identical-links-same-purpose": {
777
+ "pass": "Não outros links com o mesmo nome, que direcionem para uma URL diferente",
778
+ "incomplete": "Verifique se os links têm o mesmo propósito ou são intencionalmente ambíguos."
779
+ },
780
+ "internal-link-present": {
781
+ "pass": "Link de escape válido encontrado",
782
+ "fail": "Nenhum link de escape válido encontrado"
783
+ },
784
+ "landmark": {
785
+ "pass": "A página tem uma região (landmark)",
786
+ "fail": "A página não tem nenhuma região (landmark)"
787
+ },
788
+ "meta-refresh": {
789
+ "pass": "A tag <meta> não atualiza a página imediatamente",
790
+ "fail": "A tag <meta> força atualizações temporizadas da página"
791
+ },
792
+ "p-as-heading": {
793
+ "pass": "Elementos <p> não são estilizados como títulos",
794
+ "fail": "Elementos de título devem ser utilizados no lugar de elementos <p> estilizados"
795
+ },
796
+ "region": {
797
+ "pass": "Todo o conteúdo da página está contido em regiões (landmarks)",
798
+ "fail": "Algum conteúdo da página não está contido em regiões (landmarks)"
799
+ },
800
+ "skip-link": {
801
+ "pass": "Destino do link de escape existe",
802
+ "incomplete": "Destino do link de escape deve se tornar visível na ativação",
803
+ "fail": "Nenhum destino para o link de escape"
804
+ },
805
+ "unique-frame-title": {
806
+ "pass": "O atributo 'title' do elemento é único",
807
+ "fail": "O atributo 'title' do elemento não é único"
808
+ },
809
+ "duplicate-id-active": {
810
+ "pass": "O documento não tem elementos ativos que compartilham o mesmo atributo 'id'",
811
+ "fail": "O documento tem elementos ativos com o mesmo atributo 'id': ${data}"
812
+ },
813
+ "duplicate-id-aria": {
814
+ "pass": "O documento não tem elementos referenciados com ARIA ou rótulos que compartilham o mesmo atributo 'id'",
815
+ "fail": "O documento tem múltiplos elementos referenciados com ARIA com o mesmo atributo 'id': ${data}"
816
+ },
817
+ "duplicate-id": {
818
+ "pass": "O documento não tem elementos estáticos que compartilham o mesmo atributo 'id'",
819
+ "fail": "O documento tem múltiplos elementos estáticos com o mesmo atributo 'id'"
820
+ },
821
+ "aria-label": {
822
+ "pass": "O atributo 'aria-label' existe e não está vazio",
823
+ "fail": "O atributo 'aria-label' não existe ou está vazio"
824
+ },
825
+ "aria-labelledby": {
826
+ "pass": "O atributo 'aria-labelledby' existe e referencia elementos que são visíveis aos leitores de tela",
827
+ "fail": "O atributo 'aria-labelledby' não existe, referencia elementos que não existem ou são vazios",
828
+ "incomplete": "certifique-se de que 'aria-labelledby' referencie um elemento existente"
829
+ },
830
+ "avoid-inline-spacing": {
831
+ "pass": "Nenhum estilo 'inline' com '!important' que afete o espaçamento do texto foi especificado",
832
+ "fail": {
833
+ "singular": "Remova '!important' do estilo 'inline' ${data.values}, uma vez que sobrepor isto não é suportado pela maioria dos navegadores",
834
+ "plural": "Remova '!important' dos estilos 'inline' ${data.values}, uma vez que sobrepor isto não é suportado pela maioria dos navegadores"
835
+ }
836
+ },
837
+ "button-has-visible-text": {
838
+ "pass": "O elemento tem texto interno que é visível aos leitores de tela",
839
+ "fail": "O elemento não tem texto interno que seja visível aos leitores de tela",
840
+ "incomplete": "Não foi possível determinar se o elemento tem filhos"
841
+ },
842
+ "doc-has-title": {
843
+ "pass": "O documento tem um elemento <title> não vazio",
844
+ "fail": "O documento não tem um elemento <title> não vazio"
845
+ },
846
+ "exists": {
847
+ "pass": "O elemento não existe",
848
+ "incomplete": "O elemento existe"
849
+ },
850
+ "has-alt": {
851
+ "pass": "O elemento tem um atributo 'alt'",
852
+ "fail": "O elemento não tem um atributo 'alt'"
853
+ },
854
+ "has-visible-text": {
855
+ "pass": "O elemento tem texto que é visível aos leitores de tela",
856
+ "fail": "O elemento não tem texto que seja visível aos leitores de tela",
857
+ "incomplete": "Não foi possível determinar se o elemento tem filhos"
858
+ },
859
+ "is-on-screen": {
860
+ "pass": "O elemento não é visível",
861
+ "fail": "O elemento é visível"
862
+ },
863
+ "non-empty-alt": {
864
+ "pass": "O elemento tem um atributo 'alt' não vazio",
865
+ "fail": {
866
+ "noAttr": "O elemento não tem um atributo 'alt'",
867
+ "emptyAttr": "O elemento tem um atributo 'alt' vazio"
868
+ }
869
+ },
870
+ "non-empty-if-present": {
871
+ "pass": {
872
+ "default": "O elemento tem um atributo 'value",
873
+ "has-label": "O elemento tem um atributo 'value' não vazio"
874
+ },
875
+ "fail": "O elemento tem um atributo 'value' e ele está vazio"
876
+ },
877
+ "non-empty-placeholder": {
878
+ "pass": "O elemento tem um atributo 'placeholder'",
879
+ "fail": {
880
+ "noAttr": "O elemento não tem um atributo 'placeholder'",
881
+ "emptyAttr": "O elemento tem um atributo 'placeholder' vazio"
882
+ }
883
+ },
884
+ "non-empty-title": {
885
+ "pass": "O elemento tem um atributo 'title'",
886
+ "fail": {
887
+ "noAttr": "O elemento não tem um atributo 'title'",
888
+ "emptyAttr": "O elemento tem um atributo 'title' vazio"
889
+ }
890
+ },
891
+ "non-empty-value": {
892
+ "pass": "O elemento tem um atributo 'value' não vazio",
893
+ "fail": {
894
+ "noAttr": "O elemento não tem um atributo 'value'",
895
+ "emptyAttr": "O elemento tem um atributo 'value' vazio"
896
+ }
897
+ },
898
+ "presentational-role": {
899
+ "pass": "A semântica padrão do elemento foi sobrescrita com role=\"${data.role}\"",
900
+ "fail": {
901
+ "default": "A semântica padrão do elemento não foi sobrescrita com role=\"none\" or role=\"presentation\"",
902
+ "globalAria": "A função do elemento não é de apresentação pois ele tem um atributo ARIA global",
903
+ "focusable": "A função do elemento não é de apresentação pois ele é focalizável",
904
+ "both": "A função do elemento não é de apresentação pois ele tem um atributo ARIA global e é focalizável"
905
+ }
906
+ },
907
+ "role-none": {
908
+ "pass": "A semântica padrão do elemento foi sobrescrita com role=\"none\"",
909
+ "fail": "A semântica padrão do elemento não foi sobrescrita com role=\"none\""
910
+ },
911
+ "role-presentation": {
912
+ "pass": "A semântica padrão do elemento foi sobrescrita com role=\"presentation\"",
913
+ "fail": "A semântica padrão do elemento não foi sobrescrita com role=\"presentation\""
914
+ },
915
+ "svg-non-empty-title": {
916
+ "pass": "O elemento tem um filho <title>",
917
+ "fail": {
918
+ "noTitle": "O elemento não tem um filho que seja 'title'",
919
+ "emptyTitle": "O 'title' filho do elemento está vazio"
920
+ },
921
+ "incomplete": "Não foi possível determinar se o elemento tem um filho que seja um 'title'"
922
+ },
923
+ "caption-faked": {
924
+ "pass": "A primeira linha de uma tabela não é usada como legenda",
925
+ "fail": "O primeiro elemento da tabela deve ser um <caption> em vez de uma célula da tabela"
926
+ },
927
+ "html5-scope": {
928
+ "pass": "O atributo 'scope' só é utilizado em elementos de cabeçalho de tabela (<th>)",
929
+ "fail": "No HTML 5, os atributos 'scope' só devem ser utilizados em elementos de cabeçalho de tabela (<th>)"
930
+ },
931
+ "same-caption-summary": {
932
+ "pass": "O conteúdo do atributo 'summary' e <caption> não estão duplicados",
933
+ "fail": "O conteúdo do atributo 'summary' e <caption> são idênticos"
934
+ },
935
+ "scope-value": {
936
+ "pass": "O atributo 'scope' é usado corretamente",
937
+ "fail": "O valor do atributo 'scope' pode ser apenas 'row' ou 'col'"
938
+ },
939
+ "td-has-header": {
940
+ "pass": "Todos as células de dados não vazias possuem cabeçalhos",
941
+ "fail": "Algumas células de dados não vazias não possuem cabeçalho"
942
+ },
943
+ "td-headers-attr": {
944
+ "pass": "O atributo 'headers' é usado exclusivamente para referenciar outras células da tabela",
945
+ "incomplete": "O atributo 'headers' está vazio",
946
+ "fail": "O atributo 'headers' não é usado exclusivamente para referenciar outras células da tabela"
947
+ },
948
+ "th-has-data-cells": {
949
+ "pass": "Todas as células de cabeçalho da tabela se referem a células de dados",
950
+ "fail": "Nem todas as células de cabeçalho da tabela se referem a células de dados",
951
+ "incomplete": "Células de dados da tabela estão ausentes ou vazias"
952
+ },
953
+ "hidden-content": {
954
+ "pass": "Todo o conteúdo da página foi analisado.",
955
+ "fail": "Houve problemas ao analisar o conteúdo desta página.",
956
+ "incomplete": "Existe conteúdo oculto na página que não foi analisado. Será preciso provocar a exibição deste conteúdo para poder analisá-lo."
957
+ }
958
+ },
959
+ "failureSummaries": {
960
+ "any": {
961
+ "failureMessage": "Corrija qualquer um dos itens a seguir:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
962
+ },
963
+ "none": {
964
+ "failureMessage": "Corrija todos os itens a seguir:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
965
+ }
966
+ },
967
+ "incompleteFallbackMessage": "Corrija todos os itens a seguir:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
882
968
  }