lighthouse 13.3.0 → 13.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/cli/cli-flags.d.ts +8 -9
  2. package/cli/test/smokehouse/config/exclusions.js +2 -0
  3. package/cli/test/smokehouse/version-check.d.ts +1 -1
  4. package/core/audits/accessibility/accesskeys.js +1 -1
  5. package/core/audits/accessibility/aria-allowed-attr.js +1 -1
  6. package/core/audits/accessibility/aria-allowed-role.js +1 -1
  7. package/core/audits/accessibility/aria-command-name.js +1 -1
  8. package/core/audits/accessibility/aria-conditional-attr.js +1 -1
  9. package/core/audits/accessibility/aria-deprecated-role.js +1 -1
  10. package/core/audits/accessibility/aria-dialog-name.js +1 -1
  11. package/core/audits/accessibility/aria-hidden-body.js +1 -1
  12. package/core/audits/accessibility/aria-hidden-focus.js +1 -1
  13. package/core/audits/accessibility/aria-input-field-name.js +1 -1
  14. package/core/audits/accessibility/aria-meter-name.js +1 -1
  15. package/core/audits/accessibility/aria-progressbar-name.js +1 -1
  16. package/core/audits/accessibility/aria-prohibited-attr.js +1 -1
  17. package/core/audits/accessibility/aria-required-attr.js +1 -1
  18. package/core/audits/accessibility/aria-required-children.js +1 -1
  19. package/core/audits/accessibility/aria-required-parent.js +1 -1
  20. package/core/audits/accessibility/aria-roles.js +1 -1
  21. package/core/audits/accessibility/aria-text.js +1 -1
  22. package/core/audits/accessibility/aria-toggle-field-name.js +1 -1
  23. package/core/audits/accessibility/aria-tooltip-name.js +1 -1
  24. package/core/audits/accessibility/aria-treeitem-name.js +1 -1
  25. package/core/audits/accessibility/aria-valid-attr-value.js +1 -1
  26. package/core/audits/accessibility/aria-valid-attr.js +1 -1
  27. package/core/audits/accessibility/autocomplete-valid.js +1 -1
  28. package/core/audits/accessibility/button-name.js +1 -1
  29. package/core/audits/accessibility/bypass.js +1 -1
  30. package/core/audits/accessibility/color-contrast.js +1 -1
  31. package/core/audits/accessibility/definition-list.js +1 -1
  32. package/core/audits/accessibility/dlitem.js +1 -1
  33. package/core/audits/accessibility/document-title.js +1 -1
  34. package/core/audits/accessibility/duplicate-id-aria.js +1 -1
  35. package/core/audits/accessibility/empty-heading.js +1 -1
  36. package/core/audits/accessibility/form-field-multiple-labels.js +1 -1
  37. package/core/audits/accessibility/frame-title.js +1 -1
  38. package/core/audits/accessibility/heading-order.js +1 -1
  39. package/core/audits/accessibility/html-has-lang.js +1 -1
  40. package/core/audits/accessibility/html-lang-valid.js +1 -1
  41. package/core/audits/accessibility/html-xml-lang-mismatch.js +1 -1
  42. package/core/audits/accessibility/identical-links-same-purpose.js +1 -1
  43. package/core/audits/accessibility/image-alt.js +1 -1
  44. package/core/audits/accessibility/image-redundant-alt.js +1 -1
  45. package/core/audits/accessibility/input-button-name.js +1 -1
  46. package/core/audits/accessibility/input-image-alt.js +1 -1
  47. package/core/audits/accessibility/label-content-name-mismatch.js +1 -1
  48. package/core/audits/accessibility/label.js +1 -1
  49. package/core/audits/accessibility/landmark-one-main.js +1 -1
  50. package/core/audits/accessibility/link-in-text-block.js +1 -1
  51. package/core/audits/accessibility/link-name.js +1 -1
  52. package/core/audits/accessibility/list.js +1 -1
  53. package/core/audits/accessibility/listitem.js +1 -1
  54. package/core/audits/accessibility/meta-refresh.js +1 -1
  55. package/core/audits/accessibility/meta-viewport.js +1 -1
  56. package/core/audits/accessibility/object-alt.js +1 -1
  57. package/core/audits/accessibility/presentation-role-conflict.js +1 -1
  58. package/core/audits/accessibility/select-name.js +1 -1
  59. package/core/audits/accessibility/skip-link.js +1 -1
  60. package/core/audits/accessibility/svg-img-alt.js +1 -1
  61. package/core/audits/accessibility/tabindex.js +1 -1
  62. package/core/audits/accessibility/table-duplicate-name.js +1 -1
  63. package/core/audits/accessibility/table-fake-caption.js +1 -1
  64. package/core/audits/accessibility/target-size.js +1 -1
  65. package/core/audits/accessibility/td-has-header.js +1 -1
  66. package/core/audits/accessibility/td-headers-attr.js +1 -1
  67. package/core/audits/accessibility/th-has-data-cells.js +1 -1
  68. package/core/audits/accessibility/valid-lang.js +1 -1
  69. package/core/audits/accessibility/video-caption.js +1 -1
  70. package/core/audits/agentic/llms-txt.js +1 -1
  71. package/core/audits/baseline.js +10 -12
  72. package/core/audits/dobetterweb/geolocation-on-start.js +2 -1
  73. package/core/audits/network-requests.js +2 -0
  74. package/core/audits/seo/canonical.js +19 -7
  75. package/core/computed/js-bundles.d.ts +1 -1
  76. package/core/computed/load-simulator.d.ts +1 -1
  77. package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +1 -1
  78. package/core/computed/metrics/first-contentful-paint.d.ts +1 -1
  79. package/core/computed/metrics/interactive.d.ts +1 -1
  80. package/core/computed/metrics/lantern-metric.d.ts +6 -6
  81. package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +1 -1
  82. package/core/computed/metrics/largest-contentful-paint.d.ts +1 -1
  83. package/core/computed/metrics/max-potential-fid.d.ts +1 -1
  84. package/core/computed/metrics/speed-index.d.ts +1 -1
  85. package/core/computed/metrics/time-to-first-byte.d.ts +1 -1
  86. package/core/computed/metrics/total-blocking-time.d.ts +1 -1
  87. package/core/computed/module-duplication.d.ts +1 -1
  88. package/core/computed/page-dependency-graph.d.ts +1 -1
  89. package/core/computed/unused-css.d.ts +1 -1
  90. package/core/config/agentic-browsing-config.d.ts +1 -0
  91. package/core/config/agentic-browsing-config.js +1 -0
  92. package/core/config/config-helpers.d.ts +1 -0
  93. package/core/config/config-helpers.js +1 -1
  94. package/core/config/config-plugin.d.ts +1 -0
  95. package/core/config/config-plugin.js +1 -0
  96. package/core/config/config.d.ts +1 -0
  97. package/core/config/config.js +1 -0
  98. package/core/config/constants.d.ts +1 -0
  99. package/core/config/constants.js +1 -0
  100. package/core/config/experimental-config.d.ts +1 -9
  101. package/core/config/experimental-config.js +2 -0
  102. package/core/config/filters.d.ts +1 -0
  103. package/core/config/filters.js +1 -0
  104. package/core/config/full-config.d.ts +1 -5
  105. package/core/config/full-config.js +2 -0
  106. package/core/config/lr-desktop-config.d.ts +1 -0
  107. package/core/config/lr-desktop-config.js +1 -0
  108. package/core/config/lr-mobile-config.d.ts +1 -5
  109. package/core/config/lr-mobile-config.js +2 -0
  110. package/core/config/perf-config.d.ts +1 -5
  111. package/core/config/perf-config.js +2 -0
  112. package/core/config/validation.d.ts +1 -0
  113. package/core/config/validation.js +1 -0
  114. package/core/gather/driver/execution-context.d.ts +23 -0
  115. package/core/gather/driver/execution-context.js +86 -1
  116. package/core/gather/driver/storage.js +13 -0
  117. package/core/gather/driver.d.ts +1 -1
  118. package/core/gather/gatherers/accessibility.js +1 -0
  119. package/core/gather/gatherers/trace-elements.d.ts +4 -1
  120. package/core/gather/gatherers/trace-elements.js +24 -28
  121. package/core/gather/gatherers/webmcp-schema.js +9 -16
  122. package/core/gather/gatherers/webmcp.d.ts +5 -0
  123. package/core/gather/gatherers/webmcp.js +34 -27
  124. package/core/lib/baseline/web-features-data.json +1177 -0
  125. package/core/lib/baseline/web-features-metadata.json +1 -1
  126. package/core/lib/deprecations-strings.d.ts +21 -5
  127. package/core/lib/deprecations-strings.js +16 -0
  128. package/core/lib/script-helpers.js +13 -1
  129. package/core/scoring.d.ts +58 -58
  130. package/dist/report/bundle.esm.js +4 -7
  131. package/dist/report/flow.js +6 -9
  132. package/dist/report/standalone.js +20 -12
  133. package/flow-report/types/flow-report.d.ts +2 -2
  134. package/package.json +20 -23
  135. package/report/assets/styles.css +1 -4
  136. package/report/renderer/components.js +1 -1
  137. package/report/renderer/details-renderer.d.ts +6 -1
  138. package/report/renderer/details-renderer.js +11 -3
  139. package/report/renderer/explodey-gauge.js +9 -7
  140. package/report/renderer/i18n-formatter.d.ts +1 -1
  141. package/report/renderer/logger.js +18 -4
  142. package/report/renderer/text-encoding.js +1 -1
  143. package/report/types/html-renderer.d.ts +2 -2
  144. package/shared/localization/locales/ar-XB.json +290 -65
  145. package/shared/localization/locales/ar.json +290 -65
  146. package/shared/localization/locales/bg.json +290 -65
  147. package/shared/localization/locales/ca.json +295 -70
  148. package/shared/localization/locales/cs.json +290 -65
  149. package/shared/localization/locales/da.json +294 -69
  150. package/shared/localization/locales/de.json +295 -70
  151. package/shared/localization/locales/el.json +290 -65
  152. package/shared/localization/locales/en-GB.json +290 -65
  153. package/shared/localization/locales/en-US.json +79 -67
  154. package/shared/localization/locales/en-XA.json +253 -64
  155. package/shared/localization/locales/en-XL.json +79 -67
  156. package/shared/localization/locales/es-419.json +290 -65
  157. package/shared/localization/locales/es.json +298 -73
  158. package/shared/localization/locales/fi.json +290 -65
  159. package/shared/localization/locales/fil.json +290 -65
  160. package/shared/localization/locales/fr.json +294 -69
  161. package/shared/localization/locales/he.json +293 -68
  162. package/shared/localization/locales/hi.json +291 -66
  163. package/shared/localization/locales/hr.json +290 -65
  164. package/shared/localization/locales/hu.json +290 -65
  165. package/shared/localization/locales/id.json +290 -65
  166. package/shared/localization/locales/it.json +294 -69
  167. package/shared/localization/locales/ja.json +290 -65
  168. package/shared/localization/locales/ko.json +290 -65
  169. package/shared/localization/locales/lt.json +290 -65
  170. package/shared/localization/locales/lv.json +290 -65
  171. package/shared/localization/locales/nl.json +290 -65
  172. package/shared/localization/locales/no.json +290 -65
  173. package/shared/localization/locales/pl.json +290 -65
  174. package/shared/localization/locales/pt-PT.json +291 -66
  175. package/shared/localization/locales/pt.json +290 -65
  176. package/shared/localization/locales/ro.json +290 -65
  177. package/shared/localization/locales/ru.json +301 -76
  178. package/shared/localization/locales/sk.json +291 -66
  179. package/shared/localization/locales/sl.json +290 -65
  180. package/shared/localization/locales/sr-Latn.json +290 -65
  181. package/shared/localization/locales/sr.json +290 -65
  182. package/shared/localization/locales/sv.json +297 -72
  183. package/shared/localization/locales/ta.json +291 -66
  184. package/shared/localization/locales/te.json +293 -68
  185. package/shared/localization/locales/th.json +291 -66
  186. package/shared/localization/locales/tr.json +290 -65
  187. package/shared/localization/locales/uk.json +290 -65
  188. package/shared/localization/locales/vi.json +291 -66
  189. package/shared/localization/locales/zh-HK.json +292 -67
  190. package/shared/localization/locales/zh-TW.json +291 -66
  191. package/shared/localization/locales/zh.json +291 -66
  192. package/shared/types/shared.d.ts +1 -1
  193. package/tsconfig-base.json +2 -1
  194. package/tsconfig.json +2 -0
  195. package/types/artifacts.d.ts +1 -1
  196. package/types/internal/rxjs.d.ts +1 -1
  197. package/types/internal/smokehouse.d.ts +1 -1
  198. package/types.d.ts +2 -0
  199. package/types.js +11 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "core/audits/accessibility/accesskeys.js | description": {
3
- "message": "‏‮Access‬‏ ‏‮keys‬‏ ‏‮let‬‏ ‏‮users‬‏ ‏‮quickly‬‏ ‏‮focus‬‏ ‏‮a‬‏ ‏‮part‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏. ‏‮For‬‏ ‏‮proper‬‏ ‏‮navigation‬‏, ‏‮each‬‏ ‏‮access‬‏ ‏‮key‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮unique‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮access‬‏ ‏‮keys‬‏](https://dequeuniversity.com/rules/axe/4.11/accesskeys)."
3
+ "message": "‏‮Access‬‏ ‏‮keys‬‏ ‏‮let‬‏ ‏‮users‬‏ ‏‮quickly‬‏ ‏‮focus‬‏ ‏‮a‬‏ ‏‮part‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏. ‏‮For‬‏ ‏‮proper‬‏ ‏‮navigation‬‏, ‏‮each‬‏ ‏‮access‬‏ ‏‮key‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮unique‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮access‬‏ ‏‮keys‬‏](https://dequeuniversity.com/rules/axe/4.12/accesskeys)."
4
4
  },
5
5
  "core/audits/accessibility/accesskeys.js | failureTitle": {
6
6
  "message": "`[accesskey]` ‏‮values‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮unique‬‏"
@@ -9,7 +9,7 @@
9
9
  "message": "`[accesskey]` ‏‮values‬‏ ‏‮are‬‏ ‏‮unique‬‏"
10
10
  },
11
11
  "core/audits/accessibility/aria-allowed-attr.js | description": {
12
- "message": "‏‮Each‬‏ ‏‮ARIA‬‏ `role` ‏‮supports‬‏ ‏‮a‬‏ ‏‮specific‬‏ ‏‮subset‬‏ ‏‮of‬‏ `aria-*` ‏‮attributes‬‏. ‏‮Mismatching‬‏ ‏‮these‬‏ ‏‮invalidates‬‏ ‏‮the‬‏ `aria-*` ‏‮attributes‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮match‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮to‬‏ ‏‮their‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-allowed-attr)."
12
+ "message": "‏‮Each‬‏ ‏‮ARIA‬‏ `role` ‏‮supports‬‏ ‏‮a‬‏ ‏‮specific‬‏ ‏‮subset‬‏ ‏‮of‬‏ `aria-*` ‏‮attributes‬‏. ‏‮Mismatching‬‏ ‏‮these‬‏ ‏‮invalidates‬‏ ‏‮the‬‏ `aria-*` ‏‮attributes‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮match‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮to‬‏ ‏‮their‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-allowed-attr)."
13
13
  },
14
14
  "core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
15
15
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮match‬‏ ‏‮their‬‏ ‏‮roles‬‏"
@@ -18,7 +18,7 @@
18
18
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮match‬‏ ‏‮their‬‏ ‏‮roles‬‏"
19
19
  },
20
20
  "core/audits/accessibility/aria-allowed-role.js | description": {
21
- "message": "‏‮Many‬‏ ‏‮HTML‬‏ ‏‮elements‬‏ ‏‮can‬‏ ‏‮only‬‏ ‏‮be‬‏ ‏‮assigned‬‏ ‏‮certain‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏. ‏‮Using‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮where‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮allowed‬‏ ‏‮can‬‏ ‏‮interfere‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮accessibility‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-allowed-role)."
21
+ "message": "‏‮Many‬‏ ‏‮HTML‬‏ ‏‮elements‬‏ ‏‮can‬‏ ‏‮only‬‏ ‏‮be‬‏ ‏‮assigned‬‏ ‏‮certain‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏. ‏‮Using‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮where‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮allowed‬‏ ‏‮can‬‏ ‏‮interfere‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮accessibility‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-allowed-role)."
22
22
  },
