lighthouse 11.7.1 → 12.0.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 (272) hide show
  1. package/CONTRIBUTING.md +2 -2
  2. package/cli/bin.js +0 -7
  3. package/cli/cli-flags.d.ts +1 -5
  4. package/cli/cli-flags.js +4 -8
  5. package/cli/test/smokehouse/__snapshots__/report-assert-test.js.snap +14 -14
  6. package/cli/test/smokehouse/config/exclusions.js +3 -0
  7. package/cli/test/smokehouse/core-tests.js +6 -20
  8. package/cli/test/smokehouse/frontends/smokehouse-bin.js +2 -2
  9. package/core/audits/accessibility/aria-conditional-attr.d.ts +10 -0
  10. package/core/audits/accessibility/aria-conditional-attr.js +43 -0
  11. package/core/audits/accessibility/{duplicate-id-active.d.ts → aria-deprecated-role.d.ts} +3 -3
  12. package/core/audits/accessibility/aria-deprecated-role.js +43 -0
  13. package/core/audits/accessibility/aria-prohibited-attr.d.ts +10 -0
  14. package/core/audits/accessibility/aria-prohibited-attr.js +44 -0
  15. package/core/audits/accessibility/target-size.js +0 -1
  16. package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +0 -16
  17. package/core/audits/byte-efficiency/byte-efficiency-audit.js +1 -38
  18. package/core/audits/byte-efficiency/offscreen-images.d.ts +0 -11
  19. package/core/audits/byte-efficiency/offscreen-images.js +0 -15
  20. package/core/audits/byte-efficiency/render-blocking-resources.js +27 -26
  21. package/core/audits/byte-efficiency/unminified-css.js +2 -2
  22. package/core/audits/byte-efficiency/unused-css-rules.js +3 -1
  23. package/core/audits/dobetterweb/uses-http2.d.ts +0 -13
  24. package/core/audits/dobetterweb/uses-http2.js +4 -38
  25. package/core/audits/font-display.js +2 -2
  26. package/core/audits/layout-shifts.js +1 -1
  27. package/core/audits/preload-fonts.d.ts +1 -5
  28. package/core/audits/preload-fonts.js +1 -10
  29. package/core/audits/prioritize-lcp-image.js +2 -2
  30. package/core/audits/redirects-http.d.ts +19 -0
  31. package/core/audits/redirects-http.js +75 -0
  32. package/core/audits/resource-summary.d.ts +2 -0
  33. package/core/audits/resource-summary.js +5 -4
  34. package/core/audits/seo/is-crawlable.d.ts +2 -1
  35. package/core/audits/seo/link-text.js +12 -0
  36. package/core/audits/uses-rel-preload.d.ts +1 -5
  37. package/core/audits/uses-rel-preload.js +5 -15
  38. package/core/audits/work-during-interaction.d.ts +2 -2
  39. package/core/audits/work-during-interaction.js +2 -2
  40. package/core/computed/js-bundles.d.ts +1 -1
  41. package/core/computed/metrics/lantern-first-contentful-paint.d.ts +13 -82
  42. package/core/computed/metrics/lantern-first-contentful-paint.js +16 -178
  43. package/core/computed/metrics/lantern-first-meaningful-paint.d.ts +13 -12
  44. package/core/computed/metrics/lantern-first-meaningful-paint.js +11 -49
  45. package/core/computed/metrics/lantern-interactive.d.ts +13 -21
  46. package/core/computed/metrics/lantern-interactive.js +12 -84
  47. package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +13 -25
  48. package/core/computed/metrics/lantern-largest-contentful-paint.js +13 -80
  49. package/core/computed/metrics/lantern-max-potential-fid.d.ts +13 -24
  50. package/core/computed/metrics/lantern-max-potential-fid.js +12 -64
  51. package/core/computed/metrics/lantern-metric.d.ts +14 -18
  52. package/core/computed/metrics/lantern-metric.js +34 -30
  53. package/core/computed/metrics/lantern-speed-index.d.ts +13 -32
  54. package/core/computed/metrics/lantern-speed-index.js +13 -116
  55. package/core/computed/metrics/lantern-total-blocking-time.d.ts +13 -25
  56. package/core/computed/metrics/lantern-total-blocking-time.js +10 -94
  57. package/core/computed/metrics/metric.js +1 -3
  58. package/core/computed/module-duplication.d.ts +1 -1
  59. package/core/computed/navigation-insights.d.ts +36 -0
  60. package/core/computed/navigation-insights.js +35 -0
  61. package/core/computed/page-dependency-graph.js +3 -7
  62. package/core/computed/resource-summary.d.ts +10 -12
  63. package/core/computed/resource-summary.js +12 -19
  64. package/core/computed/trace-engine-result.d.ts +16 -3
  65. package/core/computed/trace-engine-result.js +19 -14
  66. package/core/computed/unused-css.d.ts +3 -1
  67. package/core/computed/unused-css.js +6 -5
  68. package/core/config/config-helpers.js +0 -4
  69. package/core/config/constants.js +0 -1
  70. package/core/config/default-config.js +63 -142
  71. package/core/config/experimental-config.js +11 -0
  72. package/core/config/filters.js +0 -1
  73. package/core/gather/driver/navigation.js +4 -1
  74. package/core/gather/driver/prepare.js +1 -1
  75. package/core/gather/driver/target-manager.js +4 -3
  76. package/core/gather/driver/wait-for-condition.js +2 -3
  77. package/core/gather/driver.d.ts +12 -0
  78. package/core/gather/driver.js +27 -0
  79. package/core/gather/gatherers/accessibility.js +4 -6
  80. package/core/gather/gatherers/css-usage.d.ts +0 -21
  81. package/core/gather/gatherers/css-usage.js +9 -119
  82. package/core/gather/gatherers/root-causes.d.ts +2 -2
  83. package/core/gather/gatherers/root-causes.js +6 -5
  84. package/core/gather/gatherers/stylesheets.d.ts +26 -0
  85. package/core/gather/gatherers/stylesheets.js +138 -0
  86. package/core/gather/gatherers/trace-elements.d.ts +2 -12
  87. package/core/gather/gatherers/trace-elements.js +2 -21
  88. package/core/gather/navigation-runner.js +3 -1
  89. package/core/gather/session.d.ts +8 -0
  90. package/core/gather/session.js +14 -1
  91. package/core/lib/emulation.js +2 -2
  92. package/core/lib/i18n/i18n.d.ts +0 -1
  93. package/core/lib/i18n/i18n.js +0 -2
  94. package/core/lib/lantern/cpu-node.d.ts +7 -1
  95. package/core/lib/lantern/cpu-node.js +12 -2
  96. package/core/lib/lantern/lantern-error.d.ts +8 -0
  97. package/core/lib/lantern/lantern-error.js +9 -0
  98. package/core/lib/lantern/metric.js +2 -6
  99. package/core/lib/lantern/metrics/first-contentful-paint.d.ts +79 -0
  100. package/core/lib/lantern/metrics/first-contentful-paint.js +200 -0
  101. package/core/lib/lantern/metrics/first-meaningful-paint.d.ts +6 -0
  102. package/core/lib/lantern/metrics/first-meaningful-paint.js +64 -0
  103. package/core/lib/lantern/metrics/interactive.d.ts +26 -0
  104. package/core/lib/lantern/metrics/interactive.js +112 -0
  105. package/core/lib/lantern/metrics/largest-contentful-paint.d.ts +19 -0
  106. package/core/lib/lantern/metrics/largest-contentful-paint.js +108 -0
  107. package/core/lib/lantern/metrics/max-potential-fid.d.ts +30 -0
  108. package/core/lib/lantern/metrics/max-potential-fid.js +92 -0
  109. package/core/lib/lantern/metrics/speed-index.d.ts +38 -0
  110. package/core/lib/lantern/metrics/speed-index.js +144 -0
  111. package/core/lib/lantern/metrics/total-blocking-time.d.ts +31 -0
  112. package/core/lib/lantern/metrics/total-blocking-time.js +128 -0
  113. package/core/lib/lantern/network-node.js +28 -4
  114. package/core/lib/lantern/page-dependency-graph.d.ts +4 -4
  115. package/core/lib/lantern/page-dependency-graph.js +19 -7
  116. package/core/lib/lantern/simulator/connection-pool.d.ts +2 -12
  117. package/core/lib/lantern/simulator/connection-pool.js +3 -22
  118. package/core/lib/lantern/simulator/network-analyzer.js +1 -12
  119. package/core/lib/lantern/simulator/simulator.d.ts +2 -4
  120. package/core/lib/lantern/simulator/simulator.js +7 -14
  121. package/core/lib/lantern/types/lantern.d.ts +5 -3
  122. package/core/lib/lantern-trace-saver.js +0 -1
  123. package/core/lib/lh-error.d.ts +9 -0
  124. package/core/lib/lh-error.js +13 -3
  125. package/core/lib/lighthouse-compatibility.js +53 -10
  126. package/core/lib/navigation-error.js +3 -0
  127. package/core/lib/network-request.d.ts +1 -0
  128. package/core/lib/network-request.js +28 -0
  129. package/core/runner.js +18 -25
  130. package/dist/report/bundle.esm.js +11 -112
  131. package/dist/report/flow.js +16 -117
  132. package/dist/report/standalone.js +12 -113
  133. package/flow-report/src/help-dialog.tsx +0 -1
  134. package/flow-report/src/i18n/i18n.d.ts +0 -4
  135. package/flow-report/src/i18n/ui-strings.d.ts +0 -1
  136. package/flow-report/src/i18n/ui-strings.js +0 -2
  137. package/flow-report/src/summary/category.tsx +10 -12
  138. package/package.json +5 -5
  139. package/readme.md +4 -4
  140. package/report/assets/styles.css +1 -60
  141. package/report/assets/templates.html +0 -95
  142. package/report/renderer/category-renderer.js +1 -1
  143. package/report/renderer/components.d.ts +2 -2
  144. package/report/renderer/components.js +2 -103
  145. package/report/renderer/dom.d.ts +1 -1
  146. package/report/renderer/dom.js +1 -1
  147. package/report/renderer/performance-category-renderer.d.ts +0 -7
  148. package/report/renderer/performance-category-renderer.js +1 -32
  149. package/report/renderer/report-renderer.js +3 -13
  150. package/report/renderer/report-ui-features.js +1 -1
  151. package/report/renderer/report-utils.d.ts +0 -1
  152. package/report/renderer/report-utils.js +13 -13
  153. package/shared/localization/locales/ar-XB.json +62 -329
  154. package/shared/localization/locales/ar.json +62 -329
  155. package/shared/localization/locales/bg.json +62 -329
  156. package/shared/localization/locales/ca.json +62 -329
  157. package/shared/localization/locales/cs.json +62 -329
  158. package/shared/localization/locales/da.json +62 -329
  159. package/shared/localization/locales/de.json +62 -329
  160. package/shared/localization/locales/el.json +62 -329
  161. package/shared/localization/locales/en-GB.json +62 -329
  162. package/shared/localization/locales/en-US.json +41 -272
  163. package/shared/localization/locales/en-XA.json +62 -329
  164. package/shared/localization/locales/en-XL.json +41 -272
  165. package/shared/localization/locales/es-419.json +62 -329
  166. package/shared/localization/locales/es.json +62 -329
  167. package/shared/localization/locales/fi.json +62 -329
  168. package/shared/localization/locales/fil.json +61 -328
  169. package/shared/localization/locales/fr.json +62 -329
  170. package/shared/localization/locales/he.json +62 -329
  171. package/shared/localization/locales/hi.json +62 -329
  172. package/shared/localization/locales/hr.json +63 -330
  173. package/shared/localization/locales/hu.json +62 -329
  174. package/shared/localization/locales/id.json +62 -329
  175. package/shared/localization/locales/it.json +62 -329
  176. package/shared/localization/locales/ja.json +62 -329
  177. package/shared/localization/locales/ko.json +62 -329
  178. package/shared/localization/locales/lt.json +62 -329
  179. package/shared/localization/locales/lv.json +62 -329
  180. package/shared/localization/locales/nl.json +62 -329
  181. package/shared/localization/locales/no.json +62 -329
  182. package/shared/localization/locales/pl.json +61 -328
  183. package/shared/localization/locales/pt-PT.json +62 -329
  184. package/shared/localization/locales/pt.json +64 -331
  185. package/shared/localization/locales/ro.json +62 -329
  186. package/shared/localization/locales/ru.json +62 -329
  187. package/shared/localization/locales/sk.json +62 -329
  188. package/shared/localization/locales/sl.json +62 -329
  189. package/shared/localization/locales/sr-Latn.json +62 -329
  190. package/shared/localization/locales/sr.json +62 -329
  191. package/shared/localization/locales/sv.json +62 -329
  192. package/shared/localization/locales/ta.json +61 -328
  193. package/shared/localization/locales/te.json +62 -329
  194. package/shared/localization/locales/th.json +62 -329
  195. package/shared/localization/locales/tr.json +62 -329
  196. package/shared/localization/locales/uk.json +62 -329
  197. package/shared/localization/locales/vi.json +61 -328
  198. package/shared/localization/locales/zh-HK.json +62 -329
  199. package/shared/localization/locales/zh-TW.json +61 -328
  200. package/shared/localization/locales/zh.json +62 -329
  201. package/tsconfig.json +1 -3
  202. package/types/artifacts.d.ts +21 -110
  203. package/types/audit.d.ts +0 -10
  204. package/types/config.d.ts +0 -1
  205. package/types/externs.d.ts +0 -2
  206. package/types/gatherer.d.ts +3 -0
  207. package/types/internal/smokehouse.d.ts +1 -1
  208. package/types/lh.d.ts +0 -2
  209. package/types/lhr/audit-details.d.ts +9 -4
  210. package/types/lhr/lhr.d.ts +0 -4
  211. package/types/lhr/settings.d.ts +0 -4
  212. package/core/audits/accessibility/duplicate-id-active.js +0 -42
  213. package/core/audits/content-width.d.ts +0 -17
  214. package/core/audits/content-width.js +0 -76
  215. package/core/audits/installable-manifest.d.ts +0 -111
  216. package/core/audits/installable-manifest.js +0 -248
  217. package/core/audits/layout-shift-elements.d.ts +0 -16
  218. package/core/audits/layout-shift-elements.js +0 -101
  219. package/core/audits/manual/pwa-cross-browser.d.ts +0 -12
  220. package/core/audits/manual/pwa-cross-browser.js +0 -40
  221. package/core/audits/manual/pwa-each-page-has-url.d.ts +0 -12
  222. package/core/audits/manual/pwa-each-page-has-url.js +0 -38
  223. package/core/audits/manual/pwa-page-transitions.d.ts +0 -12
  224. package/core/audits/manual/pwa-page-transitions.js +0 -38
  225. package/core/audits/maskable-icon.d.ts +0 -25
  226. package/core/audits/maskable-icon.js +0 -70
  227. package/core/audits/multi-check-audit.d.ts +0 -28
  228. package/core/audits/multi-check-audit.js +0 -82
  229. package/core/audits/no-unload-listeners.d.ts +0 -16
  230. package/core/audits/no-unload-listeners.js +0 -86
  231. package/core/audits/performance-budget.d.ts +0 -39
  232. package/core/audits/performance-budget.js +0 -154
  233. package/core/audits/script-elements-test-audit.d.ts +0 -14
  234. package/core/audits/script-elements-test-audit.js +0 -29
  235. package/core/audits/seo/plugins.d.ts +0 -15
  236. package/core/audits/seo/plugins.js +0 -150
  237. package/core/audits/seo/tap-targets.d.ts +0 -50
  238. package/core/audits/seo/tap-targets.js +0 -352
  239. package/core/audits/splash-screen.d.ts +0 -37
  240. package/core/audits/splash-screen.js +0 -98
  241. package/core/audits/themed-omnibox.d.ts +0 -42
  242. package/core/audits/themed-omnibox.js +0 -102
  243. package/core/audits/timing-budget.d.ts +0 -43
  244. package/core/audits/timing-budget.js +0 -175
  245. package/core/computed/manifest-values.d.ts +0 -24
  246. package/core/computed/manifest-values.js +0 -136
  247. package/core/config/budget.d.ts +0 -74
  248. package/core/config/budget.js +0 -340
  249. package/core/config/metrics-to-audits.d.ts +0 -19
  250. package/core/config/metrics-to-audits.js +0 -62
  251. package/core/gather/driver/service-workers.d.ts +0 -16
  252. package/core/gather/driver/service-workers.js +0 -52
  253. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +0 -47
  254. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +0 -233
  255. package/core/gather/gatherers/global-listeners.d.ts +0 -27
  256. package/core/gather/gatherers/global-listeners.js +0 -108
  257. package/core/gather/gatherers/installability-errors.d.ts +0 -17
  258. package/core/gather/gatherers/installability-errors.js +0 -56
  259. package/core/gather/gatherers/script-elements.d.ts +0 -21
  260. package/core/gather/gatherers/script-elements.js +0 -100
  261. package/core/gather/gatherers/seo/embedded-content.d.ts +0 -10
  262. package/core/gather/gatherers/seo/embedded-content.js +0 -63
  263. package/core/gather/gatherers/seo/tap-targets.d.ts +0 -21
  264. package/core/gather/gatherers/seo/tap-targets.js +0 -389
  265. package/core/gather/gatherers/service-worker.d.ts +0 -10
  266. package/core/gather/gatherers/service-worker.js +0 -32
  267. package/core/gather/gatherers/web-app-manifest.d.ts +0 -32
  268. package/core/gather/gatherers/web-app-manifest.js +0 -106
  269. package/report/renderer/pwa-category-renderer.d.ts +0 -55
  270. package/report/renderer/pwa-category-renderer.js +0 -184
  271. package/third-party/chromium-synchronization/installability-errors-test.js +0 -79
  272. package/types/lhr/budget.d.ts +0 -60
