axe-core 4.1.2-canary.ec00dc7 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (640) hide show
  1. package/CHANGELOG.md +0 -46
  2. package/CONTRIBUTING.md +57 -112
  3. package/README.md +50 -59
  4. package/axe.d.ts +281 -282
  5. package/axe.js +678 -1285
  6. package/axe.min.js +2 -2
  7. package/bower.json +38 -44
  8. package/doc/API.md +133 -178
  9. package/doc/check-message-template.md +3 -3
  10. package/doc/check-options.md +25 -25
  11. package/doc/developer-guide.md +48 -48
  12. package/doc/examples/chrome-debugging-protocol/axe-cdp.js +56 -56
  13. package/doc/examples/chrome-debugging-protocol/package.json +9 -9
  14. package/doc/examples/html-handlebars.md +52 -52
  15. package/doc/examples/jasmine/karma.conf.js +15 -15
  16. package/doc/examples/jasmine/package.json +19 -19
  17. package/doc/examples/jasmine/spec/a11y.js +29 -29
  18. package/doc/examples/jest_react/link.js +3 -3
  19. package/doc/examples/jest_react/link.test.js +15 -15
  20. package/doc/examples/jest_react/package.json +26 -26
  21. package/doc/examples/jest_react/test-helpers.js +12 -12
  22. package/doc/examples/jsdom/package.json +13 -13
  23. package/doc/examples/mocha/karma.conf.js +15 -15
  24. package/doc/examples/mocha/package.json +20 -20
  25. package/doc/examples/phantomjs/axe-phantom.js +36 -36
  26. package/doc/examples/phantomjs/package.json +17 -17
  27. package/doc/examples/puppeteer/axe-puppeteer.js +37 -37
  28. package/doc/examples/puppeteer/package.json +11 -11
  29. package/doc/examples/qunit/package.json +19 -19
  30. package/doc/examples/test-examples.js +22 -22
  31. package/doc/plugins.md +64 -64
  32. package/doc/projects.md +9 -13
  33. package/doc/rule-descriptions.md +100 -104
  34. package/doc/rule-development.md +2 -2
  35. package/doc/standards-object.md +8 -14
  36. package/lib/checks/aria/abstractrole-evaluate.js +8 -8
  37. package/lib/checks/aria/abstractrole.json +12 -12
  38. package/lib/checks/aria/aria-allowed-attr-evaluate.js +25 -24
  39. package/lib/checks/aria/aria-allowed-attr.json +12 -12
  40. package/lib/checks/aria/aria-allowed-role-evaluate.js +21 -21
  41. package/lib/checks/aria/aria-allowed-role.json +20 -20
  42. package/lib/checks/aria/aria-errormessage-evaluate.js +30 -38
  43. package/lib/checks/aria/aria-errormessage.json +16 -16
  44. package/lib/checks/aria/aria-hidden-body-evaluate.js +1 -1
  45. package/lib/checks/aria/aria-hidden-body.json +9 -9
  46. package/lib/checks/aria/aria-required-attr-evaluate.js +34 -34
  47. package/lib/checks/aria/aria-required-attr.json +12 -12
  48. package/lib/checks/aria/aria-required-children-evaluate.js +103 -108
  49. package/lib/checks/aria/aria-required-children.json +30 -30
  50. package/lib/checks/aria/aria-required-parent-evaluate.js +65 -72
  51. package/lib/checks/aria/aria-required-parent.json +12 -12
  52. package/lib/checks/aria/aria-roledescription-evaluate.js +9 -9
  53. package/lib/checks/aria/aria-roledescription.json +21 -21
  54. package/lib/checks/aria/aria-unsupported-attr-evaluate.js +20 -17
  55. package/lib/checks/aria/aria-unsupported-attr.json +9 -9
  56. package/lib/checks/aria/aria-valid-attr-evaluate.js +20 -20
  57. package/lib/checks/aria/aria-valid-attr-value-evaluate.js +71 -82
  58. package/lib/checks/aria/aria-valid-attr-value.json +17 -17
  59. package/lib/checks/aria/aria-valid-attr.json +13 -13
  60. package/lib/checks/aria/fallbackrole-evaluate.js +1 -1
  61. package/lib/checks/aria/fallbackrole.json +9 -9
  62. package/lib/checks/aria/has-global-aria-attribute-evaluate.js +5 -5
  63. package/lib/checks/aria/has-global-aria-attribute.json +12 -12
  64. package/lib/checks/aria/has-widget-role-evaluate.js +6 -6
  65. package/lib/checks/aria/has-widget-role.json +10 -10
  66. package/lib/checks/aria/invalidrole-evaluate.js +12 -12
  67. package/lib/checks/aria/invalidrole.json +12 -12
  68. package/lib/checks/aria/is-element-focusable-evaluate.js +1 -1
  69. package/lib/checks/aria/is-element-focusable.json +9 -9
  70. package/lib/checks/aria/no-implicit-explicit-label-evaluate.js +18 -20
  71. package/lib/checks/aria/no-implicit-explicit-label.json +9 -9
  72. package/lib/checks/aria/unsupportedrole-evaluate.js +2 -2
  73. package/lib/checks/aria/unsupportedrole.json +9 -9
  74. package/lib/checks/aria/valid-scrollable-semantics-evaluate.js +23 -23
  75. package/lib/checks/aria/valid-scrollable-semantics.json +10 -10
  76. package/lib/checks/color/color-contrast-evaluate.js +164 -164
  77. package/lib/checks/color/color-contrast.json +40 -40
  78. package/lib/checks/color/link-in-text-block-evaluate.js +70 -70
  79. package/lib/checks/color/link-in-text-block.json +17 -17
  80. package/lib/checks/forms/autocomplete-appropriate-evaluate.js +68 -68
  81. package/lib/checks/forms/autocomplete-appropriate.json +9 -9
  82. package/lib/checks/forms/autocomplete-valid-evaluate.js +2 -2
  83. package/lib/checks/forms/autocomplete-valid.json +9 -9
  84. package/lib/checks/generic/README.md +5 -5
  85. package/lib/checks/generic/attr-non-space-content-evaluate.js +20 -20
  86. package/lib/checks/generic/has-descendant-after.js +10 -10
  87. package/lib/checks/generic/has-descendant-evaluate.js +12 -12
  88. package/lib/checks/generic/has-text-content-evaluate.js +5 -5
  89. package/lib/checks/generic/matches-definition-evaluate.js +1 -1
  90. package/lib/checks/generic/page-no-duplicate-after.js +2 -2
  91. package/lib/checks/generic/page-no-duplicate-evaluate.js +29 -29
  92. package/lib/checks/keyboard/accesskeys-after.js +19 -19
  93. package/lib/checks/keyboard/accesskeys-evaluate.js +5 -5
  94. package/lib/checks/keyboard/accesskeys.json +10 -10
  95. package/lib/checks/keyboard/focusable-content-evaluate.js +13 -13
  96. package/lib/checks/keyboard/focusable-content.json +9 -9
  97. package/lib/checks/keyboard/focusable-disabled-evaluate.js +30 -30
  98. package/lib/checks/keyboard/focusable-disabled.json +9 -9
  99. package/lib/checks/keyboard/focusable-element-evaluate.js +41 -41
  100. package/lib/checks/keyboard/focusable-element.json +9 -9
  101. package/lib/checks/keyboard/focusable-modal-open-evaluate.js +11 -11
  102. package/lib/checks/keyboard/focusable-modal-open.json +9 -9
  103. package/lib/checks/keyboard/focusable-no-name-evaluate.js +10 -10
  104. package/lib/checks/keyboard/focusable-no-name.json +10 -10
  105. package/lib/checks/keyboard/focusable-not-tabbable-evaluate.js +30 -30
  106. package/lib/checks/keyboard/focusable-not-tabbable.json +9 -9
  107. package/lib/checks/keyboard/landmark-is-top-level-evaluate.js +17 -22
  108. package/lib/checks/keyboard/landmark-is-top-level.json +9 -9
  109. package/lib/checks/keyboard/page-has-heading-one.json +13 -13
  110. package/lib/checks/keyboard/page-has-main.json +13 -13
  111. package/lib/checks/keyboard/page-no-duplicate-banner.json +14 -14
  112. package/lib/checks/keyboard/page-no-duplicate-contentinfo.json +14 -14
  113. package/lib/checks/keyboard/page-no-duplicate-main.json +13 -13
  114. package/lib/checks/keyboard/tabindex-evaluate.js +5 -5
  115. package/lib/checks/keyboard/tabindex.json +9 -9
  116. package/lib/checks/label/alt-space-value-evaluate.js +3 -3
  117. package/lib/checks/label/alt-space-value.json +9 -9
  118. package/lib/checks/label/duplicate-img-label-evaluate.js +12 -12
  119. package/lib/checks/label/duplicate-img-label.json +12 -12
  120. package/lib/checks/label/explicit-evaluate.js +20 -25
  121. package/lib/checks/label/explicit.json +10 -10
  122. package/lib/checks/label/help-same-as-label-evaluate.js +17 -17
  123. package/lib/checks/label/help-same-as-label.json +10 -10
  124. package/lib/checks/label/hidden-explicit-label-evaluate.js +15 -21
  125. package/lib/checks/label/hidden-explicit-label.json +10 -10
  126. package/lib/checks/label/implicit-evaluate.js +9 -9
  127. package/lib/checks/label/implicit.json +10 -10
  128. package/lib/checks/label/label-content-name-mismatch-evaluate.js +42 -42
  129. package/lib/checks/label/label-content-name-mismatch.json +13 -13
  130. package/lib/checks/label/multiple-label-evaluate.js +32 -32
  131. package/lib/checks/label/multiple-label.json +9 -9
  132. package/lib/checks/label/title-only-evaluate.js +4 -4
  133. package/lib/checks/label/title-only.json +9 -9
  134. package/lib/checks/landmarks/landmark-is-unique-after.js +20 -20
  135. package/lib/checks/landmarks/landmark-is-unique-evaluate.js +6 -6
  136. package/lib/checks/landmarks/landmark-is-unique.json +10 -10
  137. package/lib/checks/language/has-lang-evaluate.js +25 -25
  138. package/lib/checks/language/has-lang.json +15 -15
  139. package/lib/checks/language/valid-lang-evaluate.js +25 -25
  140. package/lib/checks/language/valid-lang.json +12 -12
  141. package/lib/checks/language/xml-lang-mismatch-evaluate.js +3 -3
  142. package/lib/checks/language/xml-lang-mismatch.json +9 -9
  143. package/lib/checks/lists/dlitem-evaluate.js +19 -19
  144. package/lib/checks/lists/dlitem.json +9 -9
  145. package/lib/checks/lists/listitem-evaluate.js +17 -17
  146. package/lib/checks/lists/listitem.json +12 -12
  147. package/lib/checks/lists/only-dlitems-evaluate.js +44 -44
  148. package/lib/checks/lists/only-dlitems.json +9 -9
  149. package/lib/checks/lists/only-listitems-evaluate.js +56 -56
  150. package/lib/checks/lists/only-listitems.json +12 -12
  151. package/lib/checks/lists/structured-dlitems-evaluate.js +20 -20
  152. package/lib/checks/lists/structured-dlitems.json +9 -9
  153. package/lib/checks/media/caption-evaluate.js +6 -6
  154. package/lib/checks/media/caption.json +9 -9
  155. package/lib/checks/media/frame-tested-evaluate.js +20 -20
  156. package/lib/checks/media/frame-tested.json +13 -13
  157. package/lib/checks/media/no-autoplay-audio-evaluate.js +81 -81
  158. package/lib/checks/media/no-autoplay-audio.json +13 -13
  159. package/lib/checks/mobile/css-orientation-lock-evaluate.js +250 -250
  160. package/lib/checks/mobile/css-orientation-lock.json +13 -13
  161. package/lib/checks/mobile/meta-viewport-large.json +13 -13
  162. package/lib/checks/mobile/meta-viewport-scale-evaluate.js +56 -56
  163. package/lib/checks/mobile/meta-viewport.json +12 -12
  164. package/lib/checks/navigation/header-present.json +13 -13
  165. package/lib/checks/navigation/heading-order-after.js +11 -134
  166. package/lib/checks/navigation/heading-order-evaluate.js +13 -51
  167. package/lib/checks/navigation/heading-order.json +10 -10
  168. package/lib/checks/navigation/identical-links-same-purpose-after.js +86 -86
  169. package/lib/checks/navigation/identical-links-same-purpose-evaluate.js +23 -23
  170. package/lib/checks/navigation/identical-links-same-purpose.json +10 -10
  171. package/lib/checks/navigation/internal-link-present-evaluate.js +4 -4
  172. package/lib/checks/navigation/internal-link-present.json +9 -9
  173. package/lib/checks/navigation/landmark.json +12 -12
  174. package/lib/checks/navigation/meta-refresh-evaluate.js +3 -3
  175. package/lib/checks/navigation/meta-refresh.json +9 -9
  176. package/lib/checks/navigation/p-as-heading-evaluate.js +72 -72
  177. package/lib/checks/navigation/p-as-heading.json +28 -28
  178. package/lib/checks/navigation/region-evaluate.js +73 -73
  179. package/lib/checks/navigation/region.json +12 -12
  180. package/lib/checks/navigation/skip-link-evaluate.js +5 -5
  181. package/lib/checks/navigation/skip-link.json +10 -10
  182. package/lib/checks/navigation/unique-frame-title-after.js +8 -8
  183. package/lib/checks/navigation/unique-frame-title-evaluate.js +3 -3
  184. package/lib/checks/navigation/unique-frame-title.json +10 -10
  185. package/lib/checks/parsing/duplicate-id-active.json +10 -10
  186. package/lib/checks/parsing/duplicate-id-after.js +8 -8
  187. package/lib/checks/parsing/duplicate-id-aria.json +10 -10
  188. package/lib/checks/parsing/duplicate-id-evaluate.js +15 -15
  189. package/lib/checks/parsing/duplicate-id.json +10 -10
  190. package/lib/checks/shared/aria-label-evaluate.js +1 -1
  191. package/lib/checks/shared/aria-label.json +9 -9
  192. package/lib/checks/shared/aria-labelledby-evaluate.js +5 -5
  193. package/lib/checks/shared/aria-labelledby.json +10 -10
  194. package/lib/checks/shared/avoid-inline-spacing-evaluate.js +10 -10
  195. package/lib/checks/shared/avoid-inline-spacing.json +15 -15
  196. package/lib/checks/shared/button-has-visible-text.json +10 -10
  197. package/lib/checks/shared/doc-has-title-evaluate.js +2 -2
  198. package/lib/checks/shared/doc-has-title.json +9 -9
  199. package/lib/checks/shared/exists-evaluate.js +1 -1
  200. package/lib/checks/shared/exists.json +9 -9
  201. package/lib/checks/shared/has-alt-evaluate.js +5 -5
  202. package/lib/checks/shared/has-alt.json +9 -9
  203. package/lib/checks/shared/has-visible-text.json +10 -10
  204. package/lib/checks/shared/is-on-screen-evaluate.js +2 -2
  205. package/lib/checks/shared/is-on-screen.json +9 -9
  206. package/lib/checks/shared/non-empty-alt.json +15 -15
  207. package/lib/checks/shared/non-empty-if-present-evaluate.js +13 -13
  208. package/lib/checks/shared/non-empty-if-present.json +12 -12
  209. package/lib/checks/shared/non-empty-placeholder.json +15 -15
  210. package/lib/checks/shared/non-empty-title.json +15 -15
  211. package/lib/checks/shared/non-empty-value.json +15 -15
  212. package/lib/checks/shared/presentational-role-evaluate.js +29 -29
  213. package/lib/checks/shared/presentational-role.json +14 -14
  214. package/lib/checks/shared/role-none.json +17 -17
  215. package/lib/checks/shared/role-presentation.json +17 -17
  216. package/lib/checks/shared/svg-non-empty-title-evaluate.js +20 -24
  217. package/lib/checks/shared/svg-non-empty-title.json +13 -13
  218. package/lib/checks/tables/caption-faked-evaluate.js +8 -8
  219. package/lib/checks/tables/caption-faked.json +9 -9
  220. package/lib/checks/tables/html5-scope-evaluate.js +4 -4
  221. package/lib/checks/tables/html5-scope.json +9 -9
  222. package/lib/checks/tables/same-caption-summary-evaluate.js +6 -6
  223. package/lib/checks/tables/same-caption-summary.json +9 -9
  224. package/lib/checks/tables/scope-value-evaluate.js +2 -2
  225. package/lib/checks/tables/scope-value.json +12 -12
  226. package/lib/checks/tables/td-has-header-evaluate.js +21 -21
  227. package/lib/checks/tables/td-has-header.json +9 -9
  228. package/lib/checks/tables/td-headers-attr-evaluate.js +48 -48
  229. package/lib/checks/tables/td-headers-attr.json +10 -10
  230. package/lib/checks/tables/th-has-data-cells-evaluate.js +64 -64
  231. package/lib/checks/tables/th-has-data-cells.json +10 -10
  232. package/lib/checks/visibility/hidden-content-evaluate.js +28 -28
  233. package/lib/checks/visibility/hidden-content.json +10 -10
  234. package/lib/commons/aria/allowed-attr.js +12 -12
  235. package/lib/commons/aria/arialabel-text.js +7 -7
  236. package/lib/commons/aria/arialabelledby-text.js +41 -41
  237. package/lib/commons/aria/get-accessible-refs.js +41 -41
  238. package/lib/commons/aria/get-element-unallowed-roles.js +69 -69
  239. package/lib/commons/aria/get-explicit-role.js +14 -14
  240. package/lib/commons/aria/get-owned-virtual.js +14 -14
  241. package/lib/commons/aria/get-role-type.js +5 -5
  242. package/lib/commons/aria/get-role.js +89 -89
  243. package/lib/commons/aria/get-roles-by-type.js +1 -1
  244. package/lib/commons/aria/get-roles-with-name-from-contents.js +1 -1
  245. package/lib/commons/aria/implicit-nodes.js +6 -6
  246. package/lib/commons/aria/implicit-role.js +32 -32
  247. package/lib/commons/aria/is-accessible-ref.js +1 -1
  248. package/lib/commons/aria/is-aria-role-allowed-on-element.js +12 -12
  249. package/lib/commons/aria/is-unsupported-role.js +2 -2
  250. package/lib/commons/aria/is-valid-role.js +6 -6
  251. package/lib/commons/aria/label-virtual.js +24 -24
  252. package/lib/commons/aria/label.js +2 -2
  253. package/lib/commons/aria/lookup-table.js +2395 -2395
  254. package/lib/commons/aria/named-from-contents.js +19 -19
  255. package/lib/commons/aria/required-attr.js +5 -5
  256. package/lib/commons/aria/required-context.js +5 -5
  257. package/lib/commons/aria/required-owned.js +5 -5
  258. package/lib/commons/aria/validate-attr-value.js +40 -44
  259. package/lib/commons/aria/validate-attr.js +2 -2
  260. package/lib/commons/color/center-point-of-rect.js +15 -15
  261. package/lib/commons/color/color.js +224 -224
  262. package/lib/commons/color/element-has-image.js +14 -14
  263. package/lib/commons/color/element-is-distinct.js +56 -55
  264. package/lib/commons/color/filtered-rect-stack.js +32 -32
  265. package/lib/commons/color/flatten-colors.js +6 -6
  266. package/lib/commons/color/get-background-color.js +40 -40
  267. package/lib/commons/color/get-background-stack.js +71 -71
  268. package/lib/commons/color/get-contrast.js +9 -9
  269. package/lib/commons/color/get-foreground-color.js +34 -34
  270. package/lib/commons/color/get-own-background-color.js +7 -7
  271. package/lib/commons/color/get-rect-stack.js +14 -14
  272. package/lib/commons/color/get-text-shadow-colors.js +87 -87
  273. package/lib/commons/color/has-valid-contrast-ratio.js +10 -10
  274. package/lib/commons/color/incomplete-data.js +37 -37
  275. package/lib/commons/dom/find-elms-in-context.js +11 -11
  276. package/lib/commons/dom/find-up-virtual.js +31 -31
  277. package/lib/commons/dom/find-up.js +1 -1
  278. package/lib/commons/dom/focus-disabled.js +13 -13
  279. package/lib/commons/dom/get-composed-parent.js +14 -14
  280. package/lib/commons/dom/get-element-by-reference.js +18 -18
  281. package/lib/commons/dom/get-element-coordinates.js +12 -12
  282. package/lib/commons/dom/get-element-stack.js +10 -10
  283. package/lib/commons/dom/get-rect-stack.js +427 -427
  284. package/lib/commons/dom/get-scroll-offset.js +17 -17
  285. package/lib/commons/dom/get-tabbable-elements.js +9 -9
  286. package/lib/commons/dom/get-text-element-stack.js +49 -64
  287. package/lib/commons/dom/get-viewport-size.js +19 -19
  288. package/lib/commons/dom/has-content-virtual.js +29 -29
  289. package/lib/commons/dom/has-content.js +2 -2
  290. package/lib/commons/dom/idrefs.js +15 -15
  291. package/lib/commons/dom/inserted-into-focus-order.js +6 -6
  292. package/lib/commons/dom/is-focusable.js +12 -16
  293. package/lib/commons/dom/is-hidden-with-css.js +47 -47
  294. package/lib/commons/dom/is-html5.js +5 -5
  295. package/lib/commons/dom/is-in-text-block.js +74 -74
  296. package/lib/commons/dom/is-modal-open.js +78 -78
  297. package/lib/commons/dom/is-natively-focusable.js +22 -22
  298. package/lib/commons/dom/is-node.js +1 -1
  299. package/lib/commons/dom/is-offscreen.js +43 -43
  300. package/lib/commons/dom/is-opaque.js +4 -4
  301. package/lib/commons/dom/is-skip-link.js +27 -27
  302. package/lib/commons/dom/is-visible.js +147 -147
  303. package/lib/commons/dom/is-visual-content.js +33 -33
  304. package/lib/commons/dom/reduce-to-elements-below-floating.js +18 -18
  305. package/lib/commons/dom/shadow-elements-from-point.js +29 -29
  306. package/lib/commons/dom/url-props-from-attribute.js +100 -100
  307. package/lib/commons/dom/visually-contains.js +77 -77
  308. package/lib/commons/dom/visually-overlaps.js +29 -29
  309. package/lib/commons/forms/is-aria-combobox.js +2 -2
  310. package/lib/commons/forms/is-aria-listbox.js +2 -2
  311. package/lib/commons/forms/is-aria-range.js +2 -2
  312. package/lib/commons/forms/is-aria-textbox.js +2 -2
  313. package/lib/commons/forms/is-disabled.js +20 -20
  314. package/lib/commons/forms/is-native-select.js +3 -3
  315. package/lib/commons/forms/is-native-textbox.js +17 -17
  316. package/lib/commons/index.js +9 -9
  317. package/lib/commons/matches/attributes.js +4 -4
  318. package/lib/commons/matches/condition.js +1 -1
  319. package/lib/commons/matches/explicit-role.js +1 -1
  320. package/lib/commons/matches/from-definition.js +30 -30
  321. package/lib/commons/matches/from-function.js +12 -12
  322. package/lib/commons/matches/from-primative.js +20 -20
  323. package/lib/commons/matches/implicit-role.js +1 -1
  324. package/lib/commons/matches/matches.js +1 -1
  325. package/lib/commons/matches/node-name.js +4 -4
  326. package/lib/commons/matches/properties.js +4 -4
  327. package/lib/commons/matches/semantic-role.js +1 -1
  328. package/lib/commons/standards/get-aria-roles-by-type.js +3 -3
  329. package/lib/commons/standards/get-aria-roles-supporting-name-from-content.js +8 -8
  330. package/lib/commons/standards/get-element-spec.js +42 -42
  331. package/lib/commons/standards/get-elements-by-content-type.js +15 -15
  332. package/lib/commons/standards/get-global-aria-attrs.js +8 -8
  333. package/lib/commons/standards/implicit-html-roles.js +140 -140
  334. package/lib/commons/table/get-all-cells.js +16 -16
  335. package/lib/commons/table/get-cell-position.js +15 -15
  336. package/lib/commons/table/get-headers.js +65 -72
  337. package/lib/commons/table/get-scope.js +42 -42
  338. package/lib/commons/table/is-column-header.js +1 -1
  339. package/lib/commons/table/is-data-cell.js +10 -10
  340. package/lib/commons/table/is-data-table.js +176 -176
  341. package/lib/commons/table/is-header.js +8 -8
  342. package/lib/commons/table/is-row-header.js +1 -1
  343. package/lib/commons/table/to-grid.js +20 -31
  344. package/lib/commons/table/traverse.js +55 -55
  345. package/lib/commons/text/accessible-text-virtual.js +90 -90
  346. package/lib/commons/text/accessible-text.js +2 -2
  347. package/lib/commons/text/form-control-value.js +112 -113
  348. package/lib/commons/text/has-unicode.js +17 -17
  349. package/lib/commons/text/index.js +4 -4
  350. package/lib/commons/text/is-human-interpretable.js +34 -34
  351. package/lib/commons/text/is-icon-ligature.js +194 -194
  352. package/lib/commons/text/is-valid-autocomplete.js +104 -104
  353. package/lib/commons/text/label-text.js +39 -39
  354. package/lib/commons/text/label-virtual.js +26 -26
  355. package/lib/commons/text/label.js +2 -2
  356. package/lib/commons/text/native-element-type.js +97 -97
  357. package/lib/commons/text/native-text-alternative.js +19 -19
  358. package/lib/commons/text/native-text-methods.js +113 -113
  359. package/lib/commons/text/remove-unicode.js +15 -15
  360. package/lib/commons/text/sanitize.js +8 -8
  361. package/lib/commons/text/subtree-text.js +89 -47
  362. package/lib/commons/text/title-text.js +14 -14
  363. package/lib/commons/text/unicode.js +56 -56
  364. package/lib/commons/text/unsupported.js +1 -1
  365. package/lib/commons/text/visible-text-nodes.js +12 -12
  366. package/lib/commons/text/visible-virtual.js +21 -21
  367. package/lib/commons/text/visible.js +2 -2
  368. package/lib/core/base/audit.js +613 -613
  369. package/lib/core/base/cache.js +22 -22
  370. package/lib/core/base/check-result.js +20 -20
  371. package/lib/core/base/check.js +132 -132
  372. package/lib/core/base/context.js +175 -179
  373. package/lib/core/base/metadata-function-map.js +167 -179
  374. package/lib/core/base/rule-result.js +25 -25
  375. package/lib/core/base/rule.js +473 -475
  376. package/lib/core/base/virtual-node/abstract-virtual-node.js +33 -37
  377. package/lib/core/base/virtual-node/serial-virtual-node.js +76 -85
  378. package/lib/core/base/virtual-node/virtual-node.js +151 -177
  379. package/lib/core/constants.js +50 -50
  380. package/lib/core/core.js +7 -11
  381. package/lib/core/imports/index.js +14 -14
  382. package/lib/core/index.js +21 -19
  383. package/lib/core/log.js +4 -4
  384. package/lib/core/public/cleanup.js +43 -41
  385. package/lib/core/public/configure.js +112 -112
  386. package/lib/core/public/get-rules.js +19 -19
  387. package/lib/core/public/load.js +49 -47
  388. package/lib/core/public/plugins.js +24 -22
  389. package/lib/core/public/reporter.js +12 -12
  390. package/lib/core/public/reset.js +6 -6
  391. package/lib/core/public/run-rules.js +76 -61
  392. package/lib/core/public/run-virtual-rule.js +42 -47
  393. package/lib/core/public/run.js +154 -154
  394. package/lib/core/reporters/helpers/failure-summary.js +22 -22
  395. package/lib/core/reporters/helpers/get-environment-data.js +29 -29
  396. package/lib/core/reporters/helpers/incomplete-fallback-msg.js +3 -3
  397. package/lib/core/reporters/helpers/index.js +8 -8
  398. package/lib/core/reporters/helpers/process-aggregate.js +69 -69
  399. package/lib/core/reporters/na.js +16 -16
  400. package/lib/core/reporters/no-passes.js +12 -12
  401. package/lib/core/reporters/raw-env.js +9 -9
  402. package/lib/core/reporters/raw.js +24 -24
  403. package/lib/core/reporters/v1.js +23 -23
  404. package/lib/core/reporters/v2.js +13 -13
  405. package/lib/core/utils/aggregate-checks.js +63 -63
  406. package/lib/core/utils/aggregate-node-results.js +44 -44
  407. package/lib/core/utils/aggregate-result.js +24 -24
  408. package/lib/core/utils/aggregate.js +6 -6
  409. package/lib/core/utils/are-styles-set.js +14 -14
  410. package/lib/core/utils/assert.js +3 -3
  411. package/lib/core/utils/check-helper.js +23 -23
  412. package/lib/core/utils/clone.js +18 -18
  413. package/lib/core/utils/closest.js +12 -12
  414. package/lib/core/utils/collect-results-from-frames.js +45 -63
  415. package/lib/core/utils/contains.js +29 -29
  416. package/lib/core/utils/css-parser.js +0 -1
  417. package/lib/core/utils/deep-merge.js +18 -18
  418. package/lib/core/utils/dq-element.js +88 -88
  419. package/lib/core/utils/element-matches.js +29 -29
  420. package/lib/core/utils/escape-selector.js +63 -63
  421. package/lib/core/utils/extend-meta-data.js +11 -11
  422. package/lib/core/utils/finalize-result.js +13 -15
  423. package/lib/core/utils/find-by.js +3 -3
  424. package/lib/core/utils/get-all-checks.js +5 -5
  425. package/lib/core/utils/get-ancestry.js +16 -16
  426. package/lib/core/utils/get-base-lang.js +7 -7
  427. package/lib/core/utils/get-check-message.js +9 -9
  428. package/lib/core/utils/get-check-option.js +26 -26
  429. package/lib/core/utils/get-flattened-tree.js +88 -88
  430. package/lib/core/utils/get-friendly-uri-end.js +87 -87
  431. package/lib/core/utils/get-node-attributes.js +9 -10
  432. package/lib/core/utils/get-node-from-tree.js +2 -2
  433. package/lib/core/utils/get-root-node.js +6 -6
  434. package/lib/core/utils/get-scroll-state.js +26 -26
  435. package/lib/core/utils/get-scroll.js +26 -26
  436. package/lib/core/utils/get-selector.js +256 -256
  437. package/lib/core/utils/get-shadow-selector.js +19 -19
  438. package/lib/core/utils/get-stylesheet-factory.js +32 -32
  439. package/lib/core/utils/get-xpath.js +65 -65
  440. package/lib/core/utils/index.js +3 -6
  441. package/lib/core/utils/inject-style.js +24 -24
  442. package/lib/core/utils/is-hidden.js +41 -41
  443. package/lib/core/utils/is-html-element.js +122 -122
  444. package/lib/core/utils/is-node-in-context.js +24 -24
  445. package/lib/core/utils/is-shadow-root.js +28 -28
  446. package/lib/core/utils/is-xhtml.js +4 -4
  447. package/lib/core/utils/matches.js +170 -176
  448. package/lib/core/utils/memoize.js +7 -7
  449. package/lib/core/utils/merge-results.js +91 -91
  450. package/lib/core/utils/node-sorter.js +11 -11
  451. package/lib/core/utils/parse-crossorigin-stylesheet.js +41 -41
  452. package/lib/core/utils/parse-sameorigin-stylesheet.js +70 -70
  453. package/lib/core/utils/parse-stylesheet.js +41 -41
  454. package/lib/core/utils/performance-timer.js +112 -112
  455. package/lib/core/utils/pollyfills.js +263 -263
  456. package/lib/core/utils/preload-cssom.js +134 -134
  457. package/lib/core/utils/preload-media.js +42 -42
  458. package/lib/core/utils/preload.js +110 -110
  459. package/lib/core/utils/process-message.js +43 -45
  460. package/lib/core/utils/publish-metadata.js +68 -68
  461. package/lib/core/utils/query-selector-all-filter.js +77 -79
  462. package/lib/core/utils/query-selector-all.js +1 -1
  463. package/lib/core/utils/queue.js +113 -113
  464. package/lib/core/utils/respondable.js +218 -119
  465. package/lib/core/utils/rule-should-run.js +53 -53
  466. package/lib/core/utils/select.js +54 -54
  467. package/lib/core/utils/send-command-to-frame.js +43 -43
  468. package/lib/core/utils/set-scroll-state.js +7 -7
  469. package/lib/core/utils/to-array.js +1 -1
  470. package/lib/core/utils/token-list.js +4 -4
  471. package/lib/core/utils/unique-array.js +3 -3
  472. package/lib/core/utils/uuid.js +161 -170
  473. package/lib/core/utils/valid-input-type.js +25 -25
  474. package/lib/core/utils/valid-langs.js +30 -30
  475. package/lib/misc/any-failure-summary.json +4 -4
  476. package/lib/misc/incomplete-fallback.json +1 -1
  477. package/lib/misc/none-failure-summary.json +4 -4
  478. package/lib/rules/accesskeys.json +11 -11
  479. package/lib/rules/area-alt.json +20 -20
  480. package/lib/rules/aria-allowed-attr-matches.js +13 -11
  481. package/lib/rules/aria-allowed-attr.json +10 -10
  482. package/lib/rules/aria-allowed-role-matches.js +6 -6
  483. package/lib/rules/aria-allowed-role.json +12 -12
  484. package/lib/rules/aria-command-name.json +16 -16
  485. package/lib/rules/aria-dialog-name.json +11 -11
  486. package/lib/rules/aria-has-attr-matches.js +10 -10
  487. package/lib/rules/aria-hidden-body.json +12 -12
  488. package/lib/rules/aria-hidden-focus-matches.js +8 -8
  489. package/lib/rules/aria-hidden-focus.json +16 -16
  490. package/lib/rules/aria-input-field-name.json +11 -11
  491. package/lib/rules/aria-meter-name.json +11 -11
  492. package/lib/rules/aria-progressbar-name.json +11 -11
  493. package/lib/rules/aria-required-attr.json +10 -10
  494. package/lib/rules/aria-required-children.json +10 -11
  495. package/lib/rules/aria-required-parent.json +10 -11
  496. package/lib/rules/aria-roledescription.json +10 -10
  497. package/lib/rules/aria-roles.json +11 -11
  498. package/lib/rules/aria-toggle-field-name.json +16 -16
  499. package/lib/rules/aria-tooltip-name.json +16 -16
  500. package/lib/rules/aria-treeitem-name.json +16 -16
  501. package/lib/rules/aria-valid-attr-value.json +10 -10
  502. package/lib/rules/aria-valid-attr.json +10 -10
  503. package/lib/rules/audio-caption.json +18 -18
  504. package/lib/rules/autocomplete-matches.js +50 -50
  505. package/lib/rules/autocomplete-valid.json +10 -10
  506. package/lib/rules/avoid-inline-spacing.json +10 -10
  507. package/lib/rules/blink.json +17 -17
  508. package/lib/rules/button-name.json +24 -24
  509. package/lib/rules/bypass-matches.js +7 -7
  510. package/lib/rules/bypass.json +18 -19
  511. package/lib/rules/color-contrast-matches.js +137 -145
  512. package/lib/rules/color-contrast.json +11 -11
  513. package/lib/rules/css-orientation-lock.json +11 -11
  514. package/lib/rules/data-table-large-matches.js +10 -10
  515. package/lib/rules/data-table-matches.js +1 -1
  516. package/lib/rules/definition-list.json +11 -11
  517. package/lib/rules/dlitem.json +11 -11
  518. package/lib/rules/document-title.json +11 -11
  519. package/lib/rules/duplicate-id-active-matches.js +6 -6
  520. package/lib/rules/duplicate-id-active.json +12 -12
  521. package/lib/rules/duplicate-id-aria-matches.js +1 -1
  522. package/lib/rules/duplicate-id-aria.json +12 -12
  523. package/lib/rules/duplicate-id-misc-matches.js +8 -8
  524. package/lib/rules/duplicate-id.json +12 -12
  525. package/lib/rules/empty-heading.json +17 -17
  526. package/lib/rules/focus-order-semantics.json +11 -11
  527. package/lib/rules/form-field-multiple-labels.json +11 -11
  528. package/lib/rules/frame-tested.json +10 -10
  529. package/lib/rules/frame-title-has-text-matches.js +2 -2
  530. package/lib/rules/frame-title-unique.json +11 -11
  531. package/lib/rules/frame-title.json +22 -22
  532. package/lib/rules/heading-matches.js +14 -14
  533. package/lib/rules/heading-order.json +11 -11
  534. package/lib/rules/hidden-content.json +11 -11
  535. package/lib/rules/html-has-lang.json +11 -11
  536. package/lib/rules/html-lang-valid.json +10 -10
  537. package/lib/rules/html-namespace-matches.js +1 -1
  538. package/lib/rules/html-xml-lang-mismatch.json +11 -11
  539. package/lib/rules/identical-links-same-purpose-matches.js +9 -9
  540. package/lib/rules/identical-links-same-purpose.json +12 -12
  541. package/lib/rules/image-alt.json +24 -24
  542. package/lib/rules/img-redundant-alt.json +10 -10
  543. package/lib/rules/input-button-name.json +24 -24
  544. package/lib/rules/input-image-alt.json +18 -18
  545. package/lib/rules/inserted-into-focus-order-matches.js +1 -1
  546. package/lib/rules/is-initiator-matches.js +1 -1
  547. package/lib/rules/label-content-name-mismatch-matches.js +38 -38
  548. package/lib/rules/label-content-name-mismatch.json +10 -10
  549. package/lib/rules/label-matches.js +10 -10
  550. package/lib/rules/label-title-only.json +11 -11
  551. package/lib/rules/label.json +27 -27
  552. package/lib/rules/landmark-banner-is-top-level.json +11 -11
  553. package/lib/rules/landmark-complementary-is-top-level.json +10 -10
  554. package/lib/rules/landmark-contentinfo-is-top-level.json +11 -11
  555. package/lib/rules/landmark-has-body-context-matches.js +6 -6
  556. package/lib/rules/landmark-main-is-top-level.json +10 -10
  557. package/lib/rules/landmark-no-duplicate-banner.json +10 -10
  558. package/lib/rules/landmark-no-duplicate-contentinfo.json +10 -10
  559. package/lib/rules/landmark-no-duplicate-main.json +10 -10
  560. package/lib/rules/landmark-one-main.json +10 -10
  561. package/lib/rules/landmark-unique-matches.js +36 -36
  562. package/lib/rules/landmark-unique.json +11 -11
  563. package/lib/rules/layout-table-matches.js +2 -1
  564. package/lib/rules/link-in-text-block-matches.js +12 -12
  565. package/lib/rules/link-in-text-block.json +12 -12
  566. package/lib/rules/link-name.json +23 -23
  567. package/lib/rules/list.json +11 -11
  568. package/lib/rules/listitem.json +11 -11
  569. package/lib/rules/marquee.json +11 -11
  570. package/lib/rules/meta-refresh.json +18 -18
  571. package/lib/rules/meta-viewport-large.json +11 -11
  572. package/lib/rules/meta-viewport.json +11 -11
  573. package/lib/rules/no-autoplay-audio-matches.js +16 -16
  574. package/lib/rules/no-autoplay-audio.json +13 -13
  575. package/lib/rules/no-empty-role-matches.js +7 -7
  576. package/lib/rules/no-explicit-name-required-matches.js +9 -9
  577. package/lib/rules/no-naming-method-matches.js +12 -12
  578. package/lib/rules/no-role-matches.js +1 -1
  579. package/lib/rules/not-html-matches.js +2 -2
  580. package/lib/rules/object-alt.json +22 -22
  581. package/lib/rules/p-as-heading-matches.js +14 -14
  582. package/lib/rules/p-as-heading.json +11 -11
  583. package/lib/rules/page-has-heading-one.json +10 -10
  584. package/lib/rules/presentation-role-conflict.json +10 -10
  585. package/lib/rules/region.json +10 -10
  586. package/lib/rules/role-img-alt.json +18 -18
  587. package/lib/rules/scope-attr-valid.json +10 -10
  588. package/lib/rules/scrollable-region-focusable-matches.js +59 -59
  589. package/lib/rules/scrollable-region-focusable.json +10 -10
  590. package/lib/rules/select-name.json +25 -25
  591. package/lib/rules/server-side-image-map.json +16 -16
  592. package/lib/rules/skip-link-matches.js +1 -1
  593. package/lib/rules/skip-link.json +11 -11
  594. package/lib/rules/svg-img-alt.json +23 -23
  595. package/lib/rules/svg-namespace-matches.js +10 -10
  596. package/lib/rules/tabindex.json +10 -10
  597. package/lib/rules/table-duplicate-name.json +10 -10
  598. package/lib/rules/table-fake-caption.json +18 -18
  599. package/lib/rules/td-has-header.json +18 -18
  600. package/lib/rules/td-headers-attr.json +10 -10
  601. package/lib/rules/th-has-data-cells.json +11 -11
  602. package/lib/rules/valid-lang.json +11 -11
  603. package/lib/rules/video-caption.json +17 -17
  604. package/lib/rules/window-is-top-matches.js +3 -3
  605. package/lib/rules/xml-lang-mismatch-matches.js +6 -6
  606. package/lib/standards/aria-attrs.js +195 -204
  607. package/lib/standards/aria-roles.js +781 -812
  608. package/lib/standards/css-colors.js +148 -148
  609. package/lib/standards/dpub-roles.js +213 -214
  610. package/lib/standards/html-elms.js +912 -914
  611. package/lib/standards/index.js +16 -18
  612. package/locales/de.json +572 -909
  613. package/package.json +151 -174
  614. package/sri-history.json +1 -5
  615. package/typings/axe-core/axe-core-tests.ts +144 -144
  616. package/.eslintrc.js +0 -111
  617. package/lib/checks/aria/aria-prohibited-attr-evaluate.js +0 -67
  618. package/lib/checks/aria/aria-prohibited-attr.json +0 -12
  619. package/lib/checks/keyboard/frame-focusable-content.json +0 -12
  620. package/lib/checks/keyboard/no-focusable-content-evaluate.js +0 -35
  621. package/lib/checks/keyboard/no-focusable-content.json +0 -12
  622. package/lib/core/public/setup.js +0 -20
  623. package/lib/core/public/teardown.js +0 -21
  624. package/lib/core/utils/filter-html-attrs.js +0 -75
  625. package/lib/core/utils/get-rule.js +0 -17
  626. package/lib/core/utils/respondable/assert-window.js +0 -21
  627. package/lib/core/utils/respondable/callback-store.js +0 -36
  628. package/lib/core/utils/respondable/message-id.js +0 -22
  629. package/lib/core/utils/respondable/message-parser.js +0 -109
  630. package/lib/core/utils/respondable/post.js +0 -32
  631. package/lib/rules/aria-required-children-matches.js +0 -8
  632. package/lib/rules/aria-required-parent-matches.js +0 -8
  633. package/lib/rules/aria-text.json +0 -12
  634. package/lib/rules/empty-table-header.json +0 -13
  635. package/lib/rules/frame-focusable-content-matches.js +0 -9
  636. package/lib/rules/frame-focusable-content.json +0 -13
  637. package/lib/rules/nested-interactive-matches.js +0 -13
  638. package/lib/rules/nested-interactive.json +0 -12
  639. package/lib/standards/graphics-roles.js +0 -22
  640. package/locales/pl.json +0 -911
package/axe.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! axe v4.1.2-canary.ec00dc7
1
+ /*! axe v4.1.2
2
2
  * Copyright (c) 2021 Deque Systems, Inc.
3
3
  *
4
4
  * Your use of this Source Code Form is subject to the terms of the Mozilla Public
@@ -27,7 +27,7 @@
27
27
  return _typeof(obj);
28
28
  }
29
29
  var axe = axe || {};
30
- axe.version = '4.1.2-canary.ec00dc7';
30
+ axe.version = '4.1.2';
31
31
  if (typeof define === 'function' && define.amd) {
32
32
  define('axe-core', [], function() {
33
33
  return axe;
@@ -162,7 +162,7 @@
162
162
  return true;
163
163
  }
164
164
  try {
165
- Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
165
+ Date.prototype.toString.call(Reflect.construct(Date, [], function() {}));
166
166
  return true;
167
167
  } catch (e) {
168
168
  return false;
@@ -400,7 +400,7 @@
400
400
  });
401
401
  }
402
402
  };
403
- var __exportStar = function __exportStar(target, module, desc) {
403
+ var __exportStar = function __exportStar(target, module) {
404
404
  __markAsModule(target);
405
405
  if (_typeof(module) === 'object' || typeof module === 'function') {
406
406
  var _iterator = _createForOfIteratorHelper(__getOwnPropNames(module)), _step;
@@ -412,7 +412,7 @@
412
412
  get: function get() {
413
413
  return module[key];
414
414
  },
415
- enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable
415
+ enumerable: __getOwnPropDesc(module, key).enumerable
416
416
  });
417
417
  }
418
418
  };
@@ -1391,11 +1391,11 @@
1391
1391
  } else {
1392
1392
  mixin = require_mixin();
1393
1393
  generate = function() {
1394
- var cache20 = [];
1394
+ var cache19 = [];
1395
1395
  return function(length) {
1396
1396
  var args, i = 0;
1397
- if (cache20[length]) {
1398
- return cache20[length];
1397
+ if (cache19[length]) {
1398
+ return cache19[length];
1399
1399
  }
1400
1400
  args = [];
1401
1401
  while (length--) {
@@ -2214,7 +2214,7 @@
2214
2214
  var _on = ee.on;
2215
2215
  var emit = ee.emit;
2216
2216
  module.exports = function(original, length, options) {
2217
- var cache20 = create(null), conf, memLength, _get, set, del, _clear, extDel, extGet, extHas, normalizer, getListeners, setListeners, deleteListeners, memoized, resolve;
2217
+ var cache19 = create(null), conf, memLength, _get, set, del, _clear, extDel, extGet, extHas, normalizer, getListeners, setListeners, deleteListeners, memoized, resolve;
2218
2218
  if (length !== false) {
2219
2219
  memLength = length;
2220
2220
  } else if (isNaN(original.length)) {
@@ -2240,11 +2240,11 @@
2240
2240
  }
2241
2241
  id = _get(args);
2242
2242
  if (id !== null) {
2243
- if (hasOwnProperty.call(cache20, id)) {
2243
+ if (hasOwnProperty.call(cache19, id)) {
2244
2244
  if (getListeners) {
2245
2245
  conf.emit('get', id, args, this);
2246
2246
  }
2247
- return cache20[id];
2247
+ return cache19[id];
2248
2248
  }
2249
2249
  }
2250
2250
  if (args.length === 1) {
@@ -2258,10 +2258,10 @@
2258
2258
  throw customError('Circular invocation', 'CIRCULAR_INVOCATION');
2259
2259
  }
2260
2260
  id = set(args);
2261
- } else if (hasOwnProperty.call(cache20, id)) {
2261
+ } else if (hasOwnProperty.call(cache19, id)) {
2262
2262
  throw customError('Circular invocation', 'CIRCULAR_INVOCATION');
2263
2263
  }
2264
- cache20[id] = result;
2264
+ cache19[id] = result;
2265
2265
  if (setListeners) {
2266
2266
  conf.emit('set', id, null, result);
2267
2267
  }
@@ -2270,21 +2270,21 @@
2270
2270
  } else if (length === 0) {
2271
2271
  memoized = function memoized() {
2272
2272
  var result;
2273
- if (hasOwnProperty.call(cache20, 'data')) {
2273
+ if (hasOwnProperty.call(cache19, 'data')) {
2274
2274
  if (getListeners) {
2275
2275
  conf.emit('get', 'data', arguments, this);
2276
2276
  }
2277
- return cache20.data;
2277
+ return cache19.data;
2278
2278
  }
2279
2279
  if (arguments.length) {
2280
2280
  result = apply.call(original, this, arguments);
2281
2281
  } else {
2282
2282
  result = call.call(original, this);
2283
2283
  }
2284
- if (hasOwnProperty.call(cache20, 'data')) {
2284
+ if (hasOwnProperty.call(cache19, 'data')) {
2285
2285
  throw customError('Circular invocation', 'CIRCULAR_INVOCATION');
2286
2286
  }
2287
- cache20.data = result;
2287
+ cache19.data = result;
2288
2288
  if (setListeners) {
2289
2289
  conf.emit('set', 'data', null, result);
2290
2290
  }
@@ -2297,21 +2297,21 @@
2297
2297
  args = resolve(arguments);
2298
2298
  }
2299
2299
  id = String(args[0]);
2300
- if (hasOwnProperty.call(cache20, id)) {
2300
+ if (hasOwnProperty.call(cache19, id)) {
2301
2301
  if (getListeners) {
2302
2302
  conf.emit('get', id, args, this);
2303
2303
  }
2304
- return cache20[id];
2304
+ return cache19[id];
2305
2305
  }
2306
2306
  if (args.length === 1) {
2307
2307
  result = call.call(original, this, args[0]);
2308
2308
  } else {
2309
2309
  result = apply.call(original, this, args);
2310
2310
  }
2311
- if (hasOwnProperty.call(cache20, id)) {
2311
+ if (hasOwnProperty.call(cache19, id)) {
2312
2312
  throw customError('Circular invocation', 'CIRCULAR_INVOCATION');
2313
2313
  }
2314
- cache20[id] = result;
2314
+ cache19[id] = result;
2315
2315
  if (setListeners) {
2316
2316
  conf.emit('set', id, null, result);
2317
2317
  }
@@ -2332,28 +2332,28 @@
2332
2332
  return String(args[0]);
2333
2333
  },
2334
2334
  has: function has(id) {
2335
- return hasOwnProperty.call(cache20, id);
2335
+ return hasOwnProperty.call(cache19, id);
2336
2336
  },
2337
2337
  delete: function _delete(id) {
2338
2338
  var result;
2339
- if (!hasOwnProperty.call(cache20, id)) {
2339
+ if (!hasOwnProperty.call(cache19, id)) {
2340
2340
  return;
2341
2341
  }
2342
2342
  if (del) {
2343
2343
  del(id);
2344
2344
  }
2345
- result = cache20[id];
2346
- delete cache20[id];
2345
+ result = cache19[id];
2346
+ delete cache19[id];
2347
2347
  if (deleteListeners) {
2348
2348
  conf.emit('delete', id, result);
2349
2349
  }
2350
2350
  },
2351
2351
  clear: function clear() {
2352
- var oldCache = cache20;
2352
+ var oldCache = cache19;
2353
2353
  if (_clear) {
2354
2354
  _clear();
2355
2355
  }
2356
- cache20 = create(null);
2356
+ cache19 = create(null);
2357
2357
  conf.emit('clear', oldCache);
2358
2358
  },
2359
2359
  on: function on(type, listener) {
@@ -2398,7 +2398,7 @@
2398
2398
  extGet = defineLength(function() {
2399
2399
  var id, args = arguments;
2400
2400
  if (length === 0) {
2401
- return cache20.data;
2401
+ return cache19.data;
2402
2402
  }
2403
2403
  if (resolve) {
2404
2404
  args = resolve(args);
@@ -2408,7 +2408,7 @@
2408
2408
  } else {
2409
2409
  id = String(args[0]);
2410
2410
  }
2411
- return cache20[id];
2411
+ return cache19[id];
2412
2412
  });
2413
2413
  extHas = defineLength(function() {
2414
2414
  var id, args = arguments;
@@ -2443,7 +2443,7 @@
2443
2443
  var callable = require_valid_callable();
2444
2444
  var forEach = require_for_each();
2445
2445
  var extensions = require_registered_extensions();
2446
- var configure5 = require_configure_map();
2446
+ var configure3 = require_configure_map();
2447
2447
  var resolveLength = require_resolve_length();
2448
2448
  module.exports = function self2(fn) {
2449
2449
  var options, length, conf;
@@ -2456,7 +2456,7 @@
2456
2456
  return fn;
2457
2457
  }
2458
2458
  length = resolveLength(options.length, fn.length, options.async && extensions.async);
2459
- conf = configure5(fn, length, options);
2459
+ conf = configure3(fn, length, options);
2460
2460
  forEach(extensions, function(extFn, name) {
2461
2461
  if (options[name]) {
2462
2462
  extFn(options[name], conf, options);
@@ -2559,7 +2559,7 @@
2559
2559
  var indexOf = require_e_index_of();
2560
2560
  var create = Object.create;
2561
2561
  module.exports = function() {
2562
- var lastId = 0, map = [], cache20 = create(null);
2562
+ var lastId = 0, map = [], cache19 = create(null);
2563
2563
  return {
2564
2564
  get: function get(args) {
2565
2565
  var index = 0, set = map, i, length = args.length;
@@ -2607,11 +2607,11 @@
2607
2607
  }
2608
2608
  set[1][i] = ++lastId;
2609
2609
  }
2610
- cache20[lastId] = args;
2610
+ cache19[lastId] = args;
2611
2611
  return lastId;
2612
2612
  },
2613
2613
  delete: function _delete(id) {
2614
- var index = 0, set = map, i, args = cache20[id], length = args.length, path = [];
2614
+ var index = 0, set = map, i, args = cache19[id], length = args.length, path = [];
2615
2615
  if (length === 0) {
2616
2616
  delete set[length];
2617
2617
  } else if (set = set[length]) {
@@ -2638,11 +2638,11 @@
2638
2638
  set[1].splice(i, 1);
2639
2639
  }
2640
2640
  }
2641
- delete cache20[id];
2641
+ delete cache19[id];
2642
2642
  },
2643
2643
  clear: function clear() {
2644
2644
  map = [];
2645
- cache20 = create(null);
2645
+ cache19 = create(null);
2646
2646
  }
2647
2647
  };
2648
2648
  };
@@ -2651,27 +2651,27 @@
2651
2651
  'use strict';
2652
2652
  var indexOf = require_e_index_of();
2653
2653
  module.exports = function() {
2654
- var lastId = 0, argsMap = [], cache20 = [];
2654
+ var lastId = 0, argsMap = [], cache19 = [];
2655
2655
  return {
2656
2656
  get: function get(args) {
2657
2657
  var index = indexOf.call(argsMap, args[0]);
2658
- return index === -1 ? null : cache20[index];
2658
+ return index === -1 ? null : cache19[index];
2659
2659
  },
2660
2660
  set: function set(args) {
2661
2661
  argsMap.push(args[0]);
2662
- cache20.push(++lastId);
2662
+ cache19.push(++lastId);
2663
2663
  return lastId;
2664
2664
  },
2665
2665
  delete: function _delete(id) {
2666
- var index = indexOf.call(cache20, id);
2666
+ var index = indexOf.call(cache19, id);
2667
2667
  if (index !== -1) {
2668
2668
  argsMap.splice(index, 1);
2669
- cache20.splice(index, 1);
2669
+ cache19.splice(index, 1);
2670
2670
  }
2671
2671
  },
2672
2672
  clear: function clear() {
2673
2673
  argsMap = [];
2674
- cache20 = [];
2674
+ cache19 = [];
2675
2675
  }
2676
2676
  };
2677
2677
  };
@@ -2681,7 +2681,7 @@
2681
2681
  var indexOf = require_e_index_of();
2682
2682
  var create = Object.create;
2683
2683
  module.exports = function(length) {
2684
- var lastId = 0, map = [ [], [] ], cache20 = create(null);
2684
+ var lastId = 0, map = [ [], [] ], cache19 = create(null);
2685
2685
  return {
2686
2686
  get: function get(args) {
2687
2687
  var index = 0, set = map, i;
@@ -2715,11 +2715,11 @@
2715
2715
  i = set[0].push(args[index]) - 1;
2716
2716
  }
2717
2717
  set[1][i] = ++lastId;
2718
- cache20[lastId] = args;
2718
+ cache19[lastId] = args;
2719
2719
  return lastId;
2720
2720
  },
2721
2721
  delete: function _delete(id) {
2722
- var index = 0, set = map, i, path = [], args = cache20[id];
2722
+ var index = 0, set = map, i, path = [], args = cache19[id];
2723
2723
  while (index < length - 1) {
2724
2724
  i = indexOf.call(set[0], args[index]);
2725
2725
  if (i === -1) {
@@ -2742,11 +2742,11 @@
2742
2742
  set[0].splice(i, 1);
2743
2743
  set[1].splice(i, 1);
2744
2744
  }
2745
- delete cache20[id];
2745
+ delete cache19[id];
2746
2746
  },
2747
2747
  clear: function clear() {
2748
2748
  map = [ [], [] ];
2749
- cache20 = create(null);
2749
+ cache19 = create(null);
2750
2750
  }
2751
2751
  };
2752
2752
  };
@@ -2767,13 +2767,15 @@
2767
2767
  });
2768
2768
  var require_next_tick = __commonJS(function(exports, module) {
2769
2769
  'use strict';
2770
- var ensureCallable = function ensureCallable(fn) {
2770
+ var callable;
2771
+ var byObserver;
2772
+ callable = function callable(fn) {
2771
2773
  if (typeof fn !== 'function') {
2772
2774
  throw new TypeError(fn + ' is not a function');
2773
2775
  }
2774
2776
  return fn;
2775
2777
  };
2776
- var byObserver = function byObserver(Observer) {
2778
+ byObserver = function byObserver(Observer) {
2777
2779
  var node = document.createTextNode(''), queue4, currentQueue, i = 0;
2778
2780
  new Observer(function() {
2779
2781
  var callback;
@@ -2805,7 +2807,7 @@
2805
2807
  characterData: true
2806
2808
  });
2807
2809
  return function(fn) {
2808
- ensureCallable(fn);
2810
+ callable(fn);
2809
2811
  if (queue4) {
2810
2812
  if (typeof queue4 === 'function') {
2811
2813
  queue4 = [ queue4, fn ];
@@ -2822,11 +2824,6 @@
2822
2824
  if ((typeof process === 'undefined' ? 'undefined' : _typeof(process)) === 'object' && process && typeof process.nextTick === 'function') {
2823
2825
  return process.nextTick;
2824
2826
  }
2825
- if (typeof queueMicrotask === 'function') {
2826
- return function(cb) {
2827
- queueMicrotask(ensureCallable(cb));
2828
- };
2829
- }
2830
2827
  if ((typeof document === 'undefined' ? 'undefined' : _typeof(document)) === 'object' && document) {
2831
2828
  if (typeof MutationObserver === 'function') {
2832
2829
  return byObserver(MutationObserver);
@@ -2837,12 +2834,12 @@
2837
2834
  }
2838
2835
  if (typeof setImmediate === 'function') {
2839
2836
  return function(cb) {
2840
- setImmediate(ensureCallable(cb));
2837
+ setImmediate(callable(cb));
2841
2838
  };
2842
2839
  }
2843
2840
  if (typeof setTimeout === 'function' || (typeof setTimeout === 'undefined' ? 'undefined' : _typeof(setTimeout)) === 'object') {
2844
2841
  return function(cb) {
2845
- setTimeout(ensureCallable(cb), 0);
2842
+ setTimeout(callable(cb), 0);
2846
2843
  };
2847
2844
  }
2848
2845
  return null;
@@ -2859,7 +2856,7 @@
2859
2856
  var apply = Function.prototype.apply;
2860
2857
  var create = Object.create;
2861
2858
  require_registered_extensions().async = function(tbi, conf) {
2862
- var waiting = create(null), cache20 = create(null), base = conf.memoized, original = conf.original, currentCallback, currentContext, currentArgs;
2859
+ var waiting = create(null), cache19 = create(null), base = conf.memoized, original = conf.original, currentCallback, currentContext, currentArgs;
2863
2860
  conf.memoized = defineLength(function(arg) {
2864
2861
  var args = arguments, last = args[args.length - 1];
2865
2862
  if (typeof last === 'function') {
@@ -2891,8 +2888,8 @@
2891
2888
  currentCallback = currentContext = currentArgs = null;
2892
2889
  nextTick(function() {
2893
2890
  var data2;
2894
- if (hasOwnProperty.call(cache20, id)) {
2895
- data2 = cache20[id];
2891
+ if (hasOwnProperty.call(cache19, id)) {
2892
+ data2 = cache19[id];
2896
2893
  conf.emit('getasync', id, args, context3);
2897
2894
  apply.call(cb, data2.context, data2.args);
2898
2895
  } else {
@@ -2926,7 +2923,7 @@
2926
2923
  if (err2) {
2927
2924
  conf['delete'](id);
2928
2925
  } else {
2929
- cache20[id] = {
2926
+ cache19[id] = {
2930
2927
  context: this,
2931
2928
  args: args2
2932
2929
  };
@@ -2973,16 +2970,16 @@
2973
2970
  if (hasOwnProperty.call(waiting, id)) {
2974
2971
  return;
2975
2972
  }
2976
- if (!cache20[id]) {
2973
+ if (!cache19[id]) {
2977
2974
  return;
2978
2975
  }
2979
- result = cache20[id];
2980
- delete cache20[id];
2976
+ result = cache19[id];
2977
+ delete cache19[id];
2981
2978
  conf.emit('deleteasync', id, slice.call(result.args, 1));
2982
2979
  });
2983
2980
  conf.on('clear', function() {
2984
- var oldCache = cache20;
2985
- cache20 = create(null);
2981
+ var oldCache = cache19;
2982
+ cache19 = create(null);
2986
2983
  conf.emit('clearasync', objectMap(oldCache, function(data2) {
2987
2984
  return slice.call(data2.args, 1);
2988
2985
  }));
@@ -3076,7 +3073,7 @@
3076
3073
  var create = Object.create;
3077
3074
  var supportedModes = primitiveSet('then', 'then:finally', 'done', 'done:finally');
3078
3075
  require_registered_extensions().promise = function(mode, conf) {
3079
- var waiting = create(null), cache20 = create(null), promises = create(null);
3076
+ var waiting = create(null), cache19 = create(null), promises = create(null);
3080
3077
  if (mode === true) {
3081
3078
  mode = null;
3082
3079
  } else {
@@ -3088,7 +3085,7 @@
3088
3085
  conf.on('set', function(id, ignore, promise) {
3089
3086
  var isFailed = false;
3090
3087
  if (!isPromise(promise)) {
3091
- cache20[id] = promise;
3088
+ cache19[id] = promise;
3092
3089
  conf.emit('setasync', id, 1);
3093
3090
  return;
3094
3091
  }
@@ -3103,7 +3100,7 @@
3103
3100
  return;
3104
3101
  }
3105
3102
  delete waiting[id];
3106
- cache20[id] = result;
3103
+ cache19[id] = result;
3107
3104
  conf.emit('setasync', id, count);
3108
3105
  };
3109
3106
  var onFailure = function onFailure() {
@@ -3173,16 +3170,16 @@
3173
3170
  delete waiting[id];
3174
3171
  return;
3175
3172
  }
3176
- if (!hasOwnProperty.call(cache20, id)) {
3173
+ if (!hasOwnProperty.call(cache19, id)) {
3177
3174
  return;
3178
3175
  }
3179
- var result = cache20[id];
3180
- delete cache20[id];
3176
+ var result = cache19[id];
3177
+ delete cache19[id];
3181
3178
  conf.emit('deleteasync', id, [ result ]);
3182
3179
  });
3183
3180
  conf.on('clear', function() {
3184
- var oldCache = cache20;
3185
- cache20 = create(null);
3181
+ var oldCache = cache19;
3182
+ cache19 = create(null);
3186
3183
  waiting = create(null);
3187
3184
  promises = create(null);
3188
3185
  conf.emit('clearasync', objectMap(oldCache, function(data2) {
@@ -3204,8 +3201,8 @@
3204
3201
  conf.on('deleteasync', del = function del(id, resultArray) {
3205
3202
  apply.call(dispose, null, resultArray);
3206
3203
  });
3207
- conf.on('clearasync', function(cache20) {
3208
- forEach(cache20, function(result, id) {
3204
+ conf.on('clearasync', function(cache19) {
3205
+ forEach(cache19, function(result, id) {
3209
3206
  del(id, result);
3210
3207
  });
3211
3208
  });
@@ -3214,8 +3211,8 @@
3214
3211
  conf.on('delete', del = function del(id, result) {
3215
3212
  dispose(result);
3216
3213
  });
3217
- conf.on('clear', function(cache20) {
3218
- forEach(cache20, function(result, id) {
3214
+ conf.on('clear', function(cache19) {
3215
+ forEach(cache19, function(result, id) {
3219
3216
  del(id, result);
3220
3217
  });
3221
3218
  });
@@ -3245,7 +3242,7 @@
3245
3242
  var isPromise = require_is_promise();
3246
3243
  var timeout = require_valid_timeout();
3247
3244
  var extensions = require_registered_extensions();
3248
- var noop4 = Function.prototype;
3245
+ var noop3 = Function.prototype;
3249
3246
  var max = Math.max;
3250
3247
  var min = Math.min;
3251
3248
  var create = Object.create;
@@ -3311,15 +3308,15 @@
3311
3308
  conf['delete'](id);
3312
3309
  if (options.async) {
3313
3310
  args = aFrom(args);
3314
- args.push(noop4);
3311
+ args.push(noop3);
3315
3312
  }
3316
3313
  result = conf.memoized.apply(context3, args);
3317
3314
  if (options.promise) {
3318
3315
  if (isPromise(result)) {
3319
3316
  if (typeof result.done === 'function') {
3320
- result.done(noop4, noop4);
3317
+ result.done(noop3, noop3);
3321
3318
  } else {
3322
- result.then(noop4, noop4);
3319
+ result.then(noop3, noop3);
3323
3320
  }
3324
3321
  }
3325
3322
  }
@@ -3436,20 +3433,20 @@
3436
3433
  var create = Object.create;
3437
3434
  var defineProperties = Object.defineProperties;
3438
3435
  extensions.refCounter = function(ignore, conf, options) {
3439
- var cache20, postfix;
3440
- cache20 = create(null);
3436
+ var cache19, postfix;
3437
+ cache19 = create(null);
3441
3438
  postfix = options.async && extensions.async || options.promise && extensions.promise ? 'async' : '';
3442
3439
  conf.on('set' + postfix, function(id, length) {
3443
- cache20[id] = length || 1;
3440
+ cache19[id] = length || 1;
3444
3441
  });
3445
3442
  conf.on('get' + postfix, function(id) {
3446
- ++cache20[id];
3443
+ ++cache19[id];
3447
3444
  });
3448
3445
  conf.on('delete' + postfix, function(id) {
3449
- delete cache20[id];
3446
+ delete cache19[id];
3450
3447
  });
3451
3448
  conf.on('clear' + postfix, function() {
3452
- cache20 = {};
3449
+ cache19 = {};
3453
3450
  });
3454
3451
  defineProperties(conf.memoized, {
3455
3452
  deleteRef: d(function() {
@@ -3457,10 +3454,10 @@
3457
3454
  if (id === null) {
3458
3455
  return null;
3459
3456
  }
3460
- if (!cache20[id]) {
3457
+ if (!cache19[id]) {
3461
3458
  return null;
3462
3459
  }
3463
- if (!--cache20[id]) {
3460
+ if (!--cache19[id]) {
3464
3461
  conf['delete'](id);
3465
3462
  return true;
3466
3463
  }
@@ -3471,10 +3468,10 @@
3471
3468
  if (id === null) {
3472
3469
  return 0;
3473
3470
  }
3474
- if (!cache20[id]) {
3471
+ if (!cache19[id]) {
3475
3472
  return 0;
3476
3473
  }
3477
- return cache20[id];
3474
+ return cache19[id];
3478
3475
  })
3479
3476
  });
3480
3477
  };
@@ -3824,7 +3821,7 @@
3824
3821
  }
3825
3822
  function then(onFulfillment, onRejection) {
3826
3823
  var parent = this;
3827
- var child = new this.constructor(noop4);
3824
+ var child = new this.constructor(noop3);
3828
3825
  if (child[PROMISE_ID] === void 0) {
3829
3826
  makePromise(child);
3830
3827
  }
@@ -3844,12 +3841,12 @@
3844
3841
  if (object && _typeof(object) === 'object' && object.constructor === Constructor) {
3845
3842
  return object;
3846
3843
  }
3847
- var promise = new Constructor(noop4);
3844
+ var promise = new Constructor(noop3);
3848
3845
  resolve(promise, object);
3849
3846
  return promise;
3850
3847
  }
3851
3848
  var PROMISE_ID = Math.random().toString(36).substring(2);
3852
- function noop4() {}
3849
+ function noop3() {}
3853
3850
  var PENDING = void 0;
3854
3851
  var FULFILLED = 1;
3855
3852
  var REJECTED = 2;
@@ -3938,7 +3935,7 @@
3938
3935
  if (promise._onerror) {
3939
3936
  promise._onerror(promise._result);
3940
3937
  }
3941
- publish(promise);
3938
+ publish2(promise);
3942
3939
  }
3943
3940
  function fulfill(promise, value) {
3944
3941
  if (promise._state !== PENDING) {
@@ -3947,7 +3944,7 @@
3947
3944
  promise._result = value;
3948
3945
  promise._state = FULFILLED;
3949
3946
  if (promise._subscribers.length !== 0) {
3950
- asap(publish, promise);
3947
+ asap(publish2, promise);
3951
3948
  }
3952
3949
  }
3953
3950
  function reject(promise, reason) {
@@ -3966,10 +3963,10 @@
3966
3963
  _subscribers[length + FULFILLED] = onFulfillment;
3967
3964
  _subscribers[length + REJECTED] = onRejection;
3968
3965
  if (length === 0 && parent._state) {
3969
- asap(publish, parent);
3966
+ asap(publish2, parent);
3970
3967
  }
3971
3968
  }
3972
- function publish(promise) {
3969
+ function publish2(promise) {
3973
3970
  var subscribers2 = promise._subscribers;
3974
3971
  var settled = promise._state;
3975
3972
  if (subscribers2.length === 0) {
@@ -4040,7 +4037,7 @@
4040
4037
  var Enumerator = function() {
4041
4038
  function Enumerator2(Constructor, input) {
4042
4039
  this._instanceConstructor = Constructor;
4043
- this.promise = new Constructor(noop4);
4040
+ this.promise = new Constructor(noop3);
4044
4041
  if (!this.promise[PROMISE_ID]) {
4045
4042
  makePromise(this.promise);
4046
4043
  }
@@ -4085,7 +4082,7 @@
4085
4082
  this._remaining--;
4086
4083
  this._result[i] = entry;
4087
4084
  } else if (c === Promise$1) {
4088
- var promise = new c(noop4);
4085
+ var promise = new c(noop3);
4089
4086
  if (didError) {
4090
4087
  reject(promise, error);
4091
4088
  } else {
@@ -4145,7 +4142,7 @@
4145
4142
  }
4146
4143
  function reject$1(reason) {
4147
4144
  var Constructor = this;
4148
- var promise = new Constructor(noop4);
4145
+ var promise = new Constructor(noop3);
4149
4146
  reject(promise, reason);
4150
4147
  return promise;
4151
4148
  }
@@ -4160,7 +4157,7 @@
4160
4157
  this[PROMISE_ID] = nextId();
4161
4158
  this._result = this._state = void 0;
4162
4159
  this._subscribers = [];
4163
- if (noop4 !== resolver) {
4160
+ if (noop3 !== resolver) {
4164
4161
  typeof resolver !== 'function' && needsResolver();
4165
4162
  this instanceof Promise2 ? initializePromise(this, resolver) : needsNew();
4166
4163
  }
@@ -4922,19 +4919,9 @@
4922
4919
  this.parent = void 0;
4923
4920
  }
4924
4921
  _createClass(AbstractVirtualNode, [ {
4925
- key: 'props',
4926
- get: function get() {
4927
- throw new Error('VirtualNode class must have a "props" object consisting of "nodeType" and "nodeName" properties');
4928
- }
4929
- }, {
4930
- key: 'attrNames',
4931
- get: function get() {
4932
- throw new Error('VirtualNode class must have an "attrNames" property');
4933
- }
4934
- }, {
4935
4922
  key: 'attr',
4936
4923
  value: function attr() {
4937
- throw new Error('VirtualNode class must have an "attr" function');
4924
+ throw new Error('VirtualNode class must have a "attr" function');
4938
4925
  }
4939
4926
  }, {
4940
4927
  key: 'hasAttr',
@@ -4951,6 +4938,11 @@
4951
4938
  var selector = ' ' + className + ' ';
4952
4939
  return (' ' + classAttr + ' ').replace(whitespaceRegex, ' ').indexOf(selector) >= 0;
4953
4940
  }
4941
+ }, {
4942
+ key: 'props',
4943
+ get: function get() {
4944
+ throw new Error('VirtualNode class must have a "props" object consisting of "nodeType" and "nodeName" properties');
4945
+ }
4954
4946
  } ]);
4955
4947
  return AbstractVirtualNode;
4956
4948
  }();
@@ -5008,9 +5000,6 @@
5008
5000
  extendMetaData: function extendMetaData() {
5009
5001
  return extend_meta_data_default;
5010
5002
  },
5011
- filterHtmlAttrs: function filterHtmlAttrs() {
5012
- return filter_html_attrs_default;
5013
- },
5014
5003
  finalizeRuleResult: function finalizeRuleResult() {
5015
5004
  return finalize_result_default;
5016
5005
  },
@@ -5050,9 +5039,6 @@
5050
5039
  getRootNode: function getRootNode() {
5051
5040
  return get_root_node_default;
5052
5041
  },
5053
- getRule: function getRule() {
5054
- return get_rule_default;
5055
- },
5056
5042
  getScroll: function getScroll() {
5057
5043
  return get_scroll_default;
5058
5044
  },
@@ -5153,7 +5139,7 @@
5153
5139
  return queue_default;
5154
5140
  },
5155
5141
  respondable: function respondable() {
5156
- return _respondable;
5142
+ return respondable_default;
5157
5143
  },
5158
5144
  ruleShouldRun: function ruleShouldRun() {
5159
5145
  return rule_should_run_default;
@@ -5179,9 +5165,6 @@
5179
5165
  uniqueArray: function uniqueArray() {
5180
5166
  return unique_array_default;
5181
5167
  },
5182
- uuid: function uuid() {
5183
- return uuid_default;
5184
- },
5185
5168
  validInputTypes: function validInputTypes() {
5186
5169
  return valid_input_type_default;
5187
5170
  },
@@ -5890,7 +5873,7 @@
5890
5873
  toRoot: true
5891
5874
  };
5892
5875
  }
5893
- if (axe._audit.noHtml) {
5876
+ if (axe._audit && axe._audit.noHtml) {
5894
5877
  this.source = null;
5895
5878
  } else if (this.spec.source !== void 0) {
5896
5879
  this.source = this.spec.source;
@@ -5924,7 +5907,7 @@
5924
5907
  };
5925
5908
  }
5926
5909
  };
5927
- DqElement.fromFrame = function fromFrame(node, options, frame) {
5910
+ DqElement.fromFrame = function(node, options, frame) {
5928
5911
  var spec = _extends({}, node, {
5929
5912
  selector: [].concat(_toConsumableArray(frame.selector), _toConsumableArray(node.selector)),
5930
5913
  ancestry: [].concat(_toConsumableArray(frame.ancestry), _toConsumableArray(node.ancestry)),
@@ -5980,7 +5963,6 @@
5980
5963
  var css_selector_parser = __toModule(require_lib());
5981
5964
  var parser = new css_selector_parser.CssSelectorParser();
5982
5965
  parser.registerSelectorPseudos('not');
5983
- parser.registerSelectorPseudos('is');
5984
5966
  parser.registerNestingOperators('>');
5985
5967
  parser.registerAttrEqualityMods('^', '$', '*', '~');
5986
5968
  var css_parser_default = parser;
@@ -6004,13 +5986,7 @@
6004
5986
  function matchesPseudos(target, exp) {
6005
5987
  if (!exp.pseudos || exp.pseudos.every(function(pseudo) {
6006
5988
  if (pseudo.name === 'not') {
6007
- return !pseudo.expressions.some(function(expression) {
6008
- return _matchesExpression(target, expression);
6009
- });
6010
- } else if (pseudo.name === 'is') {
6011
- return pseudo.expressions.some(function(expression) {
6012
- return _matchesExpression(target, expression);
6013
- });
5989
+ return !_matchesExpression(target, pseudo.expressions[0]);
6014
5990
  }
6015
5991
  throw new Error('the pseudo selector ' + pseudo.name + ' has not yet been implemented');
6016
5992
  })) {
@@ -6112,7 +6088,7 @@
6112
6088
  }
6113
6089
  return pseudos.map(function(p) {
6114
6090
  var expressions;
6115
- if ([ 'is', 'not' ].includes(p.name)) {
6091
+ if (p.name === 'not') {
6116
6092
  expressions = p.value;
6117
6093
  expressions = expressions.selectors ? expressions.selectors : [ expressions ];
6118
6094
  expressions = convertExpressions(expressions);
@@ -6150,18 +6126,18 @@
6150
6126
  function _matchesExpression(vNode, expressions, matchAnyParent) {
6151
6127
  var exps = [].concat(expressions);
6152
6128
  var expression = exps.pop();
6153
- var matches14 = matchExpression(vNode, expression);
6154
- while (!matches14 && matchAnyParent && vNode.parent) {
6129
+ var matches13 = matchExpression(vNode, expression);
6130
+ while (!matches13 && matchAnyParent && vNode.parent) {
6155
6131
  vNode = vNode.parent;
6156
- matches14 = matchExpression(vNode, expression);
6132
+ matches13 = matchExpression(vNode, expression);
6157
6133
  }
6158
6134
  if (exps.length) {
6159
6135
  if ([ ' ', '>' ].includes(expression.combinator) === false) {
6160
6136
  throw new Error('axe.utils.matchesExpression does not support the combinator: ' + expression.combinator);
6161
6137
  }
6162
- matches14 = matches14 && _matchesExpression(vNode.parent, exps, expression.combinator === ' ');
6138
+ matches13 = matches13 && _matchesExpression(vNode.parent, exps, expression.combinator === ' ');
6163
6139
  }
6164
- return matches14;
6140
+ return matches13;
6165
6141
  }
6166
6142
  function matches(vNode, selector) {
6167
6143
  var expressions = _convertSelector(selector);
@@ -6292,14 +6268,6 @@
6292
6268
  return _rnds8;
6293
6269
  };
6294
6270
  }
6295
- try {
6296
- if (!_rng && require) {
6297
- var nodeCrypto = require('crypto');
6298
- _rng = function _rng() {
6299
- return nodeCrypto.randomBytes(16);
6300
- };
6301
- }
6302
- } catch (e) {}
6303
6271
  if (!_rng) {
6304
6272
  var _rnds = new Array(16);
6305
6273
  _rng = function _rng() {
@@ -6404,84 +6372,96 @@
6404
6372
  uuid.unparse = unparse;
6405
6373
  uuid.BufferClass = BufferClass;
6406
6374
  axe._uuid = v1();
6407
- var uuid_default = v4;
6375
+ var _cache = {};
6376
+ var cache = {
6377
+ set: function set(key, value) {
6378
+ _cache[key] = value;
6379
+ },
6380
+ get: function get(key) {
6381
+ return _cache[key];
6382
+ },
6383
+ clear: function clear() {
6384
+ _cache = {};
6385
+ }
6386
+ };
6387
+ var cache_default = cache;
6388
+ var messages = {};
6408
6389
  var subscribers = {};
6409
- var channels = {};
6410
- function storeCallback(_ref2, callback) {
6411
- var topic = _ref2.topic, channelId = _ref2.channelId;
6412
- var sendToParent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
6413
- if (topic) {
6414
- assert_default(!subscribers[topic], 'Topic '.concat(topic, ' is already registered to.'));
6415
- subscribers[topic] = {
6416
- callback: callback,
6417
- sendToParent: sendToParent
6418
- };
6419
- } else if (channelId) {
6420
- assert_default(!channels[channelId], 'A callback already exists for this message channel.');
6421
- channels[channelId] = {
6422
- callback: callback,
6423
- sendToParent: sendToParent
6424
- };
6390
+ var errorTypes = Object.freeze([ 'EvalError', 'RangeError', 'ReferenceError', 'SyntaxError', 'TypeError', 'URIError' ]);
6391
+ function _getSource() {
6392
+ var application = 'axeAPI', version = '', src;
6393
+ if (typeof axe !== 'undefined' && axe._audit && axe._audit.application) {
6394
+ application = axe._audit.application;
6425
6395
  }
6426
- }
6427
- function getCallback(_ref3) {
6428
- var topic = _ref3.topic, channelId = _ref3.channelId;
6429
- if (topic) {
6430
- return subscribers[topic];
6431
- } else if (channelId) {
6432
- return channels[channelId];
6396
+ if (typeof axe !== 'undefined') {
6397
+ version = axe.version;
6433
6398
  }
6399
+ src = application + '.' + version;
6400
+ return src;
6434
6401
  }
6435
- function deleteCallback(_ref4) {
6436
- var topic = _ref4.topic, channelId = _ref4.channelId;
6437
- if (topic) {
6438
- delete subscribers[topic];
6439
- } else if (channelId) {
6440
- delete channels[channelId];
6402
+ function verify(postedMessage) {
6403
+ if (_typeof(postedMessage) === 'object' && typeof postedMessage.uuid === 'string' && postedMessage._respondable === true) {
6404
+ var messageSource = _getSource();
6405
+ return postedMessage._source === messageSource;
6441
6406
  }
6407
+ return false;
6442
6408
  }
6443
- var errorTypes = Object.freeze([ 'EvalError', 'RangeError', 'ReferenceError', 'SyntaxError', 'TypeError', 'URIError' ]);
6444
- function stringifyMessage(_ref5) {
6445
- var topic = _ref5.topic, channelId = _ref5.channelId, message = _ref5.message, messageId = _ref5.messageId, keepalive = _ref5.keepalive;
6446
- var data2 = {
6447
- channelId: channelId,
6448
- topic: topic,
6449
- messageId: messageId,
6450
- keepalive: keepalive,
6451
- source: getSource2()
6452
- };
6409
+ function post(win, topic, message, uuid3, keepalive, callback) {
6410
+ var error;
6453
6411
  if (message instanceof Error) {
6454
- data2.error = {
6412
+ error = {
6455
6413
  name: message.name,
6456
6414
  message: message.message,
6457
6415
  stack: message.stack
6458
6416
  };
6459
- } else {
6460
- data2.payload = message;
6461
- }
6462
- return JSON.stringify(data2);
6463
- }
6464
- function parseMessage(dataString) {
6465
- var data2;
6466
- try {
6467
- data2 = JSON.parse(dataString);
6468
- } catch (e) {}
6469
- if (!isRespondableMessage(data2)) {
6470
- return;
6417
+ message = void 0;
6471
6418
  }
6472
- var _data = data2, topic = _data.topic, channelId = _data.channelId, messageId = _data.messageId, keepalive = _data.keepalive;
6473
- var message = _typeof(data2.error) === 'object' ? buildErrorObject(data2.error) : data2.payload;
6474
- return {
6419
+ var data2 = {
6420
+ uuid: uuid3,
6475
6421
  topic: topic,
6476
6422
  message: message,
6477
- messageId: messageId,
6478
- channelId: channelId,
6479
- keepalive: keepalive
6423
+ error: error,
6424
+ _respondable: true,
6425
+ _source: _getSource(),
6426
+ _axeuuid: axe._uuid,
6427
+ _keepalive: keepalive
6428
+ };
6429
+ var axeRespondables = cache_default.get('axeRespondables');
6430
+ if (!axeRespondables) {
6431
+ axeRespondables = {};
6432
+ cache_default.set('axeRespondables', axeRespondables);
6433
+ }
6434
+ axeRespondables[uuid3] = true;
6435
+ if (typeof callback === 'function') {
6436
+ messages[uuid3] = callback;
6437
+ }
6438
+ win.postMessage(JSON.stringify(data2), '*');
6439
+ }
6440
+ function respondable(win, topic, message, keepalive, callback) {
6441
+ var id = v1();
6442
+ post(win, topic, message, id, keepalive, callback);
6443
+ }
6444
+ respondable.subscribe = function subscribe(topic, callback) {
6445
+ subscribers[topic] = callback;
6446
+ };
6447
+ respondable.isInFrame = function isInFrame(win) {
6448
+ win = win || window;
6449
+ return !!win.frameElement;
6450
+ };
6451
+ function createResponder(source, topic, uuid3) {
6452
+ return function(message, keepalive, callback) {
6453
+ post(source, topic, message, uuid3, keepalive, callback);
6480
6454
  };
6481
6455
  }
6482
- function isRespondableMessage(postedMessage) {
6483
- return _typeof(postedMessage) === 'object' && typeof postedMessage.channelId === 'string' && postedMessage.source === getSource2();
6456
+ function publish(source, data2, keepalive) {
6457
+ var topic = data2.topic;
6458
+ var subscriber = subscribers[topic];
6459
+ if (subscriber) {
6460
+ var responder = createResponder(source, null, data2.uuid);
6461
+ subscriber(data2.message, keepalive, responder);
6462
+ }
6484
6463
  }
6464
+ respondable._publish = publish;
6485
6465
  function buildErrorObject(error) {
6486
6466
  var msg = error.message || 'Unknown error occurred';
6487
6467
  var errorName = errorTypes.includes(error.name) ? error.name : 'Error';
@@ -6491,173 +6471,55 @@
6491
6471
  }
6492
6472
  return new ErrConstructor(msg);
6493
6473
  }
6494
- function getSource2() {
6495
- var application = 'axeAPI';
6496
- var version = '';
6497
- if (typeof axe !== 'undefined' && axe._audit && axe._audit.application) {
6498
- application = axe._audit.application;
6499
- }
6500
- if (typeof axe !== 'undefined') {
6501
- version = axe.version;
6502
- }
6503
- return application + '.' + version;
6504
- }
6505
- function assertIsParentWindow(win) {
6506
- assetNotGlobalWindow(win);
6507
- assert_default(window.parent === win, 'Source of the response must be the parent window.');
6508
- }
6509
- function assertIsFrameWindow(win) {
6510
- assetNotGlobalWindow(win);
6511
- var frames = Array.from(window.frames);
6512
- if (!frames.some(function(frame) {
6513
- return frame === win;
6514
- })) {
6515
- throw new Error('Respondable target must be a frame in the current window');
6516
- }
6517
- }
6518
- function assetNotGlobalWindow(win) {
6519
- assert_default(window !== win, 'Messages can not be sent to the same window.');
6520
- }
6521
- function post(win, _ref6) {
6522
- var topic = _ref6.topic, message = _ref6.message, messageId = _ref6.messageId, channelId = _ref6.channelId, keepalive = _ref6.keepalive, sendToParent = _ref6.sendToParent;
6523
- sendToParent ? assertIsParentWindow(win) : assertIsFrameWindow(win);
6524
- if (message instanceof Error && !sendToParent) {
6525
- return axe.log(message);
6526
- }
6527
- var dataString = stringifyMessage({
6528
- topic: topic,
6529
- message: message,
6530
- messageId: messageId,
6531
- channelId: channelId,
6532
- keepalive: keepalive
6533
- });
6534
- win.postMessage(dataString, '*');
6535
- }
6536
- var messageIds = [];
6537
- function createMessageId() {
6538
- var uuid5 = ''.concat(v4(), ':').concat(v4());
6539
- if (messageIds.includes(uuid5)) {
6540
- return createMessageId();
6541
- }
6542
- messageIds.push(uuid5);
6543
- return uuid5;
6544
- }
6545
- function isNewMessage(uuid5) {
6546
- if (messageIds.includes(uuid5)) {
6547
- return false;
6548
- }
6549
- messageIds.push(uuid5);
6550
- return true;
6551
- }
6552
- function _respondable(win, topic, message, keepalive, callback) {
6553
- var channelId = ''.concat(v4(), ':').concat(v4());
6554
- if (typeof callback === 'function') {
6555
- storeCallback({
6556
- channelId: channelId
6557
- }, callback, false);
6558
- }
6559
- post(win, {
6560
- topic: topic,
6561
- channelId: channelId,
6562
- message: message,
6563
- messageId: createMessageId(),
6564
- keepalive: !!keepalive,
6565
- sendToParent: false
6566
- });
6567
- }
6568
- if (typeof window.addEventListener === 'function') {
6569
- window.addEventListener('message', messageListener, false);
6570
- }
6571
- function messageListener(_ref7) {
6572
- var dataString = _ref7.data, win = _ref7.source;
6573
- var _ref8 = parseMessage(dataString) || {}, channelId = _ref8.channelId, topic = _ref8.topic, message = _ref8.message, messageId = _ref8.messageId, keepalive = _ref8.keepalive;
6574
- var _ref9 = getCallback({
6575
- channelId: channelId,
6576
- topic: topic
6577
- }) || {}, callback = _ref9.callback, sendToParent = _ref9.sendToParent;
6578
- if (!shouldRunCallback({
6579
- message: message,
6580
- messageId: messageId,
6581
- callback: callback,
6582
- sendToParent: sendToParent
6583
- })) {
6474
+ function parseMessage(dataString) {
6475
+ var data2;
6476
+ if (typeof dataString !== 'string') {
6584
6477
  return;
6585
6478
  }
6586
- if (!keepalive && channelId) {
6587
- deleteCallback({
6588
- channelId: channelId
6589
- });
6590
- }
6591
- runCallback(win, {
6592
- channelId: channelId,
6593
- message: message,
6594
- keepalive: keepalive,
6595
- sendToParent: sendToParent,
6596
- callback: callback
6597
- });
6598
- }
6599
- _respondable.subscribe = function subscribe(topic, callback) {
6600
- assert_default(typeof callback === 'function', 'Subscriber callback must be a function');
6601
- storeCallback({
6602
- topic: topic
6603
- }, callback);
6604
- };
6605
- _respondable.isInFrame = function isInFrame() {
6606
- var win = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
6607
- return !!win.frameElement;
6608
- };
6609
- function shouldRunCallback(_ref10) {
6610
- var message = _ref10.message, messageId = _ref10.messageId, callback = _ref10.callback, sendToParent = _ref10.sendToParent;
6611
- if (message instanceof Error && sendToParent) {
6612
- axe.log(message);
6613
- return false;
6614
- }
6615
- return !!callback && isNewMessage(messageId);
6616
- }
6617
- function runCallback(win, _ref11) {
6618
- var channelId = _ref11.channelId, message = _ref11.message, keepalive = _ref11.keepalive, sendToParent = _ref11.sendToParent, callback = _ref11.callback;
6619
6479
  try {
6620
- sendToParent ? assertIsParentWindow(win) : assertIsFrameWindow(win);
6621
- var responder = createResponder(win, channelId, sendToParent);
6622
- callback(message, keepalive, responder);
6623
- } catch (error) {
6624
- processError(win, error, channelId, sendToParent);
6480
+ data2 = JSON.parse(dataString);
6481
+ } catch (ex) {}
6482
+ if (!verify(data2)) {
6483
+ return;
6625
6484
  }
6626
- }
6627
- function processError(win, error, channelId, sendToParent) {
6628
- if (!sendToParent) {
6629
- return axe.log(error);
6485
+ if (_typeof(data2.error) === 'object') {
6486
+ data2.error = buildErrorObject(data2.error);
6487
+ } else {
6488
+ data2.error = void 0;
6630
6489
  }
6631
- try {
6632
- post(win, {
6633
- topic: null,
6634
- channelId: channelId,
6635
- message: error,
6636
- messageId: createMessageId(),
6637
- keepalive: true,
6638
- sendToParent: sendToParent
6639
- });
6640
- } catch (err2) {
6641
- return axe.log(err2);
6642
- }
6643
- }
6644
- function createResponder(win, channelId, sendToParent) {
6645
- return function respond(message, keepalive, callback) {
6646
- if (typeof callback === 'function') {
6647
- storeCallback({
6648
- channelId: channelId
6649
- }, callback, sendToParent);
6650
- }
6651
- post(win, {
6652
- topic: null,
6653
- channelId: channelId,
6654
- message: message,
6655
- messageId: createMessageId(),
6656
- keepalive: !!keepalive,
6657
- sendToParent: sendToParent
6658
- });
6659
- };
6490
+ return data2;
6491
+ }
6492
+ if (typeof window.addEventListener === 'function') {
6493
+ window.addEventListener('message', function(e) {
6494
+ var data2 = parseMessage(e.data);
6495
+ if (!data2 || !data2._axeuuid) {
6496
+ return;
6497
+ }
6498
+ var uuid3 = data2.uuid;
6499
+ var axeRespondables = cache_default.get('axeRespondables') || {};
6500
+ if (axeRespondables[uuid3] && data2._axeuuid === axe._uuid) {
6501
+ return;
6502
+ }
6503
+ var keepalive = data2._keepalive;
6504
+ var callback = messages[uuid3];
6505
+ if (callback) {
6506
+ var result = data2.error || data2.message;
6507
+ var responder = createResponder(e.source, data2.topic, uuid3);
6508
+ callback(result, keepalive, responder);
6509
+ if (!keepalive) {
6510
+ delete messages[uuid3];
6511
+ }
6512
+ }
6513
+ if (!data2.error) {
6514
+ try {
6515
+ publish(e.source, data2, keepalive);
6516
+ } catch (err2) {
6517
+ post(e.source, null, err2, uuid3, false);
6518
+ }
6519
+ }
6520
+ }, false);
6660
6521
  }
6522
+ var respondable_default = respondable;
6661
6523
  function err(message, node) {
6662
6524
  var selector;
6663
6525
  if (axe._tree) {
@@ -6681,13 +6543,13 @@
6681
6543
  }
6682
6544
  }, 0);
6683
6545
  }, 500);
6684
- _respondable(win, 'axe.ping', null, void 0, function() {
6546
+ respondable_default(win, 'axe.ping', null, void 0, function() {
6685
6547
  clearTimeout(timeout);
6686
6548
  var frameWaitTime = parameters.options && parameters.options.frameWaitTime || 6e4;
6687
6549
  timeout = setTimeout(function collectResultFramesTimeout() {
6688
6550
  reject(err('Axe in frame timed out', node));
6689
6551
  }, frameWaitTime);
6690
- _respondable(win, 'axe.start', parameters, void 0, function(data2) {
6552
+ respondable_default(win, 'axe.start', parameters, void 0, function(data2) {
6691
6553
  clearTimeout(timeout);
6692
6554
  if (data2 instanceof Error === false) {
6693
6555
  resolve(data2);
@@ -6808,29 +6670,17 @@
6808
6670
  return mergedResult;
6809
6671
  }
6810
6672
  var merge_results_default = mergeResults;
6811
- function collectResultsFromFrames(parentContent, options, command, parameter, resolve, reject) {
6673
+ function collectResultsFromFrames(context3, options, command, parameter, resolve, reject) {
6812
6674
  var q = queue_default();
6813
- var frames = parentContent.frames;
6675
+ var frames = context3.frames;
6814
6676
  frames.forEach(function(frame) {
6815
- var tabindex = parseInt(frame.node.getAttribute('tabindex'), 10);
6816
- var focusable = isNaN(tabindex) || tabindex >= 0;
6817
- var rect = frame.node.getBoundingClientRect();
6818
- var width = parseInt(frame.node.getAttribute('width'), 10);
6819
- var height = parseInt(frame.node.getAttribute('height'), 10);
6820
- width = isNaN(width) ? rect.width : width;
6821
- height = isNaN(height) ? rect.height : height;
6822
6677
  var params = {
6823
6678
  options: options,
6824
6679
  command: command,
6825
6680
  parameter: parameter,
6826
6681
  context: {
6827
6682
  initiator: false,
6828
- focusable: parentContent.focusable === false ? false : focusable,
6829
- boundingClientRect: {
6830
- width: width,
6831
- height: height
6832
- },
6833
- page: parentContent.page,
6683
+ page: context3.page,
6834
6684
  include: frame.include || [],
6835
6685
  exclude: frame.exclude || []
6836
6686
  }
@@ -7036,8 +6886,8 @@
7036
6886
  }
7037
6887
  var get_root_node_default = getRootNode;
7038
6888
  var get_root_node_default2 = get_root_node_default;
7039
- function findElmsInContext(_ref12) {
7040
- var context3 = _ref12.context, value = _ref12.value, attr = _ref12.attr, _ref12$elm = _ref12.elm, elm = _ref12$elm === void 0 ? '' : _ref12$elm;
6889
+ function findElmsInContext(_ref2) {
6890
+ var context3 = _ref2.context, value = _ref2.value, attr = _ref2.attr, _ref2$elm = _ref2.elm, elm = _ref2$elm === void 0 ? '' : _ref2$elm;
7041
6891
  var root;
7042
6892
  var escapedValue = escape_selector_default(value);
7043
6893
  if (context3.nodeType === 9 || context3.nodeType === 11) {
@@ -7241,8 +7091,8 @@
7241
7091
  if (!refs || !refs.length) {
7242
7092
  return false;
7243
7093
  }
7244
- return refs.some(function(_ref13) {
7245
- var actualNode = _ref13.actualNode;
7094
+ return refs.some(function(_ref3) {
7095
+ var actualNode = _ref3.actualNode;
7246
7096
  return isVisible(actualNode, screenReader, recursed);
7247
7097
  });
7248
7098
  }
@@ -7564,19 +7414,6 @@
7564
7414
  }
7565
7415
  return stack;
7566
7416
  }
7567
- var _cache = {};
7568
- var cache = {
7569
- set: function set(key, value) {
7570
- _cache[key] = value;
7571
- },
7572
- get: function get(key) {
7573
- return _cache[key];
7574
- },
7575
- clear: function clear() {
7576
- _cache = {};
7577
- }
7578
- };
7579
- var cache_default = cache;
7580
7417
  function getElementStack(node) {
7581
7418
  if (!cache_default.get('gridCreated')) {
7582
7419
  createGrid();
@@ -7625,12 +7462,9 @@
7625
7462
  var range = document.createRange();
7626
7463
  range.selectNodeContents(elm);
7627
7464
  var rects = range.getClientRects();
7628
- var outsideRectBounds = Array.from(rects).some(function(rect) {
7629
- var horizontalMidpoint = rect.left + rect.width / 2;
7630
- var verticalMidpoint = rect.top + rect.height / 2;
7631
- return horizontalMidpoint < nodeRect.left || horizontalMidpoint > nodeRect.right || verticalMidpoint < nodeRect.top || verticalMidpoint > nodeRect.bottom;
7632
- });
7633
- if (outsideRectBounds) {
7465
+ if (Array.from(rects).some(function(rect) {
7466
+ return rect.width > nodeRect.width;
7467
+ })) {
7634
7468
  return;
7635
7469
  }
7636
7470
  for (var _i5 = 0; _i5 < rects.length; _i5++) {
@@ -7739,8 +7573,8 @@
7739
7573
  var hiddenTextElms = [ 'HEAD', 'TITLE', 'TEMPLATE', 'SCRIPT', 'STYLE', 'IFRAME', 'OBJECT', 'VIDEO', 'AUDIO', 'NOSCRIPT' ];
7740
7574
  function hasChildTextNodes(elm) {
7741
7575
  if (!hiddenTextElms.includes(elm.actualNode.nodeName.toUpperCase())) {
7742
- return elm.children.some(function(_ref14) {
7743
- var actualNode = _ref14.actualNode;
7576
+ return elm.children.some(function(_ref4) {
7577
+ var actualNode = _ref4.actualNode;
7744
7578
  return actualNode.nodeType === 3 && actualNode.nodeValue.trim();
7745
7579
  });
7746
7580
  }
@@ -7843,9 +7677,6 @@
7843
7677
  var is_natively_focusable_default = isNativelyFocusable;
7844
7678
  function isFocusable(el) {
7845
7679
  var vNode = el instanceof abstract_virtual_node_default ? el : get_node_from_tree_default(el);
7846
- if (vNode.props.nodeType !== 1) {
7847
- return false;
7848
- }
7849
7680
  if (focus_disabled_default(vNode)) {
7850
7681
  return false;
7851
7682
  } else if (is_natively_focusable_default(vNode)) {
@@ -8054,16 +7885,13 @@
8054
7885
  values: [ 'false', 'mixed', 'true', 'undefined' ]
8055
7886
  },
8056
7887
  'aria-colcount': {
8057
- type: 'int',
8058
- minValue: -1
7888
+ type: 'int'
8059
7889
  },
8060
7890
  'aria-colindex': {
8061
- type: 'int',
8062
- minValue: 1
7891
+ type: 'int'
8063
7892
  },
8064
7893
  'aria-colspan': {
8065
- type: 'int',
8066
- minValue: 1
7894
+ type: 'int'
8067
7895
  },
8068
7896
  'aria-controls': {
8069
7897
  type: 'idrefs',
@@ -8147,8 +7975,7 @@
8147
7975
  global: true
8148
7976
  },
8149
7977
  'aria-level': {
8150
- type: 'int',
8151
- minValue: 1
7978
+ type: 'int'
8152
7979
  },
8153
7980
  'aria-live': {
8154
7981
  type: 'nmtoken',
@@ -8178,8 +8005,7 @@
8178
8005
  allowEmpty: true
8179
8006
  },
8180
8007
  'aria-posinset': {
8181
- type: 'int',
8182
- minValue: 1
8008
+ type: 'int'
8183
8009
  },
8184
8010
  'aria-pressed': {
8185
8011
  type: 'nmtoken',
@@ -8202,24 +8028,20 @@
8202
8028
  global: true
8203
8029
  },
8204
8030
  'aria-rowcount': {
8205
- type: 'int',
8206
- minValue: -1
8031
+ type: 'int'
8207
8032
  },
8208
8033
  'aria-rowindex': {
8209
- type: 'int',
8210
- minValue: 1
8034
+ type: 'int'
8211
8035
  },
8212
8036
  'aria-rowspan': {
8213
- type: 'int',
8214
- minValue: 0
8037
+ type: 'int'
8215
8038
  },
8216
8039
  'aria-selected': {
8217
8040
  type: 'nmtoken',
8218
8041
  values: [ 'false', 'true', 'undefined' ]
8219
8042
  },
8220
8043
  'aria-setsize': {
8221
- type: 'int',
8222
- minValue: -1
8044
+ type: 'int'
8223
8045
  },
8224
8046
  'aria-sort': {
8225
8047
  type: 'nmtoken',
@@ -8276,14 +8098,12 @@
8276
8098
  allowedAttrs: [ 'aria-expanded', 'aria-pressed' ],
8277
8099
  superclassRole: [ 'command' ],
8278
8100
  accessibleNameRequired: true,
8279
- nameFromContent: true,
8280
- childrenPresentational: true
8101
+ nameFromContent: true
8281
8102
  },
8282
8103
  caption: {
8283
8104
  type: 'structure',
8284
8105
  requiredContext: [ 'figure', 'table', 'grid', 'treegrid' ],
8285
- superclassRole: [ 'section' ],
8286
- prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]
8106
+ superclassRole: [ 'section' ]
8287
8107
  },
8288
8108
  cell: {
8289
8109
  type: 'structure',
@@ -8297,13 +8117,11 @@
8297
8117
  allowedAttrs: [ 'aria-checked', 'aria-readonly', 'aria-required' ],
8298
8118
  superclassRole: [ 'input' ],
8299
8119
  accessibleNameRequired: true,
8300
- nameFromContent: true,
8301
- childrenPresentational: true
8120
+ nameFromContent: true
8302
8121
  },
8303
8122
  code: {
8304
8123
  type: 'structure',
8305
- superclassRole: [ 'section' ],
8306
- prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]
8124
+ superclassRole: [ 'section' ]
8307
8125
  },
8308
8126
  columnheader: {
8309
8127
  type: 'structure',
@@ -8346,8 +8164,7 @@
8346
8164
  },
8347
8165
  deletion: {
8348
8166
  type: 'structure',
8349
- superclassRole: [ 'section' ],
8350
- prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]
8167
+ superclassRole: [ 'section' ]
8351
8168
  },
8352
8169
  dialog: {
8353
8170
  type: 'widget',
@@ -8368,8 +8185,7 @@
8368
8185
  },
8369
8186
  emphasis: {
8370
8187
  type: 'structure',
8371
- superclassRole: [ 'section' ],
8372
- prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]
8188
+ superclassRole: [ 'section' ]
8373
8189
  },
8374
8190
  feed: {
8375
8191
  type: 'structure',
@@ -8419,8 +8235,7 @@
8419
8235
  type: 'structure',
8420
8236
  allowedAttrs: [ 'aria-expanded' ],
8421
8237
  superclassRole: [ 'section' ],
8422
- accessibleNameRequired: true,
8423
- childrenPresentational: true
8238
+ accessibleNameRequired: true
8424
8239
  },
8425
8240
  input: {
8426
8241
  type: 'abstract',
@@ -8428,8 +8243,7 @@
8428
8243
  },
8429
8244
  insertion: {
8430
8245
  type: 'structure',
8431
- superclassRole: [ 'section' ],
8432
- prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]
8246
+ superclassRole: [ 'section' ]
8433
8247
  },
8434
8248
  landmark: {
8435
8249
  type: 'abstract',
@@ -8444,7 +8258,7 @@
8444
8258
  },
8445
8259
  list: {
8446
8260
  type: 'structure',
8447
- requiredOwned: [ 'group', 'listitem' ],
8261
+ requiredOwned: [ 'listitem' ],
8448
8262
  allowedAttrs: [ 'aria-expanded' ],
8449
8263
  superclassRole: [ 'section' ]
8450
8264
  },
@@ -8480,24 +8294,23 @@
8480
8294
  math: {
8481
8295
  type: 'structure',
8482
8296
  allowedAttrs: [ 'aria-expanded' ],
8483
- superclassRole: [ 'section' ],
8484
- childrenPresentational: true
8297
+ superclassRole: [ 'section' ]
8485
8298
  },
8486
8299
  menu: {
8487
8300
  type: 'composite',
8488
- requiredOwned: [ 'group', 'menuitemradio', 'menuitem', 'menuitemcheckbox' ],
8301
+ requiredOwned: [ 'menuitemradio', 'menuitem', 'menuitemcheckbox' ],
8489
8302
  allowedAttrs: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],
8490
8303
  superclassRole: [ 'select' ]
8491
8304
  },
8492
8305
  menubar: {
8493
8306
  type: 'composite',
8494
- requiredOwned: [ 'group', 'menuitemradio', 'menuitem', 'menuitemcheckbox' ],
8307
+ requiredOwned: [ 'menuitemradio', 'menuitem', 'menuitemcheckbox' ],
8495
8308
  allowedAttrs: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],
8496
8309
  superclassRole: [ 'menu' ]
8497
8310
  },
8498
8311
  menuitem: {
8499
8312
  type: 'widget',
8500
- requiredContext: [ 'menu', 'menubar', 'group' ],
8313
+ requiredContext: [ 'menu', 'menubar' ],
8501
8314
  allowedAttrs: [ 'aria-posinset', 'aria-setsize', 'aria-expanded' ],
8502
8315
  superclassRole: [ 'command' ],
8503
8316
  accessibleNameRequired: true,
@@ -8505,12 +8318,11 @@
8505
8318
  },
8506
8319
  menuitemcheckbox: {
8507
8320
  type: 'widget',
8508
- requiredContext: [ 'menu', 'menubar', 'group' ],
8321
+ requiredContext: [ 'menu', 'menubar' ],
8509
8322
  allowedAttrs: [ 'aria-checked', 'aria-posinset', 'aria-readonly', 'aria-setsize' ],
8510
8323
  superclassRole: [ 'checkbox', 'menuitem' ],
8511
8324
  accessibleNameRequired: true,
8512
- nameFromContent: true,
8513
- childrenPresentational: true
8325
+ nameFromContent: true
8514
8326
  },
8515
8327
  menuitemradio: {
8516
8328
  type: 'widget',
@@ -8518,16 +8330,14 @@
8518
8330
  allowedAttrs: [ 'aria-checked', 'aria-posinset', 'aria-readonly', 'aria-setsize' ],
8519
8331
  superclassRole: [ 'menuitemcheckbox', 'radio' ],
8520
8332
  accessibleNameRequired: true,
8521
- nameFromContent: true,
8522
- childrenPresentational: true
8333
+ nameFromContent: true
8523
8334
  },
8524
8335
  meter: {
8525
8336
  type: 'structure',
8526
8337
  allowedAttrs: [ 'aria-valuetext' ],
8527
8338
  requiredAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-valuenow' ],
8528
8339
  superclassRole: [ 'range' ],
8529
- accessibleNameRequired: true,
8530
- childrenPresentational: true
8340
+ accessibleNameRequired: true
8531
8341
  },
8532
8342
  navigation: {
8533
8343
  type: 'landmark',
@@ -8536,8 +8346,7 @@
8536
8346
  },
8537
8347
  none: {
8538
8348
  type: 'structure',
8539
- superclassRole: [ 'structure' ],
8540
- prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]
8349
+ superclassRole: [ 'structure' ]
8541
8350
  },
8542
8351
  note: {
8543
8352
  type: 'structure',
@@ -8550,33 +8359,28 @@
8550
8359
  allowedAttrs: [ 'aria-selected', 'aria-checked', 'aria-posinset', 'aria-setsize' ],
8551
8360
  superclassRole: [ 'input' ],
8552
8361
  accessibleNameRequired: true,
8553
- nameFromContent: true,
8554
- childrenPresentational: true
8362
+ nameFromContent: true
8555
8363
  },
8556
8364
  paragraph: {
8557
8365
  type: 'structure',
8558
- superclassRole: [ 'section' ],
8559
- prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]
8366
+ superclassRole: [ 'section' ]
8560
8367
  },
8561
8368
  presentation: {
8562
8369
  type: 'structure',
8563
- superclassRole: [ 'structure' ],
8564
- prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]
8370
+ superclassRole: [ 'structure' ]
8565
8371
  },
8566
8372
  progressbar: {
8567
8373
  type: 'widget',
8568
8374
  allowedAttrs: [ 'aria-expanded', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext' ],
8569
8375
  superclassRole: [ 'range' ],
8570
- accessibleNameRequired: true,
8571
- childrenPresentational: true
8376
+ accessibleNameRequired: true
8572
8377
  },
8573
8378
  radio: {
8574
8379
  type: 'widget',
8575
8380
  allowedAttrs: [ 'aria-checked', 'aria-posinset', 'aria-setsize', 'aria-required' ],
8576
8381
  superclassRole: [ 'input' ],
8577
8382
  accessibleNameRequired: true,
8578
- nameFromContent: true,
8579
- childrenPresentational: true
8383
+ nameFromContent: true
8580
8384
  },
8581
8385
  radiogroup: {
8582
8386
  type: 'composite',
@@ -8626,8 +8430,7 @@
8626
8430
  type: 'widget',
8627
8431
  requiredAttrs: [ 'aria-valuenow' ],
8628
8432
  allowedAttrs: [ 'aria-controls', 'aria-orientation', 'aria-valuemax', 'aria-valuemin', 'aria-valuetext' ],
8629
- superclassRole: [ 'range' ],
8630
- childrenPresentational: true
8433
+ superclassRole: [ 'range' ]
8631
8434
  },
8632
8435
  search: {
8633
8436
  type: 'landmark',
@@ -8657,16 +8460,14 @@
8657
8460
  separator: {
8658
8461
  type: 'structure',
8659
8462
  allowedAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-orientation', 'aria-valuetext' ],
8660
- superclassRole: [ 'structure', 'widget' ],
8661
- childrenPresentational: true
8463
+ superclassRole: [ 'structure', 'widget' ]
8662
8464
  },
8663
8465
  slider: {
8664
8466
  type: 'widget',
8665
8467
  requiredAttrs: [ 'aria-valuenow' ],
8666
8468
  allowedAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-orientation', 'aria-readonly', 'aria-valuetext' ],
8667
8469
  superclassRole: [ 'input', 'range' ],
8668
- accessibleNameRequired: true,
8669
- childrenPresentational: true
8470
+ accessibleNameRequired: true
8670
8471
  },
8671
8472
  spinbutton: {
8672
8473
  type: 'widget',
@@ -8682,8 +8483,7 @@
8682
8483
  },
8683
8484
  strong: {
8684
8485
  type: 'structure',
8685
- superclassRole: [ 'section' ],
8686
- prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]
8486
+ superclassRole: [ 'section' ]
8687
8487
  },
8688
8488
  structure: {
8689
8489
  type: 'abstract',
@@ -8691,13 +8491,11 @@
8691
8491
  },
8692
8492
  subscript: {
8693
8493
  type: 'structure',
8694
- superclassRole: [ 'section' ],
8695
- prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]
8494
+ superclassRole: [ 'section' ]
8696
8495
  },
8697
8496
  superscript: {
8698
8497
  type: 'structure',
8699
- superclassRole: [ 'section' ],
8700
- prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]
8498
+ superclassRole: [ 'section' ]
8701
8499
  },
8702
8500
  switch: {
8703
8501
  type: 'widget',
@@ -8705,16 +8503,14 @@
8705
8503
  allowedAttrs: [ 'aria-readonly' ],
8706
8504
  superclassRole: [ 'checkbox' ],
8707
8505
  accessibleNameRequired: true,
8708
- nameFromContent: true,
8709
- childrenPresentational: true
8506
+ nameFromContent: true
8710
8507
  },
8711
8508
  tab: {
8712
8509
  type: 'widget',
8713
8510
  requiredContext: [ 'tablist' ],
8714
8511
  allowedAttrs: [ 'aria-posinset', 'aria-selected', 'aria-setsize', 'aria-expanded' ],
8715
8512
  superclassRole: [ 'sectionhead', 'widget' ],
8716
- nameFromContent: true,
8717
- childrenPresentational: true
8513
+ nameFromContent: true
8718
8514
  },
8719
8515
  table: {
8720
8516
  type: 'structure',
@@ -8742,11 +8538,6 @@
8742
8538
  superclassRole: [ 'section' ],
8743
8539
  nameFromContent: true
8744
8540
  },
8745
- text: {
8746
- type: 'structure',
8747
- superclassRole: [ 'section' ],
8748
- nameFromContent: true
8749
- },
8750
8541
  textbox: {
8751
8542
  type: 'widget',
8752
8543
  allowedAttrs: [ 'aria-activedescendant', 'aria-autocomplete', 'aria-multiline', 'aria-placeholder', 'aria-readonly', 'aria-required' ],
@@ -8776,7 +8567,7 @@
8776
8567
  },
8777
8568
  tree: {
8778
8569
  type: 'composite',
8779
- requiredOwned: [ 'group', 'treeitem' ],
8570
+ requiredOwned: [ 'treeitem' ],
8780
8571
  allowedAttrs: [ 'aria-multiselectable', 'aria-required', 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],
8781
8572
  superclassRole: [ 'select' ],
8782
8573
  accessibleNameRequired: false
@@ -8964,8 +8755,7 @@
8964
8755
  'doc-pagebreak': {
8965
8756
  type: 'separator',
8966
8757
  allowedAttrs: [ 'aria-expanded', 'aria-orientation' ],
8967
- superclassRole: [ 'separator' ],
8968
- childrenPresentational: true
8758
+ superclassRole: [ 'separator' ]
8969
8759
  },
8970
8760
  'doc-pagelist': {
8971
8761
  type: 'navigation',
@@ -9013,25 +8803,6 @@
9013
8803
  }
9014
8804
  };
9015
8805
  var dpub_roles_default = dpubRoles;
9016
- var graphicsRoles = {
9017
- 'graphics-document': {
9018
- type: 'structure',
9019
- superclassRole: [ 'document' ],
9020
- accessibleNameRequired: true
9021
- },
9022
- 'graphics-object': {
9023
- type: 'structure',
9024
- superclassRole: [ 'group' ],
9025
- nameFromContent: true
9026
- },
9027
- 'graphics-symbol': {
9028
- type: 'structure',
9029
- superclassRole: [ 'img' ],
9030
- accessibleNameRequired: true,
9031
- childrenPresentational: true
9032
- }
9033
- };
9034
- var graphics_roles_default = graphicsRoles;
9035
8806
  var htmlElms = {
9036
8807
  a: {
9037
8808
  variant: {
@@ -9370,7 +9141,7 @@
9370
9141
  type: 'hidden'
9371
9142
  }
9372
9143
  },
9373
- contentTypes: [ 'flow' ],
9144
+ contentTypes: [ 'phrasing', 'flow' ],
9374
9145
  allowedRoles: false,
9375
9146
  noAriaAttrs: true
9376
9147
  },
@@ -9406,7 +9177,7 @@
9406
9177
  allowedRoles: false
9407
9178
  },
9408
9179
  default: {
9409
- contentTypes: [ 'interactive', 'flow' ],
9180
+ contentTypes: [ 'interactive', 'phrasing', 'flow' ],
9410
9181
  allowedRoles: [ 'combobox', 'searchbox', 'spinbutton' ],
9411
9182
  implicitAttrs: {
9412
9183
  'aria-valuenow': ''
@@ -9873,7 +9644,7 @@
9873
9644
  var css_colors_default = cssColors;
9874
9645
  var originals = {
9875
9646
  ariaAttrs: aria_attrs_default,
9876
- ariaRoles: _extends({}, aria_roles_default, dpub_roles_default, graphics_roles_default),
9647
+ ariaRoles: _extends({}, aria_roles_default, dpub_roles_default),
9877
9648
  htmlElms: html_elms_default,
9878
9649
  cssColors: css_colors_default
9879
9650
  };
@@ -9908,8 +9679,8 @@
9908
9679
  }
9909
9680
  return parseFloat(value);
9910
9681
  }
9911
- function hslToRgb(_ref15) {
9912
- var _ref16 = _slicedToArray(_ref15, 4), hue = _ref16[0], saturation = _ref16[1], lightness = _ref16[2], alpha = _ref16[3];
9682
+ function hslToRgb(_ref5) {
9683
+ var _ref6 = _slicedToArray(_ref5, 4), hue = _ref6[0], saturation = _ref6[1], lightness = _ref6[2], alpha = _ref6[3];
9913
9684
  saturation /= 255;
9914
9685
  lightness /= 255;
9915
9686
  var high = (1 - Math.abs(2 * lightness - 1)) * saturation;
@@ -9938,7 +9709,7 @@
9938
9709
  this.green = green;
9939
9710
  this.blue = blue;
9940
9711
  this.alpha = alpha;
9941
- this.toHexString = function toHexString() {
9712
+ this.toHexString = function() {
9942
9713
  var redString = Math.round(this.red).toString(16);
9943
9714
  var greenString = Math.round(this.green).toString(16);
9944
9715
  var blueString = Math.round(this.blue).toString(16);
@@ -9946,9 +9717,9 @@
9946
9717
  };
9947
9718
  var hexRegex = /^#[0-9a-f]{3,8}$/i;
9948
9719
  var colorFnRegex = /^((?:rgb|hsl)a?)\s*\(([^\)]*)\)/i;
9949
- this.parseString = function parseString(colorString) {
9720
+ this.parseString = function(colorString) {
9950
9721
  if (standards_default.cssColors[colorString] || colorString === 'transparent') {
9951
- var _ref17 = standards_default.cssColors[colorString] || [ 0, 0, 0 ], _ref18 = _slicedToArray(_ref17, 3), red2 = _ref18[0], green2 = _ref18[1], blue2 = _ref18[2];
9722
+ var _ref7 = standards_default.cssColors[colorString] || [ 0, 0, 0 ], _ref8 = _slicedToArray(_ref7, 3), red2 = _ref8[0], green2 = _ref8[1], blue2 = _ref8[2];
9952
9723
  this.red = red2;
9953
9724
  this.green = green2;
9954
9725
  this.blue = blue2;
@@ -9965,7 +9736,7 @@
9965
9736
  }
9966
9737
  throw new Error('Unable to parse color "'.concat(colorString, '"'));
9967
9738
  };
9968
- this.parseRgbString = function parseRgbString(colorString) {
9739
+ this.parseRgbString = function(colorString) {
9969
9740
  if (colorString === 'transparent') {
9970
9741
  this.red = 0;
9971
9742
  this.green = 0;
@@ -9975,7 +9746,7 @@
9975
9746
  }
9976
9747
  this.parseColorFnString(colorString);
9977
9748
  };
9978
- this.parseHexString = function parseHexString(colorString) {
9749
+ this.parseHexString = function(colorString) {
9979
9750
  if (!colorString.match(hexRegex) || [ 6, 8 ].includes(colorString.length)) {
9980
9751
  return;
9981
9752
  }
@@ -9998,7 +9769,7 @@
9998
9769
  }
9999
9770
  };
10000
9771
  this.parseColorFnString = function parseColorFnString(colorString) {
10001
- var _ref19 = colorString.match(colorFnRegex) || [], _ref20 = _slicedToArray(_ref19, 3), colorFunc = _ref20[1], colorValStr = _ref20[2];
9772
+ var _ref9 = colorString.match(colorFnRegex) || [], _ref10 = _slicedToArray(_ref9, 3), colorFunc = _ref10[1], colorValStr = _ref10[2];
10002
9773
  if (!colorFunc || !colorValStr) {
10003
9774
  return;
10004
9775
  }
@@ -10018,7 +9789,7 @@
10018
9789
  this.blue = colorNums[2];
10019
9790
  this.alpha = typeof colorNums[3] === 'number' ? colorNums[3] : 1;
10020
9791
  };
10021
- this.getRelativeLuminance = function getRelativeLuminance() {
9792
+ this.getRelativeLuminance = function() {
10022
9793
  var rSRGB = this.red / 255;
10023
9794
  var gSRGB = this.green / 255;
10024
9795
  var bSRGB = this.blue / 255;
@@ -10279,20 +10050,6 @@
10279
10050
  return _this;
10280
10051
  }
10281
10052
  _createClass(VirtualNode, [ {
10282
- key: 'props',
10283
- get: function get() {
10284
- var _this$actualNode = this.actualNode, nodeType = _this$actualNode.nodeType, nodeName2 = _this$actualNode.nodeName, id = _this$actualNode.id, multiple = _this$actualNode.multiple, nodeValue = _this$actualNode.nodeValue, value = _this$actualNode.value;
10285
- return {
10286
- nodeType: nodeType,
10287
- nodeName: this._isXHTML ? nodeName2 : nodeName2.toLowerCase(),
10288
- id: id,
10289
- type: this._type,
10290
- multiple: multiple,
10291
- nodeValue: nodeValue,
10292
- value: value
10293
- };
10294
- }
10295
- }, {
10296
10053
  key: 'attr',
10297
10054
  value: function attr(attrName) {
10298
10055
  if (typeof this.actualNode.getAttribute !== 'function') {
@@ -10308,22 +10065,6 @@
10308
10065
  }
10309
10066
  return this.actualNode.hasAttribute(attrName);
10310
10067
  }
10311
- }, {
10312
- key: 'attrNames',
10313
- get: function get() {
10314
- if (!this._cache.hasOwnProperty('attrNames')) {
10315
- var attrs;
10316
- if (this.actualNode.attributes instanceof window.NamedNodeMap) {
10317
- attrs = this.actualNode.attributes;
10318
- } else {
10319
- attrs = this.actualNode.cloneNode(false).attributes;
10320
- }
10321
- this._cache.attrNames = Array.from(attrs).map(function(attr) {
10322
- return attr.name;
10323
- });
10324
- }
10325
- return this._cache.attrNames;
10326
- }
10327
10068
  }, {
10328
10069
  key: 'getComputedStylePropertyValue',
10329
10070
  value: function getComputedStylePropertyValue(property) {
@@ -10336,6 +10077,20 @@
10336
10077
  }
10337
10078
  return this._cache[key];
10338
10079
  }
10080
+ }, {
10081
+ key: 'props',
10082
+ get: function get() {
10083
+ var _this$actualNode = this.actualNode, nodeType = _this$actualNode.nodeType, nodeName2 = _this$actualNode.nodeName, id = _this$actualNode.id, multiple = _this$actualNode.multiple, nodeValue = _this$actualNode.nodeValue, value = _this$actualNode.value;
10084
+ return {
10085
+ nodeType: nodeType,
10086
+ nodeName: this._isXHTML ? nodeName2 : nodeName2.toLowerCase(),
10087
+ id: id,
10088
+ type: this._type,
10089
+ multiple: multiple,
10090
+ nodeValue: nodeValue,
10091
+ value: value
10092
+ };
10093
+ }
10339
10094
  }, {
10340
10095
  key: 'isFocusable',
10341
10096
  get: function get() {
@@ -10594,8 +10349,7 @@
10594
10349
  for (var prop in data2) {
10595
10350
  if (data2.hasOwnProperty(prop)) {
10596
10351
  var regex = new RegExp('\\${\\s?data\\.' + prop + '\\s?}', 'g');
10597
- var replace = typeof data2[prop] === 'undefined' ? '' : String(data2[prop]);
10598
- str = str.replace(regex, replace);
10352
+ str = str.replace(regex, data2[prop]);
10599
10353
  }
10600
10354
  }
10601
10355
  return str;
@@ -10670,16 +10424,6 @@
10670
10424
  return cache_default.get('nodeMap') ? cache_default.get('nodeMap').get(el) : null;
10671
10425
  }
10672
10426
  var get_node_from_tree_default = getNodeFromTree;
10673
- function getRule(ruleId) {
10674
- var rule3 = axe._audit.rules.find(function(rule4) {
10675
- return rule4.id === ruleId;
10676
- });
10677
- if (!rule3) {
10678
- throw new Error('Cannot find rule by id: '.concat(ruleId));
10679
- }
10680
- return rule3;
10681
- }
10682
- var get_rule_default = getRule;
10683
10427
  function getScroll(elm) {
10684
10428
  var buffer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
10685
10429
  var overflowX = elm.scrollWidth > elm.clientWidth + buffer;
@@ -10733,8 +10477,8 @@
10733
10477
  var data2 = options.data, _options$isCrossOrigi = options.isCrossOrigin, isCrossOrigin = _options$isCrossOrigi === void 0 ? false : _options$isCrossOrigi, shadowId = options.shadowId, root = options.root, priority = options.priority, _options$isLink = options.isLink, isLink = _options$isLink === void 0 ? false : _options$isLink;
10734
10478
  var style = dynamicDoc.createElement('style');
10735
10479
  if (isLink) {
10736
- var text32 = dynamicDoc.createTextNode('@import "'.concat(data2.href, '"'));
10737
- style.appendChild(text32);
10480
+ var text31 = dynamicDoc.createTextNode('@import "'.concat(data2.href, '"'));
10481
+ style.appendChild(text31);
10738
10482
  } else {
10739
10483
  style.appendChild(dynamicDoc.createTextNode(data2));
10740
10484
  }
@@ -11269,8 +11013,8 @@
11269
11013
  return matchExpressions(domTree, expressions, filter);
11270
11014
  }
11271
11015
  var query_selector_all_filter_default = querySelectorAllFilter;
11272
- function preloadCssom(_ref21) {
11273
- var _ref21$treeRoot = _ref21.treeRoot, treeRoot = _ref21$treeRoot === void 0 ? axe._tree[0] : _ref21$treeRoot;
11016
+ function preloadCssom(_ref11) {
11017
+ var _ref11$treeRoot = _ref11.treeRoot, treeRoot = _ref11$treeRoot === void 0 ? axe._tree[0] : _ref11$treeRoot;
11274
11018
  var rootNodes = getAllRootNodesInTree(treeRoot);
11275
11019
  if (!rootNodes.length) {
11276
11020
  return Promise.resolve();
@@ -11300,8 +11044,8 @@
11300
11044
  }
11301
11045
  function getCssomForAllRootNodes(rootNodes, convertDataToStylesheet) {
11302
11046
  var promises = [];
11303
- rootNodes.forEach(function(_ref22, index) {
11304
- var rootNode = _ref22.rootNode, shadowId = _ref22.shadowId;
11047
+ rootNodes.forEach(function(_ref12, index) {
11048
+ var rootNode = _ref12.rootNode, shadowId = _ref12.shadowId;
11305
11049
  var sheets = getStylesheetsOfRootNode(rootNode, shadowId, convertDataToStylesheet);
11306
11050
  if (!sheets) {
11307
11051
  return Promise.all(promises);
@@ -11382,10 +11126,10 @@
11382
11126
  return true;
11383
11127
  });
11384
11128
  }
11385
- function preloadMedia(_ref23) {
11386
- var _ref23$treeRoot = _ref23.treeRoot, treeRoot = _ref23$treeRoot === void 0 ? axe._tree[0] : _ref23$treeRoot;
11387
- var mediaVirtualNodes = query_selector_all_filter_default(treeRoot, 'video, audio', function(_ref24) {
11388
- var actualNode = _ref24.actualNode;
11129
+ function preloadMedia(_ref13) {
11130
+ var _ref13$treeRoot = _ref13.treeRoot, treeRoot = _ref13$treeRoot === void 0 ? axe._tree[0] : _ref13$treeRoot;
11131
+ var mediaVirtualNodes = query_selector_all_filter_default(treeRoot, 'video, audio', function(_ref14) {
11132
+ var actualNode = _ref14.actualNode;
11389
11133
  if (actualNode.hasAttribute('src')) {
11390
11134
  return !!actualNode.getAttribute('src');
11391
11135
  }
@@ -11397,8 +11141,8 @@
11397
11141
  }
11398
11142
  return true;
11399
11143
  });
11400
- return Promise.all(mediaVirtualNodes.map(function(_ref25) {
11401
- var actualNode = _ref25.actualNode;
11144
+ return Promise.all(mediaVirtualNodes.map(function(_ref15) {
11145
+ var actualNode = _ref15.actualNode;
11402
11146
  return isMediaElementReady(actualNode);
11403
11147
  }));
11404
11148
  }
@@ -11483,49 +11227,49 @@
11483
11227
  });
11484
11228
  }
11485
11229
  var preload_default = preload;
11486
- function getIncompleteReason(checkData, messages) {
11487
- function getDefaultMsg(messages2) {
11488
- if (messages2.incomplete && messages2.incomplete['default']) {
11489
- return messages2.incomplete['default'];
11230
+ function getIncompleteReason(checkData, messages2) {
11231
+ function getDefaultMsg(messages3) {
11232
+ if (messages3.incomplete && messages3.incomplete['default']) {
11233
+ return messages3.incomplete['default'];
11490
11234
  } else {
11491
11235
  return incomplete_fallback_msg_default();
11492
11236
  }
11493
11237
  }
11494
11238
  if (checkData && checkData.missingData) {
11495
11239
  try {
11496
- var msg = messages.incomplete[checkData.missingData[0].reason];
11240
+ var msg = messages2.incomplete[checkData.missingData[0].reason];
11497
11241
  if (!msg) {
11498
11242
  throw new Error();
11499
11243
  }
11500
11244
  return msg;
11501
11245
  } catch (e) {
11502
11246
  if (typeof checkData.missingData === 'string') {
11503
- return messages.incomplete[checkData.missingData];
11247
+ return messages2.incomplete[checkData.missingData];
11504
11248
  } else {
11505
- return getDefaultMsg(messages);
11249
+ return getDefaultMsg(messages2);
11506
11250
  }
11507
11251
  }
11508
11252
  } else if (checkData && checkData.messageKey) {
11509
- return messages.incomplete[checkData.messageKey];
11253
+ return messages2.incomplete[checkData.messageKey];
11510
11254
  } else {
11511
- return getDefaultMsg(messages);
11255
+ return getDefaultMsg(messages2);
11512
11256
  }
11513
11257
  }
11514
11258
  function extender(checksData, shouldBeTrue) {
11515
11259
  return function(check4) {
11516
11260
  var sourceData = checksData[check4.id] || {};
11517
- var messages = sourceData.messages || {};
11261
+ var messages2 = sourceData.messages || {};
11518
11262
  var data2 = Object.assign({}, sourceData);
11519
11263
  delete data2.messages;
11520
11264
  if (check4.result === void 0) {
11521
- if (_typeof(messages.incomplete) === 'object' && !Array.isArray(check4.data)) {
11522
- data2.message = getIncompleteReason(check4.data, messages);
11265
+ if (_typeof(messages2.incomplete) === 'object' && !Array.isArray(check4.data)) {
11266
+ data2.message = getIncompleteReason(check4.data, messages2);
11523
11267
  }
11524
11268
  if (!data2.message) {
11525
- data2.message = messages.incomplete;
11269
+ data2.message = messages2.incomplete;
11526
11270
  }
11527
11271
  } else {
11528
- data2.message = check4.result === shouldBeTrue ? messages.pass : messages.fail;
11272
+ data2.message = check4.result === shouldBeTrue ? messages2.pass : messages2.fail;
11529
11273
  }
11530
11274
  if (typeof data2.message !== 'function') {
11531
11275
  data2.message = process_message_default(data2.message, check4.data);
@@ -11596,39 +11340,6 @@
11596
11340
  }
11597
11341
  }
11598
11342
  var rule_should_run_default = ruleShouldRun;
11599
- function attributeMatches(node, attrName, filterAttrs) {
11600
- if (typeof filterAttrs[attrName] === 'undefined') {
11601
- return false;
11602
- }
11603
- if (filterAttrs[attrName] === true) {
11604
- return true;
11605
- }
11606
- return element_matches_default(node, filterAttrs[attrName]);
11607
- }
11608
- function filterHtmlAttrs(element, filterAttrs) {
11609
- if (!filterAttrs) {
11610
- return element;
11611
- }
11612
- var node = element.cloneNode(false);
11613
- var outerHTML = node.outerHTML;
11614
- var attributes4 = get_node_attributes_default(node);
11615
- if (cache_default.get(outerHTML)) {
11616
- node = cache_default.get(outerHTML);
11617
- } else if (attributes4) {
11618
- node = document.createElement(node.nodeName);
11619
- Array.from(attributes4).forEach(function(attr) {
11620
- if (!attributeMatches(element, attr.name, filterAttrs)) {
11621
- node.setAttribute(attr.name, attr.value);
11622
- }
11623
- });
11624
- cache_default.set(outerHTML, node);
11625
- }
11626
- Array.from(element.childNodes).forEach(function(child) {
11627
- node.appendChild(filterHtmlAttrs(child, filterAttrs));
11628
- });
11629
- return node;
11630
- }
11631
- var filter_html_attrs_default = filterHtmlAttrs;
11632
11343
  function pushNode(result, nodes) {
11633
11344
  var temp;
11634
11345
  if (result.length === 0) {
@@ -11693,8 +11404,8 @@
11693
11404
  }
11694
11405
  }
11695
11406
  function setScrollState(scrollState) {
11696
- scrollState.forEach(function(_ref27) {
11697
- var elm = _ref27.elm, top = _ref27.top, left = _ref27.left;
11407
+ scrollState.forEach(function(_ref17) {
11408
+ var elm = _ref17.elm, top = _ref17.top, left = _ref17.left;
11698
11409
  return setScroll(elm, top, left);
11699
11410
  });
11700
11411
  }
@@ -11750,11 +11461,6 @@
11750
11461
  return _this2;
11751
11462
  }
11752
11463
  _createClass(SerialVirtualNode, [ {
11753
- key: 'props',
11754
- get: function get() {
11755
- return this._props;
11756
- }
11757
- }, {
11758
11464
  key: 'attr',
11759
11465
  value: function attr(attrName) {
11760
11466
  return this._attrs[attrName] || null;
@@ -11765,16 +11471,15 @@
11765
11471
  return this._attrs[attrName] !== void 0;
11766
11472
  }
11767
11473
  }, {
11768
- key: 'attrNames',
11474
+ key: 'props',
11769
11475
  get: function get() {
11770
- return Object.keys(this._attrs);
11476
+ return this._props;
11771
11477
  }
11772
11478
  } ]);
11773
11479
  return SerialVirtualNode;
11774
11480
  }(abstract_virtual_node_default);
11775
11481
  function normaliseProps(serialNode) {
11776
- var nodeName2 = serialNode.nodeName;
11777
- var _serialNode$nodeType = serialNode.nodeType, nodeType = _serialNode$nodeType === void 0 ? 1 : _serialNode$nodeType;
11482
+ var nodeName2 = serialNode.nodeName, _serialNode$nodeType = serialNode.nodeType, nodeType = _serialNode$nodeType === void 0 ? 1 : _serialNode$nodeType;
11778
11483
  assert_default(typeof nodeType === 'number', 'nodeType has to be a number, got \''.concat(nodeType, '\''));
11779
11484
  assert_default(typeof nodeName2 === 'string', 'nodeName has to be a string, got \''.concat(nodeName2, '\''));
11780
11485
  nodeName2 = nodeName2.toLowerCase();
@@ -11795,8 +11500,8 @@
11795
11500
  delete props.attributes;
11796
11501
  return Object.freeze(props);
11797
11502
  }
11798
- function normaliseAttrs(_ref28) {
11799
- var _ref28$attributes = _ref28.attributes, attributes4 = _ref28$attributes === void 0 ? {} : _ref28$attributes;
11503
+ function normaliseAttrs(_ref18) {
11504
+ var _ref18$attributes = _ref18.attributes, attributes4 = _ref18$attributes === void 0 ? {} : _ref18$attributes;
11800
11505
  var attrMap = {
11801
11506
  htmlFor: 'for',
11802
11507
  className: 'class'
@@ -11935,7 +11640,7 @@
11935
11640
  }
11936
11641
  var is_unsupported_role_default = isUnsupportedRole;
11937
11642
  function isValidRole(role) {
11938
- var _ref29 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, allowAbstract = _ref29.allowAbstract, _ref29$flagUnsupporte = _ref29.flagUnsupported, flagUnsupported = _ref29$flagUnsupporte === void 0 ? false : _ref29$flagUnsupporte;
11643
+ var _ref19 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, allowAbstract = _ref19.allowAbstract, _ref19$flagUnsupporte = _ref19.flagUnsupported, flagUnsupported = _ref19$flagUnsupporte === void 0 ? false : _ref19$flagUnsupporte;
11939
11644
  var roleDefinition = standards_default.ariaRoles[role];
11940
11645
  var isRoleUnsupported = is_unsupported_role_default(role);
11941
11646
  if (!roleDefinition || flagUnsupported && isRoleUnsupported) {
@@ -11945,7 +11650,7 @@
11945
11650
  }
11946
11651
  var is_valid_role_default = isValidRole;
11947
11652
  function getExplicitRole(vNode) {
11948
- var _ref30 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, fallback = _ref30.fallback, abstracts = _ref30.abstracts, dpub = _ref30.dpub;
11653
+ var _ref20 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, fallback = _ref20.fallback, abstracts = _ref20.abstracts, dpub = _ref20.dpub;
11949
11654
  vNode = vNode instanceof abstract_virtual_node_default ? vNode : get_node_from_tree_default(vNode);
11950
11655
  if (vNode.props.nodeType !== 1) {
11951
11656
  return null;
@@ -11988,9 +11693,7 @@
11988
11693
  var columnIndex = 0;
11989
11694
  for (var j = 0, cellLength = cells.length; j < cellLength; j++) {
11990
11695
  for (var colSpan = 0; colSpan < cells[j].colSpan; colSpan++) {
11991
- var rowspanAttr = cells[j].getAttribute('rowspan');
11992
- var rowspanValue = parseInt(rowspanAttr) === 0 || cells[j].rowspan === 0 ? rows.length : cells[j].rowSpan;
11993
- for (var rowSpan = 0; rowSpan < rowspanValue; rowSpan++) {
11696
+ for (var rowSpan = 0; rowSpan < cells[j].rowSpan; rowSpan++) {
11994
11697
  table5[i + rowSpan] = table5[i + rowSpan] || [];
11995
11698
  while (table5[i + rowSpan][columnIndex]) {
11996
11699
  columnIndex++;
@@ -12263,8 +11966,8 @@
12263
11966
  return hasGlobalAria || is_focusable_default(vNode);
12264
11967
  }
12265
11968
  function resolveRole(node) {
12266
- var _ref31 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
12267
- var noImplicit = _ref31.noImplicit, explicitRoleOptions = _objectWithoutProperties(_ref31, [ 'noImplicit' ]);
11969
+ var _ref21 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
11970
+ var noImplicit = _ref21.noImplicit, explicitRoleOptions = _objectWithoutProperties(_ref21, [ 'noImplicit' ]);
12268
11971
  var vNode = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);
12269
11972
  if (vNode.props.nodeType !== 1) {
12270
11973
  return null;
@@ -12282,8 +11985,8 @@
12282
11985
  return explicitRole2;
12283
11986
  }
12284
11987
  function getRole(node) {
12285
- var _ref32 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
12286
- var noPresentational = _ref32.noPresentational, options = _objectWithoutProperties(_ref32, [ 'noPresentational' ]);
11988
+ var _ref22 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
11989
+ var noPresentational = _ref22.noPresentational, options = _objectWithoutProperties(_ref22, [ 'noPresentational' ]);
12287
11990
  var role = resolveRole(node, options);
12288
11991
  if (noPresentational && [ 'presentation', 'none' ].includes(role)) {
12289
11992
  return null;
@@ -12421,8 +12124,8 @@
12421
12124
  if (!variant.hasOwnProperty(variantName) || variantName === 'default') {
12422
12125
  continue;
12423
12126
  }
12424
- var _variant$variantName = variant[variantName], matches14 = _variant$variantName.matches, props = _objectWithoutProperties(_variant$variantName, [ 'matches' ]);
12425
- if (matches_default3(vNode, matches14)) {
12127
+ var _variant$variantName = variant[variantName], matches13 = _variant$variantName.matches, props = _objectWithoutProperties(_variant$variantName, [ 'matches' ]);
12128
+ if (matches_default3(vNode, matches13)) {
12426
12129
  for (var propName in props) {
12427
12130
  if (props.hasOwnProperty(propName)) {
12428
12131
  spec[propName] = props[propName];
@@ -12451,7 +12154,7 @@
12451
12154
  }
12452
12155
  var title_text_default = titleText;
12453
12156
  function namedFromContents(vNode) {
12454
- var _ref33 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, strict = _ref33.strict;
12157
+ var _ref23 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, strict = _ref23.strict;
12455
12158
  vNode = vNode instanceof abstract_virtual_node_default ? vNode : get_node_from_tree_default(vNode);
12456
12159
  if (vNode.props.nodeType !== 1) {
12457
12160
  return false;
@@ -12506,7 +12209,7 @@
12506
12209
  return appendAccessibleText(contentText, child, context3);
12507
12210
  }, '');
12508
12211
  }
12509
- var phrasingElements = get_elements_by_content_type_default('phrasing').concat([ '#text' ]);
12212
+ var phrasingElements = [ '#text', 'a', 'abbr', 'area', 'b', 'bdi', 'bdo', 'button', 'canvas', 'cite', 'code', 'command', 'datalist', 'del', 'dfn', 'em', 'i', 'ins', 'kbd', 'keygen', 'label', 'map', 'mark', 'meter', 'noscript', 'output', 'progress', 'q', 'ruby', 's', 'samp', 'small', 'span', 'strong', 'sub', 'sup', 'time', 'u', 'var', 'wbr' ];
12510
12213
  function appendAccessibleText(contentText, virtualNode, context3) {
12511
12214
  var nodeName2 = virtualNode.props.nodeName;
12512
12215
  var contentTextAdd = accessible_text_virtual_default(virtualNode, context3);
@@ -12547,8 +12250,8 @@
12547
12250
  }
12548
12251
  return labels.map(function(label5) {
12549
12252
  return accessible_text_default(label5, labelContext);
12550
- }).filter(function(text32) {
12551
- return text32 !== '';
12253
+ }).filter(function(text31) {
12254
+ return text31 !== '';
12552
12255
  }).join(' ');
12553
12256
  }
12554
12257
  function getExplicitLabels(virtualNode) {
@@ -12573,12 +12276,12 @@
12573
12276
  button: ''
12574
12277
  };
12575
12278
  var nativeTextMethods = {
12576
- valueText: function valueText(_ref34) {
12577
- var actualNode = _ref34.actualNode;
12279
+ valueText: function valueText(_ref24) {
12280
+ var actualNode = _ref24.actualNode;
12578
12281
  return actualNode.value || '';
12579
12282
  },
12580
- buttonDefaultText: function buttonDefaultText(_ref35) {
12581
- var actualNode = _ref35.actualNode;
12283
+ buttonDefaultText: function buttonDefaultText(_ref25) {
12284
+ var actualNode = _ref25.actualNode;
12582
12285
  return defaultButtonValues[actualNode.type] || '';
12583
12286
  },
12584
12287
  tableCaptionText: descendantText.bind(null, 'caption'),
@@ -12598,8 +12301,8 @@
12598
12301
  function attrText(attr, vNode) {
12599
12302
  return vNode.attr(attr) || '';
12600
12303
  }
12601
- function descendantText(nodeName2, _ref36, context3) {
12602
- var actualNode = _ref36.actualNode;
12304
+ function descendantText(nodeName2, _ref26, context3) {
12305
+ var actualNode = _ref26.actualNode;
12603
12306
  nodeName2 = nodeName2.toLowerCase();
12604
12307
  var nodeNames = [ nodeName2, actualNode.nodeName.toLowerCase() ].join(',');
12605
12308
  var candidate = actualNode.querySelector(nodeNames);
@@ -12748,10 +12451,11 @@
12748
12451
  }
12749
12452
  function ariaComboboxValue(node, context3) {
12750
12453
  var vNode = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);
12454
+ var listbox;
12751
12455
  if (!is_aria_combobox_default(vNode)) {
12752
12456
  return '';
12753
12457
  }
12754
- var listbox = get_owned_virtual_default(vNode).filter(function(elm) {
12458
+ listbox = get_owned_virtual_default(vNode).filter(function(elm) {
12755
12459
  return get_role_default(elm) === 'listbox';
12756
12460
  })[0];
12757
12461
  return listbox ? ariaListboxValue(listbox, context3) : '';
@@ -12793,8 +12497,8 @@
12793
12497
  }
12794
12498
  return virtualNode.props.nodeValue;
12795
12499
  }
12796
- function shouldIgnoreHidden(_ref37, context3) {
12797
- var actualNode = _ref37.actualNode;
12500
+ function shouldIgnoreHidden(_ref27, context3) {
12501
+ var actualNode = _ref27.actualNode;
12798
12502
  if (!actualNode) {
12799
12503
  return false;
12800
12504
  }
@@ -13085,7 +12789,7 @@
13085
12789
  locations: [ 'billing', 'shipping' ]
13086
12790
  };
13087
12791
  function isValidAutocomplete(autocompleteValue) {
13088
- var _ref38 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref38$looseTyped = _ref38.looseTyped, looseTyped = _ref38$looseTyped === void 0 ? false : _ref38$looseTyped, _ref38$stateTerms = _ref38.stateTerms, stateTerms = _ref38$stateTerms === void 0 ? [] : _ref38$stateTerms, _ref38$locations = _ref38.locations, locations = _ref38$locations === void 0 ? [] : _ref38$locations, _ref38$qualifiers = _ref38.qualifiers, qualifiers = _ref38$qualifiers === void 0 ? [] : _ref38$qualifiers, _ref38$standaloneTerm = _ref38.standaloneTerms, standaloneTerms = _ref38$standaloneTerm === void 0 ? [] : _ref38$standaloneTerm, _ref38$qualifiedTerms = _ref38.qualifiedTerms, qualifiedTerms = _ref38$qualifiedTerms === void 0 ? [] : _ref38$qualifiedTerms;
12792
+ var _ref28 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref28$looseTyped = _ref28.looseTyped, looseTyped = _ref28$looseTyped === void 0 ? false : _ref28$looseTyped, _ref28$stateTerms = _ref28.stateTerms, stateTerms = _ref28$stateTerms === void 0 ? [] : _ref28$stateTerms, _ref28$locations = _ref28.locations, locations = _ref28$locations === void 0 ? [] : _ref28$locations, _ref28$qualifiers = _ref28.qualifiers, qualifiers = _ref28$qualifiers === void 0 ? [] : _ref28$qualifiers, _ref28$standaloneTerm = _ref28.standaloneTerms, standaloneTerms = _ref28$standaloneTerm === void 0 ? [] : _ref28$standaloneTerm, _ref28$qualifiedTerms = _ref28.qualifiedTerms, qualifiedTerms = _ref28$qualifiedTerms === void 0 ? [] : _ref28$qualifiedTerms;
13089
12793
  autocompleteValue = autocompleteValue.toLowerCase().trim();
13090
12794
  stateTerms = stateTerms.concat(_autocomplete.stateTerms);
13091
12795
  if (stateTerms.includes(autocompleteValue) || autocompleteValue === '') {
@@ -15115,8 +14819,8 @@
15115
14819
  nodeName: [ 'abbr', 'address', 'canvas', 'div', 'p', 'pre', 'blockquote', 'ins', 'del', 'output', 'span', 'table', 'tbody', 'thead', 'tfoot', 'td', 'em', 'strong', 'small', 's', 'cite', 'q', 'dfn', 'abbr', 'time', 'code', 'var', 'samp', 'kbd', 'sub', 'sup', 'i', 'b', 'u', 'mark', 'ruby', 'rt', 'rp', 'bdi', 'bdo', 'br', 'wbr', 'th', 'tr' ]
15116
14820
  } ];
15117
14821
  lookupTable.evaluateRoleForElement = {
15118
- A: function A(_ref39) {
15119
- var node = _ref39.node, out = _ref39.out;
14822
+ A: function A(_ref29) {
14823
+ var node = _ref29.node, out = _ref29.out;
15120
14824
  if (node.namespaceURI === 'http://www.w3.org/2000/svg') {
15121
14825
  return true;
15122
14826
  }
@@ -15125,19 +14829,19 @@
15125
14829
  }
15126
14830
  return true;
15127
14831
  },
15128
- AREA: function AREA(_ref40) {
15129
- var node = _ref40.node;
14832
+ AREA: function AREA(_ref30) {
14833
+ var node = _ref30.node;
15130
14834
  return !node.href;
15131
14835
  },
15132
- BUTTON: function BUTTON(_ref41) {
15133
- var node = _ref41.node, role = _ref41.role, out = _ref41.out;
14836
+ BUTTON: function BUTTON(_ref31) {
14837
+ var node = _ref31.node, role = _ref31.role, out = _ref31.out;
15134
14838
  if (node.getAttribute('type') === 'menu') {
15135
14839
  return role === 'menuitem';
15136
14840
  }
15137
14841
  return out;
15138
14842
  },
15139
- IMG: function IMG(_ref42) {
15140
- var node = _ref42.node, role = _ref42.role, out = _ref42.out;
14843
+ IMG: function IMG(_ref32) {
14844
+ var node = _ref32.node, role = _ref32.role, out = _ref32.out;
15141
14845
  switch (node.alt) {
15142
14846
  case null:
15143
14847
  return out;
@@ -15149,8 +14853,8 @@
15149
14853
  return role !== 'presentation' && role !== 'none';
15150
14854
  }
15151
14855
  },
15152
- INPUT: function INPUT(_ref43) {
15153
- var node = _ref43.node, role = _ref43.role, out = _ref43.out;
14856
+ INPUT: function INPUT(_ref33) {
14857
+ var node = _ref33.node, role = _ref33.role, out = _ref33.out;
15154
14858
  switch (node.type) {
15155
14859
  case 'button':
15156
14860
  case 'image':
@@ -15180,32 +14884,32 @@
15180
14884
  return false;
15181
14885
  }
15182
14886
  },
15183
- LI: function LI(_ref44) {
15184
- var node = _ref44.node, out = _ref44.out;
14887
+ LI: function LI(_ref34) {
14888
+ var node = _ref34.node, out = _ref34.out;
15185
14889
  var hasImplicitListitemRole = axe.utils.matchesSelector(node, 'ol li, ul li');
15186
14890
  if (hasImplicitListitemRole) {
15187
14891
  return out;
15188
14892
  }
15189
14893
  return true;
15190
14894
  },
15191
- MENU: function MENU(_ref45) {
15192
- var node = _ref45.node;
14895
+ MENU: function MENU(_ref35) {
14896
+ var node = _ref35.node;
15193
14897
  if (node.getAttribute('type') === 'context') {
15194
14898
  return false;
15195
14899
  }
15196
14900
  return true;
15197
14901
  },
15198
- OPTION: function OPTION(_ref46) {
15199
- var node = _ref46.node;
14902
+ OPTION: function OPTION(_ref36) {
14903
+ var node = _ref36.node;
15200
14904
  var withinOptionList = axe.utils.matchesSelector(node, 'select > option, datalist > option, optgroup > option');
15201
14905
  return !withinOptionList;
15202
14906
  },
15203
- SELECT: function SELECT(_ref47) {
15204
- var node = _ref47.node, role = _ref47.role;
14907
+ SELECT: function SELECT(_ref37) {
14908
+ var node = _ref37.node, role = _ref37.role;
15205
14909
  return !node.multiple && node.size <= 1 && role === 'menu';
15206
14910
  },
15207
- SVG: function SVG(_ref48) {
15208
- var node = _ref48.node, out = _ref48.out;
14911
+ SVG: function SVG(_ref38) {
14912
+ var node = _ref38.node, out = _ref38.out;
15209
14913
  if (node.parentNode && node.parentNode.namespaceURI === 'http://www.w3.org/2000/svg') {
15210
14914
  return true;
15211
14915
  }
@@ -15259,7 +14963,7 @@
15259
14963
  }
15260
14964
  var required_owned_default = requiredOwned;
15261
14965
  function validateAttrValue(node, attr) {
15262
- var matches14;
14966
+ var matches13;
15263
14967
  var list;
15264
14968
  var value = node.getAttribute(attr);
15265
14969
  var attrInfo = standards_default.ariaAttrs[attr];
@@ -15296,12 +15000,11 @@
15296
15000
  return value.trim() !== '';
15297
15001
 
15298
15002
  case 'decimal':
15299
- matches14 = value.match(/^[-+]?([0-9]*)\.?([0-9]*)$/);
15300
- return !!(matches14 && (matches14[1] || matches14[2]));
15003
+ matches13 = value.match(/^[-+]?([0-9]*)\.?([0-9]*)$/);
15004
+ return !!(matches13 && (matches13[1] || matches13[2]));
15301
15005
 
15302
15006
  case 'int':
15303
- var minValue = typeof attrInfo.minValue !== 'undefined' ? attrInfo.minValue : -Infinity;
15304
- return /^[-+]?[0-9]+$/.test(value) && parseInt(value) >= minValue;
15007
+ return /^[-+]?[0-9]+$/.test(value);
15305
15008
  }
15306
15009
  }
15307
15010
  var validate_attr_value_default = validateAttrValue;
@@ -15321,19 +15024,20 @@
15321
15024
  return false;
15322
15025
  }
15323
15026
  var abstractrole_evaluate_default = abstractroleEvaluate;
15324
- function ariaAllowedAttrEvaluate(node, options, virtualNode) {
15027
+ function ariaAllowedAttrEvaluate(node, options) {
15325
15028
  var invalid = [];
15326
- var role = get_role_default(virtualNode);
15327
- var attrs = virtualNode.attrNames;
15029
+ var role = get_role_default(node);
15030
+ var attrs = get_node_attributes_default(node);
15328
15031
  var allowed = allowed_attr_default(role);
15329
15032
  if (Array.isArray(options[role])) {
15330
15033
  allowed = unique_array_default(options[role].concat(allowed));
15331
15034
  }
15332
15035
  if (role && allowed) {
15333
15036
  for (var _i13 = 0; _i13 < attrs.length; _i13++) {
15334
- var attrName = attrs[_i13];
15037
+ var attr = attrs[_i13];
15038
+ var attrName = attr.name;
15335
15039
  if (validate_attr_default(attrName) && !allowed.includes(attrName)) {
15336
- invalid.push(attrName + '="' + virtualNode.attr(attrName) + '"');
15040
+ invalid.push(attrName + '="' + attr.nodeValue + '"');
15337
15041
  }
15338
15042
  }
15339
15043
  }
@@ -15368,11 +15072,6 @@
15368
15072
  options = Array.isArray(options) ? options : [];
15369
15073
  var attr = node.getAttribute('aria-errormessage');
15370
15074
  var hasAttr = node.hasAttribute('aria-errormessage');
15371
- var invaid = node.getAttribute('aria-invalid');
15372
- var hasInvallid = node.hasAttribute('aria-invalid');
15373
- if (!hasInvallid || invaid === 'false') {
15374
- return true;
15375
- }
15376
15075
  var doc = get_root_node_default2(node);
15377
15076
  function validateAttrValue2(attr2) {
15378
15077
  if (attr2.trim() === '') {
@@ -15395,31 +15094,6 @@
15395
15094
  return virtualNode.attr('aria-hidden') !== 'true';
15396
15095
  }
15397
15096
  var aria_hidden_body_evaluate_default = ariaHiddenBodyEvaluate;
15398
- function ariaProhibitedAttrEvaluate(node, options, virtualNode) {
15399
- var prohibited = [];
15400
- var role = get_role_default(virtualNode);
15401
- var attrs = virtualNode.attrNames;
15402
- var prohibitedAttrs = role ? standards_default.ariaRoles[role].prohibitedAttrs : [ 'aria-label', 'aria-labelledby' ];
15403
- if (!prohibitedAttrs) {
15404
- return false;
15405
- }
15406
- for (var _i14 = 0; _i14 < attrs.length; _i14++) {
15407
- var attrName = attrs[_i14];
15408
- var attrValue = sanitize_default(virtualNode.attr(attrName));
15409
- if (prohibitedAttrs.includes(attrName) && attrValue !== '') {
15410
- prohibited.push(attrName);
15411
- }
15412
- }
15413
- if (prohibited.length) {
15414
- this.data(prohibited);
15415
- if (!role && sanitize_default(subtree_text_default(virtualNode)) !== '') {
15416
- return void 0;
15417
- }
15418
- return true;
15419
- }
15420
- return false;
15421
- }
15422
- var aria_prohibited_attr_evaluate_default = ariaProhibitedAttrEvaluate;
15423
15097
  var standards_exports = {};
15424
15098
  __export(standards_exports, {
15425
15099
  getAriaRolesByType: function getAriaRolesByType() {
@@ -15443,20 +15117,19 @@
15443
15117
  });
15444
15118
  function ariaRequiredAttrEvaluate(node) {
15445
15119
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
15446
- var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
15120
+ var vNode = get_node_from_tree_default(node);
15447
15121
  var missing = [];
15448
- var attrs = virtualNode.attrNames;
15449
- if (attrs.length) {
15450
- var role = get_explicit_role_default(virtualNode);
15122
+ if (node.hasAttributes()) {
15123
+ var role = node.getAttribute('role');
15451
15124
  var required = required_attr_default(role);
15452
- var elmSpec = get_element_spec_default(virtualNode);
15125
+ var elmSpec = get_element_spec_default(vNode);
15453
15126
  if (Array.isArray(options[role])) {
15454
15127
  required = unique_array_default(options[role], required);
15455
15128
  }
15456
15129
  if (role && required) {
15457
- for (var _i15 = 0, l = required.length; _i15 < l; _i15++) {
15458
- var attr = required[_i15];
15459
- if (!virtualNode.attr(attr) && !(elmSpec.implicitAttrs && typeof elmSpec.implicitAttrs[attr] !== 'undefined')) {
15130
+ for (var _i14 = 0, l = required.length; _i14 < l; _i14++) {
15131
+ var attr = required[_i14];
15132
+ if (!node.getAttribute(attr) && !(elmSpec.implicitAttrs && typeof elmSpec.implicitAttrs[attr] !== 'undefined')) {
15460
15133
  missing.push(attr);
15461
15134
  }
15462
15135
  }
@@ -15469,24 +15142,17 @@
15469
15142
  return true;
15470
15143
  }
15471
15144
  var aria_required_attr_evaluate_default = ariaRequiredAttrEvaluate;
15472
- function getOwnedRoles(virtualNode, required) {
15145
+ function getOwnedRoles(virtualNode) {
15473
15146
  var ownedRoles = [];
15474
15147
  var ownedElements = get_owned_virtual_default(virtualNode);
15475
- var _loop4 = function _loop4(_i16) {
15476
- var ownedElement = ownedElements[_i16];
15477
- var role = get_role_default(ownedElement, {
15478
- noPresentational: true
15479
- });
15480
- if (!role || [ 'group', 'rowgroup' ].includes(role) && required.some(function(requiredRole) {
15481
- return requiredRole === role;
15482
- })) {
15148
+ for (var _i15 = 0; _i15 < ownedElements.length; _i15++) {
15149
+ var ownedElement = ownedElements[_i15];
15150
+ var role = get_role_default(ownedElement);
15151
+ if ([ 'presentation', 'none', null ].includes(role)) {
15483
15152
  ownedElements.push.apply(ownedElements, _toConsumableArray(ownedElement.children));
15484
15153
  } else if (role) {
15485
15154
  ownedRoles.push(role);
15486
15155
  }
15487
- };
15488
- for (var _i16 = 0; _i16 < ownedElements.length; _i16++) {
15489
- _loop4(_i16);
15490
15156
  }
15491
15157
  return ownedRoles;
15492
15158
  }
@@ -15507,8 +15173,8 @@
15507
15173
  return !expandedChildRoles.includes(requiredRole) || expanded && requiredRole === popupRole;
15508
15174
  });
15509
15175
  }
15510
- for (var _i17 = 0; _i17 < ownedRoles.length; _i17++) {
15511
- var ownedRole = ownedRoles[_i17];
15176
+ for (var _i16 = 0; _i16 < ownedRoles.length; _i16++) {
15177
+ var ownedRole = ownedRoles[_i16];
15512
15178
  if (required.includes(ownedRole)) {
15513
15179
  required = required.filter(function(requiredRole) {
15514
15180
  return requiredRole !== ownedRole;
@@ -15529,10 +15195,10 @@
15529
15195
  dpub: true
15530
15196
  });
15531
15197
  var required = required_owned_default(role);
15532
- if (required === null) {
15198
+ if (!required) {
15533
15199
  return true;
15534
15200
  }
15535
- var ownedRoles = getOwnedRoles(virtualNode, required);
15201
+ var ownedRoles = getOwnedRoles(virtualNode);
15536
15202
  var missing = missingRequiredChildren(virtualNode, role, required, ownedRoles);
15537
15203
  if (!missing) {
15538
15204
  return true;
@@ -15555,10 +15221,6 @@
15555
15221
  var vNode = includeElement ? virtualNode : virtualNode.parent;
15556
15222
  while (vNode) {
15557
15223
  var parentRole = get_role_default(vNode);
15558
- if (reqContext.includes('group') && parentRole === 'group') {
15559
- vNode = vNode.parent;
15560
- continue;
15561
- }
15562
15224
  if (reqContext.includes(parentRole)) {
15563
15225
  return null;
15564
15226
  } else if (parentRole && ![ 'presentation', 'none' ].includes(parentRole)) {
@@ -15614,8 +15276,9 @@
15614
15276
  return false;
15615
15277
  }
15616
15278
  var aria_roledescription_evaluate_default = ariaRoledescriptionEvaluate;
15617
- function ariaUnsupportedAttrEvaluate(node, options, virtualNode) {
15618
- var unsupportedAttrs = virtualNode.attrNames.filter(function(name) {
15279
+ function ariaUnsupportedAttrEvaluate(node) {
15280
+ var unsupportedAttrs = Array.from(get_node_attributes_default(node)).filter(function(_ref39) {
15281
+ var name = _ref39.name;
15619
15282
  var attribute = standards_default.ariaAttrs[name];
15620
15283
  if (!validate_attr_default(name)) {
15621
15284
  return false;
@@ -15625,6 +15288,8 @@
15625
15288
  return !!unsupported4;
15626
15289
  }
15627
15290
  return !matches_default3(node, unsupported4.exceptions);
15291
+ }).map(function(candidate) {
15292
+ return candidate.name.toString();
15628
15293
  });
15629
15294
  if (unsupportedAttrs.length) {
15630
15295
  this.data(unsupportedAttrs);
@@ -15635,11 +15300,11 @@
15635
15300
  var aria_unsupported_attr_evaluate_default = ariaUnsupportedAttrEvaluate;
15636
15301
  function ariaValidAttrEvaluate(node, options) {
15637
15302
  options = Array.isArray(options.value) ? options.value : [];
15638
- var invalid = [], aria42 = /^aria-/;
15303
+ var invalid = [], aria38 = /^aria-/;
15639
15304
  var attr, attrs = get_node_attributes_default(node);
15640
15305
  for (var i = 0, l = attrs.length; i < l; i++) {
15641
15306
  attr = attrs[i].name;
15642
- if (options.indexOf(attr) === -1 && aria42.test(attr) && !validate_attr_default(attr)) {
15307
+ if (options.indexOf(attr) === -1 && aria38.test(attr) && !validate_attr_default(attr)) {
15643
15308
  invalid.push(attr);
15644
15309
  }
15645
15310
  }
@@ -15655,7 +15320,7 @@
15655
15320
  var needsReview = '';
15656
15321
  var messageKey = '';
15657
15322
  var invalid = [];
15658
- var aria42 = /^aria-/;
15323
+ var aria38 = /^aria-/;
15659
15324
  var attrs = get_node_attributes_default(node);
15660
15325
  var skipAttrs = [ 'aria-errormessage' ];
15661
15326
  var preChecks = {
@@ -15678,18 +15343,12 @@
15678
15343
  messageKey = 'noId';
15679
15344
  }
15680
15345
  return;
15681
- },
15682
- 'aria-labelledby': function ariaLabelledby() {
15683
- if (!validate_attr_value_default(node, 'aria-labelledby')) {
15684
- needsReview = 'aria-labelledby="'.concat(node.getAttribute('aria-labelledby'), '"');
15685
- messageKey = 'noId';
15686
- }
15687
15346
  }
15688
15347
  };
15689
- for (var _i18 = 0, l = attrs.length; _i18 < l; _i18++) {
15690
- var attr = attrs[_i18];
15348
+ for (var _i17 = 0, l = attrs.length; _i17 < l; _i17++) {
15349
+ var attr = attrs[_i17];
15691
15350
  var attrName = attr.name;
15692
- if (!skipAttrs.includes(attrName) && options.indexOf(attrName) === -1 && aria42.test(attrName) && (preChecks[attrName] ? preChecks[attrName]() : true) && !validate_attr_value_default(node, attrName)) {
15351
+ if (!skipAttrs.includes(attrName) && options.indexOf(attrName) === -1 && aria38.test(attrName) && (preChecks[attrName] ? preChecks[attrName]() : true) && !validate_attr_value_default(node, attrName)) {
15693
15352
  invalid.push(''.concat(attrName, '="').concat(attr.nodeValue, '"'));
15694
15353
  }
15695
15354
  }
@@ -15751,28 +15410,26 @@
15751
15410
  noImplicit: true
15752
15411
  });
15753
15412
  this.data(role);
15754
- var label5;
15755
- var accText;
15756
15413
  try {
15757
- label5 = sanitize_default(label_text_default(virtualNode)).toLowerCase();
15758
- accText = sanitize_default(accessible_text_virtual_default(virtualNode)).toLowerCase();
15759
- } catch (e) {
15760
- return void 0;
15761
- }
15762
- if (!accText && !label5) {
15414
+ var label5 = sanitize_default(label_text_default(virtualNode)).toLowerCase();
15415
+ var accText = sanitize_default(accessible_text_virtual_default(virtualNode)).toLowerCase();
15416
+ if (!accText && !label5) {
15417
+ return false;
15418
+ }
15419
+ if (!accText && label5) {
15420
+ return void 0;
15421
+ }
15422
+ if (!accText.includes(label5)) {
15423
+ return void 0;
15424
+ }
15763
15425
  return false;
15764
- }
15765
- if (!accText && label5) {
15766
- return void 0;
15767
- }
15768
- if (!accText.includes(label5)) {
15426
+ } catch (e) {
15769
15427
  return void 0;
15770
15428
  }
15771
- return false;
15772
15429
  }
15773
15430
  var no_implicit_explicit_label_evaluate_default = noImplicitExplicitLabelEvaluate;
15774
- function unsupportedroleEvaluate(node, options, virtualNode) {
15775
- return is_unsupported_role_default(get_role_default(virtualNode));
15431
+ function unsupportedroleEvaluate(node) {
15432
+ return is_unsupported_role_default(get_role_default(node));
15776
15433
  }
15777
15434
  var unsupportedrole_evaluate_default = unsupportedroleEvaluate;
15778
15435
  var VALID_TAG_NAMES_FOR_SCROLLABLE_REGIONS = {
@@ -15862,9 +15519,7 @@
15862
15519
  var predicate = headerType === 'row' ? is_row_header_default : is_column_header_default;
15863
15520
  var startCell = tableGrid[position.y][position.x];
15864
15521
  var colspan = startCell.colSpan - 1;
15865
- var rowspanAttr = startCell.getAttribute('rowspan');
15866
- var rowspanValue = parseInt(rowspanAttr) === 0 || startCell.rowspan === 0 ? tableGrid.length : startCell.rowSpan;
15867
- var rowspan = rowspanValue - 1;
15522
+ var rowspan = startCell.rowSpan - 1;
15868
15523
  var rowStart = position.y + rowspan;
15869
15524
  var colStart = position.x + colspan;
15870
15525
  var rowEnd = headerType === 'row' ? position.y : 0;
@@ -16458,7 +16113,7 @@
16458
16113
  }
16459
16114
  var get_background_stack_default = getBackgroundStack;
16460
16115
  function getTextShadowColors(node) {
16461
- var _ref49 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, minRatio = _ref49.minRatio, maxRatio = _ref49.maxRatio;
16116
+ var _ref40 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, minRatio = _ref40.minRatio, maxRatio = _ref40.maxRatio;
16462
16117
  var style = window.getComputedStyle(node);
16463
16118
  var textShadow = style.getPropertyValue('text-shadow');
16464
16119
  if (textShadow === 'none') {
@@ -16469,8 +16124,8 @@
16469
16124
  assert_default(isNaN(fontSize) === false, 'Unable to determine font-size value '.concat(fontSizeStr));
16470
16125
  var shadowColors = [];
16471
16126
  var shadows = parseTextShadows(textShadow);
16472
- shadows.forEach(function(_ref50) {
16473
- var colorStr = _ref50.colorStr, pixels = _ref50.pixels;
16127
+ shadows.forEach(function(_ref41) {
16128
+ var colorStr = _ref41.colorStr, pixels = _ref41.pixels;
16474
16129
  colorStr = colorStr || style.getPropertyValue('color');
16475
16130
  var _pixels = _slicedToArray(pixels, 3), offsetY = _pixels[0], offsetX = _pixels[1], _pixels$ = _pixels[2], blurRadius = _pixels$ === void 0 ? 0 : _pixels$;
16476
16131
  if ((!minRatio || blurRadius >= fontSize * minRatio) && (!maxRatio || blurRadius < fontSize * maxRatio)) {
@@ -16520,8 +16175,8 @@
16520
16175
  }
16521
16176
  return shadows;
16522
16177
  }
16523
- function textShadowColor(_ref51) {
16524
- var colorStr = _ref51.colorStr, offsetX = _ref51.offsetX, offsetY = _ref51.offsetY, blurRadius = _ref51.blurRadius, fontSize = _ref51.fontSize;
16178
+ function textShadowColor(_ref42) {
16179
+ var colorStr = _ref42.colorStr, offsetX = _ref42.offsetX, offsetY = _ref42.offsetY, blurRadius = _ref42.blurRadius, fontSize = _ref42.fontSize;
16525
16180
  if (offsetX > blurRadius || offsetY > blurRadius) {
16526
16181
  return new color_default(0, 0, 0, 0);
16527
16182
  }
@@ -16675,7 +16330,7 @@
16675
16330
  }
16676
16331
  var ptSize = Math.ceil(fontSize * 72) / 96;
16677
16332
  var isSmallFont = bold && ptSize < boldTextPt || !bold && ptSize < largeTextPt;
16678
- var _ref52 = isSmallFont ? contrastRatio.normal : contrastRatio.large, expected = _ref52.expected, minThreshold = _ref52.minThreshold, maxThreshold = _ref52.maxThreshold;
16333
+ var _ref43 = isSmallFont ? contrastRatio.normal : contrastRatio.large, expected = _ref43.expected, minThreshold = _ref43.minThreshold, maxThreshold = _ref43.maxThreshold;
16679
16334
  var isValid = contrast > expected;
16680
16335
  var parentNode = node.parentElement;
16681
16336
  while (parentNode) {
@@ -16939,128 +16594,32 @@
16939
16594
  return elms.length <= 1;
16940
16595
  }
16941
16596
  var page_no_duplicate_evaluate_default = pageNoDuplicateEvaluate;
16942
- var joinStr = ' > ';
16943
- function getFramePath(ancestry, nodePath) {
16944
- ancestry = ancestry.slice(0, ancestry.length - 1);
16945
- if (nodePath) {
16946
- ancestry = ancestry.concat(nodePath);
16947
- }
16948
- return ancestry.join(joinStr);
16949
- }
16950
16597
  function headingOrderAfter(results) {
16951
16598
  if (results.length < 2) {
16952
16599
  return results;
16953
16600
  }
16954
- var headingOrder = results[0].data.headingOrder.map(function(heading) {
16955
- return _extends({}, heading, {
16956
- ancestry: getFramePath(results[0].node.ancestry, heading.ancestry)
16957
- });
16958
- });
16959
- var nestedResults = results.filter(function(result) {
16960
- return result.data && result.data.headingOrder && result.node._fromFrame;
16961
- });
16962
- nestedResults.forEach(function(result) {
16963
- result.data.headingOrder = result.data.headingOrder.map(function(heading) {
16964
- return _extends({}, heading, {
16965
- ancestry: getFramePath(result.node.ancestry, heading.ancestry)
16966
- });
16967
- });
16968
- });
16969
- function getFrameIndex(result) {
16970
- var path = getFramePath(result.node.ancestry);
16971
- var heading = headingOrder.find(function(heading2) {
16972
- return heading2.ancestry === path;
16973
- });
16974
- return headingOrder.indexOf(heading);
16975
- }
16976
- function replaceFrameWithResults(index, result) {
16977
- var _headingOrder;
16978
- (_headingOrder = headingOrder).splice.apply(_headingOrder, [ index, 1 ].concat(_toConsumableArray(result.data.headingOrder)));
16979
- }
16980
- var replaced = false;
16981
- while (nestedResults.length) {
16982
- for (var _i19 = 0; _i19 < nestedResults.length; ) {
16983
- var nestedResult = nestedResults[_i19];
16984
- var index = getFrameIndex(nestedResult);
16985
- if (index !== -1) {
16986
- replaceFrameWithResults(index, nestedResult);
16987
- replaced = true;
16988
- nestedResults.splice(_i19, 1);
16989
- } else {
16990
- _i19++;
16991
- }
16992
- }
16993
- if (!replaced) {
16994
- throw new Error('Unable to find parent iframe of heading-order results');
16995
- }
16996
- }
16997
- results.forEach(function(result) {
16998
- var path = result.node.ancestry.join(joinStr);
16999
- var heading = headingOrder.find(function(heading2) {
17000
- return heading2.ancestry === path;
17001
- });
17002
- var index = headingOrder.indexOf(heading);
17003
- headingOrder.splice(index, 1, {
17004
- level: headingOrder[index].level,
17005
- result: result
17006
- });
17007
- });
17008
- headingOrder = headingOrder.filter(function(heading) {
17009
- return heading.level > 0;
17010
- });
17011
- var _loop5 = function _loop5(_i20) {
17012
- var result = results[_i20];
17013
- var heading = headingOrder.find(function(heading2) {
17014
- return heading2.result === result;
17015
- });
17016
- var index = headingOrder.indexOf(heading);
17017
- var currLevel = headingOrder[index].level;
17018
- var prevLevel = headingOrder[index - 1].level;
17019
- if (currLevel - prevLevel > 1) {
17020
- result.result = false;
16601
+ var prevLevel = results[0].data;
16602
+ for (var i = 1; i < results.length; i++) {
16603
+ if (results[i].result && results[i].data > prevLevel + 1) {
16604
+ results[i].result = false;
17021
16605
  }
17022
- };
17023
- for (var _i20 = 1; _i20 < results.length; _i20++) {
17024
- _loop5(_i20);
16606
+ prevLevel = results[i].data;
17025
16607
  }
17026
16608
  return results;
17027
16609
  }
17028
16610
  var heading_order_after_default = headingOrderAfter;
17029
- function getLevel(vNode) {
17030
- var role = vNode.attr('role');
17031
- if (role && role.includes('heading')) {
17032
- var ariaHeadingLevel = vNode.attr('aria-level');
17033
- var level = parseInt(ariaHeadingLevel, 10);
17034
- if (isNaN(level) || level < 1 || level > 6) {
17035
- return 2;
17036
- }
17037
- return level;
16611
+ function headingOrderEvaluate(node, options, virtualNode) {
16612
+ var ariaHeadingLevel = virtualNode.attr('aria-level');
16613
+ var nodeName2 = virtualNode.props.nodeName;
16614
+ if (ariaHeadingLevel !== null) {
16615
+ this.data(parseInt(ariaHeadingLevel, 10));
16616
+ return true;
17038
16617
  }
17039
- var headingLevel = vNode.props.nodeName.match(/h(\d)/);
16618
+ var headingLevel = nodeName2.toUpperCase().match(/H(\d)/);
17040
16619
  if (headingLevel) {
17041
- return parseInt(headingLevel[1], 10);
17042
- }
17043
- return -1;
17044
- }
17045
- function headingOrderEvaluate() {
17046
- var headingOrder = cache_default.get('headingOrder');
17047
- if (headingOrder) {
16620
+ this.data(parseInt(headingLevel[1], 10));
17048
16621
  return true;
17049
16622
  }
17050
- var selector = 'h1, h2, h3, h4, h5, h6, [role=heading], iframe, frame';
17051
- var vNodes = query_selector_all_filter_default(axe._tree[0], selector, function(vNode) {
17052
- return is_visible_default(vNode.actualNode, true);
17053
- });
17054
- headingOrder = vNodes.map(function(vNode) {
17055
- return {
17056
- ancestry: [ _getAncestry(vNode.actualNode) ],
17057
- level: getLevel(vNode)
17058
- };
17059
- });
17060
- this.data({
17061
- headingOrder: headingOrder
17062
- });
17063
- cache_default.set('headingOrder', vNodes);
17064
16623
  return true;
17065
16624
  }
17066
16625
  var heading_order_evaluate_default = headingOrderEvaluate;
@@ -17090,25 +16649,25 @@
17090
16649
  if (results.length < 2) {
17091
16650
  return results;
17092
16651
  }
17093
- var incompleteResults = results.filter(function(_ref53) {
17094
- var result = _ref53.result;
16652
+ var incompleteResults = results.filter(function(_ref44) {
16653
+ var result = _ref44.result;
17095
16654
  return result !== void 0;
17096
16655
  });
17097
16656
  var uniqueResults = [];
17098
16657
  var nameMap = {};
17099
- var _loop6 = function _loop6(index) {
16658
+ var _loop4 = function _loop4(index) {
17100
16659
  var _currentResult$relate;
17101
16660
  var currentResult = incompleteResults[index];
17102
16661
  var _currentResult$data = currentResult.data, name = _currentResult$data.name, urlProps = _currentResult$data.urlProps;
17103
16662
  if (nameMap[name]) {
17104
16663
  return 'continue';
17105
16664
  }
17106
- var sameNameResults = incompleteResults.filter(function(_ref54, resultNum) {
17107
- var data2 = _ref54.data;
16665
+ var sameNameResults = incompleteResults.filter(function(_ref45, resultNum) {
16666
+ var data2 = _ref45.data;
17108
16667
  return data2.name === name && resultNum !== index;
17109
16668
  });
17110
- var isSameUrl = sameNameResults.every(function(_ref55) {
17111
- var data2 = _ref55.data;
16669
+ var isSameUrl = sameNameResults.every(function(_ref46) {
16670
+ var data2 = _ref46.data;
17112
16671
  return isIdenticalObject(data2.urlProps, urlProps);
17113
16672
  });
17114
16673
  if (sameNameResults.length && !isSameUrl) {
@@ -17122,7 +16681,7 @@
17122
16681
  uniqueResults.push(currentResult);
17123
16682
  };
17124
16683
  for (var index = 0; index < incompleteResults.length; index++) {
17125
- var _ret2 = _loop6(index);
16684
+ var _ret2 = _loop4(index);
17126
16685
  if (_ret2 === 'continue') {
17127
16686
  continue;
17128
16687
  }
@@ -17269,16 +16828,16 @@
17269
16828
  var outerText = elm.textContent.trim();
17270
16829
  var innerText = outerText;
17271
16830
  while (innerText === outerText && nextNode !== void 0) {
17272
- var _i21 = -1;
16831
+ var _i18 = -1;
17273
16832
  elm = nextNode;
17274
16833
  if (elm.children.length === 0) {
17275
16834
  return elm;
17276
16835
  }
17277
16836
  do {
17278
- _i21++;
17279
- innerText = elm.children[_i21].textContent.trim();
17280
- } while (innerText === '' && _i21 + 1 < elm.children.length);
17281
- nextNode = elm.children[_i21];
16837
+ _i18++;
16838
+ innerText = elm.children[_i18].textContent.trim();
16839
+ } while (innerText === '' && _i18 + 1 < elm.children.length);
16840
+ nextNode = elm.children[_i18];
17282
16841
  }
17283
16842
  return elm;
17284
16843
  }
@@ -17351,8 +16910,8 @@
17351
16910
  } else if (node !== document.body && has_content_default(node, true)) {
17352
16911
  return [ virtualNode ];
17353
16912
  } else {
17354
- return virtualNode.children.filter(function(_ref56) {
17355
- var actualNode = _ref56.actualNode;
16913
+ return virtualNode.children.filter(function(_ref47) {
16914
+ var actualNode = _ref47.actualNode;
17356
16915
  return actualNode.nodeType === 1;
17357
16916
  }).map(function(vNode) {
17358
16917
  return findRegionlessElms(vNode, options);
@@ -17497,50 +17056,47 @@
17497
17056
  }
17498
17057
  var presentational_role_evaluate_default = presentationalRoleEvaluate;
17499
17058
  function svgNonEmptyTitleEvaluate(node, options, virtualNode) {
17500
- if (!virtualNode.children) {
17501
- return void 0;
17502
- }
17503
- var titleNode = virtualNode.children.find(function(_ref57) {
17504
- var props = _ref57.props;
17505
- return props.nodeName === 'title';
17506
- });
17507
- if (!titleNode) {
17508
- this.data({
17509
- messageKey: 'noTitle'
17510
- });
17511
- return false;
17512
- }
17513
17059
  try {
17060
+ var titleNode = virtualNode.children.find(function(_ref48) {
17061
+ var props = _ref48.props;
17062
+ return props.nodeName === 'title';
17063
+ });
17064
+ if (!titleNode) {
17065
+ this.data({
17066
+ messageKey: 'noTitle'
17067
+ });
17068
+ return false;
17069
+ }
17514
17070
  if (visible_virtual_default(titleNode) === '') {
17515
17071
  this.data({
17516
17072
  messageKey: 'emptyTitle'
17517
17073
  });
17518
17074
  return false;
17519
17075
  }
17076
+ return true;
17520
17077
  } catch (e) {
17521
17078
  return void 0;
17522
17079
  }
17523
- return true;
17524
17080
  }
17525
17081
  var svg_non_empty_title_evaluate_default = svgNonEmptyTitleEvaluate;
17526
17082
  function cssOrientationLockEvaluate(node, options, virtualNode, context3) {
17527
- var _ref58 = context3 || {}, _ref58$cssom = _ref58.cssom, cssom = _ref58$cssom === void 0 ? void 0 : _ref58$cssom;
17528
- var _ref59 = options || {}, _ref59$degreeThreshol = _ref59.degreeThreshold, degreeThreshold = _ref59$degreeThreshol === void 0 ? 0 : _ref59$degreeThreshol;
17083
+ var _ref49 = context3 || {}, _ref49$cssom = _ref49.cssom, cssom = _ref49$cssom === void 0 ? void 0 : _ref49$cssom;
17084
+ var _ref50 = options || {}, _ref50$degreeThreshol = _ref50.degreeThreshold, degreeThreshold = _ref50$degreeThreshol === void 0 ? 0 : _ref50$degreeThreshol;
17529
17085
  if (!cssom || !cssom.length) {
17530
17086
  return void 0;
17531
17087
  }
17532
17088
  var isLocked = false;
17533
17089
  var relatedElements = [];
17534
17090
  var rulesGroupByDocumentFragment = groupCssomByDocument(cssom);
17535
- var _loop7 = function _loop7() {
17536
- var key = _Object$keys2[_i22];
17091
+ var _loop5 = function _loop5() {
17092
+ var key = _Object$keys2[_i19];
17537
17093
  var _rulesGroupByDocument = rulesGroupByDocumentFragment[key], root = _rulesGroupByDocument.root, rules = _rulesGroupByDocument.rules;
17538
17094
  var orientationRules = rules.filter(isMediaRuleWithOrientation);
17539
17095
  if (!orientationRules.length) {
17540
17096
  return 'continue';
17541
17097
  }
17542
- orientationRules.forEach(function(_ref60) {
17543
- var cssRules = _ref60.cssRules;
17098
+ orientationRules.forEach(function(_ref51) {
17099
+ var cssRules = _ref51.cssRules;
17544
17100
  Array.from(cssRules).forEach(function(cssRule) {
17545
17101
  var locked = getIsOrientationLocked(cssRule);
17546
17102
  if (locked && cssRule.selectorText.toUpperCase() !== 'HTML') {
@@ -17551,8 +17107,8 @@
17551
17107
  });
17552
17108
  });
17553
17109
  };
17554
- for (var _i22 = 0, _Object$keys2 = Object.keys(rulesGroupByDocumentFragment); _i22 < _Object$keys2.length; _i22++) {
17555
- var _ret3 = _loop7();
17110
+ for (var _i19 = 0, _Object$keys2 = Object.keys(rulesGroupByDocumentFragment); _i19 < _Object$keys2.length; _i19++) {
17111
+ var _ret3 = _loop5();
17556
17112
  if (_ret3 === 'continue') {
17557
17113
  continue;
17558
17114
  }
@@ -17565,8 +17121,8 @@
17565
17121
  }
17566
17122
  return false;
17567
17123
  function groupCssomByDocument(cssObjectModel) {
17568
- return cssObjectModel.reduce(function(out, _ref61) {
17569
- var sheet = _ref61.sheet, root = _ref61.root, shadowId = _ref61.shadowId;
17124
+ return cssObjectModel.reduce(function(out, _ref52) {
17125
+ var sheet = _ref52.sheet, root = _ref52.root, shadowId = _ref52.shadowId;
17570
17126
  var key = shadowId ? shadowId : 'topDocument';
17571
17127
  if (!out[key]) {
17572
17128
  out[key] = {
@@ -17582,15 +17138,15 @@
17582
17138
  return out;
17583
17139
  }, {});
17584
17140
  }
17585
- function isMediaRuleWithOrientation(_ref62) {
17586
- var type = _ref62.type, cssText = _ref62.cssText;
17141
+ function isMediaRuleWithOrientation(_ref53) {
17142
+ var type = _ref53.type, cssText = _ref53.cssText;
17587
17143
  if (type !== 4) {
17588
17144
  return false;
17589
17145
  }
17590
17146
  return /orientation:\s*landscape/i.test(cssText) || /orientation:\s*portrait/i.test(cssText);
17591
17147
  }
17592
- function getIsOrientationLocked(_ref63) {
17593
- var selectorText = _ref63.selectorText, style = _ref63.style;
17148
+ function getIsOrientationLocked(_ref54) {
17149
+ var selectorText = _ref54.selectorText, style = _ref54.style;
17594
17150
  if (!selectorText || style.length <= 0) {
17595
17151
  return false;
17596
17152
  }
@@ -17598,11 +17154,11 @@
17598
17154
  if (!transformStyle) {
17599
17155
  return false;
17600
17156
  }
17601
- var matches14 = transformStyle.match(/(rotate|rotateZ|rotate3d|matrix|matrix3d)\(([^)]+)\)(?!.*(rotate|rotateZ|rotate3d|matrix|matrix3d))/);
17602
- if (!matches14) {
17157
+ var matches13 = transformStyle.match(/(rotate|rotateZ|rotate3d|matrix|matrix3d)\(([^)]+)\)(?!.*(rotate|rotateZ|rotate3d|matrix|matrix3d))/);
17158
+ if (!matches13) {
17603
17159
  return false;
17604
17160
  }
17605
- var _matches = _slicedToArray(matches14, 3), transformFn = _matches[1], transformFnValue = _matches[2];
17161
+ var _matches = _slicedToArray(matches13, 3), transformFn = _matches[1], transformFnValue = _matches[2];
17606
17162
  var degrees = getRotationInDegrees(transformFn, transformFnValue);
17607
17163
  if (!degrees) {
17608
17164
  return false;
@@ -17637,7 +17193,7 @@
17637
17193
  }
17638
17194
  }
17639
17195
  function getAngleInDegrees(angleWithUnit) {
17640
- var _ref64 = angleWithUnit.match(/(deg|grad|rad|turn)/) || [], _ref65 = _slicedToArray(_ref64, 1), unit = _ref65[0];
17196
+ var _ref55 = angleWithUnit.match(/(deg|grad|rad|turn)/) || [], _ref56 = _slicedToArray(_ref55, 1), unit = _ref56[0];
17641
17197
  if (!unit) {
17642
17198
  return;
17643
17199
  }
@@ -17685,9 +17241,9 @@
17685
17241
  }
17686
17242
  }
17687
17243
  var css_orientation_lock_evaluate_default = cssOrientationLockEvaluate;
17688
- function metaViewportScaleEvaluate(node, options, virtualNode) {
17689
- var _ref66 = options || {}, _ref66$scaleMinimum = _ref66.scaleMinimum, scaleMinimum = _ref66$scaleMinimum === void 0 ? 2 : _ref66$scaleMinimum, _ref66$lowerBound = _ref66.lowerBound, lowerBound = _ref66$lowerBound === void 0 ? false : _ref66$lowerBound;
17690
- var content = virtualNode.attr('content') || '';
17244
+ function metaViewportScaleEvaluate(node, options) {
17245
+ var _ref57 = options || {}, _ref57$scaleMinimum = _ref57.scaleMinimum, scaleMinimum = _ref57$scaleMinimum === void 0 ? 2 : _ref57$scaleMinimum, _ref57$lowerBound = _ref57.lowerBound, lowerBound = _ref57$lowerBound === void 0 ? false : _ref57$lowerBound;
17246
+ var content = node.getAttribute('content') || '';
17691
17247
  if (!content) {
17692
17248
  return true;
17693
17249
  }
@@ -17797,8 +17353,8 @@
17797
17353
  if (!tabbableElements || !tabbableElements.length) {
17798
17354
  return true;
17799
17355
  }
17800
- var relatedNodes = tabbableElements.reduce(function(out, _ref67) {
17801
- var el = _ref67.actualNode;
17356
+ var relatedNodes = tabbableElements.reduce(function(out, _ref58) {
17357
+ var el = _ref58.actualNode;
17802
17358
  var nodeName2 = el.nodeName.toUpperCase();
17803
17359
  if (elementsThatCanBeDisabled.includes(nodeName2)) {
17804
17360
  out.push(el);
@@ -17837,8 +17393,8 @@
17837
17393
  }
17838
17394
  var focusable_element_evaluate_default = focusableElementEvaluate;
17839
17395
  function focusableModalOpenEvaluate(node, options, virtualNode) {
17840
- var tabbableElements = virtualNode.tabbableElements.map(function(_ref68) {
17841
- var actualNode = _ref68.actualNode;
17396
+ var tabbableElements = virtualNode.tabbableElements.map(function(_ref59) {
17397
+ var actualNode = _ref59.actualNode;
17842
17398
  return actualNode;
17843
17399
  });
17844
17400
  if (!tabbableElements || !tabbableElements.length) {
@@ -17870,8 +17426,8 @@
17870
17426
  if (!tabbableElements || !tabbableElements.length) {
17871
17427
  return true;
17872
17428
  }
17873
- var relatedNodes = tabbableElements.reduce(function(out, _ref69) {
17874
- var el = _ref69.actualNode;
17429
+ var relatedNodes = tabbableElements.reduce(function(out, _ref60) {
17430
+ var el = _ref60.actualNode;
17875
17431
  var nodeName2 = el.nodeName.toUpperCase();
17876
17432
  if (!elementsThatCanBeDisabled.includes(nodeName2)) {
17877
17433
  out.push(el);
@@ -17888,16 +17444,15 @@
17888
17444
  function landmarkIsTopLevelEvaluate(node) {
17889
17445
  var landmarks = get_aria_roles_by_type_default('landmark');
17890
17446
  var parent = get_composed_parent_default(node);
17891
- var nodeRole = get_role_default(node);
17892
17447
  this.data({
17893
- role: nodeRole
17448
+ role: node.getAttribute('role') || implicit_role_default(node)
17894
17449
  });
17895
17450
  while (parent) {
17896
17451
  var role = parent.getAttribute('role');
17897
17452
  if (!role && parent.nodeName.toUpperCase() !== 'FORM') {
17898
17453
  role = implicit_role_default(parent);
17899
17454
  }
17900
- if (role && landmarks.includes(role) && !(role === 'main' && nodeRole === 'complementary')) {
17455
+ if (role && landmarks.includes(role)) {
17901
17456
  return false;
17902
17457
  }
17903
17458
  parent = get_composed_parent_default(parent);
@@ -17905,33 +17460,6 @@
17905
17460
  return true;
17906
17461
  }
17907
17462
  var landmark_is_top_level_evaluate_default = landmarkIsTopLevelEvaluate;
17908
- function focusableDescendants(vNode) {
17909
- if (is_focusable_default(vNode)) {
17910
- return true;
17911
- }
17912
- if (!vNode.children) {
17913
- if (vNode.props.nodeType === 1) {
17914
- throw new Error('Cannot determine children');
17915
- }
17916
- return false;
17917
- }
17918
- return vNode.children.some(function(child) {
17919
- return focusableDescendants(child);
17920
- });
17921
- }
17922
- function noFocusbleContentEvaluate(node, options, virtualNode) {
17923
- if (!virtualNode.children) {
17924
- return void 0;
17925
- }
17926
- try {
17927
- return !virtualNode.children.some(function(child) {
17928
- return focusableDescendants(child);
17929
- });
17930
- } catch (e) {
17931
- return void 0;
17932
- }
17933
- }
17934
- var no_focusable_content_evaluate_default = noFocusbleContentEvaluate;
17935
17463
  function tabindexEvaluate(node, options, virtualNode) {
17936
17464
  var tabIndex = parseInt(virtualNode.attr('tabindex'), 10);
17937
17465
  return isNaN(tabIndex) ? true : tabIndex <= 0;
@@ -17959,15 +17487,12 @@
17959
17487
  }
17960
17488
  var duplicate_img_label_evaluate_default = duplicateImgLabelEvaluate;
17961
17489
  function explicitEvaluate(node, options, virtualNode) {
17962
- if (virtualNode.attr('id')) {
17963
- if (!virtualNode.actualNode) {
17964
- return void 0;
17965
- }
17966
- var root = get_root_node_default2(virtualNode.actualNode);
17967
- var id = escape_selector_default(virtualNode.attr('id'));
17968
- var labels = Array.from(root.querySelectorAll('label[for="'.concat(id, '"]')));
17969
- if (labels.length) {
17970
- try {
17490
+ try {
17491
+ if (virtualNode.attr('id')) {
17492
+ var root = get_root_node_default2(virtualNode.actualNode);
17493
+ var id = escape_selector_default(virtualNode.attr('id'));
17494
+ var labels = Array.from(root.querySelectorAll('label[for="'.concat(id, '"]')));
17495
+ if (labels.length) {
17971
17496
  return labels.some(function(label5) {
17972
17497
  if (!is_visible_default(label5)) {
17973
17498
  return true;
@@ -17975,12 +17500,12 @@
17975
17500
  return !!accessible_text_default(label5);
17976
17501
  }
17977
17502
  });
17978
- } catch (e) {
17979
- return void 0;
17980
17503
  }
17981
17504
  }
17505
+ return false;
17506
+ } catch (e) {
17507
+ return void 0;
17982
17508
  }
17983
- return false;
17984
17509
  }
17985
17510
  var explicit_evaluate_default = explicitEvaluate;
17986
17511
  function helpSameAsLabelEvaluate(node, options, virtualNode) {
@@ -18001,25 +17526,21 @@
18001
17526
  }
18002
17527
  var help_same_as_label_evaluate_default = helpSameAsLabelEvaluate;
18003
17528
  function hiddenExplicitLabelEvaluate(node, options, virtualNode) {
18004
- if (virtualNode.hasAttr('id')) {
18005
- if (!virtualNode.actualNode) {
18006
- return void 0;
18007
- }
18008
- var root = get_root_node_default2(node);
18009
- var id = escape_selector_default(node.getAttribute('id'));
18010
- var label5 = root.querySelector('label[for="'.concat(id, '"]'));
18011
- if (label5 && !is_visible_default(label5, true)) {
18012
- var name;
18013
- try {
18014
- name = accessible_text_virtual_default(virtualNode).trim();
18015
- } catch (e) {
18016
- return void 0;
17529
+ try {
17530
+ if (virtualNode.hasAttr('id')) {
17531
+ var root = get_root_node_default2(node);
17532
+ var id = escape_selector_default(node.getAttribute('id'));
17533
+ var label5 = root.querySelector('label[for="'.concat(id, '"]'));
17534
+ if (label5 && !is_visible_default(label5, true)) {
17535
+ var name = accessible_text_virtual_default(virtualNode).trim();
17536
+ var isNameEmpty = name === '';
17537
+ return isNameEmpty;
18017
17538
  }
18018
- var isNameEmpty = name === '';
18019
- return isNameEmpty;
18020
17539
  }
17540
+ return false;
17541
+ } catch (e) {
17542
+ return void 0;
18021
17543
  }
18022
- return false;
18023
17544
  }
18024
17545
  var hidden_explicit_label_evaluate_default = hiddenExplicitLabelEvaluate;
18025
17546
  function implicitEvaluate(node, options, virtualNode) {
@@ -18053,7 +17574,7 @@
18053
17574
  return sanitize_default(noUnicodeStr);
18054
17575
  }
18055
17576
  function labelContentNameMismatchEvaluate(node, options, virtualNode) {
18056
- var _ref70 = options || {}, pixelThreshold = _ref70.pixelThreshold, occuranceThreshold = _ref70.occuranceThreshold;
17577
+ var _ref61 = options || {}, pixelThreshold = _ref61.pixelThreshold, occuranceThreshold = _ref61.occuranceThreshold;
18057
17578
  var accText = accessible_text_default(node).toLowerCase();
18058
17579
  if (is_human_interpretable_default(accText) < 1) {
18059
17580
  return void 0;
@@ -18353,7 +17874,7 @@
18353
17874
  resolve(isViolation ? false : void 0);
18354
17875
  }, 0);
18355
17876
  }, timeout);
18356
- _respondable(node.contentWindow, 'axe.ping', null, void 0, function() {
17877
+ respondable_default(node.contentWindow, 'axe.ping', null, void 0, function() {
18357
17878
  if (timer !== null) {
18358
17879
  clearTimeout(timer);
18359
17880
  resolve(true);
@@ -18414,12 +17935,12 @@
18414
17935
  }
18415
17936
  }
18416
17937
  var no_autoplay_audio_evaluate_default = noAutoplayAudioEvaluate;
18417
- function ariaAllowedAttrMatches(node, virtualNode) {
18418
- var aria42 = /^aria-/;
18419
- var attrs = virtualNode.attrNames;
18420
- if (attrs.length) {
18421
- for (var _i23 = 0, l = attrs.length; _i23 < l; _i23++) {
18422
- if (aria42.test(attrs[_i23])) {
17938
+ function ariaAllowedAttrMatches(node) {
17939
+ var aria38 = /^aria-/;
17940
+ if (node.hasAttributes()) {
17941
+ var attrs = get_node_attributes_default(node);
17942
+ for (var _i20 = 0, l = attrs.length; _i20 < l; _i20++) {
17943
+ if (aria38.test(attrs[_i20].name)) {
18423
17944
  return true;
18424
17945
  }
18425
17946
  }
@@ -18435,11 +17956,11 @@
18435
17956
  }
18436
17957
  var aria_allowed_role_matches_default = ariaAllowedRoleMatches;
18437
17958
  function ariaHasAttrMatches(node) {
18438
- var aria42 = /^aria-/;
17959
+ var aria38 = /^aria-/;
18439
17960
  if (node.hasAttributes()) {
18440
17961
  var attrs = get_node_attributes_default(node);
18441
17962
  for (var i = 0, l = attrs.length; i < l; i++) {
18442
- if (aria42.test(attrs[i].name)) {
17963
+ if (aria38.test(attrs[i].name)) {
18443
17964
  return true;
18444
17965
  }
18445
17966
  }
@@ -18460,18 +17981,6 @@
18460
17981
  return shouldMatchElement(get_composed_parent_default(node));
18461
17982
  }
18462
17983
  var aria_hidden_focus_matches_default = ariaHiddenFocusMatches;
18463
- function ariaRequiredChildrenMatches(node, virtualNode) {
18464
- var role = get_explicit_role_default(virtualNode, {
18465
- dpub: true
18466
- });
18467
- return !!required_owned_default(role);
18468
- }
18469
- var aria_required_children_matches_default = ariaRequiredChildrenMatches;
18470
- function ariaRequiredParentMatches(node, virtualNode) {
18471
- var role = get_explicit_role_default(virtualNode);
18472
- return !!required_context_default(role);
18473
- }
18474
- var aria_required_parent_matches_default = ariaRequiredParentMatches;
18475
17984
  function autocompleteMatches(node, virtualNode) {
18476
17985
  var autocomplete2 = virtualNode.attr('autocomplete');
18477
17986
  if (!autocomplete2 || sanitize_default(autocomplete2) === '') {
@@ -18551,15 +18060,13 @@
18551
18060
  if (nodeName2 === 'label' || nodeParentLabel) {
18552
18061
  var labelNode = nodeParentLabel || node;
18553
18062
  var labelVirtual3 = nodeParentLabel ? get_node_from_tree_default(nodeParentLabel) : virtualNode;
18554
- if (labelNode.htmlFor) {
18555
- var doc = get_root_node_default2(labelNode);
18556
- var explicitControl = doc.getElementById(labelNode.htmlFor);
18557
- var explicitControlVirtual = explicitControl && get_node_from_tree_default(explicitControl);
18558
- if (explicitControlVirtual && is_disabled_default(explicitControlVirtual)) {
18559
- return false;
18560
- }
18063
+ var doc = get_root_node_default2(labelNode);
18064
+ var explicitControl = doc.getElementById(labelNode.htmlFor || '');
18065
+ var explicitControlVirtual = explicitControl && get_node_from_tree_default(explicitControl);
18066
+ if (explicitControlVirtual && is_disabled_default(explicitControlVirtual)) {
18067
+ return false;
18561
18068
  }
18562
- var query = 'input:not([type="hidden"],[type="image"],[type="button"],[type="submit"],[type="reset"]), select, textarea';
18069
+ var query = 'input:not([type="hidden"]):not([type="image"]):not([type="button"]):not([type="submit"]):not([type="reset"]), select, textarea';
18563
18070
  var implicitControl = query_selector_all_default(labelVirtual3, query)[0];
18564
18071
  if (implicitControl && is_disabled_default(implicitControl)) {
18565
18072
  return false;
@@ -18639,10 +18146,6 @@
18639
18146
  });
18640
18147
  }
18641
18148
  var duplicate_id_misc_matches_default = duplicateIdMiscMatches;
18642
- function frameFocusableContentMatches(node, virtualNode, context3) {
18643
- return !context3.initiator && !context3.focusable && context3.boundingClientRect.width * context3.boundingClientRect.height > 1;
18644
- }
18645
- var frame_focusable_content_matches_default = frameFocusableContentMatches;
18646
18149
  function frameTitleHasTextMatches(node) {
18647
18150
  var title = node.getAttribute('title');
18648
18151
  return !!sanitize_default(title);
@@ -18758,12 +18261,12 @@
18758
18261
  }
18759
18262
  var layout_table_matches_default = dataTableMatches2;
18760
18263
  function linkInTextBlockMatches(node) {
18761
- var text32 = sanitize_default(node.textContent);
18264
+ var text31 = sanitize_default(node.textContent);
18762
18265
  var role = node.getAttribute('role');
18763
18266
  if (role && role !== 'link') {
18764
18267
  return false;
18765
18268
  }
18766
- if (!text32) {
18269
+ if (!text31) {
18767
18270
  return false;
18768
18271
  }
18769
18272
  if (!is_visible_default(node, false)) {
@@ -18772,14 +18275,6 @@
18772
18275
  return is_in_text_block_default(node);
18773
18276
  }
18774
18277
  var link_in_text_block_matches_default = linkInTextBlockMatches;
18775
- function nestedInteractiveMatches(node, virtualNode) {
18776
- var role = get_role_default(virtualNode);
18777
- if (!role) {
18778
- return false;
18779
- }
18780
- return !!standards_default.ariaRoles[role].childrenPresentational;
18781
- }
18782
- var nested_interactive_matches_default = nestedInteractiveMatches;
18783
18278
  function noAutoplayAudioMatches(node) {
18784
18279
  if (!node.currentSrc) {
18785
18280
  return false;
@@ -18805,7 +18300,7 @@
18805
18300
  if (!role || [ 'none', 'presentation' ].includes(role)) {
18806
18301
  return true;
18807
18302
  }
18808
- var _ref71 = aria_roles_default[role] || {}, accessibleNameRequired = _ref71.accessibleNameRequired;
18303
+ var _ref62 = aria_roles_default[role] || {}, accessibleNameRequired = _ref62.accessibleNameRequired;
18809
18304
  if (accessibleNameRequired || is_focusable_default(virtualNode)) {
18810
18305
  return true;
18811
18306
  }
@@ -18827,8 +18322,8 @@
18827
18322
  return !node.getAttribute('role');
18828
18323
  }
18829
18324
  var no_role_matches_default = noRoleMatches;
18830
- function notHtmlMatches(node, virtualNode) {
18831
- return virtualNode.props.nodeName !== 'html';
18325
+ function notHtmlMatches(node) {
18326
+ return node.nodeName.toLowerCase() !== 'html';
18832
18327
  }
18833
18328
  var not_html_matches_default = notHtmlMatches;
18834
18329
  function pAsHeadingMatches(node) {
@@ -18896,7 +18391,6 @@
18896
18391
  'aria-allowed-role-evaluate': aria_allowed_role_evaluate_default,
18897
18392
  'aria-errormessage-evaluate': aria_errormessage_evaluate_default,
18898
18393
  'aria-hidden-body-evaluate': aria_hidden_body_evaluate_default,
18899
- 'aria-prohibited-attr-evaluate': aria_prohibited_attr_evaluate_default,
18900
18394
  'aria-required-attr-evaluate': aria_required_attr_evaluate_default,
18901
18395
  'aria-required-children-evaluate': aria_required_children_evaluate_default,
18902
18396
  'aria-required-parent-evaluate': aria_required_parent_evaluate_default,
@@ -18965,7 +18459,6 @@
18965
18459
  'focusable-no-name-evaluate': focusable_no_name_evaluate_default,
18966
18460
  'focusable-not-tabbable-evaluate': focusable_not_tabbable_evaluate_default,
18967
18461
  'landmark-is-top-level-evaluate': landmark_is_top_level_evaluate_default,
18968
- 'no-focusable-content-evaluate': no_focusable_content_evaluate_default,
18969
18462
  'tabindex-evaluate': tabindex_evaluate_default,
18970
18463
  'alt-space-value-evaluate': alt_space_value_evaluate_default,
18971
18464
  'duplicate-img-label-evaluate': duplicate_img_label_evaluate_default,
@@ -18994,8 +18487,6 @@
18994
18487
  'aria-form-field-name-matches': no_naming_method_matches_default,
18995
18488
  'aria-has-attr-matches': aria_has_attr_matches_default,
18996
18489
  'aria-hidden-focus-matches': aria_hidden_focus_matches_default,
18997
- 'aria-required-children-matches': aria_required_children_matches_default,
18998
- 'aria-required-parent-matches': aria_required_parent_matches_default,
18999
18490
  'autocomplete-matches': autocomplete_matches_default,
19000
18491
  'bypass-matches': bypass_matches_default,
19001
18492
  'color-contrast-matches': color_contrast_matches_default,
@@ -19004,7 +18495,6 @@
19004
18495
  'duplicate-id-active-matches': duplicate_id_active_matches_default,
19005
18496
  'duplicate-id-aria-matches': duplicate_id_aria_matches_default,
19006
18497
  'duplicate-id-misc-matches': duplicate_id_misc_matches_default,
19007
- 'frame-focusable-content-matches': frame_focusable_content_matches_default,
19008
18498
  'frame-title-has-text-matches': frame_title_has_text_matches_default,
19009
18499
  'heading-matches': heading_matches_default,
19010
18500
  'html-namespace-matches': html_namespace_matches_default,
@@ -19017,7 +18507,6 @@
19017
18507
  'landmark-unique-matches': landmark_unique_matches_default,
19018
18508
  'layout-table-matches': layout_table_matches_default,
19019
18509
  'link-in-text-block-matches': link_in_text_block_matches_default,
19020
- 'nested-interactive-matches': nested_interactive_matches_default,
19021
18510
  'no-autoplay-audio-matches': no_autoplay_audio_matches_default,
19022
18511
  'no-empty-role-matches': no_empty_role_matches_default,
19023
18512
  'no-explicit-name-required-matches': no_explicit_name_required_matches_default,
@@ -19067,7 +18556,7 @@
19067
18556
  }
19068
18557
  }
19069
18558
  Check.prototype.enabled = true;
19070
- Check.prototype.run = function run(node, options, context3, resolve, reject) {
18559
+ Check.prototype.run = function(node, options, context3, resolve, reject) {
19071
18560
  options = options || {};
19072
18561
  var enabled = options.hasOwnProperty('enabled') ? options.enabled : this.enabled;
19073
18562
  var checkOptions = this.getOptions(options.options);
@@ -19092,7 +18581,7 @@
19092
18581
  resolve(null);
19093
18582
  }
19094
18583
  };
19095
- Check.prototype.runSync = function runSync(node, options, context3) {
18584
+ Check.prototype.runSync = function(node, options, context3) {
19096
18585
  options = options || {};
19097
18586
  var _options = options, _options$enabled = _options.enabled, enabled = _options$enabled === void 0 ? this.enabled : _options$enabled;
19098
18587
  if (!enabled) {
@@ -19101,7 +18590,7 @@
19101
18590
  var checkOptions = this.getOptions(options.options);
19102
18591
  var checkResult = new check_result_default(this);
19103
18592
  var helper = check_helper_default(checkResult, options);
19104
- helper.async = function async() {
18593
+ helper.async = function() {
19105
18594
  throw new Error('Cannot run async check while in a synchronous run');
19106
18595
  };
19107
18596
  var result;
@@ -19116,7 +18605,7 @@
19116
18605
  checkResult.result = result;
19117
18606
  return checkResult;
19118
18607
  };
19119
- Check.prototype.configure = function configure(spec) {
18608
+ Check.prototype.configure = function(spec) {
19120
18609
  var _this3 = this;
19121
18610
  if (!spec.evaluate || metadata_function_map_default[spec.evaluate]) {
19122
18611
  this._internalCheck = true;
@@ -19174,10 +18663,10 @@
19174
18663
  this.matches = createExecutionContext(spec.matches);
19175
18664
  }
19176
18665
  }
19177
- Rule.prototype.matches = function matches13() {
18666
+ Rule.prototype.matches = function() {
19178
18667
  return true;
19179
18668
  };
19180
- Rule.prototype.gather = function gather(context3) {
18669
+ Rule.prototype.gather = function(context3) {
19181
18670
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
19182
18671
  var markStart = 'mark_gather_start_' + this.id;
19183
18672
  var markEnd = 'mark_gather_end_' + this.id;
@@ -19205,7 +18694,7 @@
19205
18694
  }
19206
18695
  return elements;
19207
18696
  };
19208
- Rule.prototype.runChecks = function runChecks(type, node, options, context3, resolve, reject) {
18697
+ Rule.prototype.runChecks = function(type, node, options, context3, resolve, reject) {
19209
18698
  var self2 = this;
19210
18699
  var checkQueue = queue_default();
19211
18700
  this[type].forEach(function(c) {
@@ -19225,7 +18714,7 @@
19225
18714
  });
19226
18715
  })['catch'](reject);
19227
18716
  };
19228
- Rule.prototype.runChecksSync = function runChecksSync(type, node, options, context3) {
18717
+ Rule.prototype.runChecksSync = function(type, node, options, context3) {
19229
18718
  var self2 = this;
19230
18719
  var results = [];
19231
18720
  this[type].forEach(function(c) {
@@ -19241,7 +18730,7 @@
19241
18730
  results: results
19242
18731
  };
19243
18732
  };
19244
- Rule.prototype.run = function run2(context3) {
18733
+ Rule.prototype.run = function(context3) {
19245
18734
  var _this4 = this;
19246
18735
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
19247
18736
  var resolve = arguments.length > 2 ? arguments[2] : undefined;
@@ -19310,7 +18799,7 @@
19310
18799
  return reject(error);
19311
18800
  });
19312
18801
  };
19313
- Rule.prototype.runSync = function runSync2(context3) {
18802
+ Rule.prototype.runSync = function(context3) {
19314
18803
  var _this5 = this;
19315
18804
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
19316
18805
  if (options.performanceTimer) {
@@ -19359,17 +18848,17 @@
19359
18848
  }
19360
18849
  return ruleResult;
19361
18850
  };
19362
- Rule.prototype._trackPerformance = function _trackPerformance() {
18851
+ Rule.prototype._trackPerformance = function() {
19363
18852
  this._markStart = 'mark_rule_start_' + this.id;
19364
18853
  this._markEnd = 'mark_rule_end_' + this.id;
19365
18854
  this._markChecksStart = 'mark_runchecks_start_' + this.id;
19366
18855
  this._markChecksEnd = 'mark_runchecks_end_' + this.id;
19367
18856
  };
19368
- Rule.prototype._logGatherPerformance = function _logGatherPerformance(nodes) {
18857
+ Rule.prototype._logGatherPerformance = function(nodes) {
19369
18858
  log_default('gather (', nodes.length, '):', performance_timer_default.timeElapsed() + 'ms');
19370
18859
  performance_timer_default.mark(this._markChecksStart);
19371
18860
  };
19372
- Rule.prototype._logRulePerformance = function _logRulePerformance() {
18861
+ Rule.prototype._logRulePerformance = function() {
19373
18862
  performance_timer_default.mark(this._markChecksEnd);
19374
18863
  performance_timer_default.mark(this._markEnd);
19375
18864
  performance_timer_default.measure('runchecks_' + this.id, this._markChecksStart, this._markChecksEnd);
@@ -19377,8 +18866,7 @@
19377
18866
  };
19378
18867
  function getResult(results) {
19379
18868
  if (results.length) {
19380
- var hasResults = false;
19381
- var result = {};
18869
+ var hasResults = false, result = {};
19382
18870
  results.forEach(function(r) {
19383
18871
  var res = r.results.filter(function(result2) {
19384
18872
  return result2;
@@ -19394,7 +18882,7 @@
19394
18882
  return null;
19395
18883
  }
19396
18884
  }
19397
- Rule.prototype.gatherAndMatchNodes = function gatherAndMatchNodes(context3, options) {
18885
+ Rule.prototype.gatherAndMatchNodes = function(context3, options) {
19398
18886
  var _this6 = this;
19399
18887
  var markMatchesStart = 'mark_matches_start_' + this.id;
19400
18888
  var markMatchesEnd = 'mark_matches_end_' + this.id;
@@ -19457,7 +18945,7 @@
19457
18945
  }
19458
18946
  return nodes;
19459
18947
  }
19460
- Rule.prototype.after = function after(result, options) {
18948
+ Rule.prototype.after = function(result, options) {
19461
18949
  var afterChecks = findAfterChecks(this);
19462
18950
  var ruleID = this.id;
19463
18951
  afterChecks.forEach(function(check4) {
@@ -19474,7 +18962,7 @@
19474
18962
  result.nodes = sanitizeNodes(result);
19475
18963
  return result;
19476
18964
  };
19477
- Rule.prototype.configure = function configure2(spec) {
18965
+ Rule.prototype.configure = function(spec) {
19478
18966
  if (spec.hasOwnProperty('selector')) {
19479
18967
  this.selector = spec.selector;
19480
18968
  }
@@ -19604,8 +19092,8 @@
19604
19092
  lang: this.lang
19605
19093
  };
19606
19094
  var checkIDs = Object.keys(this.data.checks);
19607
- for (var _i24 = 0; _i24 < checkIDs.length; _i24++) {
19608
- var id = checkIDs[_i24];
19095
+ for (var _i21 = 0; _i21 < checkIDs.length; _i21++) {
19096
+ var id = checkIDs[_i21];
19609
19097
  var check4 = this.data.checks[id];
19610
19098
  var _check4$messages = check4.messages, pass = _check4$messages.pass, fail = _check4$messages.fail, incomplete = _check4$messages.incomplete;
19611
19099
  locale.checks[id] = {
@@ -19615,8 +19103,8 @@
19615
19103
  };
19616
19104
  }
19617
19105
  var ruleIDs = Object.keys(this.data.rules);
19618
- for (var _i25 = 0; _i25 < ruleIDs.length; _i25++) {
19619
- var _id = ruleIDs[_i25];
19106
+ for (var _i22 = 0; _i22 < ruleIDs.length; _i22++) {
19107
+ var _id = ruleIDs[_i22];
19620
19108
  var rule3 = this.data.rules[_id];
19621
19109
  var description = rule3.description, help = rule3.help;
19622
19110
  locale.rules[_id] = {
@@ -19625,8 +19113,8 @@
19625
19113
  };
19626
19114
  }
19627
19115
  var failureSummaries = Object.keys(this.data.failureSummaries);
19628
- for (var _i26 = 0; _i26 < failureSummaries.length; _i26++) {
19629
- var type = failureSummaries[_i26];
19116
+ for (var _i23 = 0; _i23 < failureSummaries.length; _i23++) {
19117
+ var type = failureSummaries[_i23];
19630
19118
  var failureSummary2 = this.data.failureSummaries[type];
19631
19119
  var failureMessage = failureSummary2.failureMessage;
19632
19120
  locale.failureSummaries[type] = {
@@ -19649,8 +19137,8 @@
19649
19137
  key: '_applyCheckLocale',
19650
19138
  value: function _applyCheckLocale(checks) {
19651
19139
  var keys = Object.keys(checks);
19652
- for (var _i27 = 0; _i27 < keys.length; _i27++) {
19653
- var id = keys[_i27];
19140
+ for (var _i24 = 0; _i24 < keys.length; _i24++) {
19141
+ var id = keys[_i24];
19654
19142
  if (!this.data.checks[id]) {
19655
19143
  throw new Error('Locale provided for unknown check: "'.concat(id, '"'));
19656
19144
  }
@@ -19661,8 +19149,8 @@
19661
19149
  key: '_applyRuleLocale',
19662
19150
  value: function _applyRuleLocale(rules) {
19663
19151
  var keys = Object.keys(rules);
19664
- for (var _i28 = 0; _i28 < keys.length; _i28++) {
19665
- var id = keys[_i28];
19152
+ for (var _i25 = 0; _i25 < keys.length; _i25++) {
19153
+ var id = keys[_i25];
19666
19154
  if (!this.data.rules[id]) {
19667
19155
  throw new Error('Locale provided for unknown rule: "'.concat(id, '"'));
19668
19156
  }
@@ -19671,14 +19159,14 @@
19671
19159
  }
19672
19160
  }, {
19673
19161
  key: '_applyFailureSummaries',
19674
- value: function _applyFailureSummaries(messages) {
19675
- var keys = Object.keys(messages);
19676
- for (var _i29 = 0; _i29 < keys.length; _i29++) {
19677
- var key = keys[_i29];
19162
+ value: function _applyFailureSummaries(messages2) {
19163
+ var keys = Object.keys(messages2);
19164
+ for (var _i26 = 0; _i26 < keys.length; _i26++) {
19165
+ var key = keys[_i26];
19678
19166
  if (!this.data.failureSummaries[key]) {
19679
19167
  throw new Error('Locale provided for unknown failureMessage: "'.concat(key, '"'));
19680
19168
  }
19681
- this.data.failureSummaries[key] = mergeFailureMessage(this.data.failureSummaries[key], messages[key]);
19169
+ this.data.failureSummaries[key] = mergeFailureMessage(this.data.failureSummaries[key], messages2[key]);
19682
19170
  }
19683
19171
  }
19684
19172
  }, {
@@ -19992,8 +19480,8 @@
19992
19480
  });
19993
19481
  };
19994
19482
  }
19995
- function getHelpUrl(_ref72, ruleId, version) {
19996
- var brand = _ref72.brand, application = _ref72.application, lang = _ref72.lang;
19483
+ function getHelpUrl(_ref63, ruleId, version) {
19484
+ var brand = _ref63.brand, application = _ref63.application, lang = _ref63.lang;
19997
19485
  return constants_default.helpUrlBase + brand + '/' + (version || axe.version.substring(0, axe.version.lastIndexOf('.'))) + '/' + ruleId + '?application=' + encodeURIComponent(application) + (lang && lang !== 'en' ? '&lang=' + encodeURIComponent(lang) : '');
19998
19486
  }
19999
19487
  var audit_default = Audit;
@@ -20099,7 +19587,7 @@
20099
19587
  function validateContext(context3) {
20100
19588
  if (context3.include.length === 0) {
20101
19589
  if (context3.frames.length === 0) {
20102
- var env = _respondable.isInFrame() ? 'frame' : 'page';
19590
+ var env = respondable_default.isInFrame() ? 'frame' : 'page';
20103
19591
  return new Error('No elements found for include in ' + env + ' Context');
20104
19592
  }
20105
19593
  context3.frames.forEach(function(frame, i) {
@@ -20109,8 +19597,8 @@
20109
19597
  });
20110
19598
  }
20111
19599
  }
20112
- function getRootNode2(_ref73) {
20113
- var include = _ref73.include, exclude = _ref73.exclude;
19600
+ function getRootNode2(_ref64) {
19601
+ var include = _ref64.include, exclude = _ref64.exclude;
20114
19602
  var selectors = Array.from(include).concat(Array.from(exclude));
20115
19603
  for (var i = 0; i < selectors.length; ++i) {
20116
19604
  var item = selectors[i];
@@ -20127,8 +19615,6 @@
20127
19615
  var _this8 = this;
20128
19616
  this.frames = [];
20129
19617
  this.initiator = spec && typeof spec.initiator === 'boolean' ? spec.initiator : true;
20130
- this.focusable = spec && typeof spec.focusable === 'boolean' ? spec.focusable : true;
20131
- this.boundingClientRect = spec && _typeof(spec.boundingClientRect) === 'object' ? spec.boundingClientRect : {};
20132
19618
  this.page = false;
20133
19619
  spec = normalizeContext(spec);
20134
19620
  this.flatTree = get_flattened_tree_default(getRootNode2(spec));
@@ -20195,7 +19681,7 @@
20195
19681
  }
20196
19682
  }
20197
19683
  function cleanup(resolve, reject) {
20198
- resolve = resolve || function res() {};
19684
+ resolve = resolve || function() {};
20199
19685
  reject = reject || axe.log;
20200
19686
  if (!axe._audit) {
20201
19687
  throw new Error('No audit configured');
@@ -20204,7 +19690,7 @@
20204
19690
  var cleanupErrors = [];
20205
19691
  Object.keys(axe.plugins).forEach(function(key) {
20206
19692
  q.defer(function(res) {
20207
- var rej = function rej2(err2) {
19693
+ var rej = function rej(err2) {
20208
19694
  cleanupErrors.push(err2);
20209
19695
  res();
20210
19696
  };
@@ -20252,7 +19738,7 @@
20252
19738
  defaultReporter = cb;
20253
19739
  }
20254
19740
  }
20255
- function configure3(spec) {
19741
+ function configure(spec) {
20256
19742
  var audit3;
20257
19743
  audit3 = axe._audit;
20258
19744
  if (!audit3) {
@@ -20323,7 +19809,7 @@
20323
19809
  audit3.noHtml = true;
20324
19810
  }
20325
19811
  }
20326
- var configure_default = configure3;
19812
+ var configure_default = configure;
20327
19813
  function getRules(tags) {
20328
19814
  tags = tags || [];
20329
19815
  var matchingRules = !tags.length ? axe._audit.rules : axe._audit.rules.filter(function(item) {
@@ -20344,7 +19830,7 @@
20344
19830
  });
20345
19831
  }
20346
19832
  var get_rules_default = getRules;
20347
- function teardown() {
19833
+ function cleanup2() {
20348
19834
  if (cache_default.get('globalDocumentSet')) {
20349
19835
  document = null;
20350
19836
  }
@@ -20357,16 +19843,14 @@
20357
19843
  cache_default.clear();
20358
19844
  axe._tree = void 0;
20359
19845
  axe._selectorData = void 0;
20360
- axe._selectCache = void 0;
20361
19846
  }
20362
- var teardown_default = teardown;
20363
19847
  function runRules(context3, options, resolve, reject) {
20364
19848
  try {
20365
19849
  context3 = new context_default(context3);
20366
19850
  axe._tree = context3.flatTree;
20367
19851
  axe._selectorData = _getSelectorData(context3.flatTree);
20368
19852
  } catch (e) {
20369
- teardown_default();
19853
+ cleanup2();
20370
19854
  return reject(e);
20371
19855
  }
20372
19856
  var q = queue_default();
@@ -20398,24 +19882,24 @@
20398
19882
  results = results.map(finalize_result_default);
20399
19883
  }
20400
19884
  try {
20401
- resolve(results, teardown_default);
19885
+ resolve(results, cleanup2);
20402
19886
  } catch (e) {
20403
- teardown_default();
19887
+ cleanup2();
20404
19888
  log_default(e);
20405
19889
  }
20406
19890
  } catch (e) {
20407
- teardown_default();
19891
+ cleanup2();
20408
19892
  reject(e);
20409
19893
  }
20410
19894
  })['catch'](function(e) {
20411
- teardown_default();
19895
+ cleanup2();
20412
19896
  reject(e);
20413
19897
  });
20414
19898
  }
20415
19899
  var run_rules_default = runRules;
20416
19900
  function runCommand(data2, keepalive, callback) {
20417
19901
  var resolve = callback;
20418
- var reject = function reject2(err2) {
19902
+ var reject = function reject(err2) {
20419
19903
  if (err2 instanceof Error === false) {
20420
19904
  err2 = new Error(err2);
20421
19905
  }
@@ -20442,15 +19926,13 @@
20442
19926
  }
20443
19927
  }
20444
19928
  }
20445
- if (window.top !== window) {
20446
- _respondable.subscribe('axe.start', runCommand);
20447
- _respondable.subscribe('axe.ping', function(data2, keepalive, respond) {
19929
+ function load(audit3) {
19930
+ axe.utils.respondable.subscribe('axe.ping', function(data2, keepalive, respond) {
20448
19931
  respond({
20449
19932
  axe: true
20450
19933
  });
20451
19934
  });
20452
- }
20453
- function load(audit3) {
19935
+ axe.utils.respondable.subscribe('axe.start', runCommand);
20454
19936
  axe._audit = new audit_default(audit3);
20455
19937
  }
20456
19938
  var load_default = load;
@@ -20462,23 +19944,25 @@
20462
19944
  axe._audit.registerCommand(command);
20463
19945
  });
20464
19946
  }
20465
- Plugin.prototype.run = function run3() {
19947
+ Plugin.prototype.run = function() {
20466
19948
  return this._run.apply(this, arguments);
20467
19949
  };
20468
- Plugin.prototype.collect = function collect() {
19950
+ Plugin.prototype.collect = function() {
20469
19951
  return this._collect.apply(this, arguments);
20470
19952
  };
20471
- Plugin.prototype.cleanup = function cleanup3(done) {
19953
+ Plugin.prototype.cleanup = function(done) {
20472
19954
  var q = axe.utils.queue();
20473
19955
  var that = this;
20474
19956
  Object.keys(this._registry).forEach(function(key) {
20475
- q.defer(function(_done) {
20476
- that._registry[key].cleanup(_done);
19957
+ q.defer(function(done2) {
19958
+ that._registry[key].cleanup(done2);
20477
19959
  });
20478
19960
  });
20479
- q.then(done);
19961
+ q.then(function() {
19962
+ done();
19963
+ });
20480
19964
  };
20481
- Plugin.prototype.add = function add(impl) {
19965
+ Plugin.prototype.add = function(impl) {
20482
19966
  this._registry[impl.id] = impl;
20483
19967
  };
20484
19968
  function registerPlugin(plugin) {
@@ -20501,7 +19985,9 @@
20501
19985
  if (!(vNode instanceof abstract_virtual_node_default)) {
20502
19986
  vNode = new serial_virtual_node_default(vNode);
20503
19987
  }
20504
- var rule3 = get_rule_default(ruleId);
19988
+ var rule3 = axe._audit.rules.find(function(rule4) {
19989
+ return rule4.id === ruleId;
19990
+ });
20505
19991
  if (!rule3) {
20506
19992
  throw new Error('unknown rule `' + ruleId + '`');
20507
19993
  }
@@ -20547,7 +20033,7 @@
20547
20033
  return false;
20548
20034
  }
20549
20035
  }
20550
- var noop2 = function noop3() {};
20036
+ var noop2 = function noop2() {};
20551
20037
  function normalizeRunParams(context3, options, callback) {
20552
20038
  var typeErr = new TypeError('axe.run arguments are invalid');
20553
20039
  if (!isContext(context3)) {
@@ -20574,7 +20060,7 @@
20574
20060
  callback: callback || noop2
20575
20061
  };
20576
20062
  }
20577
- function run4(context3, options, callback) {
20063
+ function run(context3, options, callback) {
20578
20064
  if (!axe._audit) {
20579
20065
  throw new Error('No audit configured');
20580
20066
  }
@@ -20650,16 +20136,7 @@
20650
20136
  });
20651
20137
  return p;
20652
20138
  }
20653
- var run_default = run4;
20654
- function setup(node) {
20655
- if (axe._tree) {
20656
- throw new Error('Axe is already setup. Call `axe.teardown()` before calling `axe.setup` again.');
20657
- }
20658
- axe._tree = get_flattened_tree_default(node);
20659
- axe._selectorData = _getSelectorData(axe._tree);
20660
- return axe._tree[0];
20661
- }
20662
- var setup_default = setup;
20139
+ var run_default = run;
20663
20140
  var naReporter = function naReporter(results, options, callback) {
20664
20141
  console.warn('"na" reporter will be deprecated in axe v4.0. Use the "v2" reporter instead.');
20665
20142
  if (typeof options === 'function') {
@@ -20700,8 +20177,8 @@
20700
20177
  var transformedResults = results.map(function(result) {
20701
20178
  var transformedResult = _extends({}, result);
20702
20179
  var types = [ 'passes', 'violations', 'incomplete', 'inapplicable' ];
20703
- for (var _i30 = 0, _types = types; _i30 < _types.length; _i30++) {
20704
- var type = _types[_i30];
20180
+ for (var _i27 = 0, _types = types; _i27 < _types.length; _i27++) {
20181
+ var type = _types[_i27];
20705
20182
  if (transformedResult[type] && Array.isArray(transformedResult[type])) {
20706
20183
  transformedResult[type] = transformedResult[type].map(function(typeResult) {
20707
20184
  return _extends({}, typeResult, {
@@ -20797,8 +20274,6 @@
20797
20274
  axe._runRules = run_rules_default;
20798
20275
  axe.runVirtualRule = run_virtual_rule_default;
20799
20276
  axe.run = run_default;
20800
- axe.setup = setup_default;
20801
- axe.teardown = teardown_default;
20802
20277
  axe.commons = commons_exports;
20803
20278
  axe.utils = utils_exports;
20804
20279
  axe.addReporter('na', na_default);
@@ -20815,7 +20290,7 @@
20815
20290
  rules: {
20816
20291
  accesskeys: {
20817
20292
  description: 'Ensures every accesskey attribute value is unique',
20818
- help: 'accesskey attribute value should be unique'
20293
+ help: 'accesskey attribute value must be unique'
20819
20294
  },
20820
20295
  'area-alt': {
20821
20296
  description: 'Ensures <area> elements of image maps have alternate text',
@@ -20827,7 +20302,7 @@
20827
20302
  },
20828
20303
  'aria-allowed-role': {
20829
20304
  description: 'Ensures role attribute has an appropriate value for the element',
20830
- help: 'ARIA role should be appropriate for the element'
20305
+ help: 'ARIA role must be appropriate for the element'
20831
20306
  },
20832
20307
  'aria-command-name': {
20833
20308
  description: 'Ensures every ARIA button, link and menuitem has an accessible name',
@@ -20835,7 +20310,7 @@
20835
20310
  },
20836
20311
  'aria-dialog-name': {
20837
20312
  description: 'Ensures every ARIA dialog and alertdialog node has an accessible name',
20838
- help: 'ARIA dialog and alertdialog nodes should have an accessible name'
20313
+ help: 'ARIA dialog and alertdialog nodes must have an accessible name'
20839
20314
  },
20840
20315
  'aria-hidden-body': {
20841
20316
  description: 'Ensures aria-hidden=\'true\' is not present on the document body.',
@@ -20877,10 +20352,6 @@
20877
20352
  description: 'Ensures all elements with a role attribute use a valid value',
20878
20353
  help: 'ARIA roles used must conform to valid values'
20879
20354
  },
20880
- 'aria-text': {
20881
- description: 'Ensures "role=text" is used on elements with no focusable descendants',
20882
- help: '"role=text" should have no focusable descendants'
20883
- },
20884
20355
  'aria-toggle-field-name': {
20885
20356
  description: 'Ensures every ARIA toggle field has an accessible name',
20886
20357
  help: 'ARIA toggle fields have an accessible name'
@@ -20891,7 +20362,7 @@
20891
20362
  },
20892
20363
  'aria-treeitem-name': {
20893
20364
  description: 'Ensures every ARIA treeitem node has an accessible name',
20894
- help: 'ARIA treeitem nodes should have an accessible name'
20365
+ help: 'ARIA treeitem nodes must have an accessible name'
20895
20366
  },
20896
20367
  'aria-valid-attr-value': {
20897
20368
  description: 'Ensures all ARIA attributes have valid values',
@@ -20959,11 +20430,7 @@
20959
20430
  },
20960
20431
  'empty-heading': {
20961
20432
  description: 'Ensures headings have discernible text',
20962
- help: 'Headings should not be empty'
20963
- },
20964
- 'empty-table-header': {
20965
- description: 'Ensures table headers have discernible text',
20966
- help: 'Table header text must not be empty'
20433
+ help: 'Headings must not be empty'
20967
20434
  },
20968
20435
  'focus-order-semantics': {
20969
20436
  description: 'Ensures elements in the focus order have an appropriate role',
@@ -20971,23 +20438,19 @@
20971
20438
  },
20972
20439
  'form-field-multiple-labels': {
20973
20440
  description: 'Ensures form field does not have multiple label elements',
20974
- help: 'Form field must not have multiple label elements'
20975
- },
20976
- 'frame-focusable-content': {
20977
- description: 'Ensures <frame> and <iframe> elements with tabindex=-1 do not have focusable content',
20978
- help: 'Frames with tabindex=-1 must not have focusable content'
20441
+ help: 'Form field should not have multiple label elements'
20979
20442
  },
20980
20443
  'frame-tested': {
20981
20444
  description: 'Ensures <iframe> and <frame> elements contain the axe-core script',
20982
- help: 'Frames should be tested with axe-core'
20445
+ help: 'Frames must be tested with axe-core'
20983
20446
  },
20984
20447
  'frame-title-unique': {
20985
20448
  description: 'Ensures <iframe> and <frame> elements contain a unique title attribute',
20986
- help: 'Frames should have a unique title attribute'
20449
+ help: 'Frames must have a unique title attribute'
20987
20450
  },
20988
20451
  'frame-title': {
20989
- description: 'Ensures <iframe> and <frame> elements have an accessible name',
20990
- help: 'Frames must have an accessible name'
20452
+ description: 'Ensures <iframe> and <frame> elements contain a non-empty title attribute',
20453
+ help: 'Frames must have title attribute'
20991
20454
  },
20992
20455
  'heading-order': {
20993
20456
  description: 'Ensures the order of headings is semantically correct',
@@ -21043,39 +20506,39 @@
21043
20506
  },
21044
20507
  'landmark-banner-is-top-level': {
21045
20508
  description: 'Ensures the banner landmark is at top level',
21046
- help: 'Banner landmark should not be contained in another landmark'
20509
+ help: 'Banner landmark must not be contained in another landmark'
21047
20510
  },
21048
20511
  'landmark-complementary-is-top-level': {
21049
20512
  description: 'Ensures the complementary landmark or aside is at top level',
21050
- help: 'Aside should not be contained in another landmark'
20513
+ help: 'Aside must not be contained in another landmark'
21051
20514
  },
21052
20515
  'landmark-contentinfo-is-top-level': {
21053
20516
  description: 'Ensures the contentinfo landmark is at top level',
21054
- help: 'Contentinfo landmark should not be contained in another landmark'
20517
+ help: 'Contentinfo landmark must not be contained in another landmark'
21055
20518
  },
21056
20519
  'landmark-main-is-top-level': {
21057
20520
  description: 'Ensures the main landmark is at top level',
21058
- help: 'Main landmark should not be contained in another landmark'
20521
+ help: 'Main landmark must not be contained in another landmark'
21059
20522
  },
21060
20523
  'landmark-no-duplicate-banner': {
21061
20524
  description: 'Ensures the document has at most one banner landmark',
21062
- help: 'Document should not have more than one banner landmark'
20525
+ help: 'Document must not have more than one banner landmark'
21063
20526
  },
21064
20527
  'landmark-no-duplicate-contentinfo': {
21065
20528
  description: 'Ensures the document has at most one contentinfo landmark',
21066
- help: 'Document should not have more than one contentinfo landmark'
20529
+ help: 'Document must not have more than one contentinfo landmark'
21067
20530
  },
21068
20531
  'landmark-no-duplicate-main': {
21069
20532
  description: 'Ensures the document has at most one main landmark',
21070
- help: 'Document should not have more than one main landmark'
20533
+ help: 'Document must not have more than one main landmark'
21071
20534
  },
21072
20535
  'landmark-one-main': {
21073
20536
  description: 'Ensures the document has a main landmark',
21074
- help: 'Document should have one main landmark'
20537
+ help: 'Document must have one main landmark'
21075
20538
  },
21076
20539
  'landmark-unique': {
21077
20540
  help: 'Ensures landmarks are unique',
21078
- description: 'Landmarks should have a unique role or role/label/title (i.e. accessible name) combination'
20541
+ description: 'Landmarks must have a unique role or role/label/title (i.e. accessible name) combination'
21079
20542
  },
21080
20543
  'link-in-text-block': {
21081
20544
  description: 'Links can be distinguished without relying on color',
@@ -21107,11 +20570,7 @@
21107
20570
  },
21108
20571
  'meta-viewport': {
21109
20572
  description: 'Ensures <meta name="viewport"> does not disable text scaling and zooming',
21110
- help: 'Zooming and scaling should not be disabled'
21111
- },
21112
- 'nested-interactive': {
21113
- description: 'Nested interactive controls are not announced by screen readers',
21114
- help: 'Ensure interactive controls are not nested'
20573
+ help: 'Zooming and scaling must not be disabled'
21115
20574
  },
21116
20575
  'no-autoplay-audio': {
21117
20576
  description: 'Ensures <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio',
@@ -21127,7 +20586,7 @@
21127
20586
  },
21128
20587
  'page-has-heading-one': {
21129
20588
  description: 'Ensure that the page, or at least one of its frames contains a level-one heading',
21130
- help: 'Page should contain a level-one heading'
20589
+ help: 'Page must contain a level-one heading'
21131
20590
  },
21132
20591
  'presentation-role-conflict': {
21133
20592
  description: 'Flags elements whose role is none or presentation and which cause the role conflict resolution to trigger.',
@@ -21135,7 +20594,7 @@
21135
20594
  },
21136
20595
  region: {
21137
20596
  description: 'Ensures all page content is contained by landmarks',
21138
- help: 'All page content should be contained by landmarks'
20597
+ help: 'All page content must be contained by landmarks'
21139
20598
  },
21140
20599
  'role-img-alt': {
21141
20600
  description: 'Ensures [role=\'img\'] elements have alternate text',
@@ -21146,12 +20605,12 @@
21146
20605
  help: 'scope attribute should be used correctly'
21147
20606
  },
21148
20607
  'scrollable-region-focusable': {
21149
- description: 'Elements that have scrollable content must be accessible by keyboard',
20608
+ description: 'Elements that have scrollable content should be accessible by keyboard',
21150
20609
  help: 'Ensure that scrollable region has keyboard access'
21151
20610
  },
21152
20611
  'select-name': {
21153
20612
  description: 'Ensures select element has an accessible name',
21154
- help: 'Select element must have an accessible name'
20613
+ help: 'Select element must have and accessible name'
21155
20614
  },
21156
20615
  'server-side-image-map': {
21157
20616
  description: 'Ensures that server-side image maps are not used',
@@ -21175,7 +20634,7 @@
21175
20634
  },
21176
20635
  'table-fake-caption': {
21177
20636
  description: 'Ensure that tables with a caption use the <caption> element.',
21178
- help: 'Data or header cells must not be used to give caption to a data table.'
20637
+ help: 'Data or header cells should not be used to give caption to a data table.'
21179
20638
  },
21180
20639
  'td-has-header': {
21181
20640
  description: 'Ensure that each non-empty data cell in a large table has one or more table headers',
@@ -21254,14 +20713,6 @@
21254
20713
  fail: 'aria-hidden=true should not be present on the document body'
21255
20714
  }
21256
20715
  },
21257
- 'aria-prohibited-attr': {
21258
- impact: 'critical',
21259
- messages: {
21260
- pass: 'ARIA attribute is allowed',
21261
- fail: 'ARIA attribute cannot be used: ${data.values}',
21262
- incomplete: 'ARIA attribute is not well supported on the element and the text content will be used instead: ${data.values}'
21263
- }
21264
- },
21265
20716
  'aria-required-attr': {
21266
20717
  impact: 'critical',
21267
20718
  messages: {
@@ -21498,14 +20949,6 @@
21498
20949
  fail: 'Focusable content should have tabindex=\'-1\' or be removed from the DOM'
21499
20950
  }
21500
20951
  },
21501
- 'frame-focusable-content': {
21502
- impact: 'serious',
21503
- messages: {
21504
- pass: 'Element does not have focusable descendants',
21505
- fail: 'Element has focusable descendants',
21506
- incomplete: 'Could not determine if element has descendants'
21507
- }
21508
- },
21509
20952
  'landmark-is-top-level': {
21510
20953
  impact: 'moderate',
21511
20954
  messages: {
@@ -21513,14 +20956,6 @@
21513
20956
  fail: 'The ${data.role} landmark is contained in another landmark.'
21514
20957
  }
21515
20958
  },
21516
- 'no-focusable-content': {
21517
- impact: 'serious',
21518
- messages: {
21519
- pass: 'Element does not have focusable descendants',
21520
- fail: 'Element has focusable descendants',
21521
- incomplete: 'Could not determine if element has descendants'
21522
- }
21523
- },
21524
20959
  'page-has-heading-one': {
21525
20960
  impact: 'moderate',
21526
20961
  messages: {
@@ -22105,12 +21540,12 @@
22105
21540
  attribute: 'alt'
22106
21541
  },
22107
21542
  id: 'non-empty-alt'
22108
- }, 'aria-label', 'aria-labelledby', {
21543
+ }, {
22109
21544
  options: {
22110
21545
  attribute: 'title'
22111
21546
  },
22112
21547
  id: 'non-empty-title'
22113
- } ],
21548
+ }, 'aria-label', 'aria-labelledby' ],
22114
21549
  none: []
22115
21550
  }, {
22116
21551
  id: 'aria-allowed-attr',
@@ -22118,7 +21553,7 @@
22118
21553
  tags: [ 'cat.aria', 'wcag2a', 'wcag412' ],
22119
21554
  all: [],
22120
21555
  any: [ 'aria-allowed-attr' ],
22121
- none: [ 'aria-unsupported-attr', 'aria-prohibited-attr' ]
21556
+ none: [ 'aria-unsupported-attr' ]
22122
21557
  }, {
22123
21558
  id: 'aria-allowed-role',
22124
21559
  excludeHidden: false,
@@ -22140,12 +21575,12 @@
22140
21575
  matches: 'no-naming-method-matches',
22141
21576
  tags: [ 'cat.aria', 'wcag2a', 'wcag412' ],
22142
21577
  all: [],
22143
- any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {
21578
+ any: [ 'aria-label', 'aria-labelledby', {
22144
21579
  options: {
22145
21580
  attribute: 'title'
22146
21581
  },
22147
21582
  id: 'non-empty-title'
22148
- } ],
21583
+ }, 'has-visible-text' ],
22149
21584
  none: []
22150
21585
  }, {
22151
21586
  id: 'aria-dialog-name',
@@ -22227,7 +21662,6 @@
22227
21662
  }, {
22228
21663
  id: 'aria-required-children',
22229
21664
  selector: '[role]',
22230
- matches: 'aria-required-children-matches',
22231
21665
  tags: [ 'cat.aria', 'wcag2a', 'wcag131' ],
22232
21666
  all: [],
22233
21667
  any: [ {
@@ -22240,7 +21674,6 @@
22240
21674
  }, {
22241
21675
  id: 'aria-required-parent',
22242
21676
  selector: '[role]',
22243
- matches: 'aria-required-parent-matches',
22244
21677
  tags: [ 'cat.aria', 'wcag2a', 'wcag131' ],
22245
21678
  all: [],
22246
21679
  any: [ 'aria-required-parent' ],
@@ -22265,25 +21698,18 @@
22265
21698
  all: [],
22266
21699
  any: [],
22267
21700
  none: [ 'fallbackrole', 'invalidrole', 'abstractrole', 'unsupportedrole' ]
22268
- }, {
22269
- id: 'aria-text',
22270
- selector: '[role=text]',
22271
- tags: [ 'cat.aria', 'best-practice' ],
22272
- all: [],
22273
- any: [ 'no-focusable-content' ],
22274
- none: []
22275
21701
  }, {
22276
21702
  id: 'aria-toggle-field-name',
22277
21703
  selector: '[role="checkbox"], [role="menuitemcheckbox"], [role="menuitemradio"], [role="radio"], [role="switch"], [role="option"]',
22278
21704
  matches: 'no-naming-method-matches',
22279
21705
  tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'ACT' ],
22280
21706
  all: [],
22281
- any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {
21707
+ any: [ 'aria-label', 'aria-labelledby', {
22282
21708
  options: {
22283
21709
  attribute: 'title'
22284
21710
  },
22285
21711
  id: 'non-empty-title'
22286
- } ],
21712
+ }, 'has-visible-text' ],
22287
21713
  none: [ 'no-implicit-explicit-label' ]
22288
21714
  }, {
22289
21715
  id: 'aria-tooltip-name',
@@ -22291,12 +21717,12 @@
22291
21717
  matches: 'no-naming-method-matches',
22292
21718
  tags: [ 'cat.aria', 'wcag2a', 'wcag412' ],
22293
21719
  all: [],
22294
- any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {
21720
+ any: [ 'aria-label', 'aria-labelledby', {
22295
21721
  options: {
22296
21722
  attribute: 'title'
22297
21723
  },
22298
21724
  id: 'non-empty-title'
22299
- } ],
21725
+ }, 'has-visible-text' ],
22300
21726
  none: []
22301
21727
  }, {
22302
21728
  id: 'aria-treeitem-name',
@@ -22304,7 +21730,7 @@
22304
21730
  matches: 'no-naming-method-matches',
22305
21731
  tags: [ 'cat.aria', 'best-practice' ],
22306
21732
  all: [],
22307
- any: [ 'has-visible-text', 'aria-label', 'aria-labelledby', {
21733
+ any: [ 'has-visible-text', 'aria-labelledby', 'aria-label', {
22308
21734
  options: {
22309
21735
  attribute: 'title'
22310
21736
  },
@@ -22373,24 +21799,23 @@
22373
21799
  matches: 'no-explicit-name-required-matches',
22374
21800
  tags: [ 'cat.name-role-value', 'wcag2a', 'wcag412', 'section508', 'section508.22.a', 'ACT' ],
22375
21801
  all: [],
22376
- any: [ 'button-has-visible-text', 'aria-label', 'aria-labelledby', {
21802
+ any: [ 'button-has-visible-text', 'aria-label', 'aria-labelledby', 'presentational-role', {
22377
21803
  options: {
22378
21804
  attribute: 'title'
22379
21805
  },
22380
21806
  id: 'non-empty-title'
22381
- }, 'presentational-role' ],
21807
+ } ],
22382
21808
  none: []
22383
21809
  }, {
22384
21810
  id: 'bypass',
22385
21811
  selector: 'html',
22386
21812
  pageLevel: true,
22387
21813
  matches: 'bypass-matches',
22388
- reviewOnFail: true,
22389
21814
  tags: [ 'cat.keyboard', 'wcag2a', 'wcag241', 'section508', 'section508.22.o' ],
22390
21815
  all: [],
22391
21816
  any: [ 'internal-link-present', {
22392
21817
  options: {
22393
- selector: ':is(h1, h2, h3, h4, h5, h6):not([role]), [role=heading]'
21818
+ selector: 'h1:not([role]), h2:not([role]), h3:not([role]), h4:not([role]), h5:not([role]), h6:not([role]), [role=heading]'
22394
21819
  },
22395
21820
  id: 'header-present'
22396
21821
  }, {
@@ -22504,14 +21929,6 @@
22504
21929
  id: 'non-empty-title'
22505
21930
  } ],
22506
21931
  none: []
22507
- }, {
22508
- id: 'empty-table-header',
22509
- selector: 'th, [role="rowheader"], [role="columnheader"]',
22510
- tags: [ 'wcag131', 'cat.aria' ],
22511
- reviewOnFail: true,
22512
- all: [],
22513
- any: [ 'has-visible-text' ],
22514
- none: []
22515
21932
  }, {
22516
21933
  id: 'focus-order-semantics',
22517
21934
  selector: 'div, h1, h2, h3, h4, h5, h6, [role=heading], p, span',
@@ -22534,14 +21951,6 @@
22534
21951
  all: [],
22535
21952
  any: [],
22536
21953
  none: [ 'multiple-label' ]
22537
- }, {
22538
- id: 'frame-focusable-content',
22539
- selector: 'html',
22540
- matches: 'frame-focusable-content-matches',
22541
- tags: [ 'cat.keyboard', 'wcag2a', 'wcag211' ],
22542
- all: [],
22543
- any: [ 'frame-focusable-content' ],
22544
- none: []
22545
21954
  }, {
22546
21955
  id: 'frame-tested',
22547
21956
  selector: 'frame, iframe',
@@ -22567,12 +21976,12 @@
22567
21976
  selector: 'frame, iframe',
22568
21977
  tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag241', 'wcag412', 'section508', 'section508.22.i' ],
22569
21978
  all: [],
22570
- any: [ {
21979
+ any: [ 'aria-label', 'aria-labelledby', {
22571
21980
  options: {
22572
21981
  attribute: 'title'
22573
21982
  },
22574
21983
  id: 'non-empty-title'
22575
- }, 'aria-label', 'aria-labelledby', 'presentational-role' ],
21984
+ }, 'presentational-role' ],
22576
21985
  none: []
22577
21986
  }, {
22578
21987
  id: 'heading-order',
@@ -22668,12 +22077,12 @@
22668
22077
  attribute: 'value'
22669
22078
  },
22670
22079
  id: 'non-empty-value'
22671
- }, 'aria-label', 'aria-labelledby', {
22080
+ }, 'aria-label', 'aria-labelledby', 'presentational-role', {
22672
22081
  options: {
22673
22082
  attribute: 'title'
22674
22083
  },
22675
22084
  id: 'non-empty-title'
22676
- }, 'presentational-role' ],
22085
+ } ],
22677
22086
  none: []
22678
22087
  }, {
22679
22088
  id: 'input-image-alt',
@@ -22720,7 +22129,7 @@
22720
22129
  matches: 'label-matches',
22721
22130
  tags: [ 'cat.forms', 'wcag2a', 'wcag412', 'wcag131', 'section508', 'section508.22.n', 'ACT' ],
22722
22131
  all: [],
22723
- any: [ 'implicit-label', 'explicit-label', 'aria-label', 'aria-labelledby', {
22132
+ any: [ 'aria-label', 'aria-labelledby', 'implicit-label', 'explicit-label', {
22724
22133
  options: {
22725
22134
  attribute: 'title'
22726
22135
  },
@@ -22900,13 +22309,6 @@
22900
22309
  id: 'meta-viewport'
22901
22310
  } ],
22902
22311
  none: []
22903
- }, {
22904
- id: 'nested-interactive',
22905
- matches: 'nested-interactive-matches',
22906
- tags: [ 'cat.keyboard', 'wcag2a', 'wcag412' ],
22907
- all: [],
22908
- any: [ 'no-focusable-content' ],
22909
- none: []
22910
22312
  }, {
22911
22313
  id: 'no-autoplay-audio',
22912
22314
  excludeHidden: false,
@@ -22965,7 +22367,7 @@
22965
22367
  tags: [ 'cat.semantics', 'best-practice' ],
22966
22368
  all: [ {
22967
22369
  options: {
22968
- selector: 'h1:not([role], [aria-level]), :is(h1, h2, h3, h4, h5, h6):not([role])[aria-level=1], [role=heading][aria-level=1]'
22370
+ selector: 'h1:not([role]):not([aria-level]), h1:not([role])[aria-level=1], h2:not([role])[aria-level=1], h3:not([role])[aria-level=1], h4:not([role])[aria-level=1], h5:not([role])[aria-level=1], h6:not([role])[aria-level=1], [role=heading][aria-level=1]'
22969
22371
  },
22970
22372
  id: 'page-has-heading-one'
22971
22373
  } ],
@@ -22985,14 +22387,14 @@
22985
22387
  all: [],
22986
22388
  any: [ {
22987
22389
  options: {
22988
- regionMatcher: 'dialog, [role=dialog], [role=alertdialog], svg, iframe'
22390
+ regionMatcher: 'dialog, [role=dialog], svg, iframe'
22989
22391
  },
22990
22392
  id: 'region'
22991
22393
  } ],
22992
22394
  none: []
22993
22395
  }, {
22994
22396
  id: 'role-img-alt',
22995
- selector: '[role=\'img\']:not(img, area, input, object)',
22397
+ selector: '[role=\'img\']:not(img):not(area):not(input):not(object)',
22996
22398
  matches: 'html-namespace-matches',
22997
22399
  tags: [ 'cat.text-alternatives', 'wcag2a', 'wcag111', 'section508', 'section508.22.a', 'ACT' ],
22998
22400
  all: [],
@@ -23027,7 +22429,7 @@
23027
22429
  selector: 'select',
23028
22430
  tags: [ 'cat.forms', 'wcag2a', 'wcag412', 'wcag131', 'section508', 'section508.22.n', 'ACT' ],
23029
22431
  all: [],
23030
- any: [ 'implicit-label', 'explicit-label', 'aria-label', 'aria-labelledby', {
22432
+ any: [ 'aria-label', 'aria-labelledby', 'implicit-label', 'explicit-label', {
23031
22433
  options: {
23032
22434
  attribute: 'title'
23033
22435
  },
@@ -23148,9 +22550,6 @@
23148
22550
  }, {
23149
22551
  id: 'aria-hidden-body',
23150
22552
  evaluate: 'aria-hidden-body-evaluate'
23151
- }, {
23152
- id: 'aria-prohibited-attr',
23153
- evaluate: 'aria-prohibited-attr-evaluate'
23154
22553
  }, {
23155
22554
  id: 'aria-required-attr',
23156
22555
  evaluate: 'aria-required-attr-evaluate'
@@ -23256,21 +22655,15 @@
23256
22655
  }, {
23257
22656
  id: 'focusable-not-tabbable',
23258
22657
  evaluate: 'focusable-not-tabbable-evaluate'
23259
- }, {
23260
- id: 'frame-focusable-content',
23261
- evaluate: 'no-focusable-content-evaluate'
23262
22658
  }, {
23263
22659
  id: 'landmark-is-top-level',
23264
22660
  evaluate: 'landmark-is-top-level-evaluate'
23265
- }, {
23266
- id: 'no-focusable-content',
23267
- evaluate: 'no-focusable-content-evaluate'
23268
22661
  }, {
23269
22662
  id: 'page-has-heading-one',
23270
22663
  evaluate: 'has-descendant-evaluate',
23271
22664
  after: 'has-descendant-after',
23272
22665
  options: {
23273
- selector: 'h1:not([role], [aria-level]), :is(h1, h2, h3, h4, h5, h6):not([role])[aria-level=1], [role=heading][aria-level=1]'
22666
+ selector: 'h1:not([role]):not([aria-level]), h1:not([role])[aria-level=1], h2:not([role])[aria-level=1], h3:not([role])[aria-level=1], h4:not([role])[aria-level=1], h5:not([role])[aria-level=1], h6:not([role])[aria-level=1], [role=heading][aria-level=1]'
23274
22667
  }
23275
22668
  }, {
23276
22669
  id: 'page-has-main',
@@ -23413,7 +22806,7 @@
23413
22806
  evaluate: 'has-descendant-evaluate',
23414
22807
  after: 'has-descendant-after',
23415
22808
  options: {
23416
- selector: ':is(h1, h2, h3, h4, h5, h6):not([role]), [role=heading]'
22809
+ selector: 'h1:not([role]), h2:not([role]), h3:not([role]), h4:not([role]), h5:not([role]), h6:not([role]), [role=heading]'
23417
22810
  }
23418
22811
  }, {
23419
22812
  id: 'heading-order',
@@ -23456,7 +22849,7 @@
23456
22849
  id: 'region',
23457
22850
  evaluate: 'region-evaluate',
23458
22851
  options: {
23459
- regionMatcher: 'dialog, [role=dialog], [role=alertdialog], svg, iframe'
22852
+ regionMatcher: 'dialog, [role=dialog], svg, iframe'
23460
22853
  }
23461
22854
  }, {
23462
22855
  id: 'skip-link',