23
23
  "core/audits/accessibility/aria-allowed-role.js | failureTitle": {
24
24
  "message": "‏‮Uses‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮on‬‏ ‏‮incompatible‬‏ ‏‮elements‬‏"
@@ -27,7 +27,7 @@
27
27
  "message": "‏‮Uses‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮only‬‏ ‏‮on‬‏ ‏‮compatible‬‏ ‏‮elements‬‏"
28
28
  },
29
29
  "core/audits/accessibility/aria-command-name.js | description": {
30
- "message": "‏‮When‬‏ ‏‮an‬‏ ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮command‬‏ ‏‮elements‬‏ ‏‮more‬‏ ‏‮accessible‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-command-name)."
30
+ "message": "‏‮When‬‏ ‏‮an‬‏ ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮command‬‏ ‏‮elements‬‏ ‏‮more‬‏ ‏‮accessible‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-command-name)."
31
31
  },
32
32
  "core/audits/accessibility/aria-command-name.js | failureTitle": {
33
33
  "message": "`button`, `link`, ‏‮and‬‏ `menuitem` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -36,7 +36,7 @@
36
36
  "message": "`button`, `link`, ‏‮and‬‏ `menuitem` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
37
37
  },
38
38
  "core/audits/accessibility/aria-conditional-attr.js | description": {
39
- "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮are‬‏ ‏‮only‬‏ ‏‮allowed‬‏ ‏‮on‬‏ ‏‮an‬‏ ‏‮element‬‏ ‏‮under‬‏ ‏‮certain‬‏ ‏‮conditions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮conditional‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-conditional-attr)."
39
+ "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮are‬‏ ‏‮only‬‏ ‏‮allowed‬‏ ‏‮on‬‏ ‏‮an‬‏ ‏‮element‬‏ ‏‮under‬‏ ‏‮certain‬‏ ‏‮conditions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮conditional‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-conditional-attr)."
40
40
  },
41
41
  "core/audits/accessibility/aria-conditional-attr.js | failureTitle": {
42
42
  "message": "‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮as‬‏ ‏‮specified‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮element‬‏'‏‮s‬‏ ‏‮role‬‏"
@@ -45,7 +45,7 @@
45
45
  "message": "‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮are‬‏ ‏‮used‬‏ ‏‮as‬‏ ‏‮specified‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮element‬‏'‏‮s‬‏ ‏‮role‬‏"
46
46
  },
47
47
  "core/audits/accessibility/aria-deprecated-role.js | description": {
48
- "message": "‏‮Deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮processed‬‏ ‏‮correctly‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technology‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-deprecated-role)."
48
+ "message": "‏‮Deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮processed‬‏ ‏‮correctly‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technology‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-deprecated-role)."
49
49
  },
50
50
  "core/audits/accessibility/aria-deprecated-role.js | failureTitle": {
51
51
  "message": "‏‮Deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮were‬‏ ‏‮used‬‏"
@@ -54,7 +54,7 @@
54
54
  "message": "‏‮Deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮were‬‏ ‏‮not‬‏ ‏‮used‬‏"
55
55
  },
56
56
  "core/audits/accessibility/aria-dialog-name.js | description": {
57
- "message": "‏‮ARIA‬‏ ‏‮dialog‬‏ ‏‮elements‬‏ ‏‮without‬‏ ‏‮accessible‬‏ ‏‮names‬‏ ‏‮may‬‏ ‏‮prevent‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮users‬‏ ‏‮from‬‏ ‏‮discerning‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮these‬‏ ‏‮elements‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮ARIA‬‏ ‏‮dialog‬‏ ‏‮elements‬‏ ‏‮more‬‏ ‏‮accessible‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-dialog-name)."
57
+ "message": "‏‮ARIA‬‏ ‏‮dialog‬‏ ‏‮elements‬‏ ‏‮without‬‏ ‏‮accessible‬‏ ‏‮names‬‏ ‏‮may‬‏ ‏‮prevent‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮users‬‏ ‏‮from‬‏ ‏‮discerning‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮these‬‏ ‏‮elements‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮ARIA‬‏ ‏‮dialog‬‏ ‏‮elements‬‏ ‏‮more‬‏ ‏‮accessible‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-dialog-name)."
58
58
  },
59
59
  "core/audits/accessibility/aria-dialog-name.js | failureTitle": {
60
60
  "message": "‏‮Elements‬‏ ‏‮with‬‏ `role=\"dialog\"` ‏‮or‬‏ `role=\"alertdialog\"` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -63,7 +63,7 @@
63
63
  "message": "‏‮Elements‬‏ ‏‮with‬‏ `role=\"dialog\"` ‏‮or‬‏ `role=\"alertdialog\"` ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
64
64
  },
65
65
  "core/audits/accessibility/aria-hidden-body.js | description": {
66
- "message": "‏‮Assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏, ‏‮work‬‏ ‏‮inconsistently‬‏ ‏‮when‬‏ `aria-hidden=\"true\"` ‏‮is‬‏ ‏‮set‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮document‬‏ `<body>`. [‏‮Learn‬‏ ‏‮how‬‏ `aria-hidden` ‏‮affects‬‏ ‏‮the‬‏ ‏‮document‬‏ ‏‮body‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-hidden-body)."
66
+ "message": "‏‮Assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏, ‏‮work‬‏ ‏‮inconsistently‬‏ ‏‮when‬‏ `aria-hidden=\"true\"` ‏‮is‬‏ ‏‮set‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮document‬‏ `<body>`. [‏‮Learn‬‏ ‏‮how‬‏ `aria-hidden` ‏‮affects‬‏ ‏‮the‬‏ ‏‮document‬‏ ‏‮body‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-hidden-body)."
67
67
  },
68
68
  "core/audits/accessibility/aria-hidden-body.js | failureTitle": {
69
69
  "message": "`[aria-hidden=\"true\"]` ‏‮is‬‏ ‏‮present‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮document‬‏ `<body>`"
@@ -72,7 +72,7 @@
72
72
  "message": "`[aria-hidden=\"true\"]` ‏‮is‬‏ ‏‮not‬‏ ‏‮present‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮document‬‏ `<body>`"
73
73
  },
74
74
  "core/audits/accessibility/aria-hidden-focus.js | description": {
75
- "message": "‏‮Focusable‬‏ ‏‮descendents‬‏ ‏‮within‬‏ ‏‮an‬‏ `[aria-hidden=\"true\"]` ‏‮element‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮interactive‬‏ ‏‮elements‬‏ ‏‮from‬‏ ‏‮being‬‏ ‏‮available‬‏ ‏‮to‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏ ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ `aria-hidden` ‏‮affects‬‏ ‏‮focusable‬‏ ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-hidden-focus)."
75
+ "message": "‏‮Focusable‬‏ ‏‮descendents‬‏ ‏‮within‬‏ ‏‮an‬‏ `[aria-hidden=\"true\"]` ‏‮element‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮interactive‬‏ ‏‮elements‬‏ ‏‮from‬‏ ‏‮being‬‏ ‏‮available‬‏ ‏‮to‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏ ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ `aria-hidden` ‏‮affects‬‏ ‏‮focusable‬‏ ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-hidden-focus)."
76
76
  },
77
77
  "core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
78
78
  "message": "`[aria-hidden=\"true\"]` ‏‮elements‬‏ ‏‮contain‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏"
@@ -81,7 +81,7 @@
81
81
  "message": "`[aria-hidden=\"true\"]` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏"
82
82
  },
83
83
  "core/audits/accessibility/aria-input-field-name.js | description": {
84
- "message": "‏‮When‬‏ ‏‮an‬‏ ‏‮input‬‏ ‏‮field‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮input‬‏ ‏‮field‬‏ ‏‮labels‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-input-field-name)."
84
+ "message": "‏‮When‬‏ ‏‮an‬‏ ‏‮input‬‏ ‏‮field‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮input‬‏ ‏‮field‬‏ ‏‮labels‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-input-field-name)."
85
85
  },
86
86
  "core/audits/accessibility/aria-input-field-name.js | failureTitle": {
87
87
  "message": "‏‮ARIA‬‏ ‏‮input‬‏ ‏‮fields‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
@@ -90,7 +90,7 @@
90
90
  "message": "‏‮ARIA‬‏ ‏‮input‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
91
91
  },
92
92
  "core/audits/accessibility/aria-meter-name.js | description": {
93
- "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮meter‬‏ ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮name‬‏ `meter` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-meter-name)."
93
+ "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮meter‬‏ ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮name‬‏ `meter` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-meter-name)."
94
94
  },
95
95
  "core/audits/accessibility/aria-meter-name.js | failureTitle": {
96
96
  "message": "‏‮ARIA‬‏ `meter` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -99,7 +99,7 @@
99
99
  "message": "‏‮ARIA‬‏ `meter` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
100
100
  },
101
101
  "core/audits/accessibility/aria-progressbar-name.js | description": {
102
- "message": "‏‮When‬‏ ‏‮a‬‏ `progressbar` ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮label‬‏ `progressbar` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-progressbar-name)."
102
+ "message": "‏‮When‬‏ ‏‮a‬‏ `progressbar` ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮label‬‏ `progressbar` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-progressbar-name)."
103
103
  },
104
104
  "core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
105
105
  "message": "‏‮ARIA‬‏ `progressbar` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -108,7 +108,7 @@
108
108
  "message": "‏‮ARIA‬‏ `progressbar` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
109
109
  },
110
110
  "core/audits/accessibility/aria-prohibited-attr.js | description": {
111
- "message": "‏‮Using‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮in‬‏ ‏‮roles‬‏ ‏‮where‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮prohibited‬‏ ‏‮can‬‏ ‏‮mean‬‏ ‏‮that‬‏ ‏‮important‬‏ ‏‮information‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮communicated‬‏ ‏‮to‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮prohibited‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-prohibited-attr)."
111
+ "message": "‏‮Using‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮in‬‏ ‏‮roles‬‏ ‏‮where‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮prohibited‬‏ ‏‮can‬‏ ‏‮mean‬‏ ‏‮that‬‏ ‏‮important‬‏ ‏‮information‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮communicated‬‏ ‏‮to‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮prohibited‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-prohibited-attr)."
112
112
  },
113
113
  "core/audits/accessibility/aria-prohibited-attr.js | failureTitle": {
114
114
  "message": "‏‮Elements‬‏ ‏‮use‬‏ ‏‮prohibited‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏"
@@ -117,7 +117,7 @@
117
117
  "message": "‏‮Elements‬‏ ‏‮use‬‏ ‏‮only‬‏ ‏‮permitted‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏"
118
118
  },
119
119
  "core/audits/accessibility/aria-required-attr.js | description": {
120
- "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮have‬‏ ‏‮required‬‏ ‏‮attributes‬‏ ‏‮that‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮state‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮element‬‏ ‏‮to‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮roles‬‏ ‏‮and‬‏ ‏‮required‬‏ ‏‮attributes‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-required-attr)."
120
+ "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮have‬‏ ‏‮required‬‏ ‏‮attributes‬‏ ‏‮that‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮state‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮element‬‏ ‏‮to‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮roles‬‏ ‏‮and‬‏ ‏‮required‬‏ ‏‮attributes‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-required-attr)."
121
121
  },
122
122
  "core/audits/accessibility/aria-required-attr.js | failureTitle": {
123
123
  "message": "`[role]`‏‮s‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ `[aria-*]` ‏‮attributes‬‏"
@@ -126,7 +126,7 @@
126
126
  "message": "`[role]`‏‮s‬‏ ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ `[aria-*]` ‏‮attributes‬‏"
127
127
  },
128
128
  "core/audits/accessibility/aria-required-children.js | description": {
129
- "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮parent‬‏ ‏‮roles‬‏ ‏‮must‬‏ ‏‮contain‬‏ ‏‮specific‬‏ ‏‮child‬‏ ‏‮roles‬‏ ‏‮to‬‏ ‏‮perform‬‏ ‏‮their‬‏ ‏‮intended‬‏ ‏‮accessibility‬‏ ‏‮functions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮roles‬‏ ‏‮and‬‏ ‏‮required‬‏ ‏‮children‬‏ ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-required-children)."
129
+ "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮parent‬‏ ‏‮roles‬‏ ‏‮must‬‏ ‏‮contain‬‏ ‏‮specific‬‏ ‏‮child‬‏ ‏‮roles‬‏ ‏‮to‬‏ ‏‮perform‬‏ ‏‮their‬‏ ‏‮intended‬‏ ‏‮accessibility‬‏ ‏‮functions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮roles‬‏ ‏‮and‬‏ ‏‮required‬‏ ‏‮children‬‏ ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-required-children)."
130
130
  },
131
131
  "core/audits/accessibility/aria-required-children.js | failureTitle": {
132
132
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮ARIA‬‏ `[role]` ‏‮that‬‏ ‏‮require‬‏ ‏‮children‬‏ ‏‮to‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮specific‬‏ `[role]` ‏‮are‬‏ ‏‮missing‬‏ ‏‮some‬‏ ‏‮or‬‏ ‏‮all‬‏ ‏‮of‬‏ ‏‮those‬‏ ‏‮required‬‏ ‏‮children‬‏."
@@ -135,7 +135,7 @@
135
135
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮ARIA‬‏ `[role]` ‏‮that‬‏ ‏‮require‬‏ ‏‮children‬‏ ‏‮to‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮specific‬‏ `[role]` ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ ‏‮children‬‏."
136
136
  },
137
137
  "core/audits/accessibility/aria-required-parent.js | description": {
138
- "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮child‬‏ ‏‮roles‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮contained‬‏ ‏‮by‬‏ ‏‮specific‬‏ ‏‮parent‬‏ ‏‮roles‬‏ ‏‮to‬‏ ‏‮properly‬‏ ‏‮perform‬‏ ‏‮their‬‏ ‏‮intended‬‏ ‏‮accessibility‬‏ ‏‮functions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮and‬‏ ‏‮required‬‏ ‏‮parent‬‏ ‏‮element‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-required-parent)."
138
+ "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮child‬‏ ‏‮roles‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮contained‬‏ ‏‮by‬‏ ‏‮specific‬‏ ‏‮parent‬‏ ‏‮roles‬‏ ‏‮to‬‏ ‏‮properly‬‏ ‏‮perform‬‏ ‏‮their‬‏ ‏‮intended‬‏ ‏‮accessibility‬‏ ‏‮functions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮and‬‏ ‏‮required‬‏ ‏‮parent‬‏ ‏‮element‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-required-parent)."
139
139
  },
140
140
  "core/audits/accessibility/aria-required-parent.js | failureTitle": {
141
141
  "message": "`[role]`‏‮s‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮contained‬‏ ‏‮by‬‏ ‏‮their‬‏ ‏‮required‬‏ ‏‮parent‬‏ ‏‮element‬‏"
@@ -144,7 +144,7 @@
144
144
  "message": "`[role]`‏‮s‬‏ ‏‮are‬‏ ‏‮contained‬‏ ‏‮by‬‏ ‏‮their‬‏ ‏‮required‬‏ ‏‮parent‬‏ ‏‮element‬‏"
145
145
  },
146
146
  "core/audits/accessibility/aria-roles.js | description": {
147
- "message": "‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮must‬‏ ‏‮have‬‏ ‏‮valid‬‏ ‏‮values‬‏ ‏‮in‬‏ ‏‮order‬‏ ‏‮to‬‏ ‏‮perform‬‏ ‏‮their‬‏ ‏‮intended‬‏ ‏‮accessibility‬‏ ‏‮functions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮valid‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-roles)."
147
+ "message": "‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮must‬‏ ‏‮have‬‏ ‏‮valid‬‏ ‏‮values‬‏ ‏‮in‬‏ ‏‮order‬‏ ‏‮to‬‏ ‏‮perform‬‏ ‏‮their‬‏ ‏‮intended‬‏ ‏‮accessibility‬‏ ‏‮functions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮valid‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-roles)."
148
148
  },
149
149
  "core/audits/accessibility/aria-roles.js | failureTitle": {
150
150
  "message": "`[role]` ‏‮values‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮valid‬‏"
@@ -153,7 +153,7 @@
153
153
  "message": "`[role]` ‏‮values‬‏ ‏‮are‬‏ ‏‮valid‬‏"
154
154
  },
