Skip to content

Production checklist

Актуальные команды в этом monorepo: cd wp2lms-turbo-blocks-mos && npm test / npm run build. Ядро Turbo — в onepix/wp2lms/src/Modules/Turbo. Ниже — исторические пути wp2lms-turbo / wp2lms-turbo-blocks.

Автоматические проверки

Section titled “Автоматические проверки”
Окно терминала
cd wp2lms-turbo && composer test
cd wp2lms-turbo-blocks && npm test
cd wp2lms-turbo-blocks && npm run test:e2e
cd wp2lms-turbo && php bin/build-plugin.php
cd wp2lms-turbo-blocks && npm run build
Проверка Ожидание
Standalone choice / open / sort / match / classify Submit → feedback (если включён) → «Повторить»
Вопрос внутри question-bank Submit → «Далее»; банк считает баллы
LMS (wp2lms-pro) questions / quiz store обновляются; refresh восстанавливает прогресс
Новый тип в blocks/_shared/question-types/registry.js Listeners банка и allowlist подхватывают без правок question-bank.js
URL Что проверить
/blocks/ Accordion: click, aria-expanded, keyboard Enter/стрелки; Details; Tabs: стрелки + panel id; Swiper prev/next/arrows + RU live; Modal/Panel/Lightbox/Popover: trap, Esc, return focus; Switcher role=switch; Toc aria-current; skip link
Любая popup Открытие по #wp2-* / data-turbo-open; return focus на trigger

A11y (WCAG 2.1 AA — интерактив)

Section titled “A11y (WCAG 2.1 AA — интерактив)”
  • Modal/Panel: focus trap, Esc, focus возвращается на trigger; Panel имеет aria-label / aria-labelledby
  • Popover: aria-expanded / aria-haspopup / aria-controls на trigger, Esc, trap + return focus
  • Tabs: roving tabindex, Arrow/Home/End; aria-controls ↔ id у tabpanel
  • Accordion/Details: aria-controls + id панелей; Accordion — стрелки между headers
  • Tooltip: aria-describedby, focusable trigger
  • Swiper: aria-current на dots, RU live-region, ArrowLeft/Right на регионе, autoplay pause on hover/focus, prefers-reduced-motion
  • Image/Gallery lightbox: trap, Esc, return focus; кнопка «Увеличить» с единым accessible name (alt="" у превью)
  • Switcher: role="switch", aria-checked, Space/Enter
  • Toc: aria-current="location", после клика фокус на heading
  • Buttons: action без URL → <button type="button">
  • Overlay triggers (data-turbo-open, mark-panel/mark-modal): aria-haspopup, aria-expanded, keyboard Enter/Space
  • Skip link «Перейти к содержимому» → #wp2turbo-main-content
  • Tab-only проход учебной страницы: chrome → контент → overlays → media → interactive
  • Choice/Open: Tab → ответ → Submit; после ответа фокус на status / Далее
  • Sort: кнопки ↑/↓ меняют порядок без drag; live-region объявляет позицию
  • Classify: <select> на карточке перемещает в категорию/пул без drag
  • Match: trigger aria-expanded / listbox; Esc закрывает и возвращает фокус
  • Банк: progress badge aria-live; results meter role="meter"; фокус на новый вопрос / title results
  • prefers-reduced-motion: анимация процента на results отключается
  • Tab-only прохождение банка со всеми типами; NVDA/VoiceOver smoke на submit + next
  • Контент только от доверенных редакторов (см. SECURITY.md)