@@ -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.8/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.9/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.8/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.9/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": "‏‮ARIA‬‏ `role`‏‮s‬‏ ‏‮enable‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏ ‏‮to‬‏ ‏‮know‬‏ ‏‮the‬‏ ‏‮role‬‏ ‏‮of‬‏ ‏‮each‬‏ ‏‮element‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮web‬‏ ‏‮page‬‏. ‏‮If‬‏ ‏‮the‬‏ `role` ‏‮values‬‏ ‏‮are‬‏ ‏‮misspelled‬‏, ‏‮not‬‏ ‏‮existing‬‏ ‏‮ARIA‬‏ `role` ‏‮values‬‏, ‏‮or‬‏ ‏‮abstract‬‏ ‏‮roles‬‏, ‏‮then‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮element‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮communicated‬‏ ‏‮to‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.8/aria-allowed-role)."
21
+ "message": "‏‮ARIA‬‏ `role`‏‮s‬‏ ‏‮enable‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏ ‏‮to‬‏ ‏‮know‬‏ ‏‮the‬‏ ‏‮role‬‏ ‏‮of‬‏ ‏‮each‬‏ ‏‮element‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮web‬‏ ‏‮page‬‏. ‏‮If‬‏ ‏‮the‬‏ `role` ‏‮values‬‏ ‏‮are‬‏ ‏‮misspelled‬‏, ‏‮not‬‏ ‏‮existing‬‏ ‏‮ARIA‬‏ `role` ‏‮values‬‏, ‏‮or‬‏ ‏‮abstract‬‏ ‏‮roles‬‏, ‏‮then‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮element‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮communicated‬‏ ‏‮to‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.9/aria-allowed-role)."
22
22
  },
23
23
  "core/audits/accessibility/aria-allowed-role.js | failureTitle": {
24
24
  "message": "‏‮Values‬‏ ‏‮assigned‬‏ ‏‮to‬‏ `role=\"\"` ‏‮are‬‏ ‏‮not‬‏ ‏‮valid‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏."
@@ -27,7 +27,7 @@
27
27
  "message": "‏‮Values‬‏ ‏‮assigned‬‏ ‏‮to‬‏ `role=\"\"` ‏‮are‬‏ ‏‮valid‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏."
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.8/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.9/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-dialog-name.js | description": {
39
- "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.8/aria-dialog-name)."
39
+ "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.9/aria-dialog-name)."
40
40
  },
41
41
  "core/audits/accessibility/aria-dialog-name.js | failureTitle": {
42
42
  "message": "‏‮Elements‬‏ ‏‮with‬‏ `role=\"dialog\"` ‏‮or‬‏ `role=\"alertdialog\"` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -45,7 +45,7 @@
45
45
  "message": "‏‮Elements‬‏ ‏‮with‬‏ `role=\"dialog\"` ‏‮or‬‏ `role=\"alertdialog\"` ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
46
46
  },
47
47
  "core/audits/accessibility/aria-hidden-body.js | description": {
48
- "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.8/aria-hidden-body)."
48
+ "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.9/aria-hidden-body)."
49
49
  },
50
50
  "core/audits/accessibility/aria-hidden-body.js | failureTitle": {
51
51
  "message": "`[aria-hidden=\"true\"]` ‏‮is‬‏ ‏‮present‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮document‬‏ `<body>`"
@@ -54,7 +54,7 @@
54
54
  "message": "`[aria-hidden=\"true\"]` ‏‮is‬‏ ‏‮not‬‏ ‏‮present‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮document‬‏ `<body>`"
55
55
  },
56
56
  "core/audits/accessibility/aria-hidden-focus.js | description": {
57
- "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.8/aria-hidden-focus)."
57
+ "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.9/aria-hidden-focus)."
58
58
  },
59
59
  "core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
60
60
  "message": "`[aria-hidden=\"true\"]` ‏‮elements‬‏ ‏‮contain‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏"
@@ -63,7 +63,7 @@
63
63
  "message": "`[aria-hidden=\"true\"]` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏"
64
64
  },
65
65
  "core/audits/accessibility/aria-input-field-name.js | description": {
66
- "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.8/aria-input-field-name)."
66
+ "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.9/aria-input-field-name)."
67
67
  },
68
68
  "core/audits/accessibility/aria-input-field-name.js | failureTitle": {
69
69
  "message": "‏‮ARIA‬‏ ‏‮input‬‏ ‏‮fields‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
@@ -72,7 +72,7 @@
72
72
  "message": "‏‮ARIA‬‏ ‏‮input‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
73
73
  },
74
74
  "core/audits/accessibility/aria-meter-name.js | description": {
75
- "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.8/aria-meter-name)."
75
+ "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.9/aria-meter-name)."
76
76
  },
77
77
  "core/audits/accessibility/aria-meter-name.js | failureTitle": {
78
78
  "message": "‏‮ARIA‬‏ `meter` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -81,7 +81,7 @@
81
81
  "message": "‏‮ARIA‬‏ `meter` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
82
82
  },
83
83
  "core/audits/accessibility/aria-progressbar-name.js | description": {
84
- "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.8/aria-progressbar-name)."
84
+ "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.9/aria-progressbar-name)."
85
85
  },
86
86
  "core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
87
87
  "message": "‏‮ARIA‬‏ `progressbar` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -90,7 +90,7 @@
90
90
  "message": "‏‮ARIA‬‏ `progressbar` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
91
91
  },
92
92
  "core/audits/accessibility/aria-required-attr.js | description": {
93
- "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.8/aria-required-attr)."
93
+ "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.9/aria-required-attr)."
94
94
  },
95
95
  "core/audits/accessibility/aria-required-attr.js | failureTitle": {
96
96
  "message": "`[role]`‏‮s‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ `[aria-*]` ‏‮attributes‬‏"
@@ -99,7 +99,7 @@
99
99
  "message": "`[role]`‏‮s‬‏ ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ `[aria-*]` ‏‮attributes‬‏"
100
100
  },
101
101
  "core/audits/accessibility/aria-required-children.js | description": {
102
- "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.8/aria-required-children)."
102
+ "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.9/aria-required-children)."
103
103
  },
104
104
  "core/audits/accessibility/aria-required-children.js | failureTitle": {
105
105
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮ARIA‬‏ `[role]` ‏‮that‬‏ ‏‮require‬‏ ‏‮children‬‏ ‏‮to‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮specific‬‏ `[role]` ‏‮are‬‏ ‏‮missing‬‏ ‏‮some‬‏ ‏‮or‬‏ ‏‮all‬‏ ‏‮of‬‏ ‏‮those‬‏ ‏‮required‬‏ ‏‮children‬‏."
@@ -108,7 +108,7 @@
108
108
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮ARIA‬‏ `[role]` ‏‮that‬‏ ‏‮require‬‏ ‏‮children‬‏ ‏‮to‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮specific‬‏ `[role]` ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ ‏‮children‬‏."
109
109
  },
110
110
  "core/audits/accessibility/aria-required-parent.js | description": {
111
- "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.8/aria-required-parent)."
111
+ "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.9/aria-required-parent)."
112
112
  },
