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