{ "source": ".artifacts/p5-15-02/browser/main.json", "sha256": "397ac8175d8b484775b6db2bb81c01643a948dac5c1be3c86ec88f9b2ed2659f", "stats": { "startTime": "2026-10-10T18:31:19.944Z", "duration": 1646605.326, "expected": 139, "skipped": 0, "unexpected": 4, "flaky": 0 }, "tests": [ { "file": "accessibility.spec.ts", "line": 24, "title": "public entry points meet automated WCAG A and AA checks", "status": "passed", "durationMs": 9245, "retry": 0, "errors": [] }, { "file": "accessibility.spec.ts", "line": 32, "title": "primary authenticated workspaces meet automated WCAG A and AA checks", "status": "passed", "durationMs": 7297, "retry": 0, "errors": [] }, { "file": "account-isolation.spec.ts", "line": 43, "title": "retained profile request from A cannot write using B cookies and fresh B CSRF", "status": "passed", "durationMs": 748, "retry": 0, "errors": [] }, { "file": "account-isolation.spec.ts", "line": 64, "title": "missing and forged session contexts fail closed while same-account profile saves work", "status": "passed", "durationMs": 469, "retry": 0, "errors": [] }, { "file": "account-isolation.spec.ts", "line": 87, "title": "crafted CV identifiers cannot cross read update delete or job-association ownership", "status": "passed", "durationMs": 733, "retry": 0, "errors": [] }, { "file": "account-isolation.spec.ts", "line": 117, "title": "[P5-00 PRES-E05 E07 E08] account switch disposes open command, account and notification surfaces", "status": "passed", "durationMs": 5381, "retry": 0, "errors": [] }, { "file": "account-isolation.spec.ts", "line": 167, "title": "two tabs discard A's private form before B can use it, including Back navigation", "status": "passed", "durationMs": 5218, "retry": 0, "errors": [] }, { "file": "analytics-auth-repair.spec.ts", "line": 40, "title": "[P5-15-01R-03 AUTH-01] native sign-in restores the non-default Analytics period", "status": "passed", "durationMs": 1461, "retry": 0, "errors": [] }, { "file": "analytics-auth-repair.spec.ts", "line": 61, "title": "[P5-15-01R-03] Analytics encoded period, fragment and existing defaults survive native sign-in across locales/themes", "status": "passed", "durationMs": 5476, "retry": 0, "errors": [] }, { "file": "analytics-auth-repair.spec.ts", "line": 95, "title": "[P5-15-01R-03] failed local sign-in preserves the destination; default, history, refresh and authenticated links stay correct", "status": "passed", "durationMs": 3802, "retry": 0, "errors": [] }, { "file": "analytics-auth-repair.spec.ts", "line": 128, "title": "[P5-15-01R-03] expired browser cookie retains the report return path; deliberate logout clears it", "status": "passed", "durationMs": 3360, "retry": 0, "errors": [] }, { "file": "analytics-auth-repair.spec.ts", "line": 152, "title": "[P5-15-01R-03 PRES-E09] another protected section keeps its destination without bypassing ownership or unsafe-target validation", "status": "passed", "durationMs": 6366, "retry": 0, "errors": [] }, { "file": "analytics-presentation.spec.ts", "line": 19, "title": "[PRES-S01 S02 E07 E08 E09 J05 J09] Analytics native reports, direct entry, period, drill-down and owner isolation", "status": "passed", "durationMs": 16676, "retry": 0, "errors": [] }, { "file": "analytics-presentation.spec.ts", "line": 145, "title": "[PRES-S01 E08] Analytics independent loading and failure states never masquerade as empty reports", "status": "passed", "durationMs": 3061, "retry": 0, "errors": [] }, { "file": "board-presentation.spec.ts", "line": 27, "title": "[PRES-J07 J05 W01 W02 E07 E08 E09] Board query membership matches Table and preserves moves, focus and route", "status": "passed", "durationMs": 19787, "retry": 0, "errors": [] }, { "file": "board-presentation.spec.ts", "line": 256, "title": "[PRES-J05 J07 E07 W01] legacy Board replaces history and preserves query, hash and route state; default Jobs stays Table", "status": "passed", "durationMs": 1350, "retry": 0, "errors": [] }, { "file": "board-presentation.spec.ts", "line": 273, "title": "[PRES-J07 E08] Board loading, retryable error and fully empty columns", "status": "passed", "durationMs": 2696, "retry": 0, "errors": [] }, { "file": "browser-zoom-audit.spec.ts", "line": 49, "title": "[P5-15-02 E08 C06] actual browser zoom en/light: collect 100/200/400 percent reflow without changing document geometry", "status": "passed", "durationMs": 18201, "retry": 0, "errors": [] }, { "file": "browser-zoom-audit.spec.ts", "line": 49, "title": "[P5-15-02 E08 C06] actual browser zoom nb/dark: collect 100/200/400 percent reflow without changing document geometry", "status": "passed", "durationMs": 18140, "retry": 0, "errors": [] }, { "file": "builder-preview-keyboard.spec.ts", "line": 90, "title": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] light/en preview keyboard, pagination and responsive state", "status": "passed", "durationMs": 15804, "retry": 0, "errors": [] }, { "file": "builder-preview-keyboard.spec.ts", "line": 90, "title": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] dark/nb preview keyboard, pagination and responsive state", "status": "passed", "durationMs": 15825, "retry": 0, "errors": [] }, { "file": "builder-preview-keyboard.spec.ts", "line": 90, "title": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] light/nb preview keyboard, pagination and responsive state", "status": "passed", "durationMs": 15526, "retry": 0, "errors": [] }, { "file": "builder-preview-keyboard.spec.ts", "line": 90, "title": "[PRES-C06 PRES-C07 PRES-C10 PRES-E08] dark/en preview keyboard, pagination and responsive state", "status": "passed", "durationMs": 15942, "retry": 0, "errors": [] }, { "file": "csv-export.spec.ts", "line": 6, "title": "CSV export has safe cells and headers, and browser download preserves its UTF-8 bytes", "status": "passed", "durationMs": 3585, "retry": 0, "errors": [] }, { "file": "cv-editor-frame.spec.ts", "line": 23, "title": "[PRES-C05 C06 C07 C10 W05 E08] light/en CV frame navigation, actions and pending editing", "status": "passed", "durationMs": 18078, "retry": 0, "errors": [] }, { "file": "cv-editor-frame.spec.ts", "line": 23, "title": "[PRES-C05 C06 C07 C10 W05 E08] dark/nb CV frame navigation, actions and pending editing", "status": "passed", "durationMs": 17918, "retry": 0, "errors": [] }, { "file": "cv-editor-frame.spec.ts", "line": 23, "title": "[PRES-C05 C06 C07 C10 W05 E08] light/nb CV frame navigation, actions and pending editing", "status": "passed", "durationMs": 17884, "retry": 0, "errors": [] }, { "file": "cv-editor-frame.spec.ts", "line": 23, "title": "[PRES-C05 C06 C07 C10 W05 E08] dark/en CV frame navigation, actions and pending editing", "status": "passed", "durationMs": 18165, "retry": 0, "errors": [] }, { "file": "cv-pagination.spec.ts", "line": 8, "title": "[PRES-C09 C12] original flowing/boundary fixtures retain native PDF page membership", "status": "passed", "durationMs": 611, "retry": 0, "errors": [] }, { "file": "cv-pagination.spec.ts", "line": 31, "title": "[PRES-C06 C09] pagination waits for image layout and publishes one settled measurement", "status": "passed", "durationMs": 238, "retry": 0, "errors": [] }, { "file": "cv-preview-presentation.spec.ts", "line": 31, "title": "[PRES-C06 C08 C09 C10 C12 E08 E09] light/en native preview chrome, auto-fit, long pages and recovery", "status": "passed", "durationMs": 21917, "retry": 0, "errors": [] }, { "file": "cv-preview-presentation.spec.ts", "line": 31, "title": "[PRES-C06 C08 C09 C10 C12 E08 E09] dark/nb native preview chrome, auto-fit, long pages and recovery", "status": "passed", "durationMs": 22085, "retry": 0, "errors": [] }, { "file": "cv-readiness.spec.ts", "line": 40, "title": "[PRES-C06 C08 C09 C12] native preview/PDF fidelity corpus records unchanged output at fixed settings", "status": "passed", "durationMs": 46552, "retry": 0, "errors": [] }, { "file": "cv-readiness.spec.ts", "line": 138, "title": "[PRES-C10 E05] independent authenticated clients cannot save or restore a stale CV revision", "status": "passed", "durationMs": 326, "retry": 0, "errors": [] }, { "file": "cv-readiness.spec.ts", "line": 173, "title": "[PRES-C06 C10 E08] stale editor retains and downloads its draft; reviewed reload resumes versioned saves", "status": "passed", "durationMs": 3055, "retry": 0, "errors": [] }, { "file": "cv-responsive-workflow.spec.ts", "line": 98, "title": "[PRES-C05 C06 C07 C10 E08 E09] light/en responsive panes retain draft, source, pointer order and revision recovery", "status": "passed", "durationMs": 16542, "retry": 0, "errors": [] }, { "file": "cv-responsive-workflow.spec.ts", "line": 98, "title": "[PRES-C05 C06 C07 C10 E08 E09] dark/nb responsive panes retain draft, source, pointer order and revision recovery", "status": "passed", "durationMs": 16163, "retry": 0, "errors": [] }, { "file": "cv-responsive-workflow.spec.ts", "line": 98, "title": "[PRES-C05 C06 C07 C10 E08 E09] light/nb responsive panes retain draft, source, pointer order and revision recovery", "status": "passed", "durationMs": 16050, "retry": 0, "errors": [] }, { "file": "cv-responsive-workflow.spec.ts", "line": 98, "title": "[PRES-C05 C06 C07 C10 E08 E09] dark/en responsive panes retain draft, source, pointer order and revision recovery", "status": "passed", "durationMs": 16148, "retry": 0, "errors": [] }, { "file": "cv-responsive-workflow.spec.ts", "line": 227, "title": "[PRES-C05 C06 C07 E08] emulated touch taps pane actions and the accessible entry-order alternative", "status": "passed", "durationMs": 7260, "retry": 0, "errors": [] }, { "file": "cv-section-scope.spec.ts", "line": 25, "title": "[PRES-C05 C07 C10 W05 E08] light/en CV field scope, source resets, entry order and custom content", "status": "passed", "durationMs": 29629, "retry": 0, "errors": [] }, { "file": "cv-section-scope.spec.ts", "line": 25, "title": "[PRES-C05 C07 C10 W05 E08] dark/nb CV field scope, source resets, entry order and custom content", "status": "passed", "durationMs": 29805, "retry": 0, "errors": [] }, { "file": "cv-section-scope.spec.ts", "line": 25, "title": "[PRES-C05 C07 C10 W05 E08] light/nb CV field scope, source resets, entry order and custom content", "status": "passed", "durationMs": 29928, "retry": 0, "errors": [] }, { "file": "cv-section-scope.spec.ts", "line": 25, "title": "[PRES-C05 C07 C10 W05 E08] dark/en CV field scope, source resets, entry order and custom content", "status": "passed", "durationMs": 29874, "retry": 0, "errors": [] }, { "file": "cv-settings-presentation.spec.ts", "line": 81, "title": "[PRES-C06 C08 C09 C10 C12 E08 E09] light/en document controls preserve settings, source, history and native output", "status": "passed", "durationMs": 18585, "retry": 0, "errors": [] }, { "file": "cv-settings-presentation.spec.ts", "line": 81, "title": "[PRES-C06 C08 C09 C10 C12 E08 E09] dark/nb document controls preserve settings, source, history and native output", "status": "passed", "durationMs": 19491, "retry": 0, "errors": [] }, { "file": "cv-settings-presentation.spec.ts", "line": 81, "title": "[PRES-C06 C08 C09 C10 C12 E08 E09] light/nb document controls preserve settings, source, history and native output", "status": "passed", "durationMs": 18211, "retry": 0, "errors": [] }, { "file": "cv-settings-presentation.spec.ts", "line": 81, "title": "[PRES-C06 C08 C09 C10 C12 E08 E09] dark/en document controls preserve settings, source, history and native output", "status": "passed", "durationMs": 19290, "retry": 0, "errors": [] }, { "file": "dashboard-presentation.spec.ts", "line": 18, "title": "[PRES-S01 S02 E07 E08 E09] Dashboard native data, visibility and responsive presentation", "status": "passed", "durationMs": 19831, "retry": 0, "errors": [] }, { "file": "dashboard-presentation.spec.ts", "line": 160, "title": "[PRES-S01 E08] Dashboard loading and independent failed resources retain retry and exact values", "status": "passed", "durationMs": 2694, "retry": 0, "errors": [] }, { "file": "functional-acceptance.spec.ts", "line": 89, "title": "[P5-15-01 E02 E07 A01] all 32 routes retain native entry, refresh and anonymous permissions", "status": "passed", "durationMs": 27775, "retry": 0, "errors": [] }, { "file": "functional-acceptance.spec.ts", "line": 89, "title": "[P5-15-01 E02 E07 A01] all 32 routes retain native entry, refresh and normal permissions", "status": "passed", "durationMs": 39861, "retry": 0, "errors": [] }, { "file": "functional-acceptance.spec.ts", "line": 89, "title": "[P5-15-01 E02 E07 A01] all 32 routes retain native entry, refresh and admin permissions", "status": "passed", "durationMs": 43901, "retry": 0, "errors": [] }, { "file": "functional-acceptance.spec.ts", "line": 171, "title": "[P5-15-01 W01 C07 A01] foreign and missing workspace deep links deny data through entry and refresh", "status": "passed", "durationMs": 6033, "retry": 0, "errors": [] }, { "file": "functional-acceptance.spec.ts", "line": 211, "title": "[P5-15-01 J05 J07] a finite 250-job Board preserves the complete matching Table population", "status": "passed", "durationMs": 5793, "retry": 0, "errors": [] }, { "file": "job-discovery.spec.ts", "line": 18, "title": "discovery remains usable across widths and opens the reviewed import", "status": "passed", "durationMs": 3622, "retry": 0, "errors": [] }, { "file": "job-overview-presentation.spec.ts", "line": 19, "title": "[PRES-W01 W02 W03 J05 E08 E09] native Job header/Overview retains actions, custom status, aliases and mobile progress keyboard access", "status": "passed", "durationMs": 11918, "retry": 0, "errors": [] }, { "file": "job-overview-presentation.spec.ts", "line": 108, "title": "[PRES-W01 W02 E08] Job Overview loading, failed read, retry and unavailable resource remain explicit", "status": "passed", "durationMs": 1560, "retry": 0, "errors": [] }, { "file": "job-sections-presentation.spec.ts", "line": 13, "title": "[PRES-W01 W08 M01 E08] Job section loading and partial read failures stay explicit and recover locally", "status": "passed", "durationMs": 6693, "retry": 0, "errors": [] }, { "file": "job-sections-presentation.spec.ts", "line": 62, "title": "[PRES-W01–W11 E08 E09] native Job sections retain drafts, frozen documents, tasks and history (en, light)", "status": "passed", "durationMs": 21939, "retry": 0, "errors": [] }, { "file": "job-sections-presentation.spec.ts", "line": 62, "title": "[PRES-W01–W11 E08 E09] native Job sections retain drafts, frozen documents, tasks and history (en, dark)", "status": "passed", "durationMs": 18523, "retry": 0, "errors": [] }, { "file": "job-sections-presentation.spec.ts", "line": 62, "title": "[PRES-W01–W11 E08 E09] native Job sections retain drafts, frozen documents, tasks and history (nb, light)", "status": "passed", "durationMs": 18625, "retry": 0, "errors": [] }, { "file": "job-sections-presentation.spec.ts", "line": 62, "title": "[PRES-W01–W11 E08 E09] native Job sections retain drafts, frozen documents, tasks and history (nb, dark)", "status": "passed", "durationMs": 19563, "retry": 0, "errors": [] }, { "file": "kanban-theme.spec.ts", "line": 14, "title": "kanban columns use dark theme surfaces", "status": "passed", "durationMs": 3322, "retry": 0, "errors": [] }, { "file": "named-controls-modal-state.spec.ts", "line": 62, "title": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] light/en/1440 named controls, modal keyboard and retained draft", "status": "passed", "durationMs": 10287, "retry": 0, "errors": [] }, { "file": "named-controls-modal-state.spec.ts", "line": 62, "title": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] dark/nb/1440 named controls, modal keyboard and retained draft", "status": "passed", "durationMs": 10253, "retry": 0, "errors": [] }, { "file": "named-controls-modal-state.spec.ts", "line": 62, "title": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] light/nb/390 named controls, modal keyboard and retained draft", "status": "passed", "durationMs": 9575, "retry": 0, "errors": [] }, { "file": "named-controls-modal-state.spec.ts", "line": 62, "title": "[PRES-E07 PRES-E08 PRES-J08 PRES-C08 PRES-C09 PRES-W06 PRES-W08] dark/en/390 named controls, modal keyboard and retained draft", "status": "passed", "durationMs": 9557, "retry": 0, "errors": [] }, { "file": "redesign-preservation.spec.ts", "line": 43, "title": "[PRES-C01 PRES-C06 PRES-C07 PRES-C10] mobile CV override persists without changing the canonical profile or sibling CV", "status": "passed", "durationMs": 3001, "retry": 0, "errors": [] }, { "file": "redesign-preservation.spec.ts", "line": 73, "title": "[PRES-W01 PRES-W05 PRES-W06 PRES-W07 PRES-W08] legacy workspace preserves frozen documents after current sources change", "status": "passed", "durationMs": 2770, "retry": 0, "errors": [] }, { "file": "redesign-preservation.spec.ts", "line": 156, "title": "[PRES-W01 PRES-W04 PRES-W08 PRES-E08 PRES-E09] native workspace aliases, keyboard sections and history retain context (en, light)", "status": "passed", "durationMs": 13210, "retry": 0, "errors": [] }, { "file": "redesign-preservation.spec.ts", "line": 156, "title": "[PRES-W01 PRES-W04 PRES-W08 PRES-E08 PRES-E09] native workspace aliases, keyboard sections and history retain context (en, dark)", "status": "passed", "durationMs": 13209, "retry": 0, "errors": [] }, { "file": "redesign-preservation.spec.ts", "line": 156, "title": "[PRES-W01 PRES-W04 PRES-W08 PRES-E08 PRES-E09] native workspace aliases, keyboard sections and history retain context (nb, light)", "status": "passed", "durationMs": 13042, "retry": 0, "errors": [] }, { "file": "redesign-preservation.spec.ts", "line": 156, "title": "[PRES-W01 PRES-W04 PRES-W08 PRES-E08 PRES-E09] native workspace aliases, keyboard sections and history retain context (nb, dark)", "status": "passed", "durationMs": 13110, "retry": 0, "errors": [] }, { "file": "redesign-preservation.spec.ts", "line": 209, "title": "[PRES-S03 PRES-W11] responsive settings navigation keeps rule edits and persists notification preferences", "status": "passed", "durationMs": 3137, "retry": 0, "errors": [] }, { "file": "redesign-preservation.spec.ts", "line": 236, "title": "[PRES-S03] rule changes persist through the real API", "status": "passed", "durationMs": 308, "retry": 0, "errors": [] }, { "file": "redesign-preservation.spec.ts", "line": 243, "title": "[PRES-E07 PRES-W01 PRES-J04] keyboard command navigation and legacy workspace entry preserve the selected job", "status": "passed", "durationMs": 2357, "retry": 0, "errors": [] }, { "file": "redesign-preservation.spec.ts", "line": 266, "title": "[PRES-A01 PRES-S04 PRES-E07] non-admin navigation cannot grant API privileges or unlock CV AI", "status": "passed", "durationMs": 2676, "retry": 0, "errors": [] }, { "file": "responsive-accessibility-audit.spec.ts", "line": 142, "title": "[P5-15-02 COLLECTION] thirteen areas retain native rendered entry across the distributed responsive/accessibility matrix", "status": "passed", "durationMs": 71086, "retry": 0, "errors": [] }, { "file": "responsive-accessibility-audit.spec.ts", "line": 183, "title": "[P5-15-02] reduced-motion mobile drawer enters focus and Escape returns it", "status": "failed", "durationMs": 25066, "retry": 0, "errors": [ "Error: expect(locator).toBeFocused() failed\n\nLocator: getByRole('dialog', { name: 'Navigation', exact: true }).getByRole('button', { name: 'Dashboard', exact: true })\nExpected: focused\nReceived: inactive\nTimeout: 5000ms\n\nCall log:\n - Expect \"soft toBeFocused\" with timeout 5000ms\n - waiting for getByRole('dialog', { name: 'Navigation', exact: true }).getByRole('button', { name: 'Dashboard', exact: true })\n 12 × locator resolved to
…
\n - unexpected value \"inactive\"\n\n\n 189 | const navigation = page.getByRole('button', { name: t.openNavigation, exact: true });\n 190 | await navigation.focus(); await navigation.press('Enter');\n> 191 | const drawer = page.getByRole('dialog', { name: t.navigation, exact: true });\n | ^\n 192 | await expect.soft(drawer.getByRole('button', { name: t.dashboard, exact: true })).toBeFocused();\n 193 | const focus = () => page.evaluate(() => ({ active: document.activeElement?.outerHTML.slice(0, 500), focusedInDialog: !!document.activeElement?.closest('[role=dialog]') }));\n 194 | const beforeScan = await focus();\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\responsive-accessibility-audit.spec.ts:191:85", "Error: expect(locator).toBeFocused() failed\n\nLocator: getByRole('button', { name: 'Open navigation', exact: true })\nExpected: focused\nTimeout: 5000ms\nError: element(s) not found\n\nCall log:\n - Expect \"soft toBeFocused\" with timeout 5000ms\n - waiting for getByRole('button', { name: 'Open navigation', exact: true })\n\n\n 194 | const beforeScan = await focus();\n 195 | await collect(page, info, sample, 'navigation-open');\n> 196 | const afterScan = await focus();\n | ^\n 197 | await page.keyboard.press('Escape'); await expect.soft(navigation).toBeFocused();\n 198 | const afterEscape = await focus();\n 199 | const stayedOpen = await drawer.isVisible();\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\responsive-accessibility-audit.spec.ts:196:70" ] }, { "file": "responsive-accessibility-audit.spec.ts", "line": 207, "title": "[P5-15-02] keyboard command, dialog, section and document controls keep deliberate focus contracts", "status": "passed", "durationMs": 24339, "retry": 0, "errors": [] }, { "file": "responsive-accessibility-audit.spec.ts", "line": 258, "title": "[P5-15-02 COLLECTION] text-spacing overrides and landscape reflow retain inspectable native controls, without claiming browser zoom", "status": "passed", "durationMs": 24107, "retry": 0, "errors": [] }, { "file": "responsive-accessibility-audit.spec.ts", "line": 270, "title": "[P5-15-02 C06 C07] CV source action reaches the existing Career Profile workflow", "status": "failed", "durationMs": 19708, "retry": 0, "errors": [ "Error: expect(page).toHaveURL(expected) failed\n\nExpected: predicate to succeed\nReceived: \"http://localhost:3300/career/profile\"\nTimeout: 5000ms\n\n\n 276 | await link.press('Enter');\n 277 | await expect(page.getByRole('main')).toBeVisible();\n> 278 | await info.attach('cv-source-action-destination', { body: JSON.stringify({ href, destination: page.url(), expected: '/career or /career?section=profile; established canonical source workflow', observedText: await page.getByRole('main').innerText() }), contentType: 'application/json' });\n | ^\n 279 | await expect(page).toHaveURL(url => url.pathname === '/career');\n 280 | await expect(page.getByLabel(t.profileCvContactFullName, { exact: true })).toHaveValue('Åse Revisjonseksempel');\n 281 | });\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\responsive-accessibility-audit.spec.ts:278:22" ] }, { "file": "responsive-accessibility-audit.spec.ts", "line": 282, "title": "[P5-15-02 W08 J10] keyboard upload and import controls open the native file chooser", "status": "failed", "durationMs": 33450, "retry": 0, "errors": [ "Error: Upload Enter opens the native picker\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n\n 298 | const [chooser] = await Promise.all([page.waitForEvent('filechooser', { timeout: 3000 }).catch(() => null), control.press(key)]);\n 299 | outcomes.push({ route: path, label, key, opened: !!chooser });\n> 300 | if (chooser) await chooser.setFiles([]);\n | ^\n 301 | expect.soft(!!chooser, `${label} ${key} opens the native picker`).toBe(true);\n 302 | }\n 303 | const [pointerChooser] = await Promise.all([page.waitForEvent('filechooser', { timeout: 3000 }).catch(() => null), control.click()]);\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\responsive-accessibility-audit.spec.ts:300:75", "Error: Upload Space opens the native picker\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n\n 298 | const [chooser] = await Promise.all([page.waitForEvent('filechooser', { timeout: 3000 }).catch(() => null), control.press(key)]);\n 299 | outcomes.push({ route: path, label, key, opened: !!chooser });\n> 300 | if (chooser) await chooser.setFiles([]);\n | ^\n 301 | expect.soft(!!chooser, `${label} ${key} opens the native picker`).toBe(true);\n 302 | }\n 303 | const [pointerChooser] = await Promise.all([page.waitForEvent('filechooser', { timeout: 3000 }).catch(() => null), control.click()]);\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\responsive-accessibility-audit.spec.ts:300:75", "Error: Import JSON Enter opens the native picker\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n\n 298 | const [chooser] = await Promise.all([page.waitForEvent('filechooser', { timeout: 3000 }).catch(() => null), control.press(key)]);\n 299 | outcomes.push({ route: path, label, key, opened: !!chooser });\n> 300 | if (chooser) await chooser.setFiles([]);\n | ^\n 301 | expect.soft(!!chooser, `${label} ${key} opens the native picker`).toBe(true);\n 302 | }\n 303 | const [pointerChooser] = await Promise.all([page.waitForEvent('filechooser', { timeout: 3000 }).catch(() => null), control.click()]);\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\responsive-accessibility-audit.spec.ts:300:75", "Error: Import JSON Space opens the native picker\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n\n 298 | const [chooser] = await Promise.all([page.waitForEvent('filechooser', { timeout: 3000 }).catch(() => null), control.press(key)]);\n 299 | outcomes.push({ route: path, label, key, opened: !!chooser });\n> 300 | if (chooser) await chooser.setFiles([]);\n | ^\n 301 | expect.soft(!!chooser, `${label} ${key} opens the native picker`).toBe(true);\n 302 | }\n 303 | const [pointerChooser] = await Promise.all([page.waitForEvent('filechooser', { timeout: 3000 }).catch(() => null), control.click()]);\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\responsive-accessibility-audit.spec.ts:300:75", "Error: Convert CSV to Import JSON Enter opens the native picker\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n\n 298 | const [chooser] = await Promise.all([page.waitForEvent('filechooser', { timeout: 3000 }).catch(() => null), control.press(key)]);\n 299 | outcomes.push({ route: path, label, key, opened: !!chooser });\n> 300 | if (chooser) await chooser.setFiles([]);\n | ^\n 301 | expect.soft(!!chooser, `${label} ${key} opens the native picker`).toBe(true);\n 302 | }\n 303 | const [pointerChooser] = await Promise.all([page.waitForEvent('filechooser', { timeout: 3000 }).catch(() => null), control.click()]);\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\responsive-accessibility-audit.spec.ts:300:75", "Error: Convert CSV to Import JSON Space opens the native picker\n\nexpect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n\n 298 | const [chooser] = await Promise.all([page.waitForEvent('filechooser', { timeout: 3000 }).catch(() => null), control.press(key)]);\n 299 | outcomes.push({ route: path, label, key, opened: !!chooser });\n> 300 | if (chooser) await chooser.setFiles([]);\n | ^\n 301 | expect.soft(!!chooser, `${label} ${key} opens the native picker`).toBe(true);\n 302 | }\n 303 | const [pointerChooser] = await Promise.all([page.waitForEvent('filechooser', { timeout: 3000 }).catch(() => null), control.click()]);\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\responsive-accessibility-audit.spec.ts:300:75" ] }, { "file": "responsive-accessibility-audit.spec.ts", "line": 313, "title": "[P5-15-02] emulated taps preserve CV modes and navigation across portrait/landscape viewport changes", "status": "failed", "durationMs": 23038, "retry": 0, "errors": [ "Error: expect(locator).toBeFocused() failed\n\nLocator: getByRole('button', { name: 'Åpne navigasjon', exact: true })\nExpected: focused\nTimeout: 5000ms\nError: element(s) not found\n\nCall log:\n - Expect \"soft toBeFocused\" with timeout 5000ms\n - waiting for getByRole('button', { name: 'Åpne navigasjon', exact: true })\n\n\n 332 | await info.attach('mobile-preview-measurement', { path: screenshot, contentType: 'image/png' });\n 333 | await info.attach('mobile-preview-physical-measurement', { body: JSON.stringify({ inEdit, inPreview, pageCountText: await page.getByRole('status').allTextContents(), method: 'native DOM measurements before axe; A4 physical width 210mm =793.7008CSSpx at96dpi' }), contentType: 'application/json' });\n> 334 | const pdf = await page.request.post(`${apiUrl}/cv/variants/${owner.cvId}/export-pdf`, { headers: owner.headers });\n | ^\n 335 | expect(pdf.status()).toBe(200);\n 336 | const exportPath = info.outputPath('mobile-preview-export.pdf');\n 337 | await writeFile(exportPath, await pdf.body());\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\responsive-accessibility-audit.spec.ts:334:72" ] }, { "file": "rules-draft-repair.spec.ts", "line": 73, "title": "[P5-15-01R-02 PRES-S03 W11] unsaved Rules draft survives an internal tab round trip without saving", "status": "passed", "durationMs": 1703, "retry": 0, "errors": [] }, { "file": "rules-draft-repair.spec.ts", "line": 99, "title": "[P5-15-01R-02] native Rules save, validation, failure/retry and discard across themes/locales/viewports", "status": "passed", "durationMs": 21803, "retry": 0, "errors": [] }, { "file": "rules-draft-repair.spec.ts", "line": 183, "title": "[P5-15-01R-02] delayed native Rules reads and save completion do not reset a newer session draft", "status": "passed", "durationMs": 2057, "retry": 0, "errors": [] }, { "file": "rules-draft-repair.spec.ts", "line": 225, "title": "[P5-15-01R-02 PRES-E09] Rules API ignores forged owners and account switching disposes the previous draft", "status": "passed", "durationMs": 4010, "retry": 0, "errors": [] }, { "file": "saved-search-repair.spec.ts", "line": 74, "title": "[P5-15-01R-01] native saved NAV search survives Jobs navigation, reload, apply, pause/resume and delete", "status": "passed", "durationMs": 5850, "retry": 0, "errors": [] }, { "file": "saved-search-repair.spec.ts", "line": 161, "title": "[P5-15-01R-01] native owner filters and crafted saved-search mutations deny foreign and anonymous access", "status": "passed", "durationMs": 579, "retry": 0, "errors": [] }, { "file": "saved-search-repair.spec.ts", "line": 217, "title": "[P5-15-01R-01] saved-list faults retry a native GET without resetting discovery across EN/Bokmål, themes and widths", "status": "passed", "durationMs": 12888, "retry": 0, "errors": [] }, { "file": "semantic-foundations.spec.ts", "line": 118, "title": "[PRES-E08 PRES-J08] light/en/1440 loading → error → retry → empty → populated", "status": "passed", "durationMs": 4566, "retry": 0, "errors": [] }, { "file": "semantic-foundations.spec.ts", "line": 118, "title": "[PRES-E08 PRES-J08] light/en/390 loading → error → retry → empty → populated", "status": "passed", "durationMs": 4493, "retry": 0, "errors": [] }, { "file": "semantic-foundations.spec.ts", "line": 118, "title": "[PRES-E08 PRES-J08] light/nb/1440 loading → error → retry → empty → populated", "status": "passed", "durationMs": 4559, "retry": 0, "errors": [] }, { "file": "semantic-foundations.spec.ts", "line": 118, "title": "[PRES-E08 PRES-J08] light/nb/390 loading → error → retry → empty → populated", "status": "passed", "durationMs": 4474, "retry": 0, "errors": [] }, { "file": "semantic-foundations.spec.ts", "line": 174, "title": "[PRES-E07 PRES-E08 PRES-J05 PRES-J07] light loaded status semantics, navigation and command focus", "status": "passed", "durationMs": 3298, "retry": 0, "errors": [] }, { "file": "semantic-foundations.spec.ts", "line": 201, "title": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] light loaded CV tabs, selects and settings", "status": "passed", "durationMs": 10918, "retry": 0, "errors": [] }, { "file": "semantic-foundations.spec.ts", "line": 118, "title": "[PRES-E08 PRES-J08] dark/en/1440 loading → error → retry → empty → populated", "status": "passed", "durationMs": 4727, "retry": 0, "errors": [] }, { "file": "semantic-foundations.spec.ts", "line": 118, "title": "[PRES-E08 PRES-J08] dark/en/390 loading → error → retry → empty → populated", "status": "passed", "durationMs": 4509, "retry": 0, "errors": [] }, { "file": "semantic-foundations.spec.ts", "line": 118, "title": "[PRES-E08 PRES-J08] dark/nb/1440 loading → error → retry → empty → populated", "status": "passed", "durationMs": 4574, "retry": 0, "errors": [] }, { "file": "semantic-foundations.spec.ts", "line": 118, "title": "[PRES-E08 PRES-J08] dark/nb/390 loading → error → retry → empty → populated", "status": "passed", "durationMs": 4576, "retry": 0, "errors": [] }, { "file": "semantic-foundations.spec.ts", "line": 174, "title": "[PRES-E07 PRES-E08 PRES-J05 PRES-J07] dark loaded status semantics, navigation and command focus", "status": "passed", "durationMs": 3483, "retry": 0, "errors": [] }, { "file": "semantic-foundations.spec.ts", "line": 201, "title": "[PRES-E08 PRES-C06 PRES-C07 PRES-C08 PRES-C09 PRES-C11 PRES-S03] dark loaded CV tabs, selects and settings", "status": "passed", "durationMs": 11001, "retry": 0, "errors": [] }, { "file": "settings-page-layout.spec.ts", "line": 58, "title": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] light/en Settings headings, reflow and retained actions", "status": "passed", "durationMs": 12563, "retry": 0, "errors": [] }, { "file": "settings-page-layout.spec.ts", "line": 58, "title": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] light/nb Settings headings, reflow and retained actions", "status": "passed", "durationMs": 12175, "retry": 0, "errors": [] }, { "file": "settings-page-layout.spec.ts", "line": 58, "title": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] dark/en Settings headings, reflow and retained actions", "status": "passed", "durationMs": 11995, "retry": 0, "errors": [] }, { "file": "settings-page-layout.spec.ts", "line": 58, "title": "[PRES-E07 E08 E09 S03 S04 S05 J05 J10 M06 W11] dark/nb Settings headings, reflow and retained actions", "status": "passed", "durationMs": 11913, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 77, "title": "[P5-00 PRES-E07 E08 A03] light-en mobile labels, focus and admin reflow", "status": "passed", "durationMs": 11459, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 184, "title": "[P5-00 PRES-E07 J03 J08] light-en command list, keyboard and no-write actions", "status": "passed", "durationMs": 4188, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 231, "title": "[P5-02 PRES-E07 E08 E09 S02] light-en utility search and notification states", "status": "passed", "durationMs": 3358, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 280, "title": "[P5-00 PRES-E08 C06 S05] light-en real Tooltip contrast and open-toast action access", "status": "passed", "durationMs": 11233, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 361, "title": "[P5-01 PRES-E07 E08 A03] light-en grouped shell, rail menu and route focus", "status": "passed", "durationMs": 3801, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 402, "title": "[P5-00 PRES-E07 E09 C06 S02 S03] light-en dirty editor survives shell utilities and cancel", "status": "passed", "durationMs": 5056, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 77, "title": "[P5-00 PRES-E07 E08 A03] light-nb mobile labels, focus and admin reflow", "status": "passed", "durationMs": 11610, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 184, "title": "[P5-00 PRES-E07 J03 J08] light-nb command list, keyboard and no-write actions", "status": "passed", "durationMs": 3944, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 231, "title": "[P5-02 PRES-E07 E08 E09 S02] light-nb utility search and notification states", "status": "passed", "durationMs": 3354, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 280, "title": "[P5-00 PRES-E08 C06 S05] light-nb real Tooltip contrast and open-toast action access", "status": "passed", "durationMs": 10556, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 361, "title": "[P5-01 PRES-E07 E08 A03] light-nb grouped shell, rail menu and route focus", "status": "passed", "durationMs": 3876, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 77, "title": "[P5-00 PRES-E07 E08 A03] dark-en mobile labels, focus and admin reflow", "status": "passed", "durationMs": 11422, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 184, "title": "[P5-00 PRES-E07 J03 J08] dark-en command list, keyboard and no-write actions", "status": "passed", "durationMs": 3975, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 231, "title": "[P5-02 PRES-E07 E08 E09 S02] dark-en utility search and notification states", "status": "passed", "durationMs": 3339, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 280, "title": "[P5-00 PRES-E08 C06 S05] dark-en real Tooltip contrast and open-toast action access", "status": "passed", "durationMs": 11012, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 361, "title": "[P5-01 PRES-E07 E08 A03] dark-en grouped shell, rail menu and route focus", "status": "passed", "durationMs": 3772, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 77, "title": "[P5-00 PRES-E07 E08 A03] dark-nb mobile labels, focus and admin reflow", "status": "passed", "durationMs": 11392, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 184, "title": "[P5-00 PRES-E07 J03 J08] dark-nb command list, keyboard and no-write actions", "status": "passed", "durationMs": 4026, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 231, "title": "[P5-02 PRES-E07 E08 E09 S02] dark-nb utility search and notification states", "status": "passed", "durationMs": 3325, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 280, "title": "[P5-00 PRES-E08 C06 S05] dark-nb real Tooltip contrast and open-toast action access", "status": "passed", "durationMs": 10472, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 361, "title": "[P5-01 PRES-E07 E08 A03] dark-nb grouped shell, rail menu and route focus", "status": "passed", "durationMs": 3827, "retry": 0, "errors": [] }, { "file": "shell-readiness.spec.ts", "line": 402, "title": "[P5-00 PRES-E07 E09 C06 S02 S03] dark-nb dirty editor survives shell utilities and cancel", "status": "passed", "durationMs": 5841, "retry": 0, "errors": [] }, { "file": "smoke.spec.ts", "line": 66, "title": "API liveness and database readiness are separate public probes", "status": "passed", "durationMs": 100, "retry": 0, "errors": [] }, { "file": "smoke.spec.ts", "line": 77, "title": "public plans stay honest, responsive and keyboard accessible", "status": "passed", "durationMs": 10016, "retry": 0, "errors": [] }, { "file": "smoke.spec.ts", "line": 116, "title": "login establishes an authenticated session", "status": "passed", "durationMs": 1264, "retry": 0, "errors": [] }, { "file": "smoke.spec.ts", "line": 128, "title": "a Free account keeps manual work available while AI actions stay honestly locked", "status": "passed", "durationMs": 5247, "retry": 0, "errors": [] }, { "file": "smoke.spec.ts", "line": 176, "title": "a saved job can be created through the reviewed UI flow", "status": "passed", "durationMs": 1974, "retry": 0, "errors": [] }, { "file": "smoke.spec.ts", "line": 195, "title": "the dedicated application workspace survives deep links, long data and unsaved navigation", "status": "passed", "durationMs": 7911, "retry": 0, "errors": [] }, { "file": "smoke.spec.ts", "line": 322, "title": "Career Workspace loads from the authenticated application shell", "status": "passed", "durationMs": 11398, "retry": 0, "errors": [] }, { "file": "smoke.spec.ts", "line": 399, "title": "a public CV renders anonymously and downloads as PDF", "status": "passed", "durationMs": 1487, "retry": 0, "errors": [] }, { "file": "smoke.spec.ts", "line": 444, "title": "the Code template exports a long structured CV as searchable multi-page PDF", "status": "passed", "durationMs": 6263, "retry": 0, "errors": [] }, { "file": "table-density.spec.ts", "line": 70, "title": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/en table and cards preserve behavior at both densities", "status": "passed", "durationMs": 17443, "retry": 0, "errors": [] }, { "file": "table-density.spec.ts", "line": 70, "title": "[PRES-J05 J06 W01 W02 S03 E08 E09] light/nb table and cards preserve behavior at both densities", "status": "passed", "durationMs": 16938, "retry": 0, "errors": [] }, { "file": "table-density.spec.ts", "line": 70, "title": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/en table and cards preserve behavior at both densities", "status": "passed", "durationMs": 17520, "retry": 0, "errors": [] }, { "file": "table-density.spec.ts", "line": 70, "title": "[PRES-J05 J06 W01 W02 S03 E08 E09] dark/nb table and cards preserve behavior at both densities", "status": "passed", "durationMs": 16890, "retry": 0, "errors": [] } ], "axe": { "all": { "scans": 312, "violationRuleEntries": { "landmark-one-main": 1, "page-has-heading-one": 1, "region": 1, "target-size": 2, "color-contrast": 2, "heading-order": 13, "landmark-unique": 5, "aria-allowed-role": 6, "aria-command-name": 1 }, "violationNodeOccurrences": { "landmark-one-main": 1, "page-has-heading-one": 1, "region": 10, "target-size": 2, "color-contrast": 2, "heading-order": 13, "landmark-unique": 5, "aria-allowed-role": 9, "aria-command-name": 4 }, "incompleteNodeOccurrences": { "color-contrast": 2104, "aria-hidden-focus": 48, "aria-prohibited-attr": 235, "aria-valid-attr-value": 20, "target-size": 1, "th-has-data-cells": 4 }, "rules": { "violations:landmark-one-main": { "status": "violations", "id": "landmark-one-main", "impact": "moderate", "tags": [ "cat.semantics", "best-practice" ], "nodeOccurrences": 1, "scanOccurrences": 1, "examples": [ { "test": "[P5-15-02 COLLECTION] thirteen areas retain native rendered entry across the distributed responsive/accessibility matrix", "attachment": "authentication-320x844-en-light-audit", "state": "authentication-320x844-en-light", "sample": { "area": "authentication", "path": "/login", "width": 320, "height": 844, "language": "en", "theme": "light" }, "target": [ "html" ], "html": "", "failureSummary": "Fix all of the following:\n Document does not have a main landmark", "checks": [ { "id": "page-has-main", "data": null, "relatedNodes": [], "impact": "moderate", "message": "Document does not have a main landmark" } ] } ] }, "violations:page-has-heading-one": { "status": "violations", "id": "page-has-heading-one", "impact": "moderate", "tags": [ "cat.semantics", "best-practice" ], "nodeOccurrences": 1, "scanOccurrences": 1, "examples": [ { "test": "[P5-15-02 COLLECTION] thirteen areas retain native rendered entry across the distributed responsive/accessibility matrix", "attachment": "authentication-320x844-en-light-audit", "state": "authentication-320x844-en-light", "sample": { "area": "authentication", "path": "/login", "width": 320, "height": 844, "language": "en", "theme": "light" }, "target": [ "html" ], "html": "", "failureSummary": "Fix all of the following:\n Page must have a level-one heading", "checks": [ { "id": "page-has-heading-one", "data": null, "relatedNodes": [], "impact": "moderate", "message": "Page must have a level-one heading" } ] } ] }, "violations:region": { "status": "violations", "id": "region", "impact": "moderate", "tags": [ "cat.keyboard", "best-practice", "RGAAv4", "RGAA-9.2.1" ], "nodeOccurrences": 10, "scanOccurrences": 1, "examples": [ { "test": "[P5-15-02 COLLECTION] thirteen areas retain native rendered entry across the distributed responsive/accessibility matrix", "attachment": "authentication-320x844-en-light-audit", "state": "authentication-320x844-en-light", "sample": { "area": "authentication", "path": "/login", "width": 320, "height": 844, "language": "en", "theme": "light" }, "target": [ "h5" ], "html": "
Sign in
", "failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks", "checks": [ { "id": "region", "data": { "isIframe": false }, "relatedNodes": [], "impact": "moderate", "message": "Some page content is not contained by landmarks" } ] } ] }, "violations:target-size": { "status": "violations", "id": "target-size", "impact": "serious", "tags": [ "cat.sensory-and-visual-cues", "wcag22aa", "wcag258" ], "nodeOccurrences": 2, "scanOccurrences": 2, "examples": [ { "test": "[P5-15-02 COLLECTION] thirteen areas retain native rendered entry across the distributed responsive/accessibility matrix", "attachment": "analytics-1024x900-nb-dark-audit", "state": "analytics-1024x900-nb-dark", "sample": { "area": "analytics", "path": "/analytics?months=6", "width": 1024, "language": "nb", "theme": "dark" }, "target": [ "a[href=\"/jobs?status=Applied\"]" ], "html": "Søkt", "failureSummary": "Fix any of the following:\n Target has insufficient size (27.3px by 18px, should be at least 24px by 24px)\n Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 18px instead of at least 24px.", "checks": [ { "id": "target-size", "data": { "minSize": 24, "width": 27.3, "height": 18 }, "relatedNodes": [], "impact": "serious", "message": "Target has insufficient size (27.3px by 18px, should be at least 24px by 24px)" }, { "id": "target-offset", "data": { "closestOffset": 18, "minOffset": 24 }, "relatedNodes": [ { "html": "Fordeling av registrerte statuser", "target": [ ".css-11xyjpm > summary" ] } ], "impact": "serious", "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 18px instead of at least 24px." } ] }, { "test": "[P5-15-02 COLLECTION] thirteen areas retain native rendered entry across the distributed responsive/accessibility matrix", "attachment": "analytics-390x900-en-light-audit", "state": "analytics-390x900-en-light", "sample": { "area": "analytics", "path": "/analytics?months=6", "width": 390, "language": "en", "theme": "light" }, "target": [ "a[href=\"/jobs?status=Applied\"]" ], "html": "Applied", "failureSummary": "Fix any of the following:\n Target has insufficient size (47.8px by 18px, should be at least 24px by 24px)\n Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 18px instead of at least 24px.", "checks": [ { "id": "target-size", "data": { "minSize": 24, "width": 47.8, "height": 18 }, "relatedNodes": [], "impact": "serious", "message": "Target has insufficient size (47.8px by 18px, should be at least 24px by 24px)" }, { "id": "target-offset", "data": { "closestOffset": 18, "minOffset": 24 }, "relatedNodes": [ { "html": "Recorded status breakdown", "target": [ ".css-11xyjpm > summary" ] } ], "impact": "serious", "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 18px instead of at least 24px." } ] } ] }, "violations:color-contrast": { "status": "violations", "id": "color-contrast", "impact": "serious", "tags": [ "cat.color", "wcag2aa", "wcag143", "TTv5", "TT13.c", "EN-301-549", "EN-9.1.4.3", "ACT", "RGAAv4", "RGAA-3.2.1" ], "nodeOccurrences": 2, "scanOccurrences": 2, "examples": [ { "test": "[P5-15-02 COLLECTION] thirteen areas retain native rendered entry across the distributed responsive/accessibility matrix", "attachment": "profile-1440x900-en-light-audit", "state": "profile-1440x900-en-light", "sample": { "area": "profile", "path": "/career?section=profile", "width": 1440, "language": "en", "theme": "light" }, "target": [ ".css-1blnzcv" ], "html": "
RR
", "failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.19 (foreground color: #f4f6fb, background color: #e4e1e6, font size: 21.0pt (28px), font weight: bold). Expected contrast ratio of 3:1", "checks": [ { "id": "color-contrast", "data": { "fgColor": "#f4f6fb", "bgColor": "#e4e1e6", "contrastRatio": 1.19, "fontSize": "21.0pt (28px)", "fontWeight": "bold", "messageKey": null, "expectedContrastRatio": "3:1" }, "relatedNodes": [ { "html": "
RR
", "target": [ ".css-1blnzcv" ] } ], "impact": "serious", "message": "Element has insufficient color contrast of 1.19 (foreground color: #f4f6fb, background color: #e4e1e6, font size: 21.0pt (28px), font weight: bold). Expected contrast ratio of 3:1" } ] }, { "test": "[P5-15-02 COLLECTION] thirteen areas retain native rendered entry across the distributed responsive/accessibility matrix", "attachment": "profile-390x900-nb-dark-audit", "state": "profile-390x900-nb-dark", "sample": { "area": "profile", "path": "/career?section=profile", "width": 390, "language": "nb", "theme": "dark" }, "target": [ ".css-1blnzcv" ], "html": "
RR
", "failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.76 (foreground color: #0b0b0e, background color: #3a3a4a, font size: 21.0pt (28px), font weight: bold). Expected contrast ratio of 3:1", "checks": [ { "id": "color-contrast", "data": { "fgColor": "#0b0b0e", "bgColor": "#3a3a4a", "contrastRatio": 1.76, "fontSize": "21.0pt (28px)", "fontWeight": "bold", "messageKey": null, "expectedContrastRatio": "3:1" }, "relatedNodes": [ { "html": "
RR
", "target": [ ".css-1blnzcv" ] } ], "impact": "serious", "message": "Element has insufficient color contrast of 1.76 (foreground color: #0b0b0e, background color: #3a3a4a, font size: 21.0pt (28px), font weight: bold). Expected contrast ratio of 3:1" } ] } ] }, "violations:heading-order": { "status": "violations", "id": "heading-order", "impact": "moderate", "tags": [ "cat.semantics", "best-practice" ], "nodeOccurrences": 13, "scanOccurrences": 13, "examples": [ { "test": "[P5-15-02 COLLECTION] thirteen areas retain native rendered entry across the distributed responsive/accessibility matrix", "attachment": "profile-1440x900-en-light-audit", "state": "profile-1440x900-en-light", "sample": { "area": "profile", "path": "/career?section=profile", "width": 1440, "language": "en", "theme": "light" }, "target": [ ".css-31l7gp.MuiBox-root > .MuiTypography-subtitle1.css-upott" ], "html": "
Import your existing CV
", "failureSummary": "Fix any of the following:\n Heading order invalid", "checks": [ { "id": "heading-order", "data": null, "relatedNodes": [], "impact": "moderate", "message": "Heading order invalid" } ] }, { "test": "[P5-15-02 COLLECTION] thirteen areas retain native rendered entry across the distributed responsive/accessibility matrix", "attachment": "profile-390x900-nb-dark-audit", "state": "profile-390x900-nb-dark", "sample": { "area": "profile", "path": "/career?section=profile", "width": 390, "language": "nb", "theme": "dark" }, "target": [ ".css-31l7gp.MuiBox-root > .css-upott.MuiTypography-subtitle1" ], "html": "
Importer den eksisterende CV-en din
", "failureSummary": "Fix any of the following:\n Heading order invalid", "checks": [ { "id": "heading-order", "data": null, "relatedNodes": [], "impact": "moderate", "message": "Heading order invalid" } ] }, { "test": "[P5-15-02 COLLECTION] thirteen areas retain native rendered entry across the distributed responsive/accessibility matrix", "attachment": "cv-1440x900-en-light-audit", "state": "cv-1440x900-en-light", "sample": { "area": "cv", "path": "/career/builder/86", "width": 1440, "language": "en", "theme": "light" }, "target": [ ".css-1g5wsz1" ], "html": "
Sections
", "failureSummary": "Fix any of the following:\n Heading order invalid", "checks": [ { "id": "heading-order", "data": null, "relatedNodes": [], "impact": "moderate", "message": "Heading order invalid" } ] } ] }, "violations:landmark-unique": { "status": "violations", "id": "landmark-unique", "impact": "moderate", "tags": [ "cat.semantics", "best-practice" ], "nodeOccurrences": 5, "scanOccurrences": 5, "examples": [ { "test": "[P5-15-02 COLLECTION] thirteen areas retain native rendered entry across the distributed responsive/accessibility matrix", "attachment": "cv-1440x900-en-light-audit", "state": "cv-1440x900-en-light", "sample": { "area": "cv", "path": "/career/builder/86", "width": 1440, "language": "en", "theme": "light" }, "target": [ "#app-main-content" ], "html": "
", "failureSummary": "Fix any of the following:\n The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable", "checks": [ { "id": "landmark-is-unique", "data": { "role": "main", "accessibleText": null }, "relatedNodes": [ { "html": "
", "target": [ "iframe[title=\"CV preview page 1\"]", "main" ] } ], "impact": "moderate", "message": "The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable" } ] }, { "test": "[P5-15-02] keyboard command, dialog, section and document controls keep deliberate focus contracts", "attachment": "cv-1440x900-en-light-keyboard-section-selector-audit", "state": "cv-1440x900-en-light-keyboard-section-selector", "sample": { "area": "cv", "path": "http://localhost:3300/career/builder/88", "width": 1440, "language": "en", "theme": "light" }, "target": [ "#app-main-content" ], "html": "
", "failureSummary": "Fix any of the following:\n The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable", "checks": [ { "id": "landmark-is-unique", "data": { "role": "main", "accessibleText": null }, "relatedNodes": [ { "html": "
", "target": [ "iframe[title=\"CV preview page 1\"]", "main" ] } ], "impact": "moderate", "message": "The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable" } ] }, { "test": "[P5-15-02] keyboard command, dialog, section and document controls keep deliberate focus contracts", "attachment": "cv-1440x900-en-light-keyboard-preview-end-audit", "state": "cv-1440x900-en-light-keyboard-preview-end", "sample": { "area": "cv", "path": "http://localhost:3300/career/builder/88", "width": 1440, "language": "en", "theme": "light" }, "target": [ "#app-main-content" ], "html": "
", "failureSummary": "Fix any of the following:\n The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable", "checks": [ { "id": "landmark-is-unique", "data": { "role": "main", "accessibleText": null }, "relatedNodes": [ { "html": "
", "target": [ "iframe[title=\"CV preview page 1\"]", "main" ] } ], "impact": "moderate", "message": "The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable" } ] } ] }, "violations:aria-allowed-role": { "status": "violations", "id": "aria-allowed-role", "impact": "minor", "tags": [ "cat.aria", "best-practice" ], "nodeOccurrences": 9, "scanOccurrences": 6, "examples": [ { "test": "[P5-15-02 COLLECTION] thirteen areas retain native rendered entry across the distributed responsive/accessibility matrix", "attachment": "documents-1024x900-en-light-audit", "state": "documents-1024x900-en-light", "sample": { "area": "documents", "path": "/jobs/334?section=documents", "width": 1024, "language": "en", "theme": "light" }, "target": [ ".css-x0p5bs > label" ], "html": "