113
113
  "core/audits/accessibility/aria-required-parent.js | failureTitle": {
114
114
  "message": "`[role]`‏‮s‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮contained‬‏ ‏‮by‬‏ ‏‮their‬‏ ‏‮required‬‏ ‏‮parent‬‏ ‏‮element‬‏"
@@ -117,7 +117,7 @@
117
117
  "message": "`[role]`‏‮s‬‏ ‏‮are‬‏ ‏‮contained‬‏ ‏‮by‬‏ ‏‮their‬‏ ‏‮required‬‏ ‏‮parent‬‏ ‏‮element‬‏"
118
118
  },
119
119
  "core/audits/accessibility/aria-roles.js | description": {
120
- "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.8/aria-roles)."
120
+ "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.9/aria-roles)."
121
121
  },
122
122
  "core/audits/accessibility/aria-roles.js | failureTitle": {
123
123
  "message": "`[role]` ‏‮values‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮valid‬‏"
@@ -126,7 +126,7 @@
126
126
  "message": "`[role]` ‏‮values‬‏ ‏‮are‬‏ ‏‮valid‬‏"
127
127
  },
128
128
  "core/audits/accessibility/aria-text.js | description": {
129
- "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.8/aria-text)."
129
+ "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.9/aria-text)."
130
130
  },
131
131
  "core/audits/accessibility/aria-text.js | failureTitle": {
132
132
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮the‬‏ `role=text` ‏‮attribute‬‏ ‏‮do‬‏ ‏‮have‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏."
@@ -135,7 +135,7 @@
135
135
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮the‬‏ `role=text` ‏‮attribute‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏."
136
136
  },
137
137
  "core/audits/accessibility/aria-toggle-field-name.js | description": {
138
- "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.8/aria-toggle-field-name)."
138
+ "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.9/aria-toggle-field-name)."
139
139
  },
140
140
  "core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
141
141
  "message": "‏‮ARIA‬‏ ‏‮toggle‬‏ ‏‮fields‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
@@ -144,7 +144,7 @@
144
144
  "message": "‏‮ARIA‬‏ ‏‮toggle‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
145
145
  },
146
146
  "core/audits/accessibility/aria-tooltip-name.js | description": {
147
- "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.8/aria-tooltip-name)."
147
+ "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.9/aria-tooltip-name)."
148
148
  },
149
149
  "core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
150
150
  "message": "‏‮ARIA‬‏ `tooltip` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -153,7 +153,7 @@
153
153
  "message": "‏‮ARIA‬‏ `tooltip` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
154
154
  },
155
155
  "core/audits/accessibility/aria-treeitem-name.js | description": {
156
- "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.8/aria-treeitem-name)."
156
+ "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.9/aria-treeitem-name)."
157
157
  },
158
158
  "core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
159
159
  "message": "‏‮ARIA‬‏ `treeitem` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -162,7 +162,7 @@
162
162
  "message": "‏‮ARIA‬‏ `treeitem` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
163
163
  },
164
164
  "core/audits/accessibility/aria-valid-attr-value.js | description": {
165
- "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.8/aria-valid-attr-value)."
165
+ "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.9/aria-valid-attr-value)."
166
166
  },
167
167
  "core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
168
168
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮valid‬‏ ‏‮values‬‏"
@@ -171,7 +171,7 @@
171
171
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮have‬‏ ‏‮valid‬‏ ‏‮values‬‏"
172
172
  },
173
173
  "core/audits/accessibility/aria-valid-attr.js | description": {
174
- "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.8/aria-valid-attr)."
174
+ "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.9/aria-valid-attr)."
175
175
  },
176
176
  "core/audits/accessibility/aria-valid-attr.js | failureTitle": {
177
177
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮valid‬‏ ‏‮or‬‏ ‏‮misspelled‬‏"
@@ -183,7 +183,7 @@
183
183
  "message": "‏‮Failing‬‏ ‏‮Elements‬‏"
184
184
  },
185
185
  "core/audits/accessibility/button-name.js | description": {
186
- "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.8/button-name)."
186
+ "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.9/button-name)."
187
187
  },
188
188
  "core/audits/accessibility/button-name.js | failureTitle": {
189
189
  "message": "‏‮Buttons‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏"
@@ -192,7 +192,7 @@
192
192
  "message": "‏‮Buttons‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏"
193
193
  },
194
194
  "core/audits/accessibility/bypass.js | description": {
195
- "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.8/bypass)."
195
+ "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.9/bypass)."
196
196
  },
197
197
  "core/audits/accessibility/bypass.js | failureTitle": {
198
198
  "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮heading‬‏, ‏‮skip‬‏ ‏‮link‬‏, ‏‮or‬‏ ‏‮landmark‬‏ ‏‮region‬‏"
@@ -201,7 +201,7 @@
201
201
  "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮contains‬‏ ‏‮a‬‏ ‏‮heading‬‏, ‏‮skip‬‏ ‏‮link‬‏, ‏‮or‬‏ ‏‮landmark‬‏ ‏‮region‬‏"
202
202
  },
203
203
  "core/audits/accessibility/color-contrast.js | description": {
204
- "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.8/color-contrast)."
204
+ "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.9/color-contrast)."
205
205
  },
206
206
  "core/audits/accessibility/color-contrast.js | failureTitle": {
207
207
  "message": "‏‮Background‬‏ ‏‮and‬‏ ‏‮foreground‬‏ ‏‮colors‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮sufficient‬‏ ‏‮contrast‬‏ ‏‮ratio‬‏."
@@ -210,7 +210,7 @@
210
210
  "message": "‏‮Background‬‏ ‏‮and‬‏ ‏‮foreground‬‏ ‏‮colors‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮sufficient‬‏ ‏‮contrast‬‏ ‏‮ratio‬‏"
211
211
  },
212
212
  "core/audits/accessibility/definition-list.js | description": {
213
- "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.8/definition-list)."
213
+ "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.9/definition-list)."
214
214
  },
215
215
  "core/audits/accessibility/definition-list.js | failureTitle": {
216
216
  "message": "`<dl>`'‏‮s‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮only‬‏ ‏‮properly‬‏-‏‮ordered‬‏ `<dt>` ‏‮and‬‏ `<dd>` ‏‮groups‬‏, `<script>`, `<template>` ‏‮or‬‏ `<div>` ‏‮elements‬‏."
@@ -219,7 +219,7 @@
219
219
  "message": "`<dl>`'‏‮s‬‏ ‏‮contain‬‏ ‏‮only‬‏ ‏‮properly‬‏-‏‮ordered‬‏ `<dt>` ‏‮and‬‏ `<dd>` ‏‮groups‬‏, `<script>`, `<template>` ‏‮or‬‏ `<div>` ‏‮elements‬‏."
220
220
  },
221
221
  "core/audits/accessibility/dlitem.js | description": {
222
- "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.8/dlitem)."
222
+ "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.9/dlitem)."
223
223
  },
224
224
  "core/audits/accessibility/dlitem.js | failureTitle": {
225
225
  "message": "‏‮Definition‬‏ ‏‮list‬‏ ‏‮items‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮wrapped‬‏ ‏‮in‬‏ `<dl>` ‏‮elements‬‏"
@@ -228,7 +228,7 @@
228
228
  "message": "‏‮Definition‬‏ ‏‮list‬‏ ‏‮items‬‏ ‏‮are‬‏ ‏‮wrapped‬‏ ‏‮in‬‏ `<dl>` ‏‮elements‬‏"
229
229
  },
230
230
  "core/audits/accessibility/document-title.js | description": {
231
- "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.8/document-title)."
231
+ "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.9/document-title)."
232
232
  },
233
233
  "core/audits/accessibility/document-title.js | failureTitle": {
234
234
  "message": "‏‮Document‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮a‬‏ `<title>` ‏‮element‬‏"
@@ -236,17 +236,8 @@
236
236
  "core/audits/accessibility/document-title.js | title": {
237
237
  "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ `<title>` ‏‮element‬‏"
238
238
  },
239
- "core/audits/accessibility/duplicate-id-active.js | description": {
240
- "message": "‏‮All‬‏ ‏‮focusable‬‏ ‏‮elements‬‏ ‏‮must‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮unique‬‏ `id` ‏‮to‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮they‬‏'‏‮re‬‏ ‏‮visible‬‏ ‏‮to‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮fix‬‏ ‏‮duplicate‬‏ `id`‏‮s‬‏](https://dequeuniversity.com/rules/axe/4.8/duplicate-id-active)."
241
- },
242
- "core/audits/accessibility/duplicate-id-active.js | failureTitle": {
243
- "message": "`[id]` ‏‮attributes‬‏ ‏‮on‬‏ ‏‮active‬‏, ‏‮focusable‬‏ ‏‮elements‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮unique‬‏"
244
- },
245
- "core/audits/accessibility/duplicate-id-active.js | title": {
246
- "message": "`[id]` ‏‮attributes‬‏ ‏‮on‬‏ ‏‮active‬‏, ‏‮focusable‬‏ ‏‮elements‬‏ ‏‮are‬‏ ‏‮unique‬‏"
247
- },
248
239
  "core/audits/accessibility/duplicate-id-aria.js | description": {
249
- "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.8/duplicate-id-aria)."
240
+ "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.9/duplicate-id-aria)."
250
241
  },
251
242
  "core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
252
243
  "message": "‏‮ARIA‬‏ ‏‮IDs‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮unique‬‏"
@@ -255,7 +246,7 @@
255
246
  "message": "‏‮ARIA‬‏ ‏‮IDs‬‏ ‏‮are‬‏ ‏‮unique‬‏"
256
247
  },
257
248
  "core/audits/accessibility/empty-heading.js | description": {
258
- "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.8/empty-heading)."
249
+ "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.9/empty-heading)."
259
250
  },
260
251
  "core/audits/accessibility/empty-heading.js | failureTitle": {
261
252
  "message": "‏‮Heading‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮content‬‏."
@@ -264,7 +255,7 @@
264
255
  "message": "‏‮All‬‏ ‏‮heading‬‏ ‏‮elements‬‏ ‏‮contain‬‏ ‏‮content‬‏."
265
256
  },
266
257
  "core/audits/accessibility/form-field-multiple-labels.js | description": {
267
- "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.8/form-field-multiple-labels)."
258
+ "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.9/form-field-multiple-labels)."
268
259
  },
269
260
  "core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
270
261
  "message": "‏‮Form‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮multiple‬‏ ‏‮labels‬‏"
@@ -273,7 +264,7 @@
273
264
  "message": "‏‮No‬‏ ‏‮form‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮multiple‬‏ ‏‮labels‬‏"
274
265
  },
275
266
  "core/audits/accessibility/frame-title.js | description": {
276
- "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.8/frame-title)."
267
+ "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.9/frame-title)."
277
268
  },
278
269
  "core/audits/accessibility/frame-title.js | failureTitle": {
279
270
  "message": "`<frame>` ‏‮or‬‏ `<iframe>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮title‬‏"
@@ -282,7 +273,7 @@
282
273
  "message": "`<frame>` ‏‮or‬‏ `<iframe>` ‏‮elements‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮title‬‏"
283
274
  },
284
275
  "core/audits/accessibility/heading-order.js | description": {
285
- "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.8/heading-order)."
276
+ "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.9/heading-order)."
286
277
  },
287
278
  "core/audits/accessibility/heading-order.js | failureTitle": {
288
279
  "message": "‏‮Heading‬‏ ‏‮elements‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮sequentially‬‏-‏‮descending‬‏ ‏‮order‬‏"
@@ -291,7 +282,7 @@
291
282
  "message": "‏‮Heading‬‏ ‏‮elements‬‏ ‏‮appear‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮sequentially‬‏-‏‮descending‬‏ ‏‮order‬‏"
292
283
  },
293
284
  "core/audits/accessibility/html-has-lang.js | description": {
294
- "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.8/html-has-lang)."
285
+ "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.9/html-has-lang)."
295
286
  },
296
287
  "core/audits/accessibility/html-has-lang.js | failureTitle": {
297
288
  "message": "`<html>` ‏‮element‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ `[lang]` ‏‮attribute‬‏"
@@ -300,7 +291,7 @@
300
291
  "message": "`<html>` ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ `[lang]` ‏‮attribute‬‏"
301
292
  },
302
293
  "core/audits/accessibility/html-lang-valid.js | description": {
303
- "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.8/html-lang-valid)."
294
+ "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.9/html-lang-valid)."
304
295
  },
305
296
  "core/audits/accessibility/html-lang-valid.js | failureTitle": {
306
297
  "message": "`<html>` ‏‮element‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏ ‏‮for‬‏ ‏‮its‬‏ `[lang]` ‏‮attribute‬‏."
@@ -309,7 +300,7 @@
309
300
  "message": "`<html>` ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏ ‏‮for‬‏ ‏‮its‬‏ `[lang]` ‏‮attribute‬‏"
310
301
  },
