29 lines
4.6 KiB
Markdown
29 lines
4.6 KiB
Markdown
# 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](evidence/native-issues.json) 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.
|