155
155
  "core/audits/accessibility/aria-text.js | description": {
156
- "message": "‏‮Adding‬‏ `role=text` ‏‮around‬‏ ‏‮a‬‏ ‏‮text‬‏ ‏‮node‬‏ ‏‮split‬‏ ‏‮by‬‏ ‏‮markup‬‏ ‏‮enables‬‏ ‏‮VoiceOver‬‏ ‏‮to‬‏ ‏‮treat‬‏ ‏‮it‬‏ ‏‮as‬‏ ‏‮one‬‏ ‏‮phrase‬‏, ‏‮but‬‏ ‏‮the‬‏ ‏‮element‬‏'‏‮s‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮announced‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `role=text` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-text)."
156
+ "message": "‏‮Adding‬‏ `role=text` ‏‮around‬‏ ‏‮a‬‏ ‏‮text‬‏ ‏‮node‬‏ ‏‮split‬‏ ‏‮by‬‏ ‏‮markup‬‏ ‏‮enables‬‏ ‏‮VoiceOver‬‏ ‏‮to‬‏ ‏‮treat‬‏ ‏‮it‬‏ ‏‮as‬‏ ‏‮one‬‏ ‏‮phrase‬‏, ‏‮but‬‏ ‏‮the‬‏ ‏‮element‬‏'‏‮s‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮announced‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `role=text` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-text)."
157
157
  },
158
158
  "core/audits/accessibility/aria-text.js | failureTitle": {
159
159
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮the‬‏ `role=text` ‏‮attribute‬‏ ‏‮do‬‏ ‏‮have‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏."
@@ -162,7 +162,7 @@
162
162
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮the‬‏ `role=text` ‏‮attribute‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏."
163
163
  },
164
164
  "core/audits/accessibility/aria-toggle-field-name.js | description": {
165
- "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮toggle‬‏ ‏‮field‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮toggle‬‏ ‏‮fields‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-toggle-field-name)."
165
+ "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮toggle‬‏ ‏‮field‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮toggle‬‏ ‏‮fields‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-toggle-field-name)."
166
166
  },
167
167
  "core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
168
168
  "message": "‏‮ARIA‬‏ ‏‮toggle‬‏ ‏‮fields‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
@@ -171,7 +171,7 @@
171
171
  "message": "‏‮ARIA‬‏ ‏‮toggle‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
172
172
  },
173
173
  "core/audits/accessibility/aria-tooltip-name.js | description": {
174
- "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮tooltip‬‏ ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮name‬‏ `tooltip` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-tooltip-name)."
174
+ "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮tooltip‬‏ ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮name‬‏ `tooltip` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-tooltip-name)."
175
175
  },
176
176
  "core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
177
177
  "message": "‏‮ARIA‬‏ `tooltip` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -180,7 +180,7 @@
180
180
  "message": "‏‮ARIA‬‏ `tooltip` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
181
181
  },
182
182
  "core/audits/accessibility/aria-treeitem-name.js | description": {
183
- "message": "‏‮When‬‏ ‏‮a‬‏ `treeitem` ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮labeling‬‏ `treeitem` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-treeitem-name)."
183
+ "message": "‏‮When‬‏ ‏‮a‬‏ `treeitem` ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮labeling‬‏ `treeitem` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-treeitem-name)."
184
184
  },
185
185
  "core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
186
186
  "message": "‏‮ARIA‬‏ `treeitem` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -189,7 +189,7 @@
189
189
  "message": "‏‮ARIA‬‏ `treeitem` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
190
190
  },
191
191
  "core/audits/accessibility/aria-valid-attr-value.js | description": {
192
- "message": "‏‮Assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏, ‏‮can‬‏'‏‮t‬‏ ‏‮interpret‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮with‬‏ ‏‮invalid‬‏ ‏‮values‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮valid‬‏ ‏‮values‬‏ ‏‮for‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-valid-attr-value)."
192
+ "message": "‏‮Assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏, ‏‮can‬‏'‏‮t‬‏ ‏‮interpret‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮with‬‏ ‏‮invalid‬‏ ‏‮values‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮valid‬‏ ‏‮values‬‏ ‏‮for‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-valid-attr-value)."
193
193
  },
194
194
  "core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
195
195
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮valid‬‏ ‏‮values‬‏"
@@ -198,7 +198,7 @@
198
198
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮have‬‏ ‏‮valid‬‏ ‏‮values‬‏"
199
199
  },
200
200
  "core/audits/accessibility/aria-valid-attr.js | description": {
201
- "message": "‏‮Assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏, ‏‮can‬‏'‏‮t‬‏ ‏‮interpret‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮with‬‏ ‏‮invalid‬‏ ‏‮names‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮valid‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏](https://dequeuniversity.com/rules/axe/4.11/aria-valid-attr)."
201
+ "message": "‏‮Assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏, ‏‮can‬‏'‏‮t‬‏ ‏‮interpret‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮with‬‏ ‏‮invalid‬‏ ‏‮names‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮valid‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏](https://dequeuniversity.com/rules/axe/4.12/aria-valid-attr)."
202
202
  },
203
203
  "core/audits/accessibility/aria-valid-attr.js | failureTitle": {
204
204
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮valid‬‏ ‏‮or‬‏ ‏‮misspelled‬‏"
@@ -206,11 +206,20 @@
206
206
  "core/audits/accessibility/aria-valid-attr.js | title": {
207
207
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮are‬‏ ‏‮valid‬‏ ‏‮and‬‏ ‏‮not‬‏ ‏‮misspelled‬‏"
208
208
  },
209
+ "core/audits/accessibility/autocomplete-valid.js | description": {
210
+ "message": "‏‮The‬‏ `autocomplete` ‏‮attribute‬‏ ‏‮values‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮valid‬‏ ‏‮and‬‏ ‏‮correctly‬‏ ‏‮applied‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮to‬‏ ‏‮function‬‏ ‏‮correctly‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮valid‬‏ ‏‮autocomplete‬‏ ‏‮values‬‏](https://dequeuniversity.com/rules/axe/4.12/autocomplete-valid)."
211
+ },
212
+ "core/audits/accessibility/autocomplete-valid.js | failureTitle": {
213
+ "message": "`autocomplete` ‏‮attributes‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮correctly‬‏"
214
+ },
215
+ "core/audits/accessibility/autocomplete-valid.js | title": {
216
+ "message": "`autocomplete` ‏‮attributes‬‏ ‏‮are‬‏ ‏‮used‬‏ ‏‮correctly‬‏"
217
+ },
209
218
  "core/audits/accessibility/axe-audit.js | failingElementsHeader": {
210
219
  "message": "‏‮Failing‬‏ ‏‮Elements‬‏"
211
220
  },
212
221
  "core/audits/accessibility/button-name.js | description": {
213
- "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮button‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮as‬‏ \"‏‮button‬‏\", ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮buttons‬‏ ‏‮more‬‏ ‏‮accessible‬‏](https://dequeuniversity.com/rules/axe/4.11/button-name)."
222
+ "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮button‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮as‬‏ \"‏‮button‬‏\", ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮buttons‬‏ ‏‮more‬‏ ‏‮accessible‬‏](https://dequeuniversity.com/rules/axe/4.12/button-name)."
214
223
  },
215
224
  "core/audits/accessibility/button-name.js | failureTitle": {
216
225
  "message": "‏‮Buttons‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏"
@@ -219,7 +228,7 @@
219
228
  "message": "‏‮Buttons‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏"
220
229
  },
221
230
  "core/audits/accessibility/bypass.js | description": {
222
- "message": "‏‮Adding‬‏ ‏‮ways‬‏ ‏‮to‬‏ ‏‮bypass‬‏ ‏‮repetitive‬‏ ‏‮content‬‏ ‏‮lets‬‏ ‏‮keyboard‬‏ ‏‮users‬‏ ‏‮navigate‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮more‬‏ ‏‮efficiently‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮bypass‬‏ ‏‮blocks‬‏](https://dequeuniversity.com/rules/axe/4.11/bypass)."
231
+ "message": "‏‮Adding‬‏ ‏‮ways‬‏ ‏‮to‬‏ ‏‮bypass‬‏ ‏‮repetitive‬‏ ‏‮content‬‏ ‏‮lets‬‏ ‏‮keyboard‬‏ ‏‮users‬‏ ‏‮navigate‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮more‬‏ ‏‮efficiently‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮bypass‬‏ ‏‮blocks‬‏](https://dequeuniversity.com/rules/axe/4.12/bypass)."
223
232
  },
224
233
  "core/audits/accessibility/bypass.js | failureTitle": {
225
234
  "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮heading‬‏, ‏‮skip‬‏ ‏‮link‬‏, ‏‮or‬‏ ‏‮landmark‬‏ ‏‮region‬‏"
@@ -228,7 +237,7 @@
228
237
  "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮contains‬‏ ‏‮a‬‏ ‏‮heading‬‏, ‏‮skip‬‏ ‏‮link‬‏, ‏‮or‬‏ ‏‮landmark‬‏ ‏‮region‬‏"
229
238
  },
230
239
  "core/audits/accessibility/color-contrast.js | description": {
231
- "message": "‏‮Low‬‏-‏‮contrast‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮difficult‬‏ ‏‮or‬‏ ‏‮impossible‬‏ ‏‮for‬‏ ‏‮many‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮read‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮provide‬‏ ‏‮sufficient‬‏ ‏‮color‬‏ ‏‮contrast‬‏](https://dequeuniversity.com/rules/axe/4.11/color-contrast)."
240
+ "message": "‏‮Low‬‏-‏‮contrast‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮difficult‬‏ ‏‮or‬‏ ‏‮impossible‬‏ ‏‮for‬‏ ‏‮many‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮read‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮provide‬‏ ‏‮sufficient‬‏ ‏‮color‬‏ ‏‮contrast‬‏](https://dequeuniversity.com/rules/axe/4.12/color-contrast)."
232
241
  },
233
242
  "core/audits/accessibility/color-contrast.js | failureTitle": {
234
243
  "message": "‏‮Background‬‏ ‏‮and‬‏ ‏‮foreground‬‏ ‏‮colors‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮sufficient‬‏ ‏‮contrast‬‏ ‏‮ratio‬‏."
@@ -237,7 +246,7 @@
237
246
  "message": "‏‮Background‬‏ ‏‮and‬‏ ‏‮foreground‬‏ ‏‮colors‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮sufficient‬‏ ‏‮contrast‬‏ ‏‮ratio‬‏"
238
247
  },
239
248
  "core/audits/accessibility/definition-list.js | description": {
240
- "message": "‏‮When‬‏ ‏‮definition‬‏ ‏‮lists‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮properly‬‏ ‏‮marked‬‏ ‏‮up‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮may‬‏ ‏‮produce‬‏ ‏‮confusing‬‏ ‏‮or‬‏ ‏‮inaccurate‬‏ ‏‮output‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮structure‬‏ ‏‮definition‬‏ ‏‮lists‬‏ ‏‮correctly‬‏](https://dequeuniversity.com/rules/axe/4.11/definition-list)."
249
+ "message": "‏‮When‬‏ ‏‮definition‬‏ ‏‮lists‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮properly‬‏ ‏‮marked‬‏ ‏‮up‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮may‬‏ ‏‮produce‬‏ ‏‮confusing‬‏ ‏‮or‬‏ ‏‮inaccurate‬‏ ‏‮output‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮structure‬‏ ‏‮definition‬‏ ‏‮lists‬‏ ‏‮correctly‬‏](https://dequeuniversity.com/rules/axe/4.12/definition-list)."
241
250
  },
242
251
  "core/audits/accessibility/definition-list.js | failureTitle": {
243
252
  "message": "`<dl>`'‏‮s‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮only‬‏ ‏‮properly‬‏-‏‮ordered‬‏ `<dt>` ‏‮and‬‏ `<dd>` ‏‮groups‬‏, `<script>`, `<template>` ‏‮or‬‏ `<div>` ‏‮elements‬‏."
@@ -246,7 +255,7 @@
246
255
  "message": "`<dl>`'‏‮s‬‏ ‏‮contain‬‏ ‏‮only‬‏ ‏‮properly‬‏-‏‮ordered‬‏ `<dt>` ‏‮and‬‏ `<dd>` ‏‮groups‬‏, `<script>`, `<template>` ‏‮or‬‏ `<div>` ‏‮elements‬‏."
247
256
  },
248
257
  "core/audits/accessibility/dlitem.js | description": {
249
- "message": "‏‮Definition‬‏ ‏‮list‬‏ ‏‮items‬‏ (`<dt>` ‏‮and‬‏ `<dd>`) ‏‮must‬‏ ‏‮be‬‏ ‏‮wrapped‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮parent‬‏ `<dl>` ‏‮element‬‏ ‏‮to‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮can‬‏ ‏‮properly‬‏ ‏‮announce‬‏ ‏‮them‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮structure‬‏ ‏‮definition‬‏ ‏‮lists‬‏ ‏‮correctly‬‏](https://dequeuniversity.com/rules/axe/4.11/dlitem)."
258
+ "message": "‏‮Definition‬‏ ‏‮list‬‏ ‏‮items‬‏ (`<dt>` ‏‮and‬‏ `<dd>`) ‏‮must‬‏ ‏‮be‬‏ ‏‮wrapped‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮parent‬‏ `<dl>` ‏‮element‬‏ ‏‮to‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮can‬‏ ‏‮properly‬‏ ‏‮announce‬‏ ‏‮them‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮structure‬‏ ‏‮definition‬‏ ‏‮lists‬‏ ‏‮correctly‬‏](https://dequeuniversity.com/rules/axe/4.12/dlitem)."
250
259
  },
251
260
  "core/audits/accessibility/dlitem.js | failureTitle": {
252
261
  "message": "‏‮Definition‬‏ ‏‮list‬‏ ‏‮items‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮wrapped‬‏ ‏‮in‬‏ `<dl>` ‏‮elements‬‏"
@@ -255,7 +264,7 @@
255
264
  "message": "‏‮Definition‬‏ ‏‮list‬‏ ‏‮items‬‏ ‏‮are‬‏ ‏‮wrapped‬‏ ‏‮in‬‏ `<dl>` ‏‮elements‬‏"
256
265
  },
257
266
  "core/audits/accessibility/document-title.js | description": {
258
- "message": "‏‮The‬‏ ‏‮title‬‏ ‏‮gives‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮an‬‏ ‏‮overview‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏, ‏‮and‬‏ ‏‮search‬‏ ‏‮engine‬‏ ‏‮users‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮it‬‏ ‏‮heavily‬‏ ‏‮to‬‏ ‏‮determine‬‏ ‏‮if‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮relevant‬‏ ‏‮to‬‏ ‏‮their‬‏ ‏‮search‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮document‬‏ ‏‮titles‬‏](https://dequeuniversity.com/rules/axe/4.11/document-title)."
267
+ "message": "‏‮The‬‏ ‏‮title‬‏ ‏‮gives‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮an‬‏ ‏‮overview‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏, ‏‮and‬‏ ‏‮search‬‏ ‏‮engine‬‏ ‏‮users‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮it‬‏ ‏‮heavily‬‏ ‏‮to‬‏ ‏‮determine‬‏ ‏‮if‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮relevant‬‏ ‏‮to‬‏ ‏‮their‬‏ ‏‮search‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮document‬‏ ‏‮titles‬‏](https://dequeuniversity.com/rules/axe/4.12/document-title)."
259
268
  },
260
269
  "core/audits/accessibility/document-title.js | failureTitle": {
261
270
  "message": "‏‮Document‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮a‬‏ `<title>` ‏‮element‬‏"
@@ -264,7 +273,7 @@
264
273
  "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ `<title>` ‏‮element‬‏"
265
274
  },
266
275
  "core/audits/accessibility/duplicate-id-aria.js | description": {
267
- "message": "‏‮The‬‏ ‏‮value‬‏ ‏‮of‬‏ ‏‮an‬‏ ‏‮ARIA‬‏ ‏‮ID‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮unique‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮other‬‏ ‏‮instances‬‏ ‏‮from‬‏ ‏‮being‬‏ ‏‮overlooked‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮fix‬‏ ‏‮duplicate‬‏ ‏‮ARIA‬‏ ‏‮IDs‬‏](https://dequeuniversity.com/rules/axe/4.11/duplicate-id-aria)."
276
+ "message": "‏‮The‬‏ ‏‮value‬‏ ‏‮of‬‏ ‏‮an‬‏ ‏‮ARIA‬‏ ‏‮ID‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮unique‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮other‬‏ ‏‮instances‬‏ ‏‮from‬‏ ‏‮being‬‏ ‏‮overlooked‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮fix‬‏ ‏‮duplicate‬‏ ‏‮ARIA‬‏ ‏‮IDs‬‏](https://dequeuniversity.com/rules/axe/4.12/duplicate-id-aria)."
268
277
  },
269
278
  "core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
270
279
  "message": "‏‮ARIA‬‏ ‏‮IDs‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮unique‬‏"
@@ -273,7 +282,7 @@
273
282
  "message": "‏‮ARIA‬‏ ‏‮IDs‬‏ ‏‮are‬‏ ‏‮unique‬‏"
274
283
  },
