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