Career Pathways

Accessibility Notes

Target: WCAG 2.2 Level AA.

Implemented In Current Surface

  • Industry, pathway, and occupation pages use semantic sections and visible headings.
  • Industry cards and occupation cards are keyboard-focusable links.
  • Tag definitions are rendered as visible content on occupation pages and as title-supported labels on pathway cards.
  • Approved launch templates include a skip link targeting `#main-content`.
  • Search inputs expose explicit accessible names.
  • Region selection uses a labeled select, labeled ZIP entry, and explicit fallback message.
  • External resource links are keyboard reachable and visible.
  • Color is not the only carrier for tag meaning; labels and definitions are present.

Manual Checks

  • Keyboard path: `/` -> industry card -> occupation card -> provider/resource link.
  • Mobile layouts: home industry grid, industry pathway groups, and occupation details.
  • Screen reader pass: region selector, tag definitions, export links, and source status.

Lightweight Automated Coverage

Launch-source command:

npm run accessibility:launch-routes

Scope:

  • `/`
  • `/career-pathways`
  • `/industries/aerospace`
  • `/industries/construction`
  • `/careers/10`
  • `/resources`
  • `/docs/mvp/accessibility-notes`

Evidence from June 19, 2026:

  • Command completed with exit code 0.
  • The checker passed all 7 approved public launch evidence routes.
  • The checker verifies source-level coverage for one main landmark, at least one page-level heading, skip-link/main-target pairing, image alt text, and accessible names for links, buttons, and inputs.
  • The checker intentionally stays source-based and dependency-free so it can run quickly without starting the full Next.js app.
  • `/analytics/readiness` is intentionally excluded from this launch accessibility scope while `/analytics/*` remains outside the public production boundary.

Full browser WCAG command, with the local app running:

npm run accessibility:wcag-aa

Additional evidence from June 19, 2026:

  • Browser-based axe coverage completed with exit code 0 against `http://127.0.0.1:3000`.
  • The checker audited 835 sitemap and seed routes for WCAG 2.1 A/AA rules.
  • The checker now prints progress during long route sweeps, uses `domcontentloaded` plus a settle delay for streamed Next.js pages, and retries failed routes under lighter concurrency before declaring a route inaccessible.

Optional preview/live command, when a local or deployed app URL is available:

ACCESSIBILITY_BASE_URL=https://example-preview-url npm run accessibility:launch-routes:live

Open Items

  • Batch health-check workbook link candidates before launch.
  • Confirm final MCJ/CDLE naming and label approvals.