275
284
  "core/audits/accessibility/empty-heading.js | description": {
276
- "message": "‏‮A‬‏ ‏‮heading‬‏ ‏‮with‬‏ ‏‮no‬‏ ‏‮content‬‏ ‏‮or‬‏ ‏‮inaccessible‬‏ ‏‮text‬‏ ‏‮prevent‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮from‬‏ ‏‮accessing‬‏ ‏‮information‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏'‏‮s‬‏ ‏‮structure‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮headings‬‏](https://dequeuniversity.com/rules/axe/4.11/empty-heading)."
285
+ "message": "‏‮A‬‏ ‏‮heading‬‏ ‏‮with‬‏ ‏‮no‬‏ ‏‮content‬‏ ‏‮or‬‏ ‏‮inaccessible‬‏ ‏‮text‬‏ ‏‮prevent‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮from‬‏ ‏‮accessing‬‏ ‏‮information‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏'‏‮s‬‏ ‏‮structure‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮headings‬‏](https://dequeuniversity.com/rules/axe/4.12/empty-heading)."
277
286
  },
278
287
  "core/audits/accessibility/empty-heading.js | failureTitle": {
279
288
  "message": "‏‮Heading‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮content‬‏."
@@ -282,7 +291,7 @@
282
291
  "message": "‏‮All‬‏ ‏‮heading‬‏ ‏‮elements‬‏ ‏‮contain‬‏ ‏‮content‬‏."
283
292
  },
284
293
  "core/audits/accessibility/form-field-multiple-labels.js | description": {
285
- "message": "‏‮Form‬‏ ‏‮fields‬‏ ‏‮with‬‏ ‏‮multiple‬‏ ‏‮labels‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮confusingly‬‏ ‏‮announced‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏ ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮which‬‏ ‏‮use‬‏ ‏‮either‬‏ ‏‮the‬‏ ‏‮first‬‏, ‏‮the‬‏ ‏‮last‬‏, ‏‮or‬‏ ‏‮all‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮labels‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮form‬‏ ‏‮labels‬‏](https://dequeuniversity.com/rules/axe/4.11/form-field-multiple-labels)."
294
+ "message": "‏‮Form‬‏ ‏‮fields‬‏ ‏‮with‬‏ ‏‮multiple‬‏ ‏‮labels‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮confusingly‬‏ ‏‮announced‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏ ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮which‬‏ ‏‮use‬‏ ‏‮either‬‏ ‏‮the‬‏ ‏‮first‬‏, ‏‮the‬‏ ‏‮last‬‏, ‏‮or‬‏ ‏‮all‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮labels‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮form‬‏ ‏‮labels‬‏](https://dequeuniversity.com/rules/axe/4.12/form-field-multiple-labels)."
286
295
  },
287
296
  "core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
288
297
  "message": "‏‮Form‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮multiple‬‏ ‏‮labels‬‏"
@@ -291,7 +300,7 @@
291
300
  "message": "‏‮No‬‏ ‏‮form‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮multiple‬‏ ‏‮labels‬‏"
292
301
  },
293
302
  "core/audits/accessibility/frame-title.js | description": {
294
- "message": "‏‮Screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮frame‬‏ ‏‮titles‬‏ ‏‮to‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮contents‬‏ ‏‮of‬‏ ‏‮frames‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮frame‬‏ ‏‮titles‬‏](https://dequeuniversity.com/rules/axe/4.11/frame-title)."
303
+ "message": "‏‮Screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮frame‬‏ ‏‮titles‬‏ ‏‮to‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮contents‬‏ ‏‮of‬‏ ‏‮frames‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮frame‬‏ ‏‮titles‬‏](https://dequeuniversity.com/rules/axe/4.12/frame-title)."
295
304
  },
296
305
  "core/audits/accessibility/frame-title.js | failureTitle": {
297
306
  "message": "`<frame>` ‏‮or‬‏ `<iframe>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮title‬‏"
@@ -300,7 +309,7 @@
300
309
  "message": "`<frame>` ‏‮or‬‏ `<iframe>` ‏‮elements‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮title‬‏"
301
310
  },
302
311
  "core/audits/accessibility/heading-order.js | description": {
303
- "message": "‏‮Properly‬‏ ‏‮ordered‬‏ ‏‮headings‬‏ ‏‮that‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮skip‬‏ ‏‮levels‬‏ ‏‮convey‬‏ ‏‮the‬‏ ‏‮semantic‬‏ ‏‮structure‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮easier‬‏ ‏‮to‬‏ ‏‮navigate‬‏ ‏‮and‬‏ ‏‮understand‬‏ ‏‮when‬‏ ‏‮using‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮heading‬‏ ‏‮order‬‏](https://dequeuniversity.com/rules/axe/4.11/heading-order)."
312
+ "message": "‏‮Properly‬‏ ‏‮ordered‬‏ ‏‮headings‬‏ ‏‮that‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮skip‬‏ ‏‮levels‬‏ ‏‮convey‬‏ ‏‮the‬‏ ‏‮semantic‬‏ ‏‮structure‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮easier‬‏ ‏‮to‬‏ ‏‮navigate‬‏ ‏‮and‬‏ ‏‮understand‬‏ ‏‮when‬‏ ‏‮using‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮heading‬‏ ‏‮order‬‏](https://dequeuniversity.com/rules/axe/4.12/heading-order)."
304
313
  },
305
314
  "core/audits/accessibility/heading-order.js | failureTitle": {
306
315
  "message": "‏‮Heading‬‏ ‏‮elements‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮sequentially‬‏-‏‮descending‬‏ ‏‮order‬‏"
@@ -309,7 +318,7 @@
309
318
  "message": "‏‮Heading‬‏ ‏‮elements‬‏ ‏‮appear‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮sequentially‬‏-‏‮descending‬‏ ‏‮order‬‏"
310
319
  },
311
320
  "core/audits/accessibility/html-has-lang.js | description": {
312
- "message": "‏‮If‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮specify‬‏ ‏‮a‬‏ `lang` ‏‮attribute‬‏, ‏‮a‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮assumes‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮default‬‏ ‏‮language‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮user‬‏ ‏‮chose‬‏ ‏‮when‬‏ ‏‮setting‬‏ ‏‮up‬‏ ‏‮the‬‏ ‏‮screen‬‏ ‏‮reader‬‏. ‏‮If‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮isn‬‏'‏‮t‬‏ ‏‮actually‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮default‬‏ ‏‮language‬‏, ‏‮then‬‏ ‏‮the‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮might‬‏ ‏‮not‬‏ ‏‮announce‬‏ ‏‮the‬‏ ‏‮page‬‏'‏‮s‬‏ ‏‮text‬‏ ‏‮correctly‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `lang` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.11/html-has-lang)."
321
+ "message": "‏‮If‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮specify‬‏ ‏‮a‬‏ `lang` ‏‮attribute‬‏, ‏‮a‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮assumes‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮default‬‏ ‏‮language‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮user‬‏ ‏‮chose‬‏ ‏‮when‬‏ ‏‮setting‬‏ ‏‮up‬‏ ‏‮the‬‏ ‏‮screen‬‏ ‏‮reader‬‏. ‏‮If‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮isn‬‏'‏‮t‬‏ ‏‮actually‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮default‬‏ ‏‮language‬‏, ‏‮then‬‏ ‏‮the‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮might‬‏ ‏‮not‬‏ ‏‮announce‬‏ ‏‮the‬‏ ‏‮page‬‏'‏‮s‬‏ ‏‮text‬‏ ‏‮correctly‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `lang` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.12/html-has-lang)."
313
322
  },
314
323
  "core/audits/accessibility/html-has-lang.js | failureTitle": {
315
324
  "message": "`<html>` ‏‮element‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ `[lang]` ‏‮attribute‬‏"
@@ -318,7 +327,7 @@
318
327
  "message": "`<html>` ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ `[lang]` ‏‮attribute‬‏"
319
328
  },
320
329
  "core/audits/accessibility/html-lang-valid.js | description": {
321
- "message": "‏‮Specifying‬‏ ‏‮a‬‏ ‏‮valid‬‏ [‏‮BCP‬‏ 47 ‏‮language‬‏](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ‏‮helps‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮text‬‏ ‏‮properly‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮the‬‏ `lang` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.11/html-lang-valid)."
330
+ "message": "‏‮Specifying‬‏ ‏‮a‬‏ ‏‮valid‬‏ [‏‮BCP‬‏ 47 ‏‮language‬‏](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ‏‮helps‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮text‬‏ ‏‮properly‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮the‬‏ `lang` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.12/html-lang-valid)."
322
331
  },
323
332
  "core/audits/accessibility/html-lang-valid.js | failureTitle": {
324
333
  "message": "`<html>` ‏‮element‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏ ‏‮for‬‏ ‏‮its‬‏ `[lang]` ‏‮attribute‬‏."
@@ -327,7 +336,7 @@
327
336
  "message": "`<html>` ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏ ‏‮for‬‏ ‏‮its‬‏ `[lang]` ‏‮attribute‬‏"
328
337
  },
329
338
  "core/audits/accessibility/html-xml-lang-mismatch.js | description": {
330
- "message": "‏‮If‬‏ ‏‮the‬‏ ‏‮webpage‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮specify‬‏ ‏‮a‬‏ ‏‮consistent‬‏ ‏‮language‬‏, ‏‮then‬‏ ‏‮the‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮might‬‏ ‏‮not‬‏ ‏‮announce‬‏ ‏‮the‬‏ ‏‮page‬‏'‏‮s‬‏ ‏‮text‬‏ ‏‮correctly‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `lang` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.11/html-xml-lang-mismatch)."
339
+ "message": "‏‮If‬‏ ‏‮the‬‏ ‏‮webpage‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮specify‬‏ ‏‮a‬‏ ‏‮consistent‬‏ ‏‮language‬‏, ‏‮then‬‏ ‏‮the‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮might‬‏ ‏‮not‬‏ ‏‮announce‬‏ ‏‮the‬‏ ‏‮page‬‏'‏‮s‬‏ ‏‮text‬‏ ‏‮correctly‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `lang` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.12/html-xml-lang-mismatch)."
331
340
  },
332
341
  "core/audits/accessibility/html-xml-lang-mismatch.js | failureTitle": {
333
342
  "message": "`<html>` ‏‮element‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮an‬‏ `[xml:lang]` ‏‮attribute‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮base‬‏ ‏‮language‬‏ ‏‮as‬‏ ‏‮the‬‏ `[lang]` ‏‮attribute‬‏."
@@ -336,7 +345,7 @@
336
345
  "message": "`<html>` ‏‮element‬‏ ‏‮has‬‏ ‏‮an‬‏ `[xml:lang]` ‏‮attribute‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮base‬‏ ‏‮language‬‏ ‏‮as‬‏ ‏‮the‬‏ `[lang]` ‏‮attribute‬‏."
337
346
  },
338
347
  "core/audits/accessibility/identical-links-same-purpose.js | description": {
339
- "message": "‏‮Links‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮destination‬‏ ‏‮should‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮description‬‏, ‏‮to‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮understand‬‏ ‏‮the‬‏ ‏‮link‬‏'‏‮s‬‏ ‏‮purpose‬‏ ‏‮and‬‏ ‏‮decide‬‏ ‏‮whether‬‏ ‏‮to‬‏ ‏‮follow‬‏ ‏‮it‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮identical‬‏ ‏‮links‬‏](https://dequeuniversity.com/rules/axe/4.11/identical-links-same-purpose)."
348
+ "message": "‏‮Links‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮destination‬‏ ‏‮should‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮description‬‏, ‏‮to‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮understand‬‏ ‏‮the‬‏ ‏‮link‬‏'‏‮s‬‏ ‏‮purpose‬‏ ‏‮and‬‏ ‏‮decide‬‏ ‏‮whether‬‏ ‏‮to‬‏ ‏‮follow‬‏ ‏‮it‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮identical‬‏ ‏‮links‬‏](https://dequeuniversity.com/rules/axe/4.12/identical-links-same-purpose)."
340
349
  },
341
350
  "core/audits/accessibility/identical-links-same-purpose.js | failureTitle": {
342
351
  "message": "‏‮Identical‬‏ ‏‮links‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮purpose‬‏."
@@ -345,7 +354,7 @@
345
354
  "message": "‏‮Identical‬‏ ‏‮links‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮purpose‬‏."
346
355
  },
347
356
  "core/audits/accessibility/image-alt.js | description": {
348
- "message": "‏‮Informative‬‏ ‏‮elements‬‏ ‏‮should‬‏ ‏‮aim‬‏ ‏‮for‬‏ ‏‮short‬‏, ‏‮descriptive‬‏ ‏‮alternate‬‏ ‏‮text‬‏. ‏‮Decorative‬‏ ‏‮elements‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮ignored‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮empty‬‏ ‏‮alt‬‏ ‏‮attribute‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `alt` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.11/image-alt)."
357
+ "message": "‏‮Informative‬‏ ‏‮elements‬‏ ‏‮should‬‏ ‏‮aim‬‏ ‏‮for‬‏ ‏‮short‬‏, ‏‮descriptive‬‏ ‏‮alternate‬‏ ‏‮text‬‏. ‏‮Decorative‬‏ ‏‮elements‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮ignored‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮empty‬‏ ‏‮alt‬‏ ‏‮attribute‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `alt` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.12/image-alt)."
349
358
  },
350
359
  "core/audits/accessibility/image-alt.js | failureTitle": {
351
360
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏"
@@ -354,7 +363,7 @@
354
363
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏"
355
364
  },
356
365
  "core/audits/accessibility/image-redundant-alt.js | description": {
357
- "message": "‏‮Informative‬‏ ‏‮elements‬‏ ‏‮should‬‏ ‏‮aim‬‏ ‏‮for‬‏ ‏‮short‬‏, ‏‮descriptive‬‏ ‏‮alternative‬‏ ‏‮text‬‏. ‏‮Alternative‬‏ ‏‮text‬‏ ‏‮that‬‏ ‏‮is‬‏ ‏‮exactly‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮as‬‏ ‏‮the‬‏ ‏‮text‬‏ ‏‮adjacent‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮link‬‏ ‏‮or‬‏ ‏‮image‬‏ ‏‮is‬‏ ‏‮potentially‬‏ ‏‮confusing‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏, ‏‮because‬‏ ‏‮the‬‏ ‏‮text‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮read‬‏ ‏‮twice‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `alt` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.11/image-redundant-alt)."
366
+ "message": "‏‮Informative‬‏ ‏‮elements‬‏ ‏‮should‬‏ ‏‮aim‬‏ ‏‮for‬‏ ‏‮short‬‏, ‏‮descriptive‬‏ ‏‮alternative‬‏ ‏‮text‬‏. ‏‮Alternative‬‏ ‏‮text‬‏ ‏‮that‬‏ ‏‮is‬‏ ‏‮exactly‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮as‬‏ ‏‮the‬‏ ‏‮text‬‏ ‏‮adjacent‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮link‬‏ ‏‮or‬‏ ‏‮image‬‏ ‏‮is‬‏ ‏‮potentially‬‏ ‏‮confusing‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏, ‏‮because‬‏ ‏‮the‬‏ ‏‮text‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮read‬‏ ‏‮twice‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `alt` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.12/image-redundant-alt)."
358
367
  },
359
368
  "core/audits/accessibility/image-redundant-alt.js | failureTitle": {
360
369
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮redundant‬‏ ‏‮text‬‏."
@@ -363,7 +372,7 @@
363
372
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮redundant‬‏ ‏‮text‬‏."
364
373
  },