311
302
  "core/audits/accessibility/html-xml-lang-mismatch.js | description": {
312
- "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.8/html-xml-lang-mismatch)."
303
+ "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.9/html-xml-lang-mismatch)."
313
304
  },
314
305
  "core/audits/accessibility/html-xml-lang-mismatch.js | failureTitle": {
315
306
  "message": "`<html>` ‏‮element‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮an‬‏ `[xml:lang]` ‏‮attribute‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮base‬‏ ‏‮language‬‏ ‏‮as‬‏ ‏‮the‬‏ `[lang]` ‏‮attribute‬‏."
@@ -318,7 +309,7 @@
318
309
  "message": "`<html>` ‏‮element‬‏ ‏‮has‬‏ ‏‮an‬‏ `[xml:lang]` ‏‮attribute‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮base‬‏ ‏‮language‬‏ ‏‮as‬‏ ‏‮the‬‏ `[lang]` ‏‮attribute‬‏."
319
310
  },
320
311
  "core/audits/accessibility/identical-links-same-purpose.js | description": {
321
- "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.8/identical-links-same-purpose)."
312
+ "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.9/identical-links-same-purpose)."
322
313
  },
323
314
  "core/audits/accessibility/identical-links-same-purpose.js | failureTitle": {
324
315
  "message": "‏‮Identical‬‏ ‏‮links‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮purpose‬‏."
@@ -327,7 +318,7 @@
327
318
  "message": "‏‮Identical‬‏ ‏‮links‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮purpose‬‏."
328
319
  },
329
320
  "core/audits/accessibility/image-alt.js | description": {
330
- "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.8/image-alt)."
321
+ "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.9/image-alt)."
331
322
  },
332
323
  "core/audits/accessibility/image-alt.js | failureTitle": {
333
324
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏"
@@ -336,7 +327,7 @@
336
327
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏"
337
328
  },
338
329
  "core/audits/accessibility/image-redundant-alt.js | description": {
339
- "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.8/image-redundant-alt)."
330
+ "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.9/image-redundant-alt)."
340
331
  },
341
332
  "core/audits/accessibility/image-redundant-alt.js | failureTitle": {
342
333
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮redundant‬‏ ‏‮text‬‏."
@@ -345,7 +336,7 @@
345
336
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮redundant‬‏ ‏‮text‬‏."
346
337
  },
347
338
  "core/audits/accessibility/input-button-name.js | description": {
348
- "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.8/input-button-name)."
339
+ "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.9/input-button-name)."
349
340
  },
350
341
  "core/audits/accessibility/input-button-name.js | failureTitle": {
351
342
  "message": "‏‮Input‬‏ ‏‮buttons‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮discernible‬‏ ‏‮text‬‏."
@@ -354,7 +345,7 @@
354
345
  "message": "‏‮Input‬‏ ‏‮buttons‬‏ ‏‮have‬‏ ‏‮discernible‬‏ ‏‮text‬‏."
355
346
  },
356
347
  "core/audits/accessibility/input-image-alt.js | description": {
357
- "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.8/input-image-alt)."
348
+ "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.9/input-image-alt)."
358
349
  },
359
350
  "core/audits/accessibility/input-image-alt.js | failureTitle": {
360
351
  "message": "`<input type=\"image\">` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ `[alt]` ‏‮text‬‏"
@@ -363,7 +354,7 @@
363
354
  "message": "`<input type=\"image\">` ‏‮elements‬‏ ‏‮have‬‏ `[alt]` ‏‮text‬‏"
364
355
  },
365
356
  "core/audits/accessibility/label-content-name-mismatch.js | description": {
366
- "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.8/label-content-name-mismatch)."
357
+ "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.9/label-content-name-mismatch)."
367
358
  },
368
359
  "core/audits/accessibility/label-content-name-mismatch.js | failureTitle": {
369
360
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮visible‬‏ ‏‮text‬‏ ‏‮labels‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮matching‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
@@ -372,7 +363,7 @@
372
363
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮visible‬‏ ‏‮text‬‏ ‏‮labels‬‏ ‏‮have‬‏ ‏‮matching‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
373
364
  },
374
365
  "core/audits/accessibility/label.js | description": {
375
- "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.8/label)."
366
+ "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.9/label)."
376
367
  },
377
368
  "core/audits/accessibility/label.js | failureTitle": {
378
369
  "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮labels‬‏"
@@ -381,7 +372,7 @@
381
372
  "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮labels‬‏"
382
373
  },
383
374
  "core/audits/accessibility/landmark-one-main.js | description": {
384
- "message": "‏‮One‬‏ ‏‮main‬‏ ‏‮landmark‬‏ ‏‮helps‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮navigate‬‏ ‏‮a‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮landmarks‬‏](https://dequeuniversity.com/rules/axe/4.8/landmark-one-main)."
375
+ "message": "‏‮One‬‏ ‏‮main‬‏ ‏‮landmark‬‏ ‏‮helps‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮navigate‬‏ ‏‮a‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮landmarks‬‏](https://dequeuniversity.com/rules/axe/4.9/landmark-one-main)."
385
376
  },
386
377
  "core/audits/accessibility/landmark-one-main.js | failureTitle": {
387
378
  "message": "‏‮Document‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮main‬‏ ‏‮landmark‬‏."
@@ -390,7 +381,7 @@
390
381
  "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮main‬‏ ‏‮landmark‬‏."
391
382
  },
392
383
  "core/audits/accessibility/link-in-text-block.js | description": {
393
- "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.8/link-in-text-block)."
384
+ "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.9/link-in-text-block)."
394
385
  },
395
386
  "core/audits/accessibility/link-in-text-block.js | failureTitle": {
396
387
  "message": "‏‮Links‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮color‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮distinguishable‬‏."
@@ -399,7 +390,7 @@
399
390
  "message": "‏‮Links‬‏ ‏‮are‬‏ ‏‮distinguishable‬‏ ‏‮without‬‏ ‏‮relying‬‏ ‏‮on‬‏ ‏‮color‬‏."
400
391
  },
401
392
  "core/audits/accessibility/link-name.js | description": {
402
- "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.8/link-name)."
393
+ "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.9/link-name)."
403
394
  },
404
395
  "core/audits/accessibility/link-name.js | failureTitle": {
405
396
  "message": "‏‮Links‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮discernible‬‏ ‏‮name‬‏"
@@ -408,7 +399,7 @@
408
399
  "message": "‏‮Links‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮discernible‬‏ ‏‮name‬‏"
409
400
  },
410
401
  "core/audits/accessibility/list.js | description": {
411
- "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.8/list)."
402
+ "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.9/list)."
412
403
  },
413
404
  "core/audits/accessibility/list.js | failureTitle": {
414
405
  "message": "‏‮Lists‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮only‬‏ `<li>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮script‬‏ ‏‮supporting‬‏ ‏‮elements‬‏ (`<script>` ‏‮and‬‏ `<template>`)."
@@ -417,7 +408,7 @@
417
408
  "message": "‏‮Lists‬‏ ‏‮contain‬‏ ‏‮only‬‏ `<li>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮script‬‏ ‏‮supporting‬‏ ‏‮elements‬‏ (`<script>` ‏‮and‬‏ `<template>`)."
418
409
  },
419
410
  "core/audits/accessibility/listitem.js | description": {
420
- "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.8/listitem)."
411
+ "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.9/listitem)."
421
412
  },
422
413
  "core/audits/accessibility/listitem.js | failureTitle": {
423
414
  "message": "‏‮List‬‏ ‏‮items‬‏ (`<li>`) ‏‮are‬‏ ‏‮not‬‏ ‏‮contained‬‏ ‏‮within‬‏ `<ul>`, `<ol>` ‏‮or‬‏ `<menu>` ‏‮parent‬‏ ‏‮elements‬‏."
@@ -426,7 +417,7 @@
426
417
  "message": "‏‮List‬‏ ‏‮items‬‏ (`<li>`) ‏‮are‬‏ ‏‮contained‬‏ ‏‮within‬‏ `<ul>`, `<ol>` ‏‮or‬‏ `<menu>` ‏‮parent‬‏ ‏‮elements‬‏"
427
418
  },
428
419
  "core/audits/accessibility/meta-refresh.js | description": {
429
- "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.8/meta-refresh)."
420
+ "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.9/meta-refresh)."
430
421
  },
431
422
  "core/audits/accessibility/meta-refresh.js | failureTitle": {
432
423
  "message": "‏‮The‬‏ ‏‮document‬‏ ‏‮uses‬‏ `<meta http-equiv=\"refresh\">`"
@@ -435,7 +426,7 @@
435
426
  "message": "‏‮The‬‏ ‏‮document‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮use‬‏ `<meta http-equiv=\"refresh\">`"
436
427
  },
437
428
  "core/audits/accessibility/meta-viewport.js | description": {
438
- "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.8/meta-viewport)."
429
+ "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.9/meta-viewport)."
439
430
  },
440
431
  "core/audits/accessibility/meta-viewport.js | failureTitle": {
441
432
  "message": "`[user-scalable=\"no\"]` ‏‮is‬‏ ‏‮used‬‏ ‏‮in‬‏ ‏‮the‬‏ `<meta name=\"viewport\">` ‏‮element‬‏ ‏‮or‬‏ ‏‮the‬‏ `[maximum-scale]` ‏‮attribute‬‏ ‏‮is‬‏ ‏‮less‬‏ ‏‮than‬‏ 5."
@@ -444,7 +435,7 @@
444
435
  "message": "`[user-scalable=\"no\"]` ‏‮is‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮in‬‏ ‏‮the‬‏ `<meta name=\"viewport\">` ‏‮element‬‏ ‏‮and‬‏ ‏‮the‬‏ `[maximum-scale]` ‏‮attribute‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮less‬‏ ‏‮than‬‏ 5."
445
436
  },
446
437
  "core/audits/accessibility/object-alt.js | description": {
447
- "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.8/object-alt)."
438
+ "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.9/object-alt)."
448
439
  },
449
440
  "core/audits/accessibility/object-alt.js | failureTitle": {
450
441
  "message": "`<object>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮alternate‬‏ ‏‮text‬‏"
@@ -453,7 +444,7 @@
453
444
  "message": "`<object>` ‏‮elements‬‏ ‏‮have‬‏ ‏‮alternate‬‏ ‏‮text‬‏"
454
445
  },
455
446
  "core/audits/accessibility/select-name.js | description": {
456
- "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.8/select-name)."
447
+ "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.9/select-name)."
457
448
  },
458
449
  "core/audits/accessibility/select-name.js | failureTitle": {
459
450
  "message": "‏‮Select‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮label‬‏ ‏‮elements‬‏."
@@ -462,7 +453,7 @@
462
453
  "message": "‏‮Select‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮label‬‏ ‏‮elements‬‏."
463
454
  },
464
455
  "core/audits/accessibility/skip-link.js | description": {
465
- "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.8/skip-link)."
456
+ "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.9/skip-link)."
466
457
  },
467
458
  "core/audits/accessibility/skip-link.js | failureTitle": {
468
459
  "message": "‏‮Skip‬‏ ‏‮links‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮focusable‬‏."
@@ -471,7 +462,7 @@
471
462
  "message": "‏‮Skip‬‏ ‏‮links‬‏ ‏‮are‬‏ ‏‮focusable‬‏."
472
463
  },
473
464
  "core/audits/accessibility/tabindex.js | description": {
474
- "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.8/tabindex)."
465
+ "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.9/tabindex)."
475
466
  },
476
467
  "core/audits/accessibility/tabindex.js | failureTitle": {
477
468
  "message": "‏‮Some‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮a‬‏ `[tabindex]` ‏‮value‬‏ ‏‮greater‬‏ ‏‮than‬‏ 0"
@@ -480,7 +471,7 @@
480
471
  "message": "‏‮No‬‏ ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ `[tabindex]` ‏‮value‬‏ ‏‮greater‬‏ ‏‮than‬‏ 0"
481
472
  },
482
473
  "core/audits/accessibility/table-duplicate-name.js | description": {
483
- "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.8/table-duplicate-name)."
474
+ "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.9/table-duplicate-name)."
484
475
  },
485
476
  "core/audits/accessibility/table-duplicate-name.js | failureTitle": {
486
477
  "message": "‏‮Tables‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮content‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮summary‬‏ ‏‮attribute‬‏ ‏‮and‬‏ `<caption>.`"
@@ -489,7 +480,7 @@
489
480
  "message": "‏‮Tables‬‏ ‏‮have‬‏ ‏‮different‬‏ ‏‮content‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮summary‬‏ ‏‮attribute‬‏ ‏‮and‬‏ `<caption>`."
490
481
  },
