docs(a11y): record final responsive acceptance failures and evidence
@@ -4,7 +4,7 @@
|
||||
|
||||
[Responsive/accessibility audit](p5-15-02/README.md) adds actual keyboard/zoom/native-picker evidence without changing application code. [Native observations](p5-15-02/evidence/native-issues.json) and [defect register](p5-15-02/DEFECTS.md) prove keyboard attachment/import activation failures (W08/J10), reduced-motion drawer focus/Escape failure (E07), unsupported CV source action (C07), and report-link target-size failure (S01, contextual WCAG exception review retained), and clipped initial mobile CV preview (C06). These are new audit observations, not a claim that all original data semantics failed or that this checkpoint introduced them.
|
||||
|
||||
Current totals: **PASS0 / PARTIAL50 / FAIL6 / DEFERRED1 / BLOCKED0 / NOT VERIFIED0 =57**. All original00/01/R-01/R-02/R-03 columns and their failed/green evidence remain historical. No whole group earns PASS. Avatar/heading/iframe-landmark warnings and absent human/device evidence remain PARTIAL rather than invented failures. C11/P5-13 remains deferred, unqualified and Production-withheld. A11Y-01 and A11Y-11 are P1 and blocks progression/release acceptance until independently repaired; other findings remain assigned to bounded P5-15-04 work. Complete ordinary regression is a separate audit evidence step, not yet claimed green here. Production main is unchanged and NO-GO.
|
||||
Current totals: **PASS0 / PARTIAL50 / FAIL6 / DEFERRED1 / BLOCKED0 / NOT VERIFIED0 =57**. All original00/01/R-01/R-02/R-03 columns and their failed/green evidence remain historical. No whole group earns PASS. Avatar/heading/iframe-landmark warnings and incomplete human/device evidence remain PARTIAL rather than invented failures. C11/P5-13 remains deferred, unqualified and Production-withheld. A11Y-01 and A11Y-11 are P1 and block progression/release acceptance until independently repaired; other findings remain assigned to bounded P5-15-04 work. Fresh full browser139pass/4fail plus supplemental mobile0pass/1fail retains every ordinary failure; all134 inherited cases, complete backend1,033/frontend490 and unchanged finite native fidelity/revision/security gates pass. [Final validation](p5-15-02/evidence/validation.json) separates those scopes from mandatory human/device evidence. Production main is unchanged and NO-GO.
|
||||
|
||||
## Historical P5-15-01R-03 reconciliation
|
||||
|
||||
|
||||
@@ -4,7 +4,11 @@
|
||||
|
||||
[02 audit](p5-15-02/README.md), [native coverage](p5-15-02/TEST_COVERAGE.md), [findings](p5-15-02/DEFECTS.md), [reflow measurements](p5-15-02/RESPONSIVE_RESULTS.md) and [manual packet](p5-15-02/MANUAL_ACCEPTANCE.md) now supersede the prior “02 not started” statements. Application/API/renderer behavior is unchanged. Actual Chromium100/200/400 zoom is measured separately from touch emulation, screen-reader speech and physical-device/software-keyboard acceptance. Owner reports a reader operator available; actual results remain NOT VERIFIED until supplied.
|
||||
|
||||
**P5-15-02: NO-GO for P5-15-03** on confirmed P1 keyboard upload/import failure and the [native initial mobile CV/PDF mismatch](p5-15-02/evidence/mobile-preview-proof.json). Reduced-motion drawer return, source-editor404 and small report targets also need bounded disposition. [57-group matrix](PRESERVATION_ACCEPTANCE.md) now reconciles **0PASS/50PARTIAL/6FAIL/1DEFERRED/0BLOCKED/0NOT VERIFIED** while retaining every historical status column. Separate UI-rule warnings/manual gaps are not automatically failures. Complete regression/fidelity and final audit reconciliation are still being collected at this intermediate record; known failures are neither skipped nor expected-failing.
|
||||
**P5-15-02: NO-GO for P5-15-03** on confirmed P1 keyboard upload/import failure and [initial mobile CV content clipping](p5-15-02/evidence/mobile-preview-proof.json). That fixture's page count matches its PDF, but its visible content flow remains zero-width; no false page-count claim is made. Reduced-motion drawer return, source-editor404 and small report targets also need bounded disposition. [57-group matrix](PRESERVATION_ACCEPTANCE.md) now reconciles **0PASS/50PARTIAL/6FAIL/1DEFERRED/0BLOCKED/0NOT VERIFIED** while retaining every historical status column. Separate UI-rule warnings/manual gaps are not automatically failures. Known failures are neither skipped nor expected-failing.
|
||||
|
||||
Fresh complete results: **backend1,033 / frontend490 / main browser139pass+4fail across143cases**, plus the separately added native mobile/PDF diagnostic **0pass+1fail**; unique ordinary union **139pass+5fail=144**, not one144-case full execution. All134 inherited browser cases pass, including saved searches, Rules and AUTH-01. Separate diagnostics2, realHTTP2, sidecar49, focusedAI108, revision5/5, standard fidelity16/16(36=36), settings8/8(24=24), security/config9/6/1/3 and static/build/hygiene checks pass. The finite renderer corpus does not qualify the failed hidden mobile visible-page lifecycle. [Final evidence](p5-15-02/evidence/validation.json) preserves command/results and the ordinary failures.
|
||||
|
||||
Fresh **312axe scans** comprise267retained-rule scans(0reported violations,2,038incomplete nodes) and45all-enabled/target-size scans(47violation-node occurrences,374incompletes). [Per-rule triage](p5-15-02/AXE_TRIAGE.md#fresh-final-run) separates repeated nodes, best-practice warnings, confirmed native defects and required human review. Actual Chromium200/400zoom adds bounded geometry evidence; no spoken reader/physical-touch/software-keyboard acceptance is claimed. [CV Unsaved intermittence](p5-15-01/INTERMITTENT_FAILURES.md) remains OPEN. Completed logical checkpoints are individually committed/pushed; no application repairs are hidden in this audit.
|
||||
|
||||
P5-13 remains deferred/unqualified/Production-withheld0/366,0human semantic reviews, UI unimplemented. Production main remains unchanged/NO-GO; F04, current complete backup/tested restore, configuration/schema/secrets, rollback and deployed acceptance remain open. No automatic P5-15-03/04, P5-13, B07 or deployment follows from this audit.
|
||||
|
||||
|
||||
@@ -18,8 +18,36 @@ No category is closed solely from zero violations. Real low contrast, focus trap
|
||||
|
||||
The [Phase 3 accessibility plan](../../../phase-3/ACCESSIBILITY_PLAN.md) requires ordinary text 4.5:1, large text 3:1, essential controls/focus 3:1, usable 320 CSS-px ordinary content and a 44px touch-target aim. [Phase 4 acceptance](../../../phase-4/p4-06/README.md) and original PRES contracts remain binding. WCAG 2.2 AA obligations are not weakened: the 2.5.8 minimum/spacing exceptions and project 44px aim are distinct.
|
||||
|
||||
Installed axe-core **4.13.0** metadata maps the inherited rules to 1.4.3/4.1.2/1.3.1. Earlier fixture tags principally select WCAG 2.0/2.1 A/AA. `target-size` is **disabled by default**; a zero earlier result does not qualify 2.2 target size. Fresh supplemental audit explicitly selects `wcag22aa` and enables that rule. Supplemental scan totals are recorded separately from the inherited 267. No rules are disabled and no failed control is hidden to improve results. Local standards and installed metadata were inspected; external websites were not queried.
|
||||
Installed axe-core **4.13.0** metadata maps the inherited rules to 1.4.3/4.1.2/1.3.1. Earlier fixture tags principally select WCAG 2.0/2.1 A/AA. `target-size` is **disabled by default**; a zero earlier result does not qualify 2.2 target size. Fresh supplemental audit runs all enabled rules plus explicit target-size. The installed builder options override previous tag selection; best-practice results remain identified by per-rule tags. Supplemental scan totals are recorded separately from the inherited 267. No rules are disabled and no failed control is hidden to improve results. Local standards and installed metadata were inspected; external websites were not queried.
|
||||
|
||||
## Human/device availability boundary
|
||||
|
||||
The read-only local probe found Narrator installed, no active screen-reader process and no detected physical test device; that is availability information, not testing. The owner subsequently reported a screen-reader operator available. An operator packet was issued; **actual observed spoken results remain NOT VERIFIED until supplied**. Installed software and operator availability cannot substitute for a completed workflow record. Physical touch, software keyboard, mobile screen reader, other browser/device combinations and production fonts remain open.
|
||||
|
||||
## Fresh final run
|
||||
|
||||
Different rule sets are not directly comparable. Ordinary full-run retained cases and supplemental all-enabled audit remain separately counted. No duplicate focused runs are added. See [raw-derived final inventory](evidence/fresh-audit.json).
|
||||
|
||||
Final full-run total **312 scans /47 violation-node occurrences /2,412 incomplete-node occurrences** comprises **267 retained scans /0violations /2,038 incompletes** and **45 new scans /47violation nodes /374incompletes**. These are occurrences, not unique defects or universal WCAG failures. Retained contrast incompletes changed1,769→1,766 (three fewer sampled occurrences); scan/test counts are unchanged and no manual disposition is closed by that variation. The separately added mobile/PDF diagnostic does not run axe and is not an extra scan.
|
||||
|
||||
| Scope / rule | Violation node occurrences | Incomplete node occurrences | Required disposition |
|
||||
|---|---:|---:|---|
|
||||
| retained / `aria-hidden-focus` | 0 | 41 | Native modal entry/return plus actual SR; A11Y-02 is already confirmed |
|
||||
| retained / `aria-prohibited-attr` | 0 | 209 | Generic span/div state meaning and supported roles; human speech |
|
||||
| retained / `aria-valid-attr-value` | 0 | 18 | Settled generated ID references and actual spoken dialog name |
|
||||
| retained / `color-contrast` | 0 | 1766 | Human rendered-pair review; avatar exception/context; overlap/occlusion not a pass |
|
||||
| retained / `th-has-data-cells` | 0 | 4 | Populated/empty table header relationships and row actions |
|
||||
| new / `aria-allowed-role` | 9 | 0 | Upload labels; native picker keyboard P1 is confirmed independently |
|
||||
| new / `aria-command-name` | 4 | 0 | Clipped drawer names need settled AX/actual speech; not four proven absent labels |
|
||||
| new / `aria-hidden-focus` | 0 | 7 | Native modal entry/return plus actual SR; A11Y-02 is already confirmed |
|
||||
| new / `aria-prohibited-attr` | 0 | 26 | Generic span/div state meaning and supported roles; human speech |
|
||||
| new / `aria-valid-attr-value` | 0 | 2 | Settled generated ID references and actual spoken dialog name |
|
||||
| new / `color-contrast` | 2 | 338 | Human rendered-pair review; avatar exception/context; overlap/occlusion not a pass |
|
||||
| new / `heading-order` | 13 | 0 | Project heading navigation and human SR; best-practice rule alone not AA failure |
|
||||
| new / `landmark-one-main` | 1 | 0 | Sign-in landmark structure and human reading order |
|
||||
| new / `landmark-unique` | 5 | 0 | Cross-document CV iframe context and human navigation; renderer geometry preserved |
|
||||
| new / `page-has-heading-one` | 1 | 0 | Sign-in page identity and human heading navigation |
|
||||
| new / `region` | 10 | 0 | Sign-in content/landmark navigation |
|
||||
| new / `target-size` | 2 | 1 | Actual hit areas/spacing/exceptions; A11Y-04 status links require repair/disposition |
|
||||
|
||||
The raw JSON retains tags/impact, scan occurrences and representative failure messages. Third-party MUI/axe limitations and repeated transient/clipped nodes are triaged contextually; none is an exemption from product acceptance. Whole-application WCAG conformance is not claimed.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# P5-15-02 — Accessibility and responsive findings
|
||||
|
||||
Audit source `cf847e9b256d9aec733abf3f37c42852c9dd2421`,2026-10-10. These findings are not application fixes. [Native proof](evidence/native-issues.json), [coverage](TEST_COVERAGE.md), [baseline triage](AXE_TRIAGE.md) and [operator script](MANUAL_ACCEPTANCE.md) distinguish native failures, automated rule findings and missing human evidence. No production data/provider is used. Final full-run evidence will supersede only its named observations.
|
||||
Audit source `cf847e9b256d9aec733abf3f37c42852c9dd2421`,2026-10-10. These findings are not application fixes. [Native proof](evidence/native-issues.json), [fresh full-run evidence](evidence/fresh-audit.json), [coverage](TEST_COVERAGE.md), [baseline triage](AXE_TRIAGE.md) and [operator script](MANUAL_ACCEPTANCE.md) distinguish native failures, automated rule findings and missing human evidence. No production data/provider is used. Final execution supersedes only its named observations, retaining historical failures and evidence gaps.
|
||||
|
||||
## Confirmed behavioral failures
|
||||
|
||||
@@ -9,7 +9,6 @@ Audit source `cf847e9b256d9aec733abf3f37c42852c9dd2421`,2026-10-10. These findin
|
||||
| **A11Y-01 — File-picker keyboard activation. W08/J10** | Native owned Job Documents at768px, EN/light: focus Upload, press Enter then Space; neither opens a picker. Settings General: repeat Import JSON and Convert CSV to Import JSON; neither keyboard key opens either picker. Click each same control: all three native pickers open. Six keyboard failures/three positive pointer controls; no file data written. | **P1, production-blocking** keyboard-only attachment upload/import unavailable; WCAG2.1.1 and button activation contract. `<label role=button tabindex=0>` with hidden file inputs and no click handler is the responsible boundary; MUI's nonnative keyboard handler does not invoke label default activation. This is more serious than the minor axe `aria-allowed-role` warning. No data/security exposure observed. | UI/attachments/import owner; independent **P5-15-04-A11Y-01** repair with native Enter/Space/pointer regressions, safe file/owner round-trip, locale/mobile/reader proof. **OPEN**. Do not bypass with focus on an inaccessible hidden input or mouse-only acceptance. |
|
||||
| **A11Y-02 — Mobile drawer focus and immediate Escape. E07** | Jobs390×900 EN/light, reduced motion: focus Open navigation, Enter; drawer visible, Dashboard does not receive focus. Focus remains on the now-hidden background trigger before and after axe. Immediate Escape leaves drawer open. Tab then Escape can close it, but restores focus to another background button. CV390×844 NB/dark emulated tap also fails immediate Escape return. | **P2, release acceptance blocker**; focus order/modal containment/return (WCAG2.4.3/2.4.7 and PRES-E07). Recovery exists through an additional Tab, so this evidence does not establish every navigation action permanently unusable. Ordinary historical shell checks passing do not close the new reduced-motion path. No security/data finding. | Shell/accessibility owner; independent **P5-15-04-A11Y-02**, deterministic reduced-motion entry, containment, Escape/Tab and correct trigger return at breakpoints; retain existing shell behavior. Exact transition/focus race diagnosis remains required. **OPEN**. |
|
||||
| **A11Y-03 — CV source-editor destination. C07** | Native CV Content, desktop EN/light: keyboard-activate Open Career Profile; actual href/destination `/career/profile`, which has no current route and resolves404. Expected existing `/career` or `/career?section=profile`, preserving canonical source isolation. Source action is equally incorrect for pointer activation. | **P2, functional acceptance blocker**; accessible destination/product source-versus-override contract. Canonical editor is reachable through shell; no canonical mutation, CV/history corruption or lost persisted data demonstrated. | CV/navigation owner; independent **P5-15-04-A11Y-03**, minimal existing-route correction and real source/action/Back/localisation tests. **OPEN**. Do not add a second embedded canonical editor. |
|
||||
|
||||
| **A11Y-11 — Initial mobile visible-page measurement. C06; C09/C12 supporting** | Open the synthetic CV directly at390×844 EN/light in initial Edit mode, wait for the native ready signal, Enter Preview and settle fonts/two animation frames. Hidden measurement width793.6875 is physical; visible page width/flow remains0 with ready=true/non-finite page dataset. Preview says1page and shows collapsed/clipped text. The same owned native export API returns200 and **1 A4 PDF page**: page count matches, content placement does not. [Native proof](evidence/mobile-preview-proof.json), [preview](evidence/screenshots/mobile-preview-measurement-390-en-light.png), [PDF page1](evidence/screenshots/mobile-preview-native-pdf-page1.png). Bokmål/dark emulated screenshot independently shows the same collapsed strip. | **P1, production/progression-blocking** materially incorrect content placement/clipping and unusable preview; no page-count mismatch is claimed for this fixture. [CV frame](../../../../../job-tracker-ui/src/views/CvBuilderEditor.tsx) hides visible-page frames in compact Edit mode; [pagination](../../../../../job-tracker-ui/src/cvPreview.ts) reads their width under display:none and publishes ready/page data without visible-mode remeasurement. The finite direct-renderer/desktop-first16 fixtures can pass while this lifecycle fails. Native PDF remains correct/authoritative; no content/revision/source mutation observed. | CV/rendering owner; independent **P5-15-04-CV-01**, regression-first deterministic visible-page physical measurement when initially hidden, readiness/layout after mode switch, EN/NB/themes/mobile/direct reload and full fidelity gates. Do not alter print geometry/PDF to match collapsed preview. **OPEN**. |
|
||||
|
||||
## Automated findings requiring a contextual disposition
|
||||
@@ -36,4 +35,4 @@ These are rule entries/nodes, not a count of independent defects. Best-practice
|
||||
|
||||
## Scope and stop conditions
|
||||
|
||||
**A11Y-01 and A11Y-11 make P5-15-02 NO-GO for P5-15-03 until the severe keyboard gap is repaired or explicitly reviewed with adequate evidence.** Continue only safe audit collection; no upload of real user data, emergency broad UI change or automatic next slice. Other findings remain separately owned in P5-15-04; production additionally stays NO-GO for F04, backup/restore, configuration/schema/secrets, rollback and deployed acceptance. No new authentication/tenant-integrity regression is demonstrated by these UI findings. P5-13 remains deferred/unqualified/Production-withheld (0/366, no human semantic reviews/UI); no Docker/provider/B07/deployment work.
|
||||
**A11Y-01 and A11Y-11 make P5-15-02 NO-GO for P5-15-03 until both severe defects are independently repaired and verified, or their findings are overturned by adequate evidence.** Continue only safe audit collection; no upload of real user data, emergency broad UI change or automatic next slice. Other findings remain separately owned in P5-15-04; production additionally stays NO-GO for F04, backup/restore, configuration/schema/secrets, rollback and deployed acceptance. No new authentication/tenant-integrity regression is demonstrated by these UI findings. P5-13 remains deferred/unqualified/Production-withheld (0/366, no human semantic reviews/UI); no Docker/provider/B07/deployment work.
|
||||
|
||||
@@ -1,13 +1,84 @@
|
||||
# P5-15-02 — Responsive and accessibility audit
|
||||
|
||||
Start `cf847e9b256d9aec733abf3f37c42852c9dd2421`, development `codex/ui-redesign-phase4`, 2026-10-10. Production `main` remains unchanged and **NO-GO**. This is an audit of the existing product, not remediation or completion of full Phase 5.
|
||||
**NO-GO for P5-15-03. Production remains NO-GO.** The audit demonstrates P1 keyboard file-picker failure and materially clipped initial mobile CV preview content. Normal remediation requires independently authorized, bounded P5-15-04 checkpoints. No application/API/renderer/schema/provider/production configuration was changed; this checkpoint adds evidence and ordinary failing regression tests.
|
||||
|
||||
## Independently reviewable baseline/operator checkpoint
|
||||
Source `cf847e9b256d9aec733abf3f37c42852c9dd2421`; development `codex/ui-redesign-phase4`, 2026-10-10. Production `main` remains `27657f31131cd95d42f0e1290853ec9c9b3959a4`. No deployment, main merge/push, P5-15-03, P5-13 or B07 occurred.
|
||||
|
||||
[Axe triage](AXE_TRIAGE.md) reconciles the authoritative inherited **267 scans / zero violations / 2,041 incomplete node occurrences** from actual R-03 output. [Manual acceptance](MANUAL_ACCEPTANCE.md) covers all 13 requested areas with operator/version/device, expected/observed announcements and explicit result fields. The owner reports a screen-reader operator available; actual workflow results remain pending and NOT VERIFIED. No physical touch or software-keyboard acceptance is inferred.
|
||||
## Method and evidence
|
||||
|
||||
The binding sources are the [Phase 5 plan](../../PHASE5_PLAN.md), [parent acceptance programme](../README.md), [57 contracts](../PRESERVATION_ACCEPTANCE.md), [Phase 3 accessibility](../../../phase-3/ACCESSIBILITY_PLAN.md)/[responsive strategy](../../../phase-3/RESPONSIVE_STRATEGY.md), [Phase 4 acceptance](../../../phase-4/p4-06/README.md), P5-01–14 implementation evidence and all three functional repair records. Historic Phase 3 shell prose says below768; current shell uses1024. CV mode switches below900 independently of the1024 layout boundary; audit actual implementation and record that discrepancy rather than changing breakpoints.
|
||||
The binding sources are the [Phase 5 plan](../../PHASE5_PLAN.md), [parent programme](../README.md), [57 preservation groups](../PRESERVATION_ACCEPTANCE.md), [Phase 3 accessibility](../../../phase-3/ACCESSIBILITY_PLAN.md)/[responsive strategy](../../../phase-3/RESPONSIVE_STRATEGY.md), [P4 acceptance](../../../phase-4/p4-06/README.md), P5-01–14 implementation records and all three functional repair records. Tests use disposable owned SQLite/API records, synthetic English/Bokmål content and loopback-only requests. Component/DOM inspection is weaker evidence than a completed native workflow, and none substitutes for a human reader/device.
|
||||
|
||||
Fresh keyboard/native viewport, explicit WCAG 2.2 target-size, genuine Chromium tab zoom, text-spacing and emulated-touch checks are being collected. Their results and acceptance decision are **not yet established by this baseline checkpoint**. Browser automation, DOM inspection and agent screenshot review are distinct from independent human/assistive-technology evidence. Collection success will not imply every measured product check passes.
|
||||
[Fresh audit](evidence/fresh-audit.json), [validation](evidence/validation.json), [responsive ledger](evidence/responsive-ledger.json), [actual zoom](evidence/fresh-zoom.json), [mobile/native-PDF proof](evidence/mobile-preview-proof.json) and [repository checks](evidence/repository-summary.json) retain command/results, native observations and source hashes. Raw full reports/logs/native PDFs stay in the ignored `.artifacts/p5-15-02/` directory. [Coverage](TEST_COVERAGE.md) preserves earlier harness corrections and focused runs without summing repeated cases into final totals.
|
||||
|
||||
P5-13 remains deferred/unqualified/Production-withheld: 0/366 qualification calls, zero human semantic reviews, no AI-review UI. Do not activate it or run provider/Docker work. F04, current production backup/tested restore, configuration/schema/secrets verification, rollback and deployment evidence remain open. Saved-search, Rules and AUTH-01 repairs, CV revision/source/frozen package and renderer geometry are preserved; no application changes are authorized by this record.
|
||||
## Coverage matrix
|
||||
|
||||
PASS applies only to a named, executed assertion. PARTIAL means important acceptance remains outstanding, FAIL means a demonstrated defect, and NOT VERIFIED means no actual evidence. All whole-area rows remain below unconditional acceptance. Every area has **NOT VERIFIED** human screen-reader, physical touch/software-keyboard and mobile AT lanes; the owner reports a screen-reader operator available, but no actual announcements/results were supplied.
|
||||
|
||||
| Area / PRES | Automated and real browser keyboard/pointer evidence | Responsive/reflow and EN/NB/theme evidence | Whole-area status / remaining acceptance |
|
||||
|---|---|---|---|
|
||||
| Authentication E02–E06/E09 | AUTH-01/non-default query, return-path security, login failure/expiry and route authorization regressions pass; sign-in naming/structure scanned | Sign-in320 and actual zoom; EN/light and NB/dark; retained locale/theme variants | PARTIAL: registration/provider/2FA spoken errors and production identity paths not human-qualified; login landmark/headings review |
|
||||
| Shell E07/E08/E09 | Commands/rail/account/utility historical paths pass; reduced-motion drawer entry/Escape/return FAIL | Both sides767/768,899/900,1023/1024; portrait/landscape; actual zoom | FAIL A11Y-02; full reader/device menu traversal and clipped-name triage open |
|
||||
| Global commands E07/E08/W11/W12 | Ctrl+K, selection/empty feedback, Escape/return and Add dialog PASS in corrected native journey; generated ID references retained |390 dialog, actual zoom/text spacing; EN/NB inherited states | PARTIAL: exact spoken counts/loading/errors and every dialog focus path not verified |
|
||||
| Jobs J01–J10 | Native saved searches, owner denial, reload/apply/retry, table/Board parity and ordinary P2-D01 pass |320/1440, landscape and real200/400%; bounded table scroller | PARTIAL: enabled multipage footer at400%, all row/error speech and native device operation open |
|
||||
| Board J07 | Retained pointer/keyboard movement and query tests pass; named columns/card controls scanned |390/1280, real zoom; intentional horizontal Board scroller | PARTIAL: native touch drag/cancel, full-result scaling and reader traversal remain open |
|
||||
| Dashboard S01/S02 | Native metric definitions/retry/preference-view tests pass; exact values/statuses inspected |768/1440/844landscape; real zoom, themes/locales | PARTIAL: human nonvisual summary, contrast/incomplete checks; historical generic preference500 not closed |
|
||||
| Analytics S01 | AUTH-01/query/reports/navigation pass; explicit target-size finds standalone status links below minimum |390/1024, landscape/zoom, EN/NB exact-value alternatives retained | FAIL A11Y-04: contextual exception/target repair and nonvisual chart/table review required; no calculations changed |
|
||||
| Job workspace W01–W12 | Native deep-link/history/back/frozen-package/notes/tasks and manual-activation tab tests pass; document picker keyboard FAIL |320Timeline,768Overview,1024Documents, real zoom | FAIL A11Y-01/W08; full dialog/document speech and physical interaction open; followMode metadata/UI deferral retained |
|
||||
| Career Profile C01–C05 | Source/override isolation regression remains green; native repeated-entry region/name scans |390/1440, zoom/spacing, EN/NB and themes | PARTIAL: avatar contrast exception/heading/nonvisual form/error review; all import device paths not qualified |
|
||||
| CV Builder C06–C12 | Native keyboard select/reorder/persist/preview entry-scroll-exit pass; source link404 and initial mobile preview FAIL |390/768/1440,899/900 transitions, emulated taps/landscape; actual zoom | FAIL A11Y-03/A11Y-11. Finite desktop fidelity passes; initially hidden visible-page layout does not. Human status/save/conflict and physical workflows remain open |
|
||||
| Documents W08/J10 | Native owned attachments/package APIs remain green; six Enter/Space chooser failures versus three pointer successes |320/1024/768 and zoom; long non-ASCII title | FAIL A11Y-01; no real files imported/uploaded by picker probe, no inaccessible control relabeled as passing |
|
||||
| Settings S03–S05/J10 | Rules draft/save/validation/error/retry/discard/account regressions pass; import/CSV keyboard FAIL |320/1440, landscape/zoom; English/Bokmål,light/dark retained | FAIL A11Y-01/J10; tab/panel speech/associations, switch visible hitbox and mobile keyboard need review |
|
||||
| Administration A01–A03 | Native owned admin fixture scans and retained server role/tenant denial pass |390/768/1280, actual zoom/spacing; bounded table scroll | PARTIAL: full destructive/admin reader journeys and deployed sensitive-output qualification open |
|
||||
|
||||
## Responsive and keyboard findings
|
||||
|
||||
[Responsive measurements](RESPONSIVE_RESULTS.md) cover actual breakpoints. Current shell drawer is below1024, unlike historical Phase3 prose below768; compact CV modes are below900, while grid/sticky change at1024. Narrow samples320/390, tablet768/1024, desktop1280/1440 and boundary widths767/768/899/900/1023/1024 are distributed across routes, not a full cross-product. Landscape844×390/text-spacing is tested separately.
|
||||
|
||||
Actual Chromium151.0.7922.34 tab zoom100/200/400 uses the same1280×900 outer window, inner widths1264/632/316, DPR1/2/4 and pinch scale1. **102 zoom/spacing geometry records** and the native viewport samples report zero outer-page overflow. Table/Board/document and scrollable-tab content is classified separately. Clipping candidates still require enabled-action/device verification; geometry collection success is not usability acceptance. Parent text-spacing does not change renderer iframe geometry.
|
||||
|
||||
Keyboard command/dialog/manual Job-tab activation, CV section selection/reorder persistence and desktop preview entry/end-scroll/exit pass. Upload/import cannot be operated by Enter/Space. Reduced-motion mobile drawer retains hidden background focus, ignores immediate Escape, then closes after Tab+Escape with incorrect return target. This is recoverable, not a proven permanent trap. Emulated CV mode/orientation/readback succeeds before that drawer assertion fails; actual mobile preview correctness is separately unsafe.
|
||||
|
||||
## Axe results and manual triage
|
||||
|
||||
Authoritative inherited R-03 execution: **267 scans, zero reported violations, 2,041 incomplete node occurrences**. [Baseline triage](AXE_TRIAGE.md) classifies1,769contrast/209prohibited ARIA/41hidden-focus/18invalid-reference/4table-cell incompletes. The approximate2,040 count was not authoritative. Repeated nodes/states are not distinct defects.
|
||||
|
||||
Fresh full-run retained-rule output: **267 scans, 0 violation node occurrences, 2038 incomplete node occurrences**. Supplemental all-enabled-rules output: **45 scans, 47 violation node occurrences, 374 incomplete node occurrences**. Different rule sets remain separate; target-size is explicitly enabled, and installed AxeBuilder.options replaces earlier withTags options. Per-rule tags distinguish WCAG failures from best-practice headings/landmarks/label-role warnings. [Exact fresh counts/dispositions](AXE_TRIAGE.md#fresh-final-run) and JSON retain representative targets/messages rather than declaring a global compliance result.
|
||||
|
||||
Contrast overlap/obscured/too-short nodes need human rendered-pair review. Invalid dialog references need settled computed/spoken-name review; prohibited ARIA on generic labels needs meaning/state review; hidden-focus requires actual keyboard/reader traversal; table cells require populated/empty associations. Confirmed native picker/focus faults are more serious than their tool warnings. Avatar initials may be incidental/redundant; iframe main is cross-document, not duplicate outer Preview-region naming; clipped drawer child names are not four proven unnamed buttons.
|
||||
|
||||
## Defects and preservation
|
||||
|
||||
[Defect register](DEFECTS.md) records exact reproduction, criterion, severity, owner and independently bounded04 repair. **P1: A11Y-01 keyboard file-picker and A11Y-11 initial mobile preview content clipping. P2: A11Y-02 drawer focus/Escape, A11Y-03 source action404, A11Y-04 Analytics targets.** Heading/contrast/landmark/name/reflow candidates remain explicit review gaps rather than manufactured functional failures. No new account/tenant/source/revision corruption is demonstrated; unsupported AI remains Production-withheld.
|
||||
|
||||
The [57-group matrix](../PRESERVATION_ACCEPTANCE.md) retains every historical column. Before02:56PARTIAL/0FAIL/1DEFERRED. After02: **0PASS /50PARTIAL /6FAIL /1DEFERRED /0BLOCKED /0NOT VERIFIED =57**. E07,J10,W08,C06,C07,S01 FAIL only their demonstrated boundaries; C11 remains deferred. Missing human/device evidence keeps entire otherwise functional groups PARTIAL, without treating every incomplete as failure.
|
||||
|
||||
## Fresh regression results
|
||||
|
||||
| Gate | Fresh result / count change |
|
||||
|---|---|
|
||||
| Backend / revision / focused AI |1033pass /5of5 /108pass; subsets not added to total; no backend additions |
|
||||
| Frontend |490pass,82suites,0fail; no unit-test additions |
|
||||
| Main browser snapshot |139pass /4fail /0skipped,143unique cases:134 inherited +9 audit cases |
|
||||
| Supplemental mobile native/PDF diagnostic |0pass /1fail, one newly added case after main discovery; union **139pass /5fail =144unique cases**. This is not represented as one144-case full execution |
|
||||
| Separate diagnostics / real HTTP |2pass /2pass; not part of ordinary144 |
|
||||
| Sidecar |49pass |
|
||||
| Standard renderer corpus |16of16,36preview=36PDF pages, unchanged tolerances; finite fixtures do not cover the failed hidden mobile pane |
|
||||
| Settings native exports |8of8,24=24pages, unchanged tolerances |
|
||||
| Rate-limit / ingress / PDF admission / configuration |9 / 6 / 1 / 3 passing; development fixtures do not prove production ingress/configuration |
|
||||
| Static/build/hygiene |App+E2E TypeScript,lint,frontend production/API Release builds,secrets,whitespace,local-document checks pass; commands/hashes retained |
|
||||
|
||||
All134 inherited browser cases remain passing, including saved-search/Rules/AUTH-01 repairs and ordinary P2-D01. Four ordinary audit failures remain genuine and unskipped; supplemental mobile adds a fifth failure. Earlier incorrect ArrowRight auto-selection expectation was corrected to existing manual activation and is not an unresolved product defect. No retries, expected failures or quarantine conceal issues. The unexplained historical [CV Unsaved intermittent observation](../p5-15-01/INTERMITTENT_FAILURES.md) stays OPEN despite passing current cases.
|
||||
|
||||
The mobile diagnostic measured physical width793.6875 in the hidden measurement iframe, but **visible-page measured width/flow0** after showing Preview. Its dataset page count is non-finite despite ready=true. The displayed1 preview page and **1 native PDF page match** for this fixture; materially collapsed/clipped content does not. PDF remains authoritative and unchanged. The visible-page lifecycle measures getBoundingClientRect under display:none and retains that flow after a later pane switch; desktop-first/direct renderer tests cannot qualify that path. No geometry repair is hidden in this audit.
|
||||
|
||||
## Human evidence, screenshots and next actions
|
||||
|
||||
[Manual packet](MANUAL_ACCEPTANCE.md) supplies M01–M13 with actual reader/browser/device/build identifiers, expected versus observed speech, focus/error/status/reorder/zoom/software-keyboard steps and per-variant results. An authorized operator is available; actual results have not arrived. **NOT VERIFIED**: screen-reader speech, native touch/drag/software keyboard, mobile AT, human contrast/forced-colors, text-only preferences and full enabled-action400% acceptance. Zero axe violations on a subset cannot close them.
|
||||
|
||||
Representative screenshots are indexed with route/viewport/locale/theme/state and hashes in [fresh audit](evidence/fresh-audit.json); the mobile native comparison has its own [proof](evidence/mobile-preview-proof.json). They cover the13areas, light/dark,English/Bokmål, narrow/tablet/desktop, interaction failures and actual zoom. Automated screenshot review is not independent human acceptance. Production font/photo qualification remains separate and open.
|
||||
|
||||
The two400% Playwright raster captures contain only the top-left header crop; they do not prove full-window content/focus visibility. Actual tab-zoom assertions and geometry remain separately recorded. Full visual zoom/task acceptance stays NOT VERIFIED.
|
||||
|
||||
Completed units were individually pushed: `4faeb96` baseline/operator packet, `b90cae9` coverage/native proof, `4ccbe2d` findings/reflow, `6fb440a` preservation reconciliation, and `84e3bb5` mobile diagnostic/proof. Final evidence/docs receive their own immediate push; exact final SHA and clean-tree/remote equality are checked after creation rather than inventing a self-referential commit hash.
|
||||
|
||||
Before progression, independently repair and verify bothP1 boundaries and disposition the other confirmed defects, then collect actual operator/device evidence. No automatic04 or03 implementation is authorized here. F04/current backup+tested restore/configuration-schema-secrets/tested rollback/deployed health remain production release blockers. P5-13 stays deferred/unqualified/Production-withheld0of366calls,0human semantic reviews,UIunimplemented; followMode, Board scaling/native touch and Dashboard preference500 debt remain tracked. Stop after02; do not declare Phase5 complete.
|
||||
|
||||
@@ -11,7 +11,7 @@ This supporting record reports fresh browser geometry and interaction evidence.
|
||||
|
||||
`zoom-observations.json` is a parsed view of `zoom.json`; its `actual-browser-zoom-observations` attachments contain the measurements. The responsive measurements below were read directly from JSON attachments embedded in `audit-attempt3.json`, including `drawer-focus-recovery` and `emulated-touch-boundary`. These are successive runs, not independent sets to sum into a larger acceptance count.
|
||||
|
||||
The collection cases intentionally retain findings without asserting that every measured screen passes accessibility. A green collection result means the native route was loaded and evidence was collected. The four failed interaction cases remain failures.
|
||||
The collection cases intentionally retain findings without asserting that every measured screen passes accessibility. A green collection result means the native route was loaded and evidence was collected. Those four historical runner failures are retained; one was a subsequently corrected Job-tab test assumption, not an unresolved product defect.
|
||||
|
||||
## Actual browser zoom
|
||||
|
||||
@@ -25,6 +25,8 @@ The collection cases intentionally retain findings without asserting that every
|
||||
|
||||
The 400% inner width is slightly narrower than 320 CSS pixels because the browser's available content width is 1264 pixels. The unchanged outer size and increasing pixel ratio demonstrate actual zoom rather than resizing alone.
|
||||
|
||||
The final Playwright400% raster captures show only a cropped top-left header, not a full-window visual comparison. They are retained with that limitation and cannot establish content/focus readability or complete visual reflow acceptance. The asserted tab zoom, inner dimensions and geometry ledger remain valid independently; human full-window/task review is still required.
|
||||
|
||||
There are **102 geometry records**: **78** measurements across 13 areas × 3 zoom levels × 2 language/theme combinations, plus **24** text-spacing measurements across the 12 protected areas × 2 combinations. The combinations are English/light and Bokmål/dark. Authentication is measured before sign-in; the protected routes use synthetic owned records and native API responses. The 13 areas are Authentication, Shell, Jobs, Board, Dashboard, Analytics, Job workspace, Documents, Career Profile, CV Builder, Settings, Administration, and Correspondence.
|
||||
|
||||
All 102 records reported **0 pixels of outer-page horizontal overflow**. All measured application main containers reported **0 pixels of horizontal overflow**; the public sign-in page has no main landmark, so that field is `null`. This does not prove every control is visible: an enclosing container can clip content while keeping the outer page narrow.
|
||||
|
||||
@@ -0,0 +1,186 @@
|
||||
{
|
||||
"checkedUtc": "2026-10-10T19:05:35.574607+00:00",
|
||||
"source": "cf847e9b256d9aec733abf3f37c42852c9dd2421",
|
||||
"preFinalDocumentHead": "84e3bb5b44d5eebaa7da3a710ce183a9f4857284",
|
||||
"productionMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4",
|
||||
"productionChanged": false,
|
||||
"applicationCodeChanged": false,
|
||||
"PRES": {
|
||||
"PARTIAL": 50,
|
||||
"FAIL": 6,
|
||||
"DEFERRED": 1
|
||||
},
|
||||
"checks": [
|
||||
{
|
||||
"name": "e2e-typescript",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"node",
|
||||
"node_modules/typescript/bin/tsc",
|
||||
"--project",
|
||||
"../.artifacts/p5-15-01/e2e-tsconfig.json",
|
||||
"--noEmit",
|
||||
"--incremental",
|
||||
"false"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"logSha256": "a4ed4c2c830adf807283a578ea7ee8b2f659416a86da69815d6147237e7d7f36"
|
||||
},
|
||||
{
|
||||
"name": "lint",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"npm.cmd",
|
||||
"run",
|
||||
"lint"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"logSha256": "cfebe429755ba96788c4799da52e25090c30bf8c70ef856fb3dbb9cb1396b233"
|
||||
},
|
||||
{
|
||||
"name": "secrets",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"python",
|
||||
"scripts/supply-chain.py",
|
||||
"scan-secrets"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"logSha256": "da6efdc7fe0b34b8658c000c05ed2eaa8fdaf0dd62756adf51f7a770d5a4485f"
|
||||
},
|
||||
{
|
||||
"name": "working-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"--check"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"logSha256": "a4ed4c2c830adf807283a578ea7ee8b2f659416a86da69815d6147237e7d7f36"
|
||||
},
|
||||
{
|
||||
"name": "staged-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"--cached",
|
||||
"--check"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"logSha256": "a4ed4c2c830adf807283a578ea7ee8b2f659416a86da69815d6147237e7d7f36"
|
||||
},
|
||||
{
|
||||
"name": "range-whitespace",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"cf847e9b256d9aec733abf3f37c42852c9dd2421",
|
||||
"--check"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"logSha256": "a4ed4c2c830adf807283a578ea7ee8b2f659416a86da69815d6147237e7d7f36"
|
||||
},
|
||||
{
|
||||
"name": "changed-files",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"diff",
|
||||
"cf847e9b256d9aec733abf3f37c42852c9dd2421",
|
||||
"--name-only"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"logSha256": "a8fe8422ecb1b5ad6bbe8854979c445ae1f52ceca9b89b7a88ec7023bbb7d266"
|
||||
},
|
||||
{
|
||||
"name": "local-main",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"rev-parse",
|
||||
"main"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"logSha256": "897066df123bc63e82a45f42fe9b6dbc9dd0aeff602dd814ffdf3ffd8de8ec2c"
|
||||
},
|
||||
{
|
||||
"name": "remote-branches",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"ls-remote",
|
||||
"origin",
|
||||
"refs/heads/main",
|
||||
"refs/heads/codex/ui-redesign-phase4"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"logSha256": "97696fdcde46884585867debee99a777edf69054a304d8a22c4f3cee965c2933"
|
||||
},
|
||||
{
|
||||
"name": "current-head",
|
||||
"command": [
|
||||
"rtk",
|
||||
"proxy",
|
||||
"git",
|
||||
"rev-parse",
|
||||
"HEAD"
|
||||
],
|
||||
"exitCode": 0,
|
||||
"logSha256": "129541d923ae3d2f2e57793b48b92afc0cfc8425fb86c27518ca27fafe9634f1"
|
||||
}
|
||||
],
|
||||
"documentationFilesChecked": 9,
|
||||
"changedFiles": [
|
||||
"docs/redesign/phase-5/p5-15/PRESERVATION_ACCEPTANCE.md",
|
||||
"docs/redesign/phase-5/p5-15/READINESS_DEBT.md",
|
||||
"docs/redesign/phase-5/p5-15/README.md",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/AXE_TRIAGE.md",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/DEFECTS.md",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/MANUAL_ACCEPTANCE.md",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/README.md",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/RESPONSIVE_RESULTS.md",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/TEST_COVERAGE.md",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/axe-baseline-triage.json",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/fresh-audit.json",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/fresh-zoom.json",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/mobile-preview-proof.json",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/native-issues.json",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/repository-summary.json",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/responsive-ledger.json",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/admin-768x900-nb-dark-03027c85e6de85184f5d7c157c7d8ec51478403e.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/analytics-390x900-en-light-8a2acea0fa3de9ed2ea6dc89bccd6b1de85002ad.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/authentication-320x844-en-light-7986158dcd7a9a6fb41d752834bd9229df485cff.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/board-390x900-en-light-af6284a9303f928c2c7df46b5a9316cab8b11eba.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/commands-390x900-nb-dark-4facc410699e33a7ec9b48786b58e2851bd458fb.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/cv-1440x900-en-light-608236721a1019ecb9feba86eb01a12f99ff5487.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/cv-390x844-nb-dark-emulated-touch-preview-8d235f89e8c7fa78ed568f0971577da223bff1ce.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/dashboard-768x900-nb-dark-770ea1c37a2131512eeb9dfbd9cd27bf2de4b4bd.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/documents-320x900-nb-dark-6b5557496fece500b0ac01e729b4355b5d7b318d.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/jobs-320x900-nb-dark-d6b40372f6181466a06fee9879140ccb06128ccc.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/mobile-preview-measurement-390-en-light.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/mobile-preview-native-pdf-page1.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/profile-390x900-nb-dark-ee11fa6a13b61b892fb8ff70a7dc493a3bd22c75.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/settings-320x900-nb-dark-55e6a377c15360537fd45d4b32e23bbd92dd0020.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/shell-390x900-en-light-navigation-open-789d184c24d40ec844c6427a630bdb4cbc908e86.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/zoom-CV-Builder-400-12b59cc233e655516573b8dadc9b31e3f78782ef.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/screenshots/zoom-Jobs-400-7b3060f37a41a4f275151608d1e4e4f6112a39e4.png",
|
||||
"docs/redesign/phase-5/p5-15/p5-15-02/evidence/validation.json",
|
||||
"job-tracker-ui/e2e/browser-zoom-audit.spec.ts",
|
||||
"job-tracker-ui/e2e/responsive-accessibility-audit.spec.ts"
|
||||
],
|
||||
"limits": [
|
||||
"Pre-final-doc commit; final remote/tree check is performed after committing. Browser audit has genuine failures; passing hygiene does not close them. No human AT/device/production/model qualification."
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 147 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 5.8 KiB |