365
374
  "core/audits/accessibility/input-button-name.js | description": {
366
- "message": "‏‮Adding‬‏ ‏‮discernable‬‏ ‏‮and‬‏ ‏‮accessible‬‏ ‏‮text‬‏ ‏‮to‬‏ ‏‮input‬‏ ‏‮buttons‬‏ ‏‮may‬‏ ‏‮help‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮understand‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮input‬‏ ‏‮button‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮input‬‏ ‏‮buttons‬‏](https://dequeuniversity.com/rules/axe/4.11/input-button-name)."
375
+ "message": "‏‮Adding‬‏ ‏‮discernable‬‏ ‏‮and‬‏ ‏‮accessible‬‏ ‏‮text‬‏ ‏‮to‬‏ ‏‮input‬‏ ‏‮buttons‬‏ ‏‮may‬‏ ‏‮help‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮understand‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮input‬‏ ‏‮button‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮input‬‏ ‏‮buttons‬‏](https://dequeuniversity.com/rules/axe/4.12/input-button-name)."
367
376
  },
368
377
  "core/audits/accessibility/input-button-name.js | failureTitle": {
369
378
  "message": "‏‮Input‬‏ ‏‮buttons‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮discernible‬‏ ‏‮text‬‏."
@@ -372,7 +381,7 @@
372
381
  "message": "‏‮Input‬‏ ‏‮buttons‬‏ ‏‮have‬‏ ‏‮discernible‬‏ ‏‮text‬‏."
373
382
  },
374
383
  "core/audits/accessibility/input-image-alt.js | description": {
375
- "message": "‏‮When‬‏ ‏‮an‬‏ ‏‮image‬‏ ‏‮is‬‏ ‏‮being‬‏ ‏‮used‬‏ ‏‮as‬‏ ‏‮an‬‏ `<input>` ‏‮button‬‏, ‏‮providing‬‏ ‏‮alternative‬‏ ‏‮text‬‏ ‏‮can‬‏ ‏‮help‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮understand‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮button‬‏. [‏‮Learn‬‏ ‏‮about‬‏ ‏‮input‬‏ ‏‮image‬‏ ‏‮alt‬‏ ‏‮text‬‏](https://dequeuniversity.com/rules/axe/4.11/input-image-alt)."
384
+ "message": "‏‮When‬‏ ‏‮an‬‏ ‏‮image‬‏ ‏‮is‬‏ ‏‮being‬‏ ‏‮used‬‏ ‏‮as‬‏ ‏‮an‬‏ `<input>` ‏‮button‬‏, ‏‮providing‬‏ ‏‮alternative‬‏ ‏‮text‬‏ ‏‮can‬‏ ‏‮help‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮understand‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮button‬‏. [‏‮Learn‬‏ ‏‮about‬‏ ‏‮input‬‏ ‏‮image‬‏ ‏‮alt‬‏ ‏‮text‬‏](https://dequeuniversity.com/rules/axe/4.12/input-image-alt)."
376
385
  },
377
386
  "core/audits/accessibility/input-image-alt.js | failureTitle": {
378
387
  "message": "`<input type=\"image\">` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ `[alt]` ‏‮text‬‏"
@@ -381,7 +390,7 @@
381
390
  "message": "`<input type=\"image\">` ‏‮elements‬‏ ‏‮have‬‏ `[alt]` ‏‮text‬‏"
382
391
  },
383
392
  "core/audits/accessibility/label-content-name-mismatch.js | description": {
384
- "message": "‏‮Visible‬‏ ‏‮text‬‏ ‏‮labels‬‏ ‏‮that‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮match‬‏ ‏‮the‬‏ ‏‮accessible‬‏ ‏‮name‬‏ ‏‮can‬‏ ‏‮result‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮confusing‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮accessible‬‏ ‏‮names‬‏](https://dequeuniversity.com/rules/axe/4.11/label-content-name-mismatch)."
393
+ "message": "‏‮Visible‬‏ ‏‮text‬‏ ‏‮labels‬‏ ‏‮that‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮match‬‏ ‏‮the‬‏ ‏‮accessible‬‏ ‏‮name‬‏ ‏‮can‬‏ ‏‮result‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮confusing‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮accessible‬‏ ‏‮names‬‏](https://dequeuniversity.com/rules/axe/4.12/label-content-name-mismatch)."
385
394
  },
386
395
  "core/audits/accessibility/label-content-name-mismatch.js | failureTitle": {
387
396
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮visible‬‏ ‏‮text‬‏ ‏‮labels‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮matching‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -390,7 +399,7 @@
390
399
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮visible‬‏ ‏‮text‬‏ ‏‮labels‬‏ ‏‮have‬‏ ‏‮matching‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
391
400
  },
392
401
  "core/audits/accessibility/label.js | description": {
393
- "message": "‏‮Labels‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮form‬‏ ‏‮controls‬‏ ‏‮are‬‏ ‏‮announced‬‏ ‏‮properly‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮form‬‏ ‏‮element‬‏ ‏‮labels‬‏](https://dequeuniversity.com/rules/axe/4.11/label)."
402
+ "message": "‏‮Labels‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮form‬‏ ‏‮controls‬‏ ‏‮are‬‏ ‏‮announced‬‏ ‏‮properly‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮form‬‏ ‏‮element‬‏ ‏‮labels‬‏](https://dequeuniversity.com/rules/axe/4.12/label)."
394
403
  },
395
404
  "core/audits/accessibility/label.js | failureTitle": {
396
405
  "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮labels‬‏"
@@ -399,7 +408,7 @@
399
408
  "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮labels‬‏"
400
409
  },
401
410
  "core/audits/accessibility/landmark-one-main.js | description": {
402
- "message": "‏‮One‬‏ ‏‮main‬‏ ‏‮landmark‬‏ ‏‮helps‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮navigate‬‏ ‏‮a‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮landmarks‬‏](https://dequeuniversity.com/rules/axe/4.11/landmark-one-main)."
411
+ "message": "‏‮One‬‏ ‏‮main‬‏ ‏‮landmark‬‏ ‏‮helps‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮navigate‬‏ ‏‮a‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮landmarks‬‏](https://dequeuniversity.com/rules/axe/4.12/landmark-one-main)."
403
412
  },
404
413
  "core/audits/accessibility/landmark-one-main.js | failureTitle": {
405
414
  "message": "‏‮Document‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮main‬‏ ‏‮landmark‬‏."
@@ -408,7 +417,7 @@
408
417
  "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮main‬‏ ‏‮landmark‬‏."
409
418
  },
410
419
  "core/audits/accessibility/link-in-text-block.js | description": {
411
- "message": "‏‮Low‬‏-‏‮contrast‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮difficult‬‏ ‏‮or‬‏ ‏‮impossible‬‏ ‏‮for‬‏ ‏‮many‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮read‬‏. ‏‮Link‬‏ ‏‮text‬‏ ‏‮that‬‏ ‏‮is‬‏ ‏‮discernible‬‏ ‏‮improves‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮with‬‏ ‏‮low‬‏ ‏‮vision‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮links‬‏ ‏‮distinguishable‬‏](https://dequeuniversity.com/rules/axe/4.11/link-in-text-block)."
420
+ "message": "‏‮Low‬‏-‏‮contrast‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮difficult‬‏ ‏‮or‬‏ ‏‮impossible‬‏ ‏‮for‬‏ ‏‮many‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮read‬‏. ‏‮Link‬‏ ‏‮text‬‏ ‏‮that‬‏ ‏‮is‬‏ ‏‮discernible‬‏ ‏‮improves‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮with‬‏ ‏‮low‬‏ ‏‮vision‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮links‬‏ ‏‮distinguishable‬‏](https://dequeuniversity.com/rules/axe/4.12/link-in-text-block)."
412
421
  },
413
422
  "core/audits/accessibility/link-in-text-block.js | failureTitle": {
414
423
  "message": "‏‮Links‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮color‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮distinguishable‬‏."
@@ -417,7 +426,7 @@
417
426
  "message": "‏‮Links‬‏ ‏‮are‬‏ ‏‮distinguishable‬‏ ‏‮without‬‏ ‏‮relying‬‏ ‏‮on‬‏ ‏‮color‬‏."
418
427
  },
419
428
  "core/audits/accessibility/link-name.js | description": {
420
- "message": "‏‮Link‬‏ ‏‮text‬‏ (‏‮and‬‏ ‏‮alternate‬‏ ‏‮text‬‏ ‏‮for‬‏ ‏‮images‬‏, ‏‮when‬‏ ‏‮used‬‏ ‏‮as‬‏ ‏‮links‬‏) ‏‮that‬‏ ‏‮is‬‏ ‏‮discernible‬‏, ‏‮unique‬‏, ‏‮and‬‏ ‏‮focusable‬‏ ‏‮improves‬‏ ‏‮the‬‏ ‏‮navigation‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮links‬‏ ‏‮accessible‬‏](https://dequeuniversity.com/rules/axe/4.11/link-name)."
429
+ "message": "‏‮Link‬‏ ‏‮text‬‏ (‏‮and‬‏ ‏‮alternate‬‏ ‏‮text‬‏ ‏‮for‬‏ ‏‮images‬‏, ‏‮when‬‏ ‏‮used‬‏ ‏‮as‬‏ ‏‮links‬‏) ‏‮that‬‏ ‏‮is‬‏ ‏‮discernible‬‏, ‏‮unique‬‏, ‏‮and‬‏ ‏‮focusable‬‏ ‏‮improves‬‏ ‏‮the‬‏ ‏‮navigation‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮links‬‏ ‏‮accessible‬‏](https://dequeuniversity.com/rules/axe/4.12/link-name)."
421
430
  },
422
431
  "core/audits/accessibility/link-name.js | failureTitle": {
423
432
  "message": "‏‮Links‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮discernible‬‏ ‏‮name‬‏"
@@ -426,7 +435,7 @@
426
435
  "message": "‏‮Links‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮discernible‬‏ ‏‮name‬‏"
427
436
  },
428
437
  "core/audits/accessibility/list.js | description": {
429
- "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮specific‬‏ ‏‮way‬‏ ‏‮of‬‏ ‏‮announcing‬‏ ‏‮lists‬‏. ‏‮Ensuring‬‏ ‏‮proper‬‏ ‏‮list‬‏ ‏‮structure‬‏ ‏‮aids‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮output‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮proper‬‏ ‏‮list‬‏ ‏‮structure‬‏](https://dequeuniversity.com/rules/axe/4.11/list)."
438
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮specific‬‏ ‏‮way‬‏ ‏‮of‬‏ ‏‮announcing‬‏ ‏‮lists‬‏. ‏‮Ensuring‬‏ ‏‮proper‬‏ ‏‮list‬‏ ‏‮structure‬‏ ‏‮aids‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮output‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮proper‬‏ ‏‮list‬‏ ‏‮structure‬‏](https://dequeuniversity.com/rules/axe/4.12/list)."
430
439
  },
431
440
  "core/audits/accessibility/list.js | failureTitle": {
432
441
  "message": "‏‮Lists‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮only‬‏ `<li>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮script‬‏ ‏‮supporting‬‏ ‏‮elements‬‏ (`<script>` ‏‮and‬‏ `<template>`)."
@@ -435,7 +444,7 @@
435
444
  "message": "‏‮Lists‬‏ ‏‮contain‬‏ ‏‮only‬‏ `<li>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮script‬‏ ‏‮supporting‬‏ ‏‮elements‬‏ (`<script>` ‏‮and‬‏ `<template>`)."
436
445
  },
437
446
  "core/audits/accessibility/listitem.js | description": {
438
- "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮require‬‏ ‏‮list‬‏ ‏‮items‬‏ (`<li>`) ‏‮to‬‏ ‏‮be‬‏ ‏‮contained‬‏ ‏‮within‬‏ ‏‮a‬‏ ‏‮parent‬‏ `<ul>`, `<ol>` ‏‮or‬‏ `<menu>` ‏‮to‬‏ ‏‮be‬‏ ‏‮announced‬‏ ‏‮properly‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮proper‬‏ ‏‮list‬‏ ‏‮structure‬‏](https://dequeuniversity.com/rules/axe/4.11/listitem)."
447
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮require‬‏ ‏‮list‬‏ ‏‮items‬‏ (`<li>`) ‏‮to‬‏ ‏‮be‬‏ ‏‮contained‬‏ ‏‮within‬‏ ‏‮a‬‏ ‏‮parent‬‏ `<ul>`, `<ol>` ‏‮or‬‏ `<menu>` ‏‮to‬‏ ‏‮be‬‏ ‏‮announced‬‏ ‏‮properly‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮proper‬‏ ‏‮list‬‏ ‏‮structure‬‏](https://dequeuniversity.com/rules/axe/4.12/listitem)."
439
448
  },
440
449
  "core/audits/accessibility/listitem.js | failureTitle": {
441
450
  "message": "‏‮List‬‏ ‏‮items‬‏ (`<li>`) ‏‮are‬‏ ‏‮not‬‏ ‏‮contained‬‏ ‏‮within‬‏ `<ul>`, `<ol>` ‏‮or‬‏ `<menu>` ‏‮parent‬‏ ‏‮elements‬‏."
@@ -444,7 +453,7 @@
444
453
  "message": "‏‮List‬‏ ‏‮items‬‏ (`<li>`) ‏‮are‬‏ ‏‮contained‬‏ ‏‮within‬‏ `<ul>`, `<ol>` ‏‮or‬‏ `<menu>` ‏‮parent‬‏ ‏‮elements‬‏"
445
454
  },
446
455
  "core/audits/accessibility/meta-refresh.js | description": {
447
- "message": "‏‮Users‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮expect‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮to‬‏ ‏‮refresh‬‏ ‏‮automatically‬‏, ‏‮and‬‏ ‏‮doing‬‏ ‏‮so‬‏ ‏‮will‬‏ ‏‮move‬‏ ‏‮focus‬‏ ‏‮back‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮top‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏. ‏‮This‬‏ ‏‮may‬‏ ‏‮create‬‏ ‏‮a‬‏ ‏‮frustrating‬‏ ‏‮or‬‏ ‏‮confusing‬‏ ‏‮experience‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮refresh‬‏ ‏‮meta‬‏ ‏‮tag‬‏](https://dequeuniversity.com/rules/axe/4.11/meta-refresh)."
456
+ "message": "‏‮Users‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮expect‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮to‬‏ ‏‮refresh‬‏ ‏‮automatically‬‏, ‏‮and‬‏ ‏‮doing‬‏ ‏‮so‬‏ ‏‮will‬‏ ‏‮move‬‏ ‏‮focus‬‏ ‏‮back‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮top‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏. ‏‮This‬‏ ‏‮may‬‏ ‏‮create‬‏ ‏‮a‬‏ ‏‮frustrating‬‏ ‏‮or‬‏ ‏‮confusing‬‏ ‏‮experience‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮refresh‬‏ ‏‮meta‬‏ ‏‮tag‬‏](https://dequeuniversity.com/rules/axe/4.12/meta-refresh)."
448
457
  },
449
458
  "core/audits/accessibility/meta-refresh.js | failureTitle": {
450
459
  "message": "‏‮The‬‏ ‏‮document‬‏ ‏‮uses‬‏ `<meta http-equiv=\"refresh\">`"
@@ -453,7 +462,7 @@
453
462
  "message": "‏‮The‬‏ ‏‮document‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮use‬‏ `<meta http-equiv=\"refresh\">`"
454
463
  },
455
464
  "core/audits/accessibility/meta-viewport.js | description": {
456
- "message": "‏‮Disabling‬‏ ‏‮zooming‬‏ ‏‮is‬‏ ‏‮problematic‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮with‬‏ ‏‮low‬‏ ‏‮vision‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮magnification‬‏ ‏‮to‬‏ ‏‮properly‬‏ ‏‮see‬‏ ‏‮the‬‏ ‏‮contents‬‏ ‏‮of‬‏ ‏‮a‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮viewport‬‏ ‏‮meta‬‏ ‏‮tag‬‏](https://dequeuniversity.com/rules/axe/4.11/meta-viewport)."
465
+ "message": "‏‮Disabling‬‏ ‏‮zooming‬‏ ‏‮is‬‏ ‏‮problematic‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮with‬‏ ‏‮low‬‏ ‏‮vision‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮magnification‬‏ ‏‮to‬‏ ‏‮properly‬‏ ‏‮see‬‏ ‏‮the‬‏ ‏‮contents‬‏ ‏‮of‬‏ ‏‮a‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮viewport‬‏ ‏‮meta‬‏ ‏‮tag‬‏](https://dequeuniversity.com/rules/axe/4.12/meta-viewport)."
457
466
  },
