lighthouse 9.5.0-dev.20220727 → 9.5.0-dev.20220730

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 (465) hide show
  1. package/CONTRIBUTING.md +11 -11
  2. package/{lighthouse-cli → cli}/bin.js +5 -5
  3. package/{lighthouse-cli → cli}/cli-flags.js +1 -1
  4. package/{lighthouse-cli → cli}/commands/commands.js +0 -0
  5. package/{lighthouse-cli → cli}/commands/list-audits.js +1 -1
  6. package/{lighthouse-cli → cli}/commands/list-locales.js +0 -0
  7. package/{lighthouse-cli → cli}/commands/list-trace-categories.js +1 -1
  8. package/{lighthouse-cli → cli}/index.js +0 -0
  9. package/{lighthouse-cli → cli}/package.json +0 -0
  10. package/{lighthouse-cli → cli}/printer.js +0 -0
  11. package/{lighthouse-cli → cli}/run.js +3 -3
  12. package/{lighthouse-cli → cli}/sentry-prompt.js +0 -0
  13. package/{lighthouse-cli → cli}/test/smokehouse/__snapshots__/report-assert-test.js.snap +0 -0
  14. package/{lighthouse-cli → cli}/test/smokehouse/core-tests.js +0 -0
  15. package/{lighthouse-cli → cli}/test/smokehouse/frontends/back-compat-util.js +0 -0
  16. package/{lighthouse-cli → cli}/test/smokehouse/frontends/lib.js +0 -0
  17. package/{lighthouse-cli → cli}/test/smokehouse/frontends/node.js +0 -0
  18. package/{lighthouse-cli → cli}/test/smokehouse/frontends/smokehouse-bin.js +1 -1
  19. package/{lighthouse-cli → cli}/test/smokehouse/lib/child-process-error.js +0 -0
  20. package/{lighthouse-cli → cli}/test/smokehouse/lib/concurrent-mapper.js +0 -0
  21. package/{lighthouse-cli → cli}/test/smokehouse/lib/local-console.js +0 -0
  22. package/{lighthouse-cli → cli}/test/smokehouse/lighthouse-runners/bundle.js +4 -4
  23. package/{lighthouse-cli → cli}/test/smokehouse/lighthouse-runners/cli.js +2 -2
  24. package/{lighthouse-cli → cli}/test/smokehouse/lighthouse-runners/devtools.js +3 -3
  25. package/{lighthouse-cli → cli}/test/smokehouse/readme.md +1 -1
  26. package/{lighthouse-cli → cli}/test/smokehouse/report-assert-test.js +3 -3
  27. package/{lighthouse-cli → cli}/test/smokehouse/report-assert.js +0 -0
  28. package/{lighthouse-cli → cli}/test/smokehouse/smokehouse.js +0 -0
  29. package/{lighthouse-cli → cli}/test/smokehouse/version-check-test.js +0 -0
  30. package/{lighthouse-cli → cli}/test/smokehouse/version-check.js +0 -0
  31. package/{lighthouse-core → core}/audits/accessibility/accesskeys.js +0 -0
  32. package/{lighthouse-core → core}/audits/accessibility/aria-allowed-attr.js +0 -0
  33. package/{lighthouse-core → core}/audits/accessibility/aria-command-name.js +0 -0
  34. package/{lighthouse-core → core}/audits/accessibility/aria-hidden-body.js +0 -0
  35. package/{lighthouse-core → core}/audits/accessibility/aria-hidden-focus.js +0 -0
  36. package/{lighthouse-core → core}/audits/accessibility/aria-input-field-name.js +0 -0
  37. package/{lighthouse-core → core}/audits/accessibility/aria-meter-name.js +0 -0
  38. package/{lighthouse-core → core}/audits/accessibility/aria-progressbar-name.js +0 -0
  39. package/{lighthouse-core → core}/audits/accessibility/aria-required-attr.js +0 -0
  40. package/{lighthouse-core → core}/audits/accessibility/aria-required-children.js +0 -0
  41. package/{lighthouse-core → core}/audits/accessibility/aria-required-parent.js +0 -0
  42. package/{lighthouse-core → core}/audits/accessibility/aria-roles.js +0 -0
  43. package/{lighthouse-core → core}/audits/accessibility/aria-toggle-field-name.js +0 -0
  44. package/{lighthouse-core → core}/audits/accessibility/aria-tooltip-name.js +0 -0
  45. package/{lighthouse-core → core}/audits/accessibility/aria-treeitem-name.js +0 -0
  46. package/{lighthouse-core → core}/audits/accessibility/aria-valid-attr-value.js +0 -0
  47. package/{lighthouse-core → core}/audits/accessibility/aria-valid-attr.js +0 -0
  48. package/{lighthouse-core → core}/audits/accessibility/axe-audit.js +0 -0
  49. package/{lighthouse-core → core}/audits/accessibility/button-name.js +0 -0
  50. package/{lighthouse-core → core}/audits/accessibility/bypass.js +0 -0
  51. package/{lighthouse-core → core}/audits/accessibility/color-contrast.js +0 -0
  52. package/{lighthouse-core → core}/audits/accessibility/definition-list.js +0 -0
  53. package/{lighthouse-core → core}/audits/accessibility/dlitem.js +0 -0
  54. package/{lighthouse-core → core}/audits/accessibility/document-title.js +0 -0
  55. package/{lighthouse-core → core}/audits/accessibility/duplicate-id-active.js +0 -0
  56. package/{lighthouse-core → core}/audits/accessibility/duplicate-id-aria.js +0 -0
  57. package/{lighthouse-core → core}/audits/accessibility/form-field-multiple-labels.js +0 -0
  58. package/{lighthouse-core → core}/audits/accessibility/frame-title.js +0 -0
  59. package/{lighthouse-core → core}/audits/accessibility/heading-order.js +0 -0
  60. package/{lighthouse-core → core}/audits/accessibility/html-has-lang.js +0 -0
  61. package/{lighthouse-core → core}/audits/accessibility/html-lang-valid.js +0 -0
  62. package/{lighthouse-core → core}/audits/accessibility/image-alt.js +0 -0
  63. package/{lighthouse-core → core}/audits/accessibility/input-image-alt.js +0 -0
  64. package/{lighthouse-core → core}/audits/accessibility/label.js +0 -0
  65. package/{lighthouse-core → core}/audits/accessibility/link-name.js +0 -0
  66. package/{lighthouse-core → core}/audits/accessibility/list.js +0 -0
  67. package/{lighthouse-core → core}/audits/accessibility/listitem.js +0 -0
  68. package/{lighthouse-core → core}/audits/accessibility/manual/custom-controls-labels.js +0 -0
  69. package/{lighthouse-core → core}/audits/accessibility/manual/custom-controls-roles.js +0 -0
  70. package/{lighthouse-core → core}/audits/accessibility/manual/focus-traps.js +0 -0
  71. package/{lighthouse-core → core}/audits/accessibility/manual/focusable-controls.js +0 -0
  72. package/{lighthouse-core → core}/audits/accessibility/manual/interactive-element-affordance.js +0 -0
  73. package/{lighthouse-core → core}/audits/accessibility/manual/logical-tab-order.js +0 -0
  74. package/{lighthouse-core → core}/audits/accessibility/manual/managed-focus.js +0 -0
  75. package/{lighthouse-core → core}/audits/accessibility/manual/offscreen-content-hidden.js +0 -0
  76. package/{lighthouse-core → core}/audits/accessibility/manual/use-landmarks.js +0 -0
  77. package/{lighthouse-core → core}/audits/accessibility/manual/visual-order-follows-dom.js +0 -0
  78. package/{lighthouse-core → core}/audits/accessibility/meta-refresh.js +0 -0
  79. package/{lighthouse-core → core}/audits/accessibility/meta-viewport.js +0 -0
  80. package/{lighthouse-core → core}/audits/accessibility/object-alt.js +0 -0
  81. package/{lighthouse-core → core}/audits/accessibility/tabindex.js +0 -0
  82. package/{lighthouse-core → core}/audits/accessibility/td-headers-attr.js +0 -0
  83. package/{lighthouse-core → core}/audits/accessibility/th-has-data-cells.js +0 -0
  84. package/{lighthouse-core → core}/audits/accessibility/valid-lang.js +0 -0
  85. package/{lighthouse-core → core}/audits/accessibility/video-caption.js +0 -0
  86. package/{lighthouse-core → core}/audits/audit.js +0 -0
  87. package/{lighthouse-core → core}/audits/autocomplete.js +0 -0
  88. package/{lighthouse-core → core}/audits/bootup-time.js +0 -0
  89. package/{lighthouse-core → core}/audits/byte-efficiency/byte-efficiency-audit.js +0 -0
  90. package/{lighthouse-core → core}/audits/byte-efficiency/duplicated-javascript.js +0 -0
  91. package/{lighthouse-core → core}/audits/byte-efficiency/efficient-animated-content.js +0 -0
  92. package/{lighthouse-core → core}/audits/byte-efficiency/legacy-javascript.js +2 -2
  93. package/{lighthouse-core → core}/audits/byte-efficiency/modern-image-formats.js +0 -0
  94. package/{lighthouse-core → core}/audits/byte-efficiency/offscreen-images.js +0 -0
  95. package/{lighthouse-core → core}/audits/byte-efficiency/polyfill-graph-data.json +0 -0
  96. package/{lighthouse-core → core}/audits/byte-efficiency/render-blocking-resources.js +0 -0
  97. package/{lighthouse-core → core}/audits/byte-efficiency/total-byte-weight.js +0 -0
  98. package/{lighthouse-core → core}/audits/byte-efficiency/unminified-css.js +0 -0
  99. package/{lighthouse-core → core}/audits/byte-efficiency/unminified-javascript.js +0 -0
  100. package/{lighthouse-core → core}/audits/byte-efficiency/unused-css-rules.js +0 -0
  101. package/{lighthouse-core → core}/audits/byte-efficiency/unused-javascript.js +0 -0
  102. package/{lighthouse-core → core}/audits/byte-efficiency/uses-long-cache-ttl.js +0 -0
  103. package/{lighthouse-core → core}/audits/byte-efficiency/uses-optimized-images.js +0 -0
  104. package/{lighthouse-core → core}/audits/byte-efficiency/uses-responsive-images-snapshot.js +0 -0
  105. package/{lighthouse-core → core}/audits/byte-efficiency/uses-responsive-images.js +0 -0
  106. package/{lighthouse-core → core}/audits/byte-efficiency/uses-text-compression.js +0 -0
  107. package/{lighthouse-core → core}/audits/content-width.js +0 -0
  108. package/{lighthouse-core → core}/audits/critical-request-chains.js +0 -0
  109. package/{lighthouse-core → core}/audits/csp-xss.js +0 -0
  110. package/{lighthouse-core → core}/audits/deprecations.js +0 -0
  111. package/{lighthouse-core → core}/audits/diagnostics.js +0 -0
  112. package/{lighthouse-core → core}/audits/dobetterweb/charset.js +0 -0
  113. package/{lighthouse-core → core}/audits/dobetterweb/doctype.js +0 -0
  114. package/{lighthouse-core → core}/audits/dobetterweb/dom-size.js +0 -0
  115. package/{lighthouse-core → core}/audits/dobetterweb/geolocation-on-start.js +0 -0
  116. package/{lighthouse-core → core}/audits/dobetterweb/inspector-issues.js +0 -0
  117. package/{lighthouse-core → core}/audits/dobetterweb/js-libraries.js +0 -0
  118. package/{lighthouse-core → core}/audits/dobetterweb/no-document-write.js +0 -0
  119. package/{lighthouse-core → core}/audits/dobetterweb/no-vulnerable-libraries.js +0 -0
  120. package/{lighthouse-core → core}/audits/dobetterweb/notification-on-start.js +0 -0
  121. package/{lighthouse-core → core}/audits/dobetterweb/password-inputs-can-be-pasted-into.js +0 -0
  122. package/{lighthouse-core → core}/audits/dobetterweb/uses-http2.js +0 -0
  123. package/{lighthouse-core → core}/audits/dobetterweb/uses-passive-event-listeners.js +0 -0
  124. package/{lighthouse-core → core}/audits/errors-in-console.js +0 -0
  125. package/{lighthouse-core → core}/audits/final-screenshot.js +0 -0
  126. package/{lighthouse-core → core}/audits/font-display.js +0 -0
  127. package/{lighthouse-core → core}/audits/full-page-screenshot.js +0 -0
  128. package/{lighthouse-core → core}/audits/image-aspect-ratio.js +0 -0
  129. package/{lighthouse-core → core}/audits/image-size-responsive.js +0 -0
  130. package/{lighthouse-core → core}/audits/installable-manifest.js +0 -0
  131. package/{lighthouse-core → core}/audits/is-on-https.js +0 -0
  132. package/{lighthouse-core → core}/audits/largest-contentful-paint-element.js +0 -0
  133. package/{lighthouse-core → core}/audits/layout-shift-elements.js +0 -0
  134. package/{lighthouse-core → core}/audits/lcp-lazy-loaded.js +0 -0
  135. package/{lighthouse-core → core}/audits/long-tasks.js +0 -0
  136. package/{lighthouse-core → core}/audits/main-thread-tasks.js +0 -0
  137. package/{lighthouse-core → core}/audits/mainthread-work-breakdown.js +0 -0
  138. package/{lighthouse-core → core}/audits/manual/manual-audit.js +0 -0
  139. package/{lighthouse-core → core}/audits/manual/pwa-cross-browser.js +0 -0
  140. package/{lighthouse-core → core}/audits/manual/pwa-each-page-has-url.js +0 -0
  141. package/{lighthouse-core → core}/audits/manual/pwa-page-transitions.js +0 -0
  142. package/{lighthouse-core → core}/audits/maskable-icon.js +0 -0
  143. package/{lighthouse-core → core}/audits/metrics/cumulative-layout-shift.js +0 -0
  144. package/{lighthouse-core → core}/audits/metrics/experimental-interaction-to-next-paint.js +0 -0
  145. package/{lighthouse-core → core}/audits/metrics/first-contentful-paint-3g.js +0 -0
  146. package/{lighthouse-core → core}/audits/metrics/first-contentful-paint.js +0 -0
  147. package/{lighthouse-core → core}/audits/metrics/first-meaningful-paint.js +0 -0
  148. package/{lighthouse-core → core}/audits/metrics/interactive.js +0 -0
  149. package/{lighthouse-core → core}/audits/metrics/largest-contentful-paint.js +0 -0
  150. package/{lighthouse-core → core}/audits/metrics/max-potential-fid.js +0 -0
  151. package/{lighthouse-core → core}/audits/metrics/speed-index.js +0 -0
  152. package/{lighthouse-core → core}/audits/metrics/total-blocking-time.js +0 -0
  153. package/{lighthouse-core → core}/audits/metrics.js +0 -0
  154. package/{lighthouse-core → core}/audits/multi-check-audit.js +0 -0
  155. package/{lighthouse-core → core}/audits/network-requests.js +0 -0
  156. package/{lighthouse-core → core}/audits/network-rtt.js +0 -0
  157. package/{lighthouse-core → core}/audits/network-server-latency.js +0 -0
  158. package/{lighthouse-core → core}/audits/no-unload-listeners.js +0 -0
  159. package/{lighthouse-core → core}/audits/non-composited-animations.js +0 -0
  160. package/{lighthouse-core → core}/audits/oopif-iframe-test-audit.js +0 -0
  161. package/{lighthouse-core → core}/audits/performance-budget.js +0 -0
  162. package/{lighthouse-core → core}/audits/predictive-perf.js +0 -0
  163. package/{lighthouse-core → core}/audits/preload-fonts.js +0 -0
  164. package/{lighthouse-core → core}/audits/preload-lcp-image.js +0 -0
  165. package/{lighthouse-core → core}/audits/redirects.js +0 -0
  166. package/{lighthouse-core → core}/audits/resource-summary.js +0 -0
  167. package/{lighthouse-core → core}/audits/screenshot-thumbnails.js +0 -0
  168. package/{lighthouse-core → core}/audits/script-elements-test-audit.js +0 -0
  169. package/{lighthouse-core → core}/audits/script-treemap-data.js +0 -0
  170. package/{lighthouse-core → core}/audits/seo/canonical.js +0 -0
  171. package/{lighthouse-core → core}/audits/seo/crawlable-anchors.js +0 -0
  172. package/{lighthouse-core → core}/audits/seo/font-size.js +0 -0
  173. package/{lighthouse-core → core}/audits/seo/hreflang.js +0 -0
  174. package/{lighthouse-core → core}/audits/seo/http-status-code.js +0 -0
  175. package/{lighthouse-core → core}/audits/seo/is-crawlable.js +0 -0
  176. package/{lighthouse-core → core}/audits/seo/link-text.js +0 -0
  177. package/{lighthouse-core → core}/audits/seo/manual/structured-data.js +0 -0
  178. package/{lighthouse-core → core}/audits/seo/meta-description.js +0 -0
  179. package/{lighthouse-core → core}/audits/seo/plugins.js +0 -0
  180. package/{lighthouse-core → core}/audits/seo/robots-txt.js +0 -0
  181. package/{lighthouse-core → core}/audits/seo/tap-targets.js +0 -0
  182. package/{lighthouse-core → core}/audits/server-response-time.js +0 -0
  183. package/{lighthouse-core → core}/audits/service-worker.js +0 -0
  184. package/{lighthouse-core → core}/audits/splash-screen.js +0 -0
  185. package/{lighthouse-core → core}/audits/themed-omnibox.js +0 -0
  186. package/{lighthouse-core → core}/audits/third-party-facades.js +0 -0
  187. package/{lighthouse-core → core}/audits/third-party-summary.js +0 -0
  188. package/{lighthouse-core → core}/audits/timing-budget.js +0 -0
  189. package/{lighthouse-core → core}/audits/unsized-images.js +0 -0
  190. package/{lighthouse-core → core}/audits/user-timings.js +0 -0
  191. package/{lighthouse-core → core}/audits/uses-rel-preconnect.js +0 -0
  192. package/{lighthouse-core → core}/audits/uses-rel-preload.js +0 -0
  193. package/{lighthouse-core → core}/audits/valid-source-maps.js +0 -0
  194. package/{lighthouse-core → core}/audits/viewport.js +0 -0
  195. package/{lighthouse-core → core}/audits/violation-audit.js +0 -0
  196. package/{lighthouse-core → core}/audits/work-during-interaction.js +0 -0
  197. package/{lighthouse-core → core}/computed/computed-artifact.js +0 -0
  198. package/{lighthouse-core → core}/computed/critical-request-chains.js +0 -0
  199. package/{lighthouse-core → core}/computed/image-records.js +0 -0
  200. package/{lighthouse-core → core}/computed/js-bundles.js +0 -0
  201. package/{lighthouse-core → core}/computed/load-simulator.js +0 -0
  202. package/{lighthouse-core → core}/computed/main-resource.js +0 -0
  203. package/{lighthouse-core → core}/computed/main-thread-tasks.js +0 -0
  204. package/{lighthouse-core → core}/computed/manifest-values.js +0 -0
  205. package/{lighthouse-core → core}/computed/metrics/cumulative-layout-shift.js +0 -0
  206. package/{lighthouse-core → core}/computed/metrics/first-contentful-paint-all-frames.js +0 -0
  207. package/{lighthouse-core → core}/computed/metrics/first-contentful-paint.js +0 -0
  208. package/{lighthouse-core → core}/computed/metrics/first-meaningful-paint.js +0 -0
  209. package/{lighthouse-core → core}/computed/metrics/interactive.js +0 -0
  210. package/{lighthouse-core → core}/computed/metrics/lantern-first-contentful-paint.js +0 -0
  211. package/{lighthouse-core → core}/computed/metrics/lantern-first-meaningful-paint.js +0 -0
  212. package/{lighthouse-core → core}/computed/metrics/lantern-interactive.js +0 -0
  213. package/{lighthouse-core → core}/computed/metrics/lantern-largest-contentful-paint.js +0 -0
  214. package/{lighthouse-core → core}/computed/metrics/lantern-max-potential-fid.js +0 -0
  215. package/{lighthouse-core → core}/computed/metrics/lantern-metric.js +0 -0
  216. package/{lighthouse-core → core}/computed/metrics/lantern-speed-index.js +1 -1
  217. package/{lighthouse-core → core}/computed/metrics/lantern-total-blocking-time.js +0 -0
  218. package/{lighthouse-core → core}/computed/metrics/largest-contentful-paint-all-frames.js +0 -0
  219. package/{lighthouse-core → core}/computed/metrics/largest-contentful-paint.js +0 -0
  220. package/{lighthouse-core → core}/computed/metrics/max-potential-fid.js +0 -0
  221. package/{lighthouse-core → core}/computed/metrics/metric.js +0 -0
  222. package/{lighthouse-core → core}/computed/metrics/navigation-metric.js +0 -0
  223. package/{lighthouse-core → core}/computed/metrics/responsiveness.js +0 -0
  224. package/{lighthouse-core → core}/computed/metrics/speed-index.js +0 -0
  225. package/{lighthouse-core → core}/computed/metrics/tbt-utils.js +0 -0
  226. package/{lighthouse-core → core}/computed/metrics/timing-summary.js +0 -0
  227. package/{lighthouse-core → core}/computed/metrics/total-blocking-time.js +0 -0
  228. package/{lighthouse-core → core}/computed/module-duplication.js +0 -0
  229. package/{lighthouse-core → core}/computed/network-analysis.js +0 -0
  230. package/{lighthouse-core → core}/computed/network-records.js +0 -0
  231. package/{lighthouse-core → core}/computed/page-dependency-graph.js +0 -0
  232. package/{lighthouse-core → core}/computed/processed-navigation.js +0 -0
  233. package/{lighthouse-core → core}/computed/processed-trace.js +0 -0
  234. package/{lighthouse-core → core}/computed/resource-summary.js +0 -0
  235. package/{lighthouse-core → core}/computed/screenshots.js +0 -0
  236. package/{lighthouse-core → core}/computed/speedline.js +0 -0
  237. package/{lighthouse-core → core}/computed/unused-css.js +0 -0
  238. package/{lighthouse-core → core}/computed/unused-javascript-summary.js +0 -0
  239. package/{lighthouse-core → core}/computed/user-timings.js +0 -0
  240. package/{lighthouse-core → core}/computed/viewport-meta.js +0 -0
  241. package/{lighthouse-core → core}/config/budget.js +0 -0
  242. package/{lighthouse-core → core}/config/config-helpers.js +0 -0
  243. package/{lighthouse-core → core}/config/config-plugin.js +0 -0
  244. package/{lighthouse-core → core}/config/config.js +0 -0
  245. package/{lighthouse-core → core}/config/constants.js +0 -0
  246. package/{lighthouse-core → core}/config/default-config.js +0 -2
  247. package/{lighthouse-core → core}/config/desktop-config.js +0 -0
  248. package/{lighthouse-core → core}/config/experimental-config.js +0 -0
  249. package/{lighthouse-core → core}/config/full-config.js +0 -0
  250. package/{lighthouse-core → core}/config/legacy-default-config.js +0 -0
  251. package/{lighthouse-core → core}/config/lr-desktop-config.js +0 -0
  252. package/{lighthouse-core → core}/config/lr-mobile-config.js +0 -0
  253. package/{lighthouse-core → core}/config/metrics-to-audits.js +0 -0
  254. package/{lighthouse-core → core}/config/perf-config.js +0 -0
  255. package/{lighthouse-core → core}/fraggle-rock/api.js +0 -0
  256. package/{lighthouse-core → core}/fraggle-rock/config/config.js +0 -0
  257. package/{lighthouse-core → core}/fraggle-rock/config/filters.js +0 -0
  258. package/{lighthouse-core → core}/fraggle-rock/config/validation.js +0 -0
  259. package/{lighthouse-core → core}/fraggle-rock/gather/base-artifacts.js +0 -0
  260. package/{lighthouse-core → core}/fraggle-rock/gather/base-gatherer.js +1 -1
  261. package/{lighthouse-core → core}/fraggle-rock/gather/driver.js +0 -0
  262. package/{lighthouse-core → core}/fraggle-rock/gather/navigation-runner.js +0 -0
  263. package/{lighthouse-core → core}/fraggle-rock/gather/runner-helpers.js +0 -0
  264. package/{lighthouse-core → core}/fraggle-rock/gather/session.js +0 -0
  265. package/{lighthouse-core → core}/fraggle-rock/gather/snapshot-runner.js +0 -0
  266. package/{lighthouse-core → core}/fraggle-rock/gather/timespan-runner.js +0 -0
  267. package/{lighthouse-core → core}/fraggle-rock/user-flow.js +0 -0
  268. package/{lighthouse-core → core}/gather/connections/connection.js +0 -0
  269. package/{lighthouse-core → core}/gather/connections/cri.js +0 -0
  270. package/{lighthouse-core → core}/gather/connections/raw.js +0 -0
  271. package/{lighthouse-core → core}/gather/driver/dom.js +0 -0
  272. package/{lighthouse-core → core}/gather/driver/environment.js +0 -0
  273. package/{lighthouse-core → core}/gather/driver/execution-context.js +0 -0
  274. package/{lighthouse-core → core}/gather/driver/navigation.js +0 -0
  275. package/{lighthouse-core → core}/gather/driver/network-monitor.js +0 -0
  276. package/{lighthouse-core → core}/gather/driver/network.js +0 -0
  277. package/{lighthouse-core → core}/gather/driver/prepare.js +0 -0
  278. package/{lighthouse-core → core}/gather/driver/service-workers.js +0 -0
  279. package/{lighthouse-core → core}/gather/driver/storage.js +0 -0
  280. package/{lighthouse-core → core}/gather/driver/target-manager.js +0 -0
  281. package/{lighthouse-core → core}/gather/driver/wait-for-condition.js +0 -0
  282. package/{lighthouse-core → core}/gather/driver.js +0 -0
  283. package/{lighthouse-core → core}/gather/fetcher.js +0 -0
  284. package/{lighthouse-core → core}/gather/gather-runner.js +0 -0
  285. package/{lighthouse-core → core}/gather/gatherers/accessibility.js +0 -0
  286. package/{lighthouse-core → core}/gather/gatherers/anchor-elements.js +0 -0
  287. package/{lighthouse-core → core}/gather/gatherers/cache-contents.js +0 -0
  288. package/{lighthouse-core → core}/gather/gatherers/console-messages.js +0 -0
  289. package/{lighthouse-core → core}/gather/gatherers/css-usage.js +0 -0
  290. package/{lighthouse-core → core}/gather/gatherers/devtools-log-compat.js +0 -0
  291. package/{lighthouse-core → core}/gather/gatherers/devtools-log.js +0 -0
  292. package/{lighthouse-core → core}/gather/gatherers/dobetterweb/doctype.js +0 -0
  293. package/{lighthouse-core → core}/gather/gatherers/dobetterweb/domstats.js +0 -0
  294. package/{lighthouse-core → core}/gather/gatherers/dobetterweb/optimized-images.js +0 -0
  295. package/{lighthouse-core → core}/gather/gatherers/dobetterweb/password-inputs-with-prevented-paste.js +0 -0
  296. package/{lighthouse-core → core}/gather/gatherers/dobetterweb/response-compression.js +0 -0
  297. package/{lighthouse-core → core}/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +0 -0
  298. package/{lighthouse-core → core}/gather/gatherers/full-page-screenshot.js +0 -0
  299. package/{lighthouse-core → core}/gather/gatherers/gatherer.js +0 -0
  300. package/{lighthouse-core → core}/gather/gatherers/global-listeners.js +0 -0
  301. package/{lighthouse-core → core}/gather/gatherers/iframe-elements.js +0 -0
  302. package/{lighthouse-core → core}/gather/gatherers/image-elements.js +0 -0
  303. package/{lighthouse-core → core}/gather/gatherers/inputs.js +0 -0
  304. package/{lighthouse-core → core}/gather/gatherers/inspector-issues.js +0 -0
  305. package/{lighthouse-core → core}/gather/gatherers/installability-errors.js +0 -0
  306. package/{lighthouse-core → core}/gather/gatherers/js-usage.js +0 -0
  307. package/{lighthouse-core → core}/gather/gatherers/link-elements.js +0 -0
  308. package/{lighthouse-core → core}/gather/gatherers/main-document-content.js +0 -0
  309. package/{lighthouse-core → core}/gather/gatherers/meta-elements.js +0 -0
  310. package/{lighthouse-core → core}/gather/gatherers/network-user-agent.js +0 -0
  311. package/{lighthouse-core → core}/gather/gatherers/script-elements.js +0 -0
  312. package/{lighthouse-core → core}/gather/gatherers/scripts.js +0 -0
  313. package/{lighthouse-core → core}/gather/gatherers/seo/embedded-content.js +0 -0
  314. package/{lighthouse-core → core}/gather/gatherers/seo/font-size.js +0 -0
  315. package/{lighthouse-core → core}/gather/gatherers/seo/robots-txt.js +0 -0
  316. package/{lighthouse-core → core}/gather/gatherers/seo/tap-targets.js +0 -0
  317. package/{lighthouse-core → core}/gather/gatherers/service-worker.js +0 -0
  318. package/{lighthouse-core → core}/gather/gatherers/source-maps.js +0 -0
  319. package/{lighthouse-core → core}/gather/gatherers/stacks.js +0 -0
  320. package/{lighthouse-core → core}/gather/gatherers/trace-compat.js +0 -0
  321. package/{lighthouse-core → core}/gather/gatherers/trace-elements.js +0 -0
  322. package/{lighthouse-core → core}/gather/gatherers/trace.js +0 -0
  323. package/{lighthouse-core → core}/gather/gatherers/viewport-dimensions.js +0 -0
  324. package/{lighthouse-core → core}/gather/gatherers/web-app-manifest.js +0 -0
  325. package/{lighthouse-core → core}/index.cjs +0 -0
  326. package/{lighthouse-core → core}/index.js +1 -1
  327. package/{lighthouse-core → core}/lib/arbitrary-equality-map.js +0 -0
  328. package/{lighthouse-core → core}/lib/asset-saver.js +0 -0
  329. package/{lighthouse-core → core}/lib/axe.js +0 -0
  330. package/{lighthouse-core → core}/lib/cdt/Common.js +0 -0
  331. package/{lighthouse-core → core}/lib/cdt/Platform.js +0 -0
  332. package/{lighthouse-core → core}/lib/cdt/SDK.js +0 -0
  333. package/{lighthouse-core → core}/lib/cdt/generated/ParsedURL.js +0 -0
  334. package/{lighthouse-core → core}/lib/cdt/generated/SourceMap.js +0 -0
  335. package/{lighthouse-core → core}/lib/cdt/package.json +0 -0
  336. package/{lighthouse-core → core}/lib/csp-evaluator.js +0 -0
  337. package/{lighthouse-core → core}/lib/dependency-graph/base-node.js +0 -0
  338. package/{lighthouse-core → core}/lib/dependency-graph/cpu-node.js +0 -0
  339. package/{lighthouse-core → core}/lib/dependency-graph/network-node.js +0 -0
  340. package/{lighthouse-core → core}/lib/dependency-graph/simulator/connection-pool.js +0 -0
  341. package/{lighthouse-core → core}/lib/dependency-graph/simulator/dns-cache.js +0 -0
  342. package/{lighthouse-core → core}/lib/dependency-graph/simulator/network-analyzer.js +0 -0
  343. package/{lighthouse-core → core}/lib/dependency-graph/simulator/simulator-timing-map.js +0 -0
  344. package/{lighthouse-core → core}/lib/dependency-graph/simulator/simulator.js +0 -0
  345. package/{lighthouse-core → core}/lib/dependency-graph/simulator/tcp-connection.js +0 -0
  346. package/{lighthouse-core → core}/lib/deprecations-strings.js +0 -0
  347. package/{lighthouse-core → core}/lib/emulation.js +0 -0
  348. package/{lighthouse-core → core}/lib/i18n/README.md +2 -2
  349. package/{lighthouse-core → core}/lib/i18n/i18n.js +0 -0
  350. package/{lighthouse-core → core}/lib/icons.js +0 -0
  351. package/{lighthouse-core → core}/lib/lantern-trace-saver.js +0 -0
  352. package/{lighthouse-core → core}/lib/lh-env.js +0 -0
  353. package/{lighthouse-core → core}/lib/lh-error.js +0 -0
  354. package/{lighthouse-core → core}/lib/lh-trace-processor.js +0 -0
  355. package/{lighthouse-core → core}/lib/manifest-parser.js +0 -0
  356. package/{lighthouse-core → core}/lib/median-run.js +0 -0
  357. package/{lighthouse-core → core}/lib/minification-estimator.js +0 -0
  358. package/{lighthouse-core → core}/lib/minify-devtoolslog.js +0 -0
  359. package/{lighthouse-core → core}/lib/minify-trace.js +3 -3
  360. package/{lighthouse-core → core}/lib/navigation-error.js +0 -0
  361. package/{lighthouse-core → core}/lib/network-recorder.js +0 -0
  362. package/{lighthouse-core → core}/lib/network-request.js +0 -0
  363. package/{lighthouse-core → core}/lib/page-functions.js +0 -0
  364. package/{lighthouse-core → core}/lib/proto-preprocessor.js +0 -0
  365. package/{lighthouse-core → core}/lib/rect-helpers.js +0 -0
  366. package/{lighthouse-core → core}/lib/script-helpers.js +0 -0
  367. package/{lighthouse-core → core}/lib/sentry.js +0 -0
  368. package/{lighthouse-core → core}/lib/stack-packs.js +0 -0
  369. package/{lighthouse-core → core}/lib/statistics.js +0 -0
  370. package/{lighthouse-core → core}/lib/tappable-rects.js +0 -0
  371. package/{lighthouse-core → core}/lib/third-party-web.js +0 -0
  372. package/{lighthouse-core → core}/lib/timing-trace-saver.js +0 -0
  373. package/{lighthouse-core → core}/lib/tracehouse/cpu-profile-model.js +0 -0
  374. package/{lighthouse-core → core}/lib/tracehouse/main-thread-tasks.js +0 -0
  375. package/{lighthouse-core → core}/lib/tracehouse/task-groups.js +0 -0
  376. package/{lighthouse-core → core}/lib/tracehouse/task-summary.js +0 -0
  377. package/{lighthouse-core → core}/lib/tracehouse/trace-processor.js +0 -0
  378. package/{lighthouse-core → core}/lib/traces/pwmetrics-events.js +0 -0
  379. package/{lighthouse-core → core}/lib/url-shim.js +0 -0
  380. package/{lighthouse-core → core}/package.json +0 -0
  381. package/{lighthouse-core → core}/runner.js +0 -0
  382. package/{lighthouse-core → core}/scoring.js +0 -0
  383. package/{lighthouse-core → core}/scripts/download-chrome.sh +0 -0
  384. package/{lighthouse-core → core}/scripts/manual-chrome-launcher.js +1 -1
  385. package/{lighthouse-core → core}/scripts/package.json +0 -0
  386. package/{lighthouse-core → core}/util.cjs +1 -1
  387. package/eslint-local-rules.cjs +1 -1
  388. package/flow-report/test/common-test.tsx +1 -1
  389. package/flow-report/test/run-flow-report-tests.sh +1 -1
  390. package/flow-report/test/sample-flow.ts +1 -1
  391. package/flow-report/tsconfig.json +1 -1
  392. package/package.json +36 -36
  393. package/readme.md +4 -4
  394. package/report/clients/bundle.js +1 -1
  395. package/report/test/clients/bundle-test.js +1 -1
  396. package/report/test/generator/report-generator-test.js +3 -3
  397. package/report/test/renderer/category-renderer-test.js +4 -4
  398. package/report/test/renderer/i18n-test.js +1 -1
  399. package/report/test/renderer/performance-category-renderer-test.js +3 -3
  400. package/report/test/renderer/pwa-category-renderer-test.js +2 -2
  401. package/report/test/renderer/report-renderer-axe-test.js +3 -3
  402. package/report/test/renderer/report-renderer-test.js +3 -3
  403. package/report/test/renderer/report-ui-features-test.js +2 -2
  404. package/report/test/renderer/util-test.js +2 -2
  405. package/shared/localization/locales/ar-XB.json +641 -653
  406. package/shared/localization/locales/ar.json +641 -653
  407. package/shared/localization/locales/bg.json +641 -653
  408. package/shared/localization/locales/ca.json +641 -653
  409. package/shared/localization/locales/cs.json +641 -653
  410. package/shared/localization/locales/da.json +641 -653
  411. package/shared/localization/locales/de.json +641 -653
  412. package/shared/localization/locales/el.json +641 -653
  413. package/shared/localization/locales/en-GB.json +641 -653
  414. package/shared/localization/locales/en-US.json +830 -842
  415. package/shared/localization/locales/en-XA.json +641 -653
  416. package/shared/localization/locales/en-XL.json +830 -842
  417. package/shared/localization/locales/es-419.json +641 -653
  418. package/shared/localization/locales/es.json +641 -653
  419. package/shared/localization/locales/fi.json +641 -653
  420. package/shared/localization/locales/fil.json +641 -653
  421. package/shared/localization/locales/fr.json +641 -653
  422. package/shared/localization/locales/he.json +641 -653
  423. package/shared/localization/locales/hi.json +641 -653
  424. package/shared/localization/locales/hr.json +641 -653
  425. package/shared/localization/locales/hu.json +641 -653
  426. package/shared/localization/locales/id.json +641 -653
  427. package/shared/localization/locales/it.json +641 -653
  428. package/shared/localization/locales/ja.json +641 -653
  429. package/shared/localization/locales/ko.json +641 -653
  430. package/shared/localization/locales/lt.json +641 -653
  431. package/shared/localization/locales/lv.json +641 -653
  432. package/shared/localization/locales/nl.json +641 -653
  433. package/shared/localization/locales/no.json +641 -653
  434. package/shared/localization/locales/pl.json +641 -653
  435. package/shared/localization/locales/pt-PT.json +641 -653
  436. package/shared/localization/locales/pt.json +641 -653
  437. package/shared/localization/locales/ro.json +641 -653
  438. package/shared/localization/locales/ru.json +641 -653
  439. package/shared/localization/locales/sk.json +641 -653
  440. package/shared/localization/locales/sl.json +641 -653
  441. package/shared/localization/locales/sr-Latn.json +641 -653
  442. package/shared/localization/locales/sr.json +641 -653
  443. package/shared/localization/locales/sv.json +641 -653
  444. package/shared/localization/locales/ta.json +641 -653
  445. package/shared/localization/locales/te.json +641 -653
  446. package/shared/localization/locales/th.json +641 -653
  447. package/shared/localization/locales/tr.json +641 -653
  448. package/shared/localization/locales/uk.json +641 -653
  449. package/shared/localization/locales/vi.json +641 -653
  450. package/shared/localization/locales/zh-HK.json +641 -653
  451. package/shared/localization/locales/zh-TW.json +641 -653
  452. package/shared/localization/locales/zh.json +641 -653
  453. package/shared/localization/swap-locale.js +3 -3
  454. package/shared/test/localization/format-test.js +5 -5
  455. package/shared/test/localization/swap-locale-test.js +8 -8
  456. package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +1 -1
  457. package/third-party/chromium-synchronization/installability-errors-test.js +1 -1
  458. package/tsconfig.json +84 -84
  459. package/types/artifacts.d.ts +7 -7
  460. package/types/audit.d.ts +1 -1
  461. package/types/config.d.ts +1 -1
  462. package/types/gatherer.d.ts +8 -8
  463. package/types/global-lh.d.ts +2 -2
  464. package/types/user-flow.d.ts +1 -1
  465. package/lighthouse-core/audits/apple-touch-icon.js +0 -72
