{
  "reportSchema": "kitstudio-quality-report/v1",
  "runId": "4d897154-3cf6-4151-8280-68a65aee1484",
  "toolVersion": "0.1.0",
  "environment": {
    "node": "v26.7.0",
    "platform": "darwin",
    "arch": "arm64",
    "playwright": "1.61.1",
    "browser": "149.0.7827.55",
    "reducedMotion": "reduce",
    "network": "archive-only"
  },
  "startedAt": "2026-09-08T13:40:49.704Z",
  "finishedAt": "2026-09-08T13:40:50.150Z",
  "viewports": [
    375,
    768,
    1440
  ],
  "source": {
    "label": "10-keyboard-focus",
    "inputHash": "f418464fd26baa7053df30754a119dd8eb2d81ae3b4987f6496ff991b931efcb",
    "packageHash": "32b686f33214f15670a54a133c2324c39e4b65eeab4d92e7498fab556bc2a400",
    "revision": 24,
    "sourceKind": "saved-snapshot",
    "documentSha256": "f8b49a3bbe241be28c64930670f0802c35c815ce72a2204b491cc67f377bbd63",
    "rendererVersion": "control-1",
    "pages": [
      {
        "id": "home",
        "name": "Главная",
        "slug": "/",
        "file": "index.html"
      },
      {
        "id": "about",
        "name": "Команда",
        "slug": "/about",
        "file": "about/index.html"
      }
    ],
    "bytes": 2853
  },
  "integrity": [
    {
      "id": "input.manifest",
      "status": "pass",
      "detail": "Manifest и каждый файл проверены по SHA-256"
    },
    {
      "id": "input.unchanged",
      "status": "pass",
      "detail": "Входные файлы после проверки совпадают с исходным снимком",
      "before": "f418464fd26baa7053df30754a119dd8eb2d81ae3b4987f6496ff991b931efcb",
      "after": "f418464fd26baa7053df30754a119dd8eb2d81ae3b4987f6496ff991b931efcb"
    }
  ],
  "checks": [
    {
      "ruleId": "page.load",
      "title": "Страница открывается",
      "severity": "error",
      "status": "pass",
      "detail": "HTML открыт с HTTP 200",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 375,
      "screenshot": "screenshots/page-1-375.png"
    },
    {
      "ruleId": "layout.viewport",
      "title": "Нет горизонтального переполнения",
      "severity": "error",
      "status": "pass",
      "detail": "Ширина документа 375px, экран 375px",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 375,
      "screenshot": "screenshots/page-1-375.png"
    },
    {
      "ruleId": "layout.text",
      "title": "Текст не обрезан",
      "severity": "warning",
      "status": "pass",
      "detail": "Границы текста сверены с контейнерами overflow:hidden/clip; усечение может быть намеренным",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 375,
      "screenshot": "screenshots/page-1-375.png"
    },
    {
      "ruleId": "media.images",
      "title": "Изображения загружаются",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Проверены complete и naturalWidth видимых изображений",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 375,
      "screenshot": "screenshots/page-1-375.png"
    },
    {
      "ruleId": "a11y.alt",
      "title": "Смысловые изображения имеют описание",
      "severity": "warning",
      "status": "not_applicable",
      "detail": "Проверено наличие alt; пустой alt допустим для декоративного изображения. Смысл описания оценивается вручную",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 375,
      "screenshot": "screenshots/page-1-375.png"
    },
    {
      "ruleId": "a11y.names",
      "title": "Элементы управления имеют имя",
      "severity": "error",
      "status": "pass",
      "detail": "Имя из aria-label/label/текста/alt/title; полный accessibility audit выполняется отдельно",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 375,
      "screenshot": "screenshots/page-1-375.png"
    },
    {
      "ruleId": "forms.delivery",
      "title": "Отправка формы проверена",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Формы не отправляются: нужен отдельный тестовый получатель",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 375,
      "screenshot": "screenshots/page-1-375.png"
    },
    {
      "ruleId": "links.internal",
      "title": "Внутренние ссылки и якоря",
      "severity": "error",
      "status": "pass",
      "detail": "Пути и якоря видимых ссылок проверены в архиве",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 375,
      "screenshot": "screenshots/page-1-375.png"
    },
    {
      "ruleId": "links.external",
      "title": "Внешние ссылки",
      "severity": "warning",
      "status": "not_applicable",
      "detail": "Внешние ссылки не запрашиваются",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 375,
      "screenshot": "screenshots/page-1-375.png"
    },
    {
      "ruleId": "media.video",
      "title": "Видео декодируется и воспроизводится",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Проверяем декодирование и изменение времени воспроизведения без звука",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 375,
      "screenshot": "screenshots/page-1-375.png"
    },
    {
      "ruleId": "a11y.keyboard",
      "title": "Элементы доступны с клавиатуры",
      "severity": "error",
      "status": "fail",
      "detail": "Tab проходит видимые элементы; сложные составные виджеты требуют отдельной проверки",
      "findings": [
        {
          "tag": "button",
          "id": "excluded",
          "text": "Недоступно через Tab",
          "rect": {
            "x": 24,
            "y": 105.265625,
            "width": 223.515625,
            "height": 52.796875,
            "top": 105.265625,
            "right": 247.515625,
            "bottom": 158.0625,
            "left": 24
          },
          "index": 0,
          "tabIndex": -1
        }
      ],
      "page": "index.html",
      "pageName": "Главная",
      "width": 375,
      "screenshot": "screenshots/page-1-375.png"
    },
    {
      "ruleId": "a11y.focus",
      "title": "Виден фокус клавиатуры",
      "severity": "warning",
      "status": "unknown",
      "detail": "Ищем outline/box-shadow при Tab; другой способ выделения требует ручной проверки",
      "findings": [
        {
          "index": 1,
          "tag": "a",
          "id": "nofocus",
          "text": "Без видимого фокуса",
          "outline": false,
          "shadow": false
        }
      ],
      "page": "index.html",
      "pageName": "Главная",
      "width": 375,
      "screenshot": "screenshots/page-1-375.png"
    },
    {
      "ruleId": "page.runtime",
      "title": "Нет ошибок JavaScript",
      "severity": "error",
      "status": "pass",
      "detail": "Ошибки JavaScript за время проверки",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 375,
      "screenshot": "screenshots/page-1-375.png"
    },
    {
      "ruleId": "network.scope",
      "title": "Загрузка ресурсов в пределах архива",
      "severity": "warning",
      "status": "pass",
      "detail": "Запросы вне архива и запись в сеть блокируются",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 375,
      "screenshot": "screenshots/page-1-375.png"
    },
    {
      "ruleId": "page.load",
      "title": "Страница открывается",
      "severity": "error",
      "status": "pass",
      "detail": "HTML открыт с HTTP 200",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 768,
      "screenshot": "screenshots/page-1-768.png"
    },
    {
      "ruleId": "layout.viewport",
      "title": "Нет горизонтального переполнения",
      "severity": "error",
      "status": "pass",
      "detail": "Ширина документа 768px, экран 768px",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 768,
      "screenshot": "screenshots/page-1-768.png"
    },
    {
      "ruleId": "layout.text",
      "title": "Текст не обрезан",
      "severity": "warning",
      "status": "pass",
      "detail": "Границы текста сверены с контейнерами overflow:hidden/clip; усечение может быть намеренным",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 768,
      "screenshot": "screenshots/page-1-768.png"
    },
    {
      "ruleId": "media.images",
      "title": "Изображения загружаются",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Проверены complete и naturalWidth видимых изображений",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 768,
      "screenshot": "screenshots/page-1-768.png"
    },
    {
      "ruleId": "a11y.alt",
      "title": "Смысловые изображения имеют описание",
      "severity": "warning",
      "status": "not_applicable",
      "detail": "Проверено наличие alt; пустой alt допустим для декоративного изображения. Смысл описания оценивается вручную",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 768,
      "screenshot": "screenshots/page-1-768.png"
    },
    {
      "ruleId": "a11y.names",
      "title": "Элементы управления имеют имя",
      "severity": "error",
      "status": "pass",
      "detail": "Имя из aria-label/label/текста/alt/title; полный accessibility audit выполняется отдельно",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 768,
      "screenshot": "screenshots/page-1-768.png"
    },
    {
      "ruleId": "forms.delivery",
      "title": "Отправка формы проверена",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Формы не отправляются: нужен отдельный тестовый получатель",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 768,
      "screenshot": "screenshots/page-1-768.png"
    },
    {
      "ruleId": "links.internal",
      "title": "Внутренние ссылки и якоря",
      "severity": "error",
      "status": "pass",
      "detail": "Пути и якоря видимых ссылок проверены в архиве",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 768,
      "screenshot": "screenshots/page-1-768.png"
    },
    {
      "ruleId": "links.external",
      "title": "Внешние ссылки",
      "severity": "warning",
      "status": "not_applicable",
      "detail": "Внешние ссылки не запрашиваются",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 768,
      "screenshot": "screenshots/page-1-768.png"
    },
    {
      "ruleId": "media.video",
      "title": "Видео декодируется и воспроизводится",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Проверяем декодирование и изменение времени воспроизведения без звука",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 768,
      "screenshot": "screenshots/page-1-768.png"
    },
    {
      "ruleId": "a11y.keyboard",
      "title": "Элементы доступны с клавиатуры",
      "severity": "error",
      "status": "fail",
      "detail": "Tab проходит видимые элементы; сложные составные виджеты требуют отдельной проверки",
      "findings": [
        {
          "tag": "button",
          "id": "excluded",
          "text": "Недоступно через Tab",
          "rect": {
            "x": 24,
            "y": 105.265625,
            "width": 223.515625,
            "height": 52.796875,
            "top": 105.265625,
            "right": 247.515625,
            "bottom": 158.0625,
            "left": 24
          },
          "index": 0,
          "tabIndex": -1
        }
      ],
      "page": "index.html",
      "pageName": "Главная",
      "width": 768,
      "screenshot": "screenshots/page-1-768.png"
    },
    {
      "ruleId": "a11y.focus",
      "title": "Виден фокус клавиатуры",
      "severity": "warning",
      "status": "unknown",
      "detail": "Ищем outline/box-shadow при Tab; другой способ выделения требует ручной проверки",
      "findings": [
        {
          "index": 1,
          "tag": "a",
          "id": "nofocus",
          "text": "Без видимого фокуса",
          "outline": false,
          "shadow": false
        }
      ],
      "page": "index.html",
      "pageName": "Главная",
      "width": 768,
      "screenshot": "screenshots/page-1-768.png"
    },
    {
      "ruleId": "page.runtime",
      "title": "Нет ошибок JavaScript",
      "severity": "error",
      "status": "pass",
      "detail": "Ошибки JavaScript за время проверки",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 768,
      "screenshot": "screenshots/page-1-768.png"
    },
    {
      "ruleId": "network.scope",
      "title": "Загрузка ресурсов в пределах архива",
      "severity": "warning",
      "status": "pass",
      "detail": "Запросы вне архива и запись в сеть блокируются",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 768,
      "screenshot": "screenshots/page-1-768.png"
    },
    {
      "ruleId": "page.load",
      "title": "Страница открывается",
      "severity": "error",
      "status": "pass",
      "detail": "HTML открыт с HTTP 200",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 1440,
      "screenshot": "screenshots/page-1-1440.png"
    },
    {
      "ruleId": "layout.viewport",
      "title": "Нет горизонтального переполнения",
      "severity": "error",
      "status": "pass",
      "detail": "Ширина документа 1440px, экран 1440px",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 1440,
      "screenshot": "screenshots/page-1-1440.png"
    },
    {
      "ruleId": "layout.text",
      "title": "Текст не обрезан",
      "severity": "warning",
      "status": "pass",
      "detail": "Границы текста сверены с контейнерами overflow:hidden/clip; усечение может быть намеренным",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 1440,
      "screenshot": "screenshots/page-1-1440.png"
    },
    {
      "ruleId": "media.images",
      "title": "Изображения загружаются",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Проверены complete и naturalWidth видимых изображений",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 1440,
      "screenshot": "screenshots/page-1-1440.png"
    },
    {
      "ruleId": "a11y.alt",
      "title": "Смысловые изображения имеют описание",
      "severity": "warning",
      "status": "not_applicable",
      "detail": "Проверено наличие alt; пустой alt допустим для декоративного изображения. Смысл описания оценивается вручную",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 1440,
      "screenshot": "screenshots/page-1-1440.png"
    },
    {
      "ruleId": "a11y.names",
      "title": "Элементы управления имеют имя",
      "severity": "error",
      "status": "pass",
      "detail": "Имя из aria-label/label/текста/alt/title; полный accessibility audit выполняется отдельно",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 1440,
      "screenshot": "screenshots/page-1-1440.png"
    },
    {
      "ruleId": "forms.delivery",
      "title": "Отправка формы проверена",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Формы не отправляются: нужен отдельный тестовый получатель",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 1440,
      "screenshot": "screenshots/page-1-1440.png"
    },
    {
      "ruleId": "links.internal",
      "title": "Внутренние ссылки и якоря",
      "severity": "error",
      "status": "pass",
      "detail": "Пути и якоря видимых ссылок проверены в архиве",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 1440,
      "screenshot": "screenshots/page-1-1440.png"
    },
    {
      "ruleId": "links.external",
      "title": "Внешние ссылки",
      "severity": "warning",
      "status": "not_applicable",
      "detail": "Внешние ссылки не запрашиваются",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 1440,
      "screenshot": "screenshots/page-1-1440.png"
    },
    {
      "ruleId": "media.video",
      "title": "Видео декодируется и воспроизводится",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Проверяем декодирование и изменение времени воспроизведения без звука",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 1440,
      "screenshot": "screenshots/page-1-1440.png"
    },
    {
      "ruleId": "a11y.keyboard",
      "title": "Элементы доступны с клавиатуры",
      "severity": "error",
      "status": "fail",
      "detail": "Tab проходит видимые элементы; сложные составные виджеты требуют отдельной проверки",
      "findings": [
        {
          "tag": "button",
          "id": "excluded",
          "text": "Недоступно через Tab",
          "rect": {
            "x": 294,
            "y": 105.265625,
            "width": 223.515625,
            "height": 52.796875,
            "top": 105.265625,
            "right": 517.515625,
            "bottom": 158.0625,
            "left": 294
          },
          "index": 0,
          "tabIndex": -1
        }
      ],
      "page": "index.html",
      "pageName": "Главная",
      "width": 1440,
      "screenshot": "screenshots/page-1-1440.png"
    },
    {
      "ruleId": "a11y.focus",
      "title": "Виден фокус клавиатуры",
      "severity": "warning",
      "status": "unknown",
      "detail": "Ищем outline/box-shadow при Tab; другой способ выделения требует ручной проверки",
      "findings": [
        {
          "index": 1,
          "tag": "a",
          "id": "nofocus",
          "text": "Без видимого фокуса",
          "outline": false,
          "shadow": false
        }
      ],
      "page": "index.html",
      "pageName": "Главная",
      "width": 1440,
      "screenshot": "screenshots/page-1-1440.png"
    },
    {
      "ruleId": "page.runtime",
      "title": "Нет ошибок JavaScript",
      "severity": "error",
      "status": "pass",
      "detail": "Ошибки JavaScript за время проверки",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 1440,
      "screenshot": "screenshots/page-1-1440.png"
    },
    {
      "ruleId": "network.scope",
      "title": "Загрузка ресурсов в пределах архива",
      "severity": "warning",
      "status": "pass",
      "detail": "Запросы вне архива и запись в сеть блокируются",
      "findings": [],
      "page": "index.html",
      "pageName": "Главная",
      "width": 1440,
      "screenshot": "screenshots/page-1-1440.png"
    },
    {
      "ruleId": "page.load",
      "title": "Страница открывается",
      "severity": "error",
      "status": "pass",
      "detail": "HTML открыт с HTTP 200",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 375,
      "screenshot": "screenshots/page-2-375.png"
    },
    {
      "ruleId": "layout.viewport",
      "title": "Нет горизонтального переполнения",
      "severity": "error",
      "status": "pass",
      "detail": "Ширина документа 375px, экран 375px",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 375,
      "screenshot": "screenshots/page-2-375.png"
    },
    {
      "ruleId": "layout.text",
      "title": "Текст не обрезан",
      "severity": "warning",
      "status": "pass",
      "detail": "Границы текста сверены с контейнерами overflow:hidden/clip; усечение может быть намеренным",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 375,
      "screenshot": "screenshots/page-2-375.png"
    },
    {
      "ruleId": "media.images",
      "title": "Изображения загружаются",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Проверены complete и naturalWidth видимых изображений",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 375,
      "screenshot": "screenshots/page-2-375.png"
    },
    {
      "ruleId": "a11y.alt",
      "title": "Смысловые изображения имеют описание",
      "severity": "warning",
      "status": "not_applicable",
      "detail": "Проверено наличие alt; пустой alt допустим для декоративного изображения. Смысл описания оценивается вручную",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 375,
      "screenshot": "screenshots/page-2-375.png"
    },
    {
      "ruleId": "a11y.names",
      "title": "Элементы управления имеют имя",
      "severity": "error",
      "status": "pass",
      "detail": "Имя из aria-label/label/текста/alt/title; полный accessibility audit выполняется отдельно",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 375,
      "screenshot": "screenshots/page-2-375.png"
    },
    {
      "ruleId": "forms.delivery",
      "title": "Отправка формы проверена",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Формы не отправляются: нужен отдельный тестовый получатель",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 375,
      "screenshot": "screenshots/page-2-375.png"
    },
    {
      "ruleId": "links.internal",
      "title": "Внутренние ссылки и якоря",
      "severity": "error",
      "status": "pass",
      "detail": "Пути и якоря видимых ссылок проверены в архиве",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 375,
      "screenshot": "screenshots/page-2-375.png"
    },
    {
      "ruleId": "links.external",
      "title": "Внешние ссылки",
      "severity": "warning",
      "status": "not_applicable",
      "detail": "Внешние ссылки не запрашиваются",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 375,
      "screenshot": "screenshots/page-2-375.png"
    },
    {
      "ruleId": "media.video",
      "title": "Видео декодируется и воспроизводится",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Проверяем декодирование и изменение времени воспроизведения без звука",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 375,
      "screenshot": "screenshots/page-2-375.png"
    },
    {
      "ruleId": "a11y.keyboard",
      "title": "Элементы доступны с клавиатуры",
      "severity": "error",
      "status": "pass",
      "detail": "Tab проходит видимые элементы; сложные составные виджеты требуют отдельной проверки",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 375,
      "screenshot": "screenshots/page-2-375.png"
    },
    {
      "ruleId": "a11y.focus",
      "title": "Виден фокус клавиатуры",
      "severity": "warning",
      "status": "pass",
      "detail": "Ищем outline/box-shadow при Tab; другой способ выделения требует ручной проверки",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 375,
      "screenshot": "screenshots/page-2-375.png"
    },
    {
      "ruleId": "page.runtime",
      "title": "Нет ошибок JavaScript",
      "severity": "error",
      "status": "pass",
      "detail": "Ошибки JavaScript за время проверки",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 375,
      "screenshot": "screenshots/page-2-375.png"
    },
    {
      "ruleId": "network.scope",
      "title": "Загрузка ресурсов в пределах архива",
      "severity": "warning",
      "status": "pass",
      "detail": "Запросы вне архива и запись в сеть блокируются",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 375,
      "screenshot": "screenshots/page-2-375.png"
    },
    {
      "ruleId": "page.load",
      "title": "Страница открывается",
      "severity": "error",
      "status": "pass",
      "detail": "HTML открыт с HTTP 200",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 768,
      "screenshot": "screenshots/page-2-768.png"
    },
    {
      "ruleId": "layout.viewport",
      "title": "Нет горизонтального переполнения",
      "severity": "error",
      "status": "pass",
      "detail": "Ширина документа 768px, экран 768px",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 768,
      "screenshot": "screenshots/page-2-768.png"
    },
    {
      "ruleId": "layout.text",
      "title": "Текст не обрезан",
      "severity": "warning",
      "status": "pass",
      "detail": "Границы текста сверены с контейнерами overflow:hidden/clip; усечение может быть намеренным",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 768,
      "screenshot": "screenshots/page-2-768.png"
    },
    {
      "ruleId": "media.images",
      "title": "Изображения загружаются",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Проверены complete и naturalWidth видимых изображений",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 768,
      "screenshot": "screenshots/page-2-768.png"
    },
    {
      "ruleId": "a11y.alt",
      "title": "Смысловые изображения имеют описание",
      "severity": "warning",
      "status": "not_applicable",
      "detail": "Проверено наличие alt; пустой alt допустим для декоративного изображения. Смысл описания оценивается вручную",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 768,
      "screenshot": "screenshots/page-2-768.png"
    },
    {
      "ruleId": "a11y.names",
      "title": "Элементы управления имеют имя",
      "severity": "error",
      "status": "pass",
      "detail": "Имя из aria-label/label/текста/alt/title; полный accessibility audit выполняется отдельно",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 768,
      "screenshot": "screenshots/page-2-768.png"
    },
    {
      "ruleId": "forms.delivery",
      "title": "Отправка формы проверена",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Формы не отправляются: нужен отдельный тестовый получатель",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 768,
      "screenshot": "screenshots/page-2-768.png"
    },
    {
      "ruleId": "links.internal",
      "title": "Внутренние ссылки и якоря",
      "severity": "error",
      "status": "pass",
      "detail": "Пути и якоря видимых ссылок проверены в архиве",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 768,
      "screenshot": "screenshots/page-2-768.png"
    },
    {
      "ruleId": "links.external",
      "title": "Внешние ссылки",
      "severity": "warning",
      "status": "not_applicable",
      "detail": "Внешние ссылки не запрашиваются",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 768,
      "screenshot": "screenshots/page-2-768.png"
    },
    {
      "ruleId": "media.video",
      "title": "Видео декодируется и воспроизводится",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Проверяем декодирование и изменение времени воспроизведения без звука",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 768,
      "screenshot": "screenshots/page-2-768.png"
    },
    {
      "ruleId": "a11y.keyboard",
      "title": "Элементы доступны с клавиатуры",
      "severity": "error",
      "status": "pass",
      "detail": "Tab проходит видимые элементы; сложные составные виджеты требуют отдельной проверки",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 768,
      "screenshot": "screenshots/page-2-768.png"
    },
    {
      "ruleId": "a11y.focus",
      "title": "Виден фокус клавиатуры",
      "severity": "warning",
      "status": "pass",
      "detail": "Ищем outline/box-shadow при Tab; другой способ выделения требует ручной проверки",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 768,
      "screenshot": "screenshots/page-2-768.png"
    },
    {
      "ruleId": "page.runtime",
      "title": "Нет ошибок JavaScript",
      "severity": "error",
      "status": "pass",
      "detail": "Ошибки JavaScript за время проверки",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 768,
      "screenshot": "screenshots/page-2-768.png"
    },
    {
      "ruleId": "network.scope",
      "title": "Загрузка ресурсов в пределах архива",
      "severity": "warning",
      "status": "pass",
      "detail": "Запросы вне архива и запись в сеть блокируются",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 768,
      "screenshot": "screenshots/page-2-768.png"
    },
    {
      "ruleId": "page.load",
      "title": "Страница открывается",
      "severity": "error",
      "status": "pass",
      "detail": "HTML открыт с HTTP 200",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 1440,
      "screenshot": "screenshots/page-2-1440.png"
    },
    {
      "ruleId": "layout.viewport",
      "title": "Нет горизонтального переполнения",
      "severity": "error",
      "status": "pass",
      "detail": "Ширина документа 1440px, экран 1440px",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 1440,
      "screenshot": "screenshots/page-2-1440.png"
    },
    {
      "ruleId": "layout.text",
      "title": "Текст не обрезан",
      "severity": "warning",
      "status": "pass",
      "detail": "Границы текста сверены с контейнерами overflow:hidden/clip; усечение может быть намеренным",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 1440,
      "screenshot": "screenshots/page-2-1440.png"
    },
    {
      "ruleId": "media.images",
      "title": "Изображения загружаются",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Проверены complete и naturalWidth видимых изображений",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 1440,
      "screenshot": "screenshots/page-2-1440.png"
    },
    {
      "ruleId": "a11y.alt",
      "title": "Смысловые изображения имеют описание",
      "severity": "warning",
      "status": "not_applicable",
      "detail": "Проверено наличие alt; пустой alt допустим для декоративного изображения. Смысл описания оценивается вручную",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 1440,
      "screenshot": "screenshots/page-2-1440.png"
    },
    {
      "ruleId": "a11y.names",
      "title": "Элементы управления имеют имя",
      "severity": "error",
      "status": "pass",
      "detail": "Имя из aria-label/label/текста/alt/title; полный accessibility audit выполняется отдельно",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 1440,
      "screenshot": "screenshots/page-2-1440.png"
    },
    {
      "ruleId": "forms.delivery",
      "title": "Отправка формы проверена",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Формы не отправляются: нужен отдельный тестовый получатель",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 1440,
      "screenshot": "screenshots/page-2-1440.png"
    },
    {
      "ruleId": "links.internal",
      "title": "Внутренние ссылки и якоря",
      "severity": "error",
      "status": "pass",
      "detail": "Пути и якоря видимых ссылок проверены в архиве",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 1440,
      "screenshot": "screenshots/page-2-1440.png"
    },
    {
      "ruleId": "links.external",
      "title": "Внешние ссылки",
      "severity": "warning",
      "status": "not_applicable",
      "detail": "Внешние ссылки не запрашиваются",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 1440,
      "screenshot": "screenshots/page-2-1440.png"
    },
    {
      "ruleId": "media.video",
      "title": "Видео декодируется и воспроизводится",
      "severity": "error",
      "status": "not_applicable",
      "detail": "Проверяем декодирование и изменение времени воспроизведения без звука",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 1440,
      "screenshot": "screenshots/page-2-1440.png"
    },
    {
      "ruleId": "a11y.keyboard",
      "title": "Элементы доступны с клавиатуры",
      "severity": "error",
      "status": "pass",
      "detail": "Tab проходит видимые элементы; сложные составные виджеты требуют отдельной проверки",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 1440,
      "screenshot": "screenshots/page-2-1440.png"
    },
    {
      "ruleId": "a11y.focus",
      "title": "Виден фокус клавиатуры",
      "severity": "warning",
      "status": "pass",
      "detail": "Ищем outline/box-shadow при Tab; другой способ выделения требует ручной проверки",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 1440,
      "screenshot": "screenshots/page-2-1440.png"
    },
    {
      "ruleId": "page.runtime",
      "title": "Нет ошибок JavaScript",
      "severity": "error",
      "status": "pass",
      "detail": "Ошибки JavaScript за время проверки",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 1440,
      "screenshot": "screenshots/page-2-1440.png"
    },
    {
      "ruleId": "network.scope",
      "title": "Загрузка ресурсов в пределах архива",
      "severity": "warning",
      "status": "pass",
      "detail": "Запросы вне архива и запись в сеть блокируются",
      "findings": [],
      "page": "about/index.html",
      "pageName": "Команда",
      "width": 1440,
      "screenshot": "screenshots/page-2-1440.png"
    }
  ],
  "errors": [],
  "limits": {
    "pageTimeoutMs": 10000,
    "budgetMs": 120000,
    "keyboardControls": 147
  },
  "scope": "Rendered static archive; not production release approval",
  "summary": {
    "status": "issues_found",
    "counts": {
      "pass": 48,
      "fail": 3,
      "unknown": 3,
      "not_applicable": 30
    },
    "coverage": {
      "expected": 84,
      "reported": 84,
      "missing": [],
      "malformed": [],
      "unexpected": []
    },
    "productionReady": false
  }
}