491
482
  "core/audits/accessibility/table-fake-caption.js | description": {
492
- "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.8/table-fake-caption)."
483
+ "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.9/table-fake-caption)."
493
484
  },
494
485
  "core/audits/accessibility/table-fake-caption.js | failureTitle": {
495
486
  "message": "‏‮Tables‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮use‬‏ `<caption>` ‏‮instead‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮with‬‏ ‏‮the‬‏ `[colspan]` ‏‮attribute‬‏ ‏‮to‬‏ ‏‮indicate‬‏ ‏‮a‬‏ ‏‮caption‬‏."
@@ -498,7 +489,7 @@
498
489
  "message": "‏‮Tables‬‏ ‏‮use‬‏ `<caption>` ‏‮instead‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮with‬‏ ‏‮the‬‏ `[colspan]` ‏‮attribute‬‏ ‏‮to‬‏ ‏‮indicate‬‏ ‏‮a‬‏ ‏‮caption‬‏."
499
490
  },
500
491
  "core/audits/accessibility/target-size.js | description": {
501
- "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.8/target-size)."
492
+ "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.9/target-size)."
502
493
  },
503
494
  "core/audits/accessibility/target-size.js | failureTitle": {
504
495
  "message": "‏‮Touch‬‏ ‏‮targets‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮sufficient‬‏ ‏‮size‬‏ ‏‮or‬‏ ‏‮spacing‬‏."
@@ -507,7 +498,7 @@
507
498
  "message": "‏‮Touch‬‏ ‏‮targets‬‏ ‏‮have‬‏ ‏‮sufficient‬‏ ‏‮size‬‏ ‏‮and‬‏ ‏‮spacing‬‏."
508
499
  },
509
500
  "core/audits/accessibility/td-has-header.js | description": {
510
- "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.8/td-has-header)."
501
+ "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.9/td-has-header)."
511
502
  },
512
503
  "core/audits/accessibility/td-has-header.js | failureTitle": {
513
504
  "message": "`<td>` ‏‮elements‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮large‬‏ `<table>` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮table‬‏ ‏‮headers‬‏."
@@ -516,7 +507,7 @@
516
507
  "message": "`<td>` ‏‮elements‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮large‬‏ `<table>` ‏‮have‬‏ ‏‮one‬‏ ‏‮or‬‏ ‏‮more‬‏ ‏‮table‬‏ ‏‮headers‬‏."
517
508
  },
518
509
  "core/audits/accessibility/td-headers-attr.js | description": {
519
- "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.8/td-headers-attr)."
510
+ "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.9/td-headers-attr)."
520
511
  },
521
512
  "core/audits/accessibility/td-headers-attr.js | failureTitle": {
522
513
  "message": "‏‮Cells‬‏ ‏‮in‬‏ ‏‮a‬‏ `<table>` ‏‮element‬‏ ‏‮that‬‏ ‏‮use‬‏ ‏‮the‬‏ `[headers]` ‏‮attribute‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮an‬‏ ‏‮element‬‏ `id` ‏‮not‬‏ ‏‮found‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮table‬‏."
@@ -525,7 +516,7 @@
525
516
  "message": "‏‮Cells‬‏ ‏‮in‬‏ ‏‮a‬‏ `<table>` ‏‮element‬‏ ‏‮that‬‏ ‏‮use‬‏ ‏‮the‬‏ `[headers]` ‏‮attribute‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮table‬‏ ‏‮cells‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮table‬‏."
526
517
  },
527
518
  "core/audits/accessibility/th-has-data-cells.js | description": {
528
- "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.8/th-has-data-cells)."
519
+ "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.9/th-has-data-cells)."
529
520
  },
530
521
  "core/audits/accessibility/th-has-data-cells.js | failureTitle": {
531
522
  "message": "`<th>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮elements‬‏ ‏‮with‬‏ `[role=\"columnheader\"/\"rowheader\"]` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮data‬‏ ‏‮cells‬‏ ‏‮they‬‏ ‏‮describe‬‏."
@@ -534,7 +525,7 @@
534
525
  "message": "`<th>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮elements‬‏ ‏‮with‬‏ `[role=\"columnheader\"/\"rowheader\"]` ‏‮have‬‏ ‏‮data‬‏ ‏‮cells‬‏ ‏‮they‬‏ ‏‮describe‬‏."
535
526
  },
536
527
  "core/audits/accessibility/valid-lang.js | description": {
537
- "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.8/valid-lang)."
528
+ "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.9/valid-lang)."
538
529
  },
539
530
  "core/audits/accessibility/valid-lang.js | failureTitle": {
540
531
  "message": "`[lang]` ‏‮attributes‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏"
@@ -543,7 +534,7 @@
543
534
  "message": "`[lang]` ‏‮attributes‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏"
544
535
  },
545
536
  "core/audits/accessibility/video-caption.js | description": {
546
- "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.8/video-caption)."
537
+ "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.9/video-caption)."
547
538
  },
