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