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,623 +1,934 @@
1
1
  {
2
- "lang": "de",
3
- "rules": {
4
- "accesskeys": {
5
- "description": "",
6
- "help": "Der Wert des accesskey-Attributes muss einzigartig sein."
7
- },
8
- "area-alt": {
9
- "description": "",
10
- "help": "Aktive <area>-Elemente müssen einen Alternativtext besitzen."
11
- },
12
- "aria-allowed-attr": {
13
- "description": "",
14
- "help": "Elemente dürfen nur erlaubte ARIA-Attribute verwenden."
15
- },
16
- "aria-dpub-role-fallback": {
17
- "description": "",
18
- "help": "Nicht unterstützte DPUB ARIA-Rollen sollten in Elementen mit impliziten Fallback-Rollen verwendet werden."
19
- },
20
- "aria-hidden-body": {
21
- "description": "",
22
- "help": "Aria-hidden='true' darf nicht für den <body> des Dokumentes verwendet werden."
23
- },
24
- "aria-required-attr": {
25
- "description": "",
26
- "help": "Erforderliche ARIA-Attribute müssen bereitgestellt werden."
27
- },
28
- "aria-required-children": {
29
- "description": "",
30
- "help": "Bestimmte ARIA-Rollen müssen spezifische, untergeordnete Kind-Rollen enthalten."
31
- },
32
- "aria-required-parent": {
33
- "description": "",
34
- "help": "Bestimmte ARIA-Rollen müssen in spezifischen, übergeordneten Eltern-Rollen enthalten sein."
35
- },
36
- "aria-roles": {
37
- "description": "",
38
- "help": "Verwendete ARIA-Rollen müssen gültigen Werten entsprechen."
39
- },
40
- "aria-valid-attr-value": {
41
- "description": "",
42
- "help": "Verwendete ARIA-Attribute müssen gültigen Werten entsprechen."
43
- },
44
- "aria-valid-attr": {
45
- "description": "",
46
- "help": "Verwendete ARIA-Attribute müssen gültigen Namen entsprechen."
47
- },
48
- "audio-caption": {
49
- "description": "",
50
- "help": "<audio>-Elemente müssen eine Untertitelung (captions track) besitzen."
51
- },
52
- "blink": {
53
- "description": "",
54
- "help": "<blink>-Elemente sind veraltet und dürfen nicht verwendet werden."
55
- },
56
- "button-name": {
57
- "description": "",
58
- "help": "Schaltflächen müssen wahrnehmbaren Text enthalten."
59
- },
60
- "bypass": {
61
- "description": "",
62
- "help": "Die Seite muss Wege bereitstellen, um mehrfache Blöcke zu übergehen."
63
- },
64
- "checkboxgroup": {
65
- "description": "",
66
- "help": "Checkbox-Eingaben mit demselben name-Attributwert müssen Teil einer Gruppe sein."
67
- },
68
- "color-contrast": {
69
- "description": "",
70
- "help": "Elemente müssen einen ausreichenden Farbkontrast haben."
71
- },
72
- "definition-list": {
73
- "description": "",
74
- "help": "<dl>-Elemente dürfen unmittelbar nur korrekt verschachtelte <dt>- und <dd>-Gruppen, <script>- oder <template>-Elemente enthalten."
75
- },
76
- "dlitem": {
77
- "description": "",
78
- "help": "<dt>- und <dd>-Elemente müssen in einem <dl>-Element enthalten sein."
79
- },
80
- "document-title": {
81
- "description": "Stellt sicher, dass jedes HTML-Dokument einen nicht leeres <title>-Element besitzt.",
82
- "help": "Dokumente müssen ein <title>-Element besitzen, um die Navigation zu erleichtern."
83
- },
84
- "duplicate-id": {
85
- "description": "",
86
- "help": "Der Wert des id-Attributes muss einzigartig sein."
87
- },
88
- "empty-heading": {
89
- "description": "",
90
- "help": "Überschriften dürfen nicht leer sein."
91
- },
92
- "focus-order-semantics": {
93
- "description": "",
94
- "help": "Elemente in der Fokusreihenfolge benötigen eine Rolle, die für interaktive Elemente geeignet ist."
95
- },
96
- "frame-tested": {
97
- "description": "",
98
- "help": "Frames müssen mit axe-core getestet werden."
99
- },
100
- "frame-title-unique": {
101
- "description": "",
102
- "help": "Frames müssen ein einzigartiges title-Attribut besitzen."
103
- },
104
- "frame-title": {
105
- "description": "",
106
- "help": "Frames müssen ein title-Attribut besitzen."
107
- },
108
- "heading-order": {
109
- "description": "",
110
- "help": "Überschriftsebenen sollten nur um eins steigen."
111
- },
112
- "hidden-content": {
113
- "description": "",
114
- "help": "Versteckter Inhalt auf der Seite konnte nicht analysiert werden."
115
- },
116
- "html-has-lang": {
117
- "description": "",
118
- "help": "Das <html>-Element muss ein lang-Attribut besitzen."
119
- },
120
- "html-lang-valid": {
121
- "description": "",
122
- "help": "Das <html>-Element muss einen gültigen Attributwert für das lang-Attribut besitzen."
123
- },
124
- "image-alt": {
125
- "description": "",
126
- "help": "Abbildungen müssen einen Alternativtext besitzen."
127
- },
128
- "image-redundant-alt": {
129
- "description": "",
130
- "help": "Der Text von Schaltflächen oder Links sollte in der Abbildungsalternative nicht wiederholt werden."
131
- },
132
- "input-image-alt": {
133
- "description": "",
134
- "help": "Bild-Schaltflächen müssen einen Alternativtext besitzen."
135
- },
136
- "label-title-only": {
137
- "description": "",
138
- "help": "Formularelemente sollten eine sichtbare Beschriftung haben."
139
- },
140
- "label": {
141
- "description": "",
142
- "help": "Formularelemente müssen eine Beschriftung haben."
143
- },
144
- "landmark-banner-is-top-level": {
145
- "description": "",
146
- "help": "Banner landmark muss sich auf der obersten Ebene befinden."
147
- },
148
- "landmark-contentinfo-is-top-level": {
149
- "description": "",
150
- "help": "Contentinfo landmark muss sich auf der obersten Ebene befinden."
151
- },
152
- "landmark-main-is-top-level": {
153
- "description": "",
154
- "help": "Main landmark ist nicht auf der obersten Ebene."
155
- },
156
- "landmark-no-duplicate-banner": {
157
- "description": "",
158
- "help": "Das Dokument sollte höchstens eine banner landmark enthalten."
159
- },
160
- "landmark-no-duplicate-contentinfo": {
161
- "description": "",
162
- "help": "Das Dokument sollte höchstens eine contentinfo landmark enthalten."
163
- },
164
- "landmark-one-main": {
165
- "description": "",
166
- "help": "Seite muss eine main landmark enthalten."
167
- },
168
- "layout-table": {
169
- "description": "",
170
- "help": "Layouttabellen dürfen keine Datentabellenelemente verwenden."
171
- },
172
- "link-in-text-block": {
173
- "description": "",
174
- "help": "Links müssen vom umgebenden Text auf eine Weise unterschieden werden können, die nicht allein auf Farbe beruht."
175
- },
176
- "link-name": {
177
- "description": "",
178
- "help": "Links müssen wahrnehmbaren Text enthalten."
179
- },
180
- "list": {
181
- "description": "",
182
- "help": "<ul>- und <ol>-Elemente dürfen unmittelbar nur <li>-, <script>- oder <template>-Elemente enthalten."
183
- },
184
- "listitem": {
185
- "description": "",
186
- "help": "<li>-Elemente müssen in einem <ul>- oder <ol>-Element enthalten sein."
187
- },
188
- "marquee": {
189
- "description": "",
190
- "help": "<marquee>-Elemente sind veraltet und dürfen nicht verwendet werden."
191
- },
192
- "meta-refresh": {
193
- "description": "",
194
- "help": "Eine zeitgesteuerte Aktualisierung (refresh) sollte nicht verwendet werden."
195
- },
196
- "meta-viewport-large": {
197
- "description": "",
198
- "help": "Benutzer sollten in der Lage sein, den Text um bis zu 500% vergrößern und skalieren zu können."
199
- },
200
- "meta-viewport": {
201
- "description": "",
202
- "help": "Zoomen und Skalieren darf nicht deaktiviert werden."
203
- },
204
- "object-alt": {
205
- "description": "",
206
- "help": "<object>-Elemente müssen einen Alternativtext besitzen."
207
- },
208
- "p-as-heading": {
209
- "description": "",
210
- "help": "Die Schriftschnitte bold und italic sowie die Schriftgröße dürfen nicht verwendet werden, um <p>-Elemente wie Überschriften zu formatieren."
211
- },
212
- "page-has-heading-one": {
213
- "description": "",
214
- "help": "Die Seite muss eine Überschrift erster Ebene enthalten."
215
- },
216
- "radiogroup": {
217
- "description": "",
218
- "help": "Radio-Eingaben mit demselben name-Attributwert müssen Teil einer Gruppe sein."
219
- },
220
- "region": {
221
- "description": "",
222
- "help": "Inhalte sollten in einer landmark region enthalten sein."
223
- },
224
- "scope-attr-valid": {
225
- "description": "",
226
- "help": "Das scope-Attribut sollte korrekt verwendet werden."
227
- },
228
- "server-side-image-map": {
229
- "description": "",
230
- "help": "Serverseitige Imagemaps dürfen nicht verwendet werden."
231
- },
232
- "skip-link": {
233
- "description": "",
234
- "help": "Das Ziel eines Sprunglinks sollte existieren und fokussierbar sein."
235
- },
236
- "tabindex": {
237
- "description": "",
238
- "help": "Elemenete sollten keinen tabindex besitzen, der größer als null ist."
239
- },
240
- "table-duplicate-name": {
241
- "description": "",
242
- "help": "Das <caption>-Element sollte nicht den gleichen Text wie das summary-Attribut enthalten."
243
- },
244
- "table-fake-caption": {
245
- "description": "",
246
- "help": "Daten- oder Kopfzellen sollten nicht verwendet werden, um einer Datentabelle eine Überschrift zu geben."
247
- },
248
- "td-has-header": {
249
- "description": "",
250
- "help": "In Tabellen, die größer als 3 mal 3 sind, müssen alle nicht leeren <td>-Elemente einen zugehörigen Tabellenkopf haben."
251
- },
252
- "td-headers-attr": {
253
- "description": "",
254
- "help": "Innerhalb eines <table>-Elementes dürfen sich Zellen, die das header-Attribut verwenden, nur auf andere Zellen derselben Tabelle beziehen."
255
- },
256
- "th-has-data-cells": {
257
- "description": "",
258
- "help": "Alle <th>-Elemente sowie Elemente mit role=columnheader/rowheader müssen Datenzellen haben, die sie beschreiben."
259
- },
260
- "valid-lang": {
261
- "description": "",
262
- "help": "Das lang-Attribut muss einen gültigen Wert haben."
263
- },
264
- "video-caption": {
265
- "description": "",
266
- "help": "<video>-Elemente müssen Untertitel besitzen."
267
- },
268
- "video-description": {
269
- "description": "",
270
- "help": "<video>-Elemente müssen eine Audiodeskription besitzen."
271
- }
272
- },
273
- "checks": {
274
- "abstractrole": {
275
- "pass": "",
276
- "fail": "Abstrakte ARIA-Rollen dürfen nicht direkt verwendet werden."
277
- },
278
- "aria-allowed-attr": {
279
- "pass": "",
280
- "fail": "Die folgenden ARIA-Attribute sind (für die ARIA-Rolle des Elementes) nicht erlaubt:{{~it.data:value}} {{=value}}{{~}}."
281
- },
282
- "aria-hidden-body": {
283
- "pass": "",
284
- "fail": "Das <body>-Element des Dokumentes darf nicht das Attribut aria-hidden=\"true\" besitzen."
285
- },
286
- "aria-errormessage": {
287
- "pass": "",
288
- "fail": "Der Wert der aria-errormessage {{~it.data:value}} `{{=value}}{{~}}` muss eine Technik verwenden, um die Message anzukündigen (z. B., aria-live, aria-describedby, role=alert, etc.)."
289
- },
290
- "has-widget-role": {
291
- "pass": "",
292
- "fail": "Das Element besitzt keine widget-Rolle."
293
- },
294
- "implicit-role-fallback": {
295
- "pass": "",
296
- "fail": "Die implizite ARIA-Rolle des Elementes ist keine gute Alternative für die (nicht unterstützte) Rolle."
297
- },
298
- "invalidrole": {
299
- "pass": "",
300
- "fail": "Die Rolle des Elementes ist keine valide ARIA-Rolle."
301
- },
302
- "aria-required-attr": {
303
- "pass": "",
304
- "fail": "Die folgenden erforderlichen ARIA-Attribute sind nicht vorhanden:{{~it.data:value}} {{=value}}{{~}}."
305
- },
306
- "aria-required-children": {
307
- "pass": "",
308
- "fail": "Die folgenden erforderlichen untergeordneten ARIA-Rollen (ARIA-Kind-Rollen) sind nicht vorhanden:{{~it.data:value}} {{=value}}{{~}}."
309
- },
310
- "aria-required-parent": {
311
- "pass": "",
312
- "fail": "Die folgenden erforderlichen übergeordneten ARIA-Rollen (ARIA-Eltern-Rollen) sind nicht vorhanden:{{~it.data:value}} {{=value}}{{~}}."
313
- },
314
- "aria-valid-attr-value": {
315
- "pass": "",
316
- "fail": "Folgende ARIA-Attributwerte sind nicht valide:{{~it.data:value}} {{=value}}{{~}}."
317
- },
318
- "aria-valid-attr": {
319
- "pass": "",
320
- "fail": "Folgende ARIA-Attributnamen sind nicht valide:{{~it.data:value}} {{=value}}{{~}}"
321
- },
322
- "valid-scrollable-semantics": {
323
- "pass": "",
324
- "fail": "Das Element hat eine ungültige Semantik für ein Element in der Fokusreihenfolge."
325
- },
326
- "color-contrast": {
327
- "pass": "",
328
- "fail": "Das Element hat einen unzureichenden Kontrast von {{=it.data.contrastRatio}} (Vordergrundfarbe: {{=it.data.fgColor}}, Hintergrundfarbe: {{=it.data.bgColor}}, Schriftgröße: {{=it.data.fontSize}}, Schriftstärke: {{=it.data.fontWeight}}).",
329
- "incomplete": {
330
- "bgImage": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
331
- "bgGradient": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundfarbverlaufes nicht bestimmt werden.",
332
- "imgNode": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da das Element einen Image Node enthält.",
333
- "bgOverlap": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da es von einem anderen Element überlagert wird.",
334
- "fgAlpha": "Die Vordergrundfarbe des Elementes konnte aufgrund der Alpha-Transparenz nicht ermittelt werden.",
335
- "elmPartiallyObscured": "",
336
- "equalRatio": "",
337
- "default": "Das Kontrastverhältnis konnte nicht ermittelt werden."
338
- }
339
- },
340
- "link-in-text-block": {
341
- "pass": "",
342
- "fail": "Links können (abgesehen von einer farblichen Kennzeichnung) nicht vom umgebenden Text unterschieden werden.",
343
- "incomplete": {
344
- "bgContrast": "Das Kontrastverhältnis des Elements konnte nicht bestimmt werden. Suchen Sie nach einem bestimmten Hover/Fokus-Stil.",
345
- "bgImage": "Das Kontrastverhältnis des Elements konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
346
- "bgGradient": "Das Kontrastverhältnis des Elements konnte aufgrund eines Hintergrundfarbverlaufes nicht bestimmt werden.",
347
- "imgNode": "Das Kontrastverhältnis des Elements konnte nicht bestimmt werden, da das Element einen Image Node enthält.",
348
- "bgOverlap": "Das Kontrastverhältnis des Elements konnte aufgrund einer Überlagerung nicht bestimmt werden.",
349
- "default": "Das Kontrastverhältnis konnte nicht ermittelt werden."
350
- }
351
- },
352
- "fieldset": {
353
- "pass": "",
354
- "fail": "{{var code = it.data && it.data.failureCode;}}{{? code === 'no-legend'}}Das Fieldset besitzt kein <legend>-Element als erstes Kindelement{{?? code === 'empty-legend'}}Das <legend>-Element enthält keinen Text, der für Screenreader sichtbar ist{{?? code === 'mixed-inputs'}}Das Fieldset besitzt unerlaubte Inputs{{?? code === 'no-group-label'}}Die ARIA-Gruppe besitzt kein aria-label- oder aria-labelledby-Attribut{{?? code === 'group-mixed-inputs'}}Die ARIA-Gruppe besitzt unerlaubte Inputs{{??}}Das Element besitzt kein(e) fieldset oder ARIA-Gruppe {{?}}"
355
- },
356
- "group-labelledby": {
357
- "pass": "",
358
- "fail": "Die Elemente mit dem name-Attribut \"{{=it.data.name}}\" referenzieren mit aria-labelledby nicht alle dasselbe Element."
359
- },
360
- "accesskeys": {
361
- "pass": "",
362
- "fail": "Das Dokument enthält mehrere Elemente mit demselben accesskey-Attribut."
363
- },
364
- "focusable-no-name": {
365
- "pass": "",
366
- "fail": "Das Element befindet sich in der Tabreihenfolge und enthält keinen erreichbaren Text."
367
- },
368
- "landmark-is-top-level": {
369
- "pass": "",
370
- "fail": "Die {{=it.data.role }} landmark befindet sich innerhalb einer anderen landmark."
371
- },
372
- "page-has-heading-one": {
373
- "pass": "",
374
- "fail": "Die Seite muss eine Überschrift erster Ebene besitzen."
375
- },
376
- "page-has-main": {
377
- "pass": "",
378
- "fail": "Die Seite muss eine main landmark besitzen."
379
- },
380
- "page-no-duplicate-banner": {
381
- "pass": "",
382
- "fail": "Das Dokument besitzt mehr als eine banner landmark."
383
- },
384
- "page-no-duplicate-contentinfo": {
385
- "pass": "",
386
- "fail": "Das Dokument besitzt mehr als eine contentinfo landmark."
387
- },
388
- "page-no-duplicate-main": {
389
- "pass": "",
390
- "fail": "Das Dokument besitzt mehr als eine main landmark."
391
- },
392
- "tabindex": {
393
- "pass": "",
394
- "fail": "Das Element besitzt einen tabindex-Attributwert größer als 0."
395
- },
396
- "duplicate-img-label": {
397
- "pass": "",
398
- "fail": "Das Element besitzt ein <img>-Element mit Alternativtext, der vorhandenen Text wiederholt."
399
- },
400
- "explicit-label": {
401
- "pass": "",
402
- "fail": "Das <form>-Element besitzt kein explizites <label>."
403
- },
404
- "help-same-as-label": {
405
- "pass": "",
406
- "fail": "Der Hilfstext (angegeben durch ein title- oder aria-describedby-Attribut) wiederholt den Label-Text."
407
- },
408
- "implicit-label": {
409
- "pass": "",
410
- "fail": "Das <form>-Element besitzt kein implizites <label>."
411
- },
412
- "multiple-label": {
413
- "pass": "",
414
- "fail": "Das <form>-Element besitzt mehrere <label>-Elemente."
415
- },
416
- "title-only": {
417
- "pass": "",
418
- "fail": "Das <form>-Element ist lediglich durch ein title-Attribut beschriftet."
419
- },
420
- "has-lang": {
421
- "pass": "",
422
- "fail": "Das <html>-Element besitzt kein lang-Attribut."
423
- },
424
- "valid-lang": {
425
- "pass": "",
426
- "fail": "Der Wert des lang-Attributes ist nicht valide."
427
- },
428
- "dlitem": {
429
- "pass": "",
430
- "fail": "Der Definitionslisteneintrag besitzt kein <dl>-Elternelement."
431
- },
432
- "listitem": {
433
- "pass": "",
434
- "fail": "Der Listeneintrag besitzt kein <ul>-, <ol>- oder role=\"list\" Elternelement."
435
- },
436
- "only-dlitems": {
437
- "pass": "",
438
- "fail": "Das <dl>-Element enthält unerlaubte Kindelemente."
439
- },
440
- "only-listitems": {
441
- "pass": "",
442
- "fail": "Das Listen-Element enthält unerlaubte Kindelemente."
443
- },
444
- "structured-dlitems": {
445
- "pass": "",
446
- "fail": "Das Definitionslisten-Element enthält nicht mindestens ein <dt>-Element, gefolgt von mindestens einem <dd>-Element (wenn es nicht leer ist)."
447
- },
448
- "caption": {
449
- "pass": "",
450
- "fail": "Das Multimedia-Element enthält keine Untertitelung (captions track) zur Beschreibung der Audio-Inhalte.",
451
- "incomplete": "Für das Element konnte keine Untertitelung (captions track) gefunden werden."
452
- },
453
- "description": {
454
- "pass": "",
455
- "fail": "Das Multimedia-Element enthält keine Deskriptionsspur zur Beschreibung der visuellen Inhalte.",
456
- "incomplete": "Für das Element konnte keine Audio-Deskriptionsspur gefunden werden."
457
- },
458
- "frame-tested": {
459
- "pass": "",
460
- "fail": "Das iFrame konnte nicht mit axe-core getestet werden.",
461
- "incomplete": "Das iFrame muss noch mit axe-core getestet werden."
462
- },
463
- "meta-viewport-large": {
464
- "pass": "",
465
- "fail": "Die viewport-Einstellungen im <meta>-Tag schränken das Zoomen auf mobilen Geräten ein."
466
- },
467
- "meta-viewport": {
468
- "pass": "",
469
- "fail": "Die viewport-Einstellungen im <meta>-Tag blockieren das Zoomen auf mobilen Geräten."
470
- },
471
- "header-present": {
472
- "pass": "",
473
- "fail": "Die Seite besitzt keinen header."
474
- },
475
- "heading-order": {
476
- "pass": "",
477
- "fail": "Die Überschriftenstruktur ist nicht valide."
478
- },
479
- "internal-link-present": {
480
- "pass": "",
481
- "fail": "Kein gültiger Skip-Link gefunden."
482
- },
483
- "landmark": {
484
- "pass": "",
485
- "fail": "Die Seite besitzt keine landmark region."
486
- },
487
- "meta-refresh": {
488
- "pass": "",
489
- "fail": "Das <meta>-Tag erzwingt eine zeitgesteuerte Aktualisierung der Seite."
490
- },
491
- "p-as-heading": {
492
- "pass": "",
493
- "fail": "Anstelle eines Überschriftenelementes wird lediglich ein durch Formatierungen hervorgehobenes <p>-Element verwendet."
494
- },
495
- "region": {
496
- "pass": "",
497
- "fail": "Der Inhalt befindet sich nicht in einer ARIA landmark."
498
- },
499
- "skip-link": {
500
- "pass": "",
501
- "fail": "Es existiert kein Ziel für den Sprunglink."
502
- },
503
- "unique-frame-title": {
504
- "pass": "",
505
- "fail": "Das title-Attribut des Elementes ist nicht einmalig."
506
- },
507
- "aria-label": {
508
- "pass": "",
509
- "fail": "Es existiert kein aria-label-Attribut oder das Attribut ist leer."
510
- },
511
- "aria-labelledby": {
512
- "pass": "",
513
- "fail": "Das aria-labelledby-Attribut existiert nicht oder referenziert ein Element, das nicht existiert, nicht sichtbar oder leer ist."
514
- },
515
- "button-has-visible-text": {
516
- "pass": "",
517
- "fail": "Das Element besitzt keinen Text, der für Screenreader sichtbar ist."
518
- },
519
- "doc-has-title": {
520
- "pass": "Test",
521
- "fail": "Das Dokument besitzt kein <title>-Element oder das <title>-Element ist leer."
522
- },
523
- "duplicate-id": {
524
- "pass": "",
525
- "fail": "Das Dokument besitzt mehrere Elemente mit demselben id-Attributwert: {{=it.data}}."
526
- },
527
- "exists": {
528
- "pass": "",
529
- "fail": "Das Element existiert."
530
- },
531
- "has-alt": {
532
- "pass": "",
533
- "fail": "Das Element besitzt kein alt-Attribut."
534
- },
535
- "has-visible-text": {
536
- "pass": "",
537
- "fail": "Das Element besitzt keinen Text, der für Screenreader sichtbar ist."
538
- },
539
- "is-on-screen": {
540
- "pass": "",
541
- "fail": "Das Element ist sichtbar."
542
- },
543
- "non-empty-alt": {
544
- "pass": "",
545
- "fail": "Das Element besitzt kein alt-Attribut oder das alt-Attribut ist leer."
546
- },
547
- "non-empty-if-present": {
548
- "pass": "",
549
- "fail": "Das Element besitzt ein value-Attribut und das value-Attribut ist leer."
550
- },
551
- "non-empty-title": {
552
- "pass": "",
553
- "fail": "Das Element besitzt kein title-Attribut oder das title-Attribut ist leer."
554
- },
555
- "non-empty-value": {
556
- "pass": "",
557
- "fail": "Das Element besitzt kein value-Attribut oder das value-Attribut ist leer."
558
- },
559
- "role-none": {
560
- "pass": "",
561
- "fail": "Die Standard-Semantik des Elementes ist nicht mit role=\"none\" überschrieben."
562
- },
563
- "role-presentation": {
564
- "pass": "",
565
- "fail": "Die Standard-Semantik des Elementes ist nicht mit role=\"presentation\" überschrieben."
566
- },
567
- "caption-faked": {
568
- "pass": "",
569
- "fail": "Die erste Zeile der Tabelle sollte eine Tabellenüberschrift anstelle einer Tabellenzelle sein."
570
- },
571
- "has-caption": {
572
- "pass": "",
573
- "fail": "Die Layout-Tabelle besitzt ein <caption>-Element."
574
- },
575
- "has-summary": {
576
- "pass": "",
577
- "fail": "Die Layout-Tabelle besitzt ein summary-Attribut."
578
- },
579
- "has-th": {
580
- "pass": "",
581
- "fail": "Die Layout-Tabelle besitzt ein oder mehrere <th>-Elemente."
582
- },
583
- "html5-scope": {
584
- "pass": "",
585
- "fail": "In HTML5 dürfen scope-Attribute lediglich für Tabellenkopfzellen <th> verwendet werden."
586
- },
587
- "same-caption-summary": {
588
- "pass": "",
589
- "fail": "Die Inhalte des summary-Attributes und des <caption>-Elementes sind identisch."
590
- },
591
- "scope-value": {
592
- "pass": "",
593
- "fail": "Das <td>-Element besitzt ein scope-Attribut. In HTML5 dürfen scope-Attribute jedoch lediglich für Tabellenkopfzellen <th> verwendet werden."
594
- },
595
- "td-has-header": {
596
- "pass": "",
597
- "fail": "Nicht alle (nicht-leeren) Datenzellen haben eine Tabellenkopfzelle."
598
- },
599
- "td-headers-attr": {
600
- "pass": "",
601
- "fail": "Das headers-Attribut wird nicht ausschließlich dafür verwendet, um auf andere Zellen in der Tabelle zu verweisen."
602
- },
603
- "th-has-data-cells": {
604
- "pass": "",
605
- "fail": "Nicht alle Tabellenkopfzellen beziehen sich auf Datenzellen. ",
606
- "incomplete": "Datenzellen der Tabelle fehlen oder sind leer."
607
- },
608
- "hidden-content": {
609
- "pass": "",
610
- "fail": "Beim Analysieren der Inhalte auf dieser Seite sind Probleme aufgetreten.",
611
- "incomplete": "Auf der Seite befinden sich versteckte Inhalte, die nicht analysiert werden konnten. Um den Inhalt analysieren zu können, müssen Sie die Anzeige auslösen."
612
- }
613
- },
614
- "failureSummaries": {
615
- "any": {
616
- "failureMessage": "Korrigiere mindestens einen der folgenden Punkte:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
617
- },
618
- "none": {
619
- "failureMessage": "Korrigiere alle der folgenden Punkte:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
620
- }
621
- },
622
- "incompleteFallbackMessage": ""
2
+ "lang": "de",
3
+ "rules": {
4
+ "accesskeys": {
5
+ "description": "Stellt sicher, dass die Werte der accesskey-Attribute einzigartig sind.",
6
+ "help": "Der Wert des accesskey-Attributes muss einzigartig sein."
7
+ },
8
+ "area-alt": {
9
+ "description": "Stellt sicher, dass <area>-Elemente Alternativtexte besitzen.",
10
+ "help": "Aktive <area>-Elemente müssen einen Alternativtext besitzen."
11
+ },
12
+ "aria-allowed-attr": {
13
+ "description": "Stellt sicher, dass ARIA-Attribute für die vergebene Rolle eines Elements erlaubt sind.",
14
+ "help": "Elemente dürfen nur erlaubte ARIA-Attribute verwenden."
15
+ },
16
+ "aria-allowed-role": {
17
+ "description": "Stellt sicher, dass der Wert des role-Attributes für dieses Element geeignet ist.",
18
+ "help": "Der Wert des role-Attributes muss für dieses Element geeignet sein."
19
+ },
20
+ "aria-command-name": {
21
+ "description": "Stellt sicher, dass jeder ARIA-button, -link und jedes -menuitem einen zugänglichen Namen (accessible name) hat.",
22
+ "help": "ARIA Befehle müssen einen zugänglichen Namen (accessible name) besitzen."
23
+ },
24
+ "aria-dialog-name": {
25
+ "description": "Stellt sicher, dass jeder ARIA-dialog und -alertdialog Knoten einen zugänglichen Namen (accessible name) hat.",
26
+ "help": "ARIA-dialog und -alertdialog Knoten müssen einen zugänglichen Namen (accessible name) besitzen."
27
+ },
28
+ "aria-hidden-body": {
29
+ "description": "Stellt sicher, dass aria-hidden='true' nicht am <body>-Element des Dokumentes verwendet wird.",
30
+ "help": "Aria-hidden='true' darf nicht für den <body> des Dokumentes verwendet werden."
31
+ },
32
+ "aria-hidden-focus": {
33
+ "description": "Stellt sicher, dass ARIA-hidden Elemente keine fokussierbaren Elemente beinhalten.",
34
+ "help": "ARIA-hidden Elemente dürfen keine fokussierbaren Elemente beinhalten."
35
+ },
36
+ "aria-input-field-name": {
37
+ "description": "Stellt sicher, dass jeder ARIA-input einen zugänglichen Namen (accessible name) besitzt.",
38
+ "help": "ARIA-inputs müssen einen zugänglichen Namen (accessible name) besitzen."
39
+ },
40
+ "aria-meter-name": {
41
+ "description": "Stellt sicher, dass jeder ARIA-meter Knoten einen zugänglichen Namen (accessible name) besitzt.",
42
+ "help": "ARIA-meter Knoten müssen einen zugänglichen Namen (accessible name) besitzen."
43
+ },
44
+ "aria-progressbar-name": {
45
+ "description": "Stellt sicher, dass jeder ARIA-progressbar Knoten einen zugänglichen Namen (accessible name) besitzt.",
46
+ "help": "ARIA-progressbar Knoten müssen einen zugänglichen Namen (accessible name) besitzen."
47
+ },
48
+ "aria-required-attr": {
49
+ "description": "Stellt sicher, dass Elemente mit ARIA-Rollen alle erforderlichen ARIA-Attribute besitzen.",
50
+ "help": "Erforderliche ARIA-Attribute müssen bereitgestellt werden."
51
+ },
52
+ "aria-required-children": {
53
+ "description": "Stellt sicher, dass Elemente mit einer ARIA-Rolle, welche bestimmte untergeordnete Rollen voraussetzten auch diese enthalten.",
54
+ "help": "Bestimmte ARIA-Rollen müssen spezifische, untergeordnete Kind-Rollen enthalten."
55
+ },
56
+ "aria-required-parent": {
57
+ "description": "Stellt sicher, dass Elemente mit ARIA-Rollen, welche übergeordnete Rollen voraussetzen auch in diesen enthalten sind.",
58
+ "help": "Bestimmte ARIA-Rollen müssen in spezifischen, übergeordneten Eltern-Rollen enthalten sein."
59
+ },
60
+ "aria-roledescription": {
61
+ "description": "Stellt sicher, dass ARIA-roledescription nur im Zusammenhang mit einer im- oder expliziten Rolle verwendet wird.",
62
+ "help": "Nutze aria-roledescription für Elemente mit einer semantischen Rolle."
63
+ },
64
+ "aria-roles": {
65
+ "description": "Stellt sicher, dass alle Elemente mit einer ARIA-Rolle auch einen gültigen Wert verwenden.",
66
+ "help": "Verwendete ARIA-Rollen müssen gültigen Werten entsprechen."
67
+ },
68
+ "aria-toggle-field-name": {
69
+ "description": "Stellt sicher, dass jedes ARIA-toggle-Feld ein zugänglichen Namen (accessible name) besitzt.",
70
+ "help": "ARIA-toggle-Felder benötigen einen zugänglichen Namen (accessible name)."
71
+ },
72
+ "aria-tooltip-name": {
73
+ "description": "Stellt sicher, dass jeder ARIA-tooltip Knoten einen zugänglichen Namen (accessible name) besitzt.",
74
+ "help": "ARIA-tooltip-Knoten benötigen einen zugänglichen Namen (accessible name)."
75
+ },
76
+ "aria-treeitem-name": {
77
+ "description": "Stellt sicher, dass jeder ARIA-treeitem Knoten einen zugänglichen Namen (accessible name) besitzt.",
78
+ "help": "ARIA-treeitem-Knoten benötigen einen zugänglichen Namen (accessible name)."
79
+ },
80
+ "aria-valid-attr-value": {
81
+ "description": "Stellt sicher, dass alle ARIA-Attribute gültige Werte verwenden.",
82
+ "help": "Verwendete ARIA-Attribute müssen gültigen Werten entsprechen."
83
+ },
84
+ "aria-valid-attr": {
85
+ "description": "Stellt sicher, dass Attribute, welche mit aria- beginnen auch valide ARIA-Attribute sind.",
86
+ "help": "Verwendete ARIA-Attribute müssen gültigen Namen entsprechen."
87
+ },
88
+ "audio-caption": {
89
+ "description": "Stellt sicher, dass <audio>-Elemente Untertitel besitzen.",
90
+ "help": "<audio>-Elemente müssen eine Untertitelung (captions track) besitzen."
91
+ },
92
+ "autocomplete-valid": {
93
+ "description": "Stellt sicher, dass das autocomplete-Attribut korrekt ist und für das form-Feld geeignet ist.",
94
+ "help": "autocomplete-Attribute müssen korrekt genutzt werden."
95
+ },
96
+ "avoid-inline-spacing": {
97
+ "description": "Stellt sicher, dass der Zeichenabstand durch benutzerdefinierte Stylesheets angepasst werden kann.",
98
+ "help": "Zeichenabstände müssen durch benutzerdefinierte Stylesheets anpassbar sein."
99
+ },
100
+ "blink": {
101
+ "description": "Stellt sicher, dass keine <blink>-Elemente verwendet werden.",
102
+ "help": "<blink>-Elemente sind veraltet und dürfen nicht verwendet werden."
103
+ },
104
+ "button-name": {
105
+ "description": "Stellt sicher, dass Schaltflächen wahrnehmbaren Text enthalten.",
106
+ "help": "Schaltflächen müssen wahrnehmbaren Text enthalten."
107
+ },
108
+ "bypass": {
109
+ "description": "Stellt sicher, dass jede Seite mindestens ein Mittel bereitstellt, welches dem Nutzer erlaubt direkt zum Inhalt der Seite zu springen.",
110
+ "help": "Wiederholende Blöcke müssen vom Nutzer mit Hilfe von der Seite bereitgestellten Mitteln übersprungen werden können."
111
+ },
112
+ "color-contrast": {
113
+ "description": "Stellt sicher, dass der Kontrast zwischen Vorder- und Hintergrundfarbe den in der WCAG 2 als AA ausgewiesenen Kontrastgrenzwerten entspricht.",
114
+ "help": "Elemente müssen einen ausreichenden Farbkontrast haben."
115
+ },
116
+ "color-contrast-enhanced": {
117
+ "description": "Stellt sicher, dass der Kontrast zwischen Vorder- und Hintergrundfarbe den in der WCAG 2 als AAA ausgewiesenen Kontrastgrenzwerten entspricht.",
118
+ "help": "Elemente müssen einen ausreichenden Farbkontrast haben."
119
+ },
120
+ "css-orientation-lock": {
121
+ "description": "Stellt sicher, dass der Inhalt nicht nur auf einer sondern auf allen spezifischen Bildschirmausrichtungen angezeigt werden kann.",
122
+ "help": "CSS Media Queries dürfen nicht genutzt werden um die Bildschirmausrichtung zu sperren."
123
+ },
124
+ "definition-list": {
125
+ "description": "Stellt sicher, dass <dl>-Elemente ordnungsgemäß strukturiert sind.",
126
+ "help": "<dl>-Elemente dürfen unmittelbar nur korrekt verschachtelte <dt>- und <dd>-Gruppen, <script>- oder <template>-Elemente enthalten."
127
+ },
128
+ "dlitem": {
129
+ "description": "Stellt sicher, dass <dt> und <dd>-Elemente in einem <dl>-Element enthalten sind.",
130
+ "help": "<dt>- und <dd>-Elemente müssen in einem <dl>-Element enthalten sein."
131
+ },
132
+ "document-title": {
133
+ "description": "Stellt sicher, dass jedes HTML-Dokument ein nichtleeres <title>-Element besitzt.",
134
+ "help": "Dokumente müssen ein <title>-Element besitzen, um die Navigation zu erleichtern."
135
+ },
136
+ "duplicate-id-active": {
137
+ "description": "Stellt sicher, dass jeder Wert des ID-Attributes von aktiven Elemente einzigartig ist.",
138
+ "help": "IDs von aktiven Elementen müssen einzigartig sein."
139
+ },
140
+ "duplicate-id-aria": {
141
+ "description": "Stellt sicher, dass jeder Wert des ID-Attributes, welcher in ARIA und labels genutzt wird einzigartig ist.",
142
+ "help": "IDs, welche in ARIA und Lables genutzt werden, müssen einzigartig sein."
143
+ },
144
+ "duplicate-id": {
145
+ "description": "Stellt sicher, dass der Wert eines id-Attributes einzigartig ist.",
146
+ "help": "Der Wert des id-Attributes muss einzigartig sein."
147
+ },
148
+ "empty-heading": {
149
+ "description": "Stellt sicher, dass Überschriften einen wahrnehmbaren Text beinhalten.",
150
+ "help": "Überschriften dürfen nichtleer sein."
151
+ },
152
+ "focus-order-semantics": {
153
+ "description": "Stellt sicher, dass Elemente in der Fokusreihenfolge eine geeignete Rolle besitzen.",
154
+ "help": "Elemente in der Fokusreihenfolge benötigen eine Rolle, die für interaktive Elemente geeignet ist."
155
+ },
156
+ "form-field-multiple-labels": {
157
+ "description": "Stellt sicher, dass ein form-Feld nur ein label-Element besitzt.",
158
+ "help": "form-Felder sollten nur ein label-Element besitzen."
159
+ },
160
+ "frame-tested": {
161
+ "description": "Stellt sicher, dass <iframe> und <frame>-Elemente das axe-core Script beinhalten.",
162
+ "help": "Frames müssen mit axe-core getestet werden."
163
+ },
164
+ "frame-title-unique": {
165
+ "description": "Stellt sicher, dass <iframe> und <frame>-Elemente ein einzigartiges title-Attribut besitzen.",
166
+ "help": "Frames müssen ein einzigartiges title-Attribut besitzen."
167
+ },
168
+ "frame-title": {
169
+ "description": "Stellt sicher, dass <iframe> und <frame>-Elemente ein nichtleeres title-Attribut besitzen.",
170
+ "help": "Frames müssen ein nichtleeres title-Attribut besitzen."
171
+ },
172
+ "heading-order": {
173
+ "description": "Stellt sicher, dass Überschriften in der semantisch korrekten Reihenfolge sind.",
174
+ "help": "Überschriftenebenen sollten nur jeweils um eins steigen."
175
+ },
176
+ "hidden-content": {
177
+ "description": "Informiert den Nutzer über versteckten Inhalt.",
178
+ "help": "Versteckter Inhalt auf der Seite konnte nicht analysiert werden."
179
+ },
180
+ "html-has-lang": {
181
+ "description": "Stellt sicher, dass jedes HTML Dokument ein lang-Attribut besitzt.",
182
+ "help": "Das <html>-Element muss ein lang-Attribut besitzen."
183
+ },
184
+ "html-lang-valid": {
185
+ "description": "Stellt sicher, dass das lang-Attribut des <html>-Elements einen validen Wert besitzt.",
186
+ "help": "Das <html>-Element muss einen gültigen Attributwert für das lang-Attribut besitzen."
187
+ },
188
+ "html-xml-lang-mismatch": {
189
+ "description": "Stellt sicher, dass HTML Elemente mit validen lang und xml:lang Attributen dieselbe Angabe über die Sprache machen.",
190
+ "help": "HTML Elemente mit lang und xml:lang Attributen müssen dieselbe Sprache ausweisen."
191
+ },
192
+ "identical-links-same-purpose": {
193
+ "description": "Stellt sicher, dass Links mit dem selben zugänglichen Namen (accessible name) denselben Zweck folgen.",
194
+ "help": "Links mit dem selben zugänglichen Namen (accessible name) verfolgen denselben Zweck."
195
+ },
196
+ "image-alt": {
197
+ "description": "Stellt sicher, dass <img>-Elemente einen Alternativtext oder eine ARIA-Rolle mit dem Wert none oder presentation besitzen.",
198
+ "help": "Abbildungen müssen einen Alternativtext besitzen."
199
+ },
200
+ "image-redundant-alt": {
201
+ "description": "Stellt sicher, dass Alternativtexte von Bildern nicht als Text wiederholt werden.",
202
+ "help": "Der Alternativtext von Bildern sollte nicht als Text wiederholt werden."
203
+ },
204
+ "input-button-name": {
205
+ "description": "Stellt sicher, dass Eingabeschaltflächen sichtbaren Text beinhalten.",
206
+ "help": "Eingabeschaltflächen müssen sichtbaren Text beinhalten."
207
+ },
208
+ "input-image-alt": {
209
+ "description": "Stellt sicher, dass <input type=\"image\">-Elemente einen Alternativtext besitzen.",
210
+ "help": "<input type=\"image\">-Elemente müssen einen Alternativtext besitzen."
211
+ },
212
+ "label-content-name-mismatch": {
213
+ "description": "Stellt sicher, dass Elemente, die durch ihren Inhalt beschrieben sind, auch ihren sichtbaren Text als Teil des zugänglichen Namens (accessible name) haben.",
214
+ "help": "Elemente müssen ihren sichtbaren Text auch als Teil des zugänglichen Namens (accessible name) haben."
215
+ },
216
+ "label-title-only": {
217
+ "description": "Stellt sicher, dass jedes <form>-Element nicht ausschließlich durch ein title oder aria-describedby-Attribut beschrieben sind.",
218
+ "help": "<form>-Elemente sollten eine sichtbare Beschriftung haben."
219
+ },
220
+ "label": {
221
+ "description": "Stellt sicher, dass jedes <form>-Element über eine Beschriftung verfügt.",
222
+ "help": "<form>-Elemente müssen eine Beschriftung haben."
223
+ },
224
+ "landmark-banner-is-top-level": {
225
+ "description": "Stellt sicher, dass die banner landmark sich auf der obersten Ebene befindet.",
226
+ "help": "Banner landmark muss sich auf der obersten Ebene befinden."
227
+ },
228
+ "landmark-complementary-is-top-level": {
229
+ "description": "Stellt sicher, dass die ergänzende landmark oder aside sich auf dem höchsten Level befindet.",
230
+ "help": "Das aside-Elemente darf sich nicht in einer anderen landmark befinden."
231
+ },
232
+ "landmark-contentinfo-is-top-level": {
233
+ "description": "Stellt sicher, dass die contentinfo landmark sich auf der obersten Ebene befindet.",
234
+ "help": "Contentinfo landmark muss sich auf der obersten Ebene befinden."
235
+ },
236
+ "landmark-main-is-top-level": {
237
+ "description": "Stellt sicher, dass die main landmark sich auf der obersten Ebene befindet.",
238
+ "help": "Main landmark ist nicht auf der obersten Ebene."
239
+ },
240
+ "landmark-no-duplicate-banner": {
241
+ "description": "Stellt sicher, dass das Dokument höchstens eine banner landmark besitzt.",
242
+ "help": "Das Dokument sollte höchstens eine banner landmark enthalten."
243
+ },
244
+ "landmark-no-duplicate-contentinfo": {
245
+ "description": "Stellt sicher, dass das Dokument höchstens eine contentinfo landmark besitzt.",
246
+ "help": "Das Dokument sollte höchstens eine contentinfo landmark enthalten."
247
+ },
248
+ "landmark-no-duplicate-main": {
249
+ "description": "Stellt sicher, dass das Dokument höchstens eine main landmark besitzt.",
250
+ "help": "Das Dokument sollte nur eine main landmark besitzen."
251
+ },
252
+ "landmark-one-main": {
253
+ "description": "Stellt sicher, dass das Dokument eine main landmark besitzt.",
254
+ "help": "Seite muss eine main landmark enthalten."
255
+ },
256
+ "landmark-unique": {
257
+ "description": "Stellt sicher, dass landmarks einzigartig sind.",
258
+ "help": "Landmarks müssen eine einzigartige role oder role/label/title Kombination (bzw. zugänglicher Name / accessible name) besitzen."
259
+ },
260
+ "link-in-text-block": {
261
+ "description": "Stellt sicher, dass Links vom umgebenden Text nicht allein durch die Farbe unterschieden werden können.",
262
+ "help": "Links müssen vom umgebenden Text auf eine Weise unterschieden werden können, die nicht allein auf Farbe beruht."
263
+ },
264
+ "link-name": {
265
+ "description": "Stellt sicher, dass Links wahrnehmbaren Text enthalten.",
266
+ "help": "Links müssen wahrnehmbaren Text enthalten."
267
+ },
268
+ "list": {
269
+ "description": "Stellt sicher, dass Listen korrekt strukturiert sind.",
270
+ "help": "<ul>- und <ol>-Elemente dürfen unmittelbar nur <li>-, <script>- oder <template>-Elemente enthalten."
271
+ },
272
+ "listitem": {
273
+ "description": "Stellt sicher, dass <li>-Elemente semantisch korrekt verwendet werden.",
274
+ "help": "<li>-Elemente müssen in einem <ul>- oder <ol>-Element enthalten sein."
275
+ },
276
+ "marquee": {
277
+ "description": "Stellt sicher, dass <marquee>-Elemente nicht verwendet werden.",
278
+ "help": "<marquee>-Elemente sind veraltet und dürfen nicht verwendet werden."
279
+ },
280
+ "meta-refresh": {
281
+ "description": "Stellt sicher, dass <meta http-equiv=\"refresh\"> nicht verwendet werden.",
282
+ "help": "Eine zeitgesteuerte Aktualisierung (refresh) sollte nicht verwendet werden."
283
+ },
284
+ "meta-viewport-large": {
285
+ "description": "Stellt sicher, dass <meta name=\"viewport\"> nicht verhindert, dass ein signifikanter Zoom verwendet werden kann.",
286
+ "help": "Benutzer sollten in der Lage sein, den Text um bis zu 500% vergrößern und skalieren zu können."
287
+ },
288
+ "meta-viewport": {
289
+ "description": "Stellt sicher, dass <meta name=\"viewport\"> Textskalierung und -zoom nicht verhindert werden.",
290
+ "help": "Zoomen und Skalieren darf nicht deaktiviert werden."
291
+ },
292
+ "no-autoplay-audio": {
293
+ "description": "Stellt sicher, dass <video> oder <audio> Elemente keine Töne automatisch abspielen für mehr als 3 Sekunden (autoplay) ohne eine Möglichkeit dies zu stoppen.",
294
+ "help": "<video> oder <audio> Elemente geben keine Töne automatisch aus."
295
+ },
296
+ "object-alt": {
297
+ "description": "Stellt sicher, dass <object>-Elemente einen Alternativtext besitzen.",
298
+ "help": "<object>-Elemente müssen einen Alternativtext besitzen."
299
+ },
300
+ "p-as-heading": {
301
+ "description": "Stellt sicher, dass <p>-Elemente nicht dafür verwendet werden um Überschriften zu formatieren.",
302
+ "help": "Die Schriftschnitte bold und italic sowie die Schriftgröße dürfen nicht verwendet werden, um <p>-Elemente wie Überschriften zu formatieren."
303
+ },
304
+ "page-has-heading-one": {
305
+ "description": "Stellt sicher, dass die Seite oder zumindest eins der frame-Elemente eine Überschrift der ersten Ebene enthalten.",
306
+ "help": "Die Seite muss eine Überschrift der ersten Ebene enthalten."
307
+ },
308
+ "presentation-role-conflict": {
309
+ "description": "Markiert Elemente welche eine Rolle besitzen, die none oder presentation ist und die eine Rollenauflösung benötigen.",
310
+ "help": "Elemente mit Rolle none oder presentation dürfen mit anderen Rollen nicht in Konflikt stehen."
311
+ },
312
+ "region": {
313
+ "description": "Stellt sicher, dass jeglicher Inhalt in einer landmark region enthalten ist.",
314
+ "help": "Inhalte sollten in einer landmark region enthalten sein."
315
+ },
316
+ "role-img-alt": {
317
+ "description": "Stellt sicher, dass [role='img'] Elemente einen Alternativ Text besitzen.",
318
+ "help": "[role='img'] Elemente haben ein Alternativtext."
319
+ },
320
+ "scope-attr-valid": {
321
+ "description": "Stellt sicher, dass das scope-Attribut bei Tabellen korrekt verwendet wird.",
322
+ "help": "Das scope-Attribut sollte korrekt verwendet werden."
323
+ },
324
+ "scrollable-region-focusable": {
325
+ "description": "Elemente, welche scrollbaren Inhalt besitzen sollten durch die Tastatur erreichbar und bedienbar sein.",
326
+ "help": "Scrollbare Regionen müssen per Tastatur erreichbar sein."
327
+ },
328
+ "select-name": {
329
+ "description": "Stellt sicher, dass <select> Elemente einen zugänglichen Namen (accessible name) besitzen.",
330
+ "help": "<select> Elemente müssen einen zugänglichen Namen (accessible name) besitzen."
331
+ },
332
+ "server-side-image-map": {
333
+ "description": "Stellt sicher, dass serverseitige Imagemaps nicht verwendet werden.",
334
+ "help": "Serverseitige Imagemaps dürfen nicht verwendet werden."
335
+ },
336
+ "skip-link": {
337
+ "description": "Stellt sicher, dass alle Skip-Links ein fokussierbares Ziel enthalten.",
338
+ "help": "Das Ziel eines Skip-Links sollte existieren und fokussierbar sein."
339
+ },
340
+ "svg-img-alt": {
341
+ "description": "Stellt sicher, dass <svg> Elemente mit einer img, graphics-document oder graphics-symbol Rolle einen zugänglichen Namen (accessible name) besitzen.",
342
+ "help": "<svg> Elemente mit einer img Rolle sollten einen Alternativtext besitzen."
343
+ },
344
+ "tabindex": {
345
+ "description": "Stellt sicher, dass keine tabindex-Attribute mit einem Wert größer als null verwendet werden.",
346
+ "help": "Elemente sollten keinen tabindex besitzen, der größer als null ist."
347
+ },
348
+ "table-duplicate-name": {
349
+ "description": "Stellt sicher, dass Tabellen nicht den gleichen Text im <caption>-Element wie im summary-Attribut enthalten.",
350
+ "help": "Das <caption>-Element sollte nicht den gleichen Text wie das summary-Attribut enthalten."
351
+ },
352
+ "table-fake-caption": {
353
+ "description": "Stellt sicher, dass Tabellen mit einer Beschriftung auch das <caption>-Element verwenden.",
354
+ "help": "Daten- oder Kopfzellen sollten nicht verwendet werden, um einer Datentabelle eine Überschrift zu geben."
355
+ },
356
+ "td-has-header": {
357
+ "description": "Stellt sicher, dass jede nichtleere Zelle einer Tabelle ein oder mehrere Tabellenköpfe haben.",
358
+ "help": "In Tabellen, die größer als 3 mal 3 sind, müssen alle nichtleeren <td>-Elemente einen zugehörigen Tabellenkopf haben."
359
+ },
360
+ "td-headers-attr": {
361
+ "description": "Stellt sicher, dass jede Zelle in einer Tabelle, welche das headers-Attribut verwendet, sich nur auf andere Zellen derselben Tabelle beziehen.",
362
+ "help": "Innerhalb eines <table>-Elementes dürfen sich Zellen, die das headers-Attribut verwenden, nur auf andere Zellen derselben Tabelle beziehen."
363
+ },
364
+ "th-has-data-cells": {
365
+ "description": "Stellt sicher, dass jeder Tabellenkopf in einer Datentabelle sich auf Datenzellen bezieht.",
366
+ "help": "Alle <th>-Elemente sowie Elemente mit role=columnheader/rowheader müssen Datenzellen haben, die sie beschreiben."
367
+ },
368
+ "valid-lang": {
369
+ "description": "Stellt sicher, dass lang-Attribute gültige Werte haben.",
370
+ "help": "Das lang-Attribut muss einen gültigen Wert haben."
371
+ },
372
+ "video-caption": {
373
+ "description": "Stellt sicher, dass <video>-Elemente Untertitel besitzen.",
374
+ "help": "<video>-Elemente müssen Untertitel besitzen."
375
+ }
376
+ },
377
+ "checks": {
378
+ "abstractrole": {
379
+ "pass": "abstract Rolle wird nicht verwendet.",
380
+ "fail": {
381
+ "singular": "abstract Rolle kann nicht so verwendet werden: ${data.values}",
382
+ "plural": "abstract Rollen können nicht so verwendet werden: ${data.values}"
383
+ }
384
+ },
385
+ "aria-allowed-attr": {
386
+ "pass": "ARIA-Attribute werden korrekt für die definierte Rolle verwendet.",
387
+ "fail": {
388
+ "singular": "Folgendes ARIA Attribut ist nicht erlaubt: ${data.values}",
389
+ "plural": "Folgende ARIA Attribute sind nicht erlaubt: ${data.values}"
390
+ }
391
+ },
392
+ "aria-allowed-role": {
393
+ "pass": "ARIA Rolle ist für dieses Element erlaubt.",
394
+ "fail": {
395
+ "singular": "ARIA Rolle ${data.values} ist nicht für dieses Element erlaubt.",
396
+ "plural": "ARIA Rollen ${data.values} sind nicht für dieses Element erlaubt."
397
+ },
398
+ "incomplete": {
399
+ "singular": "ARIA Rolle ${data.values} muss entfernt werden, wenn das Element sichtbar wird, da es nicht für dieses Element erlaubt ist.",
400
+ "plural": "ARIA Rollen ${data.values} müssen entfernt werden, wenn das Element sichtbar wird, da sie nicht für dieses Element erlaubt sind."
401
+ }
402
+ },
403
+ "aria-errormessage": {
404
+ "pass": "aria-errormessage Attribut existiert und referenziert Elemente, die sichtbar für Screen Reader sind, welche die entsprechende Technologie unterstützen.",
405
+ "fail": {
406
+ "singular": "aria-errormessage Wert `${data.values}` benötigt eine Möglichkeit um entsprechend vorgeschlagen zu werden (z.B. aria-live, aria-describedby, role=alert, usw.).",
407
+ "plural": "aria-errormessage Werte `${data.values}` benötigen eine Möglichkeit um entsprechend vorgeschlagen zu werden (z.B. aria-live, aria-describedby, role=alert, usw.)."
408
+ },
409
+ "incomplete": {
410
+ "singular": "Stellt sicher, dass aria-errormessage Wert `${data.values}` zu einem existierendem Element verweist.",
411
+ "plural": "Stellt sicher, dass aria-errormessage Werte `${data.values}` zu existierenden Elementen verweisen."
412
+ }
413
+ },
414
+ "aria-hidden-body": {
415
+ "pass": "Kein aria-hidden Attribut ist im <body>-Element des Dokuments vorhanden.",
416
+ "fail": "Das <body>-Element des Dokumentes darf nicht das Attribut aria-hidden=\"true\" besitzen."
417
+ },
418
+ "aria-required-attr": {
419
+ "pass": "Alle benötigten ARIA-Attribute sind vorhanden.",
420
+ "fail": {
421
+ "singular": "Benötigtes ARIA Attribut nicht vorhanden: ${data.values}",
422
+ "plural": "Benötigte ARIA Attribute nicht vorhanden: ${data.values}"
423
+ }
424
+ },
425
+ "aria-required-children": {
426
+ "pass": "Alle benötigten ARIA Kinder sind vorhanden.",
427
+ "fail": {
428
+ "singular": "Benötigte ARIA Kindrolle nicht vorhanden: ${data.values}",
429
+ "plural": "Benötigte ARIA Kindrollen nicht vorhanden: ${data.values}"
430
+ },
431
+ "incomplete": {
432
+ "singular": "Entsprechende ARIA Kindrolle muss hinzugefügt werden: ${data.values}",
433
+ "plural": "Entsprechende ARIA Kindrollen müssen hinzugefügt werden: ${data.values}"
434
+ }
435
+ },
436
+ "aria-required-parent": {
437
+ "pass": "Alle ARIA Elternrollen sind vorhanden.",
438
+ "fail": {
439
+ "singular": "Benötigte ARIA Elternrolle nicht vorhanden: ${data.values}",
440
+ "plural": "Benötigte ARIA Elternrollen nicht vorhanden: ${data.values}"
441
+ }
442
+ },
443
+ "aria-roledescription": {
444
+ "pass": "aria-roledescription mit einer unterstützten semantischen Rolle verwendet.",
445
+ "incomplete": "Es sollte überprüft werden ob aria-roledescription von einem Screenreader vorgelesen wird.",
446
+ "fail": "Das Element muss mit einer Rolle, welche aria-roledescription unterstützt, versehen werden."
447
+ },
448
+ "aria-unsupported-attr": {
449
+ "pass": "ARIA Attribut wird unterstützt",
450
+ "fail": "ARIA Attribut ist nicht wirklich in Screenreadern und anderen assistiven Technologien unterstützt: ${data.values}"
451
+ },
452
+ "aria-valid-attr-value": {
453
+ "pass": "ARIA Attributwerte sind gültig.",
454
+ "fail": {
455
+ "singular": "Ungültiger Wert des ARIA Attributes ${data.values}",
456
+ "plural": "Ungültige Werte der ARIA Attribute: ${data.values}"
457
+ },
458
+ "incomplete": {
459
+ "noId": "Verwendete ID im ARIA Attribut existiert nicht auf der Seite: ${data.needsReview}",
460
+ "ariaCurrent": "Folgendes ARIA Attributwert ist ungültig und wird wie \"aria-current=true\" gesehen: ${data.needsReview}"
461
+ }
462
+ },
463
+ "aria-valid-attr": {
464
+ "pass": "Alle ARIA Attributnamen sind gültig.",
465
+ "fail": {
466
+ "singular": "Ungültige ARIA Attribut Name: ${data.values}",
467
+ "plural": "Ungültige ARIA Attribut Namen: ${data.values}"
468
+ }
469
+ },
470
+ "fallbackrole": {
471
+ "pass": "Nur ein Wert für role genutzt.",
472
+ "fail": "Es sollte nur ein Wert für role benutzt werden, da Fallback-Werte in älteren Browsern nicht unterstützt werden."
473
+ },
474
+ "has-global-aria-attribute": {
475
+ "pass": {
476
+ "singular": "Element hat globales ARIA Attribut: ${data.values}",
477
+ "plural": "Element hat globale ARIA Attribute: ${data.values}"
478
+ },
479
+ "fail": "Das Element hat keine globalen ARIA Attribute."
480
+ },
481
+ "has-widget-role": {
482
+ "pass": "Element hat eine widget-Rolle.",
483
+ "fail": "Das Element besitzt keine widget-Rolle."
484
+ },
485
+ "invalidrole": {
486
+ "pass": "ARIA Rolle ist gültig.",
487
+ "fail": {
488
+ "singular": "Folgende Rolle muss eine von den validen ARIA Rollen sein: ${data.values}",
489
+ "plural": "Folgende Rollen müssen jeweils eine von den validen ARIA Rollen sein: ${data.values}"
490
+ }
491
+ },
492
+ "is-element-focusable": {
493
+ "pass": "Element ist fokussierbar.",
494
+ "fail": "Element ist nicht fokussierbar."
495
+ },
496
+ "no-implicit-explicit-label": {
497
+ "pass": "Kein Unterschied zwischen dem <label> und dem zugänglichen Namen (accessible name).",
498
+ "incomplete": "Überprüfe, dass das <label> nicht Teil des ARIA ${data} Feldnamens ist."
499
+ },
500
+ "unsupportedrole": {
501
+ "pass": "ARIA Rolle wird unterstützt.",
502
+ "fail": "Folgende Rollen werden nicht wirklich in Screenreadern und assistiven Technologien unterstützt: ${data.values}"
503
+ },
504
+ "valid-scrollable-semantics": {
505
+ "pass": "Das Element hat eine gültige Semantik für ein Element in der Fokusreihenfolge.",
506
+ "fail": "Das Element hat eine ungültige Semantik für ein Element in der Fokusreihenfolge."
507
+ },
508
+ "color-contrast": {
509
+ "pass": "Das Element hat einen ausreichenden Kontrast von ${data.contrastRatio}.",
510
+ "fail": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} (Vordergrundfarbe: ${data.fgColor}, Hintergrundfarbe: ${data.bgColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}).",
511
+ "incomplete": {
512
+ "default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
513
+ "bgImage": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
514
+ "bgGradient": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundfarbverlaufes nicht bestimmt werden.",
515
+ "imgNode": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da das Element einen Image Node enthält.",
516
+ "bgOverlap": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da es von einem anderen Element überlagert wird.",
517
+ "fgAlpha": "Die Vordergrundfarbe des Elementes konnte aufgrund der Alpha-Transparenz nicht ermittelt werden.",
518
+ "elmPartiallyObscured": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise von anderen Elementen überdeckt wird.",
519
+ "elmPartiallyObscuring": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise andere Elemente überdeckt.",
520
+ "outsideViewport": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es sich außerhalb des Viewports befindet.",
521
+ "equalRatio": "Das Element hat einen 1:1 Kontrast mit der Hintergrundfarbe.",
522
+ "shortTextContent": "Der Inhalt des Elements ist zu kurz um zu bestimmen ob es sich wirklich um Textinhalt handelt.",
523
+ "nonBmp": "Das Element enthält ausschließlich Nicht-Text Zeichen.",
524
+ "pseudoContent": "Die Hintergrundfarbe konnte aufgrund eines pseudo Elementes nicht bestimmt werden."
525
+ }
526
+ },
527
+ "color-contrast-enhanced": {
528
+ "pass": "Das Element hat einen ausreichenden Kontrast von ${data.contrastRatio}.",
529
+ "fail": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} (Vordergrundfarbe: ${data.fgColor}, Hintergrundfarbe: ${data.bgColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}).",
530
+ "incomplete": {
531
+ "default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
532
+ "bgImage": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
533
+ "bgGradient": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundfarbverlaufes nicht bestimmt werden.",
534
+ "imgNode": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da das Element einen Image Node enthält.",
535
+ "bgOverlap": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da es von einem anderen Element überlagert wird.",
536
+ "fgAlpha": "Die Vordergrundfarbe des Elementes konnte aufgrund der Alpha-Transparenz nicht ermittelt werden.",
537
+ "elmPartiallyObscured": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise von anderen Elementen überdeckt wird.",
538
+ "elmPartiallyObscuring": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise andere Elemente überdeckt.",
539
+ "outsideViewport": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es sich außerhalb des Viewports befindet.",
540
+ "equalRatio": "Das Element hat einen 1:1 Kontrast mit der Hintergrundfarbe.",
541
+ "shortTextContent": "Der Inhalt des Elements ist zu kurz um zu bestimmen ob es sich wirklich um Textinhalt handelt.",
542
+ "nonBmp": "Das Element enthält ausschließlich Nicht-Text Zeichen.",
543
+ "pseudoContent": "Die Hintergrundfarbe konnte aufgrund eines pseudo Elementes nicht bestimmt werden."
544
+ }
545
+ },
546
+ "link-in-text-block": {
547
+ "pass": "Links können vom umgebenenden Text auf unterschiedliche Art und Weise unterschieden werden.",
548
+ "fail": "Links können (abgesehen von einer farblichen Kennzeichnung) nicht vom umgebenden Text unterschieden werden.",
549
+ "incomplete": {
550
+ "default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
551
+ "bgContrast": "Das Kontrastverhältnis des Elements konnte nicht bestimmt werden. Suchen Sie nach einem bestimmten Hover/Fokus-Stil.",
552
+ "bgImage": "Das Kontrastverhältnis des Elements konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
553
+ "bgGradient": "Das Kontrastverhältnis des Elements konnte aufgrund eines Hintergrundfarbverlaufes nicht bestimmt werden.",
554
+ "imgNode": "Das Kontrastverhältnis des Elements konnte nicht bestimmt werden, da das Element einen Image Node enthält.",
555
+ "bgOverlap": "Das Kontrastverhältnis des Elements konnte aufgrund einer Überlagerung nicht bestimmt werden."
556
+ }
557
+ },
558
+ "autocomplete-appropriate": {
559
+ "pass": "Der Wert des autocomplete Attributes ist für diese Art des Eingabefeldes geeignet.",
560
+ "fail": "Der Wert des autocomplete Attributes ist für diese Art des Eingabefeldes nicht geeignet."
561
+ },
562
+ "autocomplete-valid": {
563
+ "pass": "Der Wert des autocomplete Attributes ist korrekt formatiert.",
564
+ "fail": "Der Wert des autocomplete Attributes ist inkorrekt formatiert."
565
+ },
566
+ "accesskeys": {
567
+ "pass": "Alle accesskey-Attribute sind einzigartig.",
568
+ "fail": "Das Dokument enthält mehrere Elemente mit dem gleichen accesskey-Attribut."
569
+ },
570
+ "focusable-content": {
571
+ "pass": "Das Element beeinhaltet fokussierbaren Inhalt.",
572
+ "fail": "Das Element beeinhaltet keinen fokussierbaren Inhalt."
573
+ },
574
+ "focusable-disabled": {
575
+ "pass": "Das Element beeinhaltet keinen fokussierbaren Inhalt.",
576
+ "fail": "Fokussierbarer Inhalt sollte deaktiviert oder vom DOM entfernt werden."
577
+ },
578
+ "focusable-element": {
579
+ "pass": "Element ist fokussierbar.",
580
+ "fail": "Element sollte fokussierbar sein."
581
+ },
582
+ "focusable-modal-open": {
583
+ "pass": "Keine fokussierbaren Elemente während ein modaler Dialog offen ist.",
584
+ "incomplete": "Üerprüfe ob Elemente fokussierbar während des derzeitigen Status sind."
585
+ },
586
+ "focusable-no-name": {
587
+ "pass": "Das Element befindet sich nicht in der Tabreihenfolge und enthält keinen zugänglichen Text.",
588
+ "fail": "Das Element befindet sich in der Tabreihenfolge und enthält keinen zugänglichen Text.",
589
+ "incomplete": "Es ist nicht möglich herauszufinden ob Element einen zugänglichen Namen (accessible name) besitzt."
590
+ },
591
+ "focusable-not-tabbable": {
592
+ "pass": "Keine fokussierbaren Elemente innerhalb des Elements.",
593
+ "fail": "Fokussierbare Elemente sollten mit tabindex='-1' versehen oder vom DOM entfernt werden."
594
+ },
595
+ "landmark-is-top-level": {
596
+ "pass": "Die ${data.role} landmark befindet sich auf höchster Ebene.",
597
+ "fail": "Die ${data.role} landmark befindet sich innerhalb einer anderen landmark."
598
+ },
599
+ "page-has-heading-one": {
600
+ "pass": "Die Seite besitzt mindestens eine Überschrift der ersten Ebene.",
601
+ "fail": "Die Seite muss eine Überschrift erster Ebene besitzen."
602
+ },
603
+ "page-has-main": {
604
+ "pass": "Die Seite besitzt eine main landmark.",
605
+ "fail": "Die Seite muss eine main landmark besitzen."
606
+ },
607
+ "page-no-duplicate-banner": {
608
+ "pass": "Das Dokument besitzt nicht mehr als eine banner landmark.",
609
+ "fail": "Das Dokument besitzt mehr als eine banner landmark."
610
+ },
611
+ "page-no-duplicate-contentinfo": {
612
+ "pass": "Das Dokument besitzt nicht mehr als eine contentinfo landmark.",
613
+ "fail": "Das Dokument besitzt mehr als eine contentinfo landmark."
614
+ },
615
+ "page-no-duplicate-main": {
616
+ "pass": "Das Dokument besitzt nicht mehr als eine main landmark.",
617
+ "fail": "Das Dokument besitzt mehr als eine main landmark."
618
+ },
619
+ "tabindex": {
620
+ "pass": "Das Element besitzt einen tabindex-Attributwert der nicht größer als 0 ist.",
621
+ "fail": "Das Element besitzt einen tabindex-Attributwert größer als 0."
622
+ },
623
+ "alt-space-value": {
624
+ "pass": "Element hat ein valides alt Attribut.",
625
+ "fail": "Element hat ein alt Attribut, welches ausschließlich Leerzeichen beeinhaltet, die jedoch nicht durch Screenreader ignoriert werden."
626
+ },
627
+ "duplicate-img-label": {
628
+ "pass": "Das Element besitzt einen Alternativtext der anderweitig vorhanden Text nicht wiederholt.",
629
+ "fail": "Das Element besitzt ein <img>-Element mit Alternativtext, der vorhandenen Text wiederholt."
630
+ },
631
+ "explicit-label": {
632
+ "pass": "Das <form>-Element besitzt ein explizites <label>.",
633
+ "fail": "Das <form>-Element besitzt kein explizites <label>.",
634
+ "incomplete": "Es ist nicht möglich herauszufinden ob das <form> Element ein explizites <label> besitzt."
635
+ },
636
+ "help-same-as-label": {
637
+ "pass": "Der Hilfstext (title oder aria-describedby) dupliziert den label-Text nicht.",
638
+ "fail": "Der Hilfstext (angegeben durch ein title- oder aria-describedby-Attribut) wiederholt den label-Text."
639
+ },
640
+ "hidden-explicit-label": {
641
+ "pass": "Das <form> Element besitzt ein sichtbares explizites <label>.",
642
+ "fail": "Das <form> Element besitzt ein <label>, welches nicht sichtbar ist.",
643
+ "incomplete": "Nicht möglich herauszufinden ob <form> Element ein sichtbares <label> besitzt."
644
+ },
645
+ "implicit-label": {
646
+ "pass": "Das <form>-Element besitzt ein implizites (umschlossenes) <label>-Element.",
647
+ "fail": "Das <form>-Element besitzt kein implizites <label>-Element.",
648
+ "incomplete": "Nicht möglich herauszufinden ob das <form> Element ein implizites (umschlossenes) <label> besitzt."
649
+ },
650
+ "label-content-name-mismatch": {
651
+ "pass": "Element beeinhaltet sichtbaren Text als Teil des zugänglichen Namens (accessible name).",
652
+ "fail": "Das Element beeinhaltet Text, welcher nicht Teil des zugänglichen Namens (accessible name) ist."
653
+ },
654
+ "multiple-label": {
655
+ "pass": "Das <form>-Element besitzt keine multiplen <label>-Elemente.",
656
+ "incomplete": "Unterstützung in assistiven Technologien von Elementen mit mehreren Labeln ist nicht wirklich gegeben. Es sollte sichergestellt werden, dass alle relevanten Informationen im ersten Label enthalten sind."
657
+ },
658
+ "title-only": {
659
+ "pass": "Das <form>-Element ist nicht nur lediglich durch ein title-Attribut beschriftet.",
660
+ "fail": "Das <form>-Element ist lediglich durch ein title-Attribut beschriftet."
661
+ },
662
+ "landmark-is-unique": {
663
+ "pass": "Landmarks sollten eine einzigartige Rolle oder Rollen/Label/Titel (zugänglicher Name / accessible name) Kombination besitzen.",
664
+ "fail": "Landmark muss ein einzigartiges aria-label, aria-labelledby oder Titel besitzen um es von anderen zu unterscheiden."
665
+ },
666
+ "has-lang": {
667
+ "pass": "Das <html>-Element besitzt ein lang-Attribut.",
668
+ "fail": {
669
+ "noXHTML": "Das xml:lang-Attribut ist auf HTML Seiten nicht valide, es sollte das lang-Attribut genutzt werden.",
670
+ "noLang": "Das <html>-Element besitzt kein lang-Attribut."
671
+ }
672
+ },
673
+ "valid-lang": {
674
+ "pass": "Der Wert des lang-Attributes ist in der Liste der gültigen Sprachen enthalten.",
675
+ "fail": "Der Wert des lang-Attributes ist nicht valide."
676
+ },
677
+ "xml-lang-mismatch": {
678
+ "pass": "Das lang- und xml:lang-Attribut verweisen auf dieselbe Sprache.",
679
+ "fail": "Das lang- und xml:lang-Attribut verweisen nicht auf dieselbe Sprache."
680
+ },
681
+ "dlitem": {
682
+ "pass": "Der Definitionslisteneintrag besitzt ein <dl>-Elternelement.",
683
+ "fail": "Der Definitionslisteneintrag besitzt kein <dl>-Elternelement."
684
+ },
685
+ "listitem": {
686
+ "pass": "Das Aufzählungselement besitzt ein gültiges Elternelement (<ul>, <ol> oder Element mit role=\"list\").",
687
+ "fail": {
688
+ "default": "Aufzählungselement besitzt kein gültiges Elternelement (<ul>, <ol>)",
689
+ "roleNotValid": "Aufzählungselement besitzt kein gültiges Elternelement ohne role-Attribut (<ul>, <ol>) oder mit role=\"list\"."
690
+ }
691
+ },
692
+ "only-dlitems": {
693
+ "pass": "Das Aufzählungselement enthält Kindelemente, welche innerhalb der <dt> oder <dd>-Elemente erlaubt sind.",
694
+ "fail": "Das <dl>-Element enthält unerlaubte Kindelemente."
695
+ },
696
+ "only-listitems": {
697
+ "pass": "Das Aufzählungselement besitzt Kinder, welche innerhalb eines <li>-Elements erlaubt sind.",
698
+ "fail": {
699
+ "default": "Aufzählungselement besitzt Kinder, welche innerhalb eines <li>-Elements nicht erlaubt sind.",
700
+ "roleNotValid": "Aufzählungselement besitzt Kinder, welche folgende nicht erlaubte Rollen besitzen: ${data.roles}"
701
+ }
702
+ },
703
+ "structured-dlitems": {
704
+ "pass": "Das Definitionslisten-Element enthält sowohl <dt> als auch <dd>-Elemente, falls es nichtleer sein sollte.",
705
+ "fail": "Das Definitionslisten-Element enthält kein <dt>-Element, welches von keinem <dd>-Element gefolgt wird."
706
+ },
707
+ "caption": {
708
+ "pass": "Das Multimedia-Element besitzt eine Untertitelung (captions track).",
709
+ "incomplete": "Für das Element konnte keine Untertitelung (captions track) gefunden werden."
710
+ },
711
+ "frame-tested": {
712
+ "pass": "Das iFrame konnte mit axe-core getestet werden.",
713
+ "fail": "Das iFrame konnte nicht mit axe-core getestet werden.",
714
+ "incomplete": "Das iFrame muss noch mit axe-core getestet werden."
715
+ },
716
+ "no-autoplay-audio": {
717
+ "pass": "Die <video> oder <audio>-Elemente geben keinen Ton über die erlaubte Zeitspanne aus oder haben Kontrollmöglichkeiten.",
718
+ "fail": "Die <video> oder <audio>-Elemente geben Ton über die erlaubte Zeitspanne aus oder haben keine Kontrollmöglichkeiten.",
719
+ "incomplete": "Es sollte überprüft werden, dass <video> oder <audio>-Elemente keinen Ton über die erlaubte Zeitspanne ausgeben oder Kontrollmöglichkeiten haben."
720
+ },
721
+ "css-orientation-lock": {
722
+ "pass": "Display ist bedienbar, und eine CSS-Ausrichtungssperre ist nicht vorhanden.",
723
+ "fail": "CSS-Ausrichtungssperre wird angewendet und macht die Anzeige unbrauchbar.",
724
+ "incomplete": "Der Wert der CSS-Ausrichtungssperre kann nicht ermittelt werden."
725
+ },
726
+ "meta-viewport-large": {
727
+ "pass": "Der <meta>-Tag schränkt das Zoomen nicht ein.",
728
+ "fail": "Die viewport-Einstellungen im <meta>-Tag schränken das Zoomen auf mobilen Geräten ein."
729
+ },
730
+ "meta-viewport": {
731
+ "pass": "Der <meta>-Tag blockiert das Zoomen auf mobilen Geräten nicht.",
732
+ "fail": "Die viewport-Einstellungen im <meta>-Tag blockieren das Zoomen auf mobilen Geräten."
733
+ },
734
+ "header-present": {
735
+ "pass": "Die Seite besitzt eine Seitenüberschrift.",
736
+ "fail": "Die Seite besitzt keine Seitenüberschrift."
737
+ },
738
+ "heading-order": {
739
+ "pass": "Die Überschriftenstruktur ist gültig.",
740
+ "fail": "Die Überschriftenstruktur ist nicht valide."
741
+ },
742
+ "identical-links-same-purpose": {
743
+ "pass": "Es befinden sich keine Links auf der Seite, welche mit demselben Namen auf dasselbe Ziel verweisen.",
744
+ "incomplete": "Prüfen Sie, ob die Links den gleichen Zweck haben oder absichtlich mehrdeutig sind."
745
+ },
746
+ "internal-link-present": {
747
+ "pass": "Es wurde ein gültiger Skip-Link gefunden.",
748
+ "fail": "Kein gültiger Skip-Link gefunden."
749
+ },
750
+ "landmark": {
751
+ "pass": "Die Seite besitzt eine landmark region.",
752
+ "fail": "Die Seite besitzt keine landmark region."
753
+ },
754
+ "meta-refresh": {
755
+ "pass": "Der <meta>-Tag erzwingt keine sofortige Aktualisierung der Seite.",
756
+ "fail": "Der <meta>-Tag erzwingt eine zeitgesteuerte Aktualisierung der Seite."
757
+ },
758
+ "p-as-heading": {
759
+ "pass": "<p>-Elemente werden nicht als Überschriftenelement zweckentfremdet.",
760
+ "fail": "Anstelle eines Überschriftenelementes wird lediglich ein durch Formatierungen hervorgehobenes <p>-Element verwendet."
761
+ },
762
+ "region": {
763
+ "pass": "Jeglicher Inhalt der Seite befindet sich in einer landmark.",
764
+ "fail": "Der Inhalt befindet sich nicht in einer ARIA landmark."
765
+ },
766
+ "skip-link": {
767
+ "pass": "Das Ziel des Skip-Links existiert.",
768
+ "incomplete": "Der Skip-Link sollte bei Aktivierung sichtbar werden.",
769
+ "fail": "Es existiert kein Ziel für den Skip-Link."
770
+ },
771
+ "unique-frame-title": {
772
+ "pass": "Das title-Attribut des Elements ist einzigartig.",
773
+ "fail": "Das title-Attribut des Elementes ist nicht einmalig."
774
+ },
775
+ "duplicate-id-active": {
776
+ "pass": "Dokument hat keine aktiven Elemente mit denselben ID-Attributen.",
777
+ "fail": "Dokument hat aktiven Elemente mit denselben ID-Attributen: ${data}."
778
+ },
779
+ "duplicate-id-aria": {
780
+ "pass": "Dokument besitzt keine Elemente, welche mit ARIA oder Labels referenziert werden, welche die gleiche ID besitzen.",
781
+ "fail": "Dokument besitzt Elemente, welche mit ARIA oder Labels referenziert werden, welche folgende gleiche ID besitzen: ${data}"
782
+ },
783
+ "duplicate-id": {
784
+ "pass": "Das Dokument besitzt eine einzigartige ID.",
785
+ "fail": "Das Dokument besitzt mehrere Elemente mit demselben id-Attributwert: ${data}."
786
+ },
787
+ "aria-label": {
788
+ "pass": "Das aria-label-Attribut existiert und ist nichtleer.",
789
+ "fail": "Es existiert kein aria-label-Attribut oder das Attribut ist leer."
790
+ },
791
+ "aria-labelledby": {
792
+ "pass": "Das aria-labelledby-Attribut existiert und referenziert ein Element, welches für Screen Reader sichtbar ist.",
793
+ "fail": "Das aria-labelledby-Attribut existiert nicht oder referenziert ein Element, das nicht existiert, nicht sichtbar oder leer ist.",
794
+ "incomplete": "Es sollte sichergestellt werden, dass aria-labelledby auf ein existierendes Element verweist."
795
+ },
796
+ "avoid-inline-spacing": {
797
+ "pass": "Es werden keine inline-Stilangaben mit '!important' spezifiziert, welche den Textabstand beeinflussen.",
798
+ "fail": {
799
+ "singular": "Es sollte '!important' vom inline-Stil ${data.values} entfernt werden, da das Überschreiben in den meisten Browsern nicht erlaubt ist.",
800
+ "plural": "Es sollte '!important' von den inline-Stilen ${data.values} entfernt werden, da das Überschreiben in den meisten Browsern nicht erlaubt ist."
801
+ }
802
+ },
803
+ "button-has-visible-text": {
804
+ "pass": "Das Element besitzt Text, der für Screenreader sichtbar ist.",
805
+ "fail": "Das Element besitzt keinen Text, der für Screenreader sichtbar ist.",
806
+ "incomplete": "Ob das Element über Kindelemente bzw. textuelle Inhalte verfügt, kann nicht ermittelt werden."
807
+ },
808
+ "doc-has-title": {
809
+ "pass": "Test",
810
+ "fail": "Das Dokument besitzt kein <title>-Element oder das <title>-Element ist leer."
811
+ },
812
+ "exists": {
813
+ "pass": "Das Element existiert nicht.",
814
+ "incomplete": "Das Element existiert."
815
+ },
816
+ "has-alt": {
817
+ "pass": "Das Element besitzt ein alt-Attribut.",
818
+ "fail": "Das Element besitzt kein alt-Attribut."
819
+ },
820
+ "has-visible-text": {
821
+ "pass": "Das Element besitzt Text, der für Screenreader sichtbar ist.",
822
+ "fail": "Das Element besitzt keinen Text, der für Screenreader sichtbar ist.",
823
+ "incomplete": "Es ist nicht möglich zu ermitteln, ob das Element Kinder besitzt."
824
+ },
825
+ "is-on-screen": {
826
+ "pass": "Das Element ist nicht sichtbar.",
827
+ "fail": "Das Element ist sichtbar."
828
+ },
829
+ "non-empty-alt": {
830
+ "pass": "Das Element hat ein nichtleeres alt-Attribut.",
831
+ "fail": {
832
+ "noAttr": "Das Element hat kein alt-Attribut.",
833
+ "emptyAttr": "Das Element hat ein leeres alt-Attribut."
834
+ }
835
+ },
836
+ "non-empty-if-present": {
837
+ "pass": {
838
+ "default": "Das Element hat kein value-Attribut.",
839
+ "has-label": "Das Element hat ein nichtleeres value-Attribut."
840
+ },
841
+ "fail": "Das Element besitzt ein value-Attribut und das value-Attribut ist leer."
842
+ },
843
+ "non-empty-placeholder": {
844
+ "pass": "Element hat ein nichtleeres Platzhalterattribut.",
845
+ "fail": {
846
+ "noAttr": "Element hat kein Platzhalterattribut.",
847
+ "emptyAttr": "Element hat ein leeres Platzhalterattribut."
848
+ }
849
+ },
850
+ "non-empty-title": {
851
+ "pass": "Das Element hat ein nichtleeres title-Attribut.",
852
+ "fail": {
853
+ "noAttr": "Element hat kein title-Attribut.",
854
+ "emptyAttr": "Element hat ein leeres title-Attribut."
855
+ }
856
+ },
857
+ "non-empty-value": {
858
+ "pass": "Das Element hat ein nichtleeres value-Attribut",
859
+ "fail": {
860
+ "noAttr": "Element hat kein value-Attribut.",
861
+ "emptyAttr": "Element hat ein leeres value-Attribut."
862
+ }
863
+ },
864
+ "presentational-role": {
865
+ "pass": "Die Standardsemantik des Elements wurden mit der Rolle \"${data.role}\" überschrieben.",
866
+ "fail": {
867
+ "default": "Die Standardsemantik des Elements wurden nicht mit der Rolle role=\"none\" oder role=\"presentation\" überschrieben.",
868
+ "globalAria": "Die Rolle des Elements ist nicht präsentativ aufgrund des globalen ARIA Attributs.",
869
+ "focusable": "Die Rolle des Elements ist nicht präsentativ aufgrund der Möglichkeit es zu fokussieren.",
870
+ "both": "Die Rolle des Elements ist nicht präsentativ aufgrund des zugewiesenen globalen ARIA Attributs und der Möglichkeit es zu fokussieren."
871
+ }
872
+ },
873
+ "role-none": {
874
+ "pass": "Die Standard-Semantik des Elementes ist mit role=\"none\" überschrieben.",
875
+ "fail": "Die Standard-Semantik des Elementes ist nicht mit role=\"none\" überschrieben."
876
+ },
877
+ "role-presentation": {
878
+ "pass": "Die Standard-Semantik des Elementes ist mit role=\"presentation\" überschrieben.",
879
+ "fail": "Die Standard-Semantik des Elementes ist nicht mit role=\"presentation\" überschrieben."
880
+ },
881
+ "svg-non-empty-title": {
882
+ "pass": "Element hat ein Kind, welches ein Titel ist.",
883
+ "fail": {
884
+ "noTitle": "Element hat ein Kind, welches kein Titel ist.",
885
+ "emptyTitle": "Das Kind des Elements, welches ein Titel ist, ist leer."
886
+ },
887
+ "incomplete": "Es ist nicht möglich zu ermitteln ob das Element ein Kind hat, welches ein Titel ist."
888
+ },
889
+ "caption-faked": {
890
+ "pass": "Die erste Zeile der Tabelle wird nicht als Tabellenüberschrift verwendet.",
891
+ "fail": "Die erste Zeile der Tabelle sollte nicht als Tabellenüberschrift verwendet werden."
892
+ },
893
+ "html5-scope": {
894
+ "pass": "Das scope-Attribut wird nur für Tabellenkopfzellen (<th>) verwendet.",
895
+ "fail": "In HTML5 dürfen scope-Attribute lediglich für Tabellenkopfzellen (<th>) verwendet werden."
896
+ },
897
+ "same-caption-summary": {
898
+ "pass": "Die Inhalte des summary-Attributes und des <caption>-Elementes sind nicht identisch.",
899
+ "fail": "Die Inhalte des summary-Attributes und des <caption>-Elementes sind identisch."
900
+ },
901
+ "scope-value": {
902
+ "pass": "Das scope-Attribut wird korrekt verwendet.",
903
+ "fail": "Das <td>-Element besitzt ein scope-Attribut. In HTML5 dürfen scope-Attribute jedoch lediglich für Tabellenkopfzellen <th> verwendet werden."
904
+ },
905
+ "td-has-header": {
906
+ "pass": "Alle nichtleeren Datenzellen haben eine Tabellenkopfzelle.",
907
+ "fail": "Nicht alle (nichtleeren) Datenzellen haben eine Tabellenkopfzelle."
908
+ },
909
+ "td-headers-attr": {
910
+ "pass": "Das headers-Attribut wird ausschließlich dafür verwendet, um auf andere Zellen in der Tabelle zu verweisen.",
911
+ "incomplete": "Das headers-Attribut ist leer.",
912
+ "fail": "Das headers-Attribut wird nicht ausschließlich dafür verwendet, um auf andere Zellen in der Tabelle zu verweisen."
913
+ },
914
+ "th-has-data-cells": {
915
+ "pass": "Alle Tabellenkopfzellen beziehen sich auf Datenzellen.",
916
+ "fail": "Nicht alle Tabellenkopfzellen beziehen sich auf Datenzellen.",
917
+ "incomplete": "Datenzellen der Tabelle fehlen oder sind leer."
918
+ },
919
+ "hidden-content": {
920
+ "pass": "Jeglicher Inhalt der Seite wurde analysiert.",
921
+ "fail": "Beim Analysieren der Inhalte auf dieser Seite sind Probleme aufgetreten.",
922
+ "incomplete": "Auf der Seite befinden sich versteckte Inhalte, die nicht analysiert werden konnten. Um den Inhalt analysieren zu können, müssen Sie die Anzeige auslösen."
923
+ }
924
+ },
925
+ "failureSummaries": {
926
+ "any": {
927
+ "failureMessage": "Korrigiere mindestens einen der folgenden Punkte:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
928
+ },
929
+ "none": {
930
+ "failureMessage": "Korrigiere alle der folgenden Punkte:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
931
+ }
932
+ },
933
+ "incompleteFallbackMessage": ""
623
934
  }