548
539
  "core/audits/accessibility/video-caption.js | failureTitle": {
549
540
  "message": "`<video>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮a‬‏ `<track>` ‏‮element‬‏ ‏‮with‬‏ `[kind=\"captions\"]`."
@@ -743,18 +734,6 @@
743
734
  "core/audits/byte-efficiency/uses-text-compression.js | title": {
744
735
  "message": "‏‮Enable‬‏ ‏‮text‬‏ ‏‮compression‬‏"
745
736
  },
746
- "core/audits/content-width.js | description": {
747
- "message": "‏‮If‬‏ ‏‮the‬‏ ‏‮width‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮app‬‏'‏‮s‬‏ ‏‮content‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮match‬‏ ‏‮the‬‏ ‏‮width‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮viewport‬‏, ‏‮your‬‏ ‏‮app‬‏ ‏‮might‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮optimized‬‏ ‏‮for‬‏ ‏‮mobile‬‏ ‏‮screens‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮size‬‏ ‏‮content‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮viewport‬‏](https://developer.chrome.com/docs/lighthouse/pwa/content-width/)."
748
- },
749
- "core/audits/content-width.js | explanation": {
750
- "message": "‏‮The‬‏ ‏‮viewport‬‏ ‏‮size‬‏ ‏‮of‬‏ {innerWidth}‏‮px‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮match‬‏ ‏‮the‬‏ ‏‮window‬‏ ‏‮size‬‏ ‏‮of‬‏ {outerWidth}‏‮px‬‏."
751
- },
752
- "core/audits/content-width.js | failureTitle": {
753
- "message": "‏‮Content‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮sized‬‏ ‏‮correctly‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮viewport‬‏"
754
- },
755
- "core/audits/content-width.js | title": {
756
- "message": "‏‮Content‬‏ ‏‮is‬‏ ‏‮sized‬‏ ‏‮correctly‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮viewport‬‏"
757
- },
758
737
  "core/audits/critical-request-chains.js | description": {
759
738
  "message": "‏‮The‬‏ ‏‮Critical‬‏ ‏‮Request‬‏ ‏‮Chains‬‏ ‏‮below‬‏ ‏‮show‬‏ ‏‮you‬‏ ‏‮what‬‏ ‏‮resources‬‏ ‏‮are‬‏ ‏‮loaded‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮high‬‏ ‏‮priority‬‏. ‏‮Consider‬‏ ‏‮reducing‬‏ ‏‮the‬‏ ‏‮length‬‏ ‏‮of‬‏ ‏‮chains‬‏, ‏‮reducing‬‏ ‏‮the‬‏ ‏‮download‬‏ ‏‮size‬‏ ‏‮of‬‏ ‏‮resources‬‏, ‏‮or‬‏ ‏‮deferring‬‏ ‏‮the‬‏ ‏‮download‬‏ ‏‮of‬‏ ‏‮unnecessary‬‏ ‏‮resources‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮page‬‏ ‏‮load‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮avoid‬‏ ‏‮chaining‬‏ ‏‮critical‬‏ ‏‮requests‬‏](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains/)."
760
739
  },
@@ -1004,102 +983,6 @@
1004
983
  "core/audits/image-size-responsive.js | title": {
1005
984
  "message": "‏‮Serves‬‏ ‏‮images‬‏ ‏‮with‬‏ ‏‮appropriate‬‏ ‏‮resolution‬‏"
1006
985
  },
1007
- "core/audits/installable-manifest.js | already-installed": {
1008
- "message": "‏‮The‬‏ ‏‮app‬‏ ‏‮is‬‏ ‏‮already‬‏ ‏‮installed‬‏"
1009
- },
1010
- "core/audits/installable-manifest.js | cannot-download-icon": {
1011
- "message": "‏‮Could‬‏ ‏‮not‬‏ ‏‮download‬‏ ‏‮a‬‏ ‏‮required‬‏ ‏‮icon‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮manifest‬‏"
1012
- },
1013
- "core/audits/installable-manifest.js | columnValue": {
1014
- "message": "‏‮Failure‬‏ ‏‮reason‬‏"
1015
- },
1016
- "core/audits/installable-manifest.js | description": {
1017
- "message": "‏‮Service‬‏ ‏‮worker‬‏ ‏‮is‬‏ ‏‮the‬‏ ‏‮technology‬‏ ‏‮that‬‏ ‏‮enables‬‏ ‏‮your‬‏ ‏‮app‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮many‬‏ ‏‮Progressive‬‏ ‏‮Web‬‏ ‏‮App‬‏ ‏‮features‬‏, ‏‮such‬‏ ‏‮as‬‏ ‏‮offline‬‏, ‏‮add‬‏ ‏‮to‬‏ ‏‮homescreen‬‏, ‏‮and‬‏ ‏‮push‬‏ ‏‮notifications‬‏. ‏‮With‬‏ ‏‮proper‬‏ ‏‮service‬‏ ‏‮worker‬‏ ‏‮and‬‏ ‏‮manifest‬‏ ‏‮implementations‬‏, ‏‮browsers‬‏ ‏‮can‬‏ ‏‮proactively‬‏ ‏‮prompt‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮add‬‏ ‏‮your‬‏ ‏‮app‬‏ ‏‮to‬‏ ‏‮their‬‏ ‏‮homescreen‬‏, ‏‮which‬‏ ‏‮can‬‏ ‏‮lead‬‏ ‏‮to‬‏ ‏‮higher‬‏ ‏‮engagement‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮manifest‬‏ ‏‮installability‬‏ ‏‮requirements‬‏](https://developer.chrome.com/docs/lighthouse/pwa/installable-manifest/)."
1018
- },
1019
- "core/audits/installable-manifest.js | displayValue": {
1020
- "message": "{itemCount,plural, =1{1 ‏‮reason‬‏}zero{# ‏‮reasons‬‏}two{# ‏‮reasons‬‏}few{# ‏‮reasons‬‏}many{# ‏‮reasons‬‏}other{# ‏‮reasons‬‏}}"
1021
- },
1022
- "core/audits/installable-manifest.js | failureTitle": {
1023
- "message": "‏‮Web‬‏ ‏‮app‬‏ ‏‮manifest‬‏ ‏‮or‬‏ ‏‮service‬‏ ‏‮worker‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮meet‬‏ ‏‮the‬‏ ‏‮installability‬‏ ‏‮requirements‬‏"
1024
- },
1025
- "core/audits/installable-manifest.js | ids-do-not-match": {
1026
- "message": "‏‮The‬‏ ‏‮Play‬‏ ‏‮Store‬‏ ‏‮app‬‏ ‏‮URL‬‏ ‏‮and‬‏ ‏‮Play‬‏ ‏‮Store‬‏ ‏‮ID‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮match‬‏"
1027
- },
1028
- "core/audits/installable-manifest.js | in-incognito": {
1029
- "message": "‏‮Page‬‏ ‏‮is‬‏ ‏‮loaded‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮incognito‬‏ ‏‮window‬‏"
1030
- },
1031
- "core/audits/installable-manifest.js | manifest-display-not-supported": {
1032
- "message": "‏‮Manifest‬‏ `display` ‏‮property‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮one‬‏ ‏‮of‬‏ `standalone`, `fullscreen`, ‏‮or‬‏ `minimal-ui`"
1033
- },
1034
- "core/audits/installable-manifest.js | manifest-display-override-not-supported": {
1035
- "message": "‏‮Manifest‬‏ ‏‮contains‬‏ '‏‮display‬‏_‏‮override‬‏' ‏‮field‬‏, ‏‮and‬‏ ‏‮the‬‏ ‏‮first‬‏ ‏‮supported‬‏ ‏‮display‬‏ ‏‮mode‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮one‬‏ ‏‮of‬‏ '‏‮standalone‬‏', '‏‮fullscreen‬‏', ‏‮or‬‏ '‏‮minimal‬‏-‏‮ui‬‏'"
1036
- },
1037
- "core/audits/installable-manifest.js | manifest-empty": {
1038
- "message": "‏‮Manifest‬‏ ‏‮could‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮fetched‬‏, ‏‮is‬‏ ‏‮empty‬‏, ‏‮or‬‏ ‏‮could‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮parsed‬‏"
1039
- },
1040
- "core/audits/installable-manifest.js | manifest-location-changed": {
1041
- "message": "‏‮Manifest‬‏ ‏‮URL‬‏ ‏‮changed‬‏ ‏‮while‬‏ ‏‮the‬‏ ‏‮manifest‬‏ ‏‮was‬‏ ‏‮being‬‏ ‏‮fetched‬‏."
1042
- },
1043
- "core/audits/installable-manifest.js | manifest-missing-name-or-short-name": {
1044
- "message": "‏‮Manifest‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮a‬‏ `name` ‏‮or‬‏ `short_name` ‏‮field‬‏"
1045
- },
1046
- "core/audits/installable-manifest.js | manifest-missing-suitable-icon": {
1047
- "message": "‏‮Manifest‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮suitable‬‏ ‏‮icon‬‏ - ‏‮PNG‬‏, ‏‮SVG‬‏ ‏‮or‬‏ ‏‮WebP‬‏ ‏‮format‬‏ ‏‮of‬‏ ‏‮at‬‏ ‏‮least‬‏ {value0} ‏‮px‬‏ ‏‮is‬‏ ‏‮required‬‏, ‏‮the‬‏ ‏‮sizes‬‏ ‏‮attribute‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮set‬‏, ‏‮and‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮attribute‬‏, ‏‮if‬‏ ‏‮set‬‏, ‏‮must‬‏ ‏‮include‬‏ \"‏‮any‬‏\"."
1048
- },
1049
- "core/audits/installable-manifest.js | no-acceptable-icon": {
1050
- "message": "‏‮No‬‏ ‏‮supplied‬‏ ‏‮icon‬‏ ‏‮is‬‏ ‏‮at‬‏ ‏‮least‬‏ {value0} ‏‮px‬‏ ‏‮square‬‏ ‏‮in‬‏ ‏‮PNG‬‏, ‏‮SVG‬‏ ‏‮or‬‏ ‏‮WebP‬‏ ‏‮format‬‏, ‏‮with‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮attribute‬‏ ‏‮unset‬‏ ‏‮or‬‏ ‏‮set‬‏ ‏‮to‬‏ \"‏‮any‬‏\""
1051
- },
1052
- "core/audits/installable-manifest.js | no-icon-available": {
1053
- "message": "‏‮Downloaded‬‏ ‏‮icon‬‏ ‏‮was‬‏ ‏‮empty‬‏ ‏‮or‬‏ ‏‮corrupted‬‏"
1054
- },
1055
- "core/audits/installable-manifest.js | no-id-specified": {
1056
- "message": "‏‮No‬‏ ‏‮Play‬‏ ‏‮store‬‏ ‏‮ID‬‏ ‏‮provided‬‏"
1057
- },
1058
- "core/audits/installable-manifest.js | no-manifest": {
1059
- "message": "‏‮Page‬‏ ‏‮has‬‏ ‏‮no‬‏ ‏‮manifest‬‏ <link> ‏‮URL‬‏"
1060
- },
1061
- "core/audits/installable-manifest.js | no-url-for-service-worker": {
1062
- "message": "‏‮Could‬‏ ‏‮not‬‏ ‏‮check‬‏ ‏‮service‬‏ ‏‮worker‬‏ ‏‮without‬‏ ‏‮a‬‏ '‏‮start‬‏_‏‮url‬‏' ‏‮field‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮manifest‬‏"
1063
- },
1064
- "core/audits/installable-manifest.js | noErrorId": {
1065
- "message": "‏‮Installability‬‏ ‏‮error‬‏ ‏‮id‬‏ '{errorId}' ‏‮is‬‏ ‏‮not‬‏ ‏‮recognized‬‏"
1066
- },
1067
- "core/audits/installable-manifest.js | not-from-secure-origin": {
1068
- "message": "‏‮Page‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮served‬‏ ‏‮from‬‏ ‏‮a‬‏ ‏‮secure‬‏ ‏‮origin‬‏"
1069
- },
1070
- "core/audits/installable-manifest.js | not-in-main-frame": {
1071
- "message": "‏‮Page‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮loaded‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮frame‬‏"
1072
- },
1073
- "core/audits/installable-manifest.js | not-offline-capable": {
1074
- "message": "‏‮Page‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮work‬‏ ‏‮offline‬‏"
1075
- },
1076
- "core/audits/installable-manifest.js | pipeline-restarted": {
1077
- "message": "‏‮PWA‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮uninstalled‬‏ ‏‮and‬‏ ‏‮installability‬‏ ‏‮checks‬‏ ‏‮resetting‬‏."
1078
- },
1079
- "core/audits/installable-manifest.js | platform-not-supported-on-android": {
1080
- "message": "‏‮The‬‏ ‏‮specified‬‏ ‏‮application‬‏ ‏‮platform‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮supported‬‏ ‏‮on‬‏ ‏‮Android‬‏"
1081
- },
1082
- "core/audits/installable-manifest.js | prefer-related-applications": {
1083
- "message": "‏‮Manifest‬‏ ‏‮specifies‬‏ ‏‮prefer‬‏_‏‮related‬‏_‏‮applications‬‏: ‏‮true‬‏"
1084
- },
1085
- "core/audits/installable-manifest.js | prefer-related-applications-only-beta-stable": {
1086
- "message": "‏‮prefer‬‏_‏‮related‬‏_‏‮applications‬‏ ‏‮is‬‏ ‏‮only‬‏ ‏‮supported‬‏ ‏‮on‬‏ ‏‮Chrome‬‏ ‏‮Beta‬‏ ‏‮and‬‏ ‏‮Stable‬‏ ‏‮channels‬‏ ‏‮on‬‏ ‏‮Android‬‏."
1087
- },
1088
- "core/audits/installable-manifest.js | protocol-timeout": {
1089
- "message": "‏‮Lighthouse‬‏ ‏‮could‬‏ ‏‮not‬‏ ‏‮determine‬‏ ‏‮if‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮installable‬‏. ‏‮Please‬‏ ‏‮try‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮newer‬‏ ‏‮version‬‏ ‏‮of‬‏ ‏‮Chrome‬‏."
1090
- },
1091
- "core/audits/installable-manifest.js | start-url-not-valid": {
1092
- "message": "‏‮Manifest‬‏ ‏‮start‬‏ ‏‮URL‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮valid‬‏"
1093
- },
1094
- "core/audits/installable-manifest.js | title": {
1095
- "message": "‏‮Web‬‏ ‏‮app‬‏ ‏‮manifest‬‏ ‏‮and‬‏ ‏‮service‬‏ ‏‮worker‬‏ ‏‮meet‬‏ ‏‮the‬‏ ‏‮installability‬‏ ‏‮requirements‬‏"
1096
- },
1097
- "core/audits/installable-manifest.js | url-not-supported-for-webapk": {
1098
- "message": "‏‮A‬‏ ‏‮URL‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮manifest‬‏ ‏‮contains‬‏ ‏‮a‬‏ ‏‮username‬‏, ‏‮password‬‏, ‏‮or‬‏ ‏‮port‬‏"
1099
- },
1100
- "core/audits/installable-manifest.js | warn-not-offline-capable": {
1101
- "message": "‏‮Page‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮work‬‏ ‏‮offline‬‏. ‏‮The‬‏ ‏‮page‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮regarded‬‏ ‏‮as‬‏ ‏‮installable‬‏ ‏‮after‬‏ ‏‮Chrome‬‏ 93, ‏‮stable‬‏ ‏‮release‬‏ ‏‮August‬‏ 2021."
1102
- },
1103
986
  "core/audits/is-on-https.js | allowed": {
1104
987
  "message": "‏‮Allowed‬‏"
1105
988
  },
@@ -1157,15 +1040,6 @@
1157
1040
  "core/audits/largest-contentful-paint-element.js | title": {
1158
1041
  "message": "‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮element‬‏"
1159
1042
  },
1160
- "core/audits/layout-shift-elements.js | columnContribution": {
1161
- "message": "‏‮Layout‬‏ ‏‮shift‬‏ ‏‮impact‬‏"
1162
- },
1163
- "core/audits/layout-shift-elements.js | description": {
1164
- "message": "‏‮These‬‏ ‏‮DOM‬‏ ‏‮elements‬‏ ‏‮were‬‏ ‏‮most‬‏ ‏‮affected‬‏ ‏‮by‬‏ ‏‮layout‬‏ ‏‮shifts‬‏. ‏‮Some‬‏ ‏‮layout‬‏ ‏‮shifts‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮included‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮CLS‬‏ ‏‮metric‬‏ ‏‮value‬‏ ‏‮due‬‏ ‏‮to‬‏ [‏‮windowing‬‏](https://web.dev/articles/cls#what_is_cls). [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮CLS‬‏](https://web.dev/articles/optimize-cls)"
1165
- },
1166
- "core/audits/layout-shift-elements.js | title": {
1167
- "message": "‏‮Avoid‬‏ ‏‮large‬‏ ‏‮layout‬‏ ‏‮shifts‬‏"
1168
- },
1169
1043
  "core/audits/layout-shifts.js | columnScore": {
1170
1044
  "message": "‏‮Layout‬‏ ‏‮shift‬‏ ‏‮score‬‏"
1171
1045
  },
@@ -1220,33 +1094,6 @@
1220
1094
  "core/audits/mainthread-work-breakdown.js | title": {
1221
1095
  "message": "‏‮Minimizes‬‏ ‏‮main‬‏-‏‮thread‬‏ ‏‮work‬‏"
1222
1096
  },
1223
- "core/audits/manual/pwa-cross-browser.js | description": {
1224
- "message": "‏‮To‬‏ ‏‮reach‬‏ ‏‮the‬‏ ‏‮most‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮users‬‏, ‏‮sites‬‏ ‏‮should‬‏ ‏‮work‬‏ ‏‮across‬‏ ‏‮every‬‏ ‏‮major‬‏ ‏‮browser‬‏. [‏‮Learn‬‏ ‏‮about‬‏ ‏‮cross‬‏-‏‮browser‬‏ ‏‮compatibility‬‏](https://developer.chrome.com/docs/lighthouse/pwa/pwa-cross-browser/)."
1225
- },
1226
- "core/audits/manual/pwa-cross-browser.js | title": {
1227
- "message": "‏‮Site‬‏ ‏‮works‬‏ ‏‮cross‬‏-‏‮browser‬‏"
1228
- },
1229
- "core/audits/manual/pwa-each-page-has-url.js | description": {
1230
- "message": "‏‮Ensure‬‏ ‏‮individual‬‏ ‏‮pages‬‏ ‏‮are‬‏ ‏‮deep‬‏ ‏‮linkable‬‏ ‏‮via‬‏ ‏‮URL‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮URLs‬‏ ‏‮are‬‏ ‏‮unique‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮shareability‬‏ ‏‮on‬‏ ‏‮social‬‏ ‏‮media‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮providing‬‏ ‏‮deep‬‏ ‏‮links‬‏](https://developer.chrome.com/docs/lighthouse/pwa/pwa-each-page-has-url/)."
1231
- },
1232
- "core/audits/manual/pwa-each-page-has-url.js | title": {
1233
- "message": "‏‮Each‬‏ ‏‮page‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮URL‬‏"
1234
- },
1235
- "core/audits/manual/pwa-page-transitions.js | description": {
1236
- "message": "‏‮Transitions‬‏ ‏‮should‬‏ ‏‮feel‬‏ ‏‮snappy‬‏ ‏‮as‬‏ ‏‮you‬‏ ‏‮tap‬‏ ‏‮around‬‏, ‏‮even‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮slow‬‏ ‏‮network‬‏. ‏‮This‬‏ ‏‮experience‬‏ ‏‮is‬‏ ‏‮key‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮user‬‏'‏‮s‬‏ ‏‮perception‬‏ ‏‮of‬‏ ‏‮performance‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮page‬‏ ‏‮transitions‬‏](https://developer.chrome.com/docs/lighthouse/pwa/pwa-page-transitions/)."
1237
- },
1238
- "core/audits/manual/pwa-page-transitions.js | title": {
1239
- "message": "‏‮Page‬‏ ‏‮transitions‬‏ ‏‮don‬‏'‏‮t‬‏ ‏‮feel‬‏ ‏‮like‬‏ ‏‮they‬‏ ‏‮block‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮network‬‏"
1240
- },
1241
- "core/audits/maskable-icon.js | description": {
1242
- "message": "‏‮A‬‏ ‏‮maskable‬‏ ‏‮icon‬‏ ‏‮ensures‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮image‬‏ ‏‮fills‬‏ ‏‮the‬‏ ‏‮entire‬‏ ‏‮shape‬‏ ‏‮without‬‏ ‏‮being‬‏ ‏‮letterboxed‬‏ ‏‮when‬‏ ‏‮installing‬‏ ‏‮the‬‏ ‏‮app‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮device‬‏. [‏‮Learn‬‏ ‏‮about‬‏ ‏‮maskable‬‏ ‏‮manifest‬‏ ‏‮icons‬‏](https://developer.chrome.com/docs/lighthouse/pwa/maskable-icon-audit/)."
1243
- },
1244
- "core/audits/maskable-icon.js | failureTitle": {
1245
- "message": "‏‮Manifest‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮maskable‬‏ ‏‮icon‬‏"
1246
- },
1247
- "core/audits/maskable-icon.js | title": {
1248
- "message": "‏‮Manifest‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮maskable‬‏ ‏‮icon‬‏"
1249
- },
1250
1097
  "core/audits/metrics/cumulative-layout-shift.js | description": {
1251
1098
  "message": "‏‮Cumulative‬‏ ‏‮Layout‬‏ ‏‮Shift‬‏ ‏‮measures‬‏ ‏‮the‬‏ ‏‮movement‬‏ ‏‮of‬‏ ‏‮visible‬‏ ‏‮elements‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮viewport‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮Cumulative‬‏ ‏‮Layout‬‏ ‏‮Shift‬‏ ‏‮metric‬‏](https://web.dev/articles/cls)."
1252
1099
  },
@@ -1286,15 +1133,6 @@
1286
1133
  "core/audits/network-server-latency.js | title": {
1287
1134
  "message": "‏‮Server‬‏ ‏‮Backend‬‏ ‏‮Latencies‬‏"
1288
1135
  },
1289
- "core/audits/no-unload-listeners.js | description": {
1290
- "message": "‏‮The‬‏ `unload` ‏‮event‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮fire‬‏ ‏‮reliably‬‏ ‏‮and‬‏ ‏‮listening‬‏ ‏‮for‬‏ ‏‮it‬‏ ‏‮can‬‏ ‏‮prevent‬‏ ‏‮browser‬‏ ‏‮optimizations‬‏ ‏‮like‬‏ ‏‮the‬‏ ‏‮Back‬‏-‏‮Forward‬‏ ‏‮Cache‬‏. ‏‮Use‬‏ `pagehide` ‏‮or‬‏ `visibilitychange` ‏‮events‬‏ ‏‮instead‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮unload‬‏ ‏‮event‬‏ ‏‮listeners‬‏](https://web.dev/articles/bfcache#never_use_the_unload_event)"
1291
- },
1292
- "core/audits/no-unload-listeners.js | failureTitle": {
1293
- "message": "‏‮Registers‬‏ ‏‮an‬‏ `unload` ‏‮listener‬‏"
1294
- },
1295
- "core/audits/no-unload-listeners.js | title": {
1296
- "message": "‏‮Avoids‬‏ `unload` ‏‮event‬‏ ‏‮listeners‬‏"
1297
- },
1298
1136
  "core/audits/non-composited-animations.js | description": {
1299
1137
  "message": "‏‮Animations‬‏ ‏‮which‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮composited‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮janky‬‏ ‏‮and‬‏ ‏‮increase‬‏ ‏‮CLS‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮avoid‬‏ ‏‮non‬‏-‏‮composited‬‏ ‏‮animations‬‏](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)"
1300
1138
  },
@@ -1322,15 +1160,6 @@
1322
1160
  "core/audits/non-composited-animations.js | unsupportedTimingParameters": {
1323
1161
  "message": "‏‮Effect‬‏ ‏‮has‬‏ ‏‮unsupported‬‏ ‏‮timing‬‏ ‏‮parameters‬‏"
1324
1162
  },
1325
- "core/audits/performance-budget.js | description": {
1326
- "message": "‏‮Keep‬‏ ‏‮the‬‏ ‏‮quantity‬‏ ‏‮and‬‏ ‏‮size‬‏ ‏‮of‬‏ ‏‮network‬‏ ‏‮requests‬‏ ‏‮under‬‏ ‏‮the‬‏ ‏‮targets‬‏ ‏‮set‬‏ ‏‮by‬‏ ‏‮the‬‏ ‏‮provided‬‏ ‏‮performance‬‏ ‏‮budget‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮performance‬‏ ‏‮budgets‬‏](https://developers.google.com/web/tools/lighthouse/audits/budgets)."
1327
- },
1328
- "core/audits/performance-budget.js | requestCountOverBudget": {
1329
- "message": "{count,plural, =1{1 ‏‮request‬‏}zero{# ‏‮requests‬‏}two{# ‏‮requests‬‏}few{# ‏‮requests‬‏}many{# ‏‮requests‬‏}other{# ‏‮requests‬‏}}"
1330
- },
1331
- "core/audits/performance-budget.js | title": {
1332
- "message": "‏‮Performance‬‏ ‏‮budget‬‏"
1333
- },
1334
1163
  "core/audits/preload-fonts.js | description": {
1335
1164
  "message": "‏‮Preload‬‏ `optional` ‏‮fonts‬‏ ‏‮so‬‏ ‏‮first‬‏-‏‮time‬‏ ‏‮visitors‬‏ ‏‮may‬‏ ‏‮use‬‏ ‏‮them‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮preloading‬‏ ‏‮fonts‬‏](https://web.dev/articles/preload-optional-fonts)"
1336
1165
  },
@@ -1481,15 +1310,6 @@
1481
1310
  "core/audits/seo/meta-description.js | title": {
1482
1311
  "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮meta‬‏ ‏‮description‬‏"
1483
1312
  },
1484
- "core/audits/seo/plugins.js | description": {
1485
- "message": "‏‮Search‬‏ ‏‮engines‬‏ ‏‮can‬‏'‏‮t‬‏ ‏‮index‬‏ ‏‮plugin‬‏ ‏‮content‬‏, ‏‮and‬‏ ‏‮many‬‏ ‏‮devices‬‏ ‏‮restrict‬‏ ‏‮plugins‬‏ ‏‮or‬‏ ‏‮don‬‏'‏‮t‬‏ ‏‮support‬‏ ‏‮them‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮avoiding‬‏ ‏‮plugins‬‏](https://developer.chrome.com/docs/lighthouse/seo/plugins/)."
1486
- },
1487
- "core/audits/seo/plugins.js | failureTitle": {
1488
- "message": "‏‮Document‬‏ ‏‮uses‬‏ ‏‮plugins‬‏"
1489
- },
1490
- "core/audits/seo/plugins.js | title": {
1491
- "message": "‏‮Document‬‏ ‏‮avoids‬‏ ‏‮plugins‬‏"
1492
- },
1493
1313
  "core/audits/seo/robots-txt.js | description": {
1494
1314
  "message": "‏‮If‬‏ ‏‮your‬‏ ‏‮robots‬‏.‏‮txt‬‏ ‏‮file‬‏ ‏‮is‬‏ ‏‮malformed‬‏, ‏‮crawlers‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮able‬‏ ‏‮to‬‏ ‏‮understand‬‏ ‏‮how‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮your‬‏ ‏‮website‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮crawled‬‏ ‏‮or‬‏ ‏‮indexed‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮robots‬‏.‏‮txt‬‏](https://developer.chrome.com/docs/lighthouse/seo/invalid-robots-txt/)."
1495
1315
  },
@@ -1508,27 +1328,6 @@
1508
1328
  "core/audits/seo/robots-txt.js | title": {
1509
1329
  "message": "‏‮robots‬‏.‏‮txt‬‏ ‏‮is‬‏ ‏‮valid‬‏"
1510
1330
  },
1511
- "core/audits/seo/tap-targets.js | description": {
1512
- "message": "‏‮Interactive‬‏ ‏‮elements‬‏ ‏‮like‬‏ ‏‮buttons‬‏ ‏‮and‬‏ ‏‮links‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮large‬‏ ‏‮enough‬‏ (48‏‮x‬‏48‏‮px‬‏), ‏‮or‬‏ ‏‮have‬‏ ‏‮enough‬‏ ‏‮space‬‏ ‏‮around‬‏ ‏‮them‬‏, ‏‮to‬‏ ‏‮be‬‏ ‏‮easy‬‏ ‏‮enough‬‏ ‏‮to‬‏ ‏‮tap‬‏ ‏‮without‬‏ ‏‮overlapping‬‏ ‏‮onto‬‏ ‏‮other‬‏ ‏‮elements‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮tap‬‏ ‏‮targets‬‏](https://developer.chrome.com/docs/lighthouse/seo/tap-targets/)."
1513
- },
1514
- "core/audits/seo/tap-targets.js | displayValue": {
1515
- "message": "{decimalProportion, number, percent} ‏‮appropriately‬‏ ‏‮sized‬‏ ‏‮tap‬‏ ‏‮targets‬‏"
1516
- },
1517
- "core/audits/seo/tap-targets.js | explanationViewportMetaNotOptimized": {
1518
- "message": "‏‮Tap‬‏ ‏‮targets‬‏ ‏‮are‬‏ ‏‮too‬‏ ‏‮small‬‏ ‏‮because‬‏ ‏‮there‬‏'‏‮s‬‏ ‏‮no‬‏ ‏‮viewport‬‏ ‏‮meta‬‏ ‏‮tag‬‏ ‏‮optimized‬‏ ‏‮for‬‏ ‏‮mobile‬‏ ‏‮screens‬‏"
1519
- },
1520
- "core/audits/seo/tap-targets.js | failureTitle": {
1521
- "message": "‏‮Tap‬‏ ‏‮targets‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮sized‬‏ ‏‮appropriately‬‏"
1522
- },
1523
- "core/audits/seo/tap-targets.js | overlappingTargetHeader": {
1524
- "message": "‏‮Overlapping‬‏ ‏‮Target‬‏"
1525
- },
1526
- "core/audits/seo/tap-targets.js | tapTargetHeader": {
1527
- "message": "‏‮Tap‬‏ ‏‮Target‬‏"
1528
- },
1529
- "core/audits/seo/tap-targets.js | title": {
1530
- "message": "‏‮Tap‬‏ ‏‮targets‬‏ ‏‮are‬‏ ‏‮sized‬‏ ‏‮appropriately‬‏"
1531
- },
1532
1331
  "core/audits/server-response-time.js | description": {
1533
1332
  "message": "‏‮Keep‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮document‬‏ ‏‮short‬‏ ‏‮because‬‏ ‏‮all‬‏ ‏‮other‬‏ ‏‮requests‬‏ ‏‮depend‬‏ ‏‮on‬‏ ‏‮it‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮Time‬‏ ‏‮to‬‏ ‏‮First‬‏ ‏‮Byte‬‏ ‏‮metric‬‏](https://developer.chrome.com/docs/lighthouse/performance/time-to-first-byte/)."
1534
1333
  },
@@ -1541,24 +1340,6 @@
1541
1340
  "core/audits/server-response-time.js | title": {
1542
1341
  "message": "‏‮Initial‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏ ‏‮was‬‏ ‏‮short‬‏"
1543
1342
  },
1544
- "core/audits/splash-screen.js | description": {
1545
- "message": "‏‮A‬‏ ‏‮themed‬‏ ‏‮splash‬‏ ‏‮screen‬‏ ‏‮ensures‬‏ ‏‮a‬‏ ‏‮high‬‏-‏‮quality‬‏ ‏‮experience‬‏ ‏‮when‬‏ ‏‮users‬‏ ‏‮launch‬‏ ‏‮your‬‏ ‏‮app‬‏ ‏‮from‬‏ ‏‮their‬‏ ‏‮homescreens‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮splash‬‏ ‏‮screens‬‏](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)."
1546
- },
1547
- "core/audits/splash-screen.js | failureTitle": {
1548
- "message": "‏‮Is‬‏ ‏‮not‬‏ ‏‮configured‬‏ ‏‮for‬‏ ‏‮a‬‏ ‏‮custom‬‏ ‏‮splash‬‏ ‏‮screen‬‏"
1549
- },
1550
- "core/audits/splash-screen.js | title": {
1551
- "message": "‏‮Configured‬‏ ‏‮for‬‏ ‏‮a‬‏ ‏‮custom‬‏ ‏‮splash‬‏ ‏‮screen‬‏"
1552
- },
1553
- "core/audits/themed-omnibox.js | description": {
1554
- "message": "‏‮The‬‏ ‏‮browser‬‏ ‏‮address‬‏ ‏‮bar‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮themed‬‏ ‏‮to‬‏ ‏‮match‬‏ ‏‮your‬‏ ‏‮site‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮theming‬‏ ‏‮the‬‏ ‏‮address‬‏ ‏‮bar‬‏](https://developer.chrome.com/docs/lighthouse/pwa/themed-omnibox/)."
1555
- },
1556
- "core/audits/themed-omnibox.js | failureTitle": {
1557
- "message": "‏‮Does‬‏ ‏‮not‬‏ ‏‮set‬‏ ‏‮a‬‏ ‏‮theme‬‏ ‏‮color‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮address‬‏ ‏‮bar‬‏."
1558
- },
1559
- "core/audits/themed-omnibox.js | title": {
1560
- "message": "‏‮Sets‬‏ ‏‮a‬‏ ‏‮theme‬‏ ‏‮color‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮address‬‏ ‏‮bar‬‏."
1561
- },
1562
1343
  "core/audits/third-party-cookies.js | description": {
1563
1344
  "message": "‏‮Support‬‏ ‏‮for‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮cookies‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮removed‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮future‬‏ ‏‮version‬‏ ‏‮of‬‏ ‏‮Chrome‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮phasing‬‏ ‏‮out‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮cookies‬‏](https://developer.chrome.com/en/docs/privacy-sandbox/third-party-cookie-phase-out/)."
1564
1345
  },
@@ -1613,18 +1394,6 @@
1613
1394
  "core/audits/third-party-summary.js | title": {
1614
1395
  "message": "‏‮Minimize‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮usage‬‏"
1615
1396
  },
1616
- "core/audits/timing-budget.js | columnMeasurement": {
1617
- "message": "‏‮Measurement‬‏"
1618
- },
1619
- "core/audits/timing-budget.js | columnTimingMetric": {
1620
- "message": "‏‮Metric‬‏"
1621
- },
1622
- "core/audits/timing-budget.js | description": {
1623
- "message": "‏‮Set‬‏ ‏‮a‬‏ ‏‮timing‬‏ ‏‮budget‬‏ ‏‮to‬‏ ‏‮help‬‏ ‏‮you‬‏ ‏‮keep‬‏ ‏‮an‬‏ ‏‮eye‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮performance‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮site‬‏. ‏‮Performant‬‏ ‏‮sites‬‏ ‏‮load‬‏ ‏‮fast‬‏ ‏‮and‬‏ ‏‮respond‬‏ ‏‮to‬‏ ‏‮user‬‏ ‏‮input‬‏ ‏‮events‬‏ ‏‮quickly‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮performance‬‏ ‏‮budgets‬‏](https://developers.google.com/web/tools/lighthouse/audits/budgets)."
1624
- },
1625
- "core/audits/timing-budget.js | title": {
1626
- "message": "‏‮Timing‬‏ ‏‮budget‬‏"
1627
- },
1628
1397
  "core/audits/unsized-images.js | description": {
1629
1398
  "message": "‏‮Set‬‏ ‏‮an‬‏ ‏‮explicit‬‏ ‏‮width‬‏ ‏‮and‬‏ ‏‮height‬‏ ‏‮on‬‏ ‏‮image‬‏ ‏‮elements‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮layout‬‏ ‏‮shifts‬‏ ‏‮and‬‏ ‏‮improve‬‏ ‏‮CLS‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮set‬‏ ‏‮image‬‏ ‏‮dimensions‬‏](https://web.dev/articles/optimize-cls#images_without_dimensions)"
1630
1399
  },
@@ -1718,8 +1487,8 @@
1718
1487
  "core/audits/work-during-interaction.js | presentationDelay": {
1719
1488
  "message": "‏‮Presentation‬‏ ‏‮delay‬‏"
1720
1489
  },
1721
- "core/audits/work-during-interaction.js | processingTime": {
1722
- "message": "‏‮Processing‬‏ ‏‮time‬‏"
1490
+ "core/audits/work-during-interaction.js | processingDuration": {
1491
+ "message": "‏‮Processing‬‏ ‏‮duration‬‏"
1723
1492
  },
1724
1493
  "core/audits/work-during-interaction.js | title": {
1725
1494
  "message": "‏‮Minimizes‬‏ ‏‮work‬‏ ‏‮during‬‏ ‏‮key‬‏ ‏‮interaction‬‏"
@@ -1796,12 +1565,6 @@
1796
1565
  "core/config/default-config.js | bestPracticesUXGroupTitle": {
1797
1566
  "message": "‏‮User‬‏ ‏‮Experience‬‏"
1798
1567
  },
1799
- "core/config/default-config.js | budgetsGroupDescription": {
1800
- "message": "‏‮Performance‬‏ ‏‮budgets‬‏ ‏‮set‬‏ ‏‮standards‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮performance‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮site‬‏."
1801
- },
1802
- "core/config/default-config.js | budgetsGroupTitle": {
1803
- "message": "‏‮Budgets‬‏"
1804
- },
1805
1568
  "core/config/default-config.js | diagnosticsGroupDescription": {
1806
1569
  "message": "‏‮More‬‏ ‏‮information‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮performance‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮application‬‏. ‏‮These‬‏ ‏‮numbers‬‏ ‏‮don‬‏'‏‮t‬‏ [‏‮directly‬‏ ‏‮affect‬‏](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) ‏‮the‬‏ ‏‮Performance‬‏ ‏‮score‬‏."
1807
1570
  },
@@ -1814,12 +1577,6 @@
1814
1577
  "core/config/default-config.js | firstPaintImprovementsGroupTitle": {
1815
1578
  "message": "‏‮First‬‏ ‏‮Paint‬‏ ‏‮Improvements‬‏"
1816
1579
  },
1817
- "core/config/default-config.js | loadOpportunitiesGroupDescription": {
1818
- "message": "‏‮These‬‏ ‏‮suggestions‬‏ ‏‮can‬‏ ‏‮help‬‏ ‏‮your‬‏ ‏‮page‬‏ ‏‮load‬‏ ‏‮faster‬‏. ‏‮They‬‏ ‏‮don‬‏'‏‮t‬‏ [‏‮directly‬‏ ‏‮affect‬‏](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) ‏‮the‬‏ ‏‮Performance‬‏ ‏‮score‬‏."
1819
- },
1820
- "core/config/default-config.js | loadOpportunitiesGroupTitle": {
1821
- "message": "‏‮Opportunities‬‏"
1822
- },
1823
1580
  "core/config/default-config.js | metricGroupTitle": {
1824
1581
  "message": "‏‮Metrics‬‏"
1825
1582
  },
@@ -1832,21 +1589,6 @@
1832
1589
  "core/config/default-config.js | performanceCategoryTitle": {
1833
1590
  "message": "‏‮Performance‬‏"
1834
1591
  },
1835
- "core/config/default-config.js | pwaCategoryDescription": {
1836
- "message": "‏‮These‬‏ ‏‮checks‬‏ ‏‮validate‬‏ ‏‮the‬‏ ‏‮aspects‬‏ ‏‮of‬‏ ‏‮a‬‏ ‏‮Progressive‬‏ ‏‮Web‬‏ ‏‮App‬‏. [‏‮Learn‬‏ ‏‮what‬‏ ‏‮makes‬‏ ‏‮a‬‏ ‏‮good‬‏ ‏‮Progressive‬‏ ‏‮Web‬‏ ‏‮App‬‏](https://web.dev/articles/pwa-checklist)."
1837
- },
1838
- "core/config/default-config.js | pwaCategoryManualDescription": {
1839
- "message": "‏‮These‬‏ ‏‮checks‬‏ ‏‮are‬‏ ‏‮required‬‏ ‏‮by‬‏ ‏‮the‬‏ ‏‮baseline‬‏ [‏‮PWA‬‏ ‏‮Checklist‬‏](https://web.dev/articles/pwa-checklist) ‏‮but‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮automatically‬‏ ‏‮checked‬‏ ‏‮by‬‏ ‏‮Lighthouse‬‏. ‏‮They‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮affect‬‏ ‏‮your‬‏ ‏‮score‬‏ ‏‮but‬‏ ‏‮it‬‏'‏‮s‬‏ ‏‮important‬‏ ‏‮that‬‏ ‏‮you‬‏ ‏‮verify‬‏ ‏‮them‬‏ ‏‮manually‬‏."
1840
- },
1841
- "core/config/default-config.js | pwaCategoryTitle": {
1842
- "message": "‏‮PWA‬‏"
1843
- },
1844
- "core/config/default-config.js | pwaInstallableGroupTitle": {
1845
- "message": "‏‮Installable‬‏"
1846
- },
1847
- "core/config/default-config.js | pwaOptimizedGroupTitle": {
1848
- "message": "‏‮PWA‬‏ ‏‮Optimized‬‏"
1849
- },
1850
1592
  "core/config/default-config.js | seoCategoryDescription": {
1851
1593
  "message": "‏‮These‬‏ ‏‮checks‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮your‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮following‬‏ ‏‮basic‬‏ ‏‮search‬‏ ‏‮engine‬‏ ‏‮optimization‬‏ ‏‮advice‬‏. ‏‮There‬‏ ‏‮are‬‏ ‏‮many‬‏ ‏‮additional‬‏ ‏‮factors‬‏ ‏‮Lighthouse‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮score‬‏ ‏‮here‬‏ ‏‮that‬‏ ‏‮may‬‏ ‏‮affect‬‏ ‏‮your‬‏ ‏‮search‬‏ ‏‮ranking‬‏, ‏‮including‬‏ ‏‮performance‬‏ ‏‮on‬‏ [‏‮Core‬‏ ‏‮Web‬‏ ‏‮Vitals‬‏](https://web.dev/explore/vitals). [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮Google‬‏ ‏‮Search‬‏ ‏‮Essentials‬‏](https://support.google.com/webmasters/answer/35769)."
1852
1594
  },
@@ -2516,9 +2258,6 @@
2516
2258
  "core/lib/i18n/i18n.js | columnName": {
2517
2259
  "message": "‏‮Name‬‏"
2518
2260
  },
2519
- "core/lib/i18n/i18n.js | columnOverBudget": {
2520
- "message": "‏‮Over‬‏ ‏‮Budget‬‏"
2521
- },
2522
2261
  "core/lib/i18n/i18n.js | columnRequests": {
2523
2262
  "message": "‏‮Requests‬‏"
2524
2263
  },
@@ -2729,9 +2468,6 @@
2729
2468
  "flow-report/src/i18n/ui-strings.js | categoryPerformance": {
2730
2469
  "message": "‏‮Performance‬‏"
2731
2470
  },
2732
- "flow-report/src/i18n/ui-strings.js | categoryProgressiveWebApp": {
2733
- "message": "‏‮Progressive‬‏ ‏‮Web‬‏ ‏‮App‬‏"
2734
- },
2735
2471
  "flow-report/src/i18n/ui-strings.js | categorySeo": {
2736
2472
  "message": "‏‮SEO‬‏"
2737
2473
  },
@@ -3398,9 +3134,6 @@
3398
3134
  "report/renderer/report-utils.js | passedAuditsGroupTitle": {
3399
3135
  "message": "‏‮Passed‬‏ ‏‮audits‬‏"
3400
3136
  },
3401
- "report/renderer/report-utils.js | pwaRemovalMessage": {
3402
- "message": "‏‮As‬‏ ‏‮per‬‏ [‏‮Chrome‬‏’‏‮s‬‏ ‏‮updated‬‏ ‏‮Installability‬‏ ‏‮Criteria‬‏](https://developer.chrome.com/blog/update-install-criteria), ‏‮Lighthouse‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮deprecating‬‏ ‏‮the‬‏ ‏‮PWA‬‏ ‏‮category‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮future‬‏ ‏‮release‬‏. ‏‮Please‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮the‬‏ [‏‮updated‬‏ ‏‮PWA‬‏ ‏‮documentation‬‏](https://developer.chrome.com/docs/devtools/progressive-web-apps/) ‏‮for‬‏ ‏‮future‬‏ ‏‮PWA‬‏ ‏‮testing‬‏."
3403
- },
3404
3137
  "report/renderer/report-utils.js | runtimeAnalysisWindow": {
3405
3138
  "message": "‏‮Initial‬‏ ‏‮page‬‏ ‏‮load‬‏"
3406
3139
  },