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
|
@@ -131,1939 +131,1927 @@
|
|
|
131
131
|
"flow-report/src/i18n/ui-strings.js | title": {
|
|
132
132
|
"message": "Отчет Lighthouse о пути пользователя"
|
|
133
133
|
},
|
|
134
|
-
"
|
|
134
|
+
"core/audits/accessibility/accesskeys.js | description": {
|
|
135
135
|
"message": "Ключи доступа позволяют быстро перейти к нужной части страницы. Каждый из них должен быть уникальным. [Подробнее…](https://web.dev/accesskeys/)"
|
|
136
136
|
},
|
|
137
|
-
"
|
|
137
|
+
"core/audits/accessibility/accesskeys.js | failureTitle": {
|
|
138
138
|
"message": "Значения атрибута `[accesskey]` не уникальны"
|
|
139
139
|
},
|
|
140
|
-
"
|
|
140
|
+
"core/audits/accessibility/accesskeys.js | title": {
|
|
141
141
|
"message": "`[accesskey]`: значения уникальны"
|
|
142
142
|
},
|
|
143
|
-
"
|
|
143
|
+
"core/audits/accessibility/aria-allowed-attr.js | description": {
|
|
144
144
|
"message": "Каждая `role` ARIA поддерживает определенный набор атрибутов `aria-*`. Неверно присвоенные атрибуты `aria-*` будут недействительны. [Подробнее…](https://web.dev/aria-allowed-attr/)"
|
|
145
145
|
},
|
|
146
|
-
"
|
|
146
|
+
"core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
|
|
147
147
|
"message": "Атрибуты `[aria-*]` не соответствуют своим ролям"
|
|
148
148
|
},
|
|
149
|
-
"
|
|
149
|
+
"core/audits/accessibility/aria-allowed-attr.js | title": {
|
|
150
150
|
"message": "Атрибуты `[aria-*]` соответствуют своим ролям"
|
|
151
151
|
},
|
|
152
|
-
"
|
|
152
|
+
"core/audits/accessibility/aria-command-name.js | description": {
|
|
153
153
|
"message": "Если у элемента нет названия, доступного программам чтения с экрана, пользователи услышат слово \"элемент\", но не поймут, для чего он нужен. [Подробнее…](https://web.dev/aria-name/)"
|
|
154
154
|
},
|
|
155
|
-
"
|
|
155
|
+
"core/audits/accessibility/aria-command-name.js | failureTitle": {
|
|
156
156
|
"message": "У элементов `button`, `link` и `menuitem` нет названий, доступных программам чтения с экрана"
|
|
157
157
|
},
|
|
158
|
-
"
|
|
158
|
+
"core/audits/accessibility/aria-command-name.js | title": {
|
|
159
159
|
"message": "У элементов `button`, `link` и `menuitem` есть названия, доступные программам чтения с экрана"
|
|
160
160
|
},
|
|
161
|
-
"
|
|
161
|
+
"core/audits/accessibility/aria-hidden-body.js | description": {
|
|
162
162
|
"message": "Программы чтения с экрана могут работать некорректно, если для элемента `<body>` в документе настроен атрибут `aria-hidden=\"true\"`. [Подробнее…](https://web.dev/aria-hidden-body/)"
|
|
163
163
|
},
|
|
164
|
-
"
|
|
164
|
+
"core/audits/accessibility/aria-hidden-body.js | failureTitle": {
|
|
165
165
|
"message": "Элемент `<body>` в документе содержит атрибут `[aria-hidden=\"true\"]`"
|
|
166
166
|
},
|
|
167
|
-
"
|
|
167
|
+
"core/audits/accessibility/aria-hidden-body.js | title": {
|
|
168
168
|
"message": "Элемент `<body>` в документе не содержит атрибут `[aria-hidden=\"true\"]`"
|
|
169
169
|
},
|
|
170
|
-
"
|
|
170
|
+
"core/audits/accessibility/aria-hidden-focus.js | description": {
|
|
171
171
|
"message": "Если к родительскому элементу применен атрибут `[aria-hidden=\"true\"]`, то все его активные дочерние элементы станут недоступны для программ чтения с экрана. [Подробнее…](https://web.dev/aria-hidden-focus/)"
|
|
172
172
|
},
|
|
173
|
-
"
|
|
173
|
+
"core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
|
|
174
174
|
"message": "Элементы, к которым применен атрибут `[aria-hidden=\"true\"]`, содержат активные дочерние элементы"
|
|
175
175
|
},
|
|
176
|
-
"
|
|
176
|
+
"core/audits/accessibility/aria-hidden-focus.js | title": {
|
|
177
177
|
"message": "Элементы, к которым применен атрибут `[aria-hidden=\"true\"]`, не содержат активных дочерних элементов"
|
|
178
178
|
},
|
|
179
|
-
"
|
|
179
|
+
"core/audits/accessibility/aria-input-field-name.js | description": {
|
|
180
180
|
"message": "Если у поля ввода нет названия, доступного программам чтения с экрана, пользователи услышат слово \"поле ввода\", но не поймут, для чего оно нужно. [Подробнее…](https://web.dev/aria-name/)"
|
|
181
181
|
},
|
|
182
|
-
"
|
|
182
|
+
"core/audits/accessibility/aria-input-field-name.js | failureTitle": {
|
|
183
183
|
"message": "У полей ввода ARIA нет доступных названий"
|
|
184
184
|
},
|
|
185
|
-
"
|
|
185
|
+
"core/audits/accessibility/aria-input-field-name.js | title": {
|
|
186
186
|
"message": "У полей ввода ARIA есть доступные названия"
|
|
187
187
|
},
|
|
188
|
-
"
|
|
188
|
+
"core/audits/accessibility/aria-meter-name.js | description": {
|
|
189
189
|
"message": "Если у элемента нет названия, доступного программам чтения с экрана, пользователи услышат слово \"элемент\", но не поймут, для чего он нужен. [Подробнее…](https://web.dev/aria-name/)"
|
|
190
190
|
},
|
|
191
|
-
"
|
|
191
|
+
"core/audits/accessibility/aria-meter-name.js | failureTitle": {
|
|
192
192
|
"message": "У элементов `meter` ARIA нет названий, доступных программам чтения с экрана"
|
|
193
193
|
},
|
|
194
|
-
"
|
|
194
|
+
"core/audits/accessibility/aria-meter-name.js | title": {
|
|
195
195
|
"message": "У элементов `meter` ARIA есть названия, доступные программам чтения с экрана"
|
|
196
196
|
},
|
|
197
|
-
"
|
|
197
|
+
"core/audits/accessibility/aria-progressbar-name.js | description": {
|
|
198
198
|
"message": "Если у элемента \"`progressbar`\" нет названия, доступного программам чтения с экрана, пользователи услышат только общее название элемента интерфейса и не поймут, для чего он нужен. [Подробнее…](https://web.dev/aria-name/)"
|
|
199
199
|
},
|
|
200
|
-
"
|
|
200
|
+
"core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
|
|
201
201
|
"message": "У элементов `progressbar` ARIA нет названий, доступных программам чтения с экрана"
|
|
202
202
|
},
|
|
203
|
-
"
|
|
203
|
+
"core/audits/accessibility/aria-progressbar-name.js | title": {
|
|
204
204
|
"message": "У элементов `progressbar` ARIA есть названия, доступные программам чтения с экрана"
|
|
205
205
|
},
|
|
206
|
-
"
|
|
206
|
+
"core/audits/accessibility/aria-required-attr.js | description": {
|
|
207
207
|
"message": "К некоторым ролям ARIA требуется добавить атрибуты, описывающие состояние элемента для программ чтения с экрана. [Подробнее…](https://web.dev/aria-required-attr/)"
|
|
208
208
|
},
|
|
209
|
-
"
|
|
209
|
+
"core/audits/accessibility/aria-required-attr.js | failureTitle": {
|
|
210
210
|
"message": "Для элементов с атрибутом `[role]` заданы не все необходимые атрибуты `[aria-*]`"
|
|
211
211
|
},
|
|
212
|
-
"
|
|
212
|
+
"core/audits/accessibility/aria-required-attr.js | title": {
|
|
213
213
|
"message": "У элементов `[role]` есть все необходимые атрибуты `[aria-*]`"
|
|
214
214
|
},
|
|
215
|
-
"
|
|
215
|
+
"core/audits/accessibility/aria-required-children.js | description": {
|
|
216
216
|
"message": "Некоторые родительские элементы с ролями ARIA должны содержать определенные дочерние роли, иначе связанные с ними функции специальных возможностей будут работать неправильно. [Подробнее…](https://web.dev/aria-required-children/)"
|
|
217
217
|
},
|
|
218
|
-
"
|
|
218
|
+
"core/audits/accessibility/aria-required-children.js | failureTitle": {
|
|
219
219
|
"message": "В элементах с ролью ARIA `[role]` отсутствуют некоторые или все обязательные дочерние элементы, которые должны содержать определенный элемент `[role]`."
|
|
220
220
|
},
|
|
221
|
-
"
|
|
221
|
+
"core/audits/accessibility/aria-required-children.js | title": {
|
|
222
222
|
"message": "В элементах с ролью ARIA `[role]` присутствуют все обязательные дочерние элементы, которые должны содержать определенный элемент `[role]`."
|
|
223
223
|
},
|
|
224
|
-
"
|
|
224
|
+
"core/audits/accessibility/aria-required-parent.js | description": {
|
|
225
225
|
"message": "Некоторые дочерние элементы с ролями ARIA должны содержаться внутри определенных родительских элементов, иначе связанные с ними функции специальных возможностей будут работать неправильно. [Подробнее…](https://web.dev/aria-required-parent/)"
|
|
226
226
|
},
|
|
227
|
-
"
|
|
227
|
+
"core/audits/accessibility/aria-required-parent.js | failureTitle": {
|
|
228
228
|
"message": "Элементы с атрибутом `[role]` не содержатся в своих родительских элементах"
|
|
229
229
|
},
|
|
230
|
-
"
|
|
230
|
+
"core/audits/accessibility/aria-required-parent.js | title": {
|
|
231
231
|
"message": "Элементы с атрибутом `[role]` содержатся в своих родительских элементах"
|
|
232
232
|
},
|
|
233
|
-
"
|
|
233
|
+
"core/audits/accessibility/aria-roles.js | description": {
|
|
234
234
|
"message": "Значения ролей ARIA должны быть действительными, иначе связанные с ними функции будут работать неправильно. [Подробнее…](https://web.dev/aria-roles/)"
|
|
235
235
|
},
|
|
236
|
-
"
|
|
236
|
+
"core/audits/accessibility/aria-roles.js | failureTitle": {
|
|
237
237
|
"message": "Присутствуют недействительные значения атрибутов `[role]`"
|
|
238
238
|
},
|
|
239
|
-
"
|
|
239
|
+
"core/audits/accessibility/aria-roles.js | title": {
|
|
240
240
|
"message": "Недействительные значения атрибутов `[role]` отсутствуют"
|
|
241
241
|
},
|
|
242
|
-
"
|
|
242
|
+
"core/audits/accessibility/aria-toggle-field-name.js | description": {
|
|
243
243
|
"message": "Если у переключателя нет названия, доступного программам чтения с экрана, пользователи услышат слово \"переключатель\", но не поймут, для чего он нужен. [Подробнее…](https://web.dev/aria-name/)"
|
|
244
244
|
},
|
|
245
|
-
"
|
|
245
|
+
"core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
|
|
246
246
|
"message": "У переключателей ARIA нет доступных названий"
|
|
247
247
|
},
|
|
248
|
-
"
|
|
248
|
+
"core/audits/accessibility/aria-toggle-field-name.js | title": {
|
|
249
249
|
"message": "У переключателей ARIA есть доступные названия"
|
|
250
250
|
},
|
|
251
|
-
"
|
|
251
|
+
"core/audits/accessibility/aria-tooltip-name.js | description": {
|
|
252
252
|
"message": "Если у элемента нет названия, доступного программам чтения с экрана, пользователи услышат слово \"элемент\", но не поймут, для чего он нужен. [Подробнее…](https://web.dev/aria-name/)"
|
|
253
253
|
},
|
|
254
|
-
"
|
|
254
|
+
"core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
|
|
255
255
|
"message": "У элементов `tooltip` ARIA нет названий, доступных программам чтения с экрана"
|
|
256
256
|
},
|
|
257
|
-
"
|
|
257
|
+
"core/audits/accessibility/aria-tooltip-name.js | title": {
|
|
258
258
|
"message": "У элементов `tooltip` ARIA есть названия, доступные программам чтения с экрана"
|
|
259
259
|
},
|
|
260
|
-
"
|
|
260
|
+
"core/audits/accessibility/aria-treeitem-name.js | description": {
|
|
261
261
|
"message": "Если у элемента нет названия, доступного программам чтения с экрана, пользователи услышат слово \"элемент\", но не поймут, для чего он нужен. [Подробнее…](https://web.dev/aria-name/)"
|
|
262
262
|
},
|
|
263
|
-
"
|
|
263
|
+
"core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
|
|
264
264
|
"message": "У элементов `treeitem` ARIA нет названий, доступных программам чтения с экрана"
|
|
265
265
|
},
|
|
266
|
-
"
|
|
266
|
+
"core/audits/accessibility/aria-treeitem-name.js | title": {
|
|
267
267
|
"message": "У элементов `treeitem` ARIA есть названия, доступные программам чтения с экрана"
|
|
268
268
|
},
|
|
269
|
-
"
|
|
269
|
+
"core/audits/accessibility/aria-valid-attr-value.js | description": {
|
|
270
270
|
"message": "Программы чтения с экрана не могут распознавать атрибуты ARIA с недействительными значениями. [Подробнее…](https://web.dev/aria-valid-attr-value/)"
|
|
271
271
|
},
|
|
272
|
-
"
|
|
272
|
+
"core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
|
|
273
273
|
"message": "У атрибутов `[aria-*]` недействительные значения"
|
|
274
274
|
},
|
|
275
|
-
"
|
|
275
|
+
"core/audits/accessibility/aria-valid-attr-value.js | title": {
|
|
276
276
|
"message": "Недействительные значения атрибутов `[aria-*]` отсутствуют"
|
|
277
277
|
},
|
|
278
|
-
"
|
|
278
|
+
"core/audits/accessibility/aria-valid-attr.js | description": {
|
|
279
279
|
"message": "Программы чтения с экрана не могут интерпретировать атрибуты ARIA с недействительными названиями. [Подробнее…](https://web.dev/aria-valid-attr/)"
|
|
280
280
|
},
|
|
281
|
-
"
|
|
281
|
+
"core/audits/accessibility/aria-valid-attr.js | failureTitle": {
|
|
282
282
|
"message": "Атрибуты `[aria-*]` недействительны или указаны с ошибками"
|
|
283
283
|
},
|
|
284
|
-
"
|
|
284
|
+
"core/audits/accessibility/aria-valid-attr.js | title": {
|
|
285
285
|
"message": "Атрибуты `[aria-*]` действительны и написаны без ошибок"
|
|
286
286
|
},
|
|
287
|
-
"
|
|
287
|
+
"core/audits/accessibility/axe-audit.js | failingElementsHeader": {
|
|
288
288
|
"message": "Элементы, не прошедшие проверку"
|
|
289
289
|
},
|
|
290
|
-
"
|
|
290
|
+
"core/audits/accessibility/button-name.js | description": {
|
|
291
291
|
"message": "Если у кнопки нет названия, доступного программам чтения с экрана, пользователи услышат слово \"кнопка\", но не поймут, для чего она нужна. [Подробнее…](https://web.dev/button-name/)"
|
|
292
292
|
},
|
|
293
|
-
"
|
|
293
|
+
"core/audits/accessibility/button-name.js | failureTitle": {
|
|
294
294
|
"message": "Названия кнопок недоступны программам чтения с экрана"
|
|
295
295
|
},
|
|
296
|
-
"
|
|
296
|
+
"core/audits/accessibility/button-name.js | title": {
|
|
297
297
|
"message": "Названия кнопок доступны программам чтения с экрана"
|
|
298
298
|
},
|
|
299
|
-
"
|
|
299
|
+
"core/audits/accessibility/bypass.js | description": {
|
|
300
300
|
"message": "Чтобы пользователям было проще перемещаться по странице с помощью клавиатуры, добавьте возможность пропускать повторяющийся контент. [Подробнее…](https://web.dev/bypass/)"
|
|
301
301
|
},
|
|
302
|
-
"
|
|
302
|
+
"core/audits/accessibility/bypass.js | failureTitle": {
|
|
303
303
|
"message": "На странице отсутствует заголовок, ссылка для пропуска или указание региона"
|
|
304
304
|
},
|
|
305
|
-
"
|
|
305
|
+
"core/audits/accessibility/bypass.js | title": {
|
|
306
306
|
"message": "Страница содержит заголовок, ссылку для пропуска контента или указание региона"
|
|
307
307
|
},
|
|
308
|
-
"
|
|
308
|
+
"core/audits/accessibility/color-contrast.js | description": {
|
|
309
309
|
"message": "Многие пользователи не могут разобрать или не видят текст с низкой контрастностью. [Подробнее…](https://web.dev/color-contrast/)"
|
|
310
310
|
},
|
|
311
|
-
"
|
|
311
|
+
"core/audits/accessibility/color-contrast.js | failureTitle": {
|
|
312
312
|
"message": "Цвета фона и переднего плана недостаточно контрастны"
|
|
313
313
|
},
|
|
314
|
-
"
|
|
314
|
+
"core/audits/accessibility/color-contrast.js | title": {
|
|
315
315
|
"message": "Цвета фона и переднего плана достаточно контрастны"
|
|
316
316
|
},
|
|
317
|
-
"
|
|
317
|
+
"core/audits/accessibility/definition-list.js | description": {
|
|
318
318
|
"message": "Если в структуре списков определений есть ошибки, программы чтения с экрана могут неправильно их озвучивать. [Подробнее…](https://web.dev/definition-list/)"
|
|
319
319
|
},
|
|
320
|
-
"
|
|
320
|
+
"core/audits/accessibility/definition-list.js | failureTitle": {
|
|
321
321
|
"message": "Ошибка в элементах `<dl>`: они могут содержать только правильно размещенные группы `<dt>` и `<dd>` и элементы `<script>`, `<template>` или `<div>`."
|
|
322
322
|
},
|
|
323
|
-
"
|
|
323
|
+
"core/audits/accessibility/definition-list.js | title": {
|
|
324
324
|
"message": "Элементы `<dl>` содержат только правильно размещенные группы `<dt>` и `<dd>` и элементы `<script>`, `<template>` или `<div>`."
|
|
325
325
|
},
|
|
326
|
-
"
|
|
326
|
+
"core/audits/accessibility/dlitem.js | description": {
|
|
327
327
|
"message": "Чтобы программы чтения с экрана правильно озвучивали элементы списков определений `<dt>` и `<dd>`, они должны располагаться внутри родительского элемента `<dl>`. [Подробнее…](https://web.dev/dlitem/)"
|
|
328
328
|
},
|
|
329
|
-
"
|
|
329
|
+
"core/audits/accessibility/dlitem.js | failureTitle": {
|
|
330
330
|
"message": "Элементы списков определений не расположены внутри элементов `<dl>`"
|
|
331
331
|
},
|
|
332
|
-
"
|
|
332
|
+
"core/audits/accessibility/dlitem.js | title": {
|
|
333
333
|
"message": "Элементы списков определений расположены внутри элементов `<dl>`"
|
|
334
334
|
},
|
|
335
|
-
"
|
|
335
|
+
"core/audits/accessibility/document-title.js | description": {
|
|
336
336
|
"message": "Элемент title нужен для того, чтобы программы чтения с экрана могли озвучивать название страницы. Также он появляется в результатах поиска и позволяет определять, соответствует ли сайт запросу. [Подробнее…](https://web.dev/document-title/)"
|
|
337
337
|
},
|
|
338
|
-
"
|
|
338
|
+
"core/audits/accessibility/document-title.js | failureTitle": {
|
|
339
339
|
"message": "В документе нет элемента `<title>`"
|
|
340
340
|
},
|
|
341
|
-
"
|
|
341
|
+
"core/audits/accessibility/document-title.js | title": {
|
|
342
342
|
"message": "Документ содержит элемент `<title>`"
|
|
343
343
|
},
|
|
344
|
-
"
|
|
344
|
+
"core/audits/accessibility/duplicate-id-active.js | description": {
|
|
345
345
|
"message": "Чтобы сервисы специальных возможностей могли считывать все активные элементы, их атрибуты `id` должны быть уникальными. [Подробнее…](https://web.dev/duplicate-id-active/)"
|
|
346
346
|
},
|
|
347
|
-
"
|
|
347
|
+
"core/audits/accessibility/duplicate-id-active.js | failureTitle": {
|
|
348
348
|
"message": "У активных элементов есть неуникальные атрибуты `[id]`"
|
|
349
349
|
},
|
|
350
|
-
"
|
|
350
|
+
"core/audits/accessibility/duplicate-id-active.js | title": {
|
|
351
351
|
"message": "Атрибуты `[id]` у активных элементов уникальны"
|
|
352
352
|
},
|
|
353
|
-
"
|
|
353
|
+
"core/audits/accessibility/duplicate-id-aria.js | description": {
|
|
354
354
|
"message": "Значение идентификатора ARIA должно быть уникальным, так как программы для людей с ограниченными возможностями могут игнорировать повторяющиеся идентификаторы. [Подробнее…](https://web.dev/duplicate-id-aria/)"
|
|
355
355
|
},
|
|
356
|
-
"
|
|
356
|
+
"core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
|
|
357
357
|
"message": "Идентификаторы ARIA не уникальны"
|
|
358
358
|
},
|
|
359
|
-
"
|
|
359
|
+
"core/audits/accessibility/duplicate-id-aria.js | title": {
|
|
360
360
|
"message": "Идентификаторы ARIA уникальны"
|
|
361
361
|
},
|
|
362
|
-
"
|
|
362
|
+
"core/audits/accessibility/form-field-multiple-labels.js | description": {
|
|
363
363
|
"message": "Когда программам чтения с экрана встречаются поля формы с несколькими ярлыками, они озвучивают только первый, последний или все ярлыки. Это может запутать пользователей. [Подробнее…](https://web.dev/form-field-multiple-labels/)"
|
|
364
364
|
},
|
|
365
|
-
"
|
|
365
|
+
"core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
|
|
366
366
|
"message": "В форме есть поля с несколькими ярлыками"
|
|
367
367
|
},
|
|
368
|
-
"
|
|
368
|
+
"core/audits/accessibility/form-field-multiple-labels.js | title": {
|
|
369
369
|
"message": "В форме нет полей с несколькими ярлыками"
|
|
370
370
|
},
|
|
371
|
-
"
|
|
371
|
+
"core/audits/accessibility/frame-title.js | description": {
|
|
372
372
|
"message": "Чтобы программы чтения с экрана могли описывать содержимое фреймов, для каждого из них должен быть указан атрибут title. [Подробнее…](https://web.dev/frame-title/)"
|
|
373
373
|
},
|
|
374
|
-
"
|
|
374
|
+
"core/audits/accessibility/frame-title.js | failureTitle": {
|
|
375
375
|
"message": "Для элементов `<frame>` или `<iframe>` не указан атрибут title"
|
|
376
376
|
},
|
|
377
|
-
"
|
|
377
|
+
"core/audits/accessibility/frame-title.js | title": {
|
|
378
378
|
"message": "У элементов `<frame>` и `<iframe>` есть атрибут title"
|
|
379
379
|
},
|
|
380
|
-
"
|
|
380
|
+
"core/audits/accessibility/heading-order.js | description": {
|
|
381
381
|
"message": "Когда заголовки расположены в правильном порядке и между их уровнями нет пропусков, они образуют семантическую структуру страницы. Благодаря этому навигация с помощью сервисов специальных возможностей становится проще и понятнее. [Подробнее…](https://web.dev/heading-order/)"
|
|
382
382
|
},
|
|
383
|
-
"
|
|
383
|
+
"core/audits/accessibility/heading-order.js | failureTitle": {
|
|
384
384
|
"message": "Элементы заголовков не расположены последовательно в порядке убывания"
|
|
385
385
|
},
|
|
386
|
-
"
|
|
386
|
+
"core/audits/accessibility/heading-order.js | title": {
|
|
387
387
|
"message": "Элементы заголовков расположены последовательно в порядке убывания"
|
|
388
388
|
},
|
|
389
|
-
"
|
|
389
|
+
"core/audits/accessibility/html-has-lang.js | description": {
|
|
390
390
|
"message": "Если для страницы не указан атрибут lang, программа чтения с экрана предполагает, что текст приведен на языке по умолчанию, выбранном пользователем при установке программы. Если текст написан на другом языке, он может озвучиваться некорректно. [Подробнее…](https://web.dev/html-has-lang/)"
|
|
391
391
|
},
|
|
392
|
-
"
|
|
392
|
+
"core/audits/accessibility/html-has-lang.js | failureTitle": {
|
|
393
393
|
"message": "Для элемента `<html>` не задан атрибут `[lang]`"
|
|
394
394
|
},
|
|
395
|
-
"
|
|
395
|
+
"core/audits/accessibility/html-has-lang.js | title": {
|
|
396
396
|
"message": "Элемент `<html>` содержит атрибут `[lang]`"
|
|
397
397
|
},
|
|
398
|
-
"
|
|
398
|
+
"core/audits/accessibility/html-lang-valid.js | description": {
|
|
399
399
|
"message": "Чтобы программы чтения с экрана правильно озвучивали текст, укажите действительный [языковой тег BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question). [Подробнее…](https://web.dev/html-lang-valid/)"
|
|
400
400
|
},
|
|
401
|
-
"
|
|
401
|
+
"core/audits/accessibility/html-lang-valid.js | failureTitle": {
|
|
402
402
|
"message": "В элементе `<html>` нет действительного значения для атрибута `[lang]`"
|
|
403
403
|
},
|
|
404
|
-
"
|
|
404
|
+
"core/audits/accessibility/html-lang-valid.js | title": {
|
|
405
405
|
"message": "Для элемента `<html>` указано действительное значение атрибута `[lang]`"
|
|
406
406
|
},
|
|
407
|
-
"
|
|
407
|
+
"core/audits/accessibility/image-alt.js | description": {
|
|
408
408
|
"message": "В информационных элементах должен содержаться короткий и ясный альтернативный текст. Если элемент декоративный, то атрибут alt для него можно оставить пустым. [Подробнее…](https://web.dev/image-alt/)"
|
|
409
409
|
},
|
|
410
|
-
"
|
|
410
|
+
"core/audits/accessibility/image-alt.js | failureTitle": {
|
|
411
411
|
"message": "Для элементов изображений не заданы атрибуты `[alt]`"
|
|
412
412
|
},
|
|
413
|
-
"
|
|
413
|
+
"core/audits/accessibility/image-alt.js | title": {
|
|
414
414
|
"message": "У элементов изображений есть атрибут `[alt]`"
|
|
415
415
|
},
|
|
416
|
-
"
|
|
416
|
+
"core/audits/accessibility/input-image-alt.js | description": {
|
|
417
417
|
"message": "Если в элементе `<input>` в качестве кнопки используется изображение, добавьте альтернативный текст, описывающий назначение этой кнопки для программ чтения с экрана. [Подробнее…](https://web.dev/input-image-alt/)"
|
|
418
418
|
},
|
|
419
|
-
"
|
|
419
|
+
"core/audits/accessibility/input-image-alt.js | failureTitle": {
|
|
420
420
|
"message": "Атрибут `[alt]` задан не для всех элементов `<input type=\"image\">`"
|
|
421
421
|
},
|
|
422
|
-
"
|
|
422
|
+
"core/audits/accessibility/input-image-alt.js | title": {
|
|
423
423
|
"message": "Элементы `<input type=\"image\">` содержат атрибут `[alt]`"
|
|
424
424
|
},
|
|
425
|
-
"
|
|
425
|
+
"core/audits/accessibility/label.js | description": {
|
|
426
426
|
"message": "Ярлыки нужны для того, чтобы программы чтения с экрана могли правильно озвучивать элементы управления формой. [Подробнее…](https://web.dev/label/)"
|
|
427
427
|
},
|
|
428
|
-
"
|
|
428
|
+
"core/audits/accessibility/label.js | failureTitle": {
|
|
429
429
|
"message": "Элементам формы не присвоены соответствующие ярлыки"
|
|
430
430
|
},
|
|
431
|
-
"
|
|
431
|
+
"core/audits/accessibility/label.js | title": {
|
|
432
432
|
"message": "Элементам формы присвоены соответствующие ярлыки"
|
|
433
433
|
},
|
|
434
|
-
"
|
|
434
|
+
"core/audits/accessibility/link-name.js | description": {
|
|
435
435
|
"message": "Текст ссылок (как и альтернативный текст для изображений, используемых в качестве ссылок) должен быть уникальным, фокусируемым и доступным для программ чтения с экрана. [Подробнее…](https://web.dev/link-name/)"
|
|
436
436
|
},
|
|
437
|
-
"
|
|
437
|
+
"core/audits/accessibility/link-name.js | failureTitle": {
|
|
438
438
|
"message": "Текст ссылок неразличим для программ чтения с экрана"
|
|
439
439
|
},
|
|
440
|
-
"
|
|
440
|
+
"core/audits/accessibility/link-name.js | title": {
|
|
441
441
|
"message": "Текст ссылок различим для программ чтения с экрана"
|
|
442
442
|
},
|
|
443
|
-
"
|
|
443
|
+
"core/audits/accessibility/list.js | description": {
|
|
444
444
|
"message": "Используйте правильную структуру кода при верстке списков, иначе программы чтения с экрана будут неправильно их озвучивать. [Подробнее…](https://web.dev/list/)"
|
|
445
445
|
},
|
|
446
|
-
"
|
|
446
|
+
"core/audits/accessibility/list.js | failureTitle": {
|
|
447
447
|
"message": "В списках содержатся другие элементы, помимо элементов `<li>` и элементов поддержки скрипта (`<script>` и `<template>`)"
|
|
448
448
|
},
|
|
449
|
-
"
|
|
449
|
+
"core/audits/accessibility/list.js | title": {
|
|
450
450
|
"message": "В списках содержатся только элементы `<li>` и элементы поддержки скрипта (`<script>` и `<template>`)"
|
|
451
451
|
},
|
|
452
|
-
"
|
|
452
|
+
"core/audits/accessibility/listitem.js | description": {
|
|
453
453
|
"message": "Чтобы программы чтения с экрана правильно озвучивали списки, элементы `<li>` должны располагаться внутри родительских элементов `<ul>` или `<ol>`. [Подробнее…](https://web.dev/listitem/)"
|
|
454
454
|
},
|
|
455
|
-
"
|
|
455
|
+
"core/audits/accessibility/listitem.js | failureTitle": {
|
|
456
456
|
"message": "Элементы списка `<li>` не содержатся в родительских элементах `<ul>` или `<ol>`"
|
|
457
457
|
},
|
|
458
|
-
"
|
|
458
|
+
"core/audits/accessibility/listitem.js | title": {
|
|
459
459
|
"message": "Элементы списка `<li>` расположены внутри родительских элементов `<ul>` или `<ol>`"
|
|
460
460
|
},
|
|
461
|
-
"
|
|
461
|
+
"core/audits/accessibility/meta-refresh.js | description": {
|
|
462
462
|
"message": "Когда страница обновляется автоматически, фокус, используемый программами для чтения с экрана, перемещается в верхнюю часть. Это может раздражать пользователей и мешать их работе. [Подробнее…](https://web.dev/meta-refresh/)"
|
|
463
463
|
},
|
|
464
|
-
"
|
|
464
|
+
"core/audits/accessibility/meta-refresh.js | failureTitle": {
|
|
465
465
|
"message": "В документе используется метатег `<meta http-equiv=\"refresh\">`"
|
|
466
466
|
},
|
|
467
|
-
"
|
|
467
|
+
"core/audits/accessibility/meta-refresh.js | title": {
|
|
468
468
|
"message": "В документе не используется метатег `<meta http-equiv=\"refresh\">`"
|
|
469
469
|
},
|
|
470
|
-
"
|
|
470
|
+
"core/audits/accessibility/meta-viewport.js | description": {
|
|
471
471
|
"message": "Не отключайте масштабирование: эта функция помогает слабовидящим пользователям читать информацию на веб-страницах. [Подробнее…](https://web.dev/meta-viewport/)"
|
|
472
472
|
},
|
|
473
|
-
"
|
|
473
|
+
"core/audits/accessibility/meta-viewport.js | failureTitle": {
|
|
474
474
|
"message": "Атрибут `[user-scalable=\"no\"]` используется в элементе `<meta name=\"viewport\">` или значение атрибута `[maximum-scale]` меньше 5"
|
|
475
475
|
},
|
|
476
|
-
"
|
|
476
|
+
"core/audits/accessibility/meta-viewport.js | title": {
|
|
477
477
|
"message": "Атрибут `[user-scalable=\"no\"]` не используется в элементе `<meta name=\"viewport\">`, и значение атрибута `[maximum-scale]` больше или равно 5"
|
|
478
478
|
},
|
|
479
|
-
"
|
|
479
|
+
"core/audits/accessibility/object-alt.js | description": {
|
|
480
480
|
"message": "Чтобы программы чтения с экрана могли зачитывать содержимое элементов `<object>`, добавьте к ним альтернативный текст. [Подробнее…](https://web.dev/object-alt/)"
|
|
481
481
|
},
|
|
482
|
-
"
|
|
482
|
+
"core/audits/accessibility/object-alt.js | failureTitle": {
|
|
483
483
|
"message": "У элементов `<object>` нет альтернативного текста"
|
|
484
484
|
},
|
|
485
|
-
"
|
|
485
|
+
"core/audits/accessibility/object-alt.js | title": {
|
|
486
486
|
"message": "У элементов `<object>` есть альтернативный текст"
|
|
487
487
|
},
|
|
488
|
-
"
|
|
488
|
+
"core/audits/accessibility/tabindex.js | description": {
|
|
489
489
|
"message": "Значение больше 0 подразумевает определенный порядок навигации. Это может создавать трудности для пользователей с ограниченными возможностями. [Подробнее…](https://web.dev/tabindex/)"
|
|
490
490
|
},
|
|
491
|
-
"
|
|
491
|
+
"core/audits/accessibility/tabindex.js | failureTitle": {
|
|
492
492
|
"message": "Для некоторых элементов значение `[tabindex]` больше 0"
|
|
493
493
|
},
|
|
494
|
-
"
|
|
494
|
+
"core/audits/accessibility/tabindex.js | title": {
|
|
495
495
|
"message": "Нет элементов со значением атрибута `[tabindex]` выше 0"
|
|
496
496
|
},
|
|
497
|
-
"
|
|
497
|
+
"core/audits/accessibility/td-headers-attr.js | description": {
|
|
498
498
|
"message": "Чтобы пользователям было проще перемещаться по таблицам с помощью программ чтения с экрана, убедитесь, что ячейки в элементах `<td>` с атрибутом `[headers]` ссылаются только на другие ячейки в той же таблице. [Подробнее…](https://web.dev/td-headers-attr/)"
|
|
499
499
|
},
|
|
500
|
-
"
|
|
500
|
+
"core/audits/accessibility/td-headers-attr.js | failureTitle": {
|
|
501
501
|
"message": "Ячейки внутри элемента `<table>`, в которых используется атрибут `[headers]`, ссылаются на элемент `id`, не найденный внутри той же таблицы."
|
|
502
502
|
},
|
|
503
|
-
"
|
|
503
|
+
"core/audits/accessibility/td-headers-attr.js | title": {
|
|
504
504
|
"message": "Ячейки внутри элемента `<table>`, в которых используется атрибут `[headers]`, ссылаются на ячейки той же таблицы."
|
|
505
505
|
},
|
|
506
|
-
"
|
|
506
|
+
"core/audits/accessibility/th-has-data-cells.js | description": {
|
|
507
507
|
"message": "Чтобы пользователям было проще перемещаться по таблицам с помощью программ чтения с экрана, убедитесь, что все заголовки в таблицах ссылаются на определенный набор ячеек. [Подробнее…](https://web.dev/th-has-data-cells/)"
|
|
508
508
|
},
|
|
509
|
-
"
|
|
509
|
+
"core/audits/accessibility/th-has-data-cells.js | failureTitle": {
|
|
510
510
|
"message": "В элементах `<th>` и элементах с атрибутом `[role=\"columnheader\"/\"rowheader\"]` нет описываемых ими ячеек с данными"
|
|
511
511
|
},
|
|
512
|
-
"
|
|
512
|
+
"core/audits/accessibility/th-has-data-cells.js | title": {
|
|
513
513
|
"message": "В элементах `<th>` и элементах с атрибутом `[role=\"columnheader\"/\"rowheader\"]` есть описываемые ими ячейки с данными"
|
|
514
514
|
},
|
|
515
|
-
"
|
|
515
|
+
"core/audits/accessibility/valid-lang.js | description": {
|
|
516
516
|
"message": "Чтобы программы чтения с экрана правильно озвучивали текст, укажите для элементов корректный [языковой тег BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question). [Подробнее…](https://web.dev/valid-lang/)"
|
|
517
517
|
},
|
|
518
|
-
"
|
|
518
|
+
"core/audits/accessibility/valid-lang.js | failureTitle": {
|
|
519
519
|
"message": "Присутствуют недействительные значения атрибутов `[lang]`"
|
|
520
520
|
},
|
|
521
|
-
"
|
|
521
|
+
"core/audits/accessibility/valid-lang.js | title": {
|
|
522
522
|
"message": "Недействительные значения атрибутов `[lang]` отсутствуют"
|
|
523
523
|
},
|
|
524
|
-
"
|
|
524
|
+
"core/audits/accessibility/video-caption.js | description": {
|
|
525
525
|
"message": "Чтобы информация, озвучиваемая в видео, была доступна людям с нарушениями слуха, добавьте субтитры. [Подробнее…](https://web.dev/video-caption/)"
|
|
526
526
|
},
|
|
527
|
-
"
|
|
527
|
+
"core/audits/accessibility/video-caption.js | failureTitle": {
|
|
528
528
|
"message": "Элементы `<video>` не содержат элемент `<track>` с атрибутом `[kind=\"captions\"]`"
|
|
529
529
|
},
|
|
530
|
-
"
|
|
530
|
+
"core/audits/accessibility/video-caption.js | title": {
|
|
531
531
|
"message": "Элементы `<video>` содержат элемент `<track>` с атрибутом `[kind=\"captions\"]`"
|
|
532
532
|
},
|
|
533
|
-
"
|
|
534
|
-
"message": "Чтобы современное веб-приложение лучше смотрелось на главном экране iOS, задайте значение для атрибута `apple-touch-icon`. Он должен указывать на непрозрачное квадратное PNG-изображение со стороной 192 или 180 пикселей. [Подробнее…](https://web.dev/apple-touch-icon/)"
|
|
535
|
-
},
|
|
536
|
-
"lighthouse-core/audits/apple-touch-icon.js | failureTitle": {
|
|
537
|
-
"message": "Не содержит действительный атрибут `apple-touch-icon`"
|
|
538
|
-
},
|
|
539
|
-
"lighthouse-core/audits/apple-touch-icon.js | precomposedWarning": {
|
|
540
|
-
"message": "Атрибут `apple-touch-icon-precomposed` устарел. Используйте атрибут `apple-touch-icon`."
|
|
541
|
-
},
|
|
542
|
-
"lighthouse-core/audits/apple-touch-icon.js | title": {
|
|
543
|
-
"message": "Содержит действительный атрибут `apple-touch-icon`"
|
|
544
|
-
},
|
|
545
|
-
"lighthouse-core/audits/autocomplete.js | columnCurrent": {
|
|
533
|
+
"core/audits/autocomplete.js | columnCurrent": {
|
|
546
534
|
"message": "Текущее значение"
|
|
547
535
|
},
|
|
548
|
-
"
|
|
536
|
+
"core/audits/autocomplete.js | columnSuggestions": {
|
|
549
537
|
"message": "Предлагаемый токен"
|
|
550
538
|
},
|
|
551
|
-
"
|
|
539
|
+
"core/audits/autocomplete.js | description": {
|
|
552
540
|
"message": "Атрибут `autocomplete` помогает пользователям отправлять формы быстрее. Чтобы упростить процесс, включите автозаполнение, задав атрибуту `autocomplete` правильное значение. [Подробнее…](https://developers.google.com/web/fundamentals/design-and-ux/input/forms#use_metadata_to_enable_auto-complete)"
|
|
553
541
|
},
|
|
554
|
-
"
|
|
542
|
+
"core/audits/autocomplete.js | failureTitle": {
|
|
555
543
|
"message": "`<input>` – для элементов не заданы верные атрибуты `autocomplete`"
|
|
556
544
|
},
|
|
557
|
-
"
|
|
545
|
+
"core/audits/autocomplete.js | manualReview": {
|
|
558
546
|
"message": "Требуется проверка вручную"
|
|
559
547
|
},
|
|
560
|
-
"
|
|
548
|
+
"core/audits/autocomplete.js | reviewOrder": {
|
|
561
549
|
"message": "Проверьте порядок токенов"
|
|
562
550
|
},
|
|
563
|
-
"
|
|
551
|
+
"core/audits/autocomplete.js | title": {
|
|
564
552
|
"message": "Элементы `<input>` верно используют атрибут `autocomplete`"
|
|
565
553
|
},
|
|
566
|
-
"
|
|
554
|
+
"core/audits/autocomplete.js | warningInvalid": {
|
|
567
555
|
"message": "Недопустимый токен `autocomplete` \"{token}\" в выражении {snippet}."
|
|
568
556
|
},
|
|
569
|
-
"
|
|
557
|
+
"core/audits/autocomplete.js | warningOrder": {
|
|
570
558
|
"message": "Проверьте порядок токенов: \"{tokens}\" в выражении {snippet}"
|
|
571
559
|
},
|
|
572
|
-
"
|
|
560
|
+
"core/audits/bootup-time.js | chromeExtensionsWarning": {
|
|
573
561
|
"message": "Расширения Chrome замедляют загрузку этой страницы. Попробуйте использовать режим инкогнито или профиль Chrome без расширений."
|
|
574
562
|
},
|
|
575
|
-
"
|
|
563
|
+
"core/audits/bootup-time.js | columnScriptEval": {
|
|
576
564
|
"message": "Время оценки скриптов"
|
|
577
565
|
},
|
|
578
|
-
"
|
|
566
|
+
"core/audits/bootup-time.js | columnScriptParse": {
|
|
579
567
|
"message": "Время анализа скриптов"
|
|
580
568
|
},
|
|
581
|
-
"
|
|
569
|
+
"core/audits/bootup-time.js | columnTotal": {
|
|
582
570
|
"message": "Общее процессорное время"
|
|
583
571
|
},
|
|
584
|
-
"
|
|
572
|
+
"core/audits/bootup-time.js | description": {
|
|
585
573
|
"message": "Рекомендуем сократить время на анализ, компиляцию и выполнение скриптов JS. Для этого вы можете уменьшить размер фрагментов кода JS. [Подробнее…](https://web.dev/bootup-time/)"
|
|
586
574
|
},
|
|
587
|
-
"
|
|
575
|
+
"core/audits/bootup-time.js | failureTitle": {
|
|
588
576
|
"message": "Сократите время выполнения кода JavaScript"
|
|
589
577
|
},
|
|
590
|
-
"
|
|
578
|
+
"core/audits/bootup-time.js | title": {
|
|
591
579
|
"message": "Время выполнения кода JavaScript"
|
|
592
580
|
},
|
|
593
|
-
"
|
|
581
|
+
"core/audits/byte-efficiency/duplicated-javascript.js | description": {
|
|
594
582
|
"message": "Чтобы сократить расход трафика, удалите из пакетов большие повторяющиеся модули JavaScript. "
|
|
595
583
|
},
|
|
596
|
-
"
|
|
584
|
+
"core/audits/byte-efficiency/duplicated-javascript.js | title": {
|
|
597
585
|
"message": "Удалите повторяющиеся модули из пакетов JavaScript"
|
|
598
586
|
},
|
|
599
|
-
"
|
|
587
|
+
"core/audits/byte-efficiency/efficient-animated-content.js | description": {
|
|
600
588
|
"message": "Анимированный контент неэффективно загружать в виде больших GIF-файлов. Чтобы сэкономить сетевой трафик, используйте формат видео MPEG-4/WebM для анимированного контента и формат изображений PNG/WebP – для статического. [Подробнее…](https://web.dev/efficient-animated-content/)"
|
|
601
589
|
},
|
|
602
|
-
"
|
|
590
|
+
"core/audits/byte-efficiency/efficient-animated-content.js | title": {
|
|
603
591
|
"message": "Используйте видеоформаты для анимированного контента"
|
|
604
592
|
},
|
|
605
|
-
"
|
|
593
|
+
"core/audits/byte-efficiency/legacy-javascript.js | description": {
|
|
606
594
|
"message": "Полизаполнения и преобразования позволяют работать с новыми функциями JavaScript в устаревших браузерах. Однако для большинства современных браузеров они не нужны. Используйте новую стратегию развертывания скриптов в пакетах JavaScript. Средство обнаружения модульных и немодульных функций сократит объем кода в современных браузерах и обеспечит поддержку устаревших браузеров. [Подробнее…](https://philipwalton.com/articles/deploying-es2015-code-in-production-today/)"
|
|
607
595
|
},
|
|
608
|
-
"
|
|
596
|
+
"core/audits/byte-efficiency/legacy-javascript.js | title": {
|
|
609
597
|
"message": "Не отправляйте устаревший код JavaScript в современные браузеры"
|
|
610
598
|
},
|
|
611
|
-
"
|
|
599
|
+
"core/audits/byte-efficiency/modern-image-formats.js | description": {
|
|
612
600
|
"message": "Форматы WebP и AVIF обеспечивают более эффективное сжатие по сравнению с PNG или JPEG, поэтому такие изображения загружаются быстрее и потребляют меньше трафика. [Подробнее…](https://web.dev/uses-webp-images/)"
|
|
613
601
|
},
|
|
614
|
-
"
|
|
602
|
+
"core/audits/byte-efficiency/modern-image-formats.js | title": {
|
|
615
603
|
"message": "Используйте современные форматы изображений"
|
|
616
604
|
},
|
|
617
|
-
"
|
|
605
|
+
"core/audits/byte-efficiency/offscreen-images.js | description": {
|
|
618
606
|
"message": "Чтобы уменьшить время загрузки для взаимодействия, рекомендуем настроить отложенную загрузку скрытых изображений. Тогда основные ресурсы сайта будут загружаться в первую очередь. [Подробнее…](https://web.dev/offscreen-images/)"
|
|
619
607
|
},
|
|
620
|
-
"
|
|
608
|
+
"core/audits/byte-efficiency/offscreen-images.js | title": {
|
|
621
609
|
"message": "Отложите загрузку скрытых изображений"
|
|
622
610
|
},
|
|
623
|
-
"
|
|
611
|
+
"core/audits/byte-efficiency/render-blocking-resources.js | description": {
|
|
624
612
|
"message": "Некоторые ресурсы блокируют первую отрисовку страницы. Рекомендуем встроить критическую часть данных JS/CSS в код HTML и отложить загрузку остальных ресурсов. [Подробнее…](https://web.dev/render-blocking-resources/)"
|
|
625
613
|
},
|
|
626
|
-
"
|
|
614
|
+
"core/audits/byte-efficiency/render-blocking-resources.js | title": {
|
|
627
615
|
"message": "Устраните ресурсы, блокирующие отображение"
|
|
628
616
|
},
|
|
629
|
-
"
|
|
617
|
+
"core/audits/byte-efficiency/total-byte-weight.js | description": {
|
|
630
618
|
"message": "Чрезмерная нагрузка на сеть стоит пользователям реальных денег и может стать причиной долгого ожидания при работе в Интернете. [Подробнее…](https://web.dev/total-byte-weight/)"
|
|
631
619
|
},
|
|
632
|
-
"
|
|
620
|
+
"core/audits/byte-efficiency/total-byte-weight.js | displayValue": {
|
|
633
621
|
"message": "Общий размер достиг {totalBytes, number, bytes} КиБ"
|
|
634
622
|
},
|
|
635
|
-
"
|
|
623
|
+
"core/audits/byte-efficiency/total-byte-weight.js | failureTitle": {
|
|
636
624
|
"message": "Предотвратите чрезмерную нагрузку на сеть"
|
|
637
625
|
},
|
|
638
|
-
"
|
|
626
|
+
"core/audits/byte-efficiency/total-byte-weight.js | title": {
|
|
639
627
|
"message": "Предотвращение чрезмерной нагрузки на сеть"
|
|
640
628
|
},
|
|
641
|
-
"
|
|
629
|
+
"core/audits/byte-efficiency/unminified-css.js | description": {
|
|
642
630
|
"message": "Уменьшив файлы CSS, вы можете сократить объем полезной сетевой нагрузки. [Подробнее…](https://web.dev/unminified-css/)"
|
|
643
631
|
},
|
|
644
|
-
"
|
|
632
|
+
"core/audits/byte-efficiency/unminified-css.js | title": {
|
|
645
633
|
"message": "Уменьшите размер кода CSS"
|
|
646
634
|
},
|
|
647
|
-
"
|
|
635
|
+
"core/audits/byte-efficiency/unminified-javascript.js | description": {
|
|
648
636
|
"message": "Уменьшив файлы JavaScript, вы можете сократить объем полезной нагрузки и время анализа скриптов. [Подробнее…](https://web.dev/unminified-javascript/)"
|
|
649
637
|
},
|
|
650
|
-
"
|
|
638
|
+
"core/audits/byte-efficiency/unminified-javascript.js | title": {
|
|
651
639
|
"message": "Уменьшите размер кода JavaScript"
|
|
652
640
|
},
|
|
653
|
-
"
|
|
641
|
+
"core/audits/byte-efficiency/unused-css-rules.js | description": {
|
|
654
642
|
"message": "Чтобы сократить расход трафика, удалите ненужные правила из таблиц стилей и отложите загрузку кода CSS, который не используется в видимой части страницы. [Подробнее…](https://web.dev/unused-css-rules/)"
|
|
655
643
|
},
|
|
656
|
-
"
|
|
644
|
+
"core/audits/byte-efficiency/unused-css-rules.js | title": {
|
|
657
645
|
"message": "Удалите неиспользуемый код CSS"
|
|
658
646
|
},
|
|
659
|
-
"
|
|
647
|
+
"core/audits/byte-efficiency/unused-javascript.js | description": {
|
|
660
648
|
"message": "Чтобы сократить расход трафика, удалите неиспользуемый код JavaScript и отложите загрузку скриптов до тех пор, пока они не понадобятся. [Подробнее…](https://web.dev/unused-javascript/)"
|
|
661
649
|
},
|
|
662
|
-
"
|
|
650
|
+
"core/audits/byte-efficiency/unused-javascript.js | title": {
|
|
663
651
|
"message": "Удалите неиспользуемый код JavaScript"
|
|
664
652
|
},
|
|
665
|
-
"
|
|
653
|
+
"core/audits/byte-efficiency/uses-long-cache-ttl.js | description": {
|
|
666
654
|
"message": "Благодаря долгому времени хранения кеша страница может быстрее загружаться при повторных посещениях. [Подробнее…](https://web.dev/uses-long-cache-ttl/)"
|
|
667
655
|
},
|
|
668
|
-
"
|
|
656
|
+
"core/audits/byte-efficiency/uses-long-cache-ttl.js | displayValue": {
|
|
669
657
|
"message": "{itemCount,plural, =1{Найден 1 ресурс}one{Найден # ресурс}few{Найдено # ресурса}many{Найдено # ресурсов}other{Найдено # ресурса}}"
|
|
670
658
|
},
|
|
671
|
-
"
|
|
659
|
+
"core/audits/byte-efficiency/uses-long-cache-ttl.js | failureTitle": {
|
|
672
660
|
"message": "Задайте правила эффективного использования кеша для статических объектов"
|
|
673
661
|
},
|
|
674
|
-
"
|
|
662
|
+
"core/audits/byte-efficiency/uses-long-cache-ttl.js | title": {
|
|
675
663
|
"message": "Настройка правил эффективного использования кеша для статических объектов"
|
|
676
664
|
},
|
|
677
|
-
"
|
|
665
|
+
"core/audits/byte-efficiency/uses-optimized-images.js | description": {
|
|
678
666
|
"message": "Оптимизированные изображения загружаются быстрее и меньше расходуют мобильный трафик. [Подробнее…](https://web.dev/uses-optimized-images/)"
|
|
679
667
|
},
|
|
680
|
-
"
|
|
668
|
+
"core/audits/byte-efficiency/uses-optimized-images.js | title": {
|
|
681
669
|
"message": "Настройте эффективную кодировку изображений"
|
|
682
670
|
},
|
|
683
|
-
"
|
|
671
|
+
"core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnActualDimensions": {
|
|
684
672
|
"message": "Фактические размеры"
|
|
685
673
|
},
|
|
686
|
-
"
|
|
674
|
+
"core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnDisplayedDimensions": {
|
|
687
675
|
"message": "Отображаемые размеры"
|
|
688
676
|
},
|
|
689
|
-
"
|
|
677
|
+
"core/audits/byte-efficiency/uses-responsive-images-snapshot.js | failureTitle": {
|
|
690
678
|
"message": "Размеры изображений больше отображаемых"
|
|
691
679
|
},
|
|
692
|
-
"
|
|
680
|
+
"core/audits/byte-efficiency/uses-responsive-images-snapshot.js | title": {
|
|
693
681
|
"message": "Размеры изображений соответствует отображаемым"
|
|
694
682
|
},
|
|
695
|
-
"
|
|
683
|
+
"core/audits/byte-efficiency/uses-responsive-images.js | description": {
|
|
696
684
|
"message": "Чтобы сэкономить мобильный трафик и ускорить загрузку страницы, следите за тем, чтобы размеры ваших изображений соответствовали требованиям. [Подробнее…](https://web.dev/uses-responsive-images/)"
|
|
697
685
|
},
|
|
698
|
-
"
|
|
686
|
+
"core/audits/byte-efficiency/uses-responsive-images.js | title": {
|
|
699
687
|
"message": "Настройте подходящий размер изображений"
|
|
700
688
|
},
|
|
701
|
-
"
|
|
689
|
+
"core/audits/byte-efficiency/uses-text-compression.js | description": {
|
|
702
690
|
"message": "Чтобы уменьшить расход сетевого трафика, рекомендуем сжимать текстовые ресурсы (gzip, deflate или brotli). [Подробнее…](https://web.dev/uses-text-compression/)"
|
|
703
691
|
},
|
|
704
|
-
"
|
|
692
|
+
"core/audits/byte-efficiency/uses-text-compression.js | title": {
|
|
705
693
|
"message": "Включите сжатие текста"
|
|
706
694
|
},
|
|
707
|
-
"
|
|
695
|
+
"core/audits/content-width.js | description": {
|
|
708
696
|
"message": "Приложение не оптимизировано для работы на экранах мобильных устройств, если ширина контента приложения не совпадает с шириной области просмотра. [Подробнее…](https://web.dev/content-width/)"
|
|
709
697
|
},
|
|
710
|
-
"
|
|
698
|
+
"core/audits/content-width.js | explanation": {
|
|
711
699
|
"message": "Область просмотра ({innerWidth} пикселей) не совпадает с размером окна ({outerWidth} пикселей)."
|
|
712
700
|
},
|
|
713
|
-
"
|
|
701
|
+
"core/audits/content-width.js | failureTitle": {
|
|
714
702
|
"message": "Размер контента не соответствует области просмотра"
|
|
715
703
|
},
|
|
716
|
-
"
|
|
704
|
+
"core/audits/content-width.js | title": {
|
|
717
705
|
"message": "Размер контента соответствует области просмотра"
|
|
718
706
|
},
|
|
719
|
-
"
|
|
707
|
+
"core/audits/critical-request-chains.js | description": {
|
|
720
708
|
"message": "Приведенные ниже цепочки критических запросов показывают, какие ресурсы загружаются с высоким приоритетом. Чтобы ускорить загрузку страниц, рекомендуем сократить длину цепочек, уменьшить размер скачиваемых ресурсов или отложить скачивание ненужных ресурсов. [Подробнее…](https://web.dev/critical-request-chains/)"
|
|
721
709
|
},
|
|
722
|
-
"
|
|
710
|
+
"core/audits/critical-request-chains.js | displayValue": {
|
|
723
711
|
"message": "{itemCount,plural, =1{Найдена 1 цепочка}one{Найдена # цепочка}few{Найдено # цепочки}many{Найдено # цепочек}other{Найдено # цепочки}}"
|
|
724
712
|
},
|
|
725
|
-
"
|
|
713
|
+
"core/audits/critical-request-chains.js | title": {
|
|
726
714
|
"message": "Старайтесь не допускать создания цепочек критических запросов"
|
|
727
715
|
},
|
|
728
|
-
"
|
|
716
|
+
"core/audits/csp-xss.js | columnDirective": {
|
|
729
717
|
"message": "Директива"
|
|
730
718
|
},
|
|
731
|
-
"
|
|
719
|
+
"core/audits/csp-xss.js | columnSeverity": {
|
|
732
720
|
"message": "Уровень серьезности"
|
|
733
721
|
},
|
|
734
|
-
"
|
|
722
|
+
"core/audits/csp-xss.js | description": {
|
|
735
723
|
"message": "Надежная политика безопасности контента (Content Security Policy, CSP) существенно снижает риск атак XSS (межсайтовый скриптинг). [Подробнее…](https://web.dev/csp-xss/)"
|
|
736
724
|
},
|
|
737
|
-
"
|
|
725
|
+
"core/audits/csp-xss.js | itemSeveritySyntax": {
|
|
738
726
|
"message": "Синтаксис"
|
|
739
727
|
},
|
|
740
|
-
"
|
|
728
|
+
"core/audits/csp-xss.js | metaTagMessage": {
|
|
741
729
|
"message": "На странице есть политика CSP, определенная в теге <meta>. При возможности определите CSP в заголовке HTTP."
|
|
742
730
|
},
|
|
743
|
-
"
|
|
731
|
+
"core/audits/csp-xss.js | noCsp": {
|
|
744
732
|
"message": "Не найдены политики CSP в режиме принудительного применения."
|
|
745
733
|
},
|
|
746
|
-
"
|
|
734
|
+
"core/audits/csp-xss.js | title": {
|
|
747
735
|
"message": "Убедитесь, что политика CSP эффективна против атак XSS"
|
|
748
736
|
},
|
|
749
|
-
"
|
|
737
|
+
"core/audits/deprecations.js | columnDeprecate": {
|
|
750
738
|
"message": "Прекращение поддержки / предупреждение"
|
|
751
739
|
},
|
|
752
|
-
"
|
|
740
|
+
"core/audits/deprecations.js | columnLine": {
|
|
753
741
|
"message": "Строка"
|
|
754
742
|
},
|
|
755
|
-
"
|
|
743
|
+
"core/audits/deprecations.js | description": {
|
|
756
744
|
"message": "Рано или поздно устаревшие API будут удалены из браузера. [Подробнее…](https://web.dev/deprecations/)"
|
|
757
745
|
},
|
|
758
|
-
"
|
|
746
|
+
"core/audits/deprecations.js | displayValue": {
|
|
759
747
|
"message": "{itemCount,plural, =1{Обнаружено 1 предупреждение}one{Обнаружено # предупреждение}few{Обнаружено # предупреждения}many{Обнаружено # предупреждений}other{Обнаружено # предупреждения}}"
|
|
760
748
|
},
|
|
761
|
-
"
|
|
749
|
+
"core/audits/deprecations.js | failureTitle": {
|
|
762
750
|
"message": "На странице используются устаревшие API"
|
|
763
751
|
},
|
|
764
|
-
"
|
|
752
|
+
"core/audits/deprecations.js | title": {
|
|
765
753
|
"message": "Устаревшие API не используются"
|
|
766
754
|
},
|
|
767
|
-
"
|
|
755
|
+
"core/audits/dobetterweb/charset.js | description": {
|
|
768
756
|
"message": "Требуется задать кодировку символов. Это можно сделать с помощью тега `<meta>` в первых 1024 байтах HTML-страницы или в заголовке ответа HTTP Content-Type. [Подробнее…](https://web.dev/charset/)"
|
|
769
757
|
},
|
|
770
|
-
"
|
|
758
|
+
"core/audits/dobetterweb/charset.js | failureTitle": {
|
|
771
759
|
"message": "Объявление набора символов отсутствует или указано в неправильном месте на HTML-странице"
|
|
772
760
|
},
|
|
773
|
-
"
|
|
761
|
+
"core/audits/dobetterweb/charset.js | title": {
|
|
774
762
|
"message": "Правильно заданный набор символов"
|
|
775
763
|
},
|
|
776
|
-
"
|
|
764
|
+
"core/audits/dobetterweb/doctype.js | description": {
|
|
777
765
|
"message": "Если для страницы указан параметр DOCTYPE, браузер не будет переключаться в режим совместимости. [Подробнее…](https://web.dev/doctype/)"
|
|
778
766
|
},
|
|
779
|
-
"
|
|
767
|
+
"core/audits/dobetterweb/doctype.js | explanationBadDoctype": {
|
|
780
768
|
"message": "В качестве названия элемента DOCTYPE нужно указать `html` строчными буквами."
|
|
781
769
|
},
|
|
782
|
-
"
|
|
770
|
+
"core/audits/dobetterweb/doctype.js | explanationNoDoctype": {
|
|
783
771
|
"message": "Необходимо добавить элемент DOCTYPE"
|
|
784
772
|
},
|
|
785
|
-
"
|
|
773
|
+
"core/audits/dobetterweb/doctype.js | explanationPublicId": {
|
|
786
774
|
"message": "Поле publicId содержит данные"
|
|
787
775
|
},
|
|
788
|
-
"
|
|
776
|
+
"core/audits/dobetterweb/doctype.js | explanationSystemId": {
|
|
789
777
|
"message": "Поле systemId содержит данные"
|
|
790
778
|
},
|
|
791
|
-
"
|
|
779
|
+
"core/audits/dobetterweb/doctype.js | failureTitle": {
|
|
792
780
|
"message": "Активирован режим совместимости, так как на странице отсутствует элемент DOCTYPE"
|
|
793
781
|
},
|
|
794
|
-
"
|
|
782
|
+
"core/audits/dobetterweb/doctype.js | title": {
|
|
795
783
|
"message": "Тип страницы (DOCTYPE): HTML"
|
|
796
784
|
},
|
|
797
|
-
"
|
|
785
|
+
"core/audits/dobetterweb/dom-size.js | columnStatistic": {
|
|
798
786
|
"message": "Статистический показатель"
|
|
799
787
|
},
|
|
800
|
-
"
|
|
788
|
+
"core/audits/dobetterweb/dom-size.js | columnValue": {
|
|
801
789
|
"message": "Значение"
|
|
802
790
|
},
|
|
803
|
-
"
|
|
791
|
+
"core/audits/dobetterweb/dom-size.js | description": {
|
|
804
792
|
"message": "Сложная структура DOM усилит использование памяти, замедлит [вычисление стилей](https://developers.google.com/web/fundamentals/performance/rendering/reduce-the-scope-and-complexity-of-style-calculations) и увеличит затраты на [компоновку шаблонов](https://developers.google.com/speed/articles/reflow). [Подробнее…](https://web.dev/dom-size/)"
|
|
805
793
|
},
|
|
806
|
-
"
|
|
794
|
+
"core/audits/dobetterweb/dom-size.js | displayValue": {
|
|
807
795
|
"message": "{itemCount,plural, =1{1 элемент}one{# элемент}few{# элемента}many{# элементов}other{# элемента}}"
|
|
808
796
|
},
|
|
809
|
-
"
|
|
797
|
+
"core/audits/dobetterweb/dom-size.js | failureTitle": {
|
|
810
798
|
"message": "Сократите размер структуры DOM"
|
|
811
799
|
},
|
|
812
|
-
"
|
|
800
|
+
"core/audits/dobetterweb/dom-size.js | statisticDOMDepth": {
|
|
813
801
|
"message": "Максимальная глубина вложенности DOM"
|
|
814
802
|
},
|
|
815
|
-
"
|
|
803
|
+
"core/audits/dobetterweb/dom-size.js | statisticDOMElements": {
|
|
816
804
|
"message": "Общее количество элементов DOM"
|
|
817
805
|
},
|
|
818
|
-
"
|
|
806
|
+
"core/audits/dobetterweb/dom-size.js | statisticDOMWidth": {
|
|
819
807
|
"message": "Максимальное число дочерних элементов"
|
|
820
808
|
},
|
|
821
|
-
"
|
|
809
|
+
"core/audits/dobetterweb/dom-size.js | title": {
|
|
822
810
|
"message": "Сокращение размера структуры DOM"
|
|
823
811
|
},
|
|
824
|
-
"
|
|
812
|
+
"core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
825
813
|
"message": "Пользователи с подозрением относятся к сайтам, которые беспричинно запрашивают доступ к их местоположению. Мы рекомендуем связать этот запрос с определенными действиями пользователя. [Подробнее…](https://web.dev/geolocation-on-start/)"
|
|
826
814
|
},
|
|
827
|
-
"
|
|
815
|
+
"core/audits/dobetterweb/geolocation-on-start.js | failureTitle": {
|
|
828
816
|
"message": "Разрешение на определение местоположения запрашивается при загрузке страницы"
|
|
829
817
|
},
|
|
830
|
-
"
|
|
818
|
+
"core/audits/dobetterweb/geolocation-on-start.js | title": {
|
|
831
819
|
"message": "Разрешение на определение местоположения не запрашивается при загрузке страницы"
|
|
832
820
|
},
|
|
833
|
-
"
|
|
821
|
+
"core/audits/dobetterweb/inspector-issues.js | columnIssueType": {
|
|
834
822
|
"message": "Тип нарушения"
|
|
835
823
|
},
|
|
836
|
-
"
|
|
824
|
+
"core/audits/dobetterweb/inspector-issues.js | description": {
|
|
837
825
|
"message": "Ошибки, записанные на панели`Issues` в Инструментах разработчика Chrome, указывают на нерешенные проблемы. Это могут быть невыполненные сетевые запросы, низкий уровень защиты и другие сбои в работе браузера. Чтобы получить подробную информацию о каждой неполадке, откройте панель."
|
|
838
826
|
},
|
|
839
|
-
"
|
|
827
|
+
"core/audits/dobetterweb/inspector-issues.js | failureTitle": {
|
|
840
828
|
"message": "Ошибки были записаны на панели `Issues` в Инструментах разработчика Chrome"
|
|
841
829
|
},
|
|
842
|
-
"
|
|
830
|
+
"core/audits/dobetterweb/inspector-issues.js | issueTypeBlockedByResponse": {
|
|
843
831
|
"message": "Заблокировано в соответствии с правилами использования междоменных запросов."
|
|
844
832
|
},
|
|
845
|
-
"
|
|
833
|
+
"core/audits/dobetterweb/inspector-issues.js | issueTypeHeavyAds": {
|
|
846
834
|
"message": "Объявления используют слишком много ресурсов"
|
|
847
835
|
},
|
|
848
|
-
"
|
|
836
|
+
"core/audits/dobetterweb/inspector-issues.js | title": {
|
|
849
837
|
"message": "Нет записей ошибок на панели `Issues` в Инструментах разработчика Chrome"
|
|
850
838
|
},
|
|
851
|
-
"
|
|
839
|
+
"core/audits/dobetterweb/js-libraries.js | columnVersion": {
|
|
852
840
|
"message": "Версия"
|
|
853
841
|
},
|
|
854
|
-
"
|
|
842
|
+
"core/audits/dobetterweb/js-libraries.js | description": {
|
|
855
843
|
"message": "Все клиентские библиотеки JavaScript, обнаруженные на странице. [Подробнее…](https://web.dev/js-libraries/)"
|
|
856
844
|
},
|
|
857
|
-
"
|
|
845
|
+
"core/audits/dobetterweb/js-libraries.js | title": {
|
|
858
846
|
"message": "Обнаруженные библиотеки JavaScript"
|
|
859
847
|
},
|
|
860
|
-
"
|
|
848
|
+
"core/audits/dobetterweb/no-document-write.js | description": {
|
|
861
849
|
"message": "Использование метода `document.write()` для динамической подгрузки внешних скриптов может значительно замедлять загрузку страницы для пользователей с низкой скоростью подключения. [Подробнее…](https://web.dev/no-document-write/)"
|
|
862
850
|
},
|
|
863
|
-
"
|
|
851
|
+
"core/audits/dobetterweb/no-document-write.js | failureTitle": {
|
|
864
852
|
"message": "Не используйте `document.write()`"
|
|
865
853
|
},
|
|
866
|
-
"
|
|
854
|
+
"core/audits/dobetterweb/no-document-write.js | title": {
|
|
867
855
|
"message": "Метод `document.write()` не используется"
|
|
868
856
|
},
|
|
869
|
-
"
|
|
857
|
+
"core/audits/dobetterweb/no-vulnerable-libraries.js | columnSeverity": {
|
|
870
858
|
"message": "Максимальная степень опасности"
|
|
871
859
|
},
|
|
872
|
-
"
|
|
860
|
+
"core/audits/dobetterweb/no-vulnerable-libraries.js | columnVersion": {
|
|
873
861
|
"message": "Версия библиотеки"
|
|
874
862
|
},
|
|
875
|
-
"
|
|
863
|
+
"core/audits/dobetterweb/no-vulnerable-libraries.js | columnVuln": {
|
|
876
864
|
"message": "Количество уязвимостей"
|
|
877
865
|
},
|
|
878
|
-
"
|
|
866
|
+
"core/audits/dobetterweb/no-vulnerable-libraries.js | description": {
|
|
879
867
|
"message": "Некоторые сторонние скрипты содержат известные уязвимости, которые легко могут быть обнаружены и использованы злоумышленниками. [Подробнее…](https://web.dev/no-vulnerable-libraries/)"
|
|
880
868
|
},
|
|
881
|
-
"
|
|
869
|
+
"core/audits/dobetterweb/no-vulnerable-libraries.js | displayValue": {
|
|
882
870
|
"message": "{itemCount,plural, =1{Обнаружена 1 уязвимость}one{Обнаружена # уязвимость}few{Обнаружено # уязвимости}many{Обнаружено # уязвимостей}other{Обнаружено # уязвимости}}"
|
|
883
871
|
},
|
|
884
|
-
"
|
|
872
|
+
"core/audits/dobetterweb/no-vulnerable-libraries.js | failureTitle": {
|
|
885
873
|
"message": "Содержит клиентские библиотеки JavaScript с известными уязвимостями"
|
|
886
874
|
},
|
|
887
|
-
"
|
|
875
|
+
"core/audits/dobetterweb/no-vulnerable-libraries.js | title": {
|
|
888
876
|
"message": "Не содержит клиентские библиотеки JavaScript с известными уязвимостями"
|
|
889
877
|
},
|
|
890
|
-
"
|
|
878
|
+
"core/audits/dobetterweb/notification-on-start.js | description": {
|
|
891
879
|
"message": "Пользователи с подозрением относятся к сайтам, которые беспричинно запрашивают разрешение на отправку уведомлений. Мы рекомендуем связать этот запрос с определенными жестами пользователя. [Подробнее…](https://web.dev/notification-on-start/)"
|
|
892
880
|
},
|
|
893
|
-
"
|
|
881
|
+
"core/audits/dobetterweb/notification-on-start.js | failureTitle": {
|
|
894
882
|
"message": "Разрешение на отправку уведомлений запрашивается при загрузке страницы"
|
|
895
883
|
},
|
|
896
|
-
"
|
|
884
|
+
"core/audits/dobetterweb/notification-on-start.js | title": {
|
|
897
885
|
"message": "Разрешение на отправку уведомлений не запрашивается при загрузке страницы"
|
|
898
886
|
},
|
|
899
|
-
"
|
|
887
|
+
"core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | description": {
|
|
900
888
|
"message": "Запрет на вставку пароля из буфера обмена отрицательно сказывается на безопасности пользователей. [Подробнее…](https://web.dev/password-inputs-can-be-pasted-into/)"
|
|
901
889
|
},
|
|
902
|
-
"
|
|
890
|
+
"core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | failureTitle": {
|
|
903
891
|
"message": "Вставка пароля из буфера обмена запрещена"
|
|
904
892
|
},
|
|
905
|
-
"
|
|
893
|
+
"core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | title": {
|
|
906
894
|
"message": "Вставка пароля из буфера обмена разрешена"
|
|
907
895
|
},
|
|
908
|
-
"
|
|
896
|
+
"core/audits/dobetterweb/uses-http2.js | columnProtocol": {
|
|
909
897
|
"message": "Протокол"
|
|
910
898
|
},
|
|
911
|
-
"
|
|
899
|
+
"core/audits/dobetterweb/uses-http2.js | description": {
|
|
912
900
|
"message": "Протокол HTTP/2 отличается от HTTP/1.1 массой преимуществ, включая бинарность и мультиплексирование запросов. [Подробнее…](https://web.dev/uses-http2/)"
|
|
913
901
|
},
|
|
914
|
-
"
|
|
902
|
+
"core/audits/dobetterweb/uses-http2.js | displayValue": {
|
|
915
903
|
"message": "{itemCount,plural, =1{1 запрос не передан через HTTP/2}one{# запрос не передан через HTTP/2}few{# запроса не передано через HTTP/2}many{# запросов не передано через HTTP/2}other{# запроса не передано через HTTP/2}}"
|
|
916
904
|
},
|
|
917
|
-
"
|
|
905
|
+
"core/audits/dobetterweb/uses-http2.js | title": {
|
|
918
906
|
"message": "Перейдите на протокол HTTP/2"
|
|
919
907
|
},
|
|
920
|
-
"
|
|
908
|
+
"core/audits/dobetterweb/uses-passive-event-listeners.js | description": {
|
|
921
909
|
"message": "Чтобы повысить производительность при прокрутке страницы, используйте флаг `passive` для прослушивателей событий прикосновения и колеса мыши. [Подробнее…](https://web.dev/uses-passive-event-listeners/)"
|
|
922
910
|
},
|
|
923
|
-
"
|
|
911
|
+
"core/audits/dobetterweb/uses-passive-event-listeners.js | failureTitle": {
|
|
924
912
|
"message": "Пассивные прослушиватели событий не используются для улучшения производительности при прокрутке"
|
|
925
913
|
},
|
|
926
|
-
"
|
|
914
|
+
"core/audits/dobetterweb/uses-passive-event-listeners.js | title": {
|
|
927
915
|
"message": "Пассивные прослушиватели событий используются для улучшения производительности при прокрутке"
|
|
928
916
|
},
|
|
929
|
-
"
|
|
917
|
+
"core/audits/errors-in-console.js | description": {
|
|
930
918
|
"message": "Ошибки, записанные в журнале консоли, указывают на нерешенные проблемы. Это могут быть невыполненные сетевые запросы и другие сбои в работе браузера. [Подробнее…](https://web.dev/errors-in-console/)"
|
|
931
919
|
},
|
|
932
|
-
"
|
|
920
|
+
"core/audits/errors-in-console.js | failureTitle": {
|
|
933
921
|
"message": "Ошибки браузера занесены в журнал консоли"
|
|
934
922
|
},
|
|
935
|
-
"
|
|
923
|
+
"core/audits/errors-in-console.js | title": {
|
|
936
924
|
"message": "В журнале консоли нет ошибок браузера"
|
|
937
925
|
},
|
|
938
|
-
"
|
|
926
|
+
"core/audits/font-display.js | description": {
|
|
939
927
|
"message": "Используйте свойство CSS font-display, чтобы пользователи могли видеть текст во время загрузки веб-шрифтов. [Подробнее…](https://web.dev/font-display/)"
|
|
940
928
|
},
|
|
941
|
-
"
|
|
929
|
+
"core/audits/font-display.js | failureTitle": {
|
|
942
930
|
"message": "Настройте показ всего текста во время загрузки веб-шрифтов"
|
|
943
931
|
},
|
|
944
|
-
"
|
|
932
|
+
"core/audits/font-display.js | title": {
|
|
945
933
|
"message": "Показ всего текста во время загрузки веб-шрифтов"
|
|
946
934
|
},
|
|
947
|
-
"
|
|
935
|
+
"core/audits/font-display.js | undeclaredFontOriginWarning": {
|
|
948
936
|
"message": "{fontCountForOrigin,plural, =1{Сервису Lighthouse не удалось автоматически проверить значение `font-display` для следующего URL: {fontOrigin}.}one{Сервису Lighthouse не удалось автоматически проверить значения `font-display` для следующего URL: {fontOrigin}.}few{Сервису Lighthouse не удалось автоматически проверить значения `font-display` для следующего URL: {fontOrigin}.}many{Сервису Lighthouse не удалось автоматически проверить значения `font-display` для следующего URL: {fontOrigin}.}other{Сервису Lighthouse не удалось автоматически проверить значения `font-display` для следующего URL: {fontOrigin}.}}"
|
|
949
937
|
},
|
|
950
|
-
"
|
|
938
|
+
"core/audits/image-aspect-ratio.js | columnActual": {
|
|
951
939
|
"message": "Соотношение сторон (фактическое)"
|
|
952
940
|
},
|
|
953
|
-
"
|
|
941
|
+
"core/audits/image-aspect-ratio.js | columnDisplayed": {
|
|
954
942
|
"message": "Соотношение сторон (отображаемое)"
|
|
955
943
|
},
|
|
956
|
-
"
|
|
944
|
+
"core/audits/image-aspect-ratio.js | description": {
|
|
957
945
|
"message": "Размеры отображаемого изображения должны соответствовать нормальному соотношению сторон. [Подробнее…](https://web.dev/image-aspect-ratio/)"
|
|
958
946
|
},
|
|
959
|
-
"
|
|
947
|
+
"core/audits/image-aspect-ratio.js | failureTitle": {
|
|
960
948
|
"message": "Присутствуют изображения с некорректным соотношением сторон"
|
|
961
949
|
},
|
|
962
|
-
"
|
|
950
|
+
"core/audits/image-aspect-ratio.js | title": {
|
|
963
951
|
"message": "Отсутствуют изображения с некорректным соотношением сторон"
|
|
964
952
|
},
|
|
965
|
-
"
|
|
953
|
+
"core/audits/image-size-responsive.js | columnActual": {
|
|
966
954
|
"message": "Фактический размер"
|
|
967
955
|
},
|
|
968
|
-
"
|
|
956
|
+
"core/audits/image-size-responsive.js | columnDisplayed": {
|
|
969
957
|
"message": "Отображаемый размер"
|
|
970
958
|
},
|
|
971
|
-
"
|
|
959
|
+
"core/audits/image-size-responsive.js | columnExpected": {
|
|
972
960
|
"message": "Ожидаемый размер"
|
|
973
961
|
},
|
|
974
|
-
"
|
|
962
|
+
"core/audits/image-size-responsive.js | description": {
|
|
975
963
|
"message": "Чтобы обеспечить максимальное качество, размеры исходного изображения должны быть пропорциональны размерам при отображении на экране с учетом соотношения логических и физических пикселей. [Подробнее…](https://web.dev/serve-responsive-images/)"
|
|
976
964
|
},
|
|
977
|
-
"
|
|
965
|
+
"core/audits/image-size-responsive.js | failureTitle": {
|
|
978
966
|
"message": "Изображения показываются в низком разрешении"
|
|
979
967
|
},
|
|
980
|
-
"
|
|
968
|
+
"core/audits/image-size-responsive.js | title": {
|
|
981
969
|
"message": "Изображения показываются в нужном разрешении"
|
|
982
970
|
},
|
|
983
|
-
"
|
|
971
|
+
"core/audits/installable-manifest.js | already-installed": {
|
|
984
972
|
"message": "Приложение уже установлено."
|
|
985
973
|
},
|
|
986
|
-
"
|
|
974
|
+
"core/audits/installable-manifest.js | cannot-download-icon": {
|
|
987
975
|
"message": "Не удалось скачать нужный значок из манифеста."
|
|
988
976
|
},
|
|
989
|
-
"
|
|
977
|
+
"core/audits/installable-manifest.js | columnValue": {
|
|
990
978
|
"message": "Причина ошибки"
|
|
991
979
|
},
|
|
992
|
-
"
|
|
980
|
+
"core/audits/installable-manifest.js | description": {
|
|
993
981
|
"message": "Service worker — это технология, добавляющая в приложение преимущества современных веб-приложений, такие как поддержка офлайн-режима, push-уведомлений и добавления на главный экран. Браузеры могут предлагать пользователям добавлять приложение на главный экран, за счет чего они наверняка будут чаще его открывать. [Подробнее…](https://web.dev/installable-manifest/)"
|
|
994
982
|
},
|
|
995
|
-
"
|
|
983
|
+
"core/audits/installable-manifest.js | displayValue": {
|
|
996
984
|
"message": "{itemCount,plural, =1{1 причина}one{# причина}few{# причины}many{# причин}other{# причины}}"
|
|
997
985
|
},
|
|
998
|
-
"
|
|
986
|
+
"core/audits/installable-manifest.js | failureTitle": {
|
|
999
987
|
"message": "Манифест веб-приложения или файл service worker не соответствует условиям, необходимым для установки"
|
|
1000
988
|
},
|
|
1001
|
-
"
|
|
989
|
+
"core/audits/installable-manifest.js | ids-do-not-match": {
|
|
1002
990
|
"message": "URL приложения и его идентификатор в Google Play не соответствуют друг другу."
|
|
1003
991
|
},
|
|
1004
|
-
"
|
|
992
|
+
"core/audits/installable-manifest.js | in-incognito": {
|
|
1005
993
|
"message": "Эта страница открыта в режиме инкогнито."
|
|
1006
994
|
},
|
|
1007
|
-
"
|
|
995
|
+
"core/audits/installable-manifest.js | manifest-display-not-supported": {
|
|
1008
996
|
"message": "У свойства display манифеста должно быть значение standalone, fullscreen или minimal-ui."
|
|
1009
997
|
},
|
|
1010
|
-
"
|
|
998
|
+
"core/audits/installable-manifest.js | manifest-display-override-not-supported": {
|
|
1011
999
|
"message": "Файл манифеста содержит поле display_override, поэтому первый поддерживаемый режим отображения должен быть следующим: standalone (стандартный), fullscreen (полноэкранный) или minimal-ui (минимальный)."
|
|
1012
1000
|
},
|
|
1013
|
-
"
|
|
1001
|
+
"core/audits/installable-manifest.js | manifest-empty": {
|
|
1014
1002
|
"message": "Файл манифеста нельзя загрузить или обработать, либо он пуст."
|
|
1015
1003
|
},
|
|
1016
|
-
"
|
|
1004
|
+
"core/audits/installable-manifest.js | manifest-location-changed": {
|
|
1017
1005
|
"message": "Во время загрузки манифеста его URL был изменен."
|
|
1018
1006
|
},
|
|
1019
|
-
"
|
|
1007
|
+
"core/audits/installable-manifest.js | manifest-missing-name-or-short-name": {
|
|
1020
1008
|
"message": "Файл манифеста не содержит поле name или short_name."
|
|
1021
1009
|
},
|
|
1022
|
-
"
|
|
1010
|
+
"core/audits/installable-manifest.js | manifest-missing-suitable-icon": {
|
|
1023
1011
|
"message": "В файле манифеста отсутствует допустимый значок. Добавьте значок в формате PNG, SVG или WebP с разрешением не менее {value0} пкс и атрибутом sizes. Если есть атрибут purpose, у него должно быть значение any."
|
|
1024
1012
|
},
|
|
1025
|
-
"
|
|
1013
|
+
"core/audits/installable-manifest.js | no-acceptable-icon": {
|
|
1026
1014
|
"message": "В файле манифеста нет значка в формате PNG, SVG или WebP в форме квадрата с разрешением не менее {value0} пкс, у которого атрибут purpose не задан или задан со значением any."
|
|
1027
1015
|
},
|
|
1028
|
-
"
|
|
1016
|
+
"core/audits/installable-manifest.js | no-icon-available": {
|
|
1029
1017
|
"message": "Скачанный значок пуст или поврежден."
|
|
1030
1018
|
},
|
|
1031
|
-
"
|
|
1019
|
+
"core/audits/installable-manifest.js | no-id-specified": {
|
|
1032
1020
|
"message": "Укажите идентификатор Google Play."
|
|
1033
1021
|
},
|
|
1034
|
-
"
|
|
1022
|
+
"core/audits/installable-manifest.js | no-manifest": {
|
|
1035
1023
|
"message": "Страница не содержит URL манифеста <link>."
|
|
1036
1024
|
},
|
|
1037
|
-
"
|
|
1025
|
+
"core/audits/installable-manifest.js | no-matching-service-worker": {
|
|
1038
1026
|
"message": "Подходящих файлов service worker не найдено. Перезагрузите страницу или убедитесь, что файлы service worker текущей страницы включают область действия и стартовый URL из манифеста."
|
|
1039
1027
|
},
|
|
1040
|
-
"
|
|
1028
|
+
"core/audits/installable-manifest.js | no-url-for-service-worker": {
|
|
1041
1029
|
"message": "Для проверки файла service worker в манифесте должно быть поле start_url."
|
|
1042
1030
|
},
|
|
1043
|
-
"
|
|
1031
|
+
"core/audits/installable-manifest.js | noErrorId": {
|
|
1044
1032
|
"message": "Идентификатор ошибки установки {errorId} не распознан."
|
|
1045
1033
|
},
|
|
1046
|
-
"
|
|
1034
|
+
"core/audits/installable-manifest.js | not-from-secure-origin": {
|
|
1047
1035
|
"message": "Страница загружена из незащищенного источника."
|
|
1048
1036
|
},
|
|
1049
|
-
"
|
|
1037
|
+
"core/audits/installable-manifest.js | not-in-main-frame": {
|
|
1050
1038
|
"message": "Страница не загружается в основном фрейме."
|
|
1051
1039
|
},
|
|
1052
|
-
"
|
|
1040
|
+
"core/audits/installable-manifest.js | not-offline-capable": {
|
|
1053
1041
|
"message": "Эта страница не поддерживается в офлайн-режиме."
|
|
1054
1042
|
},
|
|
1055
|
-
"
|
|
1043
|
+
"core/audits/installable-manifest.js | pipeline-restarted": {
|
|
1056
1044
|
"message": "Условия установки сброшены после удаления PWA."
|
|
1057
1045
|
},
|
|
1058
|
-
"
|
|
1046
|
+
"core/audits/installable-manifest.js | platform-not-supported-on-android": {
|
|
1059
1047
|
"message": "Указанная платформа приложения не поддерживается на устройствах Android."
|
|
1060
1048
|
},
|
|
1061
|
-
"
|
|
1049
|
+
"core/audits/installable-manifest.js | prefer-related-applications": {
|
|
1062
1050
|
"message": "Значение атрибута prefer_related_applications в манифесте: true."
|
|
1063
1051
|
},
|
|
1064
|
-
"
|
|
1052
|
+
"core/audits/installable-manifest.js | prefer-related-applications-only-beta-stable": {
|
|
1065
1053
|
"message": "Атрибут prefer_related_applications поддерживается только в бета-версии Chrome и стабильной версии на устройствах Android."
|
|
1066
1054
|
},
|
|
1067
|
-
"
|
|
1055
|
+
"core/audits/installable-manifest.js | protocol-timeout": {
|
|
1068
1056
|
"message": "Lighthouse не удалось проверить наличие файла service worker. Повторите попытку в более новой версии Chrome."
|
|
1069
1057
|
},
|
|
1070
|
-
"
|
|
1058
|
+
"core/audits/installable-manifest.js | start-url-not-valid": {
|
|
1071
1059
|
"message": "Недействительный URL стартовой страницы манифеста."
|
|
1072
1060
|
},
|
|
1073
|
-
"
|
|
1061
|
+
"core/audits/installable-manifest.js | title": {
|
|
1074
1062
|
"message": "Манифест веб-приложения и файл service worker соответствуют условиям, необходимым для установки"
|
|
1075
1063
|
},
|
|
1076
|
-
"
|
|
1064
|
+
"core/audits/installable-manifest.js | url-not-supported-for-webapk": {
|
|
1077
1065
|
"message": "URL в манифесте содержит имя пользователя, пароль или порт."
|
|
1078
1066
|
},
|
|
1079
|
-
"
|
|
1067
|
+
"core/audits/installable-manifest.js | warn-not-offline-capable": {
|
|
1080
1068
|
"message": "Эта страница не работает в офлайн-режиме. Она не будет считаться доступной для установки после выхода Chrome 93 в августе 2021 года."
|
|
1081
1069
|
},
|
|
1082
|
-
"
|
|
1070
|
+
"core/audits/is-on-https.js | allowed": {
|
|
1083
1071
|
"message": "Разрешено"
|
|
1084
1072
|
},
|
|
1085
|
-
"
|
|
1073
|
+
"core/audits/is-on-https.js | blocked": {
|
|
1086
1074
|
"message": "Заблокировано"
|
|
1087
1075
|
},
|
|
1088
|
-
"
|
|
1076
|
+
"core/audits/is-on-https.js | columnInsecureURL": {
|
|
1089
1077
|
"message": "Небезопасный URL"
|
|
1090
1078
|
},
|
|
1091
|
-
"
|
|
1079
|
+
"core/audits/is-on-https.js | columnResolution": {
|
|
1092
1080
|
"message": "Обработка запросов"
|
|
1093
1081
|
},
|
|
1094
|
-
"
|
|
1082
|
+
"core/audits/is-on-https.js | description": {
|
|
1095
1083
|
"message": "Все сайты (даже если они не обрабатывают конфиденциальные данные) должны быть защищены протоколом HTTPS. Это в том числе означает, что не следует использовать [смешанный контент](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content): не должно быть ситуаций, когда некоторые ресурсы загружаются по протоколу HTTP, хотя первоначальный запрос передается с применением HTTPS. Он обеспечивает защиту от взлома и не позволяет посторонним узнавать, как пользователи взаимодействуют с приложением. Кроме того, использование этого протокола обязательно при работе с версией HTTP/2 и многими новыми API для веб-платформ. [Подробнее…](https://web.dev/is-on-https/)"
|
|
1096
1084
|
},
|
|
1097
|
-
"
|
|
1085
|
+
"core/audits/is-on-https.js | displayValue": {
|
|
1098
1086
|
"message": "{itemCount,plural, =1{Обнаружен 1 небезопасный запрос}one{Обнаружен # небезопасный запрос}few{Обнаружено # небезопасных запроса}many{Обнаружено # небезопасных запросов}other{Обнаружено # небезопасного запроса}}"
|
|
1099
1087
|
},
|
|
1100
|
-
"
|
|
1088
|
+
"core/audits/is-on-https.js | failureTitle": {
|
|
1101
1089
|
"message": "Протокол HTTPS не используется"
|
|
1102
1090
|
},
|
|
1103
|
-
"
|
|
1091
|
+
"core/audits/is-on-https.js | title": {
|
|
1104
1092
|
"message": "Используется протокол HTTPS"
|
|
1105
1093
|
},
|
|
1106
|
-
"
|
|
1094
|
+
"core/audits/is-on-https.js | upgraded": {
|
|
1107
1095
|
"message": "Автоматически изменено на HTTPS"
|
|
1108
1096
|
},
|
|
1109
|
-
"
|
|
1097
|
+
"core/audits/is-on-https.js | warning": {
|
|
1110
1098
|
"message": "Разрешено (есть предупреждение)"
|
|
1111
1099
|
},
|
|
1112
|
-
"
|
|
1100
|
+
"core/audits/largest-contentful-paint-element.js | description": {
|
|
1113
1101
|
"message": "Это самый большой элемент контента, отрисованный в области просмотра. [Подробнее…](https://web.dev/lighthouse-largest-contentful-paint/)"
|
|
1114
1102
|
},
|
|
1115
|
-
"
|
|
1103
|
+
"core/audits/largest-contentful-paint-element.js | title": {
|
|
1116
1104
|
"message": "Элемент \"Отрисовка самого крупного контента\""
|
|
1117
1105
|
},
|
|
1118
|
-
"
|
|
1106
|
+
"core/audits/layout-shift-elements.js | columnContribution": {
|
|
1119
1107
|
"message": "Фактор совокупного смещения макета"
|
|
1120
1108
|
},
|
|
1121
|
-
"
|
|
1109
|
+
"core/audits/layout-shift-elements.js | description": {
|
|
1122
1110
|
"message": "Эти элементы DOM больше всего влияют на совокупное смещение макета страницы."
|
|
1123
1111
|
},
|
|
1124
|
-
"
|
|
1112
|
+
"core/audits/layout-shift-elements.js | title": {
|
|
1125
1113
|
"message": "Устраните большие смещения макета"
|
|
1126
1114
|
},
|
|
1127
|
-
"
|
|
1115
|
+
"core/audits/lcp-lazy-loaded.js | description": {
|
|
1128
1116
|
"message": "Отложенная загрузка изображений в видимой части страницы приводит к тому, что они позже отображаются. Это может замедлить отрисовку самого крупного контента. [Подробнее…](https://web.dev/lcp-lazy-loading/)"
|
|
1129
1117
|
},
|
|
1130
|
-
"
|
|
1118
|
+
"core/audits/lcp-lazy-loaded.js | failureTitle": {
|
|
1131
1119
|
"message": "Изображение, которое отображается при отрисовке самого крупного контента, загружено с задержкой"
|
|
1132
1120
|
},
|
|
1133
|
-
"
|
|
1121
|
+
"core/audits/lcp-lazy-loaded.js | title": {
|
|
1134
1122
|
"message": "Изображение, которое отображается при отрисовке самого крупного контента, загружено без задержки"
|
|
1135
1123
|
},
|
|
1136
|
-
"
|
|
1124
|
+
"core/audits/long-tasks.js | description": {
|
|
1137
1125
|
"message": "Для основного потока создается список самых длительных задач. Это позволяет выявлять главные факторы, которые приводят к задержкам после ввода. [Подробнее…](https://web.dev/long-tasks-devtools/)"
|
|
1138
1126
|
},
|
|
1139
|
-
"
|
|
1127
|
+
"core/audits/long-tasks.js | displayValue": {
|
|
1140
1128
|
"message": "{itemCount,plural, =1{Обнаружена # длительная задача}one{Обнаружена # длительная задача}few{Обнаружено # длительные задачи}many{Обнаружено # длительных задач}other{Обнаружено # длительной задачи}}"
|
|
1141
1129
|
},
|
|
1142
|
-
"
|
|
1130
|
+
"core/audits/long-tasks.js | title": {
|
|
1143
1131
|
"message": "Избегайте длительных задач в основном потоке"
|
|
1144
1132
|
},
|
|
1145
|
-
"
|
|
1133
|
+
"core/audits/mainthread-work-breakdown.js | columnCategory": {
|
|
1146
1134
|
"message": "Категория"
|
|
1147
1135
|
},
|
|
1148
|
-
"
|
|
1136
|
+
"core/audits/mainthread-work-breakdown.js | description": {
|
|
1149
1137
|
"message": "Рекомендуем сократить время на анализ, компиляцию и выполнение скриптов JS. Для этого вы можете уменьшить размер фрагментов кода JS. [Подробнее…](https://web.dev/mainthread-work-breakdown/)"
|
|
1150
1138
|
},
|
|
1151
|
-
"
|
|
1139
|
+
"core/audits/mainthread-work-breakdown.js | failureTitle": {
|
|
1152
1140
|
"message": "Минимизируйте работу в основном потоке"
|
|
1153
1141
|
},
|
|
1154
|
-
"
|
|
1142
|
+
"core/audits/mainthread-work-breakdown.js | title": {
|
|
1155
1143
|
"message": "Минимизация работы в основном потоке"
|
|
1156
1144
|
},
|
|
1157
|
-
"
|
|
1145
|
+
"core/audits/manual/pwa-cross-browser.js | description": {
|
|
1158
1146
|
"message": "Для максимального охвата аудитории сайт должен поддерживать все основные браузеры. [Подробнее…](https://web.dev/pwa-cross-browser/)"
|
|
1159
1147
|
},
|
|
1160
|
-
"
|
|
1148
|
+
"core/audits/manual/pwa-cross-browser.js | title": {
|
|
1161
1149
|
"message": "Сайт работает в разных браузерах"
|
|
1162
1150
|
},
|
|
1163
|
-
"
|
|
1151
|
+
"core/audits/manual/pwa-each-page-has-url.js | description": {
|
|
1164
1152
|
"message": "Убедитесь, что у каждой страницы есть уникальный URL, чтобы их было удобно распространять в социальных сетях. [Подробнее…](https://web.dev/pwa-each-page-has-url/)"
|
|
1165
1153
|
},
|
|
1166
|
-
"
|
|
1154
|
+
"core/audits/manual/pwa-each-page-has-url.js | title": {
|
|
1167
1155
|
"message": "У каждой страницы есть URL"
|
|
1168
1156
|
},
|
|
1169
|
-
"
|
|
1157
|
+
"core/audits/manual/pwa-page-transitions.js | description": {
|
|
1170
1158
|
"message": "Переходы должны создавать впечатление мгновенного отклика даже при медленной работе сети. Это имеет решающее значение для удобства работы с приложением. [Подробнее…](https://web.dev/pwa-page-transitions/)"
|
|
1171
1159
|
},
|
|
1172
|
-
"
|
|
1160
|
+
"core/audits/manual/pwa-page-transitions.js | title": {
|
|
1173
1161
|
"message": "Во время перехода между страницами нет ощущения, что они ожидают ответа от сети"
|
|
1174
1162
|
},
|
|
1175
|
-
"
|
|
1163
|
+
"core/audits/maskable-icon.js | description": {
|
|
1176
1164
|
"message": "Маскируемый значок позволяет убедиться в том, что при установке приложения на устройство изображение заполняет всю форму и к нему не добавляются черные полосы сверху и снизу. [Подробнее…](https://web.dev/maskable-icon-audit/)"
|
|
1177
1165
|
},
|
|
1178
|
-
"
|
|
1166
|
+
"core/audits/maskable-icon.js | failureTitle": {
|
|
1179
1167
|
"message": "Манифест не содержит маскируемый значок"
|
|
1180
1168
|
},
|
|
1181
|
-
"
|
|
1169
|
+
"core/audits/maskable-icon.js | title": {
|
|
1182
1170
|
"message": "Манифест содержит маскируемый значок"
|
|
1183
1171
|
},
|
|
1184
|
-
"
|
|
1172
|
+
"core/audits/metrics/cumulative-layout-shift.js | description": {
|
|
1185
1173
|
"message": "Совокупное смещение макета – это процентная величина, на которую смещаются видимые элементы области просмотра при загрузке. [Подробнее…](https://web.dev/cls/)"
|
|
1186
1174
|
},
|
|
1187
|
-
"
|
|
1175
|
+
"core/audits/metrics/first-contentful-paint.js | description": {
|
|
1188
1176
|
"message": "Первая отрисовка контента – показатель, который определяет интервал времени между началом загрузки страницы и появлением первого изображения или блока текста. [Подробнее…](https://web.dev/first-contentful-paint/)"
|
|
1189
1177
|
},
|
|
1190
|
-
"
|
|
1178
|
+
"core/audits/metrics/first-meaningful-paint.js | description": {
|
|
1191
1179
|
"message": "Первая значимая отрисовка – показатель, определяющий интервал времени между началом загрузки страницы и появлением основного контента. [Подробнее…](https://web.dev/first-meaningful-paint/)"
|
|
1192
1180
|
},
|
|
1193
|
-
"
|
|
1181
|
+
"core/audits/metrics/interactive.js | description": {
|
|
1194
1182
|
"message": "Время загрузки для взаимодействия – это время, в течение которого страница становится полностью готова к взаимодействию с пользователем. [Подробнее…](https://web.dev/interactive/)"
|
|
1195
1183
|
},
|
|
1196
|
-
"
|
|
1184
|
+
"core/audits/metrics/largest-contentful-paint.js | description": {
|
|
1197
1185
|
"message": "Отрисовка самого крупного контента – показатель, который определяет время, требуемое на полную отрисовку самого крупного изображения или текстового блока. [Подробнее…](https://web.dev/lighthouse-largest-contentful-paint/)"
|
|
1198
1186
|
},
|
|
1199
|
-
"
|
|
1187
|
+
"core/audits/metrics/max-potential-fid.js | description": {
|
|
1200
1188
|
"message": "Максимальная потенциальная задержка после первого ввода показывает время выполнения самой длительной задачи. [Подробнее…](https://web.dev/lighthouse-max-potential-fid/)"
|
|
1201
1189
|
},
|
|
1202
|
-
"
|
|
1190
|
+
"core/audits/metrics/speed-index.js | description": {
|
|
1203
1191
|
"message": "Индекс скорости загрузки показывает, как быстро на странице появляется контент. [Подробнее…](https://web.dev/speed-index/)"
|
|
1204
1192
|
},
|
|
1205
|
-
"
|
|
1193
|
+
"core/audits/metrics/total-blocking-time.js | description": {
|
|
1206
1194
|
"message": "Сумма (в миллисекундах) всех периодов от первой отрисовки контента до загрузки для взаимодействия, когда скорость выполнения задач превышала 50 мс. [Подробнее…](https://web.dev/lighthouse-total-blocking-time/)"
|
|
1207
1195
|
},
|
|
1208
|
-
"
|
|
1196
|
+
"core/audits/network-rtt.js | description": {
|
|
1209
1197
|
"message": "Время прохождения сигнала сети (RTT) напрямую влияет на производительность сайта. Высокое время прохождения сигнала означает, что серверы расположены слишком далеко от пользователя и сайт будет работать медленнее. [Подробнее…](https://hpbn.co/primer-on-latency-and-bandwidth/)"
|
|
1210
1198
|
},
|
|
1211
|
-
"
|
|
1199
|
+
"core/audits/network-rtt.js | title": {
|
|
1212
1200
|
"message": "Время прохождения сигнала сети"
|
|
1213
1201
|
},
|
|
1214
|
-
"
|
|
1202
|
+
"core/audits/network-server-latency.js | description": {
|
|
1215
1203
|
"message": "Задержки со стороны сервера могут влиять на скорость загрузки страниц. Высокое время реакции сервера говорит о его перегруженности или недостаточной производительности. [Подробнее…](https://hpbn.co/primer-on-web-performance/#analyzing-the-resource-waterfall)"
|
|
1216
1204
|
},
|
|
1217
|
-
"
|
|
1205
|
+
"core/audits/network-server-latency.js | title": {
|
|
1218
1206
|
"message": "Задержка со стороны сервера"
|
|
1219
1207
|
},
|
|
1220
|
-
"
|
|
1208
|
+
"core/audits/no-unload-listeners.js | description": {
|
|
1221
1209
|
"message": "Событие `unload` активируется не всегда. Если ожидать его, это может привести к ошибкам средств оптимизации браузера, например функции возвратного кеша. Мы рекомендуем использовать события `pagehide` или `visibilitychange`. [Подробнее…](https://web.dev/bfcache/#never-use-the-unload-event)"
|
|
1222
1210
|
},
|
|
1223
|
-
"
|
|
1211
|
+
"core/audits/no-unload-listeners.js | failureTitle": {
|
|
1224
1212
|
"message": "Регистрируется прослушиватель для события `unload`"
|
|
1225
1213
|
},
|
|
1226
|
-
"
|
|
1214
|
+
"core/audits/no-unload-listeners.js | title": {
|
|
1227
1215
|
"message": "Не используются прослушиватели события `unload`"
|
|
1228
1216
|
},
|
|
1229
|
-
"
|
|
1217
|
+
"core/audits/non-composited-animations.js | description": {
|
|
1230
1218
|
"message": "Некомбинированные анимации могут пропускать кадры и увеличивать совокупное смещение макета. [Подробнее…](https://web.dev/non-composited-animations)"
|
|
1231
1219
|
},
|
|
1232
|
-
"
|
|
1220
|
+
"core/audits/non-composited-animations.js | displayValue": {
|
|
1233
1221
|
"message": "{itemCount,plural, =1{Обнаружен # анимированный элемент}one{Обнаружен # анимированный элемент}few{Обнаружено # анимированных элемента}many{Обнаружено # анимированных элементов}other{Обнаружено # анимированного элемента}}"
|
|
1234
1222
|
},
|
|
1235
|
-
"
|
|
1223
|
+
"core/audits/non-composited-animations.js | filterMayMovePixels": {
|
|
1236
1224
|
"message": "Свойство, связанное с фильтром, может передвигать пиксели."
|
|
1237
1225
|
},
|
|
1238
|
-
"
|
|
1226
|
+
"core/audits/non-composited-animations.js | incompatibleAnimations": {
|
|
1239
1227
|
"message": "Несовместимая анимация."
|
|
1240
1228
|
},
|
|
1241
|
-
"
|
|
1229
|
+
"core/audits/non-composited-animations.js | nonReplaceCompositeMode": {
|
|
1242
1230
|
"message": "В эффекте вместо режима replace используется другой режим."
|
|
1243
1231
|
},
|
|
1244
|
-
"
|
|
1232
|
+
"core/audits/non-composited-animations.js | title": {
|
|
1245
1233
|
"message": "Избегайте некомбинированных анимаций"
|
|
1246
1234
|
},
|
|
1247
|
-
"
|
|
1235
|
+
"core/audits/non-composited-animations.js | transformDependsBoxSize": {
|
|
1248
1236
|
"message": "Свойство, связанное с преобразованием, зависит от размера элемента."
|
|
1249
1237
|
},
|
|
1250
|
-
"
|
|
1238
|
+
"core/audits/non-composited-animations.js | unsupportedCSSProperty": {
|
|
1251
1239
|
"message": "{propertyCount,plural, =1{Неподдерживаемое свойство CSS: {properties}}one{Неподдерживаемые свойства CSS: {properties}}few{Неподдерживаемые свойства CSS: {properties}}many{Неподдерживаемые свойства CSS: {properties}}other{Неподдерживаемые свойства CSS: {properties}}}"
|
|
1252
1240
|
},
|
|
1253
|
-
"
|
|
1241
|
+
"core/audits/non-composited-animations.js | unsupportedTimingParameters": {
|
|
1254
1242
|
"message": "Параметры времени в настройках эффекта не поддерживаются"
|
|
1255
1243
|
},
|
|
1256
|
-
"
|
|
1244
|
+
"core/audits/performance-budget.js | description": {
|
|
1257
1245
|
"message": "Следите за тем, чтобы количество и размер сетевых запросов соответствовали целям, установленным в бюджете производительности. [Подробнее…](https://developers.google.com/web/tools/lighthouse/audits/budgets)"
|
|
1258
1246
|
},
|
|
1259
|
-
"
|
|
1247
|
+
"core/audits/performance-budget.js | requestCountOverBudget": {
|
|
1260
1248
|
"message": "{count,plural, =1{1 запрос}one{# запрос}few{# запроса}many{# запросов}other{# запроса}}"
|
|
1261
1249
|
},
|
|
1262
|
-
"
|
|
1250
|
+
"core/audits/performance-budget.js | title": {
|
|
1263
1251
|
"message": "Бюджет производительности"
|
|
1264
1252
|
},
|
|
1265
|
-
"
|
|
1253
|
+
"core/audits/preload-fonts.js | description": {
|
|
1266
1254
|
"message": "Выполняйте предварительную загрузку шрифтов со свойством `optional`, чтобы новые посетители могли воспользоваться ими. [Подробнее…](https://web.dev/preload-optional-fonts/)"
|
|
1267
1255
|
},
|
|
1268
|
-
"
|
|
1256
|
+
"core/audits/preload-fonts.js | failureTitle": {
|
|
1269
1257
|
"message": "Шрифты со свойством `font-display: optional` не загружены"
|
|
1270
1258
|
},
|
|
1271
|
-
"
|
|
1259
|
+
"core/audits/preload-fonts.js | title": {
|
|
1272
1260
|
"message": "Шрифты со свойством `font-display: optional` предварительно загружены"
|
|
1273
1261
|
},
|
|
1274
|
-
"
|
|
1262
|
+
"core/audits/preload-lcp-image.js | description": {
|
|
1275
1263
|
"message": "Выполните предзагрузку изображения, которое используется элементом LCP, чтобы оптимизировать время, требуемое на полную отрисовку крупного изображения. [Подробнее…](https://web.dev/optimize-lcp/#preload-important-resources)"
|
|
1276
1264
|
},
|
|
1277
|
-
"
|
|
1265
|
+
"core/audits/preload-lcp-image.js | title": {
|
|
1278
1266
|
"message": "Предзагрузите изображение для элемента \"Отрисовка самого крупного контента\""
|
|
1279
1267
|
},
|
|
1280
|
-
"
|
|
1268
|
+
"core/audits/redirects.js | description": {
|
|
1281
1269
|
"message": "Переадресации могут стать причиной дополнительных задержек при загрузке страницы. [Подробнее…](https://web.dev/redirects/)"
|
|
1282
1270
|
},
|
|
1283
|
-
"
|
|
1271
|
+
"core/audits/redirects.js | title": {
|
|
1284
1272
|
"message": "Избегайте большого количества переадресаций"
|
|
1285
1273
|
},
|
|
1286
|
-
"
|
|
1274
|
+
"core/audits/resource-summary.js | description": {
|
|
1287
1275
|
"message": "Чтобы установить бюджет для количества и размера ресурсов на странице, добавьте файл budget.json. [Подробнее…](https://web.dev/use-lighthouse-for-performance-budgets/)"
|
|
1288
1276
|
},
|
|
1289
|
-
"
|
|
1277
|
+
"core/audits/resource-summary.js | displayValue": {
|
|
1290
1278
|
"message": "{requestCount,plural, =1{1 запрос • {byteCount, number, bytes} КиБ}one{# запрос • {byteCount, number, bytes} КиБ}few{# запроса • {byteCount, number, bytes} КиБ}many{# запросов • {byteCount, number, bytes} КиБ}other{# запроса • {byteCount, number, bytes} КиБ}}"
|
|
1291
1279
|
},
|
|
1292
|
-
"
|
|
1280
|
+
"core/audits/resource-summary.js | title": {
|
|
1293
1281
|
"message": "Постарайтесь уменьшить количество запросов и размеры передаваемых данных"
|
|
1294
1282
|
},
|
|
1295
|
-
"
|
|
1283
|
+
"core/audits/seo/canonical.js | description": {
|
|
1296
1284
|
"message": "Ссылки с атрибутом rel=\"canonical\" будут показаны в результатах поиска. [Подробнее…](https://web.dev/canonical/)"
|
|
1297
1285
|
},
|
|
1298
|
-
"
|
|
1286
|
+
"core/audits/seo/canonical.js | explanationConflict": {
|
|
1299
1287
|
"message": "Несколько конфликтующих URL ({urlList})"
|
|
1300
1288
|
},
|
|
1301
|
-
"
|
|
1289
|
+
"core/audits/seo/canonical.js | explanationInvalid": {
|
|
1302
1290
|
"message": "Недопустимый URL ({url})"
|
|
1303
1291
|
},
|
|
1304
|
-
"
|
|
1292
|
+
"core/audits/seo/canonical.js | explanationPointsElsewhere": {
|
|
1305
1293
|
"message": "Указывает на другое расположение атрибута `hreflang` ({url})"
|
|
1306
1294
|
},
|
|
1307
|
-
"
|
|
1295
|
+
"core/audits/seo/canonical.js | explanationRelative": {
|
|
1308
1296
|
"message": "Указан не абсолютный URL ({url})."
|
|
1309
1297
|
},
|
|
1310
|
-
"
|
|
1298
|
+
"core/audits/seo/canonical.js | explanationRoot": {
|
|
1311
1299
|
"message": "Каноническая ссылка ведет на корневой URL домена, а не на соответствующую страницу с контентом."
|
|
1312
1300
|
},
|
|
1313
|
-
"
|
|
1301
|
+
"core/audits/seo/canonical.js | failureTitle": {
|
|
1314
1302
|
"message": "В документе нет действительного атрибута `rel=canonical`"
|
|
1315
1303
|
},
|
|
1316
|
-
"
|
|
1304
|
+
"core/audits/seo/canonical.js | title": {
|
|
1317
1305
|
"message": "Для документа указан действительный атрибут `rel=canonical`"
|
|
1318
1306
|
},
|
|
1319
|
-
"
|
|
1307
|
+
"core/audits/seo/crawlable-anchors.js | columnFailingLink": {
|
|
1320
1308
|
"message": "Ссылки, которые невозможно просканировать"
|
|
1321
1309
|
},
|
|
1322
|
-
"
|
|
1310
|
+
"core/audits/seo/crawlable-anchors.js | description": {
|
|
1323
1311
|
"message": "Поисковые системы при сканировании сайтов учитывают содержащиеся в ссылках атрибуты `href`. Чтобы на вашем сайте могло быть проиндексировано максимально возможное количество страниц, атрибуты `href` или анкеры должны корректно ссылаться на целевые страницы. [Подробнее…](https://support.google.com/webmasters/answer/9112205)"
|
|
1324
1312
|
},
|
|
1325
|
-
"
|
|
1313
|
+
"core/audits/seo/crawlable-anchors.js | failureTitle": {
|
|
1326
1314
|
"message": "Ссылки невозможно просканировать"
|
|
1327
1315
|
},
|
|
1328
|
-
"
|
|
1316
|
+
"core/audits/seo/crawlable-anchors.js | title": {
|
|
1329
1317
|
"message": "Ссылки можно просканировать"
|
|
1330
1318
|
},
|
|
1331
|
-
"
|
|
1319
|
+
"core/audits/seo/font-size.js | additionalIllegibleText": {
|
|
1332
1320
|
"message": "Дополнительный нечитабельный текст"
|
|
1333
1321
|
},
|
|
1334
|
-
"
|
|
1322
|
+
"core/audits/seo/font-size.js | columnFontSize": {
|
|
1335
1323
|
"message": "Размер шрифта"
|
|
1336
1324
|
},
|
|
1337
|
-
"
|
|
1325
|
+
"core/audits/seo/font-size.js | columnPercentPageText": {
|
|
1338
1326
|
"message": "% текста на странице"
|
|
1339
1327
|
},
|
|
1340
|
-
"
|
|
1328
|
+
"core/audits/seo/font-size.js | columnSelector": {
|
|
1341
1329
|
"message": "Селектор"
|
|
1342
1330
|
},
|
|
1343
|
-
"
|
|
1331
|
+
"core/audits/seo/font-size.js | description": {
|
|
1344
1332
|
"message": "Если вы хотите, чтобы текст легко читался, размер шрифта должен составлять не менее 12 пикс. В противном случае пользователям мобильных устройств придется масштабировать страницу для чтения. В идеале на странице должно быть более 60 % текста высотой не менее 12 пикс. [Подробнее…](https://web.dev/font-size/)"
|
|
1345
1333
|
},
|
|
1346
|
-
"
|
|
1334
|
+
"core/audits/seo/font-size.js | displayValue": {
|
|
1347
1335
|
"message": "{decimalProportion, number, extendedPercent} текста можно легко прочитать"
|
|
1348
1336
|
},
|
|
1349
|
-
"
|
|
1337
|
+
"core/audits/seo/font-size.js | explanationViewport": {
|
|
1350
1338
|
"message": "Слишком мелкий текст. Настройте область просмотра для экранов мобильных устройств с помощью метатега viewport."
|
|
1351
1339
|
},
|
|
1352
|
-
"
|
|
1340
|
+
"core/audits/seo/font-size.js | failureTitle": {
|
|
1353
1341
|
"message": "В документе используются шрифты слишком маленького размера"
|
|
1354
1342
|
},
|
|
1355
|
-
"
|
|
1343
|
+
"core/audits/seo/font-size.js | legibleText": {
|
|
1356
1344
|
"message": "Читабельный текст"
|
|
1357
1345
|
},
|
|
1358
|
-
"
|
|
1346
|
+
"core/audits/seo/font-size.js | title": {
|
|
1359
1347
|
"message": "В документе используются шрифты оптимального размера"
|
|
1360
1348
|
},
|
|
1361
|
-
"
|
|
1349
|
+
"core/audits/seo/hreflang.js | description": {
|
|
1362
1350
|
"message": "Добавьте на страницу элементы link с атрибутом hreflang. Тогда в результатах поиска будут представлены те версии ваших страниц, которые лучше всего подходят для языка и региона пользователя. [Подробнее…](https://web.dev/hreflang/)"
|
|
1363
1351
|
},
|
|
1364
|
-
"
|
|
1352
|
+
"core/audits/seo/hreflang.js | failureTitle": {
|
|
1365
1353
|
"message": "В документе нет действительного атрибута `hreflang`"
|
|
1366
1354
|
},
|
|
1367
|
-
"
|
|
1355
|
+
"core/audits/seo/hreflang.js | notFullyQualified": {
|
|
1368
1356
|
"message": "Недопустимое значение атрибута href"
|
|
1369
1357
|
},
|
|
1370
|
-
"
|
|
1358
|
+
"core/audits/seo/hreflang.js | title": {
|
|
1371
1359
|
"message": "Для документа указан действительный атрибут `hreflang`"
|
|
1372
1360
|
},
|
|
1373
|
-
"
|
|
1361
|
+
"core/audits/seo/hreflang.js | unexpectedLanguage": {
|
|
1374
1362
|
"message": "Недопустимый код языка"
|
|
1375
1363
|
},
|
|
1376
|
-
"
|
|
1364
|
+
"core/audits/seo/http-status-code.js | description": {
|
|
1377
1365
|
"message": "Индексация страниц с недействительным кодом статуса HTTP может быть нарушена. [Подробнее…](https://web.dev/http-status-code/)"
|
|
1378
1366
|
},
|
|
1379
|
-
"
|
|
1367
|
+
"core/audits/seo/http-status-code.js | failureTitle": {
|
|
1380
1368
|
"message": "Код статуса HTTP недействителен"
|
|
1381
1369
|
},
|
|
1382
|
-
"
|
|
1370
|
+
"core/audits/seo/http-status-code.js | title": {
|
|
1383
1371
|
"message": "Код статуса HTTP действителен"
|
|
1384
1372
|
},
|
|
1385
|
-
"
|
|
1373
|
+
"core/audits/seo/is-crawlable.js | description": {
|
|
1386
1374
|
"message": "Поисковые системы не смогут включать ваши страницы в результаты поиска, если вы не предоставите разрешение на сканирование. [Подробнее…](https://web.dev/is-crawable/)"
|
|
1387
1375
|
},
|
|
1388
|
-
"
|
|
1376
|
+
"core/audits/seo/is-crawlable.js | failureTitle": {
|
|
1389
1377
|
"message": "Страница недоступна для индексации"
|
|
1390
1378
|
},
|
|
1391
|
-
"
|
|
1379
|
+
"core/audits/seo/is-crawlable.js | title": {
|
|
1392
1380
|
"message": "Страница доступна для индексации"
|
|
1393
1381
|
},
|
|
1394
|
-
"
|
|
1382
|
+
"core/audits/seo/link-text.js | description": {
|
|
1395
1383
|
"message": "Добавьте к ссылкам текстовые описания, чтобы поисковые системы лучше распознавали ваш контент. [Подробнее…](https://web.dev/link-text/)"
|
|
1396
1384
|
},
|
|
1397
|
-
"
|
|
1385
|
+
"core/audits/seo/link-text.js | displayValue": {
|
|
1398
1386
|
"message": "{itemCount,plural, =1{Найдена 1 ссылка}one{Найдена # ссылка}few{Найдено # ссылки}many{Найдено # ссылок}other{Найдено # ссылки}}"
|
|
1399
1387
|
},
|
|
1400
|
-
"
|
|
1388
|
+
"core/audits/seo/link-text.js | failureTitle": {
|
|
1401
1389
|
"message": "У ссылок нет описаний"
|
|
1402
1390
|
},
|
|
1403
|
-
"
|
|
1391
|
+
"core/audits/seo/link-text.js | title": {
|
|
1404
1392
|
"message": "У ссылок есть описания"
|
|
1405
1393
|
},
|
|
1406
|
-
"
|
|
1394
|
+
"core/audits/seo/manual/structured-data.js | description": {
|
|
1407
1395
|
"message": "Для тестирования структурированных данных воспользуйтесь [инструментом проверки](https://search.google.com/structured-data/testing-tool/) и [инструментом Structured Data Linter](http://linter.structured-data.org/). [Подробнее…](https://web.dev/structured-data/)"
|
|
1408
1396
|
},
|
|
1409
|
-
"
|
|
1397
|
+
"core/audits/seo/manual/structured-data.js | title": {
|
|
1410
1398
|
"message": "Структурированные данные действительны"
|
|
1411
1399
|
},
|
|
1412
|
-
"
|
|
1400
|
+
"core/audits/seo/meta-description.js | description": {
|
|
1413
1401
|
"message": "Метаописания содержат общие сведения о контенте страницы и могут быть показаны в результатах поиска. [Подробнее…](https://web.dev/meta-description/)"
|
|
1414
1402
|
},
|
|
1415
|
-
"
|
|
1403
|
+
"core/audits/seo/meta-description.js | explanation": {
|
|
1416
1404
|
"message": "Отсутствует описание."
|
|
1417
1405
|
},
|
|
1418
|
-
"
|
|
1406
|
+
"core/audits/seo/meta-description.js | failureTitle": {
|
|
1419
1407
|
"message": "В документе нет метаописания"
|
|
1420
1408
|
},
|
|
1421
|
-
"
|
|
1409
|
+
"core/audits/seo/meta-description.js | title": {
|
|
1422
1410
|
"message": "В документе есть метаописание"
|
|
1423
1411
|
},
|
|
1424
|
-
"
|
|
1412
|
+
"core/audits/seo/plugins.js | description": {
|
|
1425
1413
|
"message": "Поисковые системы не могут индексировать содержимое плагинов. К тому же на многих устройствах использование плагинов ограничено или не поддерживается. [Подробнее…](https://web.dev/plugins/)"
|
|
1426
1414
|
},
|
|
1427
|
-
"
|
|
1415
|
+
"core/audits/seo/plugins.js | failureTitle": {
|
|
1428
1416
|
"message": "В документе используются плагины"
|
|
1429
1417
|
},
|
|
1430
|
-
"
|
|
1418
|
+
"core/audits/seo/plugins.js | title": {
|
|
1431
1419
|
"message": "В документе нет плагинов"
|
|
1432
1420
|
},
|
|
1433
|
-
"
|
|
1421
|
+
"core/audits/seo/robots-txt.js | description": {
|
|
1434
1422
|
"message": "Если файл robots.txt поврежден, поисковые роботы могут не распознать ваши инструкции по сканированию или индексации сайта. [Подробнее…](https://web.dev/robots-txt/)"
|
|
1435
1423
|
},
|
|
1436
|
-
"
|
|
1424
|
+
"core/audits/seo/robots-txt.js | displayValueHttpBadCode": {
|
|
1437
1425
|
"message": "Код статуса HTTP, полученный в ответ на запрос файла robots.txt: {statusCode}"
|
|
1438
1426
|
},
|
|
1439
|
-
"
|
|
1427
|
+
"core/audits/seo/robots-txt.js | displayValueValidationError": {
|
|
1440
1428
|
"message": "{itemCount,plural, =1{Обнаружена 1 ошибка}one{Обнаружена # ошибка}few{Обнаружено # ошибки}many{Обнаружено # ошибок}other{Обнаружено # ошибки}}"
|
|
1441
1429
|
},
|
|
1442
|
-
"
|
|
1430
|
+
"core/audits/seo/robots-txt.js | explanation": {
|
|
1443
1431
|
"message": "Не удалось скачать файл robots.txt."
|
|
1444
1432
|
},
|
|
1445
|
-
"
|
|
1433
|
+
"core/audits/seo/robots-txt.js | failureTitle": {
|
|
1446
1434
|
"message": "Файл robots.txt недействителен"
|
|
1447
1435
|
},
|
|
1448
|
-
"
|
|
1436
|
+
"core/audits/seo/robots-txt.js | title": {
|
|
1449
1437
|
"message": "Файл robots.txt действителен"
|
|
1450
1438
|
},
|
|
1451
|
-
"
|
|
1439
|
+
"core/audits/seo/tap-targets.js | description": {
|
|
1452
1440
|
"message": "Интерактивные элементы, такие как кнопки и ссылки, должны быть достаточно крупными (48 x 48 пикс.) и располагаться на достаточном расстоянии друг от друга. Тогда пользователям будет удобно нажимать на них. [Подробнее…](https://web.dev/tap-targets/)"
|
|
1453
1441
|
},
|
|
1454
|
-
"
|
|
1442
|
+
"core/audits/seo/tap-targets.js | displayValue": {
|
|
1455
1443
|
"message": "Размеры {decimalProportion, number, percent} интерактивных элементов соответствуют требованиям."
|
|
1456
1444
|
},
|
|
1457
|
-
"
|
|
1445
|
+
"core/audits/seo/tap-targets.js | explanationViewportMetaNotOptimized": {
|
|
1458
1446
|
"message": "Слишком маленькие интерактивные элементы. Настройте область просмотра для экранов мобильных устройств с помощью метатега viewport."
|
|
1459
1447
|
},
|
|
1460
|
-
"
|
|
1448
|
+
"core/audits/seo/tap-targets.js | failureTitle": {
|
|
1461
1449
|
"message": "Размер интерактивных элементов не оптимален"
|
|
1462
1450
|
},
|
|
1463
|
-
"
|
|
1451
|
+
"core/audits/seo/tap-targets.js | overlappingTargetHeader": {
|
|
1464
1452
|
"message": "Частичное совпадение элементов"
|
|
1465
1453
|
},
|
|
1466
|
-
"
|
|
1454
|
+
"core/audits/seo/tap-targets.js | tapTargetHeader": {
|
|
1467
1455
|
"message": "Интерактивный элемент"
|
|
1468
1456
|
},
|
|
1469
|
-
"
|
|
1457
|
+
"core/audits/seo/tap-targets.js | title": {
|
|
1470
1458
|
"message": "Размер интерактивных элементов оптимален"
|
|
1471
1459
|
},
|
|
1472
|
-
"
|
|
1460
|
+
"core/audits/server-response-time.js | description": {
|
|
1473
1461
|
"message": "Время ответа сервера для основного документа должно быть небольшим, так как все прочие запросы зависят от этого показателя. [Подробнее…](https://web.dev/time-to-first-byte/)"
|
|
1474
1462
|
},
|
|
1475
|
-
"
|
|
1463
|
+
"core/audits/server-response-time.js | displayValue": {
|
|
1476
1464
|
"message": "Загрузка корневого документа заняла {timeInMs, number, milliseconds} мс"
|
|
1477
1465
|
},
|
|
1478
|
-
"
|
|
1466
|
+
"core/audits/server-response-time.js | failureTitle": {
|
|
1479
1467
|
"message": "Сократите время до получения первого байта от сервера"
|
|
1480
1468
|
},
|
|
1481
|
-
"
|
|
1469
|
+
"core/audits/server-response-time.js | title": {
|
|
1482
1470
|
"message": "Время до получения первого байта от сервера допустимое"
|
|
1483
1471
|
},
|
|
1484
|
-
"
|
|
1472
|
+
"core/audits/service-worker.js | description": {
|
|
1485
1473
|
"message": "Service Worker — это технология, добавляющая в приложение преимущества современных веб-приложений, такие как поддержка офлайн-режима, добавления на главный экран и push-уведомлений. [Подробнее…](https://web.dev/service-worker/)"
|
|
1486
1474
|
},
|
|
1487
|
-
"
|
|
1475
|
+
"core/audits/service-worker.js | explanationBadManifest": {
|
|
1488
1476
|
"message": "Страницей управляет Service Worker, но не найден `start_url`, так как не удалось интерпретировать манифест как JSON."
|
|
1489
1477
|
},
|
|
1490
|
-
"
|
|
1478
|
+
"core/audits/service-worker.js | explanationBadStartUrl": {
|
|
1491
1479
|
"message": "Страницей управляет Service Worker, но `start_url` ({startUrl}) находится вне его области действия ({scopeUrl})."
|
|
1492
1480
|
},
|
|
1493
|
-
"
|
|
1481
|
+
"core/audits/service-worker.js | explanationNoManifest": {
|
|
1494
1482
|
"message": "Страницей управляет Service Worker, но не удалось найти `start_url`, так как не был получен манифест."
|
|
1495
1483
|
},
|
|
1496
|
-
"
|
|
1484
|
+
"core/audits/service-worker.js | explanationOutOfScope": {
|
|
1497
1485
|
"message": "В этом источнике несколько Service Worker, но страница {pageUrl} не входит в их область действия."
|
|
1498
1486
|
},
|
|
1499
|
-
"
|
|
1487
|
+
"core/audits/service-worker.js | failureTitle": {
|
|
1500
1488
|
"message": "Не регистрируется Service Worker, управляющий страницей и `start_url`"
|
|
1501
1489
|
},
|
|
1502
|
-
"
|
|
1490
|
+
"core/audits/service-worker.js | title": {
|
|
1503
1491
|
"message": "Регистрируется Service Worker, управляющий страницей и `start_url`"
|
|
1504
1492
|
},
|
|
1505
|
-
"
|
|
1493
|
+
"core/audits/splash-screen.js | description": {
|
|
1506
1494
|
"message": "Приложение оставляет у пользователей более приятное впечатление, когда оно встречает их качественной заставкой. [Подробнее…](https://web.dev/splash-screen/)"
|
|
1507
1495
|
},
|
|
1508
|
-
"
|
|
1496
|
+
"core/audits/splash-screen.js | failureTitle": {
|
|
1509
1497
|
"message": "Собственная заставка не настроена"
|
|
1510
1498
|
},
|
|
1511
|
-
"
|
|
1499
|
+
"core/audits/splash-screen.js | title": {
|
|
1512
1500
|
"message": "Настроена собственная заставка"
|
|
1513
1501
|
},
|
|
1514
|
-
"
|
|
1502
|
+
"core/audits/themed-omnibox.js | description": {
|
|
1515
1503
|
"message": "Цвет адресной строки браузера можно изменить под цвет сайта. [Подробнее…](https://web.dev/themed-omnibox/)"
|
|
1516
1504
|
},
|
|
1517
|
-
"
|
|
1505
|
+
"core/audits/themed-omnibox.js | failureTitle": {
|
|
1518
1506
|
"message": "Не изменяет цвет адресной строки в соответствии с темой"
|
|
1519
1507
|
},
|
|
1520
|
-
"
|
|
1508
|
+
"core/audits/themed-omnibox.js | title": {
|
|
1521
1509
|
"message": "Изменяет цвет адресной строки в соответствии с темой"
|
|
1522
1510
|
},
|
|
1523
|
-
"
|
|
1511
|
+
"core/audits/third-party-facades.js | categoryCustomerSuccess": {
|
|
1524
1512
|
"message": "{productName} (истории успеха)"
|
|
1525
1513
|
},
|
|
1526
|
-
"
|
|
1514
|
+
"core/audits/third-party-facades.js | categoryMarketing": {
|
|
1527
1515
|
"message": "{productName} (маркетинг)"
|
|
1528
1516
|
},
|
|
1529
|
-
"
|
|
1517
|
+
"core/audits/third-party-facades.js | categorySocial": {
|
|
1530
1518
|
"message": "{productName} (социальные сети)"
|
|
1531
1519
|
},
|
|
1532
|
-
"
|
|
1520
|
+
"core/audits/third-party-facades.js | categoryVideo": {
|
|
1533
1521
|
"message": "{productName} (видео)"
|
|
1534
1522
|
},
|
|
1535
|
-
"
|
|
1523
|
+
"core/audits/third-party-facades.js | columnProduct": {
|
|
1536
1524
|
"message": "Продукт"
|
|
1537
1525
|
},
|
|
1538
|
-
"
|
|
1526
|
+
"core/audits/third-party-facades.js | description": {
|
|
1539
1527
|
"message": "Некоторые из сторонних встроенных объектов поддерживают отложенную загрузку. Замените их фасадными объектами до тех пор, пока они не понадобятся. [Подробнее…](https://web.dev/third-party-facades/)"
|
|
1540
1528
|
},
|
|
1541
|
-
"
|
|
1529
|
+
"core/audits/third-party-facades.js | displayValue": {
|
|
1542
1530
|
"message": "{itemCount,plural, =1{Доступен # альтернативный фасадный объект}one{Доступен # альтернативный фасадный объект}few{Доступно # альтернативных фасадных объекта}many{Доступно # альтернативных фасадных объектов}other{Доступно # альтернативного фасадного объекта}}"
|
|
1543
1531
|
},
|
|
1544
|
-
"
|
|
1532
|
+
"core/audits/third-party-facades.js | failureTitle": {
|
|
1545
1533
|
"message": "Для отложенной загрузки с фасадными объектами доступно несколько сторонних ресурсов"
|
|
1546
1534
|
},
|
|
1547
|
-
"
|
|
1535
|
+
"core/audits/third-party-facades.js | title": {
|
|
1548
1536
|
"message": "Фасадные объекты сторонних ресурсов для отложенной загрузки"
|
|
1549
1537
|
},
|
|
1550
|
-
"
|
|
1538
|
+
"core/audits/third-party-summary.js | columnThirdParty": {
|
|
1551
1539
|
"message": "Сторонний поставщик"
|
|
1552
1540
|
},
|
|
1553
|
-
"
|
|
1541
|
+
"core/audits/third-party-summary.js | description": {
|
|
1554
1542
|
"message": "Сторонний код может сильно замедлить загрузку страниц сайта. Рекомендуем использовать только самые необходимые сторонние ресурсы и сделать так, чтобы они загружались в последнюю очередь. [Подробнее…](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/)"
|
|
1555
1543
|
},
|
|
1556
|
-
"
|
|
1544
|
+
"core/audits/third-party-summary.js | displayValue": {
|
|
1557
1545
|
"message": "Сторонний код заблокировал основной поток на {timeInMs, number, milliseconds} мс"
|
|
1558
1546
|
},
|
|
1559
|
-
"
|
|
1547
|
+
"core/audits/third-party-summary.js | failureTitle": {
|
|
1560
1548
|
"message": "Уменьшите влияние стороннего кода"
|
|
1561
1549
|
},
|
|
1562
|
-
"
|
|
1550
|
+
"core/audits/third-party-summary.js | title": {
|
|
1563
1551
|
"message": "Уменьшение использования стороннего кода"
|
|
1564
1552
|
},
|
|
1565
|
-
"
|
|
1553
|
+
"core/audits/timing-budget.js | columnMeasurement": {
|
|
1566
1554
|
"message": "Единица измерения"
|
|
1567
1555
|
},
|
|
1568
|
-
"
|
|
1556
|
+
"core/audits/timing-budget.js | columnTimingMetric": {
|
|
1569
1557
|
"message": "Показатель"
|
|
1570
1558
|
},
|
|
1571
|
-
"
|
|
1559
|
+
"core/audits/timing-budget.js | description": {
|
|
1572
1560
|
"message": "Указав предельное время загрузки страниц сайта, вы сможете отслеживать его производительность. Показателями хорошей производительности являются быстрые загрузка страниц и обработка событий ввода. [Подробнее…](https://developers.google.com/web/tools/lighthouse/audits/budgets)"
|
|
1573
1561
|
},
|
|
1574
|
-
"
|
|
1562
|
+
"core/audits/timing-budget.js | title": {
|
|
1575
1563
|
"message": "Время на загрузку"
|
|
1576
1564
|
},
|
|
1577
|
-
"
|
|
1565
|
+
"core/audits/unsized-images.js | description": {
|
|
1578
1566
|
"message": "Чтобы улучшить совокупное смещение макета и избежать возможных проблем, связанных со смещением элементов, рекомендуем всегда явным образом задавать ширину и высоту для изображений. [Подробнее…](https://web.dev/optimize-cls/#images-without-dimensions)"
|
|
1579
1567
|
},
|
|
1580
|
-
"
|
|
1568
|
+
"core/audits/unsized-images.js | failureTitle": {
|
|
1581
1569
|
"message": "Для изображений не заданы явным образом атрибуты `width` и `height`."
|
|
1582
1570
|
},
|
|
1583
|
-
"
|
|
1571
|
+
"core/audits/unsized-images.js | title": {
|
|
1584
1572
|
"message": "Для изображений явным образом заданы атрибуты `width` и `height`."
|
|
1585
1573
|
},
|
|
1586
|
-
"
|
|
1574
|
+
"core/audits/user-timings.js | columnType": {
|
|
1587
1575
|
"message": "Тип"
|
|
1588
1576
|
},
|
|
1589
|
-
"
|
|
1577
|
+
"core/audits/user-timings.js | description": {
|
|
1590
1578
|
"message": "Используйте User Timing API, чтобы измерить реальную производительность своего приложения во время ключевых моментов взаимодействия с пользователями. [Подробнее…](https://web.dev/user-timings/)"
|
|
1591
1579
|
},
|
|
1592
|
-
"
|
|
1580
|
+
"core/audits/user-timings.js | displayValue": {
|
|
1593
1581
|
"message": "{itemCount,plural, =1{1 временная метка}one{# временная метка}few{# временные метки}many{# временных меток}other{# временной метки}}"
|
|
1594
1582
|
},
|
|
1595
|
-
"
|
|
1583
|
+
"core/audits/user-timings.js | title": {
|
|
1596
1584
|
"message": "Метки и промежутки пользовательского времени"
|
|
1597
1585
|
},
|
|
1598
|
-
"
|
|
1586
|
+
"core/audits/uses-rel-preconnect.js | crossoriginWarning": {
|
|
1599
1587
|
"message": "Для страницы {securityOrigin} был найден компонент `<link rel=preconnect>`, не использованный браузером. Проверьте значение атрибута `crossorigin`."
|
|
1600
1588
|
},
|
|
1601
|
-
"
|
|
1589
|
+
"core/audits/uses-rel-preconnect.js | description": {
|
|
1602
1590
|
"message": "Чтобы быстро устанавливать соединение с необходимыми сторонними источниками, добавьте ресурсную подсказку `preconnect` или `dns-prefetch`. [Подробнее…](https://web.dev/uses-rel-preconnect/)"
|
|
1603
1591
|
},
|
|
1604
|
-
"
|
|
1592
|
+
"core/audits/uses-rel-preconnect.js | title": {
|
|
1605
1593
|
"message": "Используйте предварительное подключение к необходимым доменам"
|
|
1606
1594
|
},
|
|
1607
|
-
"
|
|
1595
|
+
"core/audits/uses-rel-preconnect.js | tooManyPreconnectLinksWarning": {
|
|
1608
1596
|
"message": "Обнаружено больше двух предварительно подключенных ссылок `<link rel=preconnect>`. Их необходимо использовать в умеренном количестве и только для наиболее значимых источников."
|
|
1609
1597
|
},
|
|
1610
|
-
"
|
|
1598
|
+
"core/audits/uses-rel-preconnect.js | unusedWarning": {
|
|
1611
1599
|
"message": "Для страницы {securityOrigin} был найден компонент `<link rel=preconnect>`, не использованный браузером. Используйте только `preconnect` для значимых источников, которым страница будет точно отправлять запрос."
|
|
1612
1600
|
},
|
|
1613
|
-
"
|
|
1601
|
+
"core/audits/uses-rel-preload.js | crossoriginWarning": {
|
|
1614
1602
|
"message": "Для страницы {preloadURL} был найден предварительно загруженный компонент `<link>`, не использованный браузером. Проверьте значение атрибута `crossorigin`."
|
|
1615
1603
|
},
|
|
1616
|
-
"
|
|
1604
|
+
"core/audits/uses-rel-preload.js | description": {
|
|
1617
1605
|
"message": "Чтобы основные ресурсы загружались в первую очередь, используйте для них элемент `<link rel=preload>`. [Подробнее…](https://web.dev/uses-rel-preload/)"
|
|
1618
1606
|
},
|
|
1619
|
-
"
|
|
1607
|
+
"core/audits/uses-rel-preload.js | title": {
|
|
1620
1608
|
"message": "Настройте предварительную загрузку ключевых запросов"
|
|
1621
1609
|
},
|
|
1622
|
-
"
|
|
1610
|
+
"core/audits/valid-source-maps.js | columnMapURL": {
|
|
1623
1611
|
"message": "URL карт"
|
|
1624
1612
|
},
|
|
1625
|
-
"
|
|
1613
|
+
"core/audits/valid-source-maps.js | description": {
|
|
1626
1614
|
"message": "Карты исходных кодов переводят минифицированный код в исходный код. Благодаря этому разработчики могут выполнять отладку на действующем ресурсе. Кроме того, Lighthouse может предоставлять дополнительную информацию. Чтобы воспользоваться этими преимуществами, внедрите карты исходных кодов. [Подробнее…](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps)"
|
|
1627
1615
|
},
|
|
1628
|
-
"
|
|
1616
|
+
"core/audits/valid-source-maps.js | failureTitle": {
|
|
1629
1617
|
"message": "Отсутствуют карты исходного кода для собственных больших скриптов JavaScript"
|
|
1630
1618
|
},
|
|
1631
|
-
"
|
|
1619
|
+
"core/audits/valid-source-maps.js | missingSourceMapErrorMessage": {
|
|
1632
1620
|
"message": "В большом файле JavaScript отсутствует карта исходного кода."
|
|
1633
1621
|
},
|
|
1634
|
-
"
|
|
1622
|
+
"core/audits/valid-source-maps.js | missingSourceMapItemsWarningMesssage": {
|
|
1635
1623
|
"message": "{missingItems,plural, =1{Внимание! В атрибуте `.sourcesContent` отсутствует 1 элемент.}one{Внимание! В атрибуте `.sourcesContent` отсутствует # элемент.}few{Внимание! В атрибуте `.sourcesContent` отсутствуют # элемента.}many{Внимание! В атрибуте `.sourcesContent` отсутствуют # элементов.}other{Внимание! В атрибуте `.sourcesContent` отсутствует # элемента.}}"
|
|
1636
1624
|
},
|
|
1637
|
-
"
|
|
1625
|
+
"core/audits/valid-source-maps.js | title": {
|
|
1638
1626
|
"message": "У страницы правильные карты исходного кода"
|
|
1639
1627
|
},
|
|
1640
|
-
"
|
|
1628
|
+
"core/audits/viewport.js | description": {
|
|
1641
1629
|
"message": "С помощью метатега `<meta name=\"viewport\">` можно не только оптимизировать приложение для мобильных устройств с экранами разных размеров, но и предотвратить [задержку длительностью 300 мс при вводе данных пользователем](https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away). [Подробнее…](https://web.dev/viewport/)"
|
|
1642
1630
|
},
|
|
1643
|
-
"
|
|
1631
|
+
"core/audits/viewport.js | explanationNoTag": {
|
|
1644
1632
|
"message": "Метатег `<meta name=\"viewport\">` не найден."
|
|
1645
1633
|
},
|
|
1646
|
-
"
|
|
1634
|
+
"core/audits/viewport.js | failureTitle": {
|
|
1647
1635
|
"message": "Отсутствует метатег `<meta name=\"viewport\">` со свойством `width` или `initial-scale`"
|
|
1648
1636
|
},
|
|
1649
|
-
"
|
|
1637
|
+
"core/audits/viewport.js | title": {
|
|
1650
1638
|
"message": "Присутствует метатег `<meta name=\"viewport\">` со свойством `width` или `initial-scale`"
|
|
1651
1639
|
},
|
|
1652
|
-
"
|
|
1640
|
+
"core/config/default-config.js | a11yAriaGroupDescription": {
|
|
1653
1641
|
"message": "Проверьте, правильно ли заданы атрибуты ARIA. Они облегчают работу с вашим приложением пользователям с ограниченными возможностями."
|
|
1654
1642
|
},
|
|
1655
|
-
"
|
|
1643
|
+
"core/config/default-config.js | a11yAriaGroupTitle": {
|
|
1656
1644
|
"message": "ARIA"
|
|
1657
1645
|
},
|
|
1658
|
-
"
|
|
1646
|
+
"core/config/default-config.js | a11yAudioVideoGroupDescription": {
|
|
1659
1647
|
"message": "Проверьте, доступны ли на вашем сайте описания для аудио- и видеоконтента. Это сделает сайт удобнее для пользователей с нарушениями зрения и слуха."
|
|
1660
1648
|
},
|
|
1661
|
-
"
|
|
1649
|
+
"core/config/default-config.js | a11yAudioVideoGroupTitle": {
|
|
1662
1650
|
"message": "Аудио и видео"
|
|
1663
1651
|
},
|
|
1664
|
-
"
|
|
1652
|
+
"core/config/default-config.js | a11yBestPracticesGroupDescription": {
|
|
1665
1653
|
"message": "Проверьте, соответствует ли ваш сайт рекомендациям по оптимизации для поисковых систем."
|
|
1666
1654
|
},
|
|
1667
|
-
"
|
|
1655
|
+
"core/config/default-config.js | a11yBestPracticesGroupTitle": {
|
|
1668
1656
|
"message": "Рекомендации"
|
|
1669
1657
|
},
|
|
1670
|
-
"
|
|
1658
|
+
"core/config/default-config.js | a11yCategoryDescription": {
|
|
1671
1659
|
"message": "Узнайте, какие трудности могут возникнуть у людей с ограниченными возможностями при использовании вашего веб-приложения, и [сделайте его доступнее](https://developers.google.com/web/fundamentals/accessibility). Тестирование вручную поможет выявить проблемы доступности, которые не были обнаружены автоматически."
|
|
1672
1660
|
},
|
|
1673
|
-
"
|
|
1661
|
+
"core/config/default-config.js | a11yCategoryManualDescription": {
|
|
1674
1662
|
"message": "Ручная проверка позволяет охватить области, которые невозможно протестировать автоматически. Подробнее [о проверке специальных возможностей](https://developers.google.com/web/fundamentals/accessibility/how-to-review)…"
|
|
1675
1663
|
},
|
|
1676
|
-
"
|
|
1664
|
+
"core/config/default-config.js | a11yCategoryTitle": {
|
|
1677
1665
|
"message": "Специальные возможности"
|
|
1678
1666
|
},
|
|
1679
|
-
"
|
|
1667
|
+
"core/config/default-config.js | a11yColorContrastGroupDescription": {
|
|
1680
1668
|
"message": "Проверьте, хорошо ли виден ваш текст."
|
|
1681
1669
|
},
|
|
1682
|
-
"
|
|
1670
|
+
"core/config/default-config.js | a11yColorContrastGroupTitle": {
|
|
1683
1671
|
"message": "Контрастность"
|
|
1684
1672
|
},
|
|
1685
|
-
"
|
|
1673
|
+
"core/config/default-config.js | a11yLanguageGroupDescription": {
|
|
1686
1674
|
"message": "Проверьте, правильно ли заданы атрибуты языков для программ чтения с экрана."
|
|
1687
1675
|
},
|
|
1688
|
-
"
|
|
1676
|
+
"core/config/default-config.js | a11yLanguageGroupTitle": {
|
|
1689
1677
|
"message": "Интернационализация и локализация"
|
|
1690
1678
|
},
|
|
1691
|
-
"
|
|
1679
|
+
"core/config/default-config.js | a11yNamesLabelsGroupDescription": {
|
|
1692
1680
|
"message": "Проверьте, насколько элементы управления в вашем приложении различимы для программ чтения с экрана."
|
|
1693
1681
|
},
|
|
1694
|
-
"
|
|
1682
|
+
"core/config/default-config.js | a11yNamesLabelsGroupTitle": {
|
|
1695
1683
|
"message": "Названия и ярлыки"
|
|
1696
1684
|
},
|
|
1697
|
-
"
|
|
1685
|
+
"core/config/default-config.js | a11yNavigationGroupDescription": {
|
|
1698
1686
|
"message": "Проверьте, удобно ли пользователям перемещаться по вашему приложению с помощью клавиатуры."
|
|
1699
1687
|
},
|
|
1700
|
-
"
|
|
1688
|
+
"core/config/default-config.js | a11yNavigationGroupTitle": {
|
|
1701
1689
|
"message": "Навигация"
|
|
1702
1690
|
},
|
|
1703
|
-
"
|
|
1691
|
+
"core/config/default-config.js | a11yTablesListsVideoGroupDescription": {
|
|
1704
1692
|
"message": "Проверьте, насколько эффективно программы чтения с экрана распознают данные в таблицах и списках на вашем сайте."
|
|
1705
1693
|
},
|
|
1706
|
-
"
|
|
1694
|
+
"core/config/default-config.js | a11yTablesListsVideoGroupTitle": {
|
|
1707
1695
|
"message": "Таблицы и списки"
|
|
1708
1696
|
},
|
|
1709
|
-
"
|
|
1697
|
+
"core/config/default-config.js | bestPracticesBrowserCompatGroupTitle": {
|
|
1710
1698
|
"message": "Совместимость с браузерами"
|
|
1711
1699
|
},
|
|
1712
|
-
"
|
|
1700
|
+
"core/config/default-config.js | bestPracticesCategoryTitle": {
|
|
1713
1701
|
"message": "Рекомендации"
|
|
1714
1702
|
},
|
|
1715
|
-
"
|
|
1703
|
+
"core/config/default-config.js | bestPracticesGeneralGroupTitle": {
|
|
1716
1704
|
"message": "Общие рекомендации"
|
|
1717
1705
|
},
|
|
1718
|
-
"
|
|
1706
|
+
"core/config/default-config.js | bestPracticesTrustSafetyGroupTitle": {
|
|
1719
1707
|
"message": "Надежность и безопасность"
|
|
1720
1708
|
},
|
|
1721
|
-
"
|
|
1709
|
+
"core/config/default-config.js | bestPracticesUXGroupTitle": {
|
|
1722
1710
|
"message": "Удобство для пользователей"
|
|
1723
1711
|
},
|
|
1724
|
-
"
|
|
1712
|
+
"core/config/default-config.js | budgetsGroupDescription": {
|
|
1725
1713
|
"message": "В бюджете производительности устанавливаются нормы для производительности вашего сайта."
|
|
1726
1714
|
},
|
|
1727
|
-
"
|
|
1715
|
+
"core/config/default-config.js | budgetsGroupTitle": {
|
|
1728
1716
|
"message": "Бюджет"
|
|
1729
1717
|
},
|
|
1730
|
-
"
|
|
1718
|
+
"core/config/default-config.js | diagnosticsGroupDescription": {
|
|
1731
1719
|
"message": "Подробная информация о производительности вашего приложения. Эти цифры не влияют на показатель производительности [напрямую](https://web.dev/performance-scoring/)."
|
|
1732
1720
|
},
|
|
1733
|
-
"
|
|
1721
|
+
"core/config/default-config.js | diagnosticsGroupTitle": {
|
|
1734
1722
|
"message": "Диагностика"
|
|
1735
1723
|
},
|
|
1736
|
-
"
|
|
1724
|
+
"core/config/default-config.js | firstPaintImprovementsGroupDescription": {
|
|
1737
1725
|
"message": "Один из самых важных параметров производительности – насколько быстро пиксели отображаются на экране. Ключевые показатели: \"Время загрузки первого контента\" и \"Время загрузки достаточной части контента\"."
|
|
1738
1726
|
},
|
|
1739
|
-
"
|
|
1727
|
+
"core/config/default-config.js | firstPaintImprovementsGroupTitle": {
|
|
1740
1728
|
"message": "Уменьшение времени загрузки контента"
|
|
1741
1729
|
},
|
|
1742
|
-
"
|
|
1730
|
+
"core/config/default-config.js | loadOpportunitiesGroupDescription": {
|
|
1743
1731
|
"message": "Эти рекомендации могут помочь вам ускорить загрузку страницы. Они не влияют на показатель производительности [напрямую](https://web.dev/performance-scoring/)."
|
|
1744
1732
|
},
|
|
1745
|
-
"
|
|
1733
|
+
"core/config/default-config.js | loadOpportunitiesGroupTitle": {
|
|
1746
1734
|
"message": "Оптимизация"
|
|
1747
1735
|
},
|
|
1748
|
-
"
|
|
1736
|
+
"core/config/default-config.js | metricGroupTitle": {
|
|
1749
1737
|
"message": "Показатели"
|
|
1750
1738
|
},
|
|
1751
|
-
"
|
|
1739
|
+
"core/config/default-config.js | overallImprovementsGroupDescription": {
|
|
1752
1740
|
"message": "Улучшите параметры загрузки, чтобы страница была готова для работы как можно скорее. Ключевые показатели: \"Время загрузки для взаимодействия\" и \"Индекс скорости загрузки\"."
|
|
1753
1741
|
},
|
|
1754
|
-
"
|
|
1742
|
+
"core/config/default-config.js | overallImprovementsGroupTitle": {
|
|
1755
1743
|
"message": "Общие улучшения"
|
|
1756
1744
|
},
|
|
1757
|
-
"
|
|
1745
|
+
"core/config/default-config.js | performanceCategoryTitle": {
|
|
1758
1746
|
"message": "Производительность"
|
|
1759
1747
|
},
|
|
1760
|
-
"
|
|
1748
|
+
"core/config/default-config.js | pwaCategoryDescription": {
|
|
1761
1749
|
"message": "Здесь проверяется соответствие нормам современных веб-приложений. [Подробнее…](https://developers.google.com/web/progressive-web-apps/checklist)"
|
|
1762
1750
|
},
|
|
1763
|
-
"
|
|
1751
|
+
"core/config/default-config.js | pwaCategoryManualDescription": {
|
|
1764
1752
|
"message": "Lighthouse не проверяет эти пункты автоматически, но они необходимы для соответствия базовому [контрольному списку современных веб-приложений](https://developers.google.com/web/progressive-web-apps/checklist). Они не влияют на показатель приложения, однако их следует проверить вручную."
|
|
1765
1753
|
},
|
|
1766
|
-
"
|
|
1754
|
+
"core/config/default-config.js | pwaCategoryTitle": {
|
|
1767
1755
|
"message": "PWA"
|
|
1768
1756
|
},
|
|
1769
|
-
"
|
|
1757
|
+
"core/config/default-config.js | pwaInstallableGroupTitle": {
|
|
1770
1758
|
"message": "Возможность установки"
|
|
1771
1759
|
},
|
|
1772
|
-
"
|
|
1760
|
+
"core/config/default-config.js | pwaOptimizedGroupTitle": {
|
|
1773
1761
|
"message": "Соответствие рекомендациям для PWA"
|
|
1774
1762
|
},
|
|
1775
|
-
"
|
|
1763
|
+
"core/config/default-config.js | seoCategoryDescription": {
|
|
1776
1764
|
"message": "Эти проверки позволяют узнать, соответствует ли страница основным рекомендациям к поисковой оптимизации. Lighthouse оценивает не все факторы, которые могут повлиять на позицию сайта в результатах поиска (например, производительность по [основным интернет-показателям](https://web.dev/learn-web-vitals/)). [Подробнее…](https://support.google.com/webmasters/answer/35769)"
|
|
1777
1765
|
},
|
|
1778
|
-
"
|
|
1766
|
+
"core/config/default-config.js | seoCategoryManualDescription": {
|
|
1779
1767
|
"message": "Проверьте, соответствует ли ваш сайт рекомендациям по поисковой оптимизации (SEO), с помощью этих дополнительных сервисов."
|
|
1780
1768
|
},
|
|
1781
|
-
"
|
|
1769
|
+
"core/config/default-config.js | seoCategoryTitle": {
|
|
1782
1770
|
"message": "Поисковая оптимизация"
|
|
1783
1771
|
},
|
|
1784
|
-
"
|
|
1772
|
+
"core/config/default-config.js | seoContentGroupDescription": {
|
|
1785
1773
|
"message": "Оптимизируйте HTML-код, чтобы поисковые роботы могли лучше проанализировать контент приложения."
|
|
1786
1774
|
},
|
|
1787
|
-
"
|
|
1775
|
+
"core/config/default-config.js | seoContentGroupTitle": {
|
|
1788
1776
|
"message": "Рекомендации в отношении контента"
|
|
1789
1777
|
},
|
|
1790
|
-
"
|
|
1778
|
+
"core/config/default-config.js | seoCrawlingGroupDescription": {
|
|
1791
1779
|
"message": "Чтобы ваше приложение появлялось в результатах поиска, предоставьте доступ к нему поисковым роботам."
|
|
1792
1780
|
},
|
|
1793
|
-
"
|
|
1781
|
+
"core/config/default-config.js | seoCrawlingGroupTitle": {
|
|
1794
1782
|
"message": "Сканирование и индексирование"
|
|
1795
1783
|
},
|
|
1796
|
-
"
|
|
1784
|
+
"core/config/default-config.js | seoMobileGroupDescription": {
|
|
1797
1785
|
"message": "Убедитесь, что ваши страницы оптимизированы для мобильных устройств, чтобы пользователям не приходилось менять масштаб страниц или подстраивать их под размер экрана. [Подробнее…](https://developers.google.com/search/mobile-sites/)"
|
|
1798
1786
|
},
|
|
1799
|
-
"
|
|
1787
|
+
"core/config/default-config.js | seoMobileGroupTitle": {
|
|
1800
1788
|
"message": "Оптимизация для мобильных устройств"
|
|
1801
1789
|
},
|
|
1802
|
-
"
|
|
1790
|
+
"core/gather/driver/environment.js | warningSlowHostCpu": {
|
|
1803
1791
|
"message": "У тестируемого устройства недостаточно быстрый процессор. Это может негативно повлиять на показатель производительности. Подробнее [о калибровке множителя замедления процессора](https://github.com/GoogleChrome/lighthouse/blob/master/docs/throttling.md#cpu-throttling)…"
|
|
1804
1792
|
},
|
|
1805
|
-
"
|
|
1793
|
+
"core/gather/driver/navigation.js | warningRedirected": {
|
|
1806
1794
|
"message": "Эта страница может загружаться неправильно, потому что тестовый URL ({requested}) был перенаправлен на {final}. Попробуйте напрямую проверить второй URL."
|
|
1807
1795
|
},
|
|
1808
|
-
"
|
|
1796
|
+
"core/gather/driver/navigation.js | warningTimeout": {
|
|
1809
1797
|
"message": "Страница загружалась слишком медленно и не загрузилась в отведенное время. Результаты могут быть неполными."
|
|
1810
1798
|
},
|
|
1811
|
-
"
|
|
1799
|
+
"core/gather/driver/storage.js | warningData": {
|
|
1812
1800
|
"message": "{locationCount,plural, =1{На скорость загрузки могут влиять данные из этого хранилища: {locations}. Попробуйте открыть страницу в режиме инкогнито.}one{На скорость загрузки могут влиять данные из этих хранилищ: {locations}. Попробуйте открыть страницу в режиме инкогнито.}few{На скорость загрузки могут влиять данные из этих хранилищ: {locations}. Попробуйте открыть страницу в режиме инкогнито.}many{На скорость загрузки могут влиять данные из этих хранилищ: {locations}. Попробуйте открыть страницу в режиме инкогнито.}other{На скорость загрузки могут влиять данные из этих хранилищ: {locations}. Попробуйте открыть страницу в режиме инкогнито.}}"
|
|
1813
1801
|
},
|
|
1814
|
-
"
|
|
1802
|
+
"core/lib/csp-evaluator.js | allowlistFallback": {
|
|
1815
1803
|
"message": "Чтобы обеспечить обратную совместимость со старыми браузерами, добавьте в URL протоколы https: и http: (игнорируются браузерами, которые поддерживают strict-dynamic)."
|
|
1816
1804
|
},
|
|
1817
|
-
"
|
|
1805
|
+
"core/lib/csp-evaluator.js | deprecatedDisownOpener": {
|
|
1818
1806
|
"message": "Директива disown-opener не используется, начиная с версии CSP3. Используйте вместо нее заголовок Cross-Origin-Opener-Policy."
|
|
1819
1807
|
},
|
|
1820
|
-
"
|
|
1808
|
+
"core/lib/csp-evaluator.js | deprecatedReferrer": {
|
|
1821
1809
|
"message": "Директива referrer не используется, начиная с версии CSP2. Используйте вместо нее заголовок Referrer-Policy."
|
|
1822
1810
|
},
|
|
1823
|
-
"
|
|
1811
|
+
"core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
|
|
1824
1812
|
"message": "Директива reflected-xss не используется, начиная с версии CSP2. Используйте вместо нее заголовок X-XSS-Protection."
|
|
1825
1813
|
},
|
|
1826
|
-
"
|
|
1814
|
+
"core/lib/csp-evaluator.js | missingBaseUri": {
|
|
1827
1815
|
"message": "Отсутствие директивы base-uri позволяет внедрять теги <base>. С их помощью в качестве базового URL для всех относительных URL (например, скриптов) можно установить домен, контролируемый злоумышленником. Задайте для base-uri значение none или self."
|
|
1828
1816
|
},
|
|
1829
|
-
"
|
|
1817
|
+
"core/lib/csp-evaluator.js | missingObjectSrc": {
|
|
1830
1818
|
"message": "Отсутствие директивы object-src допускает внедрение плагинов, исполняющих небезопасные скрипты. По возможности присвойте ей значение none."
|
|
1831
1819
|
},
|
|
1832
|
-
"
|
|
1820
|
+
"core/lib/csp-evaluator.js | missingScriptSrc": {
|
|
1833
1821
|
"message": "Отсутствует директива script-src. Это позволяет выполнять небезопасные скрипты."
|
|
1834
1822
|
},
|
|
1835
|
-
"
|
|
1823
|
+
"core/lib/csp-evaluator.js | missingSemicolon": {
|
|
1836
1824
|
"message": "Возможно, отсутствует точка с запятой. {keyword} имеет синтаксис директивы, а не ключевого слова."
|
|
1837
1825
|
},
|
|
1838
|
-
"
|
|
1826
|
+
"core/lib/csp-evaluator.js | nonceCharset": {
|
|
1839
1827
|
"message": "Для nonce нужно использовать набор символов base64."
|
|
1840
1828
|
},
|
|
1841
|
-
"
|
|
1829
|
+
"core/lib/csp-evaluator.js | nonceLength": {
|
|
1842
1830
|
"message": "Длина nonce должна составлять не менее 8 символов."
|
|
1843
1831
|
},
|
|
1844
|
-
"
|
|
1832
|
+
"core/lib/csp-evaluator.js | plainUrlScheme": {
|
|
1845
1833
|
"message": "Не используйте простые схемы URL ({keyword}) в этой директиве. Они допускают получение скриптов от небезопасного домена."
|
|
1846
1834
|
},
|
|
1847
|
-
"
|
|
1835
|
+
"core/lib/csp-evaluator.js | plainWildcards": {
|
|
1848
1836
|
"message": "Не используйте простые подстановочные знаки ({keyword}) в этой директиве. Они допускают получение скриптов от небезопасного домена."
|
|
1849
1837
|
},
|
|
1850
|
-
"
|
|
1838
|
+
"core/lib/csp-evaluator.js | reportToOnly": {
|
|
1851
1839
|
"message": "Место назначения для отчетов задано только директивой report-to. Она поддерживается только в браузерах на основе Chromium, поэтому рекомендуется также использовать директиву report-uri."
|
|
1852
1840
|
},
|
|
1853
|
-
"
|
|
1841
|
+
"core/lib/csp-evaluator.js | reportingDestinationMissing": {
|
|
1854
1842
|
"message": "Ни в одной политике CSP не задано место назначения для отчетов. Это усложняет управление политикой CSP и мониторинг сбоев."
|
|
1855
1843
|
},
|
|
1856
|
-
"
|
|
1844
|
+
"core/lib/csp-evaluator.js | strictDynamic": {
|
|
1857
1845
|
"message": "Злоумышленники часто обходят белые списки хостов. При необходимости используйте вместо них директиву strict-dynamic вместе с nonce или hash политики CSP."
|
|
1858
1846
|
},
|
|
1859
|
-
"
|
|
1847
|
+
"core/lib/csp-evaluator.js | unknownDirective": {
|
|
1860
1848
|
"message": "Неизвестная директива CSP."
|
|
1861
1849
|
},
|
|
1862
|
-
"
|
|
1850
|
+
"core/lib/csp-evaluator.js | unknownKeyword": {
|
|
1863
1851
|
"message": "{keyword} — недопустимое ключевое слово."
|
|
1864
1852
|
},
|
|
1865
|
-
"
|
|
1853
|
+
"core/lib/csp-evaluator.js | unsafeInline": {
|
|
1866
1854
|
"message": "Директива unsafe-inline позволяет выполнять небезопасные скрипты и обработчики событий на странице. Чтобы разрешать отдельные скрипты, используйте nonce или hash в политике CSP."
|
|
1867
1855
|
},
|
|
1868
|
-
"
|
|
1856
|
+
"core/lib/csp-evaluator.js | unsafeInlineFallback": {
|
|
1869
1857
|
"message": "Чтобы обеспечить обратную совместимость со старыми браузерами, добавьте директиву unsafe-inline (игнорируется браузерами, которые поддерживают nonce или hash)."
|
|
1870
1858
|
},
|
|
1871
|
-
"
|
|
1859
|
+
"core/lib/i18n/i18n.js | columnBlockingTime": {
|
|
1872
1860
|
"message": "Время блокировки основного потока"
|
|
1873
1861
|
},
|
|
1874
|
-
"
|
|
1862
|
+
"core/lib/i18n/i18n.js | columnCacheTTL": {
|
|
1875
1863
|
"message": "Время жизни кеша"
|
|
1876
1864
|
},
|
|
1877
|
-
"
|
|
1865
|
+
"core/lib/i18n/i18n.js | columnDescription": {
|
|
1878
1866
|
"message": "Описание"
|
|
1879
1867
|
},
|
|
1880
|
-
"
|
|
1868
|
+
"core/lib/i18n/i18n.js | columnDuration": {
|
|
1881
1869
|
"message": "Длительность"
|
|
1882
1870
|
},
|
|
1883
|
-
"
|
|
1871
|
+
"core/lib/i18n/i18n.js | columnElement": {
|
|
1884
1872
|
"message": "Элемент"
|
|
1885
1873
|
},
|
|
1886
|
-
"
|
|
1874
|
+
"core/lib/i18n/i18n.js | columnFailingElem": {
|
|
1887
1875
|
"message": "Неподходящие элементы"
|
|
1888
1876
|
},
|
|
1889
|
-
"
|
|
1877
|
+
"core/lib/i18n/i18n.js | columnLocation": {
|
|
1890
1878
|
"message": "Расположение"
|
|
1891
1879
|
},
|
|
1892
|
-
"
|
|
1880
|
+
"core/lib/i18n/i18n.js | columnName": {
|
|
1893
1881
|
"message": "Название"
|
|
1894
1882
|
},
|
|
1895
|
-
"
|
|
1883
|
+
"core/lib/i18n/i18n.js | columnOverBudget": {
|
|
1896
1884
|
"message": "Сверх бюджета"
|
|
1897
1885
|
},
|
|
1898
|
-
"
|
|
1886
|
+
"core/lib/i18n/i18n.js | columnRequests": {
|
|
1899
1887
|
"message": "Запросы"
|
|
1900
1888
|
},
|
|
1901
|
-
"
|
|
1889
|
+
"core/lib/i18n/i18n.js | columnResourceSize": {
|
|
1902
1890
|
"message": "Размер файла"
|
|
1903
1891
|
},
|
|
1904
|
-
"
|
|
1892
|
+
"core/lib/i18n/i18n.js | columnResourceType": {
|
|
1905
1893
|
"message": "Тип ресурса"
|
|
1906
1894
|
},
|
|
1907
|
-
"
|
|
1895
|
+
"core/lib/i18n/i18n.js | columnSize": {
|
|
1908
1896
|
"message": "Размер"
|
|
1909
1897
|
},
|
|
1910
|
-
"
|
|
1898
|
+
"core/lib/i18n/i18n.js | columnSource": {
|
|
1911
1899
|
"message": "Источник"
|
|
1912
1900
|
},
|
|
1913
|
-
"
|
|
1901
|
+
"core/lib/i18n/i18n.js | columnStartTime": {
|
|
1914
1902
|
"message": "Время начала"
|
|
1915
1903
|
},
|
|
1916
|
-
"
|
|
1904
|
+
"core/lib/i18n/i18n.js | columnTimeSpent": {
|
|
1917
1905
|
"message": "Потраченное время"
|
|
1918
1906
|
},
|
|
1919
|
-
"
|
|
1907
|
+
"core/lib/i18n/i18n.js | columnTransferSize": {
|
|
1920
1908
|
"message": "Объем переданных данных"
|
|
1921
1909
|
},
|
|
1922
|
-
"
|
|
1910
|
+
"core/lib/i18n/i18n.js | columnURL": {
|
|
1923
1911
|
"message": "URL"
|
|
1924
1912
|
},
|
|
1925
|
-
"
|
|
1913
|
+
"core/lib/i18n/i18n.js | columnWastedBytes": {
|
|
1926
1914
|
"message": "Потенциальная экономия"
|
|
1927
1915
|
},
|
|
1928
|
-
"
|
|
1916
|
+
"core/lib/i18n/i18n.js | columnWastedMs": {
|
|
1929
1917
|
"message": "Потенциальная экономия"
|
|
1930
1918
|
},
|
|
1931
|
-
"
|
|
1919
|
+
"core/lib/i18n/i18n.js | cumulativeLayoutShiftMetric": {
|
|
1932
1920
|
"message": "Cumulative Layout Shift"
|
|
1933
1921
|
},
|
|
1934
|
-
"
|
|
1922
|
+
"core/lib/i18n/i18n.js | displayValueByteSavings": {
|
|
1935
1923
|
"message": "Потенциальная экономия – {wastedBytes, number, bytes} КиБ"
|
|
1936
1924
|
},
|
|
1937
|
-
"
|
|
1925
|
+
"core/lib/i18n/i18n.js | displayValueElementsFound": {
|
|
1938
1926
|
"message": "{nodeCount,plural, =1{Обнаружен 1 элемент}one{Обнаружен # элемент}few{Обнаружено # элемента}many{Обнаружено # элементов}other{Обнаружено # элемента}}"
|
|
1939
1927
|
},
|
|
1940
|
-
"
|
|
1928
|
+
"core/lib/i18n/i18n.js | displayValueMsSavings": {
|
|
1941
1929
|
"message": "Потенциальная экономия – {wastedMs, number, milliseconds} мс"
|
|
1942
1930
|
},
|
|
1943
|
-
"
|
|
1931
|
+
"core/lib/i18n/i18n.js | documentResourceType": {
|
|
1944
1932
|
"message": "Документ"
|
|
1945
1933
|
},
|
|
1946
|
-
"
|
|
1934
|
+
"core/lib/i18n/i18n.js | firstContentfulPaintMetric": {
|
|
1947
1935
|
"message": "First Contentful Paint"
|
|
1948
1936
|
},
|
|
1949
|
-
"
|
|
1937
|
+
"core/lib/i18n/i18n.js | firstMeaningfulPaintMetric": {
|
|
1950
1938
|
"message": "Время загрузки достаточной части контента"
|
|
1951
1939
|
},
|
|
1952
|
-
"
|
|
1940
|
+
"core/lib/i18n/i18n.js | fontResourceType": {
|
|
1953
1941
|
"message": "Шрифт"
|
|
1954
1942
|
},
|
|
1955
|
-
"
|
|
1943
|
+
"core/lib/i18n/i18n.js | imageResourceType": {
|
|
1956
1944
|
"message": "Изображение"
|
|
1957
1945
|
},
|
|
1958
|
-
"
|
|
1946
|
+
"core/lib/i18n/i18n.js | interactiveMetric": {
|
|
1959
1947
|
"message": "Time to Interactive"
|
|
1960
1948
|
},
|
|
1961
|
-
"
|
|
1949
|
+
"core/lib/i18n/i18n.js | itemSeverityHigh": {
|
|
1962
1950
|
"message": "Высокая"
|
|
1963
1951
|
},
|
|
1964
|
-
"
|
|
1952
|
+
"core/lib/i18n/i18n.js | itemSeverityLow": {
|
|
1965
1953
|
"message": "Низкая"
|
|
1966
1954
|
},
|
|
1967
|
-
"
|
|
1955
|
+
"core/lib/i18n/i18n.js | itemSeverityMedium": {
|
|
1968
1956
|
"message": "Средняя"
|
|
1969
1957
|
},
|
|
1970
|
-
"
|
|
1958
|
+
"core/lib/i18n/i18n.js | largestContentfulPaintMetric": {
|
|
1971
1959
|
"message": "Largest Contentful Paint"
|
|
1972
1960
|
},
|
|
1973
|
-
"
|
|
1961
|
+
"core/lib/i18n/i18n.js | maxPotentialFIDMetric": {
|
|
1974
1962
|
"message": "Макс. потенц. задержка после первого ввода"
|
|
1975
1963
|
},
|
|
1976
|
-
"
|
|
1964
|
+
"core/lib/i18n/i18n.js | mediaResourceType": {
|
|
1977
1965
|
"message": "Медиа"
|
|
1978
1966
|
},
|
|
1979
|
-
"
|
|
1967
|
+
"core/lib/i18n/i18n.js | ms": {
|
|
1980
1968
|
"message": "{timeInMs, number, milliseconds} мс"
|
|
1981
1969
|
},
|
|
1982
|
-
"
|
|
1970
|
+
"core/lib/i18n/i18n.js | otherResourceType": {
|
|
1983
1971
|
"message": "Другой"
|
|
1984
1972
|
},
|
|
1985
|
-
"
|
|
1973
|
+
"core/lib/i18n/i18n.js | otherResourcesLabel": {
|
|
1986
1974
|
"message": "Другие ресурсы"
|
|
1987
1975
|
},
|
|
1988
|
-
"
|
|
1976
|
+
"core/lib/i18n/i18n.js | scriptResourceType": {
|
|
1989
1977
|
"message": "Скрипт"
|
|
1990
1978
|
},
|
|
1991
|
-
"
|
|
1979
|
+
"core/lib/i18n/i18n.js | seconds": {
|
|
1992
1980
|
"message": "{timeInMs, number, seconds} сек."
|
|
1993
1981
|
},
|
|
1994
|
-
"
|
|
1982
|
+
"core/lib/i18n/i18n.js | speedIndexMetric": {
|
|
1995
1983
|
"message": "Speed Index"
|
|
1996
1984
|
},
|
|
1997
|
-
"
|
|
1985
|
+
"core/lib/i18n/i18n.js | stylesheetResourceType": {
|
|
1998
1986
|
"message": "Таблица стилей"
|
|
1999
1987
|
},
|
|
2000
|
-
"
|
|
1988
|
+
"core/lib/i18n/i18n.js | thirdPartyResourceType": {
|
|
2001
1989
|
"message": "Сторонний"
|
|
2002
1990
|
},
|
|
2003
|
-
"
|
|
1991
|
+
"core/lib/i18n/i18n.js | totalBlockingTimeMetric": {
|
|
2004
1992
|
"message": "Total Blocking Time"
|
|
2005
1993
|
},
|
|
2006
|
-
"
|
|
1994
|
+
"core/lib/i18n/i18n.js | totalResourceType": {
|
|
2007
1995
|
"message": "Всего"
|
|
2008
1996
|
},
|
|
2009
|
-
"
|
|
1997
|
+
"core/lib/lh-error.js | badTraceRecording": {
|
|
2010
1998
|
"message": "При записи трассировки для вашей страницы произошла ошибка. Перезапустите Lighthouse. ({errorCode})"
|
|
2011
1999
|
},
|
|
2012
|
-
"
|
|
2000
|
+
"core/lib/lh-error.js | criTimeout": {
|
|
2013
2001
|
"message": "Превышено время ожидания для первичного соединения с протоколом отладчика."
|
|
2014
2002
|
},
|
|
2015
|
-
"
|
|
2003
|
+
"core/lib/lh-error.js | didntCollectScreenshots": {
|
|
2016
2004
|
"message": "При загрузке страницы в Chrome не были сделаны скриншоты. Проверьте, есть ли на странице видимый контент, и перезапустите Lighthouse. ({errorCode})"
|
|
2017
2005
|
},
|
|
2018
|
-
"
|
|
2006
|
+
"core/lib/lh-error.js | dnsFailure": {
|
|
2019
2007
|
"message": "DNS-серверам не удалось определить IP-адрес по указанному домену."
|
|
2020
2008
|
},
|
|
2021
|
-
"
|
|
2009
|
+
"core/lib/lh-error.js | erroredRequiredArtifact": {
|
|
2022
2010
|
"message": "При сборе данных ресурса {artifactName} произошла ошибка ({errorMessage})."
|
|
2023
2011
|
},
|
|
2024
|
-
"
|
|
2012
|
+
"core/lib/lh-error.js | internalChromeError": {
|
|
2025
2013
|
"message": "Произошла внутренняя ошибка. Перезапустите Chrome и Lighthouse."
|
|
2026
2014
|
},
|
|
2027
|
-
"
|
|
2015
|
+
"core/lib/lh-error.js | missingRequiredArtifact": {
|
|
2028
2016
|
"message": "Не удалось собрать данные ресурса {artifactName}."
|
|
2029
2017
|
},
|
|
2030
|
-
"
|
|
2018
|
+
"core/lib/lh-error.js | noFcp": {
|
|
2031
2019
|
"message": "Контент на этой странице не был отрисован. Убедитесь, что окно браузера находится в активном режиме во время загрузки, и повторите попытку. ({errorCode})"
|
|
2032
2020
|
},
|
|
2033
|
-
"
|
|
2021
|
+
"core/lib/lh-error.js | notHtml": {
|
|
2034
2022
|
"message": "Указана страница не в формате HTML (MIME-тип {mimeType})."
|
|
2035
2023
|
},
|
|
2036
|
-
"
|
|
2024
|
+
"core/lib/lh-error.js | oldChromeDoesNotSupportFeature": {
|
|
2037
2025
|
"message": "Текущая версия Chrome не поддерживает функцию \"{featureName}\". Чтобы посмотреть результаты полностью, обновите версию Chrome."
|
|
2038
2026
|
},
|
|
2039
|
-
"
|
|
2027
|
+
"core/lib/lh-error.js | pageLoadFailed": {
|
|
2040
2028
|
"message": "Не удалось загрузить страницу. Убедитесь, что URL введен правильно и сервер отвечает на все запросы."
|
|
2041
2029
|
},
|
|
2042
|
-
"
|
|
2030
|
+
"core/lib/lh-error.js | pageLoadFailedHung": {
|
|
2043
2031
|
"message": "Не удалось загрузить URL, так как страница не отвечает."
|
|
2044
2032
|
},
|
|
2045
|
-
"
|
|
2033
|
+
"core/lib/lh-error.js | pageLoadFailedInsecure": {
|
|
2046
2034
|
"message": "Сертификат безопасности для указанного URL недействителен ({securityMessages})."
|
|
2047
2035
|
},
|
|
2048
|
-
"
|
|
2036
|
+
"core/lib/lh-error.js | pageLoadFailedInterstitial": {
|
|
2049
2037
|
"message": "Браузер Chrome остановил загрузку страницы с межстраничным объявлением. Убедитесь, что URL введен правильно и сервер отвечает на все запросы."
|
|
2050
2038
|
},
|
|
2051
|
-
"
|
|
2039
|
+
"core/lib/lh-error.js | pageLoadFailedWithDetails": {
|
|
2052
2040
|
"message": "Не удалось загрузить страницу. Убедитесь, что URL введен правильно и сервер отвечает на все запросы. Подробнее: {errorDetails}."
|
|
2053
2041
|
},
|
|
2054
|
-
"
|
|
2042
|
+
"core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
|
|
2055
2043
|
"message": "Не удалось загрузить страницу. Убедитесь, что URL введен правильно и сервер отвечает на все запросы. Код статуса: {statusCode}."
|
|
2056
2044
|
},
|
|
2057
|
-
"
|
|
2045
|
+
"core/lib/lh-error.js | pageLoadTookTooLong": {
|
|
2058
2046
|
"message": "Страница загружалась слишком долго. Уменьшите время загрузки, выполнив рекомендации из отчета, а затем перезапустите Lighthouse. ({errorCode})"
|
|
2059
2047
|
},
|
|
2060
|
-
"
|
|
2048
|
+
"core/lib/lh-error.js | protocolTimeout": {
|
|
2061
2049
|
"message": "Истекло время ожидания ответа от протокола DevTools. Метод: {protocolMethod}."
|
|
2062
2050
|
},
|
|
2063
|
-
"
|
|
2051
|
+
"core/lib/lh-error.js | requestContentTimeout": {
|
|
2064
2052
|
"message": "Контент загружался слишком долго. Время ожидания истекло."
|
|
2065
2053
|
},
|
|
2066
|
-
"
|
|
2054
|
+
"core/lib/lh-error.js | urlInvalid": {
|
|
2067
2055
|
"message": "Недействительный URL."
|
|
2068
2056
|
},
|
|
2069
2057
|
"node_modules/lighthouse-stack-packs/packs/amp.js | efficient-animated-content": {
|