test(voyage): add e2e Playwright + axe-core specs (a11y + network) [skip-docs]

Step 30 of v4.3 plan — Wave 7 Group D:
- voyage-playground-a11y.spec.mjs (3 tests): light + dark theme axe-core
  scans (compared against baseline JSON, fails only on NEW or GROWN
  violations) + pixel-diff smoke for SC1 (light + dark, 1280x900,
  maxDiffPixelRatio=0.02).
- voyage-playground-network.spec.mjs (1 test): SC7 authoritative gate via
  page.on('request') instrument — verifies zero external (http/https/ws)
  requests during page load.
- playwright.config.mjs: snapshotPathTemplate routes to tests/e2e/snapshots/
  (matches Step 31 expected_paths).

Baseline policy: HTML is FROZEN in Sesjon 6 (Wave 7 = verification, not
fix). Existing critical/serious WCAG violations (aria-hidden-focus +
color-contrast) recorded in tests/e2e/snapshots/a11y-baseline.json as
delta-baseline. Actual a11y fix deferred to v4.4.

Verify: npm run test:e2e -> 4 passed (3 a11y + 1 network).
This commit is contained in:
Kjell Tore Guttormsen 2026-05-10 18:22:52 +02:00
commit 067d9ab245
3 changed files with 186 additions and 0 deletions

View file

@ -3,6 +3,7 @@ import { defineConfig, devices } from '@playwright/test';
export default defineConfig({
testDir: 'tests/e2e',
testMatch: '**/*.spec.mjs',
snapshotPathTemplate: '{testDir}/snapshots/{arg}{ext}',
timeout: 30_000,
expect: { timeout: 5_000 },
fullyParallel: false,