5.4 KiB
P5-15-02 — Native audit coverage checkpoint
This is test/evidence work only. No application, renderer, API, schema, provider, production configuration or deployment behavior changes. Source cf847e9b256d9aec733abf3f37c42852c9dd2421; development branch codex/ui-redesign-phase4.
New independently runnable coverage
| Test file / case | Contract exercised | Evidence limitation |
|---|---|---|
responsive-accessibility-audit.spec.ts: thirteen-area collection |
Synthetic owned native SQLite/API entries, loaded content, responsive geometry, actual ARIA tree, all enabled axe rules plus explicit WCAG2.2 target-size, screenshots | Collection success is not accessibility acceptance; rule findings are retained rather than asserted away |
| Reduced-motion mobile drawer | Keyboard opening, expected initial focus, Escape return; records active element before/after axe and optional Tab recovery | Real keyboard automation, not a human reader |
| Command/workspace/CV keyboard | Command focus/empty result/Escape, Add dialog, manual-activation Job tabs, CV section selection, persisted keyboard reorder, preview entry/end-scroll/exit | Finite paths, not every field/menu or reader announcement |
| Landscape text-spacing collection | Six areas at844×390 with WCAG text-spacing overrides | Parent app styles only; verified document iframe geometry is untouched |
| CV source action | Actual keyboard activation of Open Career Profile, destination and native source content | Does not replace source/override revision safety tests |
| Upload/import keyboard | Focus and Enter/Space on three real controls; positive pointer comparison to the same native file picker | No file data submitted; no synthetic success response |
| Emulated touch | CV edit/preview, portrait/landscape CSS viewport changes, unchanged persisted CV, drawer Escape | Chromium touch emulation; not native hardware, orientation sensor or software keyboard |
browser-zoom-audit.spec.ts: English/light and Bokmål/dark |
Actual Chromium tab zoom100/200/400%; asserts browser zoom, DPR and unchanged pinch scale;13 areas plus text-spacing geometry | Geometry collection is not proof every enabled action is reachable/readable; other browsers/manual vision and hardware remain open |
Nine ordinary browser cases are added (seven responsive/keyboard cases, two zoom cases). They are not skipped, quarantined, expected-failing or retried. Soft assertions keep known failures failing while collecting additional evidence. No provider requests leave loopback.
Focused execution before the coverage commit
Native proof retains source-report hashes, test statuses and actual observations. The six-case development audit after separating the drawer from other workflows had 2 passes /4 failures; one failure was a test assumption: arrows move Job-tab focus, Enter activates. The corrected existing manual-activation contract then passed with command/dialog/CV keyboard checks in the three-case controls rerun (1 pass /2 failures).
The two remaining controls failures are genuine: source action goes to unsupported /career/profile (404), and all six Enter/Space picker attempts fail while all three pointer comparisons succeed. No upload/import data was written. The reduced-motion drawer evidence shows focus still on the hidden background trigger before and after axe; immediate Escape leaves the drawer open. Tab plus Escape can close it, but focus lands on another background button rather than returning to the navigation trigger. Emulated CV mode/portrait-landscape/readback succeeds before the same drawer-return assertion fails.
Genuine zoom collection 2/2 passes,102 geometry observations. Earlier zoom harness attempts are retained locally: explicit deviceScaleFactor:undefined is required with viewport:null; Correspondence has two actual H1s, so readiness now identifies its intended inbox heading exactly while still recording both headings. Those harness corrections do not close product heading/manual-review issues. Earlier metadata incorrectly implied tag-only axe selection: installed builder .options() replaces earlier .withTags() options. The committed collector correctly declares all enabled rules, including best practices; per-rule tags distinguish them from WCAG failures.
App and E2E TypeScript, lint and whitespace checks pass. Complete ordinary regression and final rule/viewport/57-group reconciliation are separate pending audit evidence at this commit; neither the previous134 passes nor collection success is used to claim this audit green. Production remains NO-GO. P5-13 remains deferred, unqualified and Production-withheld; no UI/qualification/Docker work.
Supplemental initial-mobile preservation regression
A tenth ordinary audit case was added after the main143-case discovery snapshot: [P5-15-02 C06 C09 C12] mobile edit-to-preview retains physical document measurement. Native direct390px initial Edit, settled layout/ready state, Enter Preview and owned export-PDF200 reproduce the defect without axe or mocked rendering. It fails on zero measurement width; preview1 versus1 native PDF pages. Proof retains exact measurements, page dimensions/hash and representative preview/PDF images. This is a separately executed1-case supplement, not represented as a single144-case full run. No tolerance, app renderer or PDF semantics changed. The known16fixture/36page corpus remains a separate finite gate.