@@ -131,1939 +131,1927 @@
131
131
  "flow-report/src/i18n/ui-strings.js | title": {
132
132
  "message": "‏‮Lighthouse‬‏ ‏‮User‬‏ ‏‮Flow‬‏ ‏‮Report‬‏"
133
133
  },
134
- "lighthouse-core/audits/accessibility/accesskeys.js | description": {
134
+ "core/audits/accessibility/accesskeys.js | description": {
135
135
  "message": "‏‮Access‬‏ ‏‮keys‬‏ ‏‮let‬‏ ‏‮users‬‏ ‏‮quickly‬‏ ‏‮focus‬‏ ‏‮a‬‏ ‏‮part‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏. ‏‮For‬‏ ‏‮proper‬‏ ‏‮navigation‬‏, ‏‮each‬‏ ‏‮access‬‏ ‏‮key‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮unique‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/accesskeys/)."
136
136
  },
137
- "lighthouse-core/audits/accessibility/accesskeys.js | failureTitle": {
137
+ "core/audits/accessibility/accesskeys.js | failureTitle": {
138
138
  "message": "`[accesskey]` ‏‮values‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮unique‬‏"
139
139
  },
140
- "lighthouse-core/audits/accessibility/accesskeys.js | title": {
140
+ "core/audits/accessibility/accesskeys.js | title": {
141
141
  "message": "`[accesskey]` ‏‮values‬‏ ‏‮are‬‏ ‏‮unique‬‏"
142
142
  },
143
- "lighthouse-core/audits/accessibility/aria-allowed-attr.js | description": {
143
+ "core/audits/accessibility/aria-allowed-attr.js | description": {
144
144
  "message": "‏‮Each‬‏ ‏‮ARIA‬‏ `role` ‏‮supports‬‏ ‏‮a‬‏ ‏‮specific‬‏ ‏‮subset‬‏ ‏‮of‬‏ `aria-*` ‏‮attributes‬‏. ‏‮Mismatching‬‏ ‏‮these‬‏ ‏‮invalidates‬‏ ‏‮the‬‏ `aria-*` ‏‮attributes‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/aria-allowed-attr/)."
145
145
  },
146
- "lighthouse-core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
146
+ "core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
147
147
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮match‬‏ ‏‮their‬‏ ‏‮roles‬‏"
148
148
  },
149
- "lighthouse-core/audits/accessibility/aria-allowed-attr.js | title": {
149
+ "core/audits/accessibility/aria-allowed-attr.js | title": {
150
150
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮match‬‏ ‏‮their‬‏ ‏‮roles‬‏"
151
151
  },
152
- "lighthouse-core/audits/accessibility/aria-command-name.js | description": {
152
+ "core/audits/accessibility/aria-command-name.js | description": {
153
153
  "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‬‏ ‏‮more‬‏](https://web.dev/aria-name/)."
154
154
  },
155
- "lighthouse-core/audits/accessibility/aria-command-name.js | failureTitle": {
155
+ "core/audits/accessibility/aria-command-name.js | failureTitle": {
156
156
  "message": "`button`, `link`, ‏‮and‬‏ `menuitem` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
157
157
  },
158
- "lighthouse-core/audits/accessibility/aria-command-name.js | title": {
158
+ "core/audits/accessibility/aria-command-name.js | title": {
159
159
  "message": "`button`, `link`, ‏‮and‬‏ `menuitem` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
160
160
  },
161
- "lighthouse-core/audits/accessibility/aria-hidden-body.js | description": {
161
+ "core/audits/accessibility/aria-hidden-body.js | description": {
162
162
  "message": "‏‮Assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏, ‏‮work‬‏ ‏‮inconsistently‬‏ ‏‮when‬‏ `aria-hidden=\"true\"` ‏‮is‬‏ ‏‮set‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮document‬‏ `<body>`. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/aria-hidden-body/)."
163
163
  },
164
- "lighthouse-core/audits/accessibility/aria-hidden-body.js | failureTitle": {
164
+ "core/audits/accessibility/aria-hidden-body.js | failureTitle": {
165
165
  "message": "`[aria-hidden=\"true\"]` ‏‮is‬‏ ‏‮present‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮document‬‏ `<body>`"
166
166
  },
167
- "lighthouse-core/audits/accessibility/aria-hidden-body.js | title": {
167
+ "core/audits/accessibility/aria-hidden-body.js | title": {
168
168
  "message": "`[aria-hidden=\"true\"]` ‏‮is‬‏ ‏‮not‬‏ ‏‮present‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮document‬‏ `<body>`"
169
169
  },
170
- "lighthouse-core/audits/accessibility/aria-hidden-focus.js | description": {
170
+ "core/audits/accessibility/aria-hidden-focus.js | description": {
171
171
  "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‬‏ ‏‮more‬‏](https://web.dev/aria-hidden-focus/)."
172
172
  },
173
- "lighthouse-core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
173
+ "core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
174
174
  "message": "`[aria-hidden=\"true\"]` ‏‮elements‬‏ ‏‮contain‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏"
175
175
  },
176
- "lighthouse-core/audits/accessibility/aria-hidden-focus.js | title": {
176
+ "core/audits/accessibility/aria-hidden-focus.js | title": {
177
177
  "message": "`[aria-hidden=\"true\"]` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏"
178
178
  },
179
- "lighthouse-core/audits/accessibility/aria-input-field-name.js | description": {
179
+ "core/audits/accessibility/aria-input-field-name.js | description": {
180
180
  "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‬‏](https://web.dev/aria-name/)."
181
181
  },
182
- "lighthouse-core/audits/accessibility/aria-input-field-name.js | failureTitle": {
182
+ "core/audits/accessibility/aria-input-field-name.js | failureTitle": {
183
183
  "message": "‏‮ARIA‬‏ ‏‮input‬‏ ‏‮fields‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
184
184
  },
185
- "lighthouse-core/audits/accessibility/aria-input-field-name.js | title": {
185
+ "core/audits/accessibility/aria-input-field-name.js | title": {
186
186
  "message": "‏‮ARIA‬‏ ‏‮input‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
187
187
  },
188
- "lighthouse-core/audits/accessibility/aria-meter-name.js | description": {
188
+ "core/audits/accessibility/aria-meter-name.js | description": {
189
189
  "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‬‏ ‏‮more‬‏](https://web.dev/aria-name/)."
190
190
  },
191
- "lighthouse-core/audits/accessibility/aria-meter-name.js | failureTitle": {
191
+ "core/audits/accessibility/aria-meter-name.js | failureTitle": {
192
192
  "message": "‏‮ARIA‬‏ `meter` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
193
193
  },
194
- "lighthouse-core/audits/accessibility/aria-meter-name.js | title": {
194
+ "core/audits/accessibility/aria-meter-name.js | title": {
195
195
  "message": "‏‮ARIA‬‏ `meter` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
196
196
  },
197
- "lighthouse-core/audits/accessibility/aria-progressbar-name.js | description": {
197
+ "core/audits/accessibility/aria-progressbar-name.js | description": {
198
198
  "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‬‏ ‏‮more‬‏](https://web.dev/aria-name/)."
199
199
  },
200
- "lighthouse-core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
200
+ "core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
201
201
  "message": "‏‮ARIA‬‏ `progressbar` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
202
202
  },
203
- "lighthouse-core/audits/accessibility/aria-progressbar-name.js | title": {
203
+ "core/audits/accessibility/aria-progressbar-name.js | title": {
204
204
  "message": "‏‮ARIA‬‏ `progressbar` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
205
205
  },
206
- "lighthouse-core/audits/accessibility/aria-required-attr.js | description": {
206
+ "core/audits/accessibility/aria-required-attr.js | description": {
207
207
  "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮have‬‏ ‏‮required‬‏ ‏‮attributes‬‏ ‏‮that‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮state‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮element‬‏ ‏‮to‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/aria-required-attr/)."
208
208
  },
209
- "lighthouse-core/audits/accessibility/aria-required-attr.js | failureTitle": {
209
+ "core/audits/accessibility/aria-required-attr.js | failureTitle": {
210
210
  "message": "`[role]`‏‮s‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ `[aria-*]` ‏‮attributes‬‏"
211
211
  },
212
- "lighthouse-core/audits/accessibility/aria-required-attr.js | title": {
212
+ "core/audits/accessibility/aria-required-attr.js | title": {
213
213
  "message": "`[role]`‏‮s‬‏ ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ `[aria-*]` ‏‮attributes‬‏"
214
214
  },
215
- "lighthouse-core/audits/accessibility/aria-required-children.js | description": {
215
+ "core/audits/accessibility/aria-required-children.js | description": {
216
216
  "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮parent‬‏ ‏‮roles‬‏ ‏‮must‬‏ ‏‮contain‬‏ ‏‮specific‬‏ ‏‮child‬‏ ‏‮roles‬‏ ‏‮to‬‏ ‏‮perform‬‏ ‏‮their‬‏ ‏‮intended‬‏ ‏‮accessibility‬‏ ‏‮functions‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/aria-required-children/)."
217
217
  },
218
- "lighthouse-core/audits/accessibility/aria-required-children.js | failureTitle": {
218
+ "core/audits/accessibility/aria-required-children.js | failureTitle": {
219
219
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮ARIA‬‏ `[role]` ‏‮that‬‏ ‏‮require‬‏ ‏‮children‬‏ ‏‮to‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮specific‬‏ `[role]` ‏‮are‬‏ ‏‮missing‬‏ ‏‮some‬‏ ‏‮or‬‏ ‏‮all‬‏ ‏‮of‬‏ ‏‮those‬‏ ‏‮required‬‏ ‏‮children‬‏."
220
220
  },
221
- "lighthouse-core/audits/accessibility/aria-required-children.js | title": {
221
+ "core/audits/accessibility/aria-required-children.js | title": {
222
222
  "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮ARIA‬‏ `[role]` ‏‮that‬‏ ‏‮require‬‏ ‏‮children‬‏ ‏‮to‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮specific‬‏ `[role]` ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ ‏‮children‬‏."
223
223
  },
224
- "lighthouse-core/audits/accessibility/aria-required-parent.js | description": {
224
+ "core/audits/accessibility/aria-required-parent.js | description": {
225
225
  "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮child‬‏ ‏‮roles‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮contained‬‏ ‏‮by‬‏ ‏‮specific‬‏ ‏‮parent‬‏ ‏‮roles‬‏ ‏‮to‬‏ ‏‮properly‬‏ ‏‮perform‬‏ ‏‮their‬‏ ‏‮intended‬‏ ‏‮accessibility‬‏ ‏‮functions‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/aria-required-parent/)."
226
226
  },
227
- "lighthouse-core/audits/accessibility/aria-required-parent.js | failureTitle": {
227
+ "core/audits/accessibility/aria-required-parent.js | failureTitle": {
228
228
  "message": "`[role]`‏‮s‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮contained‬‏ ‏‮by‬‏ ‏‮their‬‏ ‏‮required‬‏ ‏‮parent‬‏ ‏‮element‬‏"
229
229
  },
230
- "lighthouse-core/audits/accessibility/aria-required-parent.js | title": {
230
+ "core/audits/accessibility/aria-required-parent.js | title": {
231
231
  "message": "`[role]`‏‮s‬‏ ‏‮are‬‏ ‏‮contained‬‏ ‏‮by‬‏ ‏‮their‬‏ ‏‮required‬‏ ‏‮parent‬‏ ‏‮element‬‏"
232
232
  },
233
- "lighthouse-core/audits/accessibility/aria-roles.js | description": {
233
+ "core/audits/accessibility/aria-roles.js | description": {
234
234
  "message": "‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮must‬‏ ‏‮have‬‏ ‏‮valid‬‏ ‏‮values‬‏ ‏‮in‬‏ ‏‮order‬‏ ‏‮to‬‏ ‏‮perform‬‏ ‏‮their‬‏ ‏‮intended‬‏ ‏‮accessibility‬‏ ‏‮functions‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/aria-roles/)."
235
235
  },
236
- "lighthouse-core/audits/accessibility/aria-roles.js | failureTitle": {
236
+ "core/audits/accessibility/aria-roles.js | failureTitle": {
237
237
  "message": "`[role]` ‏‮values‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮valid‬‏"
238
238
  },
239
- "lighthouse-core/audits/accessibility/aria-roles.js | title": {
239
+ "core/audits/accessibility/aria-roles.js | title": {
240
240
  "message": "`[role]` ‏‮values‬‏ ‏‮are‬‏ ‏‮valid‬‏"
241
241
  },
242
- "lighthouse-core/audits/accessibility/aria-toggle-field-name.js | description": {
242
+ "core/audits/accessibility/aria-toggle-field-name.js | description": {
243
243
  "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‬‏](https://web.dev/aria-name/)."
244
244
  },
245
- "lighthouse-core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
245
+ "core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
246
246
  "message": "‏‮ARIA‬‏ ‏‮toggle‬‏ ‏‮fields‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
247
247
  },
248
- "lighthouse-core/audits/accessibility/aria-toggle-field-name.js | title": {
248
+ "core/audits/accessibility/aria-toggle-field-name.js | title": {
249
249
  "message": "‏‮ARIA‬‏ ‏‮toggle‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
250
250
  },
251
- "lighthouse-core/audits/accessibility/aria-tooltip-name.js | description": {
251
+ "core/audits/accessibility/aria-tooltip-name.js | description": {
252
252
  "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‬‏ ‏‮more‬‏](https://web.dev/aria-name/)."
253
253
  },
254
- "lighthouse-core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
254
+ "core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
255
255
  "message": "‏‮ARIA‬‏ `tooltip` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
256
256
  },
257
- "lighthouse-core/audits/accessibility/aria-tooltip-name.js | title": {
257
+ "core/audits/accessibility/aria-tooltip-name.js | title": {
258
258
  "message": "‏‮ARIA‬‏ `tooltip` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
259
259
  },
260
- "lighthouse-core/audits/accessibility/aria-treeitem-name.js | description": {
260
+ "core/audits/accessibility/aria-treeitem-name.js | description": {
261
261
  "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‬‏ ‏‮more‬‏](https://web.dev/aria-name/)."
262
262
  },
263
- "lighthouse-core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
263
+ "core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
264
264
  "message": "‏‮ARIA‬‏ `treeitem` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
265
265
  },
266
- "lighthouse-core/audits/accessibility/aria-treeitem-name.js | title": {
266
+ "core/audits/accessibility/aria-treeitem-name.js | title": {
267
267
  "message": "‏‮ARIA‬‏ `treeitem` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
268
268
  },
269
- "lighthouse-core/audits/accessibility/aria-valid-attr-value.js | description": {
269
+ "core/audits/accessibility/aria-valid-attr-value.js | description": {
270
270
  "message": "‏‮Assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏, ‏‮can‬‏'‏‮t‬‏ ‏‮interpret‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮with‬‏ ‏‮invalid‬‏ ‏‮values‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/aria-valid-attr-value/)."
271
271
  },
272
- "lighthouse-core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
272
+ "core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
273
273
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮valid‬‏ ‏‮values‬‏"
274
274
  },
275
- "lighthouse-core/audits/accessibility/aria-valid-attr-value.js | title": {
275
+ "core/audits/accessibility/aria-valid-attr-value.js | title": {
276
276
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮have‬‏ ‏‮valid‬‏ ‏‮values‬‏"
277
277
  },
278
- "lighthouse-core/audits/accessibility/aria-valid-attr.js | description": {
278
+ "core/audits/accessibility/aria-valid-attr.js | description": {
279
279
  "message": "‏‮Assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏, ‏‮can‬‏'‏‮t‬‏ ‏‮interpret‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮with‬‏ ‏‮invalid‬‏ ‏‮names‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/aria-valid-attr/)."
280
280
  },
281
- "lighthouse-core/audits/accessibility/aria-valid-attr.js | failureTitle": {
281
+ "core/audits/accessibility/aria-valid-attr.js | failureTitle": {
282
282
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮valid‬‏ ‏‮or‬‏ ‏‮misspelled‬‏"
283
283
  },
284
- "lighthouse-core/audits/accessibility/aria-valid-attr.js | title": {
284
+ "core/audits/accessibility/aria-valid-attr.js | title": {
285
285
  "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮are‬‏ ‏‮valid‬‏ ‏‮and‬‏ ‏‮not‬‏ ‏‮misspelled‬‏"
286
286
  },
287
- "lighthouse-core/audits/accessibility/axe-audit.js | failingElementsHeader": {
287
+ "core/audits/accessibility/axe-audit.js | failingElementsHeader": {
288
288
  "message": "‏‮Failing‬‏ ‏‮Elements‬‏"
289
289
  },
290
- "lighthouse-core/audits/accessibility/button-name.js | description": {
290
+ "core/audits/accessibility/button-name.js | description": {
291
291
  "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‬‏ ‏‮more‬‏](https://web.dev/button-name/)."
292
292
  },
293
- "lighthouse-core/audits/accessibility/button-name.js | failureTitle": {
293
+ "core/audits/accessibility/button-name.js | failureTitle": {
294
294
  "message": "‏‮Buttons‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏"
295
295
  },
296
- "lighthouse-core/audits/accessibility/button-name.js | title": {
296
+ "core/audits/accessibility/button-name.js | title": {
297
297
  "message": "‏‮Buttons‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏"
298
298
  },
299
- "lighthouse-core/audits/accessibility/bypass.js | description": {
299
+ "core/audits/accessibility/bypass.js | description": {
300
300
  "message": "‏‮Adding‬‏ ‏‮ways‬‏ ‏‮to‬‏ ‏‮bypass‬‏ ‏‮repetitive‬‏ ‏‮content‬‏ ‏‮lets‬‏ ‏‮keyboard‬‏ ‏‮users‬‏ ‏‮navigate‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮more‬‏ ‏‮efficiently‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/bypass/)."
301
301
  },
302
- "lighthouse-core/audits/accessibility/bypass.js | failureTitle": {
302
+ "core/audits/accessibility/bypass.js | failureTitle": {
303
303
  "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮heading‬‏, ‏‮skip‬‏ ‏‮link‬‏, ‏‮or‬‏ ‏‮landmark‬‏ ‏‮region‬‏"
304
304
  },
305
- "lighthouse-core/audits/accessibility/bypass.js | title": {
305
+ "core/audits/accessibility/bypass.js | title": {
306
306
  "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮contains‬‏ ‏‮a‬‏ ‏‮heading‬‏, ‏‮skip‬‏ ‏‮link‬‏, ‏‮or‬‏ ‏‮landmark‬‏ ‏‮region‬‏"
307
307
  },
308
- "lighthouse-core/audits/accessibility/color-contrast.js | description": {
308
+ "core/audits/accessibility/color-contrast.js | description": {
309
309
  "message": "‏‮Low‬‏-‏‮contrast‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮difficult‬‏ ‏‮or‬‏ ‏‮impossible‬‏ ‏‮for‬‏ ‏‮many‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮read‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/color-contrast/)."
310
310
  },
311
- "lighthouse-core/audits/accessibility/color-contrast.js | failureTitle": {
311
+ "core/audits/accessibility/color-contrast.js | failureTitle": {
312
312
  "message": "‏‮Background‬‏ ‏‮and‬‏ ‏‮foreground‬‏ ‏‮colors‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮sufficient‬‏ ‏‮contrast‬‏ ‏‮ratio‬‏."
313
313
  },
314
- "lighthouse-core/audits/accessibility/color-contrast.js | title": {
314
+ "core/audits/accessibility/color-contrast.js | title": {
315
315
  "message": "‏‮Background‬‏ ‏‮and‬‏ ‏‮foreground‬‏ ‏‮colors‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮sufficient‬‏ ‏‮contrast‬‏ ‏‮ratio‬‏"
316
316
  },
317
- "lighthouse-core/audits/accessibility/definition-list.js | description": {
317
+ "core/audits/accessibility/definition-list.js | description": {
318
318
  "message": "‏‮When‬‏ ‏‮definition‬‏ ‏‮lists‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮properly‬‏ ‏‮marked‬‏ ‏‮up‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮may‬‏ ‏‮produce‬‏ ‏‮confusing‬‏ ‏‮or‬‏ ‏‮inaccurate‬‏ ‏‮output‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/definition-list/)."
319
319
  },
320
- "lighthouse-core/audits/accessibility/definition-list.js | failureTitle": {
320
+ "core/audits/accessibility/definition-list.js | failureTitle": {
321
321
  "message": "`<dl>`'‏‮s‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮only‬‏ ‏‮properly‬‏-‏‮ordered‬‏ `<dt>` ‏‮and‬‏ `<dd>` ‏‮groups‬‏, `<script>`, `<template>` ‏‮or‬‏ `<div>` ‏‮elements‬‏."
322
322
  },
323
- "lighthouse-core/audits/accessibility/definition-list.js | title": {
323
+ "core/audits/accessibility/definition-list.js | title": {
324
324
  "message": "`<dl>`'‏‮s‬‏ ‏‮contain‬‏ ‏‮only‬‏ ‏‮properly‬‏-‏‮ordered‬‏ `<dt>` ‏‮and‬‏ `<dd>` ‏‮groups‬‏, `<script>`, `<template>` ‏‮or‬‏ `<div>` ‏‮elements‬‏."
325
325
  },
326
- "lighthouse-core/audits/accessibility/dlitem.js | description": {
326
+ "core/audits/accessibility/dlitem.js | description": {
327
327
  "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‬‏ ‏‮more‬‏](https://web.dev/dlitem/)."
328
328
  },
329
- "lighthouse-core/audits/accessibility/dlitem.js | failureTitle": {
329
+ "core/audits/accessibility/dlitem.js | failureTitle": {
330
330
  "message": "‏‮Definition‬‏ ‏‮list‬‏ ‏‮items‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮wrapped‬‏ ‏‮in‬‏ `<dl>` ‏‮elements‬‏"
331
331
  },
332
- "lighthouse-core/audits/accessibility/dlitem.js | title": {
332
+ "core/audits/accessibility/dlitem.js | title": {
333
333
  "message": "‏‮Definition‬‏ ‏‮list‬‏ ‏‮items‬‏ ‏‮are‬‏ ‏‮wrapped‬‏ ‏‮in‬‏ `<dl>` ‏‮elements‬‏"
334
334
  },
335
- "lighthouse-core/audits/accessibility/document-title.js | description": {
335
+ "core/audits/accessibility/document-title.js | description": {
336
336
  "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‬‏](https://web.dev/document-title/)."
337
337
  },
338
- "lighthouse-core/audits/accessibility/document-title.js | failureTitle": {
338
+ "core/audits/accessibility/document-title.js | failureTitle": {
339
339
  "message": "‏‮Document‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮a‬‏ `<title>` ‏‮element‬‏"
340
340
  },
341
- "lighthouse-core/audits/accessibility/document-title.js | title": {
341
+ "core/audits/accessibility/document-title.js | title": {
342
342
  "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ `<title>` ‏‮element‬‏"
343
343
  },
344
- "lighthouse-core/audits/accessibility/duplicate-id-active.js | description": {
344
+ "core/audits/accessibility/duplicate-id-active.js | description": {
345
345
  "message": "‏‮All‬‏ ‏‮focusable‬‏ ‏‮elements‬‏ ‏‮must‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮unique‬‏ `id` ‏‮to‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮they‬‏'‏‮re‬‏ ‏‮visible‬‏ ‏‮to‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/duplicate-id-active/)."
346
346
  },
347
- "lighthouse-core/audits/accessibility/duplicate-id-active.js | failureTitle": {
347
+ "core/audits/accessibility/duplicate-id-active.js | failureTitle": {
348
348
  "message": "`[id]` ‏‮attributes‬‏ ‏‮on‬‏ ‏‮active‬‏, ‏‮focusable‬‏ ‏‮elements‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮unique‬‏"
349
349
  },
350
- "lighthouse-core/audits/accessibility/duplicate-id-active.js | title": {
350
+ "core/audits/accessibility/duplicate-id-active.js | title": {
351
351
  "message": "`[id]` ‏‮attributes‬‏ ‏‮on‬‏ ‏‮active‬‏, ‏‮focusable‬‏ ‏‮elements‬‏ ‏‮are‬‏ ‏‮unique‬‏"
352
352
  },
353
- "lighthouse-core/audits/accessibility/duplicate-id-aria.js | description": {
353
+ "core/audits/accessibility/duplicate-id-aria.js | description": {
354
354
  "message": "‏‮The‬‏ ‏‮value‬‏ ‏‮of‬‏ ‏‮an‬‏ ‏‮ARIA‬‏ ‏‮ID‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮unique‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮other‬‏ ‏‮instances‬‏ ‏‮from‬‏ ‏‮being‬‏ ‏‮overlooked‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/duplicate-id-aria/)."
355
355
  },
356
- "lighthouse-core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
356
+ "core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
357
357
  "message": "‏‮ARIA‬‏ ‏‮IDs‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮unique‬‏"
358
358
  },
359
- "lighthouse-core/audits/accessibility/duplicate-id-aria.js | title": {
359
+ "core/audits/accessibility/duplicate-id-aria.js | title": {
360
360
  "message": "‏‮ARIA‬‏ ‏‮IDs‬‏ ‏‮are‬‏ ‏‮unique‬‏"
361
361
  },
362
- "lighthouse-core/audits/accessibility/form-field-multiple-labels.js | description": {
362
+ "core/audits/accessibility/form-field-multiple-labels.js | description": {
363
363
  "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‬‏ ‏‮more‬‏](https://web.dev/form-field-multiple-labels/)."
364
364
  },
365
- "lighthouse-core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
365
+ "core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
366
366
  "message": "‏‮Form‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮multiple‬‏ ‏‮labels‬‏"
367
367
  },
368
- "lighthouse-core/audits/accessibility/form-field-multiple-labels.js | title": {
368
+ "core/audits/accessibility/form-field-multiple-labels.js | title": {
369
369
  "message": "‏‮No‬‏ ‏‮form‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮multiple‬‏ ‏‮labels‬‏"
370
370
  },
371
- "lighthouse-core/audits/accessibility/frame-title.js | description": {
371
+ "core/audits/accessibility/frame-title.js | description": {
372
372
  "message": "‏‮Screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮frame‬‏ ‏‮titles‬‏ ‏‮to‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮contents‬‏ ‏‮of‬‏ ‏‮frames‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/frame-title/)."
373
373
  },
374
- "lighthouse-core/audits/accessibility/frame-title.js | failureTitle": {
374
+ "core/audits/accessibility/frame-title.js | failureTitle": {
375
375
  "message": "`<frame>` ‏‮or‬‏ `<iframe>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮title‬‏"
376
376
  },
377
- "lighthouse-core/audits/accessibility/frame-title.js | title": {
377
+ "core/audits/accessibility/frame-title.js | title": {
378
378
  "message": "`<frame>` ‏‮or‬‏ `<iframe>` ‏‮elements‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮title‬‏"
379
379
  },
380
- "lighthouse-core/audits/accessibility/heading-order.js | description": {
380
+ "core/audits/accessibility/heading-order.js | description": {
381
381
  "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‬‏](https://web.dev/heading-order/)."
382
382
  },
383
- "lighthouse-core/audits/accessibility/heading-order.js | failureTitle": {
383
+ "core/audits/accessibility/heading-order.js | failureTitle": {
384
384
  "message": "‏‮Heading‬‏ ‏‮elements‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮sequentially‬‏-‏‮descending‬‏ ‏‮order‬‏"
385
385
  },
386
- "lighthouse-core/audits/accessibility/heading-order.js | title": {
386
+ "core/audits/accessibility/heading-order.js | title": {
387
387
  "message": "‏‮Heading‬‏ ‏‮elements‬‏ ‏‮appear‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮sequentially‬‏-‏‮descending‬‏ ‏‮order‬‏"
388
388
  },
389
- "lighthouse-core/audits/accessibility/html-has-lang.js | description": {
389
+ "core/audits/accessibility/html-has-lang.js | description": {
390
390
  "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‬‏](https://web.dev/html-has-lang/)."
391
391
  },
392
- "lighthouse-core/audits/accessibility/html-has-lang.js | failureTitle": {
392
+ "core/audits/accessibility/html-has-lang.js | failureTitle": {
393
393
  "message": "`<html>` ‏‮element‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ `[lang]` ‏‮attribute‬‏"
394
394
  },
395
- "lighthouse-core/audits/accessibility/html-has-lang.js | title": {
395
+ "core/audits/accessibility/html-has-lang.js | title": {
396
396
  "message": "`<html>` ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ `[lang]` ‏‮attribute‬‏"
397
397
  },
398
- "lighthouse-core/audits/accessibility/html-lang-valid.js | description": {
398
+ "core/audits/accessibility/html-lang-valid.js | description": {
399
399
  "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‬‏ ‏‮more‬‏](https://web.dev/html-lang-valid/)."
400
400
  },
401
- "lighthouse-core/audits/accessibility/html-lang-valid.js | failureTitle": {
401
+ "core/audits/accessibility/html-lang-valid.js | failureTitle": {
402
402
  "message": "`<html>` ‏‮element‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏ ‏‮for‬‏ ‏‮its‬‏ `[lang]` ‏‮attribute‬‏."
403
403
  },
404
- "lighthouse-core/audits/accessibility/html-lang-valid.js | title": {
404
+ "core/audits/accessibility/html-lang-valid.js | title": {
405
405
  "message": "`<html>` ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏ ‏‮for‬‏ ‏‮its‬‏ `[lang]` ‏‮attribute‬‏"
406
406
  },
407
- "lighthouse-core/audits/accessibility/image-alt.js | description": {
407
+ "core/audits/accessibility/image-alt.js | description": {
408
408
  "message": "‏‮Informative‬‏ ‏‮elements‬‏ ‏‮should‬‏ ‏‮aim‬‏ ‏‮for‬‏ ‏‮short‬‏, ‏‮descriptive‬‏ ‏‮alternate‬‏ ‏‮text‬‏. ‏‮Decorative‬‏ ‏‮elements‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮ignored‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮empty‬‏ ‏‮alt‬‏ ‏‮attribute‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/image-alt/)."
409
409
  },
410
- "lighthouse-core/audits/accessibility/image-alt.js | failureTitle": {
410
+ "core/audits/accessibility/image-alt.js | failureTitle": {
411
411
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏"
412
412
  },
413
- "lighthouse-core/audits/accessibility/image-alt.js | title": {
413
+ "core/audits/accessibility/image-alt.js | title": {
414
414
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏"
415
415
  },
416
- "lighthouse-core/audits/accessibility/input-image-alt.js | description": {
416
+ "core/audits/accessibility/input-image-alt.js | description": {
417
417
  "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‬‏ ‏‮more‬‏](https://web.dev/input-image-alt/)."
418
418
  },
419
- "lighthouse-core/audits/accessibility/input-image-alt.js | failureTitle": {
419
+ "core/audits/accessibility/input-image-alt.js | failureTitle": {
420
420
  "message": "`<input type=\"image\">` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ `[alt]` ‏‮text‬‏"
421
421
  },
422
- "lighthouse-core/audits/accessibility/input-image-alt.js | title": {
422
+ "core/audits/accessibility/input-image-alt.js | title": {
423
423
  "message": "`<input type=\"image\">` ‏‮elements‬‏ ‏‮have‬‏ `[alt]` ‏‮text‬‏"
424
424
  },
425
- "lighthouse-core/audits/accessibility/label.js | description": {
425
+ "core/audits/accessibility/label.js | description": {
426
426
  "message": "‏‮Labels‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮form‬‏ ‏‮controls‬‏ ‏‮are‬‏ ‏‮announced‬‏ ‏‮properly‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/label/)."
427
427
  },
428
- "lighthouse-core/audits/accessibility/label.js | failureTitle": {
428
+ "core/audits/accessibility/label.js | failureTitle": {
429
429
  "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮labels‬‏"
430
430
  },
431
- "lighthouse-core/audits/accessibility/label.js | title": {
431
+ "core/audits/accessibility/label.js | title": {
432
432
  "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮labels‬‏"
433
433
  },
434
- "lighthouse-core/audits/accessibility/link-name.js | description": {
434
+ "core/audits/accessibility/link-name.js | description": {
435
435
  "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‬‏ ‏‮more‬‏](https://web.dev/link-name/)."
436
436
  },
437
- "lighthouse-core/audits/accessibility/link-name.js | failureTitle": {
437
+ "core/audits/accessibility/link-name.js | failureTitle": {
438
438
  "message": "‏‮Links‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮discernible‬‏ ‏‮name‬‏"
439
439
  },
440
- "lighthouse-core/audits/accessibility/link-name.js | title": {
440
+ "core/audits/accessibility/link-name.js | title": {
441
441
  "message": "‏‮Links‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮discernible‬‏ ‏‮name‬‏"
442
442
  },
443
- "lighthouse-core/audits/accessibility/list.js | description": {
443
+ "core/audits/accessibility/list.js | description": {
444
444
  "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮specific‬‏ ‏‮way‬‏ ‏‮of‬‏ ‏‮announcing‬‏ ‏‮lists‬‏. ‏‮Ensuring‬‏ ‏‮proper‬‏ ‏‮list‬‏ ‏‮structure‬‏ ‏‮aids‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮output‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/list/)."
445
445
  },
446
- "lighthouse-core/audits/accessibility/list.js | failureTitle": {
446
+ "core/audits/accessibility/list.js | failureTitle": {
447
447
  "message": "‏‮Lists‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮only‬‏ `<li>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮script‬‏ ‏‮supporting‬‏ ‏‮elements‬‏ (`<script>` ‏‮and‬‏ `<template>`)."
448
448
  },
449
- "lighthouse-core/audits/accessibility/list.js | title": {
449
+ "core/audits/accessibility/list.js | title": {
450
450
  "message": "‏‮Lists‬‏ ‏‮contain‬‏ ‏‮only‬‏ `<li>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮script‬‏ ‏‮supporting‬‏ ‏‮elements‬‏ (`<script>` ‏‮and‬‏ `<template>`)."
451
451
  },
452
- "lighthouse-core/audits/accessibility/listitem.js | description": {
452
+ "core/audits/accessibility/listitem.js | description": {
453
453
  "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮require‬‏ ‏‮list‬‏ ‏‮items‬‏ (`<li>`) ‏‮to‬‏ ‏‮be‬‏ ‏‮contained‬‏ ‏‮within‬‏ ‏‮a‬‏ ‏‮parent‬‏ `<ul>` ‏‮or‬‏ `<ol>` ‏‮to‬‏ ‏‮be‬‏ ‏‮announced‬‏ ‏‮properly‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/listitem/)."
454
454
  },
455
- "lighthouse-core/audits/accessibility/listitem.js | failureTitle": {
455
+ "core/audits/accessibility/listitem.js | failureTitle": {
456
456
  "message": "‏‮List‬‏ ‏‮items‬‏ (`<li>`) ‏‮are‬‏ ‏‮not‬‏ ‏‮contained‬‏ ‏‮within‬‏ `<ul>` ‏‮or‬‏ `<ol>` ‏‮parent‬‏ ‏‮elements‬‏."
457
457
  },
458
- "lighthouse-core/audits/accessibility/listitem.js | title": {
458
+ "core/audits/accessibility/listitem.js | title": {
459
459
  "message": "‏‮List‬‏ ‏‮items‬‏ (`<li>`) ‏‮are‬‏ ‏‮contained‬‏ ‏‮within‬‏ `<ul>` ‏‮or‬‏ `<ol>` ‏‮parent‬‏ ‏‮elements‬‏"
460
460
  },
461
- "lighthouse-core/audits/accessibility/meta-refresh.js | description": {
461
+ "core/audits/accessibility/meta-refresh.js | description": {
462
462
  "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‬‏](https://web.dev/meta-refresh/)."
463
463
  },
464
- "lighthouse-core/audits/accessibility/meta-refresh.js | failureTitle": {
464
+ "core/audits/accessibility/meta-refresh.js | failureTitle": {
465
465
  "message": "‏‮The‬‏ ‏‮document‬‏ ‏‮uses‬‏ `<meta http-equiv=\"refresh\">`"
466
466
  },
467
- "lighthouse-core/audits/accessibility/meta-refresh.js | title": {
467
+ "core/audits/accessibility/meta-refresh.js | title": {
468
468
  "message": "‏‮The‬‏ ‏‮document‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮use‬‏ `<meta http-equiv=\"refresh\">`"
469
469
  },
470
- "lighthouse-core/audits/accessibility/meta-viewport.js | description": {
470
+ "core/audits/accessibility/meta-viewport.js | description": {
471
471
  "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‬‏](https://web.dev/meta-viewport/)."
472
472
  },
473
- "lighthouse-core/audits/accessibility/meta-viewport.js | failureTitle": {
473
+ "core/audits/accessibility/meta-viewport.js | failureTitle": {
474
474
  "message": "`[user-scalable=\"no\"]` ‏‮is‬‏ ‏‮used‬‏ ‏‮in‬‏ ‏‮the‬‏ `<meta name=\"viewport\">` ‏‮element‬‏ ‏‮or‬‏ ‏‮the‬‏ `[maximum-scale]` ‏‮attribute‬‏ ‏‮is‬‏ ‏‮less‬‏ ‏‮than‬‏ 5."
475
475
  },
476
- "lighthouse-core/audits/accessibility/meta-viewport.js | title": {
476
+ "core/audits/accessibility/meta-viewport.js | title": {
477
477
  "message": "`[user-scalable=\"no\"]` ‏‮is‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮in‬‏ ‏‮the‬‏ `<meta name=\"viewport\">` ‏‮element‬‏ ‏‮and‬‏ ‏‮the‬‏ `[maximum-scale]` ‏‮attribute‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮less‬‏ ‏‮than‬‏ 5."
478
478
  },
479
- "lighthouse-core/audits/accessibility/object-alt.js | description": {
479
+ "core/audits/accessibility/object-alt.js | description": {
480
480
  "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮cannot‬‏ ‏‮translate‬‏ ‏‮non‬‏-‏‮text‬‏ ‏‮content‬‏. ‏‮Adding‬‏ ‏‮alternate‬‏ ‏‮text‬‏ ‏‮to‬‏ `<object>` ‏‮elements‬‏ ‏‮helps‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮convey‬‏ ‏‮meaning‬‏ ‏‮to‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/object-alt/)."
481
481
  },
482
- "lighthouse-core/audits/accessibility/object-alt.js | failureTitle": {
482
+ "core/audits/accessibility/object-alt.js | failureTitle": {
483
483
  "message": "`<object>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮alternate‬‏ ‏‮text‬‏"
484
484
  },
485
- "lighthouse-core/audits/accessibility/object-alt.js | title": {
485
+ "core/audits/accessibility/object-alt.js | title": {
486
486
  "message": "`<object>` ‏‮elements‬‏ ‏‮have‬‏ ‏‮alternate‬‏ ‏‮text‬‏"
487
487
  },
488
- "lighthouse-core/audits/accessibility/tabindex.js | description": {
488
+ "core/audits/accessibility/tabindex.js | description": {
489
489
  "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‬‏](https://web.dev/tabindex/)."
490
490
  },
491
- "lighthouse-core/audits/accessibility/tabindex.js | failureTitle": {
491
+ "core/audits/accessibility/tabindex.js | failureTitle": {
492
492
  "message": "‏‮Some‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮a‬‏ `[tabindex]` ‏‮value‬‏ ‏‮greater‬‏ ‏‮than‬‏ 0"
493
493
  },
494
- "lighthouse-core/audits/accessibility/tabindex.js | title": {
494
+ "core/audits/accessibility/tabindex.js | title": {
495
495
  "message": "‏‮No‬‏ ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ `[tabindex]` ‏‮value‬‏ ‏‮greater‬‏ ‏‮than‬‏ 0"
496
496
  },
497
- "lighthouse-core/audits/accessibility/td-headers-attr.js | description": {
497
+ "core/audits/accessibility/td-headers-attr.js | description": {
498
498
  "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‬‏](https://web.dev/td-headers-attr/)."
499
499
  },
500
- "lighthouse-core/audits/accessibility/td-headers-attr.js | failureTitle": {
500
+ "core/audits/accessibility/td-headers-attr.js | failureTitle": {
501
501
  "message": "‏‮Cells‬‏ ‏‮in‬‏ ‏‮a‬‏ `<table>` ‏‮element‬‏ ‏‮that‬‏ ‏‮use‬‏ ‏‮the‬‏ `[headers]` ‏‮attribute‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮an‬‏ ‏‮element‬‏ `id` ‏‮not‬‏ ‏‮found‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮table‬‏."
502
502
  },
503
- "lighthouse-core/audits/accessibility/td-headers-attr.js | title": {
503
+ "core/audits/accessibility/td-headers-attr.js | title": {
504
504
  "message": "‏‮Cells‬‏ ‏‮in‬‏ ‏‮a‬‏ `<table>` ‏‮element‬‏ ‏‮that‬‏ ‏‮use‬‏ ‏‮the‬‏ `[headers]` ‏‮attribute‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮table‬‏ ‏‮cells‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮table‬‏."
505
505
  },
506
- "lighthouse-core/audits/accessibility/th-has-data-cells.js | description": {
506
+ "core/audits/accessibility/th-has-data-cells.js | description": {
507
507
  "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‬‏](https://web.dev/th-has-data-cells/)."
508
508
  },
509
- "lighthouse-core/audits/accessibility/th-has-data-cells.js | failureTitle": {
509
+ "core/audits/accessibility/th-has-data-cells.js | failureTitle": {
510
510
  "message": "`<th>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮elements‬‏ ‏‮with‬‏ `[role=\"columnheader\"/\"rowheader\"]` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮data‬‏ ‏‮cells‬‏ ‏‮they‬‏ ‏‮describe‬‏."
511
511
  },
512
- "lighthouse-core/audits/accessibility/th-has-data-cells.js | title": {
512
+ "core/audits/accessibility/th-has-data-cells.js | title": {
513
513
  "message": "`<th>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮elements‬‏ ‏‮with‬‏ `[role=\"columnheader\"/\"rowheader\"]` ‏‮have‬‏ ‏‮data‬‏ ‏‮cells‬‏ ‏‮they‬‏ ‏‮describe‬‏."
514
514
  },
515
- "lighthouse-core/audits/accessibility/valid-lang.js | description": {
515
+ "core/audits/accessibility/valid-lang.js | description": {
516
516
  "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‬‏ ‏‮more‬‏](https://web.dev/valid-lang/)."
517
517
  },
518
- "lighthouse-core/audits/accessibility/valid-lang.js | failureTitle": {
518
+ "core/audits/accessibility/valid-lang.js | failureTitle": {
519
519
  "message": "`[lang]` ‏‮attributes‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏"
520
520
  },
521
- "lighthouse-core/audits/accessibility/valid-lang.js | title": {
521
+ "core/audits/accessibility/valid-lang.js | title": {
522
522
  "message": "`[lang]` ‏‮attributes‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏"
523
523
  },
524
- "lighthouse-core/audits/accessibility/video-caption.js | description": {
524
+ "core/audits/accessibility/video-caption.js | description": {
525
525
  "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮video‬‏ ‏‮provides‬‏ ‏‮a‬‏ ‏‮caption‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮easier‬‏ ‏‮for‬‏ ‏‮deaf‬‏ ‏‮and‬‏ ‏‮hearing‬‏ ‏‮impaired‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮access‬‏ ‏‮its‬‏ ‏‮information‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/video-caption/)."
526
526
  },
527
- "lighthouse-core/audits/accessibility/video-caption.js | failureTitle": {
527
+ "core/audits/accessibility/video-caption.js | failureTitle": {
528
528
  "message": "`<video>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮a‬‏ `<track>` ‏‮element‬‏ ‏‮with‬‏ `[kind=\"captions\"]`."
529
529
  },
530
- "lighthouse-core/audits/accessibility/video-caption.js | title": {
530
+ "core/audits/accessibility/video-caption.js | title": {
531
531
  "message": "`<video>` ‏‮elements‬‏ ‏‮contain‬‏ ‏‮a‬‏ `<track>` ‏‮element‬‏ ‏‮with‬‏ `[kind=\"captions\"]`"
532
532
  },
533
- "lighthouse-core/audits/apple-touch-icon.js | description": {
534
- "message": "‏‮For‬‏ ‏‮ideal‬‏ ‏‮appearance‬‏ ‏‮on‬‏ ‏‮iOS‬‏ ‏‮when‬‏ ‏‮users‬‏ ‏‮add‬‏ ‏‮a‬‏ ‏‮progressive‬‏ ‏‮web‬‏ ‏‮app‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮home‬‏ ‏‮screen‬‏, ‏‮define‬‏ ‏‮an‬‏ `apple-touch-icon`. ‏‮It‬‏ ‏‮must‬‏ ‏‮point‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮non‬‏-‏‮transparent‬‏ 192‏‮px‬‏ (‏‮or‬‏ 180‏‮px‬‏) ‏‮square‬‏ ‏‮PNG‬‏. [‏‮Learn‬‏ ‏‮More‬‏](https://web.dev/apple-touch-icon/)."
535
- },
536
- "lighthouse-core/audits/apple-touch-icon.js | failureTitle": {
537
- "message": "‏‮Does‬‏ ‏‮not‬‏ ‏‮provide‬‏ ‏‮a‬‏ ‏‮valid‬‏ `apple-touch-icon`"
538
- },
539
- "lighthouse-core/audits/apple-touch-icon.js | precomposedWarning": {
540
- "message": "`apple-touch-icon-precomposed` ‏‮is‬‏ ‏‮out‬‏ ‏‮of‬‏ ‏‮date‬‏; `apple-touch-icon` ‏‮is‬‏ ‏‮preferred‬‏."
541
- },
542
- "lighthouse-core/audits/apple-touch-icon.js | title": {
543
- "message": "‏‮Provides‬‏ ‏‮a‬‏ ‏‮valid‬‏ `apple-touch-icon`"
544
- },
545
- "lighthouse-core/audits/autocomplete.js | columnCurrent": {
533
+ "core/audits/autocomplete.js | columnCurrent": {
546
534
  "message": "‏‮Current‬‏ ‏‮Value‬‏"
547
535
  },
548
- "lighthouse-core/audits/autocomplete.js | columnSuggestions": {
536
+ "core/audits/autocomplete.js | columnSuggestions": {
549
537
  "message": "‏‮Suggested‬‏ ‏‮Token‬‏"
550
538
  },
551
- "lighthouse-core/audits/autocomplete.js | description": {
539
+ "core/audits/autocomplete.js | description": {
552
540
  "message": "`autocomplete` ‏‮helps‬‏ ‏‮users‬‏ ‏‮submit‬‏ ‏‮forms‬‏ ‏‮quicker‬‏. ‏‮To‬‏ ‏‮reduce‬‏ ‏‮user‬‏ ‏‮effort‬‏, ‏‮consider‬‏ ‏‮enabling‬‏ ‏‮by‬‏ ‏‮setting‬‏ ‏‮the‬‏ `autocomplete` ‏‮attribute‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://developers.google.com/web/fundamentals/design-and-ux/input/forms#use_metadata_to_enable_auto-complete)"
553
541
  },
554
- "lighthouse-core/audits/autocomplete.js | failureTitle": {
542
+ "core/audits/autocomplete.js | failureTitle": {
555
543
  "message": "`<input>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮correct‬‏ `autocomplete` ‏‮attributes‬‏"
556
544
  },
557
- "lighthouse-core/audits/autocomplete.js | manualReview": {
545
+ "core/audits/autocomplete.js | manualReview": {
558
546
  "message": "‏‮Requires‬‏ ‏‮manual‬‏ ‏‮review‬‏"
559
547
  },
560
- "lighthouse-core/audits/autocomplete.js | reviewOrder": {
548
+ "core/audits/autocomplete.js | reviewOrder": {
561
549
  "message": "‏‮Review‬‏ ‏‮order‬‏ ‏‮of‬‏ ‏‮tokens‬‏"
562
550
  },
563
- "lighthouse-core/audits/autocomplete.js | title": {
551
+ "core/audits/autocomplete.js | title": {
564
552
  "message": "`<input>` ‏‮elements‬‏ ‏‮correctly‬‏ ‏‮use‬‏ `autocomplete`"
565
553
  },
566
- "lighthouse-core/audits/autocomplete.js | warningInvalid": {
554
+ "core/audits/autocomplete.js | warningInvalid": {
567
555
  "message": "`autocomplete` ‏‮token‬‏(‏‮s‬‏): \"{token}\" ‏‮is‬‏ ‏‮invalid‬‏ ‏‮in‬‏ {snippet}"
568
556
  },
569
- "lighthouse-core/audits/autocomplete.js | warningOrder": {
557
+ "core/audits/autocomplete.js | warningOrder": {
570
558
  "message": "‏‮Review‬‏ ‏‮order‬‏ ‏‮of‬‏ ‏‮tokens‬‏: \"{tokens}\" ‏‮in‬‏ {snippet}"
571
559
  },
572
- "lighthouse-core/audits/bootup-time.js | chromeExtensionsWarning": {
560
+ "core/audits/bootup-time.js | chromeExtensionsWarning": {
573
561
  "message": "‏‮Chrome‬‏ ‏‮extensions‬‏ ‏‮negatively‬‏ ‏‮affected‬‏ ‏‮this‬‏ ‏‮page‬‏'‏‮s‬‏ ‏‮load‬‏ ‏‮performance‬‏. ‏‮Try‬‏ ‏‮auditing‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮incognito‬‏ ‏‮mode‬‏ ‏‮or‬‏ ‏‮from‬‏ ‏‮a‬‏ ‏‮Chrome‬‏ ‏‮profile‬‏ ‏‮without‬‏ ‏‮extensions‬‏."
574
562
  },
575
- "lighthouse-core/audits/bootup-time.js | columnScriptEval": {
563
+ "core/audits/bootup-time.js | columnScriptEval": {
576
564
  "message": "‏‮Script‬‏ ‏‮Evaluation‬‏"
577
565
  },
578
- "lighthouse-core/audits/bootup-time.js | columnScriptParse": {
566
+ "core/audits/bootup-time.js | columnScriptParse": {
579
567
  "message": "‏‮Script‬‏ ‏‮Parse‬‏"
580
568
  },
581
- "lighthouse-core/audits/bootup-time.js | columnTotal": {
569
+ "core/audits/bootup-time.js | columnTotal": {
582
570
  "message": "‏‮Total‬‏ ‏‮CPU‬‏ ‏‮Time‬‏"
583
571
  },
584
- "lighthouse-core/audits/bootup-time.js | description": {
572
+ "core/audits/bootup-time.js | description": {
585
573
  "message": "‏‮Consider‬‏ ‏‮reducing‬‏ ‏‮the‬‏ ‏‮time‬‏ ‏‮spent‬‏ ‏‮parsing‬‏, ‏‮compiling‬‏, ‏‮and‬‏ ‏‮executing‬‏ ‏‮JS‬‏. ‏‮You‬‏ ‏‮may‬‏ ‏‮find‬‏ ‏‮delivering‬‏ ‏‮smaller‬‏ ‏‮JS‬‏ ‏‮payloads‬‏ ‏‮helps‬‏ ‏‮with‬‏ ‏‮this‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/bootup-time/)."
586
574
  },
587
- "lighthouse-core/audits/bootup-time.js | failureTitle": {
575
+ "core/audits/bootup-time.js | failureTitle": {
588
576
  "message": "‏‮Reduce‬‏ ‏‮JavaScript‬‏ ‏‮execution‬‏ ‏‮time‬‏"
589
577
  },
590
- "lighthouse-core/audits/bootup-time.js | title": {
578
+ "core/audits/bootup-time.js | title": {
591
579
  "message": "‏‮JavaScript‬‏ ‏‮execution‬‏ ‏‮time‬‏"
592
580
  },
593
- "lighthouse-core/audits/byte-efficiency/duplicated-javascript.js | description": {
581
+ "core/audits/byte-efficiency/duplicated-javascript.js | description": {
594
582
  "message": "‏‮Remove‬‏ ‏‮large‬‏, ‏‮duplicate‬‏ ‏‮JavaScript‬‏ ‏‮modules‬‏ ‏‮from‬‏ ‏‮bundles‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮unnecessary‬‏ ‏‮bytes‬‏ ‏‮consumed‬‏ ‏‮by‬‏ ‏‮network‬‏ ‏‮activity‬‏. "
595
583
  },
596
- "lighthouse-core/audits/byte-efficiency/duplicated-javascript.js | title": {
584
+ "core/audits/byte-efficiency/duplicated-javascript.js | title": {
597
585
  "message": "‏‮Remove‬‏ ‏‮duplicate‬‏ ‏‮modules‬‏ ‏‮in‬‏ ‏‮JavaScript‬‏ ‏‮bundles‬‏"
598
586
  },
599
- "lighthouse-core/audits/byte-efficiency/efficient-animated-content.js | description": {
587
+ "core/audits/byte-efficiency/efficient-animated-content.js | description": {
600
588
  "message": "‏‮Large‬‏ ‏‮GIFs‬‏ ‏‮are‬‏ ‏‮inefficient‬‏ ‏‮for‬‏ ‏‮delivering‬‏ ‏‮animated‬‏ ‏‮content‬‏. ‏‮Consider‬‏ ‏‮using‬‏ ‏‮MPEG‬‏4/‏‮WebM‬‏ ‏‮videos‬‏ ‏‮for‬‏ ‏‮animations‬‏ ‏‮and‬‏ ‏‮PNG‬‏/‏‮WebP‬‏ ‏‮for‬‏ ‏‮static‬‏ ‏‮images‬‏ ‏‮instead‬‏ ‏‮of‬‏ ‏‮GIF‬‏ ‏‮to‬‏ ‏‮save‬‏ ‏‮network‬‏ ‏‮bytes‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/efficient-animated-content/)"
601
589
  },
602
- "lighthouse-core/audits/byte-efficiency/efficient-animated-content.js | title": {
590
+ "core/audits/byte-efficiency/efficient-animated-content.js | title": {
603
591
  "message": "‏‮Use‬‏ ‏‮video‬‏ ‏‮formats‬‏ ‏‮for‬‏ ‏‮animated‬‏ ‏‮content‬‏"
604
592
  },
605
- "lighthouse-core/audits/byte-efficiency/legacy-javascript.js | description": {
593
+ "core/audits/byte-efficiency/legacy-javascript.js | description": {
606
594
  "message": "‏‮Polyfills‬‏ ‏‮and‬‏ ‏‮transforms‬‏ ‏‮enable‬‏ ‏‮legacy‬‏ ‏‮browsers‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮new‬‏ ‏‮JavaScript‬‏ ‏‮features‬‏. ‏‮However‬‏, ‏‮many‬‏ ‏‮aren‬‏'‏‮t‬‏ ‏‮necessary‬‏ ‏‮for‬‏ ‏‮modern‬‏ ‏‮browsers‬‏. ‏‮For‬‏ ‏‮your‬‏ ‏‮bundled‬‏ ‏‮JavaScript‬‏, ‏‮adopt‬‏ ‏‮a‬‏ ‏‮modern‬‏ ‏‮script‬‏ ‏‮deployment‬‏ ‏‮strategy‬‏ ‏‮using‬‏ ‏‮module‬‏/‏‮nomodule‬‏ ‏‮feature‬‏ ‏‮detection‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮the‬‏ ‏‮amount‬‏ ‏‮of‬‏ ‏‮code‬‏ ‏‮shipped‬‏ ‏‮to‬‏ ‏‮modern‬‏ ‏‮browsers‬‏, ‏‮while‬‏ ‏‮retaining‬‏ ‏‮support‬‏ ‏‮for‬‏ ‏‮legacy‬‏ ‏‮browsers‬‏. [‏‮Learn‬‏ ‏‮More‬‏](https://philipwalton.com/articles/deploying-es2015-code-in-production-today/)"
607
595
  },
608
- "lighthouse-core/audits/byte-efficiency/legacy-javascript.js | title": {
596
+ "core/audits/byte-efficiency/legacy-javascript.js | title": {
609
597
  "message": "‏‮Avoid‬‏ ‏‮serving‬‏ ‏‮legacy‬‏ ‏‮JavaScript‬‏ ‏‮to‬‏ ‏‮modern‬‏ ‏‮browsers‬‏"
610
598
  },
611
- "lighthouse-core/audits/byte-efficiency/modern-image-formats.js | description": {
599
+ "core/audits/byte-efficiency/modern-image-formats.js | description": {
612
600
  "message": "‏‮Image‬‏ ‏‮formats‬‏ ‏‮like‬‏ ‏‮WebP‬‏ ‏‮and‬‏ ‏‮AVIF‬‏ ‏‮often‬‏ ‏‮provide‬‏ ‏‮better‬‏ ‏‮compression‬‏ ‏‮than‬‏ ‏‮PNG‬‏ ‏‮or‬‏ ‏‮JPEG‬‏, ‏‮which‬‏ ‏‮means‬‏ ‏‮faster‬‏ ‏‮downloads‬‏ ‏‮and‬‏ ‏‮less‬‏ ‏‮data‬‏ ‏‮consumption‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/uses-webp-images/)."
613
601
  },
614
- "lighthouse-core/audits/byte-efficiency/modern-image-formats.js | title": {
602
+ "core/audits/byte-efficiency/modern-image-formats.js | title": {
615
603
  "message": "‏‮Serve‬‏ ‏‮images‬‏ ‏‮in‬‏ ‏‮next‬‏-‏‮gen‬‏ ‏‮formats‬‏"
616
604
  },
617
- "lighthouse-core/audits/byte-efficiency/offscreen-images.js | description": {
605
+ "core/audits/byte-efficiency/offscreen-images.js | description": {
618
606
  "message": "‏‮Consider‬‏ ‏‮lazy‬‏-‏‮loading‬‏ ‏‮offscreen‬‏ ‏‮and‬‏ ‏‮hidden‬‏ ‏‮images‬‏ ‏‮after‬‏ ‏‮all‬‏ ‏‮critical‬‏ ‏‮resources‬‏ ‏‮have‬‏ ‏‮finished‬‏ ‏‮loading‬‏ ‏‮to‬‏ ‏‮lower‬‏ ‏‮time‬‏ ‏‮to‬‏ ‏‮interactive‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/offscreen-images/)."
619
607
  },
620
- "lighthouse-core/audits/byte-efficiency/offscreen-images.js | title": {
608
+ "core/audits/byte-efficiency/offscreen-images.js | title": {
621
609
  "message": "‏‮Defer‬‏ ‏‮offscreen‬‏ ‏‮images‬‏"
622
610
  },
623
- "lighthouse-core/audits/byte-efficiency/render-blocking-resources.js | description": {
611
+ "core/audits/byte-efficiency/render-blocking-resources.js | description": {
624
612
  "message": "‏‮Resources‬‏ ‏‮are‬‏ ‏‮blocking‬‏ ‏‮the‬‏ ‏‮first‬‏ ‏‮paint‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮page‬‏. ‏‮Consider‬‏ ‏‮delivering‬‏ ‏‮critical‬‏ ‏‮JS‬‏/‏‮CSS‬‏ ‏‮inline‬‏ ‏‮and‬‏ ‏‮deferring‬‏ ‏‮all‬‏ ‏‮non‬‏-‏‮critical‬‏ ‏‮JS‬‏/‏‮styles‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/render-blocking-resources/)."
625
613
  },
626
- "lighthouse-core/audits/byte-efficiency/render-blocking-resources.js | title": {
614
+ "core/audits/byte-efficiency/render-blocking-resources.js | title": {
627
615
  "message": "‏‮Eliminate‬‏ ‏‮render‬‏-‏‮blocking‬‏ ‏‮resources‬‏"
628
616
  },
629
- "lighthouse-core/audits/byte-efficiency/total-byte-weight.js | description": {
617
+ "core/audits/byte-efficiency/total-byte-weight.js | description": {
630
618
  "message": "‏‮Large‬‏ ‏‮network‬‏ ‏‮payloads‬‏ ‏‮cost‬‏ ‏‮users‬‏ ‏‮real‬‏ ‏‮money‬‏ ‏‮and‬‏ ‏‮are‬‏ ‏‮highly‬‏ ‏‮correlated‬‏ ‏‮with‬‏ ‏‮long‬‏ ‏‮load‬‏ ‏‮times‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/total-byte-weight/)."
631
619
  },
632
- "lighthouse-core/audits/byte-efficiency/total-byte-weight.js | displayValue": {
620
+ "core/audits/byte-efficiency/total-byte-weight.js | displayValue": {
633
621
  "message": "‏‮Total‬‏ ‏‮size‬‏ ‏‮was‬‏ {totalBytes, number, bytes} ‏‮KiB‬‏"
634
622
  },
635
- "lighthouse-core/audits/byte-efficiency/total-byte-weight.js | failureTitle": {
623
+ "core/audits/byte-efficiency/total-byte-weight.js | failureTitle": {
636
624
  "message": "‏‮Avoid‬‏ ‏‮enormous‬‏ ‏‮network‬‏ ‏‮payloads‬‏"
637
625
  },
638
- "lighthouse-core/audits/byte-efficiency/total-byte-weight.js | title": {
626
+ "core/audits/byte-efficiency/total-byte-weight.js | title": {
639
627
  "message": "‏‮Avoids‬‏ ‏‮enormous‬‏ ‏‮network‬‏ ‏‮payloads‬‏"
640
628
  },
641
- "lighthouse-core/audits/byte-efficiency/unminified-css.js | description": {
629
+ "core/audits/byte-efficiency/unminified-css.js | description": {
642
630
  "message": "‏‮Minifying‬‏ ‏‮CSS‬‏ ‏‮files‬‏ ‏‮can‬‏ ‏‮reduce‬‏ ‏‮network‬‏ ‏‮payload‬‏ ‏‮sizes‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/unminified-css/)."
643
631
  },
644
- "lighthouse-core/audits/byte-efficiency/unminified-css.js | title": {
632
+ "core/audits/byte-efficiency/unminified-css.js | title": {
645
633
  "message": "‏‮Minify‬‏ ‏‮CSS‬‏"
646
634
  },
647
- "lighthouse-core/audits/byte-efficiency/unminified-javascript.js | description": {
635
+ "core/audits/byte-efficiency/unminified-javascript.js | description": {
648
636
  "message": "‏‮Minifying‬‏ ‏‮JavaScript‬‏ ‏‮files‬‏ ‏‮can‬‏ ‏‮reduce‬‏ ‏‮payload‬‏ ‏‮sizes‬‏ ‏‮and‬‏ ‏‮script‬‏ ‏‮parse‬‏ ‏‮time‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/unminified-javascript/)."
649
637
  },
650
- "lighthouse-core/audits/byte-efficiency/unminified-javascript.js | title": {
638
+ "core/audits/byte-efficiency/unminified-javascript.js | title": {
651
639
  "message": "‏‮Minify‬‏ ‏‮JavaScript‬‏"
652
640
  },
653
- "lighthouse-core/audits/byte-efficiency/unused-css-rules.js | description": {
641
+ "core/audits/byte-efficiency/unused-css-rules.js | description": {
654
642
  "message": "‏‮Reduce‬‏ ‏‮unused‬‏ ‏‮rules‬‏ ‏‮from‬‏ ‏‮stylesheets‬‏ ‏‮and‬‏ ‏‮defer‬‏ ‏‮CSS‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮for‬‏ ‏‮above‬‏-‏‮the‬‏-‏‮fold‬‏ ‏‮content‬‏ ‏‮to‬‏ ‏‮decrease‬‏ ‏‮bytes‬‏ ‏‮consumed‬‏ ‏‮by‬‏ ‏‮network‬‏ ‏‮activity‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/unused-css-rules/)."
655
643
  },
656
- "lighthouse-core/audits/byte-efficiency/unused-css-rules.js | title": {
644
+ "core/audits/byte-efficiency/unused-css-rules.js | title": {
657
645
  "message": "‏‮Reduce‬‏ ‏‮unused‬‏ ‏‮CSS‬‏"
658
646
  },
659
- "lighthouse-core/audits/byte-efficiency/unused-javascript.js | description": {
647
+ "core/audits/byte-efficiency/unused-javascript.js | description": {
660
648
  "message": "‏‮Reduce‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏ ‏‮and‬‏ ‏‮defer‬‏ ‏‮loading‬‏ ‏‮scripts‬‏ ‏‮until‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮required‬‏ ‏‮to‬‏ ‏‮decrease‬‏ ‏‮bytes‬‏ ‏‮consumed‬‏ ‏‮by‬‏ ‏‮network‬‏ ‏‮activity‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/unused-javascript/)."
661
649
  },
662
- "lighthouse-core/audits/byte-efficiency/unused-javascript.js | title": {
650
+ "core/audits/byte-efficiency/unused-javascript.js | title": {
663
651
  "message": "‏‮Reduce‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏"
664
652
  },
665
- "lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js | description": {
653
+ "core/audits/byte-efficiency/uses-long-cache-ttl.js | description": {
666
654
  "message": "‏‮A‬‏ ‏‮long‬‏ ‏‮cache‬‏ ‏‮lifetime‬‏ ‏‮can‬‏ ‏‮speed‬‏ ‏‮up‬‏ ‏‮repeat‬‏ ‏‮visits‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/uses-long-cache-ttl/)."
667
655
  },
668
- "lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js | displayValue": {
656
+ "core/audits/byte-efficiency/uses-long-cache-ttl.js | displayValue": {
669
657
  "message": "{itemCount,plural, =1{1 ‏‮resource‬‏ ‏‮found‬‏}zero{# ‏‮resources‬‏ ‏‮found‬‏}two{# ‏‮resources‬‏ ‏‮found‬‏}few{# ‏‮resources‬‏ ‏‮found‬‏}many{# ‏‮resources‬‏ ‏‮found‬‏}other{# ‏‮resources‬‏ ‏‮found‬‏}}"
670
658
  },
671
- "lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js | failureTitle": {
659
+ "core/audits/byte-efficiency/uses-long-cache-ttl.js | failureTitle": {
672
660
  "message": "‏‮Serve‬‏ ‏‮static‬‏ ‏‮assets‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮efficient‬‏ ‏‮cache‬‏ ‏‮policy‬‏"
673
661
  },
674
- "lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js | title": {
662
+ "core/audits/byte-efficiency/uses-long-cache-ttl.js | title": {
675
663
  "message": "‏‮Uses‬‏ ‏‮efficient‬‏ ‏‮cache‬‏ ‏‮policy‬‏ ‏‮on‬‏ ‏‮static‬‏ ‏‮assets‬‏"
676
664
  },
677
- "lighthouse-core/audits/byte-efficiency/uses-optimized-images.js | description": {
665
+ "core/audits/byte-efficiency/uses-optimized-images.js | description": {
678
666
  "message": "‏‮Optimized‬‏ ‏‮images‬‏ ‏‮load‬‏ ‏‮faster‬‏ ‏‮and‬‏ ‏‮consume‬‏ ‏‮less‬‏ ‏‮cellular‬‏ ‏‮data‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/uses-optimized-images/)."
679
667
  },
680
- "lighthouse-core/audits/byte-efficiency/uses-optimized-images.js | title": {
668
+ "core/audits/byte-efficiency/uses-optimized-images.js | title": {
681
669
  "message": "‏‮Efficiently‬‏ ‏‮encode‬‏ ‏‮images‬‏"
682
670
  },
683
- "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnActualDimensions": {
671
+ "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnActualDimensions": {
684
672
  "message": "‏‮Actual‬‏ ‏‮dimensions‬‏"
685
673
  },
686
- "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnDisplayedDimensions": {
674
+ "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnDisplayedDimensions": {
687
675
  "message": "‏‮Displayed‬‏ ‏‮dimensions‬‏"
688
676
  },
689
- "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | failureTitle": {
677
+ "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | failureTitle": {
690
678
  "message": "‏‮Images‬‏ ‏‮were‬‏ ‏‮larger‬‏ ‏‮than‬‏ ‏‮their‬‏ ‏‮displayed‬‏ ‏‮size‬‏"
691
679
  },
692
- "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | title": {
680
+ "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | title": {
693
681
  "message": "‏‮Images‬‏ ‏‮were‬‏ ‏‮appropriate‬‏ ‏‮for‬‏ ‏‮their‬‏ ‏‮displayed‬‏ ‏‮size‬‏"
694
682
  },
695
- "lighthouse-core/audits/byte-efficiency/uses-responsive-images.js | description": {
683
+ "core/audits/byte-efficiency/uses-responsive-images.js | description": {
696
684
  "message": "‏‮Serve‬‏ ‏‮images‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮appropriately‬‏-‏‮sized‬‏ ‏‮to‬‏ ‏‮save‬‏ ‏‮cellular‬‏ ‏‮data‬‏ ‏‮and‬‏ ‏‮improve‬‏ ‏‮load‬‏ ‏‮time‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/uses-responsive-images/)."
697
685
  },
698
- "lighthouse-core/audits/byte-efficiency/uses-responsive-images.js | title": {
686
+ "core/audits/byte-efficiency/uses-responsive-images.js | title": {
699
687
  "message": "‏‮Properly‬‏ ‏‮size‬‏ ‏‮images‬‏"
700
688
  },
701
- "lighthouse-core/audits/byte-efficiency/uses-text-compression.js | description": {
689
+ "core/audits/byte-efficiency/uses-text-compression.js | description": {
702
690
  "message": "‏‮Text‬‏-‏‮based‬‏ ‏‮resources‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮served‬‏ ‏‮with‬‏ ‏‮compression‬‏ (‏‮gzip‬‏, ‏‮deflate‬‏ ‏‮or‬‏ ‏‮brotli‬‏) ‏‮to‬‏ ‏‮minimize‬‏ ‏‮total‬‏ ‏‮network‬‏ ‏‮bytes‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/uses-text-compression/)."
703
691
  },
704
- "lighthouse-core/audits/byte-efficiency/uses-text-compression.js | title": {
692
+ "core/audits/byte-efficiency/uses-text-compression.js | title": {
705
693
  "message": "‏‮Enable‬‏ ‏‮text‬‏ ‏‮compression‬‏"
706
694
  },
707
- "lighthouse-core/audits/content-width.js | description": {
695
+ "core/audits/content-width.js | description": {
708
696
  "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‬‏ ‏‮more‬‏](https://web.dev/content-width/)."
709
697
  },
710
- "lighthouse-core/audits/content-width.js | explanation": {
698
+ "core/audits/content-width.js | explanation": {
711
699
  "message": "‏‮The‬‏ ‏‮viewport‬‏ ‏‮size‬‏ ‏‮of‬‏ {innerWidth}‏‮px‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮match‬‏ ‏‮the‬‏ ‏‮window‬‏ ‏‮size‬‏ ‏‮of‬‏ {outerWidth}‏‮px‬‏."
712
700
  },
713
- "lighthouse-core/audits/content-width.js | failureTitle": {
701
+ "core/audits/content-width.js | failureTitle": {
714
702
  "message": "‏‮Content‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮sized‬‏ ‏‮correctly‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮viewport‬‏"
715
703
  },
716
- "lighthouse-core/audits/content-width.js | title": {
704
+ "core/audits/content-width.js | title": {
717
705
  "message": "‏‮Content‬‏ ‏‮is‬‏ ‏‮sized‬‏ ‏‮correctly‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮viewport‬‏"
718
706
  },
719
- "lighthouse-core/audits/critical-request-chains.js | description": {
707
+ "core/audits/critical-request-chains.js | description": {
720
708
  "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‬‏ ‏‮more‬‏](https://web.dev/critical-request-chains/)."
721
709
  },
722
- "lighthouse-core/audits/critical-request-chains.js | displayValue": {
710
+ "core/audits/critical-request-chains.js | displayValue": {
723
711
  "message": "{itemCount,plural, =1{1 ‏‮chain‬‏ ‏‮found‬‏}zero{# ‏‮chains‬‏ ‏‮found‬‏}two{# ‏‮chains‬‏ ‏‮found‬‏}few{# ‏‮chains‬‏ ‏‮found‬‏}many{# ‏‮chains‬‏ ‏‮found‬‏}other{# ‏‮chains‬‏ ‏‮found‬‏}}"
724
712
  },
725
- "lighthouse-core/audits/critical-request-chains.js | title": {
713
+ "core/audits/critical-request-chains.js | title": {
726
714
  "message": "‏‮Avoid‬‏ ‏‮chaining‬‏ ‏‮critical‬‏ ‏‮requests‬‏"
727
715
  },
728
- "lighthouse-core/audits/csp-xss.js | columnDirective": {
716
+ "core/audits/csp-xss.js | columnDirective": {
729
717
  "message": "‏‮Directive‬‏"
730
718
  },
731
- "lighthouse-core/audits/csp-xss.js | columnSeverity": {
719
+ "core/audits/csp-xss.js | columnSeverity": {
732
720
  "message": "‏‮Severity‬‏"
733
721
  },
734
- "lighthouse-core/audits/csp-xss.js | description": {
722
+ "core/audits/csp-xss.js | description": {
735
723
  "message": "‏‮A‬‏ ‏‮strong‬‏ ‏‮Content‬‏ ‏‮Security‬‏ ‏‮Policy‬‏ (‏‮CSP‬‏) ‏‮significantly‬‏ ‏‮reduces‬‏ ‏‮the‬‏ ‏‮risk‬‏ ‏‮of‬‏ ‏‮cross‬‏-‏‮site‬‏ ‏‮scripting‬‏ (‏‮XSS‬‏) ‏‮attacks‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/csp-xss/)"
736
724
  },
737
- "lighthouse-core/audits/csp-xss.js | itemSeveritySyntax": {
725
+ "core/audits/csp-xss.js | itemSeveritySyntax": {
738
726
  "message": "‏‮Syntax‬‏"
739
727
  },
740
- "lighthouse-core/audits/csp-xss.js | metaTagMessage": {
728
+ "core/audits/csp-xss.js | metaTagMessage": {
741
729
  "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮contains‬‏ ‏‮a‬‏ ‏‮CSP‬‏ ‏‮defined‬‏ ‏‮in‬‏ ‏‮a‬‏ <meta> ‏‮tag‬‏. ‏‮Consider‬‏ ‏‮defining‬‏ ‏‮the‬‏ ‏‮CSP‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮HTTP‬‏ ‏‮header‬‏ ‏‮if‬‏ ‏‮you‬‏ ‏‮can‬‏."
742
730
  },
743
- "lighthouse-core/audits/csp-xss.js | noCsp": {
731
+ "core/audits/csp-xss.js | noCsp": {
744
732
  "message": "‏‮No‬‏ ‏‮CSP‬‏ ‏‮found‬‏ ‏‮in‬‏ ‏‮enforcement‬‏ ‏‮mode‬‏"
745
733
  },
746
- "lighthouse-core/audits/csp-xss.js | title": {
734
+ "core/audits/csp-xss.js | title": {
747
735
  "message": "‏‮Ensure‬‏ ‏‮CSP‬‏ ‏‮is‬‏ ‏‮effective‬‏ ‏‮against‬‏ ‏‮XSS‬‏ ‏‮attacks‬‏"
748
736
  },
749
- "lighthouse-core/audits/deprecations.js | columnDeprecate": {
737
+ "core/audits/deprecations.js | columnDeprecate": {
750
738
  "message": "‏‮Deprecation‬‏ / ‏‮Warning‬‏"
751
739
  },
752
- "lighthouse-core/audits/deprecations.js | columnLine": {
740
+ "core/audits/deprecations.js | columnLine": {
753
741
  "message": "‏‮Line‬‏"
754
742
  },
755
- "lighthouse-core/audits/deprecations.js | description": {
743
+ "core/audits/deprecations.js | description": {
756
744
  "message": "‏‮Deprecated‬‏ ‏‮APIs‬‏ ‏‮will‬‏ ‏‮eventually‬‏ ‏‮be‬‏ ‏‮removed‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮browser‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/deprecations/)."
757
745
  },
758
- "lighthouse-core/audits/deprecations.js | displayValue": {
746
+ "core/audits/deprecations.js | displayValue": {
759
747
  "message": "{itemCount,plural, =1{1 ‏‮warning‬‏ ‏‮found‬‏}zero{# ‏‮warnings‬‏ ‏‮found‬‏}two{# ‏‮warnings‬‏ ‏‮found‬‏}few{# ‏‮warnings‬‏ ‏‮found‬‏}many{# ‏‮warnings‬‏ ‏‮found‬‏}other{# ‏‮warnings‬‏ ‏‮found‬‏}}"
760
748
  },
761
- "lighthouse-core/audits/deprecations.js | failureTitle": {
749
+ "core/audits/deprecations.js | failureTitle": {
762
750
  "message": "‏‮Uses‬‏ ‏‮deprecated‬‏ ‏‮APIs‬‏"
763
751
  },
764
- "lighthouse-core/audits/deprecations.js | title": {
752
+ "core/audits/deprecations.js | title": {
765
753
  "message": "‏‮Avoids‬‏ ‏‮deprecated‬‏ ‏‮APIs‬‏"
766
754
  },
767
- "lighthouse-core/audits/dobetterweb/charset.js | description": {
755
+ "core/audits/dobetterweb/charset.js | description": {
768
756
  "message": "‏‮A‬‏ ‏‮character‬‏ ‏‮encoding‬‏ ‏‮declaration‬‏ ‏‮is‬‏ ‏‮required‬‏. ‏‮It‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮done‬‏ ‏‮with‬‏ ‏‮a‬‏ `<meta>` ‏‮tag‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮first‬‏ 1024 ‏‮bytes‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮HTML‬‏ ‏‮or‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮Content‬‏-‏‮Type‬‏ ‏‮HTTP‬‏ ‏‮response‬‏ ‏‮header‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/charset/)."
769
757
  },
770
- "lighthouse-core/audits/dobetterweb/charset.js | failureTitle": {
758
+ "core/audits/dobetterweb/charset.js | failureTitle": {
771
759
  "message": "‏‮Charset‬‏ ‏‮declaration‬‏ ‏‮is‬‏ ‏‮missing‬‏ ‏‮or‬‏ ‏‮occurs‬‏ ‏‮too‬‏ ‏‮late‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮HTML‬‏"
772
760
  },
773
- "lighthouse-core/audits/dobetterweb/charset.js | title": {
761
+ "core/audits/dobetterweb/charset.js | title": {
774
762
  "message": "‏‮Properly‬‏ ‏‮defines‬‏ ‏‮charset‬‏"
775
763
  },
776
- "lighthouse-core/audits/dobetterweb/doctype.js | description": {
764
+ "core/audits/dobetterweb/doctype.js | description": {
777
765
  "message": "‏‮Specifying‬‏ ‏‮a‬‏ ‏‮doctype‬‏ ‏‮prevents‬‏ ‏‮the‬‏ ‏‮browser‬‏ ‏‮from‬‏ ‏‮switching‬‏ ‏‮to‬‏ ‏‮quirks‬‏-‏‮mode‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/doctype/)."
778
766
  },
779
- "lighthouse-core/audits/dobetterweb/doctype.js | explanationBadDoctype": {
767
+ "core/audits/dobetterweb/doctype.js | explanationBadDoctype": {
780
768
  "message": "‏‮Doctype‬‏ ‏‮name‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮the‬‏ ‏‮lowercase‬‏ ‏‮string‬‏ `html`"
781
769
  },
782
- "lighthouse-core/audits/dobetterweb/doctype.js | explanationNoDoctype": {
770
+ "core/audits/dobetterweb/doctype.js | explanationNoDoctype": {
783
771
  "message": "‏‮Document‬‏ ‏‮must‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮doctype‬‏"
784
772
  },
785
- "lighthouse-core/audits/dobetterweb/doctype.js | explanationPublicId": {
773
+ "core/audits/dobetterweb/doctype.js | explanationPublicId": {
786
774
  "message": "‏‮Expected‬‏ ‏‮publicId‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮an‬‏ ‏‮empty‬‏ ‏‮string‬‏"
787
775
  },
788
- "lighthouse-core/audits/dobetterweb/doctype.js | explanationSystemId": {
776
+ "core/audits/dobetterweb/doctype.js | explanationSystemId": {
789
777
  "message": "‏‮Expected‬‏ ‏‮systemId‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮an‬‏ ‏‮empty‬‏ ‏‮string‬‏"
790
778
  },
791
- "lighthouse-core/audits/dobetterweb/doctype.js | failureTitle": {
779
+ "core/audits/dobetterweb/doctype.js | failureTitle": {
792
780
  "message": "‏‮Page‬‏ ‏‮lacks‬‏ ‏‮the‬‏ ‏‮HTML‬‏ ‏‮doctype‬‏, ‏‮thus‬‏ ‏‮triggering‬‏ ‏‮quirks‬‏-‏‮mode‬‏"
793
781
  },
794
- "lighthouse-core/audits/dobetterweb/doctype.js | title": {
782
+ "core/audits/dobetterweb/doctype.js | title": {
795
783
  "message": "‏‮Page‬‏ ‏‮has‬‏ ‏‮the‬‏ ‏‮HTML‬‏ ‏‮doctype‬‏"
796
784
  },
797
- "lighthouse-core/audits/dobetterweb/dom-size.js | columnStatistic": {
785
+ "core/audits/dobetterweb/dom-size.js | columnStatistic": {
798
786
  "message": "‏‮Statistic‬‏"
799
787
  },
800
- "lighthouse-core/audits/dobetterweb/dom-size.js | columnValue": {
788
+ "core/audits/dobetterweb/dom-size.js | columnValue": {
801
789
  "message": "‏‮Value‬‏"
802
790
  },
803
- "lighthouse-core/audits/dobetterweb/dom-size.js | description": {
791
+ "core/audits/dobetterweb/dom-size.js | description": {
804
792
  "message": "‏‮A‬‏ ‏‮large‬‏ ‏‮DOM‬‏ ‏‮will‬‏ ‏‮increase‬‏ ‏‮memory‬‏ ‏‮usage‬‏, ‏‮cause‬‏ ‏‮longer‬‏ [‏‮style‬‏ ‏‮calculations‬‏](https://developers.google.com/web/fundamentals/performance/rendering/reduce-the-scope-and-complexity-of-style-calculations), ‏‮and‬‏ ‏‮produce‬‏ ‏‮costly‬‏ [‏‮layout‬‏ ‏‮reflows‬‏](https://developers.google.com/speed/articles/reflow). [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/dom-size/)."
805
793
  },
806
- "lighthouse-core/audits/dobetterweb/dom-size.js | displayValue": {
794
+ "core/audits/dobetterweb/dom-size.js | displayValue": {
807
795
  "message": "{itemCount,plural, =1{1 ‏‮element‬‏}zero{# ‏‮elements‬‏}two{# ‏‮elements‬‏}few{# ‏‮elements‬‏}many{# ‏‮elements‬‏}other{# ‏‮elements‬‏}}"
808
796
  },
809
- "lighthouse-core/audits/dobetterweb/dom-size.js | failureTitle": {
797
+ "core/audits/dobetterweb/dom-size.js | failureTitle": {
810
798
  "message": "‏‮Avoid‬‏ ‏‮an‬‏ ‏‮excessive‬‏ ‏‮DOM‬‏ ‏‮size‬‏"
811
799
  },
812
- "lighthouse-core/audits/dobetterweb/dom-size.js | statisticDOMDepth": {
800
+ "core/audits/dobetterweb/dom-size.js | statisticDOMDepth": {
813
801
  "message": "‏‮Maximum‬‏ ‏‮DOM‬‏ ‏‮Depth‬‏"
814
802
  },
815
- "lighthouse-core/audits/dobetterweb/dom-size.js | statisticDOMElements": {
803
+ "core/audits/dobetterweb/dom-size.js | statisticDOMElements": {
816
804
  "message": "‏‮Total‬‏ ‏‮DOM‬‏ ‏‮Elements‬‏"
817
805
  },
818
- "lighthouse-core/audits/dobetterweb/dom-size.js | statisticDOMWidth": {
806
+ "core/audits/dobetterweb/dom-size.js | statisticDOMWidth": {
819
807
  "message": "‏‮Maximum‬‏ ‏‮Child‬‏ ‏‮Elements‬‏"
820
808
  },
821
- "lighthouse-core/audits/dobetterweb/dom-size.js | title": {
809
+ "core/audits/dobetterweb/dom-size.js | title": {
822
810
  "message": "‏‮Avoids‬‏ ‏‮an‬‏ ‏‮excessive‬‏ ‏‮DOM‬‏ ‏‮size‬‏"
823
811
  },
824
- "lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
812
+ "core/audits/dobetterweb/geolocation-on-start.js | description": {
825
813
  "message": "‏‮Users‬‏ ‏‮are‬‏ ‏‮mistrustful‬‏ ‏‮of‬‏ ‏‮or‬‏ ‏‮confused‬‏ ‏‮by‬‏ ‏‮sites‬‏ ‏‮that‬‏ ‏‮request‬‏ ‏‮their‬‏ ‏‮location‬‏ ‏‮without‬‏ ‏‮context‬‏. ‏‮Consider‬‏ ‏‮tying‬‏ ‏‮the‬‏ ‏‮request‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮user‬‏ ‏‮action‬‏ ‏‮instead‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/geolocation-on-start/)."
826
814
  },
827
- "lighthouse-core/audits/dobetterweb/geolocation-on-start.js | failureTitle": {
815
+ "core/audits/dobetterweb/geolocation-on-start.js | failureTitle": {
828
816
  "message": "‏‮Requests‬‏ ‏‮the‬‏ ‏‮geolocation‬‏ ‏‮permission‬‏ ‏‮on‬‏ ‏‮page‬‏ ‏‮load‬‏"
829
817
  },
830
- "lighthouse-core/audits/dobetterweb/geolocation-on-start.js | title": {
818
+ "core/audits/dobetterweb/geolocation-on-start.js | title": {
831
819
  "message": "‏‮Avoids‬‏ ‏‮requesting‬‏ ‏‮the‬‏ ‏‮geolocation‬‏ ‏‮permission‬‏ ‏‮on‬‏ ‏‮page‬‏ ‏‮load‬‏"
832
820
  },
833
- "lighthouse-core/audits/dobetterweb/inspector-issues.js | columnIssueType": {
821
+ "core/audits/dobetterweb/inspector-issues.js | columnIssueType": {
834
822
  "message": "‏‮Issue‬‏ ‏‮type‬‏"
835
823
  },
836
- "lighthouse-core/audits/dobetterweb/inspector-issues.js | description": {
824
+ "core/audits/dobetterweb/inspector-issues.js | description": {
837
825
  "message": "‏‮Issues‬‏ ‏‮logged‬‏ ‏‮to‬‏ ‏‮the‬‏ `Issues` ‏‮panel‬‏ ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮Devtools‬‏ ‏‮indicate‬‏ ‏‮unresolved‬‏ ‏‮problems‬‏. ‏‮They‬‏ ‏‮can‬‏ ‏‮come‬‏ ‏‮from‬‏ ‏‮network‬‏ ‏‮request‬‏ ‏‮failures‬‏, ‏‮insufficient‬‏ ‏‮security‬‏ ‏‮controls‬‏, ‏‮and‬‏ ‏‮other‬‏ ‏‮browser‬‏ ‏‮concerns‬‏. ‏‮Open‬‏ ‏‮up‬‏ ‏‮the‬‏ ‏‮Issues‬‏ ‏‮panel‬‏ ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏ ‏‮for‬‏ ‏‮more‬‏ ‏‮details‬‏ ‏‮on‬‏ ‏‮each‬‏ ‏‮issue‬‏."
838
826
  },
839
- "lighthouse-core/audits/dobetterweb/inspector-issues.js | failureTitle": {
827
+ "core/audits/dobetterweb/inspector-issues.js | failureTitle": {
840
828
  "message": "‏‮Issues‬‏ ‏‮were‬‏ ‏‮logged‬‏ ‏‮in‬‏ ‏‮the‬‏ `Issues` ‏‮panel‬‏ ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮Devtools‬‏"
841
829
  },
842
- "lighthouse-core/audits/dobetterweb/inspector-issues.js | issueTypeBlockedByResponse": {
830
+ "core/audits/dobetterweb/inspector-issues.js | issueTypeBlockedByResponse": {
843
831
  "message": "‏‮Blocked‬‏ ‏‮by‬‏ ‏‮cross‬‏-‏‮origin‬‏ ‏‮policy‬‏"
844
832
  },
845
- "lighthouse-core/audits/dobetterweb/inspector-issues.js | issueTypeHeavyAds": {
833
+ "core/audits/dobetterweb/inspector-issues.js | issueTypeHeavyAds": {
846
834
  "message": "‏‮Heavy‬‏ ‏‮resource‬‏ ‏‮usage‬‏ ‏‮by‬‏ ‏‮ads‬‏"
847
835
  },
848
- "lighthouse-core/audits/dobetterweb/inspector-issues.js | title": {
836
+ "core/audits/dobetterweb/inspector-issues.js | title": {
849
837
  "message": "‏‮No‬‏ ‏‮issues‬‏ ‏‮in‬‏ ‏‮the‬‏ `Issues` ‏‮panel‬‏ ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮Devtools‬‏"
850
838
  },
851
- "lighthouse-core/audits/dobetterweb/js-libraries.js | columnVersion": {
839
+ "core/audits/dobetterweb/js-libraries.js | columnVersion": {
852
840
  "message": "‏‮Version‬‏"
853
841
  },
854
- "lighthouse-core/audits/dobetterweb/js-libraries.js | description": {
842
+ "core/audits/dobetterweb/js-libraries.js | description": {
855
843
  "message": "‏‮All‬‏ ‏‮front‬‏-‏‮end‬‏ ‏‮JavaScript‬‏ ‏‮libraries‬‏ ‏‮detected‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/js-libraries/)."
856
844
  },
857
- "lighthouse-core/audits/dobetterweb/js-libraries.js | title": {
845
+ "core/audits/dobetterweb/js-libraries.js | title": {
858
846
  "message": "‏‮Detected‬‏ ‏‮JavaScript‬‏ ‏‮libraries‬‏"
859
847
  },
860
- "lighthouse-core/audits/dobetterweb/no-document-write.js | description": {
848
+ "core/audits/dobetterweb/no-document-write.js | description": {
861
849
  "message": "‏‮For‬‏ ‏‮users‬‏ ‏‮on‬‏ ‏‮slow‬‏ ‏‮connections‬‏, ‏‮external‬‏ ‏‮scripts‬‏ ‏‮dynamically‬‏ ‏‮injected‬‏ ‏‮via‬‏ `document.write()` ‏‮can‬‏ ‏‮delay‬‏ ‏‮page‬‏ ‏‮load‬‏ ‏‮by‬‏ ‏‮tens‬‏ ‏‮of‬‏ ‏‮seconds‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/no-document-write/)."
862
850
  },
863
- "lighthouse-core/audits/dobetterweb/no-document-write.js | failureTitle": {
851
+ "core/audits/dobetterweb/no-document-write.js | failureTitle": {
864
852
  "message": "‏‮Avoid‬‏ `document.write()`"
865
853
  },
866
- "lighthouse-core/audits/dobetterweb/no-document-write.js | title": {
854
+ "core/audits/dobetterweb/no-document-write.js | title": {
867
855
  "message": "‏‮Avoids‬‏ `document.write()`"
868
856
  },
869
- "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | columnSeverity": {
857
+ "core/audits/dobetterweb/no-vulnerable-libraries.js | columnSeverity": {
870
858
  "message": "‏‮Highest‬‏ ‏‮Severity‬‏"
871
859
  },
872
- "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | columnVersion": {
860
+ "core/audits/dobetterweb/no-vulnerable-libraries.js | columnVersion": {
873
861
  "message": "‏‮Library‬‏ ‏‮Version‬‏"
874
862
  },
875
- "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | columnVuln": {
863
+ "core/audits/dobetterweb/no-vulnerable-libraries.js | columnVuln": {
876
864
  "message": "‏‮Vulnerability‬‏ ‏‮Count‬‏"
877
865
  },
878
- "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | description": {
866
+ "core/audits/dobetterweb/no-vulnerable-libraries.js | description": {
879
867
  "message": "‏‮Some‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮scripts‬‏ ‏‮may‬‏ ‏‮contain‬‏ ‏‮known‬‏ ‏‮security‬‏ ‏‮vulnerabilities‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮easily‬‏ ‏‮identified‬‏ ‏‮and‬‏ ‏‮exploited‬‏ ‏‮by‬‏ ‏‮attackers‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/no-vulnerable-libraries/)."
880
868
  },
881
- "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | displayValue": {
869
+ "core/audits/dobetterweb/no-vulnerable-libraries.js | displayValue": {
882
870
  "message": "{itemCount,plural, =1{1 ‏‮vulnerability‬‏ ‏‮detected‬‏}zero{# ‏‮vulnerabilities‬‏ ‏‮detected‬‏}two{# ‏‮vulnerabilities‬‏ ‏‮detected‬‏}few{# ‏‮vulnerabilities‬‏ ‏‮detected‬‏}many{# ‏‮vulnerabilities‬‏ ‏‮detected‬‏}other{# ‏‮vulnerabilities‬‏ ‏‮detected‬‏}}"
883
871
  },
884
- "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | failureTitle": {
872
+ "core/audits/dobetterweb/no-vulnerable-libraries.js | failureTitle": {
885
873
  "message": "‏‮Includes‬‏ ‏‮front‬‏-‏‮end‬‏ ‏‮JavaScript‬‏ ‏‮libraries‬‏ ‏‮with‬‏ ‏‮known‬‏ ‏‮security‬‏ ‏‮vulnerabilities‬‏"
886
874
  },
887
- "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | title": {
875
+ "core/audits/dobetterweb/no-vulnerable-libraries.js | title": {
888
876
  "message": "‏‮Avoids‬‏ ‏‮front‬‏-‏‮end‬‏ ‏‮JavaScript‬‏ ‏‮libraries‬‏ ‏‮with‬‏ ‏‮known‬‏ ‏‮security‬‏ ‏‮vulnerabilities‬‏"
889
877
  },
890
- "lighthouse-core/audits/dobetterweb/notification-on-start.js | description": {
878
+ "core/audits/dobetterweb/notification-on-start.js | description": {
891
879
  "message": "‏‮Users‬‏ ‏‮are‬‏ ‏‮mistrustful‬‏ ‏‮of‬‏ ‏‮or‬‏ ‏‮confused‬‏ ‏‮by‬‏ ‏‮sites‬‏ ‏‮that‬‏ ‏‮request‬‏ ‏‮to‬‏ ‏‮send‬‏ ‏‮notifications‬‏ ‏‮without‬‏ ‏‮context‬‏. ‏‮Consider‬‏ ‏‮tying‬‏ ‏‮the‬‏ ‏‮request‬‏ ‏‮to‬‏ ‏‮user‬‏ ‏‮gestures‬‏ ‏‮instead‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/notification-on-start/)."
892
880
  },
893
- "lighthouse-core/audits/dobetterweb/notification-on-start.js | failureTitle": {
881
+ "core/audits/dobetterweb/notification-on-start.js | failureTitle": {
894
882
  "message": "‏‮Requests‬‏ ‏‮the‬‏ ‏‮notification‬‏ ‏‮permission‬‏ ‏‮on‬‏ ‏‮page‬‏ ‏‮load‬‏"
895
883
  },
896
- "lighthouse-core/audits/dobetterweb/notification-on-start.js | title": {
884
+ "core/audits/dobetterweb/notification-on-start.js | title": {
897
885
  "message": "‏‮Avoids‬‏ ‏‮requesting‬‏ ‏‮the‬‏ ‏‮notification‬‏ ‏‮permission‬‏ ‏‮on‬‏ ‏‮page‬‏ ‏‮load‬‏"
898
886
  },
899
- "lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | description": {
887
+ "core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | description": {
900
888
  "message": "‏‮Preventing‬‏ ‏‮password‬‏ ‏‮pasting‬‏ ‏‮undermines‬‏ ‏‮good‬‏ ‏‮security‬‏ ‏‮policy‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/password-inputs-can-be-pasted-into/)."
901
889
  },
902
- "lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | failureTitle": {
890
+ "core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | failureTitle": {
903
891
  "message": "‏‮Prevents‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮paste‬‏ ‏‮into‬‏ ‏‮password‬‏ ‏‮fields‬‏"
904
892
  },
905
- "lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | title": {
893
+ "core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | title": {
906
894
  "message": "‏‮Allows‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮paste‬‏ ‏‮into‬‏ ‏‮password‬‏ ‏‮fields‬‏"
907
895
  },
908
- "lighthouse-core/audits/dobetterweb/uses-http2.js | columnProtocol": {
896
+ "core/audits/dobetterweb/uses-http2.js | columnProtocol": {
909
897
  "message": "‏‮Protocol‬‏"
910
898
  },
911
- "lighthouse-core/audits/dobetterweb/uses-http2.js | description": {
899
+ "core/audits/dobetterweb/uses-http2.js | description": {
912
900
  "message": "‏‮HTTP‬‏/2 ‏‮offers‬‏ ‏‮many‬‏ ‏‮benefits‬‏ ‏‮over‬‏ ‏‮HTTP‬‏/1.1, ‏‮including‬‏ ‏‮binary‬‏ ‏‮headers‬‏ ‏‮and‬‏ ‏‮multiplexing‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/uses-http2/)."
913
901
  },
914
- "lighthouse-core/audits/dobetterweb/uses-http2.js | displayValue": {
902
+ "core/audits/dobetterweb/uses-http2.js | displayValue": {
915
903
  "message": "{itemCount,plural, =1{1 ‏‮request‬‏ ‏‮not‬‏ ‏‮served‬‏ ‏‮via‬‏ ‏‮HTTP‬‏/2}zero{# ‏‮requests‬‏ ‏‮not‬‏ ‏‮served‬‏ ‏‮via‬‏ ‏‮HTTP‬‏/2}two{# ‏‮requests‬‏ ‏‮not‬‏ ‏‮served‬‏ ‏‮via‬‏ ‏‮HTTP‬‏/2}few{# ‏‮requests‬‏ ‏‮not‬‏ ‏‮served‬‏ ‏‮via‬‏ ‏‮HTTP‬‏/2}many{# ‏‮requests‬‏ ‏‮not‬‏ ‏‮served‬‏ ‏‮via‬‏ ‏‮HTTP‬‏/2}other{# ‏‮requests‬‏ ‏‮not‬‏ ‏‮served‬‏ ‏‮via‬‏ ‏‮HTTP‬‏/2}}"
916
904
  },
917
- "lighthouse-core/audits/dobetterweb/uses-http2.js | title": {
905
+ "core/audits/dobetterweb/uses-http2.js | title": {
918
906
  "message": "‏‮Use‬‏ ‏‮HTTP‬‏/2"
919
907
  },
920
- "lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js | description": {
908
+ "core/audits/dobetterweb/uses-passive-event-listeners.js | description": {
921
909
  "message": "‏‮Consider‬‏ ‏‮marking‬‏ ‏‮your‬‏ ‏‮touch‬‏ ‏‮and‬‏ ‏‮wheel‬‏ ‏‮event‬‏ ‏‮listeners‬‏ ‏‮as‬‏ `passive` ‏‮to‬‏ ‏‮improve‬‏ ‏‮your‬‏ ‏‮page‬‏'‏‮s‬‏ ‏‮scroll‬‏ ‏‮performance‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/uses-passive-event-listeners/)."
922
910
  },
923
- "lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js | failureTitle": {
911
+ "core/audits/dobetterweb/uses-passive-event-listeners.js | failureTitle": {
924
912
  "message": "‏‮Does‬‏ ‏‮not‬‏ ‏‮use‬‏ ‏‮passive‬‏ ‏‮listeners‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮scrolling‬‏ ‏‮performance‬‏"
925
913
  },
926
- "lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js | title": {
914
+ "core/audits/dobetterweb/uses-passive-event-listeners.js | title": {
927
915
  "message": "‏‮Uses‬‏ ‏‮passive‬‏ ‏‮listeners‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮scrolling‬‏ ‏‮performance‬‏"
928
916
  },
929
- "lighthouse-core/audits/errors-in-console.js | description": {
917
+ "core/audits/errors-in-console.js | description": {
930
918
  "message": "‏‮Errors‬‏ ‏‮logged‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮console‬‏ ‏‮indicate‬‏ ‏‮unresolved‬‏ ‏‮problems‬‏. ‏‮They‬‏ ‏‮can‬‏ ‏‮come‬‏ ‏‮from‬‏ ‏‮network‬‏ ‏‮request‬‏ ‏‮failures‬‏ ‏‮and‬‏ ‏‮other‬‏ ‏‮browser‬‏ ‏‮concerns‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/errors-in-console/)"
931
919
  },
932
- "lighthouse-core/audits/errors-in-console.js | failureTitle": {
920
+ "core/audits/errors-in-console.js | failureTitle": {
933
921
  "message": "‏‮Browser‬‏ ‏‮errors‬‏ ‏‮were‬‏ ‏‮logged‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮console‬‏"
934
922
  },
935
- "lighthouse-core/audits/errors-in-console.js | title": {
923
+ "core/audits/errors-in-console.js | title": {
936
924
  "message": "‏‮No‬‏ ‏‮browser‬‏ ‏‮errors‬‏ ‏‮logged‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮console‬‏"
937
925
  },
938
- "lighthouse-core/audits/font-display.js | description": {
926
+ "core/audits/font-display.js | description": {
939
927
  "message": "‏‮Leverage‬‏ ‏‮the‬‏ ‏‮font‬‏-‏‮display‬‏ ‏‮CSS‬‏ ‏‮feature‬‏ ‏‮to‬‏ ‏‮ensure‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮user‬‏-‏‮visible‬‏ ‏‮while‬‏ ‏‮webfonts‬‏ ‏‮are‬‏ ‏‮loading‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/font-display/)."
940
928
  },
941
- "lighthouse-core/audits/font-display.js | failureTitle": {
929
+ "core/audits/font-display.js | failureTitle": {
942
930
  "message": "‏‮Ensure‬‏ ‏‮text‬‏ ‏‮remains‬‏ ‏‮visible‬‏ ‏‮during‬‏ ‏‮webfont‬‏ ‏‮load‬‏"
943
931
  },
944
- "lighthouse-core/audits/font-display.js | title": {
932
+ "core/audits/font-display.js | title": {
945
933
  "message": "‏‮All‬‏ ‏‮text‬‏ ‏‮remains‬‏ ‏‮visible‬‏ ‏‮during‬‏ ‏‮webfont‬‏ ‏‮loads‬‏"
946
934
  },
947
- "lighthouse-core/audits/font-display.js | undeclaredFontOriginWarning": {
935
+ "core/audits/font-display.js | undeclaredFontOriginWarning": {
948
936
  "message": "{fontCountForOrigin,plural, =1{‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮automatically‬‏ ‏‮check‬‏ ‏‮the‬‏ `font-display` ‏‮value‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮origin‬‏ {fontOrigin}.}zero{‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮automatically‬‏ ‏‮check‬‏ ‏‮the‬‏ `font-display` ‏‮values‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮origin‬‏ {fontOrigin}.}two{‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮automatically‬‏ ‏‮check‬‏ ‏‮the‬‏ `font-display` ‏‮values‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮origin‬‏ {fontOrigin}.}few{‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮automatically‬‏ ‏‮check‬‏ ‏‮the‬‏ `font-display` ‏‮values‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮origin‬‏ {fontOrigin}.}many{‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮automatically‬‏ ‏‮check‬‏ ‏‮the‬‏ `font-display` ‏‮values‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮origin‬‏ {fontOrigin}.}other{‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮automatically‬‏ ‏‮check‬‏ ‏‮the‬‏ `font-display` ‏‮values‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮origin‬‏ {fontOrigin}.}}"
949
937
  },
950
- "lighthouse-core/audits/image-aspect-ratio.js | columnActual": {
938
+ "core/audits/image-aspect-ratio.js | columnActual": {
951
939
  "message": "‏‮Aspect‬‏ ‏‮Ratio‬‏ (‏‮Actual‬‏)"
952
940
  },
953
- "lighthouse-core/audits/image-aspect-ratio.js | columnDisplayed": {
941
+ "core/audits/image-aspect-ratio.js | columnDisplayed": {
954
942
  "message": "‏‮Aspect‬‏ ‏‮Ratio‬‏ (‏‮Displayed‬‏)"
955
943
  },
956
- "lighthouse-core/audits/image-aspect-ratio.js | description": {
944
+ "core/audits/image-aspect-ratio.js | description": {
957
945
  "message": "‏‮Image‬‏ ‏‮display‬‏ ‏‮dimensions‬‏ ‏‮should‬‏ ‏‮match‬‏ ‏‮natural‬‏ ‏‮aspect‬‏ ‏‮ratio‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/image-aspect-ratio/)."
958
946
  },
959
- "lighthouse-core/audits/image-aspect-ratio.js | failureTitle": {
947
+ "core/audits/image-aspect-ratio.js | failureTitle": {
960
948
  "message": "‏‮Displays‬‏ ‏‮images‬‏ ‏‮with‬‏ ‏‮incorrect‬‏ ‏‮aspect‬‏ ‏‮ratio‬‏"
961
949
  },
962
- "lighthouse-core/audits/image-aspect-ratio.js | title": {
950
+ "core/audits/image-aspect-ratio.js | title": {
963
951
  "message": "‏‮Displays‬‏ ‏‮images‬‏ ‏‮with‬‏ ‏‮correct‬‏ ‏‮aspect‬‏ ‏‮ratio‬‏"
964
952
  },
965
- "lighthouse-core/audits/image-size-responsive.js | columnActual": {
953
+ "core/audits/image-size-responsive.js | columnActual": {
966
954
  "message": "‏‮Actual‬‏ ‏‮size‬‏"
967
955
  },
968
- "lighthouse-core/audits/image-size-responsive.js | columnDisplayed": {
956
+ "core/audits/image-size-responsive.js | columnDisplayed": {
969
957
  "message": "‏‮Displayed‬‏ ‏‮size‬‏"
970
958
  },
971
- "lighthouse-core/audits/image-size-responsive.js | columnExpected": {
959
+ "core/audits/image-size-responsive.js | columnExpected": {
972
960
  "message": "‏‮Expected‬‏ ‏‮size‬‏"
973
961
  },
974
- "lighthouse-core/audits/image-size-responsive.js | description": {
962
+ "core/audits/image-size-responsive.js | description": {
975
963
  "message": "‏‮Image‬‏ ‏‮natural‬‏ ‏‮dimensions‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮proportional‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮display‬‏ ‏‮size‬‏ ‏‮and‬‏ ‏‮the‬‏ ‏‮pixel‬‏ ‏‮ratio‬‏ ‏‮to‬‏ ‏‮maximize‬‏ ‏‮image‬‏ ‏‮clarity‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/serve-responsive-images/)."
976
964
  },
977
- "lighthouse-core/audits/image-size-responsive.js | failureTitle": {
965
+ "core/audits/image-size-responsive.js | failureTitle": {
978
966
  "message": "‏‮Serves‬‏ ‏‮images‬‏ ‏‮with‬‏ ‏‮low‬‏ ‏‮resolution‬‏"
979
967
  },
980
- "lighthouse-core/audits/image-size-responsive.js | title": {
968
+ "core/audits/image-size-responsive.js | title": {
981
969
  "message": "‏‮Serves‬‏ ‏‮images‬‏ ‏‮with‬‏ ‏‮appropriate‬‏ ‏‮resolution‬‏"
982
970
  },
983
- "lighthouse-core/audits/installable-manifest.js | already-installed": {
971
+ "core/audits/installable-manifest.js | already-installed": {
984
972
  "message": "‏‮The‬‏ ‏‮app‬‏ ‏‮is‬‏ ‏‮already‬‏ ‏‮installed‬‏"
985
973
  },
986
- "lighthouse-core/audits/installable-manifest.js | cannot-download-icon": {
974
+ "core/audits/installable-manifest.js | cannot-download-icon": {
987
975
  "message": "‏‮Could‬‏ ‏‮not‬‏ ‏‮download‬‏ ‏‮a‬‏ ‏‮required‬‏ ‏‮icon‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮manifest‬‏"
988
976
  },
989
- "lighthouse-core/audits/installable-manifest.js | columnValue": {
977
+ "core/audits/installable-manifest.js | columnValue": {
990
978
  "message": "‏‮Failure‬‏ ‏‮reason‬‏"
991
979
  },
992
- "lighthouse-core/audits/installable-manifest.js | description": {
980
+ "core/audits/installable-manifest.js | description": {
993
981
  "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‬‏](https://web.dev/installable-manifest/)."
994
982
  },
995
- "lighthouse-core/audits/installable-manifest.js | displayValue": {
983
+ "core/audits/installable-manifest.js | displayValue": {
996
984
  "message": "{itemCount,plural, =1{1 ‏‮reason‬‏}zero{# ‏‮reasons‬‏}two{# ‏‮reasons‬‏}few{# ‏‮reasons‬‏}many{# ‏‮reasons‬‏}other{# ‏‮reasons‬‏}}"
997
985
  },
998
- "lighthouse-core/audits/installable-manifest.js | failureTitle": {
986
+ "core/audits/installable-manifest.js | failureTitle": {
999
987
  "message": "‏‮Web‬‏ ‏‮app‬‏ ‏‮manifest‬‏ ‏‮or‬‏ ‏‮service‬‏ ‏‮worker‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮meet‬‏ ‏‮the‬‏ ‏‮installability‬‏ ‏‮requirements‬‏"
1000
988
  },
1001
- "lighthouse-core/audits/installable-manifest.js | ids-do-not-match": {
989
+ "core/audits/installable-manifest.js | ids-do-not-match": {
1002
990
  "message": "‏‮The‬‏ ‏‮Play‬‏ ‏‮Store‬‏ ‏‮app‬‏ ‏‮URL‬‏ ‏‮and‬‏ ‏‮Play‬‏ ‏‮Store‬‏ ‏‮ID‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮match‬‏"
1003
991
  },
1004
- "lighthouse-core/audits/installable-manifest.js | in-incognito": {
992
+ "core/audits/installable-manifest.js | in-incognito": {
1005
993
  "message": "‏‮Page‬‏ ‏‮is‬‏ ‏‮loaded‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮incognito‬‏ ‏‮window‬‏"
1006
994
  },
1007
- "lighthouse-core/audits/installable-manifest.js | manifest-display-not-supported": {
995
+ "core/audits/installable-manifest.js | manifest-display-not-supported": {
1008
996
  "message": "‏‮Manifest‬‏ '‏‮display‬‏' ‏‮property‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮one‬‏ ‏‮of‬‏ '‏‮standalone‬‏', '‏‮fullscreen‬‏', ‏‮or‬‏ '‏‮minimal‬‏-‏‮ui‬‏'"
1009
997
  },
1010
- "lighthouse-core/audits/installable-manifest.js | manifest-display-override-not-supported": {
998
+ "core/audits/installable-manifest.js | manifest-display-override-not-supported": {
1011
999
  "message": "‏‮Manifest‬‏ ‏‮contains‬‏ '‏‮display‬‏_‏‮override‬‏' ‏‮field‬‏, ‏‮and‬‏ ‏‮the‬‏ ‏‮first‬‏ ‏‮supported‬‏ ‏‮display‬‏ ‏‮mode‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮one‬‏ ‏‮of‬‏ '‏‮standalone‬‏', '‏‮fullscreen‬‏', ‏‮or‬‏ '‏‮minimal‬‏-‏‮ui‬‏'"
1012
1000
  },
1013
- "lighthouse-core/audits/installable-manifest.js | manifest-empty": {
1001
+ "core/audits/installable-manifest.js | manifest-empty": {
1014
1002
  "message": "‏‮Manifest‬‏ ‏‮could‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮fetched‬‏, ‏‮is‬‏ ‏‮empty‬‏, ‏‮or‬‏ ‏‮could‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮parsed‬‏"
1015
1003
  },
1016
- "lighthouse-core/audits/installable-manifest.js | manifest-location-changed": {
1004
+ "core/audits/installable-manifest.js | manifest-location-changed": {
1017
1005
  "message": "‏‮Manifest‬‏ ‏‮URL‬‏ ‏‮changed‬‏ ‏‮while‬‏ ‏‮the‬‏ ‏‮manifest‬‏ ‏‮was‬‏ ‏‮being‬‏ ‏‮fetched‬‏."
1018
1006
  },
1019
- "lighthouse-core/audits/installable-manifest.js | manifest-missing-name-or-short-name": {
1007
+ "core/audits/installable-manifest.js | manifest-missing-name-or-short-name": {
1020
1008
  "message": "‏‮Manifest‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮a‬‏ '‏‮name‬‏' ‏‮or‬‏ '‏‮short‬‏_‏‮name‬‏' ‏‮field‬‏"
1021
1009
  },
1022
- "lighthouse-core/audits/installable-manifest.js | manifest-missing-suitable-icon": {
1010
+ "core/audits/installable-manifest.js | manifest-missing-suitable-icon": {
1023
1011
  "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‬‏\"."
1024
1012
  },
1025
- "lighthouse-core/audits/installable-manifest.js | no-acceptable-icon": {
1013
+ "core/audits/installable-manifest.js | no-acceptable-icon": {
1026
1014
  "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‬‏\""
1027
1015
  },
1028
- "lighthouse-core/audits/installable-manifest.js | no-icon-available": {
1016
+ "core/audits/installable-manifest.js | no-icon-available": {
1029
1017
  "message": "‏‮Downloaded‬‏ ‏‮icon‬‏ ‏‮was‬‏ ‏‮empty‬‏ ‏‮or‬‏ ‏‮corrupted‬‏"
1030
1018
  },
1031
- "lighthouse-core/audits/installable-manifest.js | no-id-specified": {
1019
+ "core/audits/installable-manifest.js | no-id-specified": {
1032
1020
  "message": "‏‮No‬‏ ‏‮Play‬‏ ‏‮store‬‏ ‏‮ID‬‏ ‏‮provided‬‏"
1033
1021
  },
1034
- "lighthouse-core/audits/installable-manifest.js | no-manifest": {
1022
+ "core/audits/installable-manifest.js | no-manifest": {
1035
1023
  "message": "‏‮Page‬‏ ‏‮has‬‏ ‏‮no‬‏ ‏‮manifest‬‏ <link> ‏‮URL‬‏"
1036
1024
  },
1037
- "lighthouse-core/audits/installable-manifest.js | no-matching-service-worker": {
1025
+ "core/audits/installable-manifest.js | no-matching-service-worker": {
1038
1026
  "message": "‏‮No‬‏ ‏‮matching‬‏ ‏‮service‬‏ ‏‮worker‬‏ ‏‮detected‬‏. ‏‮You‬‏ ‏‮may‬‏ ‏‮need‬‏ ‏‮to‬‏ ‏‮reload‬‏ ‏‮the‬‏ ‏‮page‬‏, ‏‮or‬‏ ‏‮check‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮scope‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮service‬‏ ‏‮worker‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮current‬‏ ‏‮page‬‏ ‏‮encloses‬‏ ‏‮the‬‏ ‏‮scope‬‏ ‏‮and‬‏ ‏‮start‬‏ ‏‮URL‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮manifest‬‏."
1039
1027
  },
1040
- "lighthouse-core/audits/installable-manifest.js | no-url-for-service-worker": {
1028
+ "core/audits/installable-manifest.js | no-url-for-service-worker": {
1041
1029
  "message": "‏‮Could‬‏ ‏‮not‬‏ ‏‮check‬‏ ‏‮service‬‏ ‏‮worker‬‏ ‏‮without‬‏ ‏‮a‬‏ '‏‮start‬‏_‏‮url‬‏' ‏‮field‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮manifest‬‏"
1042
1030
  },
1043
- "lighthouse-core/audits/installable-manifest.js | noErrorId": {
1031
+ "core/audits/installable-manifest.js | noErrorId": {
1044
1032
  "message": "‏‮Installability‬‏ ‏‮error‬‏ ‏‮id‬‏ '{errorId}' ‏‮is‬‏ ‏‮not‬‏ ‏‮recognized‬‏"
1045
1033
  },
1046
- "lighthouse-core/audits/installable-manifest.js | not-from-secure-origin": {
1034
+ "core/audits/installable-manifest.js | not-from-secure-origin": {
1047
1035
  "message": "‏‮Page‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮served‬‏ ‏‮from‬‏ ‏‮a‬‏ ‏‮secure‬‏ ‏‮origin‬‏"
1048
1036
  },
1049
- "lighthouse-core/audits/installable-manifest.js | not-in-main-frame": {
1037
+ "core/audits/installable-manifest.js | not-in-main-frame": {
1050
1038
  "message": "‏‮Page‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮loaded‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮frame‬‏"
1051
1039
  },
1052
- "lighthouse-core/audits/installable-manifest.js | not-offline-capable": {
1040
+ "core/audits/installable-manifest.js | not-offline-capable": {
1053
1041
  "message": "‏‮Page‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮work‬‏ ‏‮offline‬‏"
1054
1042
  },
1055
- "lighthouse-core/audits/installable-manifest.js | pipeline-restarted": {
1043
+ "core/audits/installable-manifest.js | pipeline-restarted": {
1056
1044
  "message": "‏‮PWA‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮uninstalled‬‏ ‏‮and‬‏ ‏‮installability‬‏ ‏‮checks‬‏ ‏‮resetting‬‏."
1057
1045
  },
1058
- "lighthouse-core/audits/installable-manifest.js | platform-not-supported-on-android": {
1046
+ "core/audits/installable-manifest.js | platform-not-supported-on-android": {
1059
1047
  "message": "‏‮The‬‏ ‏‮specified‬‏ ‏‮application‬‏ ‏‮platform‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮supported‬‏ ‏‮on‬‏ ‏‮Android‬‏"
1060
1048
  },
1061
- "lighthouse-core/audits/installable-manifest.js | prefer-related-applications": {
1049
+ "core/audits/installable-manifest.js | prefer-related-applications": {
1062
1050
  "message": "‏‮Manifest‬‏ ‏‮specifies‬‏ ‏‮prefer‬‏_‏‮related‬‏_‏‮applications‬‏: ‏‮true‬‏"
1063
1051
  },
1064
- "lighthouse-core/audits/installable-manifest.js | prefer-related-applications-only-beta-stable": {
1052
+ "core/audits/installable-manifest.js | prefer-related-applications-only-beta-stable": {
1065
1053
  "message": "‏‮prefer‬‏_‏‮related‬‏_‏‮applications‬‏ ‏‮is‬‏ ‏‮only‬‏ ‏‮supported‬‏ ‏‮on‬‏ ‏‮Chrome‬‏ ‏‮Beta‬‏ ‏‮and‬‏ ‏‮Stable‬‏ ‏‮channels‬‏ ‏‮on‬‏ ‏‮Android‬‏."
1066
1054
  },
1067
- "lighthouse-core/audits/installable-manifest.js | protocol-timeout": {
1055
+ "core/audits/installable-manifest.js | protocol-timeout": {
1068
1056
  "message": "‏‮Lighthouse‬‏ ‏‮could‬‏ ‏‮not‬‏ ‏‮determine‬‏ ‏‮if‬‏ ‏‮there‬‏ ‏‮was‬‏ ‏‮a‬‏ ‏‮service‬‏ ‏‮worker‬‏. ‏‮Please‬‏ ‏‮try‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮newer‬‏ ‏‮version‬‏ ‏‮of‬‏ ‏‮Chrome‬‏."
1069
1057
  },
1070
- "lighthouse-core/audits/installable-manifest.js | start-url-not-valid": {
1058
+ "core/audits/installable-manifest.js | start-url-not-valid": {
1071
1059
  "message": "‏‮Manifest‬‏ ‏‮start‬‏ ‏‮URL‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮valid‬‏"
1072
1060
  },
1073
- "lighthouse-core/audits/installable-manifest.js | title": {
1061
+ "core/audits/installable-manifest.js | title": {
1074
1062
  "message": "‏‮Web‬‏ ‏‮app‬‏ ‏‮manifest‬‏ ‏‮and‬‏ ‏‮service‬‏ ‏‮worker‬‏ ‏‮meet‬‏ ‏‮the‬‏ ‏‮installability‬‏ ‏‮requirements‬‏"
1075
1063
  },
1076
- "lighthouse-core/audits/installable-manifest.js | url-not-supported-for-webapk": {
1064
+ "core/audits/installable-manifest.js | url-not-supported-for-webapk": {
1077
1065
  "message": "‏‮A‬‏ ‏‮URL‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮manifest‬‏ ‏‮contains‬‏ ‏‮a‬‏ ‏‮username‬‏, ‏‮password‬‏, ‏‮or‬‏ ‏‮port‬‏"
1078
1066
  },
1079
- "lighthouse-core/audits/installable-manifest.js | warn-not-offline-capable": {
1067
+ "core/audits/installable-manifest.js | warn-not-offline-capable": {
1080
1068
  "message": "‏‮Page‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮work‬‏ ‏‮offline‬‏. ‏‮The‬‏ ‏‮page‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮regarded‬‏ ‏‮as‬‏ ‏‮installable‬‏ ‏‮after‬‏ ‏‮Chrome‬‏ 93, ‏‮stable‬‏ ‏‮release‬‏ ‏‮August‬‏ 2021."
1081
1069
  },
1082
- "lighthouse-core/audits/is-on-https.js | allowed": {
1070
+ "core/audits/is-on-https.js | allowed": {
1083
1071
  "message": "‏‮Allowed‬‏"
1084
1072
  },
1085
- "lighthouse-core/audits/is-on-https.js | blocked": {
1073
+ "core/audits/is-on-https.js | blocked": {
1086
1074
  "message": "‏‮Blocked‬‏"
1087
1075
  },
1088
- "lighthouse-core/audits/is-on-https.js | columnInsecureURL": {
1076
+ "core/audits/is-on-https.js | columnInsecureURL": {
1089
1077
  "message": "‏‮Insecure‬‏ ‏‮URL‬‏"
1090
1078
  },
1091
- "lighthouse-core/audits/is-on-https.js | columnResolution": {
1079
+ "core/audits/is-on-https.js | columnResolution": {
1092
1080
  "message": "‏‮Request‬‏ ‏‮Resolution‬‏"
1093
1081
  },
1094
- "lighthouse-core/audits/is-on-https.js | description": {
1082
+ "core/audits/is-on-https.js | description": {
1095
1083
  "message": "‏‮All‬‏ ‏‮sites‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮protected‬‏ ‏‮with‬‏ ‏‮HTTPS‬‏, ‏‮even‬‏ ‏‮ones‬‏ ‏‮that‬‏ ‏‮don‬‏'‏‮t‬‏ ‏‮handle‬‏ ‏‮sensitive‬‏ ‏‮data‬‏. ‏‮This‬‏ ‏‮includes‬‏ ‏‮avoiding‬‏ [‏‮mixed‬‏ ‏‮content‬‏](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), ‏‮where‬‏ ‏‮some‬‏ ‏‮resources‬‏ ‏‮are‬‏ ‏‮loaded‬‏ ‏‮over‬‏ ‏‮HTTP‬‏ ‏‮despite‬‏ ‏‮the‬‏ ‏‮initial‬‏ ‏‮request‬‏ ‏‮being‬‏ ‏‮served‬‏ ‏‮over‬‏ ‏‮HTTPS‬‏. ‏‮HTTPS‬‏ ‏‮prevents‬‏ ‏‮intruders‬‏ ‏‮from‬‏ ‏‮tampering‬‏ ‏‮with‬‏ ‏‮or‬‏ ‏‮passively‬‏ ‏‮listening‬‏ ‏‮in‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮communications‬‏ ‏‮between‬‏ ‏‮your‬‏ ‏‮app‬‏ ‏‮and‬‏ ‏‮your‬‏ ‏‮users‬‏, ‏‮and‬‏ ‏‮is‬‏ ‏‮a‬‏ ‏‮prerequisite‬‏ ‏‮for‬‏ ‏‮HTTP‬‏/2 ‏‮and‬‏ ‏‮many‬‏ ‏‮new‬‏ ‏‮web‬‏ ‏‮platform‬‏ ‏‮APIs‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/is-on-https/)."
1096
1084
  },
1097
- "lighthouse-core/audits/is-on-https.js | displayValue": {
1085
+ "core/audits/is-on-https.js | displayValue": {
1098
1086
  "message": "{itemCount,plural, =1{1 ‏‮insecure‬‏ ‏‮request‬‏ ‏‮found‬‏}zero{# ‏‮insecure‬‏ ‏‮requests‬‏ ‏‮found‬‏}two{# ‏‮insecure‬‏ ‏‮requests‬‏ ‏‮found‬‏}few{# ‏‮insecure‬‏ ‏‮requests‬‏ ‏‮found‬‏}many{# ‏‮insecure‬‏ ‏‮requests‬‏ ‏‮found‬‏}other{# ‏‮insecure‬‏ ‏‮requests‬‏ ‏‮found‬‏}}"
1099
1087
  },
1100
- "lighthouse-core/audits/is-on-https.js | failureTitle": {
1088
+ "core/audits/is-on-https.js | failureTitle": {
1101
1089
  "message": "‏‮Does‬‏ ‏‮not‬‏ ‏‮use‬‏ ‏‮HTTPS‬‏"
1102
1090
  },
1103
- "lighthouse-core/audits/is-on-https.js | title": {
1091
+ "core/audits/is-on-https.js | title": {
1104
1092
  "message": "‏‮Uses‬‏ ‏‮HTTPS‬‏"
1105
1093
  },
1106
- "lighthouse-core/audits/is-on-https.js | upgraded": {
1094
+ "core/audits/is-on-https.js | upgraded": {
1107
1095
  "message": "‏‮Automatically‬‏ ‏‮upgraded‬‏ ‏‮to‬‏ ‏‮HTTPS‬‏"
1108
1096
  },
1109
- "lighthouse-core/audits/is-on-https.js | warning": {
1097
+ "core/audits/is-on-https.js | warning": {
1110
1098
  "message": "‏‮Allowed‬‏ ‏‮with‬‏ ‏‮warning‬‏"
1111
1099
  },
1112
- "lighthouse-core/audits/largest-contentful-paint-element.js | description": {
1100
+ "core/audits/largest-contentful-paint-element.js | description": {
1113
1101
  "message": "‏‮This‬‏ ‏‮is‬‏ ‏‮the‬‏ ‏‮largest‬‏ ‏‮contentful‬‏ ‏‮element‬‏ ‏‮painted‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮viewport‬‏. [‏‮Learn‬‏ ‏‮More‬‏](https://web.dev/lighthouse-largest-contentful-paint/)"
1114
1102
  },
1115
- "lighthouse-core/audits/largest-contentful-paint-element.js | title": {
1103
+ "core/audits/largest-contentful-paint-element.js | title": {
1116
1104
  "message": "‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮element‬‏"
1117
1105
  },
1118
- "lighthouse-core/audits/layout-shift-elements.js | columnContribution": {
1106
+ "core/audits/layout-shift-elements.js | columnContribution": {
1119
1107
  "message": "‏‮CLS‬‏ ‏‮Contribution‬‏"
1120
1108
  },
1121
- "lighthouse-core/audits/layout-shift-elements.js | description": {
1109
+ "core/audits/layout-shift-elements.js | description": {
1122
1110
  "message": "‏‮These‬‏ ‏‮DOM‬‏ ‏‮elements‬‏ ‏‮contribute‬‏ ‏‮most‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮CLS‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏."
1123
1111
  },
1124
- "lighthouse-core/audits/layout-shift-elements.js | title": {
1112
+ "core/audits/layout-shift-elements.js | title": {
1125
1113
  "message": "‏‮Avoid‬‏ ‏‮large‬‏ ‏‮layout‬‏ ‏‮shifts‬‏"
1126
1114
  },
1127
- "lighthouse-core/audits/lcp-lazy-loaded.js | description": {
1115
+ "core/audits/lcp-lazy-loaded.js | description": {
1128
1116
  "message": "‏‮Above‬‏-‏‮the‬‏-‏‮fold‬‏ ‏‮images‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮lazily‬‏ ‏‮loaded‬‏ ‏‮render‬‏ ‏‮later‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮lifecycle‬‏, ‏‮which‬‏ ‏‮can‬‏ ‏‮delay‬‏ ‏‮the‬‏ ‏‮largest‬‏ ‏‮contentful‬‏ ‏‮paint‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/lcp-lazy-loading/)."
1129
1117
  },
1130
- "lighthouse-core/audits/lcp-lazy-loaded.js | failureTitle": {
1118
+ "core/audits/lcp-lazy-loaded.js | failureTitle": {
1131
1119
  "message": "‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮image‬‏ ‏‮was‬‏ ‏‮lazily‬‏ ‏‮loaded‬‏"
1132
1120
  },
1133
- "lighthouse-core/audits/lcp-lazy-loaded.js | title": {
1121
+ "core/audits/lcp-lazy-loaded.js | title": {
1134
1122
  "message": "‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮image‬‏ ‏‮was‬‏ ‏‮not‬‏ ‏‮lazily‬‏ ‏‮loaded‬‏"
1135
1123
  },
1136
- "lighthouse-core/audits/long-tasks.js | description": {
1124
+ "core/audits/long-tasks.js | description": {
1137
1125
  "message": "‏‮Lists‬‏ ‏‮the‬‏ ‏‮longest‬‏ ‏‮tasks‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮thread‬‏, ‏‮useful‬‏ ‏‮for‬‏ ‏‮identifying‬‏ ‏‮worst‬‏ ‏‮contributors‬‏ ‏‮to‬‏ ‏‮input‬‏ ‏‮delay‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/long-tasks-devtools/)"
1138
1126
  },
1139
- "lighthouse-core/audits/long-tasks.js | displayValue": {
1127
+ "core/audits/long-tasks.js | displayValue": {
1140
1128
  "message": "{itemCount,plural, =1{# ‏‮long‬‏ ‏‮task‬‏ ‏‮found‬‏}zero{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}two{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}few{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}many{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}other{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}}"
1141
1129
  },
1142
- "lighthouse-core/audits/long-tasks.js | title": {
1130
+ "core/audits/long-tasks.js | title": {
1143
1131
  "message": "‏‮Avoid‬‏ ‏‮long‬‏ ‏‮main‬‏-‏‮thread‬‏ ‏‮tasks‬‏"
1144
1132
  },
1145
- "lighthouse-core/audits/mainthread-work-breakdown.js | columnCategory": {
1133
+ "core/audits/mainthread-work-breakdown.js | columnCategory": {
1146
1134
  "message": "‏‮Category‬‏"
1147
1135
  },
1148
- "lighthouse-core/audits/mainthread-work-breakdown.js | description": {
1136
+ "core/audits/mainthread-work-breakdown.js | description": {
1149
1137
  "message": "‏‮Consider‬‏ ‏‮reducing‬‏ ‏‮the‬‏ ‏‮time‬‏ ‏‮spent‬‏ ‏‮parsing‬‏, ‏‮compiling‬‏ ‏‮and‬‏ ‏‮executing‬‏ ‏‮JS‬‏. ‏‮You‬‏ ‏‮may‬‏ ‏‮find‬‏ ‏‮delivering‬‏ ‏‮smaller‬‏ ‏‮JS‬‏ ‏‮payloads‬‏ ‏‮helps‬‏ ‏‮with‬‏ ‏‮this‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/mainthread-work-breakdown/)"
1150
1138
  },
1151
- "lighthouse-core/audits/mainthread-work-breakdown.js | failureTitle": {
1139
+ "core/audits/mainthread-work-breakdown.js | failureTitle": {
1152
1140
  "message": "‏‮Minimize‬‏ ‏‮main‬‏-‏‮thread‬‏ ‏‮work‬‏"
1153
1141
  },
1154
- "lighthouse-core/audits/mainthread-work-breakdown.js | title": {
1142
+ "core/audits/mainthread-work-breakdown.js | title": {
1155
1143
  "message": "‏‮Minimizes‬‏ ‏‮main‬‏-‏‮thread‬‏ ‏‮work‬‏"
1156
1144
  },
1157
- "lighthouse-core/audits/manual/pwa-cross-browser.js | description": {
1145
+ "core/audits/manual/pwa-cross-browser.js | description": {
1158
1146
  "message": "‏‮To‬‏ ‏‮reach‬‏ ‏‮the‬‏ ‏‮most‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮users‬‏, ‏‮sites‬‏ ‏‮should‬‏ ‏‮work‬‏ ‏‮across‬‏ ‏‮every‬‏ ‏‮major‬‏ ‏‮browser‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/pwa-cross-browser/)."
1159
1147
  },
1160
- "lighthouse-core/audits/manual/pwa-cross-browser.js | title": {
1148
+ "core/audits/manual/pwa-cross-browser.js | title": {
1161
1149
  "message": "‏‮Site‬‏ ‏‮works‬‏ ‏‮cross‬‏-‏‮browser‬‏"
1162
1150
  },
1163
- "lighthouse-core/audits/manual/pwa-each-page-has-url.js | description": {
1151
+ "core/audits/manual/pwa-each-page-has-url.js | description": {
1164
1152
  "message": "‏‮Ensure‬‏ ‏‮individual‬‏ ‏‮pages‬‏ ‏‮are‬‏ ‏‮deep‬‏ ‏‮linkable‬‏ ‏‮via‬‏ ‏‮URL‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮URLs‬‏ ‏‮are‬‏ ‏‮unique‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮shareability‬‏ ‏‮on‬‏ ‏‮social‬‏ ‏‮media‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/pwa-each-page-has-url/)."
1165
1153
  },
1166
- "lighthouse-core/audits/manual/pwa-each-page-has-url.js | title": {
1154
+ "core/audits/manual/pwa-each-page-has-url.js | title": {
1167
1155
  "message": "‏‮Each‬‏ ‏‮page‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮URL‬‏"
1168
1156
  },
1169
- "lighthouse-core/audits/manual/pwa-page-transitions.js | description": {
1157
+ "core/audits/manual/pwa-page-transitions.js | description": {
1170
1158
  "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‬‏](https://web.dev/pwa-page-transitions/)."
1171
1159
  },
1172
- "lighthouse-core/audits/manual/pwa-page-transitions.js | title": {
1160
+ "core/audits/manual/pwa-page-transitions.js | title": {
1173
1161
  "message": "‏‮Page‬‏ ‏‮transitions‬‏ ‏‮don‬‏'‏‮t‬‏ ‏‮feel‬‏ ‏‮like‬‏ ‏‮they‬‏ ‏‮block‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮network‬‏"
1174
1162
  },
1175
- "lighthouse-core/audits/maskable-icon.js | description": {
1163
+ "core/audits/maskable-icon.js | description": {
1176
1164
  "message": "‏‮A‬‏ ‏‮maskable‬‏ ‏‮icon‬‏ ‏‮ensures‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮image‬‏ ‏‮fills‬‏ ‏‮the‬‏ ‏‮entire‬‏ ‏‮shape‬‏ ‏‮without‬‏ ‏‮being‬‏ ‏‮letterboxed‬‏ ‏‮when‬‏ ‏‮installing‬‏ ‏‮the‬‏ ‏‮app‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮device‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/maskable-icon-audit/)."
1177
1165
  },
1178
- "lighthouse-core/audits/maskable-icon.js | failureTitle": {
1166
+ "core/audits/maskable-icon.js | failureTitle": {
1179
1167
  "message": "‏‮Manifest‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮maskable‬‏ ‏‮icon‬‏"
1180
1168
  },
1181
- "lighthouse-core/audits/maskable-icon.js | title": {
1169
+ "core/audits/maskable-icon.js | title": {
1182
1170
  "message": "‏‮Manifest‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮maskable‬‏ ‏‮icon‬‏"
1183
1171
  },
1184
- "lighthouse-core/audits/metrics/cumulative-layout-shift.js | description": {
1172
+ "core/audits/metrics/cumulative-layout-shift.js | description": {
1185
1173
  "message": "‏‮Cumulative‬‏ ‏‮Layout‬‏ ‏‮Shift‬‏ ‏‮measures‬‏ ‏‮the‬‏ ‏‮movement‬‏ ‏‮of‬‏ ‏‮visible‬‏ ‏‮elements‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮viewport‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/cls/)."
1186
1174
  },
1187
- "lighthouse-core/audits/metrics/first-contentful-paint.js | description": {
1175
+ "core/audits/metrics/first-contentful-paint.js | description": {
1188
1176
  "message": "‏‮First‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮marks‬‏ ‏‮the‬‏ ‏‮time‬‏ ‏‮at‬‏ ‏‮which‬‏ ‏‮the‬‏ ‏‮first‬‏ ‏‮text‬‏ ‏‮or‬‏ ‏‮image‬‏ ‏‮is‬‏ ‏‮painted‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/first-contentful-paint/)."
1189
1177
  },
1190
- "lighthouse-core/audits/metrics/first-meaningful-paint.js | description": {
1178
+ "core/audits/metrics/first-meaningful-paint.js | description": {
1191
1179
  "message": "‏‮First‬‏ ‏‮Meaningful‬‏ ‏‮Paint‬‏ ‏‮measures‬‏ ‏‮when‬‏ ‏‮the‬‏ ‏‮primary‬‏ ‏‮content‬‏ ‏‮of‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮visible‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/first-meaningful-paint/)."
1192
1180
  },
1193
- "lighthouse-core/audits/metrics/interactive.js | description": {
1181
+ "core/audits/metrics/interactive.js | description": {
1194
1182
  "message": "‏‮Time‬‏ ‏‮to‬‏ ‏‮interactive‬‏ ‏‮is‬‏ ‏‮the‬‏ ‏‮amount‬‏ ‏‮of‬‏ ‏‮time‬‏ ‏‮it‬‏ ‏‮takes‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮to‬‏ ‏‮become‬‏ ‏‮fully‬‏ ‏‮interactive‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/interactive/)."
1195
1183
  },
1196
- "lighthouse-core/audits/metrics/largest-contentful-paint.js | description": {
1184
+ "core/audits/metrics/largest-contentful-paint.js | description": {
1197
1185
  "message": "‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮marks‬‏ ‏‮the‬‏ ‏‮time‬‏ ‏‮at‬‏ ‏‮which‬‏ ‏‮the‬‏ ‏‮largest‬‏ ‏‮text‬‏ ‏‮or‬‏ ‏‮image‬‏ ‏‮is‬‏ ‏‮painted‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/lighthouse-largest-contentful-paint/)"
1198
1186
  },
1199
- "lighthouse-core/audits/metrics/max-potential-fid.js | description": {
1187
+ "core/audits/metrics/max-potential-fid.js | description": {
1200
1188
  "message": "‏‮The‬‏ ‏‮maximum‬‏ ‏‮potential‬‏ ‏‮First‬‏ ‏‮Input‬‏ ‏‮Delay‬‏ ‏‮that‬‏ ‏‮your‬‏ ‏‮users‬‏ ‏‮could‬‏ ‏‮experience‬‏ ‏‮is‬‏ ‏‮the‬‏ ‏‮duration‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮longest‬‏ ‏‮task‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/lighthouse-max-potential-fid/)."
1201
1189
  },
1202
- "lighthouse-core/audits/metrics/speed-index.js | description": {
1190
+ "core/audits/metrics/speed-index.js | description": {
1203
1191
  "message": "‏‮Speed‬‏ ‏‮Index‬‏ ‏‮shows‬‏ ‏‮how‬‏ ‏‮quickly‬‏ ‏‮the‬‏ ‏‮contents‬‏ ‏‮of‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮are‬‏ ‏‮visibly‬‏ ‏‮populated‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/speed-index/)."
1204
1192
  },
1205
- "lighthouse-core/audits/metrics/total-blocking-time.js | description": {
1193
+ "core/audits/metrics/total-blocking-time.js | description": {
1206
1194
  "message": "‏‮Sum‬‏ ‏‮of‬‏ ‏‮all‬‏ ‏‮time‬‏ ‏‮periods‬‏ ‏‮between‬‏ ‏‮FCP‬‏ ‏‮and‬‏ ‏‮Time‬‏ ‏‮to‬‏ ‏‮Interactive‬‏, ‏‮when‬‏ ‏‮task‬‏ ‏‮length‬‏ ‏‮exceeded‬‏ 50‏‮ms‬‏, ‏‮expressed‬‏ ‏‮in‬‏ ‏‮milliseconds‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/lighthouse-total-blocking-time/)."
1207
1195
  },
1208
- "lighthouse-core/audits/network-rtt.js | description": {
1196
+ "core/audits/network-rtt.js | description": {
1209
1197
  "message": "‏‮Network‬‏ ‏‮round‬‏ ‏‮trip‬‏ ‏‮times‬‏ (‏‮RTT‬‏) ‏‮have‬‏ ‏‮a‬‏ ‏‮large‬‏ ‏‮impact‬‏ ‏‮on‬‏ ‏‮performance‬‏. ‏‮If‬‏ ‏‮the‬‏ ‏‮RTT‬‏ ‏‮to‬‏ ‏‮an‬‏ ‏‮origin‬‏ ‏‮is‬‏ ‏‮high‬‏, ‏‮it‬‏'‏‮s‬‏ ‏‮an‬‏ ‏‮indication‬‏ ‏‮that‬‏ ‏‮servers‬‏ ‏‮closer‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮user‬‏ ‏‮could‬‏ ‏‮improve‬‏ ‏‮performance‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://hpbn.co/primer-on-latency-and-bandwidth/)."
1210
1198
  },
1211
- "lighthouse-core/audits/network-rtt.js | title": {
1199
+ "core/audits/network-rtt.js | title": {
1212
1200
  "message": "‏‮Network‬‏ ‏‮Round‬‏ ‏‮Trip‬‏ ‏‮Times‬‏"
1213
1201
  },
1214
- "lighthouse-core/audits/network-server-latency.js | description": {
1202
+ "core/audits/network-server-latency.js | description": {
1215
1203
  "message": "‏‮Server‬‏ ‏‮latencies‬‏ ‏‮can‬‏ ‏‮impact‬‏ ‏‮web‬‏ ‏‮performance‬‏. ‏‮If‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮latency‬‏ ‏‮of‬‏ ‏‮an‬‏ ‏‮origin‬‏ ‏‮is‬‏ ‏‮high‬‏, ‏‮it‬‏'‏‮s‬‏ ‏‮an‬‏ ‏‮indication‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮is‬‏ ‏‮overloaded‬‏ ‏‮or‬‏ ‏‮has‬‏ ‏‮poor‬‏ ‏‮backend‬‏ ‏‮performance‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://hpbn.co/primer-on-web-performance/#analyzing-the-resource-waterfall)."
1216
1204
  },
1217
- "lighthouse-core/audits/network-server-latency.js | title": {
1205
+ "core/audits/network-server-latency.js | title": {
1218
1206
  "message": "‏‮Server‬‏ ‏‮Backend‬‏ ‏‮Latencies‬‏"
1219
1207
  },
1220
- "lighthouse-core/audits/no-unload-listeners.js | description": {
1208
+ "core/audits/no-unload-listeners.js | description": {
1221
1209
  "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‬‏](https://web.dev/bfcache/#never-use-the-unload-event)"
1222
1210
  },
1223
- "lighthouse-core/audits/no-unload-listeners.js | failureTitle": {
1211
+ "core/audits/no-unload-listeners.js | failureTitle": {
1224
1212
  "message": "‏‮Registers‬‏ ‏‮an‬‏ `unload` ‏‮listener‬‏"
1225
1213
  },
1226
- "lighthouse-core/audits/no-unload-listeners.js | title": {
1214
+ "core/audits/no-unload-listeners.js | title": {
1227
1215
  "message": "‏‮Avoids‬‏ `unload` ‏‮event‬‏ ‏‮listeners‬‏"
1228
1216
  },
1229
- "lighthouse-core/audits/non-composited-animations.js | description": {
1217
+ "core/audits/non-composited-animations.js | description": {
1230
1218
  "message": "‏‮Animations‬‏ ‏‮which‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮composited‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮janky‬‏ ‏‮and‬‏ ‏‮increase‬‏ ‏‮CLS‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/non-composited-animations)"
1231
1219
  },
1232
- "lighthouse-core/audits/non-composited-animations.js | displayValue": {
1220
+ "core/audits/non-composited-animations.js | displayValue": {
1233
1221
  "message": "{itemCount,plural, =1{# ‏‮animated‬‏ ‏‮element‬‏ ‏‮found‬‏}zero{# ‏‮animated‬‏ ‏‮elements‬‏ ‏‮found‬‏}two{# ‏‮animated‬‏ ‏‮elements‬‏ ‏‮found‬‏}few{# ‏‮animated‬‏ ‏‮elements‬‏ ‏‮found‬‏}many{# ‏‮animated‬‏ ‏‮elements‬‏ ‏‮found‬‏}other{# ‏‮animated‬‏ ‏‮elements‬‏ ‏‮found‬‏}}"
1234
1222
  },
1235
- "lighthouse-core/audits/non-composited-animations.js | filterMayMovePixels": {
1223
+ "core/audits/non-composited-animations.js | filterMayMovePixels": {
1236
1224
  "message": "‏‮Filter‬‏-‏‮related‬‏ ‏‮property‬‏ ‏‮may‬‏ ‏‮move‬‏ ‏‮pixels‬‏"
1237
1225
  },
1238
- "lighthouse-core/audits/non-composited-animations.js | incompatibleAnimations": {
1226
+ "core/audits/non-composited-animations.js | incompatibleAnimations": {
1239
1227
  "message": "‏‮Target‬‏ ‏‮has‬‏ ‏‮another‬‏ ‏‮animation‬‏ ‏‮which‬‏ ‏‮is‬‏ ‏‮incompatible‬‏"
1240
1228
  },
1241
- "lighthouse-core/audits/non-composited-animations.js | nonReplaceCompositeMode": {
1229
+ "core/audits/non-composited-animations.js | nonReplaceCompositeMode": {
1242
1230
  "message": "‏‮Effect‬‏ ‏‮has‬‏ ‏‮composite‬‏ ‏‮mode‬‏ ‏‮other‬‏ ‏‮than‬‏ \"‏‮replace‬‏\""
1243
1231
  },
1244
- "lighthouse-core/audits/non-composited-animations.js | title": {
1232
+ "core/audits/non-composited-animations.js | title": {
1245
1233
  "message": "‏‮Avoid‬‏ ‏‮non‬‏-‏‮composited‬‏ ‏‮animations‬‏"
1246
1234
  },
1247
- "lighthouse-core/audits/non-composited-animations.js | transformDependsBoxSize": {
1235
+ "core/audits/non-composited-animations.js | transformDependsBoxSize": {
1248
1236
  "message": "‏‮Transform‬‏-‏‮related‬‏ ‏‮property‬‏ ‏‮depends‬‏ ‏‮on‬‏ ‏‮box‬‏ ‏‮size‬‏"
1249
1237
  },
1250
- "lighthouse-core/audits/non-composited-animations.js | unsupportedCSSProperty": {
1238
+ "core/audits/non-composited-animations.js | unsupportedCSSProperty": {
1251
1239
  "message": "{propertyCount,plural, =1{‏‮Unsupported‬‏ ‏‮CSS‬‏ ‏‮Property‬‏: {properties}}zero{‏‮Unsupported‬‏ ‏‮CSS‬‏ ‏‮Properties‬‏: {properties}}two{‏‮Unsupported‬‏ ‏‮CSS‬‏ ‏‮Properties‬‏: {properties}}few{‏‮Unsupported‬‏ ‏‮CSS‬‏ ‏‮Properties‬‏: {properties}}many{‏‮Unsupported‬‏ ‏‮CSS‬‏ ‏‮Properties‬‏: {properties}}other{‏‮Unsupported‬‏ ‏‮CSS‬‏ ‏‮Properties‬‏: {properties}}}"
1252
1240
  },
1253
- "lighthouse-core/audits/non-composited-animations.js | unsupportedTimingParameters": {
1241
+ "core/audits/non-composited-animations.js | unsupportedTimingParameters": {
1254
1242
  "message": "‏‮Effect‬‏ ‏‮has‬‏ ‏‮unsupported‬‏ ‏‮timing‬‏ ‏‮parameters‬‏"
1255
1243
  },
1256
- "lighthouse-core/audits/performance-budget.js | description": {
1244
+ "core/audits/performance-budget.js | description": {
1257
1245
  "message": "‏‮Keep‬‏ ‏‮the‬‏ ‏‮quantity‬‏ ‏‮and‬‏ ‏‮size‬‏ ‏‮of‬‏ ‏‮network‬‏ ‏‮requests‬‏ ‏‮under‬‏ ‏‮the‬‏ ‏‮targets‬‏ ‏‮set‬‏ ‏‮by‬‏ ‏‮the‬‏ ‏‮provided‬‏ ‏‮performance‬‏ ‏‮budget‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://developers.google.com/web/tools/lighthouse/audits/budgets)."
1258
1246
  },
1259
- "lighthouse-core/audits/performance-budget.js | requestCountOverBudget": {
1247
+ "core/audits/performance-budget.js | requestCountOverBudget": {
1260
1248
  "message": "{count,plural, =1{1 ‏‮request‬‏}zero{# ‏‮requests‬‏}two{# ‏‮requests‬‏}few{# ‏‮requests‬‏}many{# ‏‮requests‬‏}other{# ‏‮requests‬‏}}"
1261
1249
  },
1262
- "lighthouse-core/audits/performance-budget.js | title": {
1250
+ "core/audits/performance-budget.js | title": {
1263
1251
  "message": "‏‮Performance‬‏ ‏‮budget‬‏"
1264
1252
  },
1265
- "lighthouse-core/audits/preload-fonts.js | description": {
1253
+ "core/audits/preload-fonts.js | description": {
1266
1254
  "message": "‏‮Preload‬‏ `optional` ‏‮fonts‬‏ ‏‮so‬‏ ‏‮first‬‏-‏‮time‬‏ ‏‮visitors‬‏ ‏‮may‬‏ ‏‮use‬‏ ‏‮them‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/preload-optional-fonts/)"
1267
1255
  },
1268
- "lighthouse-core/audits/preload-fonts.js | failureTitle": {
1256
+ "core/audits/preload-fonts.js | failureTitle": {
1269
1257
  "message": "‏‮Fonts‬‏ ‏‮with‬‏ `font-display: optional` ‏‮are‬‏ ‏‮not‬‏ ‏‮preloaded‬‏"
1270
1258
  },
1271
- "lighthouse-core/audits/preload-fonts.js | title": {
1259
+ "core/audits/preload-fonts.js | title": {
1272
1260
  "message": "‏‮Fonts‬‏ ‏‮with‬‏ `font-display: optional` ‏‮are‬‏ ‏‮preloaded‬‏"
1273
1261
  },
1274
- "lighthouse-core/audits/preload-lcp-image.js | description": {
1262
+ "core/audits/preload-lcp-image.js | description": {
1275
1263
  "message": "‏‮Preload‬‏ ‏‮the‬‏ ‏‮image‬‏ ‏‮used‬‏ ‏‮by‬‏ ‏‮the‬‏ ‏‮LCP‬‏ ‏‮element‬‏ ‏‮in‬‏ ‏‮order‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮your‬‏ ‏‮LCP‬‏ ‏‮time‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/optimize-lcp/#preload-important-resources)."
1276
1264
  },
1277
- "lighthouse-core/audits/preload-lcp-image.js | title": {
1265
+ "core/audits/preload-lcp-image.js | title": {
1278
1266
  "message": "‏‮Preload‬‏ ‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮image‬‏"
1279
1267
  },
1280
- "lighthouse-core/audits/redirects.js | description": {
1268
+ "core/audits/redirects.js | description": {
1281
1269
  "message": "‏‮Redirects‬‏ ‏‮introduce‬‏ ‏‮additional‬‏ ‏‮delays‬‏ ‏‮before‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮loaded‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/redirects/)."
1282
1270
  },
1283
- "lighthouse-core/audits/redirects.js | title": {
1271
+ "core/audits/redirects.js | title": {
1284
1272
  "message": "‏‮Avoid‬‏ ‏‮multiple‬‏ ‏‮page‬‏ ‏‮redirects‬‏"
1285
1273
  },
1286
- "lighthouse-core/audits/resource-summary.js | description": {
1274
+ "core/audits/resource-summary.js | description": {
1287
1275
  "message": "‏‮To‬‏ ‏‮set‬‏ ‏‮budgets‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮quantity‬‏ ‏‮and‬‏ ‏‮size‬‏ ‏‮of‬‏ ‏‮page‬‏ ‏‮resources‬‏, ‏‮add‬‏ ‏‮a‬‏ ‏‮budget‬‏.‏‮json‬‏ ‏‮file‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/use-lighthouse-for-performance-budgets/)."
1288
1276
  },
1289
- "lighthouse-core/audits/resource-summary.js | displayValue": {
1277
+ "core/audits/resource-summary.js | displayValue": {
1290
1278
  "message": "{requestCount,plural, =1{1 ‏‮request‬‏ • {byteCount, number, bytes} ‏‮KiB‬‏}zero{# ‏‮requests‬‏ • {byteCount, number, bytes} ‏‮KiB‬‏}two{# ‏‮requests‬‏ • {byteCount, number, bytes} ‏‮KiB‬‏}few{# ‏‮requests‬‏ • {byteCount, number, bytes} ‏‮KiB‬‏}many{# ‏‮requests‬‏ • {byteCount, number, bytes} ‏‮KiB‬‏}other{# ‏‮requests‬‏ • {byteCount, number, bytes} ‏‮KiB‬‏}}"
1291
1279
  },
1292
- "lighthouse-core/audits/resource-summary.js | title": {
1280
+ "core/audits/resource-summary.js | title": {
1293
1281
  "message": "‏‮Keep‬‏ ‏‮request‬‏ ‏‮counts‬‏ ‏‮low‬‏ ‏‮and‬‏ ‏‮transfer‬‏ ‏‮sizes‬‏ ‏‮small‬‏"
1294
1282
  },
1295
- "lighthouse-core/audits/seo/canonical.js | description": {
1283
+ "core/audits/seo/canonical.js | description": {
1296
1284
  "message": "‏‮Canonical‬‏ ‏‮links‬‏ ‏‮suggest‬‏ ‏‮which‬‏ ‏‮URL‬‏ ‏‮to‬‏ ‏‮show‬‏ ‏‮in‬‏ ‏‮search‬‏ ‏‮results‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/canonical/)."
1297
1285
  },
1298
- "lighthouse-core/audits/seo/canonical.js | explanationConflict": {
1286
+ "core/audits/seo/canonical.js | explanationConflict": {
1299
1287
  "message": "‏‮Multiple‬‏ ‏‮conflicting‬‏ ‏‮URLs‬‏ ({urlList})"
1300
1288
  },
1301
- "lighthouse-core/audits/seo/canonical.js | explanationInvalid": {
1289
+ "core/audits/seo/canonical.js | explanationInvalid": {
1302
1290
  "message": "‏‮Invalid‬‏ ‏‮URL‬‏ ({url})"
1303
1291
  },
1304
- "lighthouse-core/audits/seo/canonical.js | explanationPointsElsewhere": {
1292
+ "core/audits/seo/canonical.js | explanationPointsElsewhere": {
1305
1293
  "message": "‏‮Points‬‏ ‏‮to‬‏ ‏‮another‬‏ `hreflang` ‏‮location‬‏ ({url})"
1306
1294
  },
1307
- "lighthouse-core/audits/seo/canonical.js | explanationRelative": {
1295
+ "core/audits/seo/canonical.js | explanationRelative": {
1308
1296
  "message": "‏‮Is‬‏ ‏‮not‬‏ ‏‮an‬‏ ‏‮absolute‬‏ ‏‮URL‬‏ ({url})"
1309
1297
  },
1310
- "lighthouse-core/audits/seo/canonical.js | explanationRoot": {
1298
+ "core/audits/seo/canonical.js | explanationRoot": {
1311
1299
  "message": "‏‮Points‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮domain‬‏'‏‮s‬‏ ‏‮root‬‏ ‏‮URL‬‏ (‏‮the‬‏ ‏‮homepage‬‏), ‏‮instead‬‏ ‏‮of‬‏ ‏‮an‬‏ ‏‮equivalent‬‏ ‏‮page‬‏ ‏‮of‬‏ ‏‮content‬‏"
1312
1300
  },
1313
- "lighthouse-core/audits/seo/canonical.js | failureTitle": {
1301
+ "core/audits/seo/canonical.js | failureTitle": {
1314
1302
  "message": "‏‮Document‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ `rel=canonical`"
1315
1303
  },
1316
- "lighthouse-core/audits/seo/canonical.js | title": {
1304
+ "core/audits/seo/canonical.js | title": {
1317
1305
  "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮valid‬‏ `rel=canonical`"
1318
1306
  },
1319
- "lighthouse-core/audits/seo/crawlable-anchors.js | columnFailingLink": {
1307
+ "core/audits/seo/crawlable-anchors.js | columnFailingLink": {
1320
1308
  "message": "‏‮Uncrawlable‬‏ ‏‮Link‬‏"
1321
1309
  },
1322
- "lighthouse-core/audits/seo/crawlable-anchors.js | description": {
1310
+ "core/audits/seo/crawlable-anchors.js | description": {
1323
1311
  "message": "‏‮Search‬‏ ‏‮engines‬‏ ‏‮may‬‏ ‏‮use‬‏ `href` ‏‮attributes‬‏ ‏‮on‬‏ ‏‮links‬‏ ‏‮to‬‏ ‏‮crawl‬‏ ‏‮websites‬‏. ‏‮Ensure‬‏ ‏‮that‬‏ ‏‮the‬‏ `href` ‏‮attribute‬‏ ‏‮of‬‏ ‏‮anchor‬‏ ‏‮elements‬‏ ‏‮links‬‏ ‏‮to‬‏ ‏‮an‬‏ ‏‮appropriate‬‏ ‏‮destination‬‏, ‏‮so‬‏ ‏‮more‬‏ ‏‮pages‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮site‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮discovered‬‏. [‏‮Learn‬‏ ‏‮More‬‏](https://support.google.com/webmasters/answer/9112205)"
1324
1312
  },
1325
- "lighthouse-core/audits/seo/crawlable-anchors.js | failureTitle": {
1313
+ "core/audits/seo/crawlable-anchors.js | failureTitle": {
1326
1314
  "message": "‏‮Links‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮crawlable‬‏"
1327
1315
  },
1328
- "lighthouse-core/audits/seo/crawlable-anchors.js | title": {
1316
+ "core/audits/seo/crawlable-anchors.js | title": {
1329
1317
  "message": "‏‮Links‬‏ ‏‮are‬‏ ‏‮crawlable‬‏"
1330
1318
  },
1331
- "lighthouse-core/audits/seo/font-size.js | additionalIllegibleText": {
1319
+ "core/audits/seo/font-size.js | additionalIllegibleText": {
1332
1320
  "message": "‏‮Add‬‏'‏‮l‬‏ ‏‮illegible‬‏ ‏‮text‬‏"
1333
1321
  },
1334
- "lighthouse-core/audits/seo/font-size.js | columnFontSize": {
1322
+ "core/audits/seo/font-size.js | columnFontSize": {
1335
1323
  "message": "‏‮Font‬‏ ‏‮Size‬‏"
1336
1324
  },
1337
- "lighthouse-core/audits/seo/font-size.js | columnPercentPageText": {
1325
+ "core/audits/seo/font-size.js | columnPercentPageText": {
1338
1326
  "message": "% ‏‮of‬‏ ‏‮Page‬‏ ‏‮Text‬‏"
1339
1327
  },
1340
- "lighthouse-core/audits/seo/font-size.js | columnSelector": {
1328
+ "core/audits/seo/font-size.js | columnSelector": {
1341
1329
  "message": "‏‮Selector‬‏"
1342
1330
  },
1343
- "lighthouse-core/audits/seo/font-size.js | description": {
1331
+ "core/audits/seo/font-size.js | description": {
1344
1332
  "message": "‏‮Font‬‏ ‏‮sizes‬‏ ‏‮less‬‏ ‏‮than‬‏ 12‏‮px‬‏ ‏‮are‬‏ ‏‮too‬‏ ‏‮small‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮legible‬‏ ‏‮and‬‏ ‏‮require‬‏ ‏‮mobile‬‏ ‏‮visitors‬‏ ‏‮to‬‏ “‏‮pinch‬‏ ‏‮to‬‏ ‏‮zoom‬‏” ‏‮in‬‏ ‏‮order‬‏ ‏‮to‬‏ ‏‮read‬‏. ‏‮Strive‬‏ ‏‮to‬‏ ‏‮have‬‏ >60% ‏‮of‬‏ ‏‮page‬‏ ‏‮text‬‏ ≥12‏‮px‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/font-size/)."
1345
1333
  },
1346
- "lighthouse-core/audits/seo/font-size.js | displayValue": {
1334
+ "core/audits/seo/font-size.js | displayValue": {
1347
1335
  "message": "{decimalProportion, number, extendedPercent} ‏‮legible‬‏ ‏‮text‬‏"
1348
1336
  },
1349
- "lighthouse-core/audits/seo/font-size.js | explanationViewport": {
1337
+ "core/audits/seo/font-size.js | explanationViewport": {
1350
1338
  "message": "‏‮Text‬‏ ‏‮is‬‏ ‏‮illegible‬‏ ‏‮because‬‏ ‏‮there‬‏'‏‮s‬‏ ‏‮no‬‏ ‏‮viewport‬‏ ‏‮meta‬‏ ‏‮tag‬‏ ‏‮optimized‬‏ ‏‮for‬‏ ‏‮mobile‬‏ ‏‮screens‬‏."
1351
1339
  },
1352
- "lighthouse-core/audits/seo/font-size.js | failureTitle": {
1340
+ "core/audits/seo/font-size.js | failureTitle": {
1353
1341
  "message": "‏‮Document‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮use‬‏ ‏‮legible‬‏ ‏‮font‬‏ ‏‮sizes‬‏"
1354
1342
  },
1355
- "lighthouse-core/audits/seo/font-size.js | legibleText": {
1343
+ "core/audits/seo/font-size.js | legibleText": {
1356
1344
  "message": "‏‮Legible‬‏ ‏‮text‬‏"
1357
1345
  },
1358
- "lighthouse-core/audits/seo/font-size.js | title": {
1346
+ "core/audits/seo/font-size.js | title": {
1359
1347
  "message": "‏‮Document‬‏ ‏‮uses‬‏ ‏‮legible‬‏ ‏‮font‬‏ ‏‮sizes‬‏"
1360
1348
  },
1361
- "lighthouse-core/audits/seo/hreflang.js | description": {
1349
+ "core/audits/seo/hreflang.js | description": {
1362
1350
  "message": "‏‮hreflang‬‏ ‏‮links‬‏ ‏‮tell‬‏ ‏‮search‬‏ ‏‮engines‬‏ ‏‮what‬‏ ‏‮version‬‏ ‏‮of‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮they‬‏ ‏‮should‬‏ ‏‮list‬‏ ‏‮in‬‏ ‏‮search‬‏ ‏‮results‬‏ ‏‮for‬‏ ‏‮a‬‏ ‏‮given‬‏ ‏‮language‬‏ ‏‮or‬‏ ‏‮region‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/hreflang/)."
1363
1351
  },
1364
- "lighthouse-core/audits/seo/hreflang.js | failureTitle": {
1352
+ "core/audits/seo/hreflang.js | failureTitle": {
1365
1353
  "message": "‏‮Document‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ `hreflang`"
1366
1354
  },
1367
- "lighthouse-core/audits/seo/hreflang.js | notFullyQualified": {
1355
+ "core/audits/seo/hreflang.js | notFullyQualified": {
1368
1356
  "message": "‏‮Relative‬‏ ‏‮href‬‏ ‏‮value‬‏"
1369
1357
  },
1370
- "lighthouse-core/audits/seo/hreflang.js | title": {
1358
+ "core/audits/seo/hreflang.js | title": {
1371
1359
  "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮valid‬‏ `hreflang`"
1372
1360
  },
1373
- "lighthouse-core/audits/seo/hreflang.js | unexpectedLanguage": {
1361
+ "core/audits/seo/hreflang.js | unexpectedLanguage": {
1374
1362
  "message": "‏‮Unexpected‬‏ ‏‮language‬‏ ‏‮code‬‏"
1375
1363
  },
1376
- "lighthouse-core/audits/seo/http-status-code.js | description": {
1364
+ "core/audits/seo/http-status-code.js | description": {
1377
1365
  "message": "‏‮Pages‬‏ ‏‮with‬‏ ‏‮unsuccessful‬‏ ‏‮HTTP‬‏ ‏‮status‬‏ ‏‮codes‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮indexed‬‏ ‏‮properly‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/http-status-code/)."
1378
1366
  },
1379
- "lighthouse-core/audits/seo/http-status-code.js | failureTitle": {
1367
+ "core/audits/seo/http-status-code.js | failureTitle": {
1380
1368
  "message": "‏‮Page‬‏ ‏‮has‬‏ ‏‮unsuccessful‬‏ ‏‮HTTP‬‏ ‏‮status‬‏ ‏‮code‬‏"
1381
1369
  },
1382
- "lighthouse-core/audits/seo/http-status-code.js | title": {
1370
+ "core/audits/seo/http-status-code.js | title": {
1383
1371
  "message": "‏‮Page‬‏ ‏‮has‬‏ ‏‮successful‬‏ ‏‮HTTP‬‏ ‏‮status‬‏ ‏‮code‬‏"
1384
1372
  },
1385
- "lighthouse-core/audits/seo/is-crawlable.js | description": {
1373
+ "core/audits/seo/is-crawlable.js | description": {
1386
1374
  "message": "‏‮Search‬‏ ‏‮engines‬‏ ‏‮are‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮include‬‏ ‏‮your‬‏ ‏‮pages‬‏ ‏‮in‬‏ ‏‮search‬‏ ‏‮results‬‏ ‏‮if‬‏ ‏‮they‬‏ ‏‮don‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮permission‬‏ ‏‮to‬‏ ‏‮crawl‬‏ ‏‮them‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/is-crawable/)."
1387
1375
  },
1388
- "lighthouse-core/audits/seo/is-crawlable.js | failureTitle": {
1376
+ "core/audits/seo/is-crawlable.js | failureTitle": {
1389
1377
  "message": "‏‮Page‬‏ ‏‮is‬‏ ‏‮blocked‬‏ ‏‮from‬‏ ‏‮indexing‬‏"
1390
1378
  },
1391
- "lighthouse-core/audits/seo/is-crawlable.js | title": {
1379
+ "core/audits/seo/is-crawlable.js | title": {
1392
1380
  "message": "‏‮Page‬‏ ‏‮isn‬‏’‏‮t‬‏ ‏‮blocked‬‏ ‏‮from‬‏ ‏‮indexing‬‏"
1393
1381
  },
1394
- "lighthouse-core/audits/seo/link-text.js | description": {
1382
+ "core/audits/seo/link-text.js | description": {
1395
1383
  "message": "‏‮Descriptive‬‏ ‏‮link‬‏ ‏‮text‬‏ ‏‮helps‬‏ ‏‮search‬‏ ‏‮engines‬‏ ‏‮understand‬‏ ‏‮your‬‏ ‏‮content‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/link-text/)."
1396
1384
  },
1397
- "lighthouse-core/audits/seo/link-text.js | displayValue": {
1385
+ "core/audits/seo/link-text.js | displayValue": {
1398
1386
  "message": "{itemCount,plural, =1{1 ‏‮link‬‏ ‏‮found‬‏}zero{# ‏‮links‬‏ ‏‮found‬‏}two{# ‏‮links‬‏ ‏‮found‬‏}few{# ‏‮links‬‏ ‏‮found‬‏}many{# ‏‮links‬‏ ‏‮found‬‏}other{# ‏‮links‬‏ ‏‮found‬‏}}"
1399
1387
  },
1400
- "lighthouse-core/audits/seo/link-text.js | failureTitle": {
1388
+ "core/audits/seo/link-text.js | failureTitle": {
1401
1389
  "message": "‏‮Links‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮descriptive‬‏ ‏‮text‬‏"
1402
1390
  },
1403
- "lighthouse-core/audits/seo/link-text.js | title": {
1391
+ "core/audits/seo/link-text.js | title": {
1404
1392
  "message": "‏‮Links‬‏ ‏‮have‬‏ ‏‮descriptive‬‏ ‏‮text‬‏"
1405
1393
  },
1406
- "lighthouse-core/audits/seo/manual/structured-data.js | description": {
1394
+ "core/audits/seo/manual/structured-data.js | description": {
1407
1395
  "message": "‏‮Run‬‏ ‏‮the‬‏ [‏‮Structured‬‏ ‏‮Data‬‏ ‏‮Testing‬‏ ‏‮Tool‬‏](https://search.google.com/structured-data/testing-tool/) ‏‮and‬‏ ‏‮the‬‏ [‏‮Structured‬‏ ‏‮Data‬‏ ‏‮Linter‬‏](http://linter.structured-data.org/) ‏‮to‬‏ ‏‮validate‬‏ ‏‮structured‬‏ ‏‮data‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/structured-data/)."
1408
1396
  },
1409
- "lighthouse-core/audits/seo/manual/structured-data.js | title": {
1397
+ "core/audits/seo/manual/structured-data.js | title": {
1410
1398
  "message": "‏‮Structured‬‏ ‏‮data‬‏ ‏‮is‬‏ ‏‮valid‬‏"
1411
1399
  },
1412
- "lighthouse-core/audits/seo/meta-description.js | description": {
1400
+ "core/audits/seo/meta-description.js | description": {
1413
1401
  "message": "‏‮Meta‬‏ ‏‮descriptions‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮included‬‏ ‏‮in‬‏ ‏‮search‬‏ ‏‮results‬‏ ‏‮to‬‏ ‏‮concisely‬‏ ‏‮summarize‬‏ ‏‮page‬‏ ‏‮content‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/meta-description/)."
1414
1402
  },
1415
- "lighthouse-core/audits/seo/meta-description.js | explanation": {
1403
+ "core/audits/seo/meta-description.js | explanation": {
1416
1404
  "message": "‏‮Description‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮empty‬‏."
1417
1405
  },
1418
- "lighthouse-core/audits/seo/meta-description.js | failureTitle": {
1406
+ "core/audits/seo/meta-description.js | failureTitle": {
1419
1407
  "message": "‏‮Document‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮meta‬‏ ‏‮description‬‏"
1420
1408
  },
1421
- "lighthouse-core/audits/seo/meta-description.js | title": {
1409
+ "core/audits/seo/meta-description.js | title": {
1422
1410
  "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮meta‬‏ ‏‮description‬‏"
1423
1411
  },
1424
- "lighthouse-core/audits/seo/plugins.js | description": {
1412
+ "core/audits/seo/plugins.js | description": {
1425
1413
  "message": "‏‮Search‬‏ ‏‮engines‬‏ ‏‮can‬‏'‏‮t‬‏ ‏‮index‬‏ ‏‮plugin‬‏ ‏‮content‬‏, ‏‮and‬‏ ‏‮many‬‏ ‏‮devices‬‏ ‏‮restrict‬‏ ‏‮plugins‬‏ ‏‮or‬‏ ‏‮don‬‏'‏‮t‬‏ ‏‮support‬‏ ‏‮them‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/plugins/)."
1426
1414
  },
1427
- "lighthouse-core/audits/seo/plugins.js | failureTitle": {
1415
+ "core/audits/seo/plugins.js | failureTitle": {
1428
1416
  "message": "‏‮Document‬‏ ‏‮uses‬‏ ‏‮plugins‬‏"
1429
1417
  },
1430
- "lighthouse-core/audits/seo/plugins.js | title": {
1418
+ "core/audits/seo/plugins.js | title": {
1431
1419
  "message": "‏‮Document‬‏ ‏‮avoids‬‏ ‏‮plugins‬‏"
1432
1420
  },
1433
- "lighthouse-core/audits/seo/robots-txt.js | description": {
1421
+ "core/audits/seo/robots-txt.js | description": {
1434
1422
  "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‬‏](https://web.dev/robots-txt/)."
1435
1423
  },
1436
- "lighthouse-core/audits/seo/robots-txt.js | displayValueHttpBadCode": {
1424
+ "core/audits/seo/robots-txt.js | displayValueHttpBadCode": {
1437
1425
  "message": "‏‮Request‬‏ ‏‮for‬‏ ‏‮robots‬‏.‏‮txt‬‏ ‏‮returned‬‏ ‏‮HTTP‬‏ ‏‮status‬‏: {statusCode}"
1438
1426
  },
1439
- "lighthouse-core/audits/seo/robots-txt.js | displayValueValidationError": {
1427
+ "core/audits/seo/robots-txt.js | displayValueValidationError": {
1440
1428
  "message": "{itemCount,plural, =1{1 ‏‮error‬‏ ‏‮found‬‏}zero{# ‏‮errors‬‏ ‏‮found‬‏}two{# ‏‮errors‬‏ ‏‮found‬‏}few{# ‏‮errors‬‏ ‏‮found‬‏}many{# ‏‮errors‬‏ ‏‮found‬‏}other{# ‏‮errors‬‏ ‏‮found‬‏}}"
1441
1429
  },
1442
- "lighthouse-core/audits/seo/robots-txt.js | explanation": {
1430
+ "core/audits/seo/robots-txt.js | explanation": {
1443
1431
  "message": "‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮download‬‏ ‏‮a‬‏ ‏‮robots‬‏.‏‮txt‬‏ ‏‮file‬‏"
1444
1432
  },
1445
- "lighthouse-core/audits/seo/robots-txt.js | failureTitle": {
1433
+ "core/audits/seo/robots-txt.js | failureTitle": {
1446
1434
  "message": "‏‮robots‬‏.‏‮txt‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮valid‬‏"
1447
1435
  },
1448
- "lighthouse-core/audits/seo/robots-txt.js | title": {
1436
+ "core/audits/seo/robots-txt.js | title": {
1449
1437
  "message": "‏‮robots‬‏.‏‮txt‬‏ ‏‮is‬‏ ‏‮valid‬‏"
1450
1438
  },
1451
- "lighthouse-core/audits/seo/tap-targets.js | description": {
1439
+ "core/audits/seo/tap-targets.js | description": {
1452
1440
  "message": "‏‮Interactive‬‏ ‏‮elements‬‏ ‏‮like‬‏ ‏‮buttons‬‏ ‏‮and‬‏ ‏‮links‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮large‬‏ ‏‮enough‬‏ (48‏‮x‬‏48‏‮px‬‏), ‏‮and‬‏ ‏‮have‬‏ ‏‮enough‬‏ ‏‮space‬‏ ‏‮around‬‏ ‏‮them‬‏, ‏‮to‬‏ ‏‮be‬‏ ‏‮easy‬‏ ‏‮enough‬‏ ‏‮to‬‏ ‏‮tap‬‏ ‏‮without‬‏ ‏‮overlapping‬‏ ‏‮onto‬‏ ‏‮other‬‏ ‏‮elements‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/tap-targets/)."
1453
1441
  },
1454
- "lighthouse-core/audits/seo/tap-targets.js | displayValue": {
1442
+ "core/audits/seo/tap-targets.js | displayValue": {
1455
1443
  "message": "{decimalProportion, number, percent} ‏‮appropriately‬‏ ‏‮sized‬‏ ‏‮tap‬‏ ‏‮targets‬‏"
1456
1444
  },
1457
- "lighthouse-core/audits/seo/tap-targets.js | explanationViewportMetaNotOptimized": {
1445
+ "core/audits/seo/tap-targets.js | explanationViewportMetaNotOptimized": {
1458
1446
  "message": "‏‮Tap‬‏ ‏‮targets‬‏ ‏‮are‬‏ ‏‮too‬‏ ‏‮small‬‏ ‏‮because‬‏ ‏‮there‬‏'‏‮s‬‏ ‏‮no‬‏ ‏‮viewport‬‏ ‏‮meta‬‏ ‏‮tag‬‏ ‏‮optimized‬‏ ‏‮for‬‏ ‏‮mobile‬‏ ‏‮screens‬‏"
1459
1447
  },
1460
- "lighthouse-core/audits/seo/tap-targets.js | failureTitle": {
1448
+ "core/audits/seo/tap-targets.js | failureTitle": {
1461
1449
  "message": "‏‮Tap‬‏ ‏‮targets‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮sized‬‏ ‏‮appropriately‬‏"
1462
1450
  },
1463
- "lighthouse-core/audits/seo/tap-targets.js | overlappingTargetHeader": {
1451
+ "core/audits/seo/tap-targets.js | overlappingTargetHeader": {
1464
1452
  "message": "‏‮Overlapping‬‏ ‏‮Target‬‏"
1465
1453
  },
1466
- "lighthouse-core/audits/seo/tap-targets.js | tapTargetHeader": {
1454
+ "core/audits/seo/tap-targets.js | tapTargetHeader": {
1467
1455
  "message": "‏‮Tap‬‏ ‏‮Target‬‏"
1468
1456
  },
1469
- "lighthouse-core/audits/seo/tap-targets.js | title": {
1457
+ "core/audits/seo/tap-targets.js | title": {
1470
1458
  "message": "‏‮Tap‬‏ ‏‮targets‬‏ ‏‮are‬‏ ‏‮sized‬‏ ‏‮appropriately‬‏"
1471
1459
  },
1472
- "lighthouse-core/audits/server-response-time.js | description": {
1460
+ "core/audits/server-response-time.js | description": {
1473
1461
  "message": "‏‮Keep‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮document‬‏ ‏‮short‬‏ ‏‮because‬‏ ‏‮all‬‏ ‏‮other‬‏ ‏‮requests‬‏ ‏‮depend‬‏ ‏‮on‬‏ ‏‮it‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/time-to-first-byte/)."
1474
1462
  },
1475
- "lighthouse-core/audits/server-response-time.js | displayValue": {
1463
+ "core/audits/server-response-time.js | displayValue": {
1476
1464
  "message": "‏‮Root‬‏ ‏‮document‬‏ ‏‮took‬‏ {timeInMs, number, milliseconds} ‏‮ms‬‏"
1477
1465
  },
1478
- "lighthouse-core/audits/server-response-time.js | failureTitle": {
1466
+ "core/audits/server-response-time.js | failureTitle": {
1479
1467
  "message": "‏‮Reduce‬‏ ‏‮initial‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏"
1480
1468
  },
1481
- "lighthouse-core/audits/server-response-time.js | title": {
1469
+ "core/audits/server-response-time.js | title": {
1482
1470
  "message": "‏‮Initial‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏ ‏‮was‬‏ ‏‮short‬‏"
1483
1471
  },
1484
- "lighthouse-core/audits/service-worker.js | description": {
1472
+ "core/audits/service-worker.js | description": {
1485
1473
  "message": "‏‮The‬‏ ‏‮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‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/service-worker/)."
1486
1474
  },
1487
- "lighthouse-core/audits/service-worker.js | explanationBadManifest": {
1475
+ "core/audits/service-worker.js | explanationBadManifest": {
1488
1476
  "message": "‏‮This‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮controlled‬‏ ‏‮by‬‏ ‏‮a‬‏ ‏‮service‬‏ ‏‮worker‬‏, ‏‮however‬‏ ‏‮no‬‏ `start_url` ‏‮was‬‏ ‏‮found‬‏ ‏‮because‬‏ ‏‮manifest‬‏ ‏‮failed‬‏ ‏‮to‬‏ ‏‮parse‬‏ ‏‮as‬‏ ‏‮valid‬‏ ‏‮JSON‬‏"
1489
1477
  },
1490
- "lighthouse-core/audits/service-worker.js | explanationBadStartUrl": {
1478
+ "core/audits/service-worker.js | explanationBadStartUrl": {
1491
1479
  "message": "‏‮This‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮controlled‬‏ ‏‮by‬‏ ‏‮a‬‏ ‏‮service‬‏ ‏‮worker‬‏, ‏‮however‬‏ ‏‮the‬‏ `start_url` ({startUrl}) ‏‮is‬‏ ‏‮not‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮service‬‏ ‏‮worker‬‏'‏‮s‬‏ ‏‮scope‬‏ ({scopeUrl})"
1492
1480
  },
1493
- "lighthouse-core/audits/service-worker.js | explanationNoManifest": {
1481
+ "core/audits/service-worker.js | explanationNoManifest": {
1494
1482
  "message": "‏‮This‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮controlled‬‏ ‏‮by‬‏ ‏‮a‬‏ ‏‮service‬‏ ‏‮worker‬‏, ‏‮however‬‏ ‏‮no‬‏ `start_url` ‏‮was‬‏ ‏‮found‬‏ ‏‮because‬‏ ‏‮no‬‏ ‏‮manifest‬‏ ‏‮was‬‏ ‏‮fetched‬‏."
1495
1483
  },
1496
- "lighthouse-core/audits/service-worker.js | explanationOutOfScope": {
1484
+ "core/audits/service-worker.js | explanationOutOfScope": {
1497
1485
  "message": "‏‮This‬‏ ‏‮origin‬‏ ‏‮has‬‏ ‏‮one‬‏ ‏‮or‬‏ ‏‮more‬‏ ‏‮service‬‏ ‏‮workers‬‏, ‏‮however‬‏ ‏‮the‬‏ ‏‮page‬‏ ({pageUrl}) ‏‮is‬‏ ‏‮not‬‏ ‏‮in‬‏ ‏‮scope‬‏."
1498
1486
  },
1499
- "lighthouse-core/audits/service-worker.js | failureTitle": {
1487
+ "core/audits/service-worker.js | failureTitle": {
1500
1488
  "message": "‏‮Does‬‏ ‏‮not‬‏ ‏‮register‬‏ ‏‮a‬‏ ‏‮service‬‏ ‏‮worker‬‏ ‏‮that‬‏ ‏‮controls‬‏ ‏‮page‬‏ ‏‮and‬‏ `start_url`"
1501
1489
  },
1502
- "lighthouse-core/audits/service-worker.js | title": {
1490
+ "core/audits/service-worker.js | title": {
1503
1491
  "message": "‏‮Registers‬‏ ‏‮a‬‏ ‏‮service‬‏ ‏‮worker‬‏ ‏‮that‬‏ ‏‮controls‬‏ ‏‮page‬‏ ‏‮and‬‏ `start_url`"
1504
1492
  },
1505
- "lighthouse-core/audits/splash-screen.js | description": {
1493
+ "core/audits/splash-screen.js | description": {
1506
1494
  "message": "‏‮A‬‏ ‏‮themed‬‏ ‏‮splash‬‏ ‏‮screen‬‏ ‏‮ensures‬‏ ‏‮a‬‏ ‏‮high‬‏-‏‮quality‬‏ ‏‮experience‬‏ ‏‮when‬‏ ‏‮users‬‏ ‏‮launch‬‏ ‏‮your‬‏ ‏‮app‬‏ ‏‮from‬‏ ‏‮their‬‏ ‏‮homescreens‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/splash-screen/)."
1507
1495
  },
1508
- "lighthouse-core/audits/splash-screen.js | failureTitle": {
1496
+ "core/audits/splash-screen.js | failureTitle": {
1509
1497
  "message": "‏‮Is‬‏ ‏‮not‬‏ ‏‮configured‬‏ ‏‮for‬‏ ‏‮a‬‏ ‏‮custom‬‏ ‏‮splash‬‏ ‏‮screen‬‏"
1510
1498
  },
1511
- "lighthouse-core/audits/splash-screen.js | title": {
1499
+ "core/audits/splash-screen.js | title": {
1512
1500
  "message": "‏‮Configured‬‏ ‏‮for‬‏ ‏‮a‬‏ ‏‮custom‬‏ ‏‮splash‬‏ ‏‮screen‬‏"
1513
1501
  },
1514
- "lighthouse-core/audits/themed-omnibox.js | description": {
1502
+ "core/audits/themed-omnibox.js | description": {
1515
1503
  "message": "‏‮The‬‏ ‏‮browser‬‏ ‏‮address‬‏ ‏‮bar‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮themed‬‏ ‏‮to‬‏ ‏‮match‬‏ ‏‮your‬‏ ‏‮site‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/themed-omnibox/)."
1516
1504
  },
1517
- "lighthouse-core/audits/themed-omnibox.js | failureTitle": {
1505
+ "core/audits/themed-omnibox.js | failureTitle": {
1518
1506
  "message": "‏‮Does‬‏ ‏‮not‬‏ ‏‮set‬‏ ‏‮a‬‏ ‏‮theme‬‏ ‏‮color‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮address‬‏ ‏‮bar‬‏."
1519
1507
  },
1520
- "lighthouse-core/audits/themed-omnibox.js | title": {
1508
+ "core/audits/themed-omnibox.js | title": {
1521
1509
  "message": "‏‮Sets‬‏ ‏‮a‬‏ ‏‮theme‬‏ ‏‮color‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮address‬‏ ‏‮bar‬‏."
1522
1510
  },
1523
- "lighthouse-core/audits/third-party-facades.js | categoryCustomerSuccess": {
1511
+ "core/audits/third-party-facades.js | categoryCustomerSuccess": {
1524
1512
  "message": "{productName} (‏‮Customer‬‏ ‏‮Success‬‏)"
1525
1513
  },
1526
- "lighthouse-core/audits/third-party-facades.js | categoryMarketing": {
1514
+ "core/audits/third-party-facades.js | categoryMarketing": {
1527
1515
  "message": "{productName} (‏‮Marketing‬‏)"
1528
1516
  },
1529
- "lighthouse-core/audits/third-party-facades.js | categorySocial": {
1517
+ "core/audits/third-party-facades.js | categorySocial": {
1530
1518
  "message": "{productName} (‏‮Social‬‏)"
1531
1519
  },
1532
- "lighthouse-core/audits/third-party-facades.js | categoryVideo": {
1520
+ "core/audits/third-party-facades.js | categoryVideo": {
1533
1521
  "message": "{productName} (‏‮Video‬‏)"
1534
1522
  },
1535
- "lighthouse-core/audits/third-party-facades.js | columnProduct": {
1523
+ "core/audits/third-party-facades.js | columnProduct": {
1536
1524
  "message": "‏‮Product‬‏"
1537
1525
  },
1538
- "lighthouse-core/audits/third-party-facades.js | description": {
1526
+ "core/audits/third-party-facades.js | description": {
1539
1527
  "message": "‏‮Some‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮embeds‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮lazy‬‏ ‏‮loaded‬‏. ‏‮Consider‬‏ ‏‮replacing‬‏ ‏‮them‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮facade‬‏ ‏‮until‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮required‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/third-party-facades/)."
1540
1528
  },
1541
- "lighthouse-core/audits/third-party-facades.js | displayValue": {
1529
+ "core/audits/third-party-facades.js | displayValue": {
1542
1530
  "message": "{itemCount,plural, =1{# ‏‮facade‬‏ ‏‮alternative‬‏ ‏‮available‬‏}zero{# ‏‮facade‬‏ ‏‮alternatives‬‏ ‏‮available‬‏}two{# ‏‮facade‬‏ ‏‮alternatives‬‏ ‏‮available‬‏}few{# ‏‮facade‬‏ ‏‮alternatives‬‏ ‏‮available‬‏}many{# ‏‮facade‬‏ ‏‮alternatives‬‏ ‏‮available‬‏}other{# ‏‮facade‬‏ ‏‮alternatives‬‏ ‏‮available‬‏}}"
1543
1531
  },
1544
- "lighthouse-core/audits/third-party-facades.js | failureTitle": {
1532
+ "core/audits/third-party-facades.js | failureTitle": {
1545
1533
  "message": "‏‮Some‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮resources‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮lazy‬‏ ‏‮loaded‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮facade‬‏"
1546
1534
  },
1547
- "lighthouse-core/audits/third-party-facades.js | title": {
1535
+ "core/audits/third-party-facades.js | title": {
1548
1536
  "message": "‏‮Lazy‬‏ ‏‮load‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮resources‬‏ ‏‮with‬‏ ‏‮facades‬‏"
1549
1537
  },
1550
- "lighthouse-core/audits/third-party-summary.js | columnThirdParty": {
1538
+ "core/audits/third-party-summary.js | columnThirdParty": {
1551
1539
  "message": "‏‮Third‬‏-‏‮Party‬‏"
1552
1540
  },
1553
- "lighthouse-core/audits/third-party-summary.js | description": {
1541
+ "core/audits/third-party-summary.js | description": {
1554
1542
  "message": "‏‮Third‬‏-‏‮party‬‏ ‏‮code‬‏ ‏‮can‬‏ ‏‮significantly‬‏ ‏‮impact‬‏ ‏‮load‬‏ ‏‮performance‬‏. ‏‮Limit‬‏ ‏‮the‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮redundant‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮providers‬‏ ‏‮and‬‏ ‏‮try‬‏ ‏‮to‬‏ ‏‮load‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮code‬‏ ‏‮after‬‏ ‏‮your‬‏ ‏‮page‬‏ ‏‮has‬‏ ‏‮primarily‬‏ ‏‮finished‬‏ ‏‮loading‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/)."
1555
1543
  },
1556
- "lighthouse-core/audits/third-party-summary.js | displayValue": {
1544
+ "core/audits/third-party-summary.js | displayValue": {
1557
1545
  "message": "‏‮Third‬‏-‏‮party‬‏ ‏‮code‬‏ ‏‮blocked‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮thread‬‏ ‏‮for‬‏ {timeInMs, number, milliseconds} ‏‮ms‬‏"
1558
1546
  },
1559
- "lighthouse-core/audits/third-party-summary.js | failureTitle": {
1547
+ "core/audits/third-party-summary.js | failureTitle": {
1560
1548
  "message": "‏‮Reduce‬‏ ‏‮the‬‏ ‏‮impact‬‏ ‏‮of‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮code‬‏"
1561
1549
  },
1562
- "lighthouse-core/audits/third-party-summary.js | title": {
1550
+ "core/audits/third-party-summary.js | title": {
1563
1551
  "message": "‏‮Minimize‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮usage‬‏"
1564
1552
  },
1565
- "lighthouse-core/audits/timing-budget.js | columnMeasurement": {
1553
+ "core/audits/timing-budget.js | columnMeasurement": {
1566
1554
  "message": "‏‮Measurement‬‏"
1567
1555
  },
1568
- "lighthouse-core/audits/timing-budget.js | columnTimingMetric": {
1556
+ "core/audits/timing-budget.js | columnTimingMetric": {
1569
1557
  "message": "‏‮Metric‬‏"
1570
1558
  },
1571
- "lighthouse-core/audits/timing-budget.js | description": {
1559
+ "core/audits/timing-budget.js | description": {
1572
1560
  "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‬‏](https://developers.google.com/web/tools/lighthouse/audits/budgets)."
1573
1561
  },
1574
- "lighthouse-core/audits/timing-budget.js | title": {
1562
+ "core/audits/timing-budget.js | title": {
1575
1563
  "message": "‏‮Timing‬‏ ‏‮budget‬‏"
1576
1564
  },
1577
- "lighthouse-core/audits/unsized-images.js | description": {
1565
+ "core/audits/unsized-images.js | description": {
1578
1566
  "message": "‏‮Set‬‏ ‏‮an‬‏ ‏‮explicit‬‏ ‏‮width‬‏ ‏‮and‬‏ ‏‮height‬‏ ‏‮on‬‏ ‏‮image‬‏ ‏‮elements‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮layout‬‏ ‏‮shifts‬‏ ‏‮and‬‏ ‏‮improve‬‏ ‏‮CLS‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/optimize-cls/#images-without-dimensions)"
1579
1567
  },
1580
- "lighthouse-core/audits/unsized-images.js | failureTitle": {
1568
+ "core/audits/unsized-images.js | failureTitle": {
1581
1569
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮explicit‬‏ `width` ‏‮and‬‏ `height`"
1582
1570
  },
1583
- "lighthouse-core/audits/unsized-images.js | title": {
1571
+ "core/audits/unsized-images.js | title": {
1584
1572
  "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮explicit‬‏ `width` ‏‮and‬‏ `height`"
1585
1573
  },
1586
- "lighthouse-core/audits/user-timings.js | columnType": {
1574
+ "core/audits/user-timings.js | columnType": {
1587
1575
  "message": "‏‮Type‬‏"
1588
1576
  },
1589
- "lighthouse-core/audits/user-timings.js | description": {
1577
+ "core/audits/user-timings.js | description": {
1590
1578
  "message": "‏‮Consider‬‏ ‏‮instrumenting‬‏ ‏‮your‬‏ ‏‮app‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮User‬‏ ‏‮Timing‬‏ ‏‮API‬‏ ‏‮to‬‏ ‏‮measure‬‏ ‏‮your‬‏ ‏‮app‬‏'‏‮s‬‏ ‏‮real‬‏-‏‮world‬‏ ‏‮performance‬‏ ‏‮during‬‏ ‏‮key‬‏ ‏‮user‬‏ ‏‮experiences‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/user-timings/)."
1591
1579
  },
1592
- "lighthouse-core/audits/user-timings.js | displayValue": {
1580
+ "core/audits/user-timings.js | displayValue": {
1593
1581
  "message": "{itemCount,plural, =1{1 ‏‮user‬‏ ‏‮timing‬‏}zero{# ‏‮user‬‏ ‏‮timings‬‏}two{# ‏‮user‬‏ ‏‮timings‬‏}few{# ‏‮user‬‏ ‏‮timings‬‏}many{# ‏‮user‬‏ ‏‮timings‬‏}other{# ‏‮user‬‏ ‏‮timings‬‏}}"
1594
1582
  },
1595
- "lighthouse-core/audits/user-timings.js | title": {
1583
+ "core/audits/user-timings.js | title": {
1596
1584
  "message": "‏‮User‬‏ ‏‮Timing‬‏ ‏‮marks‬‏ ‏‮and‬‏ ‏‮measures‬‏"
1597
1585
  },
1598
- "lighthouse-core/audits/uses-rel-preconnect.js | crossoriginWarning": {
1586
+ "core/audits/uses-rel-preconnect.js | crossoriginWarning": {
1599
1587
  "message": "‏‮A‬‏ `<link rel=preconnect>` ‏‮was‬‏ ‏‮found‬‏ ‏‮for‬‏ \"{securityOrigin}\" ‏‮but‬‏ ‏‮was‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮by‬‏ ‏‮the‬‏ ‏‮browser‬‏. ‏‮Check‬‏ ‏‮that‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ ‏‮the‬‏ `crossorigin` ‏‮attribute‬‏ ‏‮properly‬‏."
1600
1588
  },
1601
- "lighthouse-core/audits/uses-rel-preconnect.js | description": {
1589
+ "core/audits/uses-rel-preconnect.js | description": {
1602
1590
  "message": "‏‮Consider‬‏ ‏‮adding‬‏ `preconnect` ‏‮or‬‏ `dns-prefetch` ‏‮resource‬‏ ‏‮hints‬‏ ‏‮to‬‏ ‏‮establish‬‏ ‏‮early‬‏ ‏‮connections‬‏ ‏‮to‬‏ ‏‮important‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮origins‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/uses-rel-preconnect/)."
1603
1591
  },
1604
- "lighthouse-core/audits/uses-rel-preconnect.js | title": {
1592
+ "core/audits/uses-rel-preconnect.js | title": {
1605
1593
  "message": "‏‮Preconnect‬‏ ‏‮to‬‏ ‏‮required‬‏ ‏‮origins‬‏"
1606
1594
  },
1607
- "lighthouse-core/audits/uses-rel-preconnect.js | tooManyPreconnectLinksWarning": {
1595
+ "core/audits/uses-rel-preconnect.js | tooManyPreconnectLinksWarning": {
1608
1596
  "message": "‏‮More‬‏ ‏‮than‬‏ 2 `<link rel=preconnect>` ‏‮connections‬‏ ‏‮were‬‏ ‏‮found‬‏. ‏‮These‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮used‬‏ ‏‮sparingly‬‏ ‏‮and‬‏ ‏‮only‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮most‬‏ ‏‮important‬‏ ‏‮origins‬‏."
1609
1597
  },
1610
- "lighthouse-core/audits/uses-rel-preconnect.js | unusedWarning": {
1598
+ "core/audits/uses-rel-preconnect.js | unusedWarning": {
1611
1599
  "message": "‏‮A‬‏ `<link rel=preconnect>` ‏‮was‬‏ ‏‮found‬‏ ‏‮for‬‏ \"{securityOrigin}\" ‏‮but‬‏ ‏‮was‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮by‬‏ ‏‮the‬‏ ‏‮browser‬‏. ‏‮Only‬‏ ‏‮use‬‏ `preconnect` ‏‮for‬‏ ‏‮important‬‏ ‏‮origins‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮will‬‏ ‏‮certainly‬‏ ‏‮request‬‏."
1612
1600
  },
1613
- "lighthouse-core/audits/uses-rel-preload.js | crossoriginWarning": {
1601
+ "core/audits/uses-rel-preload.js | crossoriginWarning": {
1614
1602
  "message": "‏‮A‬‏ ‏‮preload‬‏ `<link>` ‏‮was‬‏ ‏‮found‬‏ ‏‮for‬‏ \"{preloadURL}\" ‏‮but‬‏ ‏‮was‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮by‬‏ ‏‮the‬‏ ‏‮browser‬‏. ‏‮Check‬‏ ‏‮that‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ ‏‮the‬‏ `crossorigin` ‏‮attribute‬‏ ‏‮properly‬‏."
1615
1603
  },
1616
- "lighthouse-core/audits/uses-rel-preload.js | description": {
1604
+ "core/audits/uses-rel-preload.js | description": {
1617
1605
  "message": "‏‮Consider‬‏ ‏‮using‬‏ `<link rel=preload>` ‏‮to‬‏ ‏‮prioritize‬‏ ‏‮fetching‬‏ ‏‮resources‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮currently‬‏ ‏‮requested‬‏ ‏‮later‬‏ ‏‮in‬‏ ‏‮page‬‏ ‏‮load‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/uses-rel-preload/)."
1618
1606
  },
1619
- "lighthouse-core/audits/uses-rel-preload.js | title": {
1607
+ "core/audits/uses-rel-preload.js | title": {
1620
1608
  "message": "‏‮Preload‬‏ ‏‮key‬‏ ‏‮requests‬‏"
1621
1609
  },
1622
- "lighthouse-core/audits/valid-source-maps.js | columnMapURL": {
1610
+ "core/audits/valid-source-maps.js | columnMapURL": {
1623
1611
  "message": "‏‮Map‬‏ ‏‮URL‬‏"
1624
1612
  },
1625
- "lighthouse-core/audits/valid-source-maps.js | description": {
1613
+ "core/audits/valid-source-maps.js | description": {
1626
1614
  "message": "‏‮Source‬‏ ‏‮maps‬‏ ‏‮translate‬‏ ‏‮minified‬‏ ‏‮code‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮original‬‏ ‏‮source‬‏ ‏‮code‬‏. ‏‮This‬‏ ‏‮helps‬‏ ‏‮developers‬‏ ‏‮debug‬‏ ‏‮in‬‏ ‏‮production‬‏. ‏‮In‬‏ ‏‮addition‬‏, ‏‮Lighthouse‬‏ ‏‮is‬‏ ‏‮able‬‏ ‏‮to‬‏ ‏‮provide‬‏ ‏‮further‬‏ ‏‮insights‬‏. ‏‮Consider‬‏ ‏‮deploying‬‏ ‏‮source‬‏ ‏‮maps‬‏ ‏‮to‬‏ ‏‮take‬‏ ‏‮advantage‬‏ ‏‮of‬‏ ‏‮these‬‏ ‏‮benefits‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps)."
1627
1615
  },
1628
- "lighthouse-core/audits/valid-source-maps.js | failureTitle": {
1616
+ "core/audits/valid-source-maps.js | failureTitle": {
1629
1617
  "message": "‏‮Missing‬‏ ‏‮source‬‏ ‏‮maps‬‏ ‏‮for‬‏ ‏‮large‬‏ ‏‮first‬‏-‏‮party‬‏ ‏‮JavaScript‬‏"
1630
1618
  },
1631
- "lighthouse-core/audits/valid-source-maps.js | missingSourceMapErrorMessage": {
1619
+ "core/audits/valid-source-maps.js | missingSourceMapErrorMessage": {
1632
1620
  "message": "‏‮Large‬‏ ‏‮JavaScript‬‏ ‏‮file‬‏ ‏‮is‬‏ ‏‮missing‬‏ ‏‮a‬‏ ‏‮source‬‏ ‏‮map‬‏"
1633
1621
  },
1634
- "lighthouse-core/audits/valid-source-maps.js | missingSourceMapItemsWarningMesssage": {
1622
+ "core/audits/valid-source-maps.js | missingSourceMapItemsWarningMesssage": {
1635
1623
  "message": "{missingItems,plural, =1{‏‮Warning‬‏: ‏‮missing‬‏ 1 ‏‮item‬‏ ‏‮in‬‏ `.sourcesContent`}zero{‏‮Warning‬‏: ‏‮missing‬‏ # ‏‮items‬‏ ‏‮in‬‏ `.sourcesContent`}two{‏‮Warning‬‏: ‏‮missing‬‏ # ‏‮items‬‏ ‏‮in‬‏ `.sourcesContent`}few{‏‮Warning‬‏: ‏‮missing‬‏ # ‏‮items‬‏ ‏‮in‬‏ `.sourcesContent`}many{‏‮Warning‬‏: ‏‮missing‬‏ # ‏‮items‬‏ ‏‮in‬‏ `.sourcesContent`}other{‏‮Warning‬‏: ‏‮missing‬‏ # ‏‮items‬‏ ‏‮in‬‏ `.sourcesContent`}}"
1636
1624
  },
1637
- "lighthouse-core/audits/valid-source-maps.js | title": {
1625
+ "core/audits/valid-source-maps.js | title": {
1638
1626
  "message": "‏‮Page‬‏ ‏‮has‬‏ ‏‮valid‬‏ ‏‮source‬‏ ‏‮maps‬‏"
1639
1627
  },
1640
- "lighthouse-core/audits/viewport.js | description": {
1628
+ "core/audits/viewport.js | description": {
1641
1629
  "message": "‏‮A‬‏ `<meta name=\"viewport\">` ‏‮not‬‏ ‏‮only‬‏ ‏‮optimizes‬‏ ‏‮your‬‏ ‏‮app‬‏ ‏‮for‬‏ ‏‮mobile‬‏ ‏‮screen‬‏ ‏‮sizes‬‏, ‏‮but‬‏ ‏‮also‬‏ ‏‮prevents‬‏ [‏‮a‬‏ 300 ‏‮millisecond‬‏ ‏‮delay‬‏ ‏‮to‬‏ ‏‮user‬‏ ‏‮input‬‏](https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away). [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/viewport/)."
1642
1630
  },
1643
- "lighthouse-core/audits/viewport.js | explanationNoTag": {
1631
+ "core/audits/viewport.js | explanationNoTag": {
1644
1632
  "message": "‏‮No‬‏ `<meta name=\"viewport\">` ‏‮tag‬‏ ‏‮found‬‏"
1645
1633
  },
1646
- "lighthouse-core/audits/viewport.js | failureTitle": {
1634
+ "core/audits/viewport.js | failureTitle": {
1647
1635
  "message": "‏‮Does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ `<meta name=\"viewport\">` ‏‮tag‬‏ ‏‮with‬‏ `width` ‏‮or‬‏ `initial-scale`"
1648
1636
  },
1649
- "lighthouse-core/audits/viewport.js | title": {
1637
+ "core/audits/viewport.js | title": {
1650
1638
  "message": "‏‮Has‬‏ ‏‮a‬‏ `<meta name=\"viewport\">` ‏‮tag‬‏ ‏‮with‬‏ `width` ‏‮or‬‏ `initial-scale`"
1651
1639
  },
1652
- "lighthouse-core/config/default-config.js | a11yAriaGroupDescription": {
1640
+ "core/config/default-config.js | a11yAriaGroupDescription": {
1653
1641
  "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮usage‬‏ ‏‮of‬‏ ‏‮ARIA‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮application‬‏ ‏‮which‬‏ ‏‮may‬‏ ‏‮enhance‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technology‬‏, ‏‮like‬‏ ‏‮a‬‏ ‏‮screen‬‏ ‏‮reader‬‏."
1654
1642
  },
1655
- "lighthouse-core/config/default-config.js | a11yAriaGroupTitle": {
1643
+ "core/config/default-config.js | a11yAriaGroupTitle": {
1656
1644
  "message": "‏‮ARIA‬‏"
1657
1645
  },
1658
- "lighthouse-core/config/default-config.js | a11yAudioVideoGroupDescription": {
1646
+ "core/config/default-config.js | a11yAudioVideoGroupDescription": {
1659
1647
  "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮provide‬‏ ‏‮alternative‬‏ ‏‮content‬‏ ‏‮for‬‏ ‏‮audio‬‏ ‏‮and‬‏ ‏‮video‬‏. ‏‮This‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮with‬‏ ‏‮hearing‬‏ ‏‮or‬‏ ‏‮vision‬‏ ‏‮impairments‬‏."
1660
1648
  },
1661
- "lighthouse-core/config/default-config.js | a11yAudioVideoGroupTitle": {
1649
+ "core/config/default-config.js | a11yAudioVideoGroupTitle": {
1662
1650
  "message": "‏‮Audio‬‏ ‏‮and‬‏ ‏‮video‬‏"
1663
1651
  },
1664
- "lighthouse-core/config/default-config.js | a11yBestPracticesGroupDescription": {
1652
+ "core/config/default-config.js | a11yBestPracticesGroupDescription": {
1665
1653
  "message": "‏‮These‬‏ ‏‮items‬‏ ‏‮highlight‬‏ ‏‮common‬‏ ‏‮accessibility‬‏ ‏‮best‬‏ ‏‮practices‬‏."
1666
1654
  },
1667
- "lighthouse-core/config/default-config.js | a11yBestPracticesGroupTitle": {
1655
+ "core/config/default-config.js | a11yBestPracticesGroupTitle": {
1668
1656
  "message": "‏‮Best‬‏ ‏‮practices‬‏"
1669
1657
  },
1670
- "lighthouse-core/config/default-config.js | a11yCategoryDescription": {
1658
+ "core/config/default-config.js | a11yCategoryDescription": {
1671
1659
  "message": "‏‮These‬‏ ‏‮checks‬‏ ‏‮highlight‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ [‏‮improve‬‏ ‏‮the‬‏ ‏‮accessibility‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮web‬‏ ‏‮app‬‏](https://developers.google.com/web/fundamentals/accessibility). ‏‮Only‬‏ ‏‮a‬‏ ‏‮subset‬‏ ‏‮of‬‏ ‏‮accessibility‬‏ ‏‮issues‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮automatically‬‏ ‏‮detected‬‏ ‏‮so‬‏ ‏‮manual‬‏ ‏‮testing‬‏ ‏‮is‬‏ ‏‮also‬‏ ‏‮encouraged‬‏."
1672
1660
  },
1673
- "lighthouse-core/config/default-config.js | a11yCategoryManualDescription": {
1661
+ "core/config/default-config.js | a11yCategoryManualDescription": {
1674
1662
  "message": "‏‮These‬‏ ‏‮items‬‏ ‏‮address‬‏ ‏‮areas‬‏ ‏‮which‬‏ ‏‮an‬‏ ‏‮automated‬‏ ‏‮testing‬‏ ‏‮tool‬‏ ‏‮cannot‬‏ ‏‮cover‬‏. ‏‮Learn‬‏ ‏‮more‬‏ ‏‮in‬‏ ‏‮our‬‏ ‏‮guide‬‏ ‏‮on‬‏ [‏‮conducting‬‏ ‏‮an‬‏ ‏‮accessibility‬‏ ‏‮review‬‏](https://developers.google.com/web/fundamentals/accessibility/how-to-review)."
1675
1663
  },
1676
- "lighthouse-core/config/default-config.js | a11yCategoryTitle": {
1664
+ "core/config/default-config.js | a11yCategoryTitle": {
1677
1665
  "message": "‏‮Accessibility‬‏"
1678
1666
  },
1679
- "lighthouse-core/config/default-config.js | a11yColorContrastGroupDescription": {
1667
+ "core/config/default-config.js | a11yColorContrastGroupDescription": {
1680
1668
  "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮legibility‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮content‬‏."
1681
1669
  },
1682
- "lighthouse-core/config/default-config.js | a11yColorContrastGroupTitle": {
1670
+ "core/config/default-config.js | a11yColorContrastGroupTitle": {
1683
1671
  "message": "‏‮Contrast‬‏"
1684
1672
  },
1685
- "lighthouse-core/config/default-config.js | a11yLanguageGroupDescription": {
1673
+ "core/config/default-config.js | a11yLanguageGroupDescription": {
1686
1674
  "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮interpretation‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮content‬‏ ‏‮by‬‏ ‏‮users‬‏ ‏‮in‬‏ ‏‮different‬‏ ‏‮locales‬‏."
1687
1675
  },
1688
- "lighthouse-core/config/default-config.js | a11yLanguageGroupTitle": {
1676
+ "core/config/default-config.js | a11yLanguageGroupTitle": {
1689
1677
  "message": "‏‮Internationalization‬‏ ‏‮and‬‏ ‏‮localization‬‏"
1690
1678
  },
1691
- "lighthouse-core/config/default-config.js | a11yNamesLabelsGroupDescription": {
1679
+ "core/config/default-config.js | a11yNamesLabelsGroupDescription": {
1692
1680
  "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮semantics‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮controls‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮application‬‏. ‏‮This‬‏ ‏‮may‬‏ ‏‮enhance‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technology‬‏, ‏‮like‬‏ ‏‮a‬‏ ‏‮screen‬‏ ‏‮reader‬‏."
1693
1681
  },
1694
- "lighthouse-core/config/default-config.js | a11yNamesLabelsGroupTitle": {
1682
+ "core/config/default-config.js | a11yNamesLabelsGroupTitle": {
1695
1683
  "message": "‏‮Names‬‏ ‏‮and‬‏ ‏‮labels‬‏"
1696
1684
  },
1697
- "lighthouse-core/config/default-config.js | a11yNavigationGroupDescription": {
1685
+ "core/config/default-config.js | a11yNavigationGroupDescription": {
1698
1686
  "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮keyboard‬‏ ‏‮navigation‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮application‬‏."
1699
1687
  },
1700
- "lighthouse-core/config/default-config.js | a11yNavigationGroupTitle": {
1688
+ "core/config/default-config.js | a11yNavigationGroupTitle": {
1701
1689
  "message": "‏‮Navigation‬‏"
1702
1690
  },
1703
- "lighthouse-core/config/default-config.js | a11yTablesListsVideoGroupDescription": {
1691
+ "core/config/default-config.js | a11yTablesListsVideoGroupDescription": {
1704
1692
  "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮of‬‏ ‏‮reading‬‏ ‏‮tabular‬‏ ‏‮or‬‏ ‏‮list‬‏ ‏‮data‬‏ ‏‮using‬‏ ‏‮assistive‬‏ ‏‮technology‬‏, ‏‮like‬‏ ‏‮a‬‏ ‏‮screen‬‏ ‏‮reader‬‏."
1705
1693
  },
1706
- "lighthouse-core/config/default-config.js | a11yTablesListsVideoGroupTitle": {
1694
+ "core/config/default-config.js | a11yTablesListsVideoGroupTitle": {
1707
1695
  "message": "‏‮Tables‬‏ ‏‮and‬‏ ‏‮lists‬‏"
1708
1696
  },
1709
- "lighthouse-core/config/default-config.js | bestPracticesBrowserCompatGroupTitle": {
1697
+ "core/config/default-config.js | bestPracticesBrowserCompatGroupTitle": {
1710
1698
  "message": "‏‮Browser‬‏ ‏‮Compatibility‬‏"
1711
1699
  },
1712
- "lighthouse-core/config/default-config.js | bestPracticesCategoryTitle": {
1700
+ "core/config/default-config.js | bestPracticesCategoryTitle": {
1713
1701
  "message": "‏‮Best‬‏ ‏‮Practices‬‏"
1714
1702
  },
1715
- "lighthouse-core/config/default-config.js | bestPracticesGeneralGroupTitle": {
1703
+ "core/config/default-config.js | bestPracticesGeneralGroupTitle": {
1716
1704
  "message": "‏‮General‬‏"
1717
1705
  },
1718
- "lighthouse-core/config/default-config.js | bestPracticesTrustSafetyGroupTitle": {
1706
+ "core/config/default-config.js | bestPracticesTrustSafetyGroupTitle": {
1719
1707
  "message": "‏‮Trust‬‏ ‏‮and‬‏ ‏‮Safety‬‏"
1720
1708
  },
1721
- "lighthouse-core/config/default-config.js | bestPracticesUXGroupTitle": {
1709
+ "core/config/default-config.js | bestPracticesUXGroupTitle": {
1722
1710
  "message": "‏‮User‬‏ ‏‮Experience‬‏"
1723
1711
  },
1724
- "lighthouse-core/config/default-config.js | budgetsGroupDescription": {
1712
+ "core/config/default-config.js | budgetsGroupDescription": {
1725
1713
  "message": "‏‮Performance‬‏ ‏‮budgets‬‏ ‏‮set‬‏ ‏‮standards‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮performance‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮site‬‏."
1726
1714
  },
1727
- "lighthouse-core/config/default-config.js | budgetsGroupTitle": {
1715
+ "core/config/default-config.js | budgetsGroupTitle": {
1728
1716
  "message": "‏‮Budgets‬‏"
1729
1717
  },
1730
- "lighthouse-core/config/default-config.js | diagnosticsGroupDescription": {
1718
+ "core/config/default-config.js | diagnosticsGroupDescription": {
1731
1719
  "message": "‏‮More‬‏ ‏‮information‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮performance‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮application‬‏. ‏‮These‬‏ ‏‮numbers‬‏ ‏‮don‬‏'‏‮t‬‏ [‏‮directly‬‏ ‏‮affect‬‏](https://web.dev/performance-scoring/) ‏‮the‬‏ ‏‮Performance‬‏ ‏‮score‬‏."
1732
1720
  },
1733
- "lighthouse-core/config/default-config.js | diagnosticsGroupTitle": {
1721
+ "core/config/default-config.js | diagnosticsGroupTitle": {
1734
1722
  "message": "‏‮Diagnostics‬‏"
1735
1723
  },
1736
- "lighthouse-core/config/default-config.js | firstPaintImprovementsGroupDescription": {
1724
+ "core/config/default-config.js | firstPaintImprovementsGroupDescription": {
1737
1725
  "message": "‏‮The‬‏ ‏‮most‬‏ ‏‮critical‬‏ ‏‮aspect‬‏ ‏‮of‬‏ ‏‮performance‬‏ ‏‮is‬‏ ‏‮how‬‏ ‏‮quickly‬‏ ‏‮pixels‬‏ ‏‮are‬‏ ‏‮rendered‬‏ ‏‮onscreen‬‏. ‏‮Key‬‏ ‏‮metrics‬‏: ‏‮First‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏, ‏‮First‬‏ ‏‮Meaningful‬‏ ‏‮Paint‬‏"
1738
1726
  },
1739
- "lighthouse-core/config/default-config.js | firstPaintImprovementsGroupTitle": {
1727
+ "core/config/default-config.js | firstPaintImprovementsGroupTitle": {
1740
1728
  "message": "‏‮First‬‏ ‏‮Paint‬‏ ‏‮Improvements‬‏"
1741
1729
  },
1742
- "lighthouse-core/config/default-config.js | loadOpportunitiesGroupDescription": {
1730
+ "core/config/default-config.js | loadOpportunitiesGroupDescription": {
1743
1731
  "message": "‏‮These‬‏ ‏‮suggestions‬‏ ‏‮can‬‏ ‏‮help‬‏ ‏‮your‬‏ ‏‮page‬‏ ‏‮load‬‏ ‏‮faster‬‏. ‏‮They‬‏ ‏‮don‬‏'‏‮t‬‏ [‏‮directly‬‏ ‏‮affect‬‏](https://web.dev/performance-scoring/) ‏‮the‬‏ ‏‮Performance‬‏ ‏‮score‬‏."
1744
1732
  },
1745
- "lighthouse-core/config/default-config.js | loadOpportunitiesGroupTitle": {
1733
+ "core/config/default-config.js | loadOpportunitiesGroupTitle": {
1746
1734
  "message": "‏‮Opportunities‬‏"
1747
1735
  },
1748
- "lighthouse-core/config/default-config.js | metricGroupTitle": {
1736
+ "core/config/default-config.js | metricGroupTitle": {
1749
1737
  "message": "‏‮Metrics‬‏"
1750
1738
  },
1751
- "lighthouse-core/config/default-config.js | overallImprovementsGroupDescription": {
1739
+ "core/config/default-config.js | overallImprovementsGroupDescription": {
1752
1740
  "message": "‏‮Enhance‬‏ ‏‮the‬‏ ‏‮overall‬‏ ‏‮loading‬‏ ‏‮experience‬‏, ‏‮so‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮responsive‬‏ ‏‮and‬‏ ‏‮ready‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮as‬‏ ‏‮soon‬‏ ‏‮as‬‏ ‏‮possible‬‏. ‏‮Key‬‏ ‏‮metrics‬‏: ‏‮Time‬‏ ‏‮to‬‏ ‏‮Interactive‬‏, ‏‮Speed‬‏ ‏‮Index‬‏"
1753
1741
  },
1754
- "lighthouse-core/config/default-config.js | overallImprovementsGroupTitle": {
1742
+ "core/config/default-config.js | overallImprovementsGroupTitle": {
1755
1743
  "message": "‏‮Overall‬‏ ‏‮Improvements‬‏"
1756
1744
  },
1757
- "lighthouse-core/config/default-config.js | performanceCategoryTitle": {
1745
+ "core/config/default-config.js | performanceCategoryTitle": {
1758
1746
  "message": "‏‮Performance‬‏"
1759
1747
  },
1760
- "lighthouse-core/config/default-config.js | pwaCategoryDescription": {
1748
+ "core/config/default-config.js | pwaCategoryDescription": {
1761
1749
  "message": "‏‮These‬‏ ‏‮checks‬‏ ‏‮validate‬‏ ‏‮the‬‏ ‏‮aspects‬‏ ‏‮of‬‏ ‏‮a‬‏ ‏‮Progressive‬‏ ‏‮Web‬‏ ‏‮App‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://developers.google.com/web/progressive-web-apps/checklist)."
1762
1750
  },
1763
- "lighthouse-core/config/default-config.js | pwaCategoryManualDescription": {
1751
+ "core/config/default-config.js | pwaCategoryManualDescription": {
1764
1752
  "message": "‏‮These‬‏ ‏‮checks‬‏ ‏‮are‬‏ ‏‮required‬‏ ‏‮by‬‏ ‏‮the‬‏ ‏‮baseline‬‏ [‏‮PWA‬‏ ‏‮Checklist‬‏](https://developers.google.com/web/progressive-web-apps/checklist) ‏‮but‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮automatically‬‏ ‏‮checked‬‏ ‏‮by‬‏ ‏‮Lighthouse‬‏. ‏‮They‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮affect‬‏ ‏‮your‬‏ ‏‮score‬‏ ‏‮but‬‏ ‏‮it‬‏'‏‮s‬‏ ‏‮important‬‏ ‏‮that‬‏ ‏‮you‬‏ ‏‮verify‬‏ ‏‮them‬‏ ‏‮manually‬‏."
1765
1753
  },
1766
- "lighthouse-core/config/default-config.js | pwaCategoryTitle": {
1754
+ "core/config/default-config.js | pwaCategoryTitle": {
1767
1755
  "message": "‏‮PWA‬‏"
1768
1756
  },
1769
- "lighthouse-core/config/default-config.js | pwaInstallableGroupTitle": {
1757
+ "core/config/default-config.js | pwaInstallableGroupTitle": {
1770
1758
  "message": "‏‮Installable‬‏"
1771
1759
  },
1772
- "lighthouse-core/config/default-config.js | pwaOptimizedGroupTitle": {
1760
+ "core/config/default-config.js | pwaOptimizedGroupTitle": {
1773
1761
  "message": "‏‮PWA‬‏ ‏‮Optimized‬‏"
1774
1762
  },
1775
- "lighthouse-core/config/default-config.js | seoCategoryDescription": {
1763
+ "core/config/default-config.js | seoCategoryDescription": {
1776
1764
  "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/learn-web-vitals/). [‏‮Learn‬‏ ‏‮more‬‏](https://support.google.com/webmasters/answer/35769)."
1777
1765
  },
1778
- "lighthouse-core/config/default-config.js | seoCategoryManualDescription": {
1766
+ "core/config/default-config.js | seoCategoryManualDescription": {
1779
1767
  "message": "‏‮Run‬‏ ‏‮these‬‏ ‏‮additional‬‏ ‏‮validators‬‏ ‏‮on‬‏ ‏‮your‬‏ ‏‮site‬‏ ‏‮to‬‏ ‏‮check‬‏ ‏‮additional‬‏ ‏‮SEO‬‏ ‏‮best‬‏ ‏‮practices‬‏."
1780
1768
  },
1781
- "lighthouse-core/config/default-config.js | seoCategoryTitle": {
1769
+ "core/config/default-config.js | seoCategoryTitle": {
1782
1770
  "message": "‏‮SEO‬‏"
1783
1771
  },
1784
- "lighthouse-core/config/default-config.js | seoContentGroupDescription": {
1772
+ "core/config/default-config.js | seoContentGroupDescription": {
1785
1773
  "message": "‏‮Format‬‏ ‏‮your‬‏ ‏‮HTML‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮way‬‏ ‏‮that‬‏ ‏‮enables‬‏ ‏‮crawlers‬‏ ‏‮to‬‏ ‏‮better‬‏ ‏‮understand‬‏ ‏‮your‬‏ ‏‮app‬‏’‏‮s‬‏ ‏‮content‬‏."
1786
1774
  },
1787
- "lighthouse-core/config/default-config.js | seoContentGroupTitle": {
1775
+ "core/config/default-config.js | seoContentGroupTitle": {
1788
1776
  "message": "‏‮Content‬‏ ‏‮Best‬‏ ‏‮Practices‬‏"
1789
1777
  },
1790
- "lighthouse-core/config/default-config.js | seoCrawlingGroupDescription": {
1778
+ "core/config/default-config.js | seoCrawlingGroupDescription": {
1791
1779
  "message": "‏‮To‬‏ ‏‮appear‬‏ ‏‮in‬‏ ‏‮search‬‏ ‏‮results‬‏, ‏‮crawlers‬‏ ‏‮need‬‏ ‏‮access‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮app‬‏."
1792
1780
  },
1793
- "lighthouse-core/config/default-config.js | seoCrawlingGroupTitle": {
1781
+ "core/config/default-config.js | seoCrawlingGroupTitle": {
1794
1782
  "message": "‏‮Crawling‬‏ ‏‮and‬‏ ‏‮Indexing‬‏"
1795
1783
  },
1796
- "lighthouse-core/config/default-config.js | seoMobileGroupDescription": {
1784
+ "core/config/default-config.js | seoMobileGroupDescription": {
1797
1785
  "message": "‏‮Make‬‏ ‏‮sure‬‏ ‏‮your‬‏ ‏‮pages‬‏ ‏‮are‬‏ ‏‮mobile‬‏ ‏‮friendly‬‏ ‏‮so‬‏ ‏‮users‬‏ ‏‮don‬‏’‏‮t‬‏ ‏‮have‬‏ ‏‮to‬‏ ‏‮pinch‬‏ ‏‮or‬‏ ‏‮zoom‬‏ ‏‮in‬‏ ‏‮order‬‏ ‏‮to‬‏ ‏‮read‬‏ ‏‮the‬‏ ‏‮content‬‏ ‏‮pages‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://developers.google.com/search/mobile-sites/)."
1798
1786
  },
1799
- "lighthouse-core/config/default-config.js | seoMobileGroupTitle": {
1787
+ "core/config/default-config.js | seoMobileGroupTitle": {
1800
1788
  "message": "‏‮Mobile‬‏ ‏‮Friendly‬‏"
1801
1789
  },
1802
- "lighthouse-core/gather/driver/environment.js | warningSlowHostCpu": {
1790
+ "core/gather/driver/environment.js | warningSlowHostCpu": {
1803
1791
  "message": "‏‮The‬‏ ‏‮tested‬‏ ‏‮device‬‏ ‏‮appears‬‏ ‏‮to‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮slower‬‏ ‏‮CPU‬‏ ‏‮than‬‏ ‏‮Lighthouse‬‏ ‏‮expects‬‏. ‏‮This‬‏ ‏‮can‬‏ ‏‮negatively‬‏ ‏‮affect‬‏ ‏‮your‬‏ ‏‮performance‬‏ ‏‮score‬‏. ‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ [‏‮calibrating‬‏ ‏‮an‬‏ ‏‮appropriate‬‏ ‏‮CPU‬‏ ‏‮slowdown‬‏ ‏‮multiplier‬‏](https://github.com/GoogleChrome/lighthouse/blob/master/docs/throttling.md#cpu-throttling)."
1804
1792
  },
1805
- "lighthouse-core/gather/driver/navigation.js | warningRedirected": {
1793
+ "core/gather/driver/navigation.js | warningRedirected": {
1806
1794
  "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮loading‬‏ ‏‮as‬‏ ‏‮expected‬‏ ‏‮because‬‏ ‏‮your‬‏ ‏‮test‬‏ ‏‮URL‬‏ ({requested}) ‏‮was‬‏ ‏‮redirected‬‏ ‏‮to‬‏ {final}. ‏‮Try‬‏ ‏‮testing‬‏ ‏‮the‬‏ ‏‮second‬‏ ‏‮URL‬‏ ‏‮directly‬‏."
1807
1795
  },
1808
- "lighthouse-core/gather/driver/navigation.js | warningTimeout": {
1796
+ "core/gather/driver/navigation.js | warningTimeout": {
1809
1797
  "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮loaded‬‏ ‏‮too‬‏ ‏‮slowly‬‏ ‏‮to‬‏ ‏‮finish‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮time‬‏ ‏‮limit‬‏. ‏‮Results‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮incomplete‬‏."
1810
1798
  },
1811
- "lighthouse-core/gather/driver/storage.js | warningData": {
1799
+ "core/gather/driver/storage.js | warningData": {
1812
1800
  "message": "{locationCount,plural, =1{‏‮There‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮stored‬‏ ‏‮data‬‏ ‏‮affecting‬‏ ‏‮loading‬‏ ‏‮performance‬‏ ‏‮in‬‏ ‏‮this‬‏ ‏‮location‬‏: {locations}. ‏‮Audit‬‏ ‏‮this‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮incognito‬‏ ‏‮window‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮resources‬‏ ‏‮from‬‏ ‏‮affecting‬‏ ‏‮your‬‏ ‏‮scores‬‏.}zero{‏‮There‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮stored‬‏ ‏‮data‬‏ ‏‮affecting‬‏ ‏‮loading‬‏ ‏‮performance‬‏ ‏‮in‬‏ ‏‮these‬‏ ‏‮locations‬‏: {locations}. ‏‮Audit‬‏ ‏‮this‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮incognito‬‏ ‏‮window‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮resources‬‏ ‏‮from‬‏ ‏‮affecting‬‏ ‏‮your‬‏ ‏‮scores‬‏.}two{‏‮There‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮stored‬‏ ‏‮data‬‏ ‏‮affecting‬‏ ‏‮loading‬‏ ‏‮performance‬‏ ‏‮in‬‏ ‏‮these‬‏ ‏‮locations‬‏: {locations}. ‏‮Audit‬‏ ‏‮this‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮incognito‬‏ ‏‮window‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮resources‬‏ ‏‮from‬‏ ‏‮affecting‬‏ ‏‮your‬‏ ‏‮scores‬‏.}few{‏‮There‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮stored‬‏ ‏‮data‬‏ ‏‮affecting‬‏ ‏‮loading‬‏ ‏‮performance‬‏ ‏‮in‬‏ ‏‮these‬‏ ‏‮locations‬‏: {locations}. ‏‮Audit‬‏ ‏‮this‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮incognito‬‏ ‏‮window‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮resources‬‏ ‏‮from‬‏ ‏‮affecting‬‏ ‏‮your‬‏ ‏‮scores‬‏.}many{‏‮There‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮stored‬‏ ‏‮data‬‏ ‏‮affecting‬‏ ‏‮loading‬‏ ‏‮performance‬‏ ‏‮in‬‏ ‏‮these‬‏ ‏‮locations‬‏: {locations}. ‏‮Audit‬‏ ‏‮this‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮incognito‬‏ ‏‮window‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮resources‬‏ ‏‮from‬‏ ‏‮affecting‬‏ ‏‮your‬‏ ‏‮scores‬‏.}other{‏‮There‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮stored‬‏ ‏‮data‬‏ ‏‮affecting‬‏ ‏‮loading‬‏ ‏‮performance‬‏ ‏‮in‬‏ ‏‮these‬‏ ‏‮locations‬‏: {locations}. ‏‮Audit‬‏ ‏‮this‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮incognito‬‏ ‏‮window‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮resources‬‏ ‏‮from‬‏ ‏‮affecting‬‏ ‏‮your‬‏ ‏‮scores‬‏.}}"
1813
1801
  },
1814
- "lighthouse-core/lib/csp-evaluator.js | allowlistFallback": {
1802
+ "core/lib/csp-evaluator.js | allowlistFallback": {
1815
1803
  "message": "‏‮Consider‬‏ ‏‮adding‬‏ ‏‮https‬‏: ‏‮and‬‏ ‏‮http‬‏: ‏‮URL‬‏ ‏‮schemes‬‏ (‏‮ignored‬‏ ‏‮by‬‏ ‏‮browsers‬‏ ‏‮supporting‬‏ '‏‮strict‬‏-‏‮dynamic‬‏') ‏‮to‬‏ ‏‮be‬‏ ‏‮backward‬‏ ‏‮compatible‬‏ ‏‮with‬‏ ‏‮older‬‏ ‏‮browsers‬‏."
1816
1804
  },
1817
- "lighthouse-core/lib/csp-evaluator.js | deprecatedDisownOpener": {
1805
+ "core/lib/csp-evaluator.js | deprecatedDisownOpener": {
1818
1806
  "message": "‏‮disown‬‏-‏‮opener‬‏ ‏‮is‬‏ ‏‮deprecated‬‏ ‏‮since‬‏ ‏‮CSP‬‏3. ‏‮Please‬‏, ‏‮use‬‏ ‏‮the‬‏ ‏‮Cross‬‏-‏‮Origin‬‏-‏‮Opener‬‏-‏‮Policy‬‏ ‏‮header‬‏ ‏‮instead‬‏."
1819
1807
  },
1820
- "lighthouse-core/lib/csp-evaluator.js | deprecatedReferrer": {
1808
+ "core/lib/csp-evaluator.js | deprecatedReferrer": {
1821
1809
  "message": "‏‮referrer‬‏ ‏‮is‬‏ ‏‮deprecated‬‏ ‏‮since‬‏ ‏‮CSP‬‏2. ‏‮Please‬‏, ‏‮use‬‏ ‏‮the‬‏ ‏‮Referrer‬‏-‏‮Policy‬‏ ‏‮header‬‏ ‏‮instead‬‏."
1822
1810
  },
1823
- "lighthouse-core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
1811
+ "core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
1824
1812
  "message": "‏‮reflected‬‏-‏‮xss‬‏ ‏‮is‬‏ ‏‮deprecated‬‏ ‏‮since‬‏ ‏‮CSP‬‏2. ‏‮Please‬‏, ‏‮use‬‏ ‏‮the‬‏ ‏‮X‬‏-‏‮XSS‬‏-‏‮Protection‬‏ ‏‮header‬‏ ‏‮instead‬‏."
1825
1813
  },
1826
- "lighthouse-core/lib/csp-evaluator.js | missingBaseUri": {
1814
+ "core/lib/csp-evaluator.js | missingBaseUri": {
1827
1815
  "message": "‏‮Missing‬‏ ‏‮base‬‏-‏‮uri‬‏ ‏‮allows‬‏ ‏‮injected‬‏ <base> ‏‮tags‬‏ ‏‮to‬‏ ‏‮set‬‏ ‏‮the‬‏ ‏‮base‬‏ ‏‮URL‬‏ ‏‮for‬‏ ‏‮all‬‏ ‏‮relative‬‏ ‏‮URLs‬‏ (‏‮e‬‏.‏‮g‬‏. ‏‮scripts‬‏) ‏‮to‬‏ ‏‮an‬‏ ‏‮attacker‬‏ ‏‮controlled‬‏ ‏‮domain‬‏. ‏‮Consider‬‏ ‏‮setting‬‏ ‏‮base‬‏-‏‮uri‬‏ ‏‮to‬‏ '‏‮none‬‏' ‏‮or‬‏ '‏‮self‬‏'."
1828
1816
  },
1829
- "lighthouse-core/lib/csp-evaluator.js | missingObjectSrc": {
1817
+ "core/lib/csp-evaluator.js | missingObjectSrc": {
1830
1818
  "message": "‏‮Missing‬‏ ‏‮object‬‏-‏‮src‬‏ ‏‮allows‬‏ ‏‮the‬‏ ‏‮injection‬‏ ‏‮of‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮execute‬‏ ‏‮unsafe‬‏ ‏‮scripts‬‏. ‏‮Consider‬‏ ‏‮setting‬‏ ‏‮object‬‏-‏‮src‬‏ ‏‮to‬‏ '‏‮none‬‏' ‏‮if‬‏ ‏‮you‬‏ ‏‮can‬‏."
1831
1819
  },
1832
- "lighthouse-core/lib/csp-evaluator.js | missingScriptSrc": {
1820
+ "core/lib/csp-evaluator.js | missingScriptSrc": {
1833
1821
  "message": "‏‮script‬‏-‏‮src‬‏ ‏‮directive‬‏ ‏‮is‬‏ ‏‮missing‬‏. ‏‮This‬‏ ‏‮can‬‏ ‏‮allow‬‏ ‏‮the‬‏ ‏‮execution‬‏ ‏‮of‬‏ ‏‮unsafe‬‏ ‏‮scripts‬‏."
1834
1822
  },
1835
- "lighthouse-core/lib/csp-evaluator.js | missingSemicolon": {
1823
+ "core/lib/csp-evaluator.js | missingSemicolon": {
1836
1824
  "message": "‏‮Did‬‏ ‏‮you‬‏ ‏‮forget‬‏ ‏‮the‬‏ ‏‮semicolon‬‏? {keyword} ‏‮seems‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮a‬‏ ‏‮directive‬‏, ‏‮not‬‏ ‏‮a‬‏ ‏‮keyword‬‏."
1837
1825
  },
1838
- "lighthouse-core/lib/csp-evaluator.js | nonceCharset": {
1826
+ "core/lib/csp-evaluator.js | nonceCharset": {
1839
1827
  "message": "‏‮Nonces‬‏ ‏‮should‬‏ ‏‮use‬‏ ‏‮the‬‏ ‏‮base‬‏64 ‏‮charset‬‏."
1840
1828
  },
1841
- "lighthouse-core/lib/csp-evaluator.js | nonceLength": {
1829
+ "core/lib/csp-evaluator.js | nonceLength": {
1842
1830
  "message": "‏‮Nonces‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮at‬‏ ‏‮least‬‏ 8 ‏‮characters‬‏ ‏‮long‬‏."
1843
1831
  },
1844
- "lighthouse-core/lib/csp-evaluator.js | plainUrlScheme": {
1832
+ "core/lib/csp-evaluator.js | plainUrlScheme": {
1845
1833
  "message": "‏‮Avoid‬‏ ‏‮using‬‏ ‏‮plain‬‏ ‏‮URL‬‏ ‏‮schemes‬‏ ({keyword}) ‏‮in‬‏ ‏‮this‬‏ ‏‮directive‬‏. ‏‮Plain‬‏ ‏‮URL‬‏ ‏‮schemes‬‏ ‏‮allow‬‏ ‏‮scripts‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮sourced‬‏ ‏‮from‬‏ ‏‮an‬‏ ‏‮unsafe‬‏ ‏‮domain‬‏."
1846
1834
  },
1847
- "lighthouse-core/lib/csp-evaluator.js | plainWildcards": {
1835
+ "core/lib/csp-evaluator.js | plainWildcards": {
1848
1836
  "message": "‏‮Avoid‬‏ ‏‮using‬‏ ‏‮plain‬‏ ‏‮wildcards‬‏ ({keyword}) ‏‮in‬‏ ‏‮this‬‏ ‏‮directive‬‏. ‏‮Plain‬‏ ‏‮wildcards‬‏ ‏‮allow‬‏ ‏‮scripts‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮sourced‬‏ ‏‮from‬‏ ‏‮an‬‏ ‏‮unsafe‬‏ ‏‮domain‬‏."
1849
1837
  },
1850
- "lighthouse-core/lib/csp-evaluator.js | reportToOnly": {
1838
+ "core/lib/csp-evaluator.js | reportToOnly": {
1851
1839
  "message": "‏‮The‬‏ ‏‮reporting‬‏ ‏‮destination‬‏ ‏‮is‬‏ ‏‮only‬‏ ‏‮configured‬‏ ‏‮via‬‏ ‏‮the‬‏ ‏‮report‬‏-‏‮to‬‏ ‏‮directive‬‏. ‏‮This‬‏ ‏‮directive‬‏ ‏‮is‬‏ ‏‮only‬‏ ‏‮supported‬‏ ‏‮in‬‏ ‏‮Chromium‬‏-‏‮based‬‏ ‏‮browsers‬‏ ‏‮so‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮recommended‬‏ ‏‮to‬‏ ‏‮also‬‏ ‏‮use‬‏ ‏‮a‬‏ ‏‮report‬‏-‏‮uri‬‏ ‏‮directive‬‏."
1852
1840
  },
1853
- "lighthouse-core/lib/csp-evaluator.js | reportingDestinationMissing": {
1841
+ "core/lib/csp-evaluator.js | reportingDestinationMissing": {
1854
1842
  "message": "‏‮No‬‏ ‏‮CSP‬‏ ‏‮configures‬‏ ‏‮a‬‏ ‏‮reporting‬‏ ‏‮destination‬‏. ‏‮This‬‏ ‏‮makes‬‏ ‏‮it‬‏ ‏‮difficult‬‏ ‏‮to‬‏ ‏‮maintain‬‏ ‏‮the‬‏ ‏‮CSP‬‏ ‏‮over‬‏ ‏‮time‬‏ ‏‮and‬‏ ‏‮monitor‬‏ ‏‮for‬‏ ‏‮any‬‏ ‏‮breakages‬‏."
1855
1843
  },
1856
- "lighthouse-core/lib/csp-evaluator.js | strictDynamic": {
1844
+ "core/lib/csp-evaluator.js | strictDynamic": {
1857
1845
  "message": "‏‮Host‬‏ ‏‮allowlists‬‏ ‏‮can‬‏ ‏‮frequently‬‏ ‏‮be‬‏ ‏‮bypassed‬‏. ‏‮Consider‬‏ ‏‮using‬‏ ‏‮CSP‬‏ ‏‮nonces‬‏ ‏‮or‬‏ ‏‮hashes‬‏ ‏‮instead‬‏, ‏‮along‬‏ ‏‮with‬‏ '‏‮strict‬‏-‏‮dynamic‬‏' ‏‮if‬‏ ‏‮necessary‬‏."
1858
1846
  },
1859
- "lighthouse-core/lib/csp-evaluator.js | unknownDirective": {
1847
+ "core/lib/csp-evaluator.js | unknownDirective": {
1860
1848
  "message": "‏‮Unknown‬‏ ‏‮CSP‬‏ ‏‮directive‬‏."
1861
1849
  },
1862
- "lighthouse-core/lib/csp-evaluator.js | unknownKeyword": {
1850
+ "core/lib/csp-evaluator.js | unknownKeyword": {
1863
1851
  "message": "{keyword} ‏‮seems‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮an‬‏ ‏‮invalid‬‏ ‏‮keyword‬‏."
1864
1852
  },
1865
- "lighthouse-core/lib/csp-evaluator.js | unsafeInline": {
1853
+ "core/lib/csp-evaluator.js | unsafeInline": {
1866
1854
  "message": "'‏‮unsafe‬‏-‏‮inline‬‏' ‏‮allows‬‏ ‏‮the‬‏ ‏‮execution‬‏ ‏‮of‬‏ ‏‮unsafe‬‏ ‏‮in‬‏-‏‮page‬‏ ‏‮scripts‬‏ ‏‮and‬‏ ‏‮event‬‏ ‏‮handlers‬‏. ‏‮Consider‬‏ ‏‮using‬‏ ‏‮CSP‬‏ ‏‮nonces‬‏ ‏‮or‬‏ ‏‮hashes‬‏ ‏‮to‬‏ ‏‮allow‬‏ ‏‮scripts‬‏ ‏‮individually‬‏."
1867
1855
  },
1868
- "lighthouse-core/lib/csp-evaluator.js | unsafeInlineFallback": {
1856
+ "core/lib/csp-evaluator.js | unsafeInlineFallback": {
1869
1857
  "message": "‏‮Consider‬‏ ‏‮adding‬‏ '‏‮unsafe‬‏-‏‮inline‬‏' (‏‮ignored‬‏ ‏‮by‬‏ ‏‮browsers‬‏ ‏‮supporting‬‏ ‏‮nonces‬‏/‏‮hashes‬‏) ‏‮to‬‏ ‏‮be‬‏ ‏‮backward‬‏ ‏‮compatible‬‏ ‏‮with‬‏ ‏‮older‬‏ ‏‮browsers‬‏."
1870
1858
  },
1871
- "lighthouse-core/lib/i18n/i18n.js | columnBlockingTime": {
1859
+ "core/lib/i18n/i18n.js | columnBlockingTime": {
1872
1860
  "message": "‏‮Main‬‏-‏‮Thread‬‏ ‏‮Blocking‬‏ ‏‮Time‬‏"
1873
1861
  },
1874
- "lighthouse-core/lib/i18n/i18n.js | columnCacheTTL": {
1862
+ "core/lib/i18n/i18n.js | columnCacheTTL": {
1875
1863
  "message": "‏‮Cache‬‏ ‏‮TTL‬‏"
1876
1864
  },
1877
- "lighthouse-core/lib/i18n/i18n.js | columnDescription": {
1865
+ "core/lib/i18n/i18n.js | columnDescription": {
1878
1866
  "message": "‏‮Description‬‏"
1879
1867
  },
1880
- "lighthouse-core/lib/i18n/i18n.js | columnDuration": {
1868
+ "core/lib/i18n/i18n.js | columnDuration": {
1881
1869
  "message": "‏‮Duration‬‏"
1882
1870
  },
1883
- "lighthouse-core/lib/i18n/i18n.js | columnElement": {
1871
+ "core/lib/i18n/i18n.js | columnElement": {
1884
1872
  "message": "‏‮Element‬‏"
1885
1873
  },
1886
- "lighthouse-core/lib/i18n/i18n.js | columnFailingElem": {
1874
+ "core/lib/i18n/i18n.js | columnFailingElem": {
1887
1875
  "message": "‏‮Failing‬‏ ‏‮Elements‬‏"
1888
1876
  },
1889
- "lighthouse-core/lib/i18n/i18n.js | columnLocation": {
1877
+ "core/lib/i18n/i18n.js | columnLocation": {
1890
1878
  "message": "‏‮Location‬‏"
1891
1879
  },
1892
- "lighthouse-core/lib/i18n/i18n.js | columnName": {
1880
+ "core/lib/i18n/i18n.js | columnName": {
1893
1881
  "message": "‏‮Name‬‏"
1894
1882
  },
1895
- "lighthouse-core/lib/i18n/i18n.js | columnOverBudget": {
1883
+ "core/lib/i18n/i18n.js | columnOverBudget": {
1896
1884
  "message": "‏‮Over‬‏ ‏‮Budget‬‏"
1897
1885
  },
1898
- "lighthouse-core/lib/i18n/i18n.js | columnRequests": {
1886
+ "core/lib/i18n/i18n.js | columnRequests": {
1899
1887
  "message": "‏‮Requests‬‏"
1900
1888
  },
1901
- "lighthouse-core/lib/i18n/i18n.js | columnResourceSize": {
1889
+ "core/lib/i18n/i18n.js | columnResourceSize": {
1902
1890
  "message": "‏‮Resource‬‏ ‏‮Size‬‏"
1903
1891
  },
1904
- "lighthouse-core/lib/i18n/i18n.js | columnResourceType": {
1892
+ "core/lib/i18n/i18n.js | columnResourceType": {
1905
1893
  "message": "‏‮Resource‬‏ ‏‮Type‬‏"
1906
1894
  },
1907
- "lighthouse-core/lib/i18n/i18n.js | columnSize": {
1895
+ "core/lib/i18n/i18n.js | columnSize": {
1908
1896
  "message": "‏‮Size‬‏"
1909
1897
  },
1910
- "lighthouse-core/lib/i18n/i18n.js | columnSource": {
1898
+ "core/lib/i18n/i18n.js | columnSource": {
1911
1899
  "message": "‏‮Source‬‏"
1912
1900
  },
1913
- "lighthouse-core/lib/i18n/i18n.js | columnStartTime": {
1901
+ "core/lib/i18n/i18n.js | columnStartTime": {
1914
1902
  "message": "‏‮Start‬‏ ‏‮Time‬‏"
1915
1903
  },
1916
- "lighthouse-core/lib/i18n/i18n.js | columnTimeSpent": {
1904
+ "core/lib/i18n/i18n.js | columnTimeSpent": {
1917
1905
  "message": "‏‮Time‬‏ ‏‮Spent‬‏"
1918
1906
  },
1919
- "lighthouse-core/lib/i18n/i18n.js | columnTransferSize": {
1907
+ "core/lib/i18n/i18n.js | columnTransferSize": {
1920
1908
  "message": "‏‮Transfer‬‏ ‏‮Size‬‏"
1921
1909
  },
1922
- "lighthouse-core/lib/i18n/i18n.js | columnURL": {
1910
+ "core/lib/i18n/i18n.js | columnURL": {
1923
1911
  "message": "‏‮URL‬‏"
1924
1912
  },
1925
- "lighthouse-core/lib/i18n/i18n.js | columnWastedBytes": {
1913
+ "core/lib/i18n/i18n.js | columnWastedBytes": {
1926
1914
  "message": "‏‮Potential‬‏ ‏‮Savings‬‏"
1927
1915
  },
1928
- "lighthouse-core/lib/i18n/i18n.js | columnWastedMs": {
1916
+ "core/lib/i18n/i18n.js | columnWastedMs": {
1929
1917
  "message": "‏‮Potential‬‏ ‏‮Savings‬‏"
1930
1918
  },
1931
- "lighthouse-core/lib/i18n/i18n.js | cumulativeLayoutShiftMetric": {
1919
+ "core/lib/i18n/i18n.js | cumulativeLayoutShiftMetric": {
1932
1920
  "message": "‏‮Cumulative‬‏ ‏‮Layout‬‏ ‏‮Shift‬‏"
1933
1921
  },
1934
- "lighthouse-core/lib/i18n/i18n.js | displayValueByteSavings": {
1922
+ "core/lib/i18n/i18n.js | displayValueByteSavings": {
1935
1923
  "message": "‏‮Potential‬‏ ‏‮savings‬‏ ‏‮of‬‏ {wastedBytes, number, bytes} ‏‮KiB‬‏"
1936
1924
  },
1937
- "lighthouse-core/lib/i18n/i18n.js | displayValueElementsFound": {
1925
+ "core/lib/i18n/i18n.js | displayValueElementsFound": {
1938
1926
  "message": "{nodeCount,plural, =1{1 ‏‮element‬‏ ‏‮found‬‏}zero{# ‏‮elements‬‏ ‏‮found‬‏}two{# ‏‮elements‬‏ ‏‮found‬‏}few{# ‏‮elements‬‏ ‏‮found‬‏}many{# ‏‮elements‬‏ ‏‮found‬‏}other{# ‏‮elements‬‏ ‏‮found‬‏}}"
1939
1927
  },
1940
- "lighthouse-core/lib/i18n/i18n.js | displayValueMsSavings": {
1928
+ "core/lib/i18n/i18n.js | displayValueMsSavings": {
1941
1929
  "message": "‏‮Potential‬‏ ‏‮savings‬‏ ‏‮of‬‏ {wastedMs, number, milliseconds} ‏‮ms‬‏"
1942
1930
  },
1943
- "lighthouse-core/lib/i18n/i18n.js | documentResourceType": {
1931
+ "core/lib/i18n/i18n.js | documentResourceType": {
1944
1932
  "message": "‏‮Document‬‏"
1945
1933
  },
1946
- "lighthouse-core/lib/i18n/i18n.js | firstContentfulPaintMetric": {
1934
+ "core/lib/i18n/i18n.js | firstContentfulPaintMetric": {
1947
1935
  "message": "‏‮First‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏"
1948
1936
  },
1949
- "lighthouse-core/lib/i18n/i18n.js | firstMeaningfulPaintMetric": {
1937
+ "core/lib/i18n/i18n.js | firstMeaningfulPaintMetric": {
1950
1938
  "message": "‏‮First‬‏ ‏‮Meaningful‬‏ ‏‮Paint‬‏"
1951
1939
  },
1952
- "lighthouse-core/lib/i18n/i18n.js | fontResourceType": {
1940
+ "core/lib/i18n/i18n.js | fontResourceType": {
1953
1941
  "message": "‏‮Font‬‏"
1954
1942
  },
1955
- "lighthouse-core/lib/i18n/i18n.js | imageResourceType": {
1943
+ "core/lib/i18n/i18n.js | imageResourceType": {
1956
1944
  "message": "‏‮Image‬‏"
1957
1945
  },
1958
- "lighthouse-core/lib/i18n/i18n.js | interactiveMetric": {
1946
+ "core/lib/i18n/i18n.js | interactiveMetric": {
1959
1947
  "message": "‏‮Time‬‏ ‏‮to‬‏ ‏‮Interactive‬‏"
1960
1948
  },
1961
- "lighthouse-core/lib/i18n/i18n.js | itemSeverityHigh": {
1949
+ "core/lib/i18n/i18n.js | itemSeverityHigh": {
1962
1950
  "message": "‏‮High‬‏"
1963
1951
  },
1964
- "lighthouse-core/lib/i18n/i18n.js | itemSeverityLow": {
1952
+ "core/lib/i18n/i18n.js | itemSeverityLow": {
1965
1953
  "message": "‏‮Low‬‏"
1966
1954
  },
1967
- "lighthouse-core/lib/i18n/i18n.js | itemSeverityMedium": {
1955
+ "core/lib/i18n/i18n.js | itemSeverityMedium": {
1968
1956
  "message": "‏‮Medium‬‏"
1969
1957
  },
1970
- "lighthouse-core/lib/i18n/i18n.js | largestContentfulPaintMetric": {
1958
+ "core/lib/i18n/i18n.js | largestContentfulPaintMetric": {
1971
1959
  "message": "‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏"
1972
1960
  },
1973
- "lighthouse-core/lib/i18n/i18n.js | maxPotentialFIDMetric": {
1961
+ "core/lib/i18n/i18n.js | maxPotentialFIDMetric": {
1974
1962
  "message": "‏‮Max‬‏ ‏‮Potential‬‏ ‏‮First‬‏ ‏‮Input‬‏ ‏‮Delay‬‏"
1975
1963
  },
1976
- "lighthouse-core/lib/i18n/i18n.js | mediaResourceType": {
1964
+ "core/lib/i18n/i18n.js | mediaResourceType": {
1977
1965
  "message": "‏‮Media‬‏"
1978
1966
  },
1979
- "lighthouse-core/lib/i18n/i18n.js | ms": {
1967
+ "core/lib/i18n/i18n.js | ms": {
1980
1968
  "message": "{timeInMs, number, milliseconds} ‏‮ms‬‏"
1981
1969
  },
1982
- "lighthouse-core/lib/i18n/i18n.js | otherResourceType": {
1970
+ "core/lib/i18n/i18n.js | otherResourceType": {
1983
1971
  "message": "‏‮Other‬‏"
1984
1972
  },
1985
- "lighthouse-core/lib/i18n/i18n.js | otherResourcesLabel": {
1973
+ "core/lib/i18n/i18n.js | otherResourcesLabel": {
1986
1974
  "message": "‏‮Other‬‏ ‏‮resources‬‏"
1987
1975
  },
1988
- "lighthouse-core/lib/i18n/i18n.js | scriptResourceType": {
1976
+ "core/lib/i18n/i18n.js | scriptResourceType": {
1989
1977
  "message": "‏‮Script‬‏"
1990
1978
  },
1991
- "lighthouse-core/lib/i18n/i18n.js | seconds": {
1979
+ "core/lib/i18n/i18n.js | seconds": {
1992
1980
  "message": "{timeInMs, number, seconds} ‏‮s‬‏"
1993
1981
  },
1994
- "lighthouse-core/lib/i18n/i18n.js | speedIndexMetric": {
1982
+ "core/lib/i18n/i18n.js | speedIndexMetric": {
1995
1983
  "message": "‏‮Speed‬‏ ‏‮Index‬‏"
1996
1984
  },
1997
- "lighthouse-core/lib/i18n/i18n.js | stylesheetResourceType": {
1985
+ "core/lib/i18n/i18n.js | stylesheetResourceType": {
1998
1986
  "message": "‏‮Stylesheet‬‏"
1999
1987
  },
2000
- "lighthouse-core/lib/i18n/i18n.js | thirdPartyResourceType": {
1988
+ "core/lib/i18n/i18n.js | thirdPartyResourceType": {
2001
1989
  "message": "‏‮Third‬‏-‏‮party‬‏"
2002
1990
  },
2003
- "lighthouse-core/lib/i18n/i18n.js | totalBlockingTimeMetric": {
1991
+ "core/lib/i18n/i18n.js | totalBlockingTimeMetric": {
2004
1992
  "message": "‏‮Total‬‏ ‏‮Blocking‬‏ ‏‮Time‬‏"
2005
1993
  },
2006
- "lighthouse-core/lib/i18n/i18n.js | totalResourceType": {
1994
+ "core/lib/i18n/i18n.js | totalResourceType": {
2007
1995
  "message": "‏‮Total‬‏"
2008
1996
  },
2009
- "lighthouse-core/lib/lh-error.js | badTraceRecording": {
1997
+ "core/lib/lh-error.js | badTraceRecording": {
2010
1998
  "message": "‏‮Something‬‏ ‏‮went‬‏ ‏‮wrong‬‏ ‏‮with‬‏ ‏‮recording‬‏ ‏‮the‬‏ ‏‮trace‬‏ ‏‮over‬‏ ‏‮your‬‏ ‏‮page‬‏ ‏‮load‬‏. ‏‮Please‬‏ ‏‮run‬‏ ‏‮Lighthouse‬‏ ‏‮again‬‏. ({errorCode})"
2011
1999
  },
2012
- "lighthouse-core/lib/lh-error.js | criTimeout": {
2000
+ "core/lib/lh-error.js | criTimeout": {
2013
2001
  "message": "‏‮Timeout‬‏ ‏‮waiting‬‏ ‏‮for‬‏ ‏‮initial‬‏ ‏‮Debugger‬‏ ‏‮Protocol‬‏ ‏‮connection‬‏."
2014
2002
  },
2015
- "lighthouse-core/lib/lh-error.js | didntCollectScreenshots": {
2003
+ "core/lib/lh-error.js | didntCollectScreenshots": {
2016
2004
  "message": "‏‮Chrome‬‏ ‏‮didn‬‏'‏‮t‬‏ ‏‮collect‬‏ ‏‮any‬‏ ‏‮screenshots‬‏ ‏‮during‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮load‬‏. ‏‮Please‬‏ ‏‮make‬‏ ‏‮sure‬‏ ‏‮there‬‏ ‏‮is‬‏ ‏‮content‬‏ ‏‮visible‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏, ‏‮and‬‏ ‏‮then‬‏ ‏‮try‬‏ ‏‮re‬‏-‏‮running‬‏ ‏‮Lighthouse‬‏. ({errorCode})"
2017
2005
  },
2018
- "lighthouse-core/lib/lh-error.js | dnsFailure": {
2006
+ "core/lib/lh-error.js | dnsFailure": {
2019
2007
  "message": "‏‮DNS‬‏ ‏‮servers‬‏ ‏‮could‬‏ ‏‮not‬‏ ‏‮resolve‬‏ ‏‮the‬‏ ‏‮provided‬‏ ‏‮domain‬‏."
2020
2008
  },
2021
- "lighthouse-core/lib/lh-error.js | erroredRequiredArtifact": {
2009
+ "core/lib/lh-error.js | erroredRequiredArtifact": {
2022
2010
  "message": "‏‮Required‬‏ {artifactName} ‏‮gatherer‬‏ ‏‮encountered‬‏ ‏‮an‬‏ ‏‮error‬‏: {errorMessage}"
2023
2011
  },
2024
- "lighthouse-core/lib/lh-error.js | internalChromeError": {
2012
+ "core/lib/lh-error.js | internalChromeError": {
2025
2013
  "message": "‏‮An‬‏ ‏‮internal‬‏ ‏‮Chrome‬‏ ‏‮error‬‏ ‏‮occurred‬‏. ‏‮Please‬‏ ‏‮restart‬‏ ‏‮Chrome‬‏ ‏‮and‬‏ ‏‮try‬‏ ‏‮re‬‏-‏‮running‬‏ ‏‮Lighthouse‬‏."
2026
2014
  },
2027
- "lighthouse-core/lib/lh-error.js | missingRequiredArtifact": {
2015
+ "core/lib/lh-error.js | missingRequiredArtifact": {
2028
2016
  "message": "‏‮Required‬‏ {artifactName} ‏‮gatherer‬‏ ‏‮did‬‏ ‏‮not‬‏ ‏‮run‬‏."
2029
2017
  },
2030
- "lighthouse-core/lib/lh-error.js | noFcp": {
2018
+ "core/lib/lh-error.js | noFcp": {
2031
2019
  "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮did‬‏ ‏‮not‬‏ ‏‮paint‬‏ ‏‮any‬‏ ‏‮content‬‏. ‏‮Please‬‏ ‏‮ensure‬‏ ‏‮you‬‏ ‏‮keep‬‏ ‏‮the‬‏ ‏‮browser‬‏ ‏‮window‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮foreground‬‏ ‏‮during‬‏ ‏‮the‬‏ ‏‮load‬‏ ‏‮and‬‏ ‏‮try‬‏ ‏‮again‬‏. ({errorCode})"
2032
2020
  },
2033
- "lighthouse-core/lib/lh-error.js | notHtml": {
2021
+ "core/lib/lh-error.js | notHtml": {
2034
2022
  "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮provided‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮HTML‬‏ (‏‮served‬‏ ‏‮as‬‏ ‏‮MIME‬‏ ‏‮type‬‏ {mimeType})."
2035
2023
  },
2036
- "lighthouse-core/lib/lh-error.js | oldChromeDoesNotSupportFeature": {
2024
+ "core/lib/lh-error.js | oldChromeDoesNotSupportFeature": {
2037
2025
  "message": "‏‮This‬‏ ‏‮version‬‏ ‏‮of‬‏ ‏‮Chrome‬‏ ‏‮is‬‏ ‏‮too‬‏ ‏‮old‬‏ ‏‮to‬‏ ‏‮support‬‏ '{featureName}'. ‏‮Use‬‏ ‏‮a‬‏ ‏‮newer‬‏ ‏‮version‬‏ ‏‮to‬‏ ‏‮see‬‏ ‏‮full‬‏ ‏‮results‬‏."
2038
2026
  },
2039
- "lighthouse-core/lib/lh-error.js | pageLoadFailed": {
2027
+ "core/lib/lh-error.js | pageLoadFailed": {
2040
2028
  "message": "‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮reliably‬‏ ‏‮load‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮you‬‏ ‏‮requested‬‏. ‏‮Make‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮testing‬‏ ‏‮the‬‏ ‏‮correct‬‏ ‏‮URL‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮is‬‏ ‏‮properly‬‏ ‏‮responding‬‏ ‏‮to‬‏ ‏‮all‬‏ ‏‮requests‬‏."
2041
2029
  },
2042
- "lighthouse-core/lib/lh-error.js | pageLoadFailedHung": {
2030
+ "core/lib/lh-error.js | pageLoadFailedHung": {
2043
2031
  "message": "‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮reliably‬‏ ‏‮load‬‏ ‏‮the‬‏ ‏‮URL‬‏ ‏‮you‬‏ ‏‮requested‬‏ ‏‮because‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮stopped‬‏ ‏‮responding‬‏."
2044
2032
  },
2045
- "lighthouse-core/lib/lh-error.js | pageLoadFailedInsecure": {
2033
+ "core/lib/lh-error.js | pageLoadFailedInsecure": {
2046
2034
  "message": "‏‮The‬‏ ‏‮URL‬‏ ‏‮you‬‏ ‏‮have‬‏ ‏‮provided‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮security‬‏ ‏‮certificate‬‏. {securityMessages}"
2047
2035
  },
2048
- "lighthouse-core/lib/lh-error.js | pageLoadFailedInterstitial": {
2036
+ "core/lib/lh-error.js | pageLoadFailedInterstitial": {
2049
2037
  "message": "‏‮Chrome‬‏ ‏‮prevented‬‏ ‏‮page‬‏ ‏‮load‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮interstitial‬‏. ‏‮Make‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮testing‬‏ ‏‮the‬‏ ‏‮correct‬‏ ‏‮URL‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮is‬‏ ‏‮properly‬‏ ‏‮responding‬‏ ‏‮to‬‏ ‏‮all‬‏ ‏‮requests‬‏."
2050
2038
  },
2051
- "lighthouse-core/lib/lh-error.js | pageLoadFailedWithDetails": {
2039
+ "core/lib/lh-error.js | pageLoadFailedWithDetails": {
2052
2040
  "message": "‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮reliably‬‏ ‏‮load‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮you‬‏ ‏‮requested‬‏. ‏‮Make‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮testing‬‏ ‏‮the‬‏ ‏‮correct‬‏ ‏‮URL‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮is‬‏ ‏‮properly‬‏ ‏‮responding‬‏ ‏‮to‬‏ ‏‮all‬‏ ‏‮requests‬‏. (‏‮Details‬‏: {errorDetails})"
2053
2041
  },
2054
- "lighthouse-core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
2042
+ "core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
2055
2043
  "message": "‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮reliably‬‏ ‏‮load‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮you‬‏ ‏‮requested‬‏. ‏‮Make‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮testing‬‏ ‏‮the‬‏ ‏‮correct‬‏ ‏‮URL‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮is‬‏ ‏‮properly‬‏ ‏‮responding‬‏ ‏‮to‬‏ ‏‮all‬‏ ‏‮requests‬‏. (‏‮Status‬‏ ‏‮code‬‏: {statusCode})"
2056
2044
  },
2057
- "lighthouse-core/lib/lh-error.js | pageLoadTookTooLong": {
2045
+ "core/lib/lh-error.js | pageLoadTookTooLong": {
2058
2046
  "message": "‏‮Your‬‏ ‏‮page‬‏ ‏‮took‬‏ ‏‮too‬‏ ‏‮long‬‏ ‏‮to‬‏ ‏‮load‬‏. ‏‮Please‬‏ ‏‮follow‬‏ ‏‮the‬‏ ‏‮opportunities‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮report‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮your‬‏ ‏‮page‬‏ ‏‮load‬‏ ‏‮time‬‏, ‏‮and‬‏ ‏‮then‬‏ ‏‮try‬‏ ‏‮re‬‏-‏‮running‬‏ ‏‮Lighthouse‬‏. ({errorCode})"
2059
2047
  },
2060
- "lighthouse-core/lib/lh-error.js | protocolTimeout": {
2048
+ "core/lib/lh-error.js | protocolTimeout": {
2061
2049
  "message": "‏‮Waiting‬‏ ‏‮for‬‏ ‏‮DevTools‬‏ ‏‮protocol‬‏ ‏‮response‬‏ ‏‮has‬‏ ‏‮exceeded‬‏ ‏‮the‬‏ ‏‮allotted‬‏ ‏‮time‬‏. (‏‮Method‬‏: {protocolMethod})"
2062
2050
  },
2063
- "lighthouse-core/lib/lh-error.js | requestContentTimeout": {
2051
+ "core/lib/lh-error.js | requestContentTimeout": {
2064
2052
  "message": "‏‮Fetching‬‏ ‏‮resource‬‏ ‏‮content‬‏ ‏‮has‬‏ ‏‮exceeded‬‏ ‏‮the‬‏ ‏‮allotted‬‏ ‏‮time‬‏"
2065
2053
  },
2066
- "lighthouse-core/lib/lh-error.js | urlInvalid": {
2054
+ "core/lib/lh-error.js | urlInvalid": {
2067
2055
  "message": "‏‮The‬‏ ‏‮URL‬‏ ‏‮you‬‏ ‏‮have‬‏ ‏‮provided‬‏ ‏‮appears‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮invalid‬‏."
2068
2056
  },
2069
2057
  "node_modules/lighthouse-stack-packs/packs/amp.js | efficient-animated-content": {