Skip to content

Ship adapter-neutral browser, accessibility, visual, and performance testkits #69

Description

@forkwright

Finding

Typikon has Zola-specific browser checks but no shared assurance packages for its supported rendering contract and direct consumers. Existing checks can inspect the wrong subject and do not produce visual, manual-accessibility, or repeatable performance evidence.

Evidence

Browser tooling lives under ci/ and is not exposed as testkit/{browser,accessibility,visual,performance}. It is pinned, not installed through mutable package requests: ci/tool-lock.toml fixes pa11y-ci at 4.1.1 and @playwright/test at 1.61.1 with integrity values, every gate surface renders its install line from that lock, and ci/check-tool-lock.py fails closed on any install line reintroducing an unbounded version (#194).

No testkit/ directory exists; there is no axe wiring anywhere in ci/ or ci/smoke/ (ci/check-interactive-contrast.py + ci/contrast.py are a narrower programmatic contrast checker, not accessibility scanning); no Lighthouse or other performance tooling exists; there is no NVDA/VoiceOver/TalkBack receipt scaffolding; and ci/smoke/ holds three Playwright specs (two contrast-focused, one general semantic smoke) plus a shared contrast-math helper module, no visual-diff harness. #33 and #49-#52 cover immediate gate defects; #64 covers one contrast defect; none supplies the reusable testkit contract.

The current direct consumers are Ardent Leatherworks a38adcc4c7e5a4fafe40da7938eeb137cd0f8e8c and Ardent Tools 889dd8165eb1c3a86c763590f8e154c374a2948d, both using the Zola adapter. A2Z is not yet a Typikon consumer and joins this assurance matrix only after its documented migration or another D-065-approved adoption path is implemented.

Why this matters

A green adapter build is not evidence that real routes are complete, semantically correct, accessible, visually intentional, or performant. Capture-only screenshots and one-off Lighthouse runs can certify the instrument rather than the candidate.

Desired correction

Publish framework-neutral browser, accessibility, visual, and performance testkits. Derive a non-empty route corpus and build identity; require semantic assertions; combine axe automation with typed manual NVDA/Firefox, VoiceOver/macOS+iOS Safari, TalkBack/Android, and keyboard receipts; make visual diffs assertion-bearing with explicit adjudication; and aggregate five cold Lighthouse runs.

Done when every supported adapter and every direct consumer runs the same contract; a prospective consumer joins only after it has an actual Typikon dependency; median Lighthouse performance is at least 95 with no run below 90, LCP <=2.5s, CLS <=0.05, and TBT <=150ms; typed CSS/JS budgets are enforced; missing tools/routes/evidence fail closed; and receipts bind the exact subject revision and contract digest.

Program: ardent-web-triad. Refs #33 #49 #50 #51 #52 #64 #66.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew capability or improvement to an existing feature

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions