UNPKG

lighthouse

Version:

Automated auditing, performance metrics, and best practices for the web.

702 lines 360 kB
{ "core/audits/accessibility/accesskeys.js | description": { "message": "Клавиши доступа позволяют быстро перейти к нужной части страницы. Для удобства навигации на каждую клавишу должно быть назначено только одно действие. Подробнее [о клавишах доступа](https://dequeuniversity.com/rules/axe/4.10/accesskeys)…" }, "core/audits/accessibility/accesskeys.js | failureTitle": { "message": "Значения атрибута `[accesskey]` не уникальны" }, "core/audits/accessibility/accesskeys.js | title": { "message": "`[accesskey]`: значения уникальны" }, "core/audits/accessibility/aria-allowed-attr.js | description": { "message": "Каждая `role` ARIA поддерживает определенный набор атрибутов `aria-*`. Неверно присвоенные атрибуты `aria-*` будут недействительны. Подробнее о том, [как сопоставлять атрибуты ARIA с их ролями](https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr)…" }, "core/audits/accessibility/aria-allowed-attr.js | failureTitle": { "message": "Атрибуты `[aria-*]` не соответствуют своим ролям" }, "core/audits/accessibility/aria-allowed-attr.js | title": { "message": "Атрибуты `[aria-*]` соответствуют своим ролям" }, "core/audits/accessibility/aria-allowed-role.js | description": { "message": "Многим элементам HTML разрешается назначать только определенные роли ARIA. Если роли ARIA используются неподходящим способом, это может ухудшить доступность веб-страницы. Подробнее [о ролях ARIA](https://dequeuniversity.com/rules/axe/4.10/aria-allowed-role)…" }, "core/audits/accessibility/aria-allowed-role.js | failureTitle": { "message": "Роли ARIA назначены несовместимым элементам" }, "core/audits/accessibility/aria-allowed-role.js | title": { "message": "Роли ARIA назначены только совместимым элементам" }, "core/audits/accessibility/aria-command-name.js | description": { "message": "Если у элемента нет названия, доступного программам чтения с экрана, пользователи услышат его общее название и не поймут, для чего он нужен. Подробнее о том, [как сделать элементы команд более доступными](https://dequeuniversity.com/rules/axe/4.10/aria-command-name)…" }, "core/audits/accessibility/aria-command-name.js | failureTitle": { "message": "У элементов `button`, `link` и `menuitem` нет названий, доступных программам чтения с экрана" }, "core/audits/accessibility/aria-command-name.js | title": { "message": "У элементов `button`, `link` и `menuitem` есть названия, доступные программам чтения с экрана" }, "core/audits/accessibility/aria-conditional-attr.js | description": { "message": "Использовать некоторые атрибуты ARIA в элементе можно только при определенных условиях. Подробнее [об условных атрибутах ARIA](https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr)…" }, "core/audits/accessibility/aria-conditional-attr.js | failureTitle": { "message": "Атрибуты ARIA используются не так, как указано для роли элемента" }, "core/audits/accessibility/aria-conditional-attr.js | title": { "message": "Атрибуты ARIA используются так, как указано для роли элемента" }, "core/audits/accessibility/aria-deprecated-role.js | description": { "message": "Функции специальных возможностей могут некорректно обрабатывать устаревшие роли ARIA. Подробнее [об устаревших ролях ARIA](https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role)…" }, "core/audits/accessibility/aria-deprecated-role.js | failureTitle": { "message": "Использовались устаревшие роли ARIA" }, "core/audits/accessibility/aria-deprecated-role.js | title": { "message": "Устаревшие роли ARIA не использовались" }, "core/audits/accessibility/aria-dialog-name.js | description": { "message": "Если у элементов диалогового окна ARIA нет доступных имен, пользователи программ чтения с экрана могут не понимать назначение этих элементов. Подробнее о том, [как сделать элементы диалогового окна ARIA более доступными](https://dequeuniversity.com/rules/axe/4.10/aria-dialog-name)…" }, "core/audits/accessibility/aria-dialog-name.js | failureTitle": { "message": "У элементов с атрибутом `role=\"dialog\"` или `role=\"alertdialog\"` нет доступных названий" }, "core/audits/accessibility/aria-dialog-name.js | title": { "message": "У элементов с атрибутом `role=\"dialog\"` или `role=\"alertdialog\"` есть доступные названия" }, "core/audits/accessibility/aria-hidden-body.js | description": { "message": "Программы чтения с экрана и другие технологии специальных возможностей могут работать некорректно, если для `<body>` задан атрибут `aria-hidden=\"true\"`. Подробнее о том, [как `aria-hidden` влияет на элемент body](https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body)…" }, "core/audits/accessibility/aria-hidden-body.js | failureTitle": { "message": "Элемент `<body>` в документе содержит атрибут `[aria-hidden=\"true\"]`" }, "core/audits/accessibility/aria-hidden-body.js | title": { "message": "Элемент `<body>` в документе не содержит атрибут `[aria-hidden=\"true\"]`" }, "core/audits/accessibility/aria-hidden-focus.js | description": { "message": "Если для родительского элемента задан атрибут `[aria-hidden=\"true\"]`, то все его фокусируемые потомки становятся недоступны для программ чтения с экрана и других технологий специальных возможностей. Подробнее о том, [какое влияние `aria-hidden` оказывает на фокусируемые элементы](https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus)…" }, "core/audits/accessibility/aria-hidden-focus.js | failureTitle": { "message": "Элементы, к которым применен атрибут `[aria-hidden=\"true\"]`, содержат активные дочерние элементы" }, "core/audits/accessibility/aria-hidden-focus.js | title": { "message": "Элементы, к которым применен атрибут `[aria-hidden=\"true\"]`, не содержат активных дочерних элементов" }, "core/audits/accessibility/aria-input-field-name.js | description": { "message": "Если у поля ввода нет названия, доступного программам чтения с экрана, пользователи услышат его общее название и не поймут, для чего оно нужно. Подробнее [о ярлыках для полей ввода](https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name)…" }, "core/audits/accessibility/aria-input-field-name.js | failureTitle": { "message": "У полей ввода ARIA нет доступных названий" }, "core/audits/accessibility/aria-input-field-name.js | title": { "message": "У полей ввода ARIA есть доступные названия" }, "core/audits/accessibility/aria-meter-name.js | description": { "message": "Если у элемента счетчика нет названия, доступного программам чтения с экрана, пользователи услышат только общее название и не поймут, для чего он нужен. Подробнее о том, [как присваивать названия элементам \"`meter`\"](https://dequeuniversity.com/rules/axe/4.10/aria-meter-name)…" }, "core/audits/accessibility/aria-meter-name.js | failureTitle": { "message": "У элементов `meter` ARIA нет названий, доступных программам чтения с экрана" }, "core/audits/accessibility/aria-meter-name.js | title": { "message": "У элементов `meter` ARIA есть названия, доступные программам чтения с экрана" }, "core/audits/accessibility/aria-progressbar-name.js | description": { "message": "Если у элемента `progressbar` нет названия, доступного программам чтения с экрана, пользователи услышат только его общее название и не поймут, для чего он нужен. Подробнее о том, [как присваивать ярлыки элементам `progressbar`](https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name)…" }, "core/audits/accessibility/aria-progressbar-name.js | failureTitle": { "message": "У элементов `progressbar` ARIA нет названий, доступных программам чтения с экрана" }, "core/audits/accessibility/aria-progressbar-name.js | title": { "message": "У элементов `progressbar` ARIA есть названия, доступные программам чтения с экрана" }, "core/audits/accessibility/aria-prohibited-attr.js | description": { "message": "Если атрибуты ARIA используются в ролях, для которых они запрещены, пользователи специальных возможностей могут не получать важную информацию. Подробнее [о запрещенных ролях ARIA](https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr)…" }, "core/audits/accessibility/aria-prohibited-attr.js | failureTitle": { "message": "В элементах используются запрещенные атрибуты ARIA" }, "core/audits/accessibility/aria-prohibited-attr.js | title": { "message": "В элементах используются только разрешенные атрибуты ARIA" }, "core/audits/accessibility/aria-required-attr.js | description": { "message": "К некоторым ролям ARIA необходимо добавлять атрибуты, описывающие состояние элемента для программ чтения с экрана. Подробнее [о ролях и необходимых атрибутах](https://dequeuniversity.com/rules/axe/4.10/aria-required-attr)…" }, "core/audits/accessibility/aria-required-attr.js | failureTitle": { "message": "Для элементов с атрибутом `[role]` заданы не все необходимые атрибуты `[aria-*]`" }, "core/audits/accessibility/aria-required-attr.js | title": { "message": "У элементов `[role]` есть все необходимые атрибуты `[aria-*]`" }, "core/audits/accessibility/aria-required-children.js | description": { "message": "Указав роль ARIA для родительского элемента, в некоторых случаях вы должны также задать определенные роли его дочерним элементам. Если этого не сделать, связанные с ARIA функции специальных возможностей будут работать неправильно. Подробнее [о ролях и необходимых дочерних элементах](https://dequeuniversity.com/rules/axe/4.10/aria-required-children)…" }, "core/audits/accessibility/aria-required-children.js | failureTitle": { "message": "В элементах с ролью ARIA `[role]` отсутствуют некоторые или все обязательные дочерние элементы, которые должны содержать определенный элемент `[role]`." }, "core/audits/accessibility/aria-required-children.js | title": { "message": "В элементах с ролью ARIA `[role]` присутствуют все обязательные дочерние элементы, которые должны содержать определенный элемент `[role]`." }, "core/audits/accessibility/aria-required-parent.js | description": { "message": "Некоторые дочерние элементы с ролями ARIA должны содержаться внутри определенных родительских элементов, иначе связанные с ними функции специальных возможностей будут работать неправильно. Подробнее [о ролях ARIA и необходимых родительских элементах](https://dequeuniversity.com/rules/axe/4.10/aria-required-parent)…" }, "core/audits/accessibility/aria-required-parent.js | failureTitle": { "message": "Элементы с атрибутом `[role]` не содержатся в своих родительских элементах" }, "core/audits/accessibility/aria-required-parent.js | title": { "message": "Элементы с атрибутом `[role]` содержатся в своих родительских элементах" }, "core/audits/accessibility/aria-roles.js | description": { "message": "Значения ролей ARIA должны быть допустимыми, иначе связанные с ними функции специальных возможностей будут работать неправильно. Подробнее о том, [какие роли ARIA можно указывать](https://dequeuniversity.com/rules/axe/4.10/aria-roles)…" }, "core/audits/accessibility/aria-roles.js | failureTitle": { "message": "Присутствуют недействительные значения атрибутов `[role]`" }, "core/audits/accessibility/aria-roles.js | title": { "message": "Недействительные значения атрибутов `[role]` отсутствуют" }, "core/audits/accessibility/aria-text.js | description": { "message": "Если добавить отделенный разметкой атрибут `role=text` перед текстовым узлом и после него, VoiceOver будет определять текст как одну фразу, но фокусируемые потомки не будут озвучиваться. Подробнее [об атрибуте `role=text`](https://dequeuniversity.com/rules/axe/4.10/aria-text)…" }, "core/audits/accessibility/aria-text.js | failureTitle": { "message": "У элементов с атрибутом `role=text` есть фокусируемые потомки" }, "core/audits/accessibility/aria-text.js | title": { "message": "У элементов атрибута `role=text` нет фокусируемых потомков" }, "core/audits/accessibility/aria-toggle-field-name.js | description": { "message": "Если у переключателя нет названия, доступного программам чтения с экрана, пользователи услышат его общее название и не поймут, для чего он нужен. Подробнее [о переключателях](https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name)…" }, "core/audits/accessibility/aria-toggle-field-name.js | failureTitle": { "message": "У переключателей ARIA нет доступных названий" }, "core/audits/accessibility/aria-toggle-field-name.js | title": { "message": "У переключателей ARIA есть доступные названия" }, "core/audits/accessibility/aria-tooltip-name.js | description": { "message": "Если у элемента подсказки нет названия, доступного программам чтения с экрана, пользователи услышат только его общее название и не поймут, для чего он нужен. Подробнее о том, [как присваивать названия элементам \"`tooltip`\"](https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name)…" }, "core/audits/accessibility/aria-tooltip-name.js | failureTitle": { "message": "У элементов `tooltip` ARIA нет названий, доступных программам чтения с экрана" }, "core/audits/accessibility/aria-tooltip-name.js | title": { "message": "У элементов `tooltip` ARIA есть названия, доступные программам чтения с экрана" }, "core/audits/accessibility/aria-treeitem-name.js | description": { "message": "Если у элемента `treeitem` нет названия, доступного программам чтения с экрана, пользователи услышат только его общее название и не поймут, для чего он нужен. Подробнее [о присваивании ярлыков элементам `treeitem`](https://dequeuniversity.com/rules/axe/4.10/aria-treeitem-name)…" }, "core/audits/accessibility/aria-treeitem-name.js | failureTitle": { "message": "У элементов `treeitem` ARIA нет названий, доступных программам чтения с экрана" }, "core/audits/accessibility/aria-treeitem-name.js | title": { "message": "У элементов `treeitem` ARIA есть названия, доступные программам чтения с экрана" }, "core/audits/accessibility/aria-valid-attr-value.js | description": { "message": "Технологии специальных возможностей, например программы чтения с экрана, не могут распознавать атрибуты ARIA с недопустимыми значениями. Подробнее [о существующих значениях для атрибутов ARIA](https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr-value)…" }, "core/audits/accessibility/aria-valid-attr-value.js | failureTitle": { "message": "У атрибутов `[aria-*]` недействительные значения" }, "core/audits/accessibility/aria-valid-attr-value.js | title": { "message": "Недействительные значения атрибутов `[aria-*]` отсутствуют" }, "core/audits/accessibility/aria-valid-attr.js | description": { "message": "Технологии специальных возможностей, например программы чтения с экрана, не могут распознавать атрибуты ARIA с недопустимыми названиями. Подробнее [о существующих атрибутах ARIA](https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr)…" }, "core/audits/accessibility/aria-valid-attr.js | failureTitle": { "message": "Атрибуты `[aria-*]` недействительны или указаны с ошибками" }, "core/audits/accessibility/aria-valid-attr.js | title": { "message": "Атрибуты `[aria-*]` действительны и написаны без ошибок" }, "core/audits/accessibility/axe-audit.js | failingElementsHeader": { "message": "Элементы, не прошедшие проверку" }, "core/audits/accessibility/button-name.js | description": { "message": "Если у кнопки нет названия, доступного программам чтения с экрана, пользователи услышат слово \"кнопка\", но не поймут, для чего она нужна. Подробнее о том, [как сделать кнопки более доступными](https://dequeuniversity.com/rules/axe/4.10/button-name)…" }, "core/audits/accessibility/button-name.js | failureTitle": { "message": "Названия кнопок недоступны программам чтения с экрана" }, "core/audits/accessibility/button-name.js | title": { "message": "Названия кнопок доступны программам чтения с экрана" }, "core/audits/accessibility/bypass.js | description": { "message": "Чтобы пользователям было проще перемещаться по странице с помощью клавиатуры, добавьте возможность пропускать повторяющийся контент. Подробнее [о пропускаемых блоках данных](https://dequeuniversity.com/rules/axe/4.10/bypass)…" }, "core/audits/accessibility/bypass.js | failureTitle": { "message": "На странице отсутствует заголовок, ссылка для пропуска или указание региона" }, "core/audits/accessibility/bypass.js | title": { "message": "Страница содержит заголовок, ссылку для пропуска контента или указание региона" }, "core/audits/accessibility/color-contrast.js | description": { "message": "Многие пользователи не видят текст с низкой контрастностью, или им сложно его воспринимать. Подробнее о том, [как обеспечить достаточный цветовой контраст](https://dequeuniversity.com/rules/axe/4.10/color-contrast)…" }, "core/audits/accessibility/color-contrast.js | failureTitle": { "message": "Цвета фона и переднего плана недостаточно контрастны" }, "core/audits/accessibility/color-contrast.js | title": { "message": "Цвета фона и переднего плана достаточно контрастны" }, "core/audits/accessibility/definition-list.js | description": { "message": "Если списки определений размечены с ошибками, программы чтения с экрана могут озвучивать их некорректно. Подробнее о том, [как правильно создавать списки определений](https://dequeuniversity.com/rules/axe/4.10/definition-list)…" }, "core/audits/accessibility/definition-list.js | failureTitle": { "message": "Ошибка в элементах `<dl>`: они могут содержать только правильно размещенные группы `<dt>` и `<dd>` и элементы `<script>`, `<template>` или `<div>`." }, "core/audits/accessibility/definition-list.js | title": { "message": "Элементы `<dl>` содержат только правильно размещенные группы `<dt>` и `<dd>` и элементы `<script>`, `<template>` или `<div>`." }, "core/audits/accessibility/dlitem.js | description": { "message": "Чтобы программы чтения с экрана правильно озвучивали элементы списков определений `<dt>` и `<dd>`, они должны располагаться внутри родительского элемента `<dl>`. Подробнее о том, [как правильно создавать списки определений](https://dequeuniversity.com/rules/axe/4.10/dlitem)…" }, "core/audits/accessibility/dlitem.js | failureTitle": { "message": "Элементы списков определений не расположены внутри элементов `<dl>`" }, "core/audits/accessibility/dlitem.js | title": { "message": "Элементы списков определений расположены внутри элементов `<dl>`" }, "core/audits/accessibility/document-title.js | description": { "message": "Название (элемент title) нужно для того, чтобы программы чтения с экрана могли озвучивать название страницы. Также оно появляется в результатах поиска и позволяет определять, соответствует ли сайт запросу. Подробнее [о названиях документов](https://dequeuniversity.com/rules/axe/4.10/document-title)…" }, "core/audits/accessibility/document-title.js | failureTitle": { "message": "В документе нет элемента `<title>`" }, "core/audits/accessibility/document-title.js | title": { "message": "Документ содержит элемент `<title>`" }, "core/audits/accessibility/duplicate-id-aria.js | description": { "message": "Значение идентификатора ARIA должно быть уникальным, поскольку технологии специальных возможностей могут игнорировать повторяющиеся идентификаторы. Подробнее о том, [как убрать копии идентификаторов ARIA](https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria)…" }, "core/audits/accessibility/duplicate-id-aria.js | failureTitle": { "message": "Идентификаторы ARIA не уникальны" }, "core/audits/accessibility/duplicate-id-aria.js | title": { "message": "Идентификаторы ARIA уникальны" }, "core/audits/accessibility/empty-heading.js | description": { "message": "Если у заголовка нет содержимого или текст недоступен, пользователи программы чтения с экрана не могут получить информацию о структуре страницы. Подробнее [о заголовках](https://dequeuniversity.com/rules/axe/4.10/empty-heading)…" }, "core/audits/accessibility/empty-heading.js | failureTitle": { "message": "В элементах заголовка нет содержимого" }, "core/audits/accessibility/empty-heading.js | title": { "message": "Во всех элементах заголовка есть содержимое" }, "core/audits/accessibility/form-field-multiple-labels.js | description": { "message": "Когда программы чтения с экрана или другие технологии специальных возможностей обнаруживают поля формы с несколькими ярлыками, они озвучивают только первый, последний или все ярлыки. Это может запутать пользователей. Подробнее о том, [как использовать ярлыки формы](https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels)…" }, "core/audits/accessibility/form-field-multiple-labels.js | failureTitle": { "message": "В форме есть поля с несколькими ярлыками" }, "core/audits/accessibility/form-field-multiple-labels.js | title": { "message": "В форме нет полей с несколькими ярлыками" }, "core/audits/accessibility/frame-title.js | description": { "message": "Чтобы программы чтения с экрана могли описывать содержимое фреймов, у каждого из них должно быть название (атрибут title). Подробнее [о названиях фреймов](https://dequeuniversity.com/rules/axe/4.10/frame-title)…" }, "core/audits/accessibility/frame-title.js | failureTitle": { "message": "Для элементов `<frame>` или `<iframe>` не указан атрибут title" }, "core/audits/accessibility/frame-title.js | title": { "message": "У элементов `<frame>` и `<iframe>` есть атрибут title" }, "core/audits/accessibility/heading-order.js | description": { "message": "Когда заголовки расположены в правильном порядке и между их уровнями нет пропусков, они образуют семантическую структуру страницы. Благодаря этому навигация с помощью технологий специальных возможностей становится проще и понятнее. Подробнее [о расположении заголовков](https://dequeuniversity.com/rules/axe/4.10/heading-order)…" }, "core/audits/accessibility/heading-order.js | failureTitle": { "message": "Элементы заголовков не расположены последовательно в порядке убывания" }, "core/audits/accessibility/heading-order.js | title": { "message": "Элементы заголовков расположены последовательно в порядке убывания" }, "core/audits/accessibility/html-has-lang.js | description": { "message": "Если для страницы не указан атрибут `lang`, программа чтения с экрана предполагает, что текст приведен на языке по умолчанию, выбранном пользователем при установке программы. Если текст написан на другом языке, он может озвучиваться некорректно. Подробнее [об атрибуте `lang`](https://dequeuniversity.com/rules/axe/4.10/html-has-lang)…" }, "core/audits/accessibility/html-has-lang.js | failureTitle": { "message": "Для элемента `<html>` не задан атрибут `[lang]`" }, "core/audits/accessibility/html-has-lang.js | title": { "message": "Элемент `<html>` содержит атрибут `[lang]`" }, "core/audits/accessibility/html-lang-valid.js | description": { "message": "Чтобы программы чтения с экрана правильно озвучивали текст, укажите допустимый [языковой тег BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question). Подробнее о том, [как использовать атрибут `lang`](https://dequeuniversity.com/rules/axe/4.10/html-lang-valid)…" }, "core/audits/accessibility/html-lang-valid.js | failureTitle": { "message": "В элементе `<html>` нет действительного значения для атрибута `[lang]`" }, "core/audits/accessibility/html-lang-valid.js | title": { "message": "Для элемента `<html>` указано действительное значение атрибута `[lang]`" }, "core/audits/accessibility/html-xml-lang-mismatch.js | description": { "message": "Если для веб-страницы не указан подходящий язык, программа чтения с экрана может озвучивать текст некорректно. Подробнее [об атрибуте `lang`](https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch)…" }, "core/audits/accessibility/html-xml-lang-mismatch.js | failureTitle": { "message": "У элемента `<html>` нет атрибута `[xml:lang]`, основной язык которого совпадает с языком в атрибуте `[lang]`" }, "core/audits/accessibility/html-xml-lang-mismatch.js | title": { "message": "У элемента `<html>` есть атрибут `[xml:lang]`, основной язык которого совпадает с языком в атрибуте `[lang]`" }, "core/audits/accessibility/identical-links-same-purpose.js | description": { "message": "У ссылок с одним назначением должно быть одинаковое описание. Так пользователь поймет, куда они ведут, и решит, следует ли по ним переходить. Подробнее [об одинаковых ссылках](https://dequeuniversity.com/rules/axe/4.10/identical-links-same-purpose)…" }, "core/audits/accessibility/identical-links-same-purpose.js | failureTitle": { "message": "У одинаковых ссылок разное назначение" }, "core/audits/accessibility/identical-links-same-purpose.js | title": { "message": "У одинаковых ссылок одно назначение" }, "core/audits/accessibility/image-alt.js | description": { "message": "В информационных элементах должен содержаться короткий и ясный альтернативный текст. Если элемент декоративный, то атрибут alt для него можно оставить пустым. Подробнее [об атрибуте `alt`](https://dequeuniversity.com/rules/axe/4.10/image-alt)…" }, "core/audits/accessibility/image-alt.js | failureTitle": { "message": "Для элементов изображений не заданы атрибуты `[alt]`" }, "core/audits/accessibility/image-alt.js | title": { "message": "У элементов изображений есть атрибут `[alt]`" }, "core/audits/accessibility/image-redundant-alt.js | description": { "message": "В информационных элементах должен содержаться короткий и ясный альтернативный текст. Если он будет повторять текст рядом со ссылкой или изображением, то одна и та же фраза может прозвучать дважды, что собьет с толку пользователей программы чтения с экрана. Подробнее [об атрибуте `alt`](https://dequeuniversity.com/rules/axe/4.10/image-redundant-alt)…" }, "core/audits/accessibility/image-redundant-alt.js | failureTitle": { "message": "У изображений есть атрибуты `[alt]`, представляющие собой избыточный текст" }, "core/audits/accessibility/image-redundant-alt.js | title": { "message": "У изображений нет атрибутов `[alt]`, представляющих собой избыточный текст" }, "core/audits/accessibility/input-button-name.js | description": { "message": "Добавьте к кнопкам ввода легко различимый текст, чтобы пользователи программы чтения с экрана могли понимать их назначение. Подробнее [о кнопках ввода](https://dequeuniversity.com/rules/axe/4.10/input-button-name)…" }, "core/audits/accessibility/input-button-name.js | failureTitle": { "message": "Текст кнопок ввода плохо различим" }, "core/audits/accessibility/input-button-name.js | title": { "message": "Текст кнопок ввода легко различим" }, "core/audits/accessibility/input-image-alt.js | description": { "message": "Если в элементе `<input>` в качестве кнопки используется изображение, добавьте альтернативный текст, описывающий назначение этой кнопки для программ чтения с экрана. Подробнее [об альтернативном тексте для изображения в элементе ввода](https://dequeuniversity.com/rules/axe/4.10/input-image-alt)…" }, "core/audits/accessibility/input-image-alt.js | failureTitle": { "message": "Атрибут `[alt]` задан не для всех элементов `<input type=\"image\">`" }, "core/audits/accessibility/input-image-alt.js | title": { "message": "Элементы `<input type=\"image\">` содержат атрибут `[alt]`" }, "core/audits/accessibility/label-content-name-mismatch.js | description": { "message": "Видимые текстовые метки, которые не совпадают с доступными названиями, могут запутать пользователей программ чтения с экрана. Подробнее [о доступных названиях](https://dequeuniversity.com/rules/axe/4.10/label-content-name-mismatch)…" }, "core/audits/accessibility/label-content-name-mismatch.js | failureTitle": { "message": "У элементов с видимыми текстовыми метками нет подходящих доступных названий" }, "core/audits/accessibility/label-content-name-mismatch.js | title": { "message": "У элементов с видимыми текстовыми метками есть подходящие доступные названия" }, "core/audits/accessibility/label.js | description": { "message": "Ярлыки нужны для того, чтобы программы чтения с экрана и другие технологии специальных возможностей могли правильно озвучивать элементы управления формой. Подробнее [о ярлыках для элементов формы](https://dequeuniversity.com/rules/axe/4.10/label)…" }, "core/audits/accessibility/label.js | failureTitle": { "message": "Элементам формы не присвоены соответствующие ярлыки" }, "core/audits/accessibility/label.js | title": { "message": "Элементам формы присвоены соответствующие ярлыки" }, "core/audits/accessibility/landmark-one-main.js | description": { "message": "Если добавить ориентир main, пользователям программы чтения с экрана будет удобнее перемещаться по веб-странице. Подробнее [об ориентирах](https://dequeuniversity.com/rules/axe/4.10/landmark-one-main)…" }, "core/audits/accessibility/landmark-one-main.js | failureTitle": { "message": "В документе нет ориентира main" }, "core/audits/accessibility/landmark-one-main.js | title": { "message": "В документе есть ориентир main" }, "core/audits/accessibility/link-in-text-block.js | description": { "message": "Многие пользователи не видят текст с низкой контрастностью, или им сложно его воспринимать. Хорошо различимый текст ссылки облегчает работу людям со слабым зрением. Подробнее о том, [как сделать ссылку хорошо различимой](https://dequeuniversity.com/rules/axe/4.10/link-in-text-block)…" }, "core/audits/accessibility/link-in-text-block.js | failureTitle": { "message": "Ссылки нельзя различить, не опираясь на цвет" }, "core/audits/accessibility/link-in-text-block.js | title": { "message": "Ссылки можно различить, не опираясь на цвет" }, "core/audits/accessibility/link-name.js | description": { "message": "Текст ссылок (как и альтернативный текст для изображений, используемых в качестве ссылок) должен быть уникальным, фокусируемым и доступным для программ чтения с экрана. Подробнее о том, [как сделать ссылки доступными для программ с технологиями специальных возможностей](https://dequeuniversity.com/rules/axe/4.10/link-name)…" }, "core/audits/accessibility/link-name.js | failureTitle": { "message": "Текст ссылок неразличим для программ чтения с экрана" }, "core/audits/accessibility/link-name.js | title": { "message": "Текст ссылок различим для программ чтения с экрана" }, "core/audits/accessibility/list.js | description": { "message": "Используйте правильную структуру кода при верстке списков, иначе программы чтения с экрана будут некорректно их озвучивать. Подробнее [о правильной структуре списков](https://dequeuniversity.com/rules/axe/4.10/list)…" }, "core/audits/accessibility/list.js | failureTitle": { "message": "В списках содержатся другие элементы, помимо элементов `<li>` и элементов поддержки скрипта (`<script>` и `<template>`)" }, "core/audits/accessibility/list.js | title": { "message": "В списках содержатся только элементы `<li>` и элементы поддержки скрипта (`<script>` и `<template>`)" }, "core/audits/accessibility/listitem.js | description": { "message": "Чтобы программы чтения с экрана правильно озвучивали списки, элементы `<li>` должны располагаться внутри родительских элементов `<ul>`, `<ol>` или `<menu>`. Подробнее [о правильной структуре списков](https://dequeuniversity.com/rules/axe/4.10/listitem)…" }, "core/audits/accessibility/listitem.js | failureTitle": { "message": "Элементы списка (`<li>`) не содержатся в родительских элементах `<ul>`, `<ol>` или `<menu>`" }, "core/audits/accessibility/listitem.js | title": { "message": "Элементы списка (`<li>`) расположены внутри родительских элементов `<ul>`, `<ol>` или `<menu>`" }, "core/audits/accessibility/meta-refresh.js | description": { "message": "Когда страница обновляется автоматически, фокус, используемый программами для чтения с экрана, перемещается в верхнюю часть. Это может мешать работе пользователей и вызывать у них негативные эмоции. Подробнее [о метатеге refresh](https://dequeuniversity.com/rules/axe/4.10/meta-refresh)…" }, "core/audits/accessibility/meta-refresh.js | failureTitle": { "message": "В документе используется метатег `<meta http-equiv=\"refresh\">`" }, "core/audits/accessibility/meta-refresh.js | title": { "message": "В документе не используется метатег `<meta http-equiv=\"refresh\">`" }, "core/audits/accessibility/meta-viewport.js | description": { "message": "Не отключайте масштабирование. Эта функция помогает слабовидящим пользователям читать информацию на веб-страницах. Подробнее [о метатеге viewport](https://dequeuniversity.com/rules/axe/4.10/meta-viewport)…" }, "core/audits/accessibility/meta-viewport.js | failureTitle": { "message": "Атрибут `[user-scalable=\"no\"]` используется в элементе `<meta name=\"viewport\">` или значение атрибута `[maximum-scale]` меньше 5" }, "core/audits/accessibility/meta-viewport.js | title": { "message": "Атрибут `[user-scalable=\"no\"]` не используется в элементе `<meta name=\"viewport\">`, и значение атрибута `[maximum-scale]` больше или равно 5" }, "core/audits/accessibility/object-alt.js | description": { "message": "Чтобы программы чтения с экрана могли зачитывать содержимое элементов `<object>`, добавьте к ним альтернативный текст. Подробнее [об альтернативном тексте для элементов `object`](https://dequeuniversity.com/rules/axe/4.10/object-alt)…" }, "core/audits/accessibility/object-alt.js | failureTitle": { "message": "У элементов `<object>` нет альтернативного текста" }, "core/audits/accessibility/object-alt.js | title": { "message": "У элементов `<object>` есть альтернативный текст" }, "core/audits/accessibility/select-name.js | description": { "message": "Элементы формы без эффективных меток могут доставить неудобства пользователям программы чтения с экрана. Подробнее [об элементе `select`](https://dequeuniversity.com/rules/axe/4.10/select-name)…" }, "core/audits/accessibility/select-name.js | failureTitle": { "message": "У элементов select нет связанных элементов label" }, "core/audits/accessibility/select-name.js | title": { "message": "У элементов select есть связанные элементы label" }, "core/audits/accessibility/skip-link.js | description": { "message": "Добавьте ссылку для пропуска контента, чтобы пользователи могли сразу перейти к основному контенту. [Подробнее…](https://dequeuniversity.com/rules/axe/4.10/skip-link)" }, "core/audits/accessibility/skip-link.js | failureTitle": { "message": "Ссылки для пропуска контента нефокусируемые" }, "core/audits/accessibility/skip-link.js | title": { "message": "Ссылки для пропуска контента фокусируемые" }, "core/audits/accessibility/tabindex.js | description": { "message": "Значение больше 0 подразумевает явное указание порядка навигации. Это может создавать трудности для пользователей с ограниченными возможностями. Подробнее [об атрибуте `tabindex`](https://dequeuniversity.com/rules/axe/4.10/tabindex)…" }, "core/audits/accessibility/tabindex.js | failureTitle": { "message": "Для некоторых элементов значение `[tabindex]` больше 0" }, "core/audits/accessibility/tabindex.js | title": { "message": "Нет элементов со значением атрибута `[tabindex]` выше 0" }, "core/audits/accessibility/table-duplicate-name.js | description": { "message": "Атрибут summary должен описывать структуру таблицы, а в элементе `<caption>` требуется указать экранный заголовок. Точная разметка таблиц упрощает работу пользователей программ чтения с экрана. Подробнее [об атрибуте summary и элементе caption](https://dequeuniversity.com/rules/axe/4.10/table-duplicate-name)…" }, "core/audits/accessibility/table-duplicate-name.js | failureTitle": { "message": "В таблицах для атрибута summary и элемента`<caption>.` указаны одинаковые значения" }, "core/audits/accessibility/table-duplicate-name.js | title": { "message": "В таблицах указаны разные значения для атрибута summary и элемента `<caption>`" }, "core/audits/accessibility/table-fake-caption.js | description": { "message": "Чтобы пользователям было проще перемещаться по таблицам с помощью программ чтения с экрана, не используйте в таблицах ячейки с атрибутом `[colspan]` для обозначения подписей. Подробнее [о подписях](https://dequeuniversity.com/rules/axe/4.10/table-fake-caption)…" }, "core/audits/accessibility/table-fake-caption.js | failureTitle": { "message": "Для обозначения подписей в таблицах не используется элемент `<caption>` вместо ячеек с атрибутом `[colspan]`" }, "core/audits/accessibility/table-fake-caption.js | title": { "message": "Для обозначения подписей в таблицах используется элемент `<caption>` вместо ячеек с атрибутом `[colspan]`" }, "core/audits/accessibility/target-size.js | description": { "message": "Области прикосновения должны быть достаточно большими, как и расстояние между ними. Так пользователям, у которых могут возникнуть трудности с нажатием на небольшие элементы управления, будет проще выбрать нужный. Подробнее [об областях прикосновения](https://dequeuniversity.com/rules/axe/4.10/target-size)…" }, "core/audits/accessibility/target-size.js | failureTitle": { "message": "Области прикосновения и расстояние между ними недостаточно большие" }, "core/audits/accessibility/target-size.js | title": { "message": "Области прикосновения и расстояние между ними достаточно большие" }, "core/audits/accessibility/td-has-header.js | description": { "message": "Чтобы пользователям было проще перемещаться по таблицам с помощью программ чтения с экрана, рекомендуем добавлять заголовки для элементов `<td>` в больших таблицах (состоящих из трех или более ячеек в высоту и ширину). Подробнее [о заголовках таблиц](https://dequeuniversity.com/rules/axe/4.10/td-has-header)…" }, "core/audits/accessibility/td-has-header.js | failureTitle": { "message": "У элементов `<td>` нет заголовков в большой таблице `<table>`" }, "core/audits/accessibility/td-has-header.js | title": { "message": "У элементов `<td>` есть один или несколько заголовков в большой таблице `<table>`" }, "core/audits/accessibility/td-headers-attr.js | description": { "message": "Чтобы пользователям было проще перемещаться по таблицам с помощью программ чтения с экрана, убедитесь, что ячейки (элементы `<td>`) с атрибутом `[headers]` ссылаются только на другие ячейки в той же таблице. Подробнее [об атрибуте `headers`](https://dequeuniversity.com/rules/axe/4.10/td-headers-attr)…" }, "core/audits/accessibility/td-headers-attr.js | failureTitle": { "message": "Ячейки внутри элемента `<table>`, в которых используется атрибут `[headers]`, ссылаются на элемент `id`, не найденный внутри той же таблицы." }, "core/audits/accessibility/td-headers-attr.js | title": { "message": "Ячейки внутри элемента `<table>`, в которых используется атрибут `[headers]`, ссылаются на ячейки той же таблицы." }, "core/audits/accessibility/th-has-data-cells.js | description": { "message": "Чтобы пользователям было проще перемещаться по таблицам с помощью программ чтения с экрана, убедитесь, что все заголовки в таблицах ссылаются на тот или иной набор ячеек. Подробнее [о заголовках таблиц](https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells)…" }, "core/audits/accessibility/th-has-data-cells.js | failureTitle": { "message": "В элементах `<th>` и элементах с атрибутом `[role=\"columnheader\"/\"rowheader\"]` нет описываемых ими ячеек с данными" }, "core/audits/accessibility/th-has-data-cells.js | title": { "message": "В элементах `<th>` и элементах с атрибутом `[role=\"columnheader\"/\"rowheader\"]` есть описываемые ими ячейки с данными" }, "core/audits/accessibility/valid-lang.js | description": { "message": "Чтобы программы чтения с экрана правильно озвучивали текст, укажите для элементов допустимый [языковой тег BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question). Подробнее о том, [как использовать атрибут `lang`](https://dequeuniversity.com/rules/axe/4.10/valid-lang)…" }, "core/audits/accessibility/valid-lang.js | failureTitle": { "message": "Присутствуют недействительные значения атрибутов `[lang]`" }, "core/audits/accessibility/valid-lang.js | title": { "message": "Недействительные значения атрибутов `[lang]` отсутствуют" }, "core/audits/accessibility/video-caption.js | description": { "message": "Чтобы информация, озвучиваемая в видео, была доступна людям с нарушениями слуха, добавьте субтитры. Подробнее [о субтитрах в видео](https://dequeuniversity.com/rules/axe/4.10/video-caption)…" }, "core/audits/accessibility/video-caption.js | failureTitle": { "message": "Элементы `<video>` не содержат элемент `<track>` с атрибутом `[kind=\"captions\"]`" }, "core/audits/accessibility/video-caption.js | title": { "message": "Элементы `<video>` содержат элемент `<track>` с атрибутом `[kind=\"captions\"]`" }, "core/audits/autocomplete.js | columnCurrent": { "message": "Текущее значение" }, "core/audits/autocomplete.js | columnSuggestions": { "message": "Предлагаемый токен" }, "core/audits/autocomplete.js | description": { "message": "Атрибут `autocomplete` помогает пользователям отправлять формы быстрее. Чтобы упростить процесс, включите автозаполнение, задав атрибуту `autocomplete` допустимое значение. Подробнее [об атрибуте `autocomplete` в формах](https://developers.google.com/web/fundamentals/design-and-ux/input/forms#use_metadata_to_enable_auto-complete)…" }, "core/audits/autocomplete.js | failureTitle": { "message": "`<input>` – для элементов не заданы верные атрибуты `autocomplete`" }, "core/audits/autocomplete.js | manualReview": { "message": "Требуется проверка вручную" }, "core/audits/autocomplete.js | reviewOrder": { "message": "Проверьте порядок токенов" }, "core/audits/autocomplete.js | title": { "message": "Элементы `<input>` верно используют атрибут `autocomplete`" }, "core/audits/autocomplete.js | warningInvalid": { "message": "Недопустимый токен `autocomplete` \"{token}\" в выражении {snippet}." }, "core/audits/autocomplete.js | warningOrder": { "message": "Проверьте порядок токенов: \"{tokens}\" в выражении {snippet}" }, "core/audits/bf-cache.js | actionableFailureType": { "message": "Есть доступные действия" }, "core/audits/bf-cache.js | description": { "message": "Пользователи часто возвращаются на предыдущую страницу и снова открывают исходную. Применение возвратного кеша помогает ускорить эти переходы. Подробнее [о возвратном кеше](https://developer.chrome.com/docs/lighthouse/performance/bf-cache/)…" }, "core/audits/bf-cache.js | displayValue": { "message": "{itemCount,plural, =1{1 причина ошибки}one{# причина ошибки}few{# причины ошибки}many{# причин ошибки}other{# причины ошибки}}" }, "core/audits/bf-cache.js | failureReasonColumn": { "message": "Причина ошибки" }, "core/audits/bf-cache.js | failureTitle": { "message": "На странице предотвращено восстановление из возвратного кеша" }, "core/audits/bf-cache.js | failureTypeColumn": { "message": "Тип ошибки" }, "core/audits/bf-cache.js | notActionableFailureType": { "message": "Нет доступных действий" }, "core/audits/bf-cache.js | supportPendingFailureType": { "message": "Поддержка браузера планируется" }, "core/audits/bf-cache.js | title": { "message": "На странице разрешено восстановление из возвратного кеша" }, "core/audits/bf-cache.js | warningHeadless": { "message": "В старой версии Headless Chrome (`--chrome-flags=\"--headless=old\"`) невозможно проверить возвратный кеш. Чтобы посмотреть результаты, используйте новую версию Headless Chrome (`--chrome-flags=\"--headless=new\"`) или стандартный браузер Chrome." }, "core/audits/bootup-time.js | chromeExtensionsWarning": { "message": "Расширения Chrome замедляют загрузку этой страницы. Попробуйте использовать режим инкогнито или профиль Chrome без расширений." }, "core/audits/bootup-time.js | columnScriptEval": { "message": "Время оценки скриптов" }, "core/audits/bootup-time.js | columnScriptParse": { "message": "Время анализа скриптов" }, "core/audits/bootup-time.js | columnTotal": { "message": "Общее процессорное время" }, "core/audits/bootup-time.js | description": { "message": "Рекомендуем сократить время на обработку, компиляцию и выполнение скриптов JS. Для этого вы можете разбить код JS на небольшие фрагменты. Подробнее о том, [как ускорить выполнение скриптов JavaScript](https://developer.chrome.com/docs/lighthouse/performance/bootup-time/)…" }, "core/audits/bootup-time.js | failureTitle": { "message": "Сократите время выполнения кода JavaScript" }, "core/audits/bootup-time.js | title": { "message": "Время выполнения кода JavaScript" }, "core/audits/byte-efficiency/duplicated-javascript.js | description": { "message": "Чтобы сократить расход трафика, удалите из пакетов большие повторяющиеся модули JavaScript. " }, "core/audits/byte-efficiency/duplicated-javascript.js | title": { "message": "Удалите повторяющиеся модули из пакетов JavaScript" }, "core/audits/byte-efficiency/efficient-animated-content.js | description": { "message": "Анимированный контент неэффективно загружать в виде больших GIF-файлов. Чтобы экономить сетевой трафик для пользователей, используйте видеоформаты MPEG4 и WebM для анимированного контента и графические форматы PNG и WebP – для статического. Подробнее [об эффективных форматах видео](https://developer.chrome.com/docs/lighthouse/performance/efficient-animated-content/)…" }, "core/audits/byte-efficiency/efficient-animated-content.js | title": { "message": "Используйте видеоформаты для анимированного контента" }, "core/audits/byte-efficiency/legacy-javascript.js | description": { "message": "Полифилы и преобразования позволяют работать с новыми возможностями JavaScript в устаревших браузерах. Однако для современных браузеров большинство из них не требуется. Если вам не нужно поддерживать устаревшие браузеры, возможно, стоит изменить процесс сборки JavaScript, чтобы не транспилировать [базовые](https://web.dev/baseline) функции. Подробнее о том, [почему большинство сайтов могут использовать код ES6+ без транспилирования](https://philipwalton.com/articles/the-state-of-es5-on-the-web/)…" }, "core/audits/byte-efficiency/legacy-javascript.js | detectedCoreJs2Warning": { "message": "На странице была обнаружена библиотека core-js версии 2. Для улучшения производительности обновите ее до версии 3." }, "core/audits/byte-efficiency/legacy-javascript.js | title": { "message": "Не отправляйте устаревший код JavaScript в современные браузеры" }, "core/audits/byte-efficiency/modern-image-formats.js | description": { "message": "Форматы WebP и AVIF обеспечивают более эффективное сжатие по сравнению с PNG или JPEG, поэтому такие изображения загружаются быстрее и потребляют меньше трафика. Подробнее [о современных графических форматах](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/)…" }, "core/audits/byte-efficiency/modern-image-formats.js | title": { "message": "Используйте современные форматы изображений" }, "core/audits/byte-efficiency/offscreen-images.js | description": { "message": "Чтобы уменьшить время загрузки для взаимодействия, рекомендуем настроить отложенную загрузку скрытых изображений. Тогда основные ресурсы сайта будут загружаться в первую очередь. Подробнее о том, [как отложить загрузку скрытых изображений](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/)…" }, "core/audits/byte-efficiency/offscreen-images.js | title": { "message": "Отложите загрузку скрытых изображений" }, "core/audits/byte-efficiency/render-blocking-resources.js | description": { "message": "Некоторые ресурсы блокируют первую отрисовку страницы. Рекомендуем встроить критическую часть данных JS и CSS в код страницы и отложить загрузку всех второстепенных ресурсов. Подробнее о том, [как устранить ресурсы, блокирующие отрисовку](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/)…" }, "core/audits/byte-efficiency/render-blocking-resources.js | title": { "message": "Устраните ресурсы, блокирующие отображение" }, "core/audits/byte-efficiency/total-byte-weight.js | description": { "message": "Чрезмерная полезная нагрузка на сеть приводит к финансовым затратам пользователей и может замедлять время загрузки контента. Подробнее о том, [как сократить объем полезной нагрузки](https://developer.chrome.com/docs/lighthouse/performance/total-byte-weight/)…" }, "core/audits/byte-efficiency/total-byte-weight.js | displayValue": { "message": "Общий размер достиг {totalBytes, number, bytes} КиБ" }, "core/audits/byte-efficiency/total-byte-weight.js | failureTitle": { "message": "Предотвратите чрезмерную нагрузку на сеть" }, "core/audits/byte-efficiency/total-byte-weight.js | title": { "message": "Предотвращение чрезмерной нагрузки на сеть" }, "core/audits/byte-efficiency/unminified-css.js | description": { "message": "Уменьшив файлы CSS, вы можете сократить объем полезной сетевой нагрузки. Подробнее о том, [как уменьшить файл CSS](https://developer.