458
467
  "core/audits/accessibility/meta-viewport.js | failureTitle": {
459
468
  "message": "`[user-scalable=\"no\"]` ‏‮is‬‏ ‏‮used‬‏ ‏‮in‬‏ ‏‮the‬‏ `<meta name=\"viewport\">` ‏‮element‬‏ ‏‮or‬‏ ‏‮the‬‏ `[maximum-scale]` ‏‮attribute‬‏ ‏‮is‬‏ ‏‮less‬‏ ‏‮than‬‏ 5."
@@ -462,7 +471,7 @@
462
471
  "message": "`[user-scalable=\"no\"]` ‏‮is‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮in‬‏ ‏‮the‬‏ `<meta name=\"viewport\">` ‏‮element‬‏ ‏‮and‬‏ ‏‮the‬‏ `[maximum-scale]` ‏‮attribute‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮less‬‏ ‏‮than‬‏ 5."
463
472
  },
464
473
  "core/audits/accessibility/object-alt.js | description": {
465
- "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮cannot‬‏ ‏‮translate‬‏ ‏‮non‬‏-‏‮text‬‏ ‏‮content‬‏. ‏‮Adding‬‏ ‏‮alternate‬‏ ‏‮text‬‏ ‏‮to‬‏ `<object>` ‏‮elements‬‏ ‏‮helps‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮convey‬‏ ‏‮meaning‬‏ ‏‮to‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮alt‬‏ ‏‮text‬‏ ‏‮for‬‏ `object` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.11/object-alt)."
474
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮cannot‬‏ ‏‮translate‬‏ ‏‮non‬‏-‏‮text‬‏ ‏‮content‬‏. ‏‮Adding‬‏ ‏‮alternate‬‏ ‏‮text‬‏ ‏‮to‬‏ `<object>` ‏‮elements‬‏ ‏‮helps‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮convey‬‏ ‏‮meaning‬‏ ‏‮to‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮alt‬‏ ‏‮text‬‏ ‏‮for‬‏ `object` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.12/object-alt)."
466
475
  },
467
476
  "core/audits/accessibility/object-alt.js | failureTitle": {
468
477
  "message": "`<object>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮alternate‬‏ ‏‮text‬‏"
@@ -470,8 +479,17 @@
470
479
  "core/audits/accessibility/object-alt.js | title": {
471
480
  "message": "`<object>` ‏‮elements‬‏ ‏‮have‬‏ ‏‮alternate‬‏ ‏‮text‬‏"
472
481
  },
482
+ "core/audits/accessibility/presentation-role-conflict.js | description": {
483
+ "message": "‏‮There‬‏ ‏‮are‬‏ ‏‮certain‬‏ ‏‮cases‬‏ ‏‮where‬‏ ‏‮the‬‏ ‏‮semantic‬‏ ‏‮role‬‏ ‏‮of‬‏ ‏‮an‬‏ ‏‮element‬‏ ‏‮with‬‏ `role=\"none\"` ‏‮or‬‏ `role=\"presentation\"` ‏‮does‬‏ ‏‮not‬‏ ‏‮resolve‬‏ ‏‮to‬‏ ‏‮none‬‏ ‏‮or‬‏ ‏‮presentation‬‏. ‏‮To‬‏ ‏‮ensure‬‏ ‏‮the‬‏ ‏‮element‬‏ ‏‮remains‬‏ ‏‮removed‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮accessibility‬‏ ‏‮tree‬‏, ‏‮you‬‏ ‏‮should‬‏ ‏‮not‬‏ ‏‮add‬‏ ‏‮any‬‏ ‏‮global‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮element‬‏ ‏‮or‬‏ ‏‮make‬‏ ‏‮it‬‏ ‏‮focusable‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮presentation‬‏ ‏‮role‬‏ ‏‮conflict‬‏](https://dequeuniversity.com/rules/axe/4.12/presentation-role-conflict)."
484
+ },
485
+ "core/audits/accessibility/presentation-role-conflict.js | failureTitle": {
486
+ "message": "‏‮Elements‬‏ ‏‮with‬‏ `role=\"none\"` ‏‮or‬‏ `role=\"presentation\"` ‏‮have‬‏ ‏‮conflicts‬‏"
487
+ },
488
+ "core/audits/accessibility/presentation-role-conflict.js | title": {
489
+ "message": "‏‮Elements‬‏ ‏‮with‬‏ `role=\"none\"` ‏‮or‬‏ `role=\"presentation\"` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮conflicts‬‏"
490
+ },
473
491
  "core/audits/accessibility/select-name.js | description": {
474
- "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮without‬‏ ‏‮effective‬‏ ‏‮labels‬‏ ‏‮can‬‏ ‏‮create‬‏ ‏‮frustrating‬‏ ‏‮experiences‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `select` ‏‮element‬‏](https://dequeuniversity.com/rules/axe/4.11/select-name)."
492
+ "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮without‬‏ ‏‮effective‬‏ ‏‮labels‬‏ ‏‮can‬‏ ‏‮create‬‏ ‏‮frustrating‬‏ ‏‮experiences‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `select` ‏‮element‬‏](https://dequeuniversity.com/rules/axe/4.12/select-name)."
475
493
  },
476
494
  "core/audits/accessibility/select-name.js | failureTitle": {
477
495
  "message": "‏‮Select‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮label‬‏ ‏‮elements‬‏."
@@ -480,7 +498,7 @@
480
498
  "message": "‏‮Select‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮label‬‏ ‏‮elements‬‏."
481
499
  },
482
500
  "core/audits/accessibility/skip-link.js | description": {
483
- "message": "‏‮Including‬‏ ‏‮a‬‏ ‏‮skip‬‏ ‏‮link‬‏ ‏‮can‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮skip‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮content‬‏ ‏‮to‬‏ ‏‮save‬‏ ‏‮time‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮skip‬‏ ‏‮links‬‏](https://dequeuniversity.com/rules/axe/4.11/skip-link)."
501
+ "message": "‏‮Including‬‏ ‏‮a‬‏ ‏‮skip‬‏ ‏‮link‬‏ ‏‮can‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮skip‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮content‬‏ ‏‮to‬‏ ‏‮save‬‏ ‏‮time‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮skip‬‏ ‏‮links‬‏](https://dequeuniversity.com/rules/axe/4.12/skip-link)."
484
502
  },
485
503
  "core/audits/accessibility/skip-link.js | failureTitle": {
486
504
  "message": "‏‮Skip‬‏ ‏‮links‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮focusable‬‏."
@@ -488,8 +506,17 @@
488
506
  "core/audits/accessibility/skip-link.js | title": {
489
507
  "message": "‏‮Skip‬‏ ‏‮links‬‏ ‏‮are‬‏ ‏‮focusable‬‏."
490
508
  },
509
+ "core/audits/accessibility/svg-img-alt.js | description": {
510
+ "message": "‏‮Ensures‬‏ ‏‮SVG‬‏ ‏‮elements‬‏ ‏‮with‬‏ ‏‮an‬‏ `img`, `graphics-document` ‏‮or‬‏ `graphics-symbol` ‏‮role‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮text‬‏ ‏‮alternative‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮SVG‬‏ ‏‮alt‬‏ ‏‮text‬‏](https://dequeuniversity.com/rules/axe/4.12/svg-img-alt)."
511
+ },
512
+ "core/audits/accessibility/svg-img-alt.js | failureTitle": {
513
+ "message": "‏‮SVG‬‏ ‏‮elements‬‏ ‏‮with‬‏ ‏‮an‬‏ `img` ‏‮role‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮text‬‏ ‏‮alternative‬‏"
514
+ },
515
+ "core/audits/accessibility/svg-img-alt.js | title": {
516
+ "message": "‏‮SVG‬‏ ‏‮elements‬‏ ‏‮with‬‏ ‏‮an‬‏ `img` ‏‮role‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮text‬‏ ‏‮alternative‬‏"
517
+ },
491
518
  "core/audits/accessibility/tabindex.js | description": {
492
- "message": "‏‮A‬‏ ‏‮value‬‏ ‏‮greater‬‏ ‏‮than‬‏ 0 ‏‮implies‬‏ ‏‮an‬‏ ‏‮explicit‬‏ ‏‮navigation‬‏ ‏‮ordering‬‏. ‏‮Although‬‏ ‏‮technically‬‏ ‏‮valid‬‏, ‏‮this‬‏ ‏‮often‬‏ ‏‮creates‬‏ ‏‮frustrating‬‏ ‏‮experiences‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `tabindex` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.11/tabindex)."
519
+ "message": "‏‮A‬‏ ‏‮value‬‏ ‏‮greater‬‏ ‏‮than‬‏ 0 ‏‮implies‬‏ ‏‮an‬‏ ‏‮explicit‬‏ ‏‮navigation‬‏ ‏‮ordering‬‏. ‏‮Although‬‏ ‏‮technically‬‏ ‏‮valid‬‏, ‏‮this‬‏ ‏‮often‬‏ ‏‮creates‬‏ ‏‮frustrating‬‏ ‏‮experiences‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `tabindex` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.12/tabindex)."
493
520
  },
494
521
  "core/audits/accessibility/tabindex.js | failureTitle": {
495
522
  "message": "‏‮Some‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮a‬‏ `[tabindex]` ‏‮value‬‏ ‏‮greater‬‏ ‏‮than‬‏ 0"
@@ -498,7 +525,7 @@
498
525
  "message": "‏‮No‬‏ ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ `[tabindex]` ‏‮value‬‏ ‏‮greater‬‏ ‏‮than‬‏ 0"
499
526
  },
500
527
  "core/audits/accessibility/table-duplicate-name.js | description": {
501
- "message": "‏‮The‬‏ ‏‮summary‬‏ ‏‮attribute‬‏ ‏‮should‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮table‬‏ ‏‮structure‬‏, ‏‮while‬‏ `<caption>` ‏‮should‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮onscreen‬‏ ‏‮title‬‏. ‏‮Accurate‬‏ ‏‮table‬‏ ‏‮mark‬‏-‏‮up‬‏ ‏‮helps‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮summary‬‏ ‏‮and‬‏ ‏‮caption‬‏](https://dequeuniversity.com/rules/axe/4.11/table-duplicate-name)."
528
+ "message": "‏‮The‬‏ ‏‮summary‬‏ ‏‮attribute‬‏ ‏‮should‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮table‬‏ ‏‮structure‬‏, ‏‮while‬‏ `<caption>` ‏‮should‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮onscreen‬‏ ‏‮title‬‏. ‏‮Accurate‬‏ ‏‮table‬‏ ‏‮mark‬‏-‏‮up‬‏ ‏‮helps‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮summary‬‏ ‏‮and‬‏ ‏‮caption‬‏](https://dequeuniversity.com/rules/axe/4.12/table-duplicate-name)."
502
529
  },
503
530
  "core/audits/accessibility/table-duplicate-name.js | failureTitle": {
504
531
  "message": "‏‮Tables‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮content‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮summary‬‏ ‏‮attribute‬‏ ‏‮and‬‏ `<caption>.`"
@@ -507,7 +534,7 @@
507
534
  "message": "‏‮Tables‬‏ ‏‮have‬‏ ‏‮different‬‏ ‏‮content‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮summary‬‏ ‏‮attribute‬‏ ‏‮and‬‏ `<caption>`."
508
535
  },
509
536
  "core/audits/accessibility/table-fake-caption.js | description": {
510
- "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ ‏‮that‬‏ ‏‮tables‬‏ ‏‮use‬‏ ‏‮the‬‏ ‏‮actual‬‏ ‏‮caption‬‏ ‏‮element‬‏ ‏‮instead‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮with‬‏ ‏‮the‬‏ `[colspan]` ‏‮attribute‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮captions‬‏](https://dequeuniversity.com/rules/axe/4.11/table-fake-caption)."
537
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ ‏‮that‬‏ ‏‮tables‬‏ ‏‮use‬‏ ‏‮the‬‏ ‏‮actual‬‏ ‏‮caption‬‏ ‏‮element‬‏ ‏‮instead‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮with‬‏ ‏‮the‬‏ `[colspan]` ‏‮attribute‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮captions‬‏](https://dequeuniversity.com/rules/axe/4.12/table-fake-caption)."
511
538
  },
512
539
  "core/audits/accessibility/table-fake-caption.js | failureTitle": {
513
540
  "message": "‏‮Tables‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮use‬‏ `<caption>` ‏‮instead‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮with‬‏ ‏‮the‬‏ `[colspan]` ‏‮attribute‬‏ ‏‮to‬‏ ‏‮indicate‬‏ ‏‮a‬‏ ‏‮caption‬‏."
@@ -516,7 +543,7 @@
516
543
  "message": "‏‮Tables‬‏ ‏‮use‬‏ `<caption>` ‏‮instead‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮with‬‏ ‏‮the‬‏ `[colspan]` ‏‮attribute‬‏ ‏‮to‬‏ ‏‮indicate‬‏ ‏‮a‬‏ ‏‮caption‬‏."
517
544
  },
518
545
  "core/audits/accessibility/target-size.js | description": {
519
- "message": "‏‮Touch‬‏ ‏‮targets‬‏ ‏‮with‬‏ ‏‮sufficient‬‏ ‏‮size‬‏ ‏‮and‬‏ ‏‮spacing‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮may‬‏ ‏‮have‬‏ ‏‮difficulty‬‏ ‏‮targeting‬‏ ‏‮small‬‏ ‏‮controls‬‏ ‏‮to‬‏ ‏‮activate‬‏ ‏‮the‬‏ ‏‮targets‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮touch‬‏ ‏‮targets‬‏](https://dequeuniversity.com/rules/axe/4.11/target-size)."
546
+ "message": "‏‮Touch‬‏ ‏‮targets‬‏ ‏‮with‬‏ ‏‮sufficient‬‏ ‏‮size‬‏ ‏‮and‬‏ ‏‮spacing‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮may‬‏ ‏‮have‬‏ ‏‮difficulty‬‏ ‏‮targeting‬‏ ‏‮small‬‏ ‏‮controls‬‏ ‏‮to‬‏ ‏‮activate‬‏ ‏‮the‬‏ ‏‮targets‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮touch‬‏ ‏‮targets‬‏](https://dequeuniversity.com/rules/axe/4.12/target-size)."
520
547
  },
521
548
  "core/audits/accessibility/target-size.js | failureTitle": {
522
549
  "message": "‏‮Touch‬‏ ‏‮targets‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮sufficient‬‏ ‏‮size‬‏ ‏‮or‬‏ ‏‮spacing‬‏."
@@ -525,7 +552,7 @@
525
552
  "message": "‏‮Touch‬‏ ‏‮targets‬‏ ‏‮have‬‏ ‏‮sufficient‬‏ ‏‮size‬‏ ‏‮and‬‏ ‏‮spacing‬‏."
526
553
  },
527
554
  "core/audits/accessibility/td-has-header.js | description": {
528
- "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ ‏‮that‬‏ `<td>` ‏‮elements‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮large‬‏ ‏‮table‬‏ (3 ‏‮or‬‏ ‏‮more‬‏ ‏‮cells‬‏ ‏‮in‬‏ ‏‮width‬‏ ‏‮and‬‏ ‏‮height‬‏) ‏‮have‬‏ ‏‮an‬‏ ‏‮associated‬‏ ‏‮table‬‏ ‏‮header‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮table‬‏ ‏‮headers‬‏](https://dequeuniversity.com/rules/axe/4.11/td-has-header)."
555
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ ‏‮that‬‏ `<td>` ‏‮elements‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮large‬‏ ‏‮table‬‏ (3 ‏‮or‬‏ ‏‮more‬‏ ‏‮cells‬‏ ‏‮in‬‏ ‏‮width‬‏ ‏‮and‬‏ ‏‮height‬‏) ‏‮have‬‏ ‏‮an‬‏ ‏‮associated‬‏ ‏‮table‬‏ ‏‮header‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮table‬‏ ‏‮headers‬‏](https://dequeuniversity.com/rules/axe/4.12/td-has-header)."
529
556
  },
530
557
  "core/audits/accessibility/td-has-header.js | failureTitle": {
531
558
  "message": "`<td>` ‏‮elements‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮large‬‏ `<table>` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮table‬‏ ‏‮headers‬‏."
@@ -534,7 +561,7 @@
534
561
  "message": "`<td>` ‏‮elements‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮large‬‏ `<table>` ‏‮have‬‏ ‏‮one‬‏ ‏‮or‬‏ ‏‮more‬‏ ‏‮table‬‏ ‏‮headers‬‏."
535
562
  },
536
563
  "core/audits/accessibility/td-headers-attr.js | description": {
537
- "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ `<td>` ‏‮cells‬‏ ‏‮using‬‏ ‏‮the‬‏ `[headers]` ‏‮attribute‬‏ ‏‮only‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮other‬‏ ‏‮cells‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮table‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `headers` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.11/td-headers-attr)."
564
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ `<td>` ‏‮cells‬‏ ‏‮using‬‏ ‏‮the‬‏ `[headers]` ‏‮attribute‬‏ ‏‮only‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮other‬‏ ‏‮cells‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮table‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `headers` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.12/td-headers-attr)."
538
565
  },
539
566
  "core/audits/accessibility/td-headers-attr.js | failureTitle": {
540
567
  "message": "‏‮Cells‬‏ ‏‮in‬‏ ‏‮a‬‏ `<table>` ‏‮element‬‏ ‏‮that‬‏ ‏‮use‬‏ ‏‮the‬‏ `[headers]` ‏‮attribute‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮an‬‏ ‏‮element‬‏ `id` ‏‮not‬‏ ‏‮found‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮table‬‏."
@@ -543,7 +570,7 @@
543
570
  "message": "‏‮Cells‬‏ ‏‮in‬‏ ‏‮a‬‏ `<table>` ‏‮element‬‏ ‏‮that‬‏ ‏‮use‬‏ ‏‮the‬‏ `[headers]` ‏‮attribute‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮table‬‏ ‏‮cells‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮table‬‏."
544
571
  },
545
572
  "core/audits/accessibility/th-has-data-cells.js | description": {
546
- "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ ‏‮table‬‏ ‏‮headers‬‏ ‏‮always‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮some‬‏ ‏‮set‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮table‬‏ ‏‮headers‬‏](https://dequeuniversity.com/rules/axe/4.11/th-has-data-cells)."
573
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ ‏‮table‬‏ ‏‮headers‬‏ ‏‮always‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮some‬‏ ‏‮set‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮table‬‏ ‏‮headers‬‏](https://dequeuniversity.com/rules/axe/4.12/th-has-data-cells)."
547
574
  },
548
575
  "core/audits/accessibility/th-has-data-cells.js | failureTitle": {
549
576
  "message": "`<th>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮elements‬‏ ‏‮with‬‏ `[role=\"columnheader\"/\"rowheader\"]` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮data‬‏ ‏‮cells‬‏ ‏‮they‬‏ ‏‮describe‬‏."
@@ -552,7 +579,7 @@
552
579
  "message": "`<th>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮elements‬‏ ‏‮with‬‏ `[role=\"columnheader\"/\"rowheader\"]` ‏‮have‬‏ ‏‮data‬‏ ‏‮cells‬‏ ‏‮they‬‏ ‏‮describe‬‏."
553
580
  },
554
581
  "core/audits/accessibility/valid-lang.js | description": {
555
- "message": "‏‮Specifying‬‏ ‏‮a‬‏ ‏‮valid‬‏ [‏‮BCP‬‏ 47 ‏‮language‬‏](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ‏‮on‬‏ ‏‮elements‬‏ ‏‮helps‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮pronounced‬‏ ‏‮correctly‬‏ ‏‮by‬‏ ‏‮a‬‏ ‏‮screen‬‏ ‏‮reader‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮the‬‏ `lang` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.11/valid-lang)."
582
+ "message": "‏‮Specifying‬‏ ‏‮a‬‏ ‏‮valid‬‏ [‏‮BCP‬‏ 47 ‏‮language‬‏](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ‏‮on‬‏ ‏‮elements‬‏ ‏‮helps‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮pronounced‬‏ ‏‮correctly‬‏ ‏‮by‬‏ ‏‮a‬‏ ‏‮screen‬‏ ‏‮reader‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮the‬‏ `lang` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.12/valid-lang)."
556
583
  },
557
584
  "core/audits/accessibility/valid-lang.js | failureTitle": {
558
585
  "message": "`[lang]` ‏‮attributes‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏"
@@ -561,7 +588,7 @@
561
588
  "message": "`[lang]` ‏‮attributes‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏"
562
589
  },
563
590
  "core/audits/accessibility/video-caption.js | description": {
564
- "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮video‬‏ ‏‮provides‬‏ ‏‮a‬‏ ‏‮caption‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮easier‬‏ ‏‮for‬‏ ‏‮deaf‬‏ ‏‮and‬‏ ‏‮hearing‬‏ ‏‮impaired‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮access‬‏ ‏‮its‬‏ ‏‮information‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮video‬‏ ‏‮captions‬‏](https://dequeuniversity.com/rules/axe/4.11/video-caption)."
591
+ "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮video‬‏ ‏‮provides‬‏ ‏‮a‬‏ ‏‮caption‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮easier‬‏ ‏‮for‬‏ ‏‮deaf‬‏ ‏‮and‬‏ ‏‮hearing‬‏ ‏‮impaired‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮access‬‏ ‏‮its‬‏ ‏‮information‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮video‬‏ ‏‮captions‬‏](https://dequeuniversity.com/rules/axe/4.12/video-caption)."
565
592
  },
566
593
  "core/audits/accessibility/video-caption.js | failureTitle": {
567
594
  "message": "`<video>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮a‬‏ `<track>` ‏‮element‬‏ ‏‮with‬‏ `[kind=\"captions\"]`."
@@ -569,6 +596,51 @@
569
596
  "core/audits/accessibility/video-caption.js | title": {
570
597
  "message": "`<video>` ‏‮elements‬‏ ‏‮contain‬‏ ‏‮a‬‏ `<track>` ‏‮element‬‏ ‏‮with‬‏ `[kind=\"captions\"]`"
571
598
  },
599
+ "core/audits/agentic/agent-accessibility-tree.js | columnElement": {
600
+ "message": "‏‮Failing‬‏ ‏‮Element‬‏"
601
+ },
602
+ "core/audits/agentic/agent-accessibility-tree.js | columnRule": {
603
+ "message": "‏‮Failing‬‏ ‏‮Rule‬‏"
604
+ },
605
+ "core/audits/agentic/agent-accessibility-tree.js | description": {
606
+ "message": "‏‮A‬‏ ‏‮well‬‏-‏‮formed‬‏ [‏‮accessibility‬‏ ‏‮tree‬‏](http://goo.gle/lighthouse-agentic-a11y) ‏‮helps‬‏ ‏‮AI‬‏ ‏‮agents‬‏ ‏‮to‬‏ ‏‮navigate‬‏ ‏‮and‬‏ ‏‮interact‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮page‬‏."
607
+ },
608
+ "core/audits/agentic/agent-accessibility-tree.js | displayValuePassed": {
609
+ "message": "‏‮All‬‏ ‏‮audits‬‏ ‏‮passed‬‏"
610
+ },
611
+ "core/audits/agentic/agent-accessibility-tree.js | failedSectionTitle": {
612
+ "message": "‏‮Failed‬‏ ‏‮Audits‬‏"
613
+ },
614
+ "core/audits/agentic/agent-accessibility-tree.js | failureTitle": {
615
+ "message": "‏‮Accessibility‬‏ ‏‮tree‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮well‬‏-‏‮formed‬‏"
616
+ },
617
+ "core/audits/agentic/agent-accessibility-tree.js | title": {
618
+ "message": "‏‮Accessibility‬‏ ‏‮tree‬‏ ‏‮is‬‏ ‏‮well‬‏-‏‮formed‬‏"
619
+ },
620
+ "core/audits/agentic/llms-txt.js | description": {
621
+ "message": "‏‮If‬‏ ‏‮your‬‏ ‏‮llms‬‏.‏‮txt‬‏ ‏‮file‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮follow‬‏ ‏‮recommendations‬‏, ‏‮large‬‏ ‏‮language‬‏ ‏‮models‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮able‬‏ ‏‮to‬‏ ‏‮understand‬‏ ‏‮how‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮your‬‏ ‏‮website‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮crawled‬‏ ‏‮or‬‏ ‏‮used‬‏ ‏‮for‬‏ ‏‮training‬‏. ‏‮The‬‏ [‏‮llms‬‏.‏‮txt‬‏](https://llmstxt.org/) ‏‮file‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮a‬‏ ‏‮Markdown‬‏ ‏‮file‬‏ ‏‮containing‬‏ ‏‮at‬‏ ‏‮least‬‏ ‏‮one‬‏ ‏‮H‬‏1 ‏‮header‬‏."
622
+ },
623
+ "core/audits/agentic/llms-txt.js | displayValueHttpBadCode": {
624
+ "message": "‏‮Failed‬‏ ‏‮with‬‏ ‏‮HTTP‬‏ ‏‮status‬‏ {statusCode}"
625
+ },
626
+ "core/audits/agentic/llms-txt.js | explanation": {
627
+ "message": "‏‮Fetch‬‏ ‏‮of‬‏ ‏‮llms‬‏.‏‮txt‬‏ ‏‮failed‬‏"
628
+ },
629
+ "core/audits/agentic/llms-txt.js | failureTitle": {
630
+ "message": "‏‮llms‬‏.‏‮txt‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮follow‬‏ ‏‮recommendations‬‏"
631
+ },
632
+ "core/audits/agentic/llms-txt.js | missingH1": {
633
+ "message": "‏‮File‬‏ ‏‮is‬‏ ‏‮missing‬‏ ‏‮a‬‏ ‏‮required‬‏ ‏‮H‬‏1 ‏‮header‬‏ (‏‮e‬‏.‏‮g‬‏., \"# ‏‮Title‬‏\")."
634
+ },
635
+ "core/audits/agentic/llms-txt.js | missingLinks": {
636
+ "message": "‏‮File‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮appear‬‏ ‏‮to‬‏ ‏‮contain‬‏ ‏‮any‬‏ ‏‮links‬‏."
637
+ },
638
+ "core/audits/agentic/llms-txt.js | title": {
639
+ "message": "‏‮llms‬‏.‏‮txt‬‏ ‏‮follows‬‏ ‏‮recommendations‬‏"
640
+ },
641
+ "core/audits/agentic/llms-txt.js | tooShort": {
642
+ "message": "‏‮File‬‏ ‏‮is‬‏ ‏‮suspiciously‬‏ ‏‮short‬‏."
643
+ },
572
644
  "core/audits/autocomplete.js | columnCurrent": {
573
645
  "message": "‏‮Current‬‏ ‏‮Value‬‏"
574
646
  },
@@ -596,6 +668,18 @@
596
668
  "core/audits/autocomplete.js | warningOrder": {
597
669
  "message": "‏‮Review‬‏ ‏‮order‬‏ ‏‮of‬‏ ‏‮tokens‬‏: \"{tokens}\" ‏‮in‬‏ {snippet}"
598
670
  },
671
+ "core/audits/baseline.js | columnFeature": {
672
+ "message": "‏‮Web‬‏-‏‮features‬‏"
673
+ },
674
+ "core/audits/baseline.js | columnStatus": {
675
+ "message": "‏‮Baseline‬‏ ‏‮Status‬‏"
676
+ },
677
+ "core/audits/baseline.js | description": {
678
+ "message": "‏‮Lists‬‏ ‏‮web‬‏ ‏‮features‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮and‬‏ ‏‮their‬‏ ‏‮Baseline‬‏ ‏‮status‬‏ ‏‮as‬‏ ‏‮of‬‏ {date}. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮Baseline‬‏](https://webstatus.dev/)."
679
+ },
680
+ "core/audits/baseline.js | title": {
681
+ "message": "‏‮Baseline‬‏ ‏‮Features‬‏"
682
+ },
599
683
  "core/audits/bf-cache.js | actionableFailureType": {
600
684
  "message": "‏‮Actionable‬‏"
601
685
  },
@@ -771,7 +855,7 @@
771
855
  "message": "‏‮Page‬‏ ‏‮has‬‏ ‏‮the‬‏ ‏‮HTML‬‏ ‏‮doctype‬‏"
772
856
  },
773
857
  "core/audits/dobetterweb/geolocation-on-start.js | description": {
774
- "message": "‏‮Users‬‏ ‏‮are‬‏ ‏‮mistrustful‬‏ ‏‮of‬‏ ‏‮or‬‏ ‏‮confused‬‏ ‏‮by‬‏ ‏‮sites‬‏ ‏‮that‬‏ ‏‮request‬‏ ‏‮their‬‏ ‏‮location‬‏ ‏‮without‬‏ ‏‮context‬‏. ‏‮Consider‬‏ ‏‮tying‬‏ ‏‮the‬‏ ‏‮request‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮user‬‏ ‏‮action‬‏ ‏‮instead‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮geolocation‬‏ ‏‮permission‬‏](https://developer.chrome.com/docs/lighthouse/best-practices/geolocation-on-start/)."
858
+ "message": "‏‮Users‬‏ ‏‮are‬‏ ‏‮mistrustful‬‏ ‏‮of‬‏ ‏‮or‬‏ ‏‮confused‬‏ ‏‮by‬‏ ‏‮sites‬‏ ‏‮that‬‏ ‏‮request‬‏ ‏‮their‬‏ ‏‮location‬‏ ‏‮without‬‏ ‏‮context‬‏. ‏‮Consider‬‏ ‏‮tying‬‏ ‏‮the‬‏ ‏‮request‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮user‬‏ ‏‮action‬‏ ‏‮instead‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮geolocation‬‏ ‏‮permission‬‏](https://developer.chrome.com/docs/lighthouse/best-practices/geolocation-on-start/). ‏‮Also‬‏ ‏‮consider‬‏ ‏‮using‬‏ ‏‮the‬‏ [`<geolocation>` ‏‮element‬‏](https://developer.chrome.com/blog/geolocation-html-element)."
775
859
  },
776
860
  "core/audits/dobetterweb/geolocation-on-start.js | failureTitle": {
777
861
  "message": "‏‮Requests‬‏ ‏‮the‬‏ ‏‮geolocation‬‏ ‏‮permission‬‏ ‏‮on‬‏ ‏‮page‬‏ ‏‮load‬‏"
@@ -1262,6 +1346,93 @@
1262
1346
  "core/audits/valid-source-maps.js | title": {
1263
1347
  "message": "‏‮Page‬‏ ‏‮has‬‏ ‏‮valid‬‏ ‏‮source‬‏ ‏‮maps‬‏"
1264
1348
  },
1349
+ "core/audits/webmcp-form-coverage.js | columnForm": {
1350
+ "message": "‏‮Form‬‏"
1351
+ },
1352
+ "core/audits/webmcp-form-coverage.js | description": {
1353
+ "message": "‏‮Consider‬‏ ‏‮adding‬‏ [‏‮WebMCP‬‏](http://goo.gle/webmcp-docs) ‏‮annotations‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮forms‬‏ ‏‮listed‬‏ ‏‮below‬‏. ‏‮This‬‏ ‏‮helps‬‏ ‏‮AI‬‏ ‏‮agents‬‏ ‏‮identify‬‏ ‏‮and‬‏ ‏‮interact‬‏ ‏‮with‬‏ ‏‮these‬‏ ‏‮forms‬‏ ‏‮more‬‏ ‏‮reliably‬‏."
1354
+ },
1355
+ "core/audits/webmcp-form-coverage.js | displayValue": {
1356
+ "message": "{itemCount,plural, =1{1 ‏‮form‬‏ ‏‮missing‬‏ ‏‮annotations‬‏}zero{# ‏‮forms‬‏ ‏‮missing‬‏ ‏‮annotations‬‏}two{# ‏‮forms‬‏ ‏‮missing‬‏ ‏‮annotations‬‏}few{# ‏‮forms‬‏ ‏‮missing‬‏ ‏‮annotations‬‏}many{# ‏‮forms‬‏ ‏‮missing‬‏ ‏‮annotations‬‏}other{# ‏‮forms‬‏ ‏‮missing‬‏ ‏‮annotations‬‏}}"
1357
+ },
1358
+ "core/audits/webmcp-form-coverage.js | title": {
1359
+ "message": "‏‮WebMCP‬‏ ‏‮form‬‏ ‏‮coverage‬‏"
1360
+ },
1361
+ "core/audits/webmcp-registered-tools.js | columnDeclarativeElement": {
1362
+ "message": "‏‮Element‬‏"
1363
+ },
1364
+ "core/audits/webmcp-registered-tools.js | columnDescription": {
1365
+ "message": "‏‮Description‬‏"
1366
+ },
1367
+ "core/audits/webmcp-registered-tools.js | columnImperativeLocation": {
1368
+ "message": "‏‮Source‬‏ ‏‮Location‬‏"
1369
+ },
1370
+ "core/audits/webmcp-registered-tools.js | columnInputSchema": {
1371
+ "message": "‏‮Input‬‏ ‏‮schema‬‏"
1372
+ },
1373
+ "core/audits/webmcp-registered-tools.js | columnTool": {
1374
+ "message": "‏‮Tool‬‏ ‏‮name‬‏"
1375
+ },
1376
+ "core/audits/webmcp-registered-tools.js | description": {
1377
+ "message": "‏‮Lists‬‏ ‏‮the‬‏ [‏‮WebMCP‬‏ ‏‮tools‬‏](http://goo.gle/webmcp-docs) ‏‮registered‬‏ ‏‮at‬‏ ‏‮the‬‏ ‏‮time‬‏ ‏‮of‬‏ ‏‮analysis‬‏."
1378
+ },
1379
+ "core/audits/webmcp-registered-tools.js | title": {
1380
+ "message": "‏‮WebMCP‬‏ ‏‮tools‬‏ ‏‮registered‬‏"
1381
+ },
1382
+ "core/audits/webmcp-registered-tools.js | titleDeclarativeTools": {
1383
+ "message": "‏‮Declarative‬‏ ‏‮Tools‬‏"
1384
+ },
1385
+ "core/audits/webmcp-registered-tools.js | titleImperativeTools": {
1386
+ "message": "‏‮Imperative‬‏ ‏‮Tools‬‏"
1387
+ },
1388
+ "core/audits/webmcp-schema-validity.js | columnElement": {
1389
+ "message": "‏‮Element‬‏"
1390
+ },
1391
+ "core/audits/webmcp-schema-validity.js | columnIssue": {
1392
+ "message": "‏‮Issue‬‏"
1393
+ },
1394
+ "core/audits/webmcp-schema-validity.js | description": {
1395
+ "message": "‏‮Valid‬‏ [‏‮WebMCP‬‏ ‏‮schemas‬‏](http://goo.gle/webmcp-docs) ‏‮are‬‏ ‏‮required‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏ ‏‮to‬‏ ‏‮understand‬‏ ‏‮and‬‏ ‏‮interact‬‏ ‏‮with‬‏ ‏‮tools‬‏ ‏‮correctly‬‏. ‏‮Please‬‏ ‏‮fix‬‏ ‏‮any‬‏ ‏‮errors‬‏ ‏‮or‬‏ ‏‮warnings‬‏ ‏‮reported‬‏ ‏‮by‬‏ ‏‮the‬‏ ‏‮browser‬‏."
1396
+ },
1397
+ "core/audits/webmcp-schema-validity.js | failureTitle": {
1398
+ "message": "‏‮WebMCP‬‏ ‏‮schemas‬‏ ‏‮are‬‏ ‏‮invalid‬‏"
1399
+ },
1400
+ "core/audits/webmcp-schema-validity.js | missingOptionalParamName": {
1401
+ "message": "‏‮Missing‬‏ `name` ‏‮attribute‬‏ ‏‮for‬‏ ‏‮an‬‏ ‏‮optional‬‏ ‏‮field‬‏. ‏‮Add‬‏ ‏‮it‬‏ ‏‮to‬‏ ‏‮define‬‏ ‏‮the‬‏ ‏‮parameter‬‏ ‏‮name‬‏."
1402
+ },
1403
+ "core/audits/webmcp-schema-validity.js | missingParamDescription": {
1404
+ "message": "‏‮Add‬‏ ‏‮a‬‏ ‏‮description‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮this‬‏ ‏‮form‬‏ ‏‮more‬‏ ‏‮accessible‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏."
1405
+ },
1406
+ "core/audits/webmcp-schema-validity.js | missingRequiredParamName": {
1407
+ "message": "‏‮Missing‬‏ `name` ‏‮attribute‬‏ ‏‮for‬‏ ‏‮a‬‏ ‏‮required‬‏ ‏‮field‬‏. ‏‮Add‬‏ ‏‮it‬‏ ‏‮to‬‏ ‏‮define‬‏ ‏‮the‬‏ ‏‮parameter‬‏ ‏‮name‬‏."
1408
+ },
1409
+ "core/audits/webmcp-schema-validity.js | missingToolDescription": {
1410
+ "message": "‏‮Form‬‏ ‏‮level‬‏ `tooldescription` ‏‮attribute‬‏ ‏‮is‬‏ ‏‮missing‬‏. ‏‮Add‬‏ ‏‮it‬‏ ‏‮to‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮tool‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏."
1411
+ },
1412
+ "core/audits/webmcp-schema-validity.js | missingToolName": {
1413
+ "message": "‏‮Form‬‏ ‏‮level‬‏ `toolname` ‏‮attribute‬‏ ‏‮is‬‏ ‏‮missing‬‏. ‏‮Add‬‏ ‏‮it‬‏ ‏‮to‬‏ ‏‮define‬‏ ‏‮the‬‏ ‏‮tool‬‏ ‏‮name‬‏."
1414
+ },
1415
+ "core/audits/webmcp-schema-validity.js | title": {
1416
+ "message": "‏‮WebMCP‬‏ ‏‮schemas‬‏ ‏‮are‬‏ ‏‮valid‬‏"
1417
+ },
1418
+ "core/config/agentic-browsing-config.js | agentAccessibilityGroupDescription": {
1419
+ "message": "‏‮These‬‏ ‏‮audits‬‏ ‏‮highlight‬‏ ‏‮best‬‏ ‏‮practices‬‏ ‏‮for‬‏ ‏‮improving‬‏ ‏‮the‬‏ ‏‮accessibility‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮website‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏."
1420
+ },
1421
+ "core/config/agentic-browsing-config.js | agentAccessibilityGroupTitle": {
1422
+ "message": "‏‮Agent‬‏ ‏‮Accessibility‬‏"
1423
+ },
1424
+ "core/config/agentic-browsing-config.js | agenticBrowsingCategoryDescription": {
1425
+ "message": "‏‮These‬‏ ‏‮checks‬‏ ‏‮ensure‬‏ ‏‮high‬‏-‏‮quality‬‏, [‏‮browsable‬‏ ‏‮websites‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏](https://goo.gle/lighthouse-agentic-web) ‏‮and‬‏ ‏‮validate‬‏ ‏‮the‬‏ ‏‮correctness‬‏ ‏‮of‬‏ ‏‮WebMCP‬‏ ‏‮integrations‬‏. ‏‮This‬‏ ‏‮category‬‏ ‏‮is‬‏ ‏‮still‬‏ ‏‮under‬‏ ‏‮development‬‏ ‏‮and‬‏ ‏‮subject‬‏ ‏‮to‬‏ ‏‮change‬‏."
1426
+ },
1427
+ "core/config/agentic-browsing-config.js | agenticBrowsingCategoryTitle": {
1428
+ "message": "‏‮Agentic‬‏ ‏‮Browsing‬‏"
1429
+ },
1430
+ "core/config/agentic-browsing-config.js | webmcpGroupDescription": {
1431
+ "message": "‏‮Audits‬‏ ‏‮validating‬‏ ‏‮WebMCP‬‏ ‏‮integration‬‏."
1432
+ },
1433
+ "core/config/agentic-browsing-config.js | webmcpGroupTitle": {
1434
+ "message": "‏‮WebMCP‬‏"
1435
+ },
1265
1436
  "core/config/default-config.js | a11yAriaGroupDescription": {
1266
1437
  "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮usage‬‏ ‏‮of‬‏ ‏‮ARIA‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮application‬‏ ‏‮which‬‏ ‏‮may‬‏ ‏‮enhance‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technology‬‏, ‏‮like‬‏ ‏‮a‬‏ ‏‮screen‬‏ ‏‮reader‬‏."
1267
1438
  },
@@ -1319,6 +1490,18 @@
1319
1490
  "core/config/default-config.js | a11yTablesListsVideoGroupTitle": {
1320
1491
  "message": "‏‮Tables‬‏ ‏‮and‬‏ ‏‮lists‬‏"
1321
1492
  },
1493
+ "core/config/default-config.js | agentAccessibilityGroupDescription": {
1494
+ "message": "‏‮These‬‏ ‏‮audits‬‏ ‏‮highlight‬‏ ‏‮best‬‏ ‏‮practices‬‏ ‏‮for‬‏ ‏‮improving‬‏ ‏‮the‬‏ ‏‮accessibility‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮website‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏."
1495
+ },
1496
+ "core/config/default-config.js | agentAccessibilityGroupTitle": {
1497
+ "message": "‏‮Agent‬‏ ‏‮Accessibility‬‏"
1498
+ },
1499
+ "core/config/default-config.js | agenticBrowsingCategoryDescription": {
1500
+ "message": "‏‮These‬‏ ‏‮checks‬‏ ‏‮ensure‬‏ ‏‮high‬‏-‏‮quality‬‏, [‏‮browsable‬‏ ‏‮websites‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏](https://goo.gle/lighthouse-agentic-web) ‏‮and‬‏ ‏‮validate‬‏ ‏‮the‬‏ ‏‮correctness‬‏ ‏‮of‬‏ ‏‮WebMCP‬‏ ‏‮integrations‬‏. ‏‮This‬‏ ‏‮category‬‏ ‏‮is‬‏ ‏‮still‬‏ ‏‮under‬‏ ‏‮development‬‏ ‏‮and‬‏ ‏‮subject‬‏ ‏‮to‬‏ ‏‮change‬‏."
1501
+ },
1502
+ "core/config/default-config.js | agenticBrowsingCategoryTitle": {
1503
+ "message": "‏‮Agentic‬‏ ‏‮Browsing‬‏"
1504
+ },
1322
1505
  "core/config/default-config.js | bestPracticesBrowserCompatGroupTitle": {
1323
1506
  "message": "‏‮Browser‬‏ ‏‮Compatibility‬‏"
1324
1507
  },
@@ -1391,6 +1574,12 @@
1391
1574
  "core/config/default-config.js | seoMobileGroupTitle": {
1392
1575
  "message": "‏‮Mobile‬‏ ‏‮Friendly‬‏"
1393
1576
  },
1577
+ "core/config/default-config.js | webmcpGroupDescription": {
1578
+ "message": "‏‮Audits‬‏ ‏‮validating‬‏ ‏‮WebMCP‬‏ ‏‮integration‬‏."
1579
+ },
1580
+ "core/config/default-config.js | webmcpGroupTitle": {
1581
+ "message": "‏‮WebMCP‬‏"
1582
+ },
1394
1583
  "core/gather/driver/environment.js | warningSlowHostCpu": {
1395
1584
  "message": "‏‮The‬‏ ‏‮tested‬‏ ‏‮device‬‏ ‏‮appears‬‏ ‏‮to‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮slower‬‏ ‏‮CPU‬‏ ‏‮than‬‏ ‏‮Lighthouse‬‏ ‏‮expects‬‏. ‏‮This‬‏ ‏‮can‬‏ ‏‮negatively‬‏ ‏‮affect‬‏ ‏‮your‬‏ ‏‮performance‬‏ ‏‮score‬‏. ‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ [‏‮calibrating‬‏ ‏‮an‬‏ ‏‮appropriate‬‏ ‏‮CPU‬‏ ‏‮slowdown‬‏ ‏‮multiplier‬‏](https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md#cpu-throttling)."
1396
1585
  },
@@ -1871,6 +2060,12 @@
1871
2060
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DataUrlInSvgUse": {
1872
2061
  "message": "تم بشكل نهائي إيقاف استخدام عناوين URL التي تبدأ بمخطّط \"data:‎\" في واجهة SVGUseElement، وستتم إزالة هذه الميزة في المستقبل."
1873
2062
  },
2063
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DocumentCreateEventKeyboardEvents": {
2064
+ "message": "تم إيقاف واجهة document.createEvent('KeyboardEvents') نهائيًا وستتم إزالتها. يمكن استخدام new KeyboardEvent() كبديل."
2065
+ },
2066
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DocumentCreateEventTransitionEvent": {
2067
+ "message": "تم إيقاف واجهة document.createEvent('TransitionEvent') نهائيًا وستتم إزالتها. يمكن استخدام new TransitionEvent() كبديل."
2068
+ },
1874
2069
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ExampleBrowserProcessDeprecation": {
1875
2070
  "message": "هذا مثال على عرض الرمز البرمجي المطلوب لعملية متصفّح تم الإبلاغ عن إيقافها نهائيًا."
1876
2071
  },
@@ -1982,6 +2177,9 @@
1982
2177
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoSupportsFullscreen": {
1983
2178
  "message": "تم إيقاف واجهة برمجة التطبيقات HTMLVideoElement.webkitSupportsFullscreen نهائيًا. يُرجى استخدام واجهة برمجة التطبيقات Document.fullscreenEnabled بدلاً من ذلك."
1984
2179
  },
2180
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PreventSvgFilterPaint": {
2181
+ "message": "لا يمكن تطبيق فلاتر الرسومات الموجّهة التي يمكن تغيير حجمها (SVG) على إطارات iframe المتعددة المصادر أو المحظورة (مثلاً في وضع الحماية) أو المكوّنات الإضافية."
2182
+ },
1985
2183
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCConstraintEnableDtlsSrtpFalse": {
1986
2184
  "message": "تمت إزالة القيد DtlsSrtpKeyAgreement. لقد حدَّدت القيمة false لهذا القيد، وهو أمر يتم تفسيره كمحاولة لاستخدام الميزة SDES key negotiation التي تمت إزالتها. لقد تمت إزالة هذه الميزة. وبدلاً منها، يمكنك استخدام إحدى الخدمات التي تتوفّر فيها الميزة DTLS key negotiation."
1987
2185
  },
@@ -2090,6 +2288,30 @@
2090
2288
  "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | title": {
2091
2289
  "message": "استخدام فترات التخزين المؤقت الفعّالة"
2092
2290
  },
2291
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | description": {
2292
+ "message": "يجب تحديد ترميز الأحرف. ويمكن إجراء ذلك باستخدام علامة meta charset في أول 1,024 بايت من ملف HTML أو في عنوان استجابة HTTP لنوع المحتوى. [مزيد من المعلومات حول تحديد ترميز الأحرف](https://developer.chrome.com/docs/insights/charset/)"
2293
+ },
2294
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedHttpHeader": {
2295
+ "message": "لم يتم تحديد ترميز الأحرف في عنوان HTTP"
2296
+ },
2297
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedMetaCharsetLate": {
2298
+ "message": "يتم تعريف ترميز الأحرف باستخدام علامة وصفية بعد أول 1,024 بايت"
2299
+ },
2300
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedMetaCharsetMissing": {
2301
+ "message": "لم يتم تحديد ترميز الأحرف باستخدام علامة وصفية"
2302
+ },
2303
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedMetaCharsetUnknown": {
2304
+ "message": "تعذَّر تحديد ترميز الأحرف meta charset من بيانات التتبُّع"
2305
+ },
2306
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | passingHttpHeader": {
2307
+ "message": "يتم تحديد ترميز الأحرف في عنوان HTTP"
2308
+ },
2309
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | passingMetaCharsetEarly": {
2310
+ "message": "يتم تحديد ترميز الأحرف باستخدام علامة وصفية في أول 1,024 بايت"
2311
+ },
2312
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | title": {
2313
+ "message": "تحديد ترميز الأحرف"
2314
+ },
2093
2315
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | description": {
2094
2316
  "message": "إنّ الحجم الكبير لنموذج العناصر في المستند (DOM) يمكن أن يؤدي إلى زيادة مدة عمليات احتساب الأنماط وإعادة تدفق التنسيقات، ما يؤثر في سرعة استجابة الصفحة. وسيزيد هذا الحجم الكبير أيضًا من استخدام الذاكرة. [التعرّف على كيفية تجنُّب زيادة حجم DOM](https://developer.chrome.com/docs/performance/insights/dom-size)"
2095
2317
  },
@@ -2297,8 +2519,11 @@
2297
2519
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityShouldBeApplied": {
2298
2520
  "message": "يجب تطبيق القيمة fetchpriority=high"
2299
2521
  },
2522
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityShouldBeAppliedToImagePreload": {
2523
+ "message": "يجب تطبيق القيمة fetchpriority=high على طلب التحميل المسبق للصورة"
2524
+ },
2300
2525
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lazyLoadNotApplied": {
2301
- "message": "لم يتم تطبيق طريقة \"التحميل الكسول\""
2526
+ "message": "يجب عدم استخدام السمة loading=lazy في موارد LCP"
2302
2527
  },
2303
2528
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lcpLoadDelay": {
2304
2529
  "message": "تم تحميل الصورة الخاصة بمقياس \"سرعة عرض أكبر محتوى مرئي\" (LCP) بعد {PH1} من نقطة البداية الأقدم."