Skip to main content

Accessibility statement

This page records what has been checked locally, what remains pending, and how to report an accessibility barrier in the Manitoba AI Disruption Explorer.

Screen-reader review pending

Status

local accessibility review candidate, screen-reader review pending

Reviewed

2026-06-04

Target

WCAG 2.2 AA target

Public routes, core calculator flow, public data tables, keyboard focus paths, automated axe coverage, and browser accessibility-tree evidence in the local production build.

The target standard references W3C Web Content Accessibility Guidelines. This is a local review status, not a certification.

Local checks completed

AreaStatusEvidenceLimitation
Automated axe coveragepassed locallySerious/critical axe checks run across 13 public routes on desktop and mobile in the Playwright suite.
Route count
13 public routes
Viewports
desktop, mobile
Routes
/, /calculator, /explorer, /occupation, /heatmap, /scenarios, /threat-model, /threat-simulator, /about, /policy, /privacy, /accessibility, /terms
Command
PLAYWRIGHT_PORT=4694 npm run qa
Automated axe checks do not replace manual WCAG review or assistive-technology testing.
Keyboard navigationpassed locallySkip-link focus, mobile menu Escape focus return, calculator choice groups, explorer sector selector, and heatmap focus visibility are covered by Playwright tests and browser evidence.Keyboard checks were performed on local production builds, not the live deployment.
Calculator form controlspassed locallySliders, radio groups, and checkbox groups expose native labels or names in the tested calculator flow.A real screen-reader pass is still needed for announcement quality, order, and verbosity.
Public data tablespassed locallyScrollable evidence tables on About are keyboard-focusable and labelled after the mobile axe regression caught unfocusable scroll regions.Complex tabular reading order should still be reviewed with assistive technology.
Route-level visual contrastpassed locallyPreviously failing heatmap, scenarios, threat-model, and threat-simulator contrast issues were fixed and rechecked through axe.This covers automated contrast rules, not all possible low-vision or cognitive-accessibility needs.

Completed screen-reader evidence

A completed release claim must record NVDA, JAWS, and VoiceOver checks with the reviewer, browser, operating system, date, routes, result, and evidence location or summary.

No completed screen-reader checks recorded yet.

Pending assistive-technology checks

Screen-reader review protocol

Each pending flow below now includes reviewer actions, expected evidence, and evidence fields to record before the release can claim completed screen-reader review. Record assistive technology, browser, operating system, viewport, and date for every pass.

Record blockers, serious issues, caveats, and pass notes separately so the final accessibility status can distinguish launch blockers from documented limitations.

Calculator full assessment and result sharing

NVDA with Chrome or Firefox - pending

  • Step headings and progress are announced in a useful order.
  • Sector search, sliders, radio groups, checkboxes, and result summary are understandable without sight.
  • Share-result URL warning is discoverable before copying or sharing.

Review steps

  1. Start at /calculator and complete a full assessment using only keyboard commands.

    Evidence: Notes or transcript confirming step headings, progress, and Continue actions are announced in order.

  2. Exercise sector search, business size, AI adoption, task selection, and workforce sliders.

    Evidence: Evidence that each control exposes name, role, value, state, and error or validation feedback.

  3. Open the result summary, review recommended actions, and trigger the share-result control.

    Evidence: Evidence that the result summary, caveats, and share-result URL warning are discoverable without sight.

Evidence to record

  • Record assistive technology, browser, operating system, viewport, and date.
  • Record the exact flow, route, input choices, and whether the issue blocks completion.
  • Record unexpected announcements, missing names, missing states, focus traps, or confusing repeated content.
  • Record blockers, serious issues, caveats, and pass notes separately.

Screen-reader test matrix

RouteTaskKeyboard pathExpected announcementPass evidence
/calculatorStart the calculator and move through the first assessment step without using a pointer.Tab from the page heading to the primary calculator controls, then use Enter or Space on the first available action.Screen reader announces the calculator heading, current step context, control names, roles, and available actions in a useful order.Reviewer notes the screen reader, browser, operating system, date, step heading announcement, and whether the first action was understandable.Severity: Blocker if the flow cannot start; serious if step context is missing; minor if wording is verbose but usable; pass if complete.
/calculatorSelect sector, business size, AI adoption, task mix, and workforce inputs through the full assessment.Tab to the sector search, use arrow keys or typed search to select a sector, then continue through sliders, radio groups, and checkboxes.Each input announces name, role, current value or state, selected option, and any validation feedback before the user continues.Reviewer records the selected sector, input choices, announcement notes for each control group, and any missing state or value.Severity: Blocker if a required input cannot be completed; serious if name, role, or state is absent; minor if announcement order is awkward; pass if complete.
/calculatorReview the result summary and attempt to use the share-result control.Continue to results, navigate summary headings and recommended actions, then Tab to the share-result control and activate it.Results, caveats, recommendations, and the shared-result URL warning are discoverable before the user copies or shares the URL.Reviewer records result summary announcement quality, whether caveats were discoverable, and whether the URL warning was heard before sharing.Severity: Blocker if results cannot be reached; serious if URL warning is undiscoverable; minor if result copy is repetitive; pass if complete.

Explorer, occupation detail, and heatmap comparison

JAWS with Chrome or Edge - pending

  • Interactive filters and detail panels expose name, role, state, and changes.
  • Heatmap cells can be discovered and understood without pointer hover.
  • Repeated score rows do not create confusing or duplicate announcements.

Review steps

  1. Navigate /explorer with keyboard and select a sector through the ranked list or Jump to sector control.

    Evidence: Notes confirming filter controls, sector selection, and detail-panel updates are announced with useful state.

  2. Open /occupation, search for a role, expand an occupation detail panel, and close it.

    Evidence: Evidence that expanded state, panel heading, risk score context, and close action are announced clearly.

  3. Navigate /heatmap cell-by-cell and activate a cell without using pointer hover.

    Evidence: Evidence that row, column, score, focus position, and selected state are understandable.

Evidence to record

  • Record assistive technology, browser, operating system, viewport, and date.
  • Record the route, selected sector or occupation, and heatmap cell tested.
  • Record any missing role, state, selected value, focus return, or confusing repeated score announcement.
  • Record blockers, serious issues, caveats, and pass notes separately.

Screen-reader test matrix

RouteTaskKeyboard pathExpected announcementPass evidence
/explorerSelect a sector from the industry explorer and confirm the selected state is announced.Tab to the Jump to sector control or ranked sector list, select a sector with keyboard commands, and read the updated panel.The selected sector, risk score context, changed detail panel, and available actions are announced without relying on pointer hover.Reviewer records selected sector, announcement of selected state, detail-panel heading, score context, and any repeated content confusion.Severity: Blocker if no sector can be selected; serious if selected state or panel update is missing; minor if duplicated labels are tolerable; pass if complete.
/occupationSearch for an occupation, open a detail panel, and close it without losing context.Tab to occupation search, type a role, activate a result, read the detail panel, then activate the close control.Search field, result count or matching result, expanded panel heading, risk context, and close action are announced clearly.Reviewer records searched occupation, panel heading announcement, expanded or selected state, close action, and focus return behavior.Severity: Blocker if search or close cannot be completed; serious if panel state is not announced; minor if context is verbose; pass if complete.
/heatmapNavigate the heatmap cell-by-cell and understand a selected cell without pointer hover.Tab to the heatmap grid, move through focusable cells, activate one cell, and read the selected-cell details.Row label, column label, score, focus position, selected state, and explanatory details are understandable from screen-reader output.Reviewer records tested row, column, score announcement, selected state announcement, and whether details were understandable.Severity: Blocker if cells are unreachable; serious if row or column context is absent; minor if score wording is repetitive; pass if complete.

Threat model and policy evidence tables

VoiceOver with Safari - pending

  • Evidence tables read in a coherent row and column order.
  • React Flow threat-model content remains understandable from the surrounding text.
  • Source-review and caveat labels are announced with enough context.

Review steps

  1. Read /threat-model from the page heading through the threat evidence review table.

    Evidence: Notes confirming evidence-review labels, caveats, source links, and table cells read in a coherent order.

  2. Review the React Flow threat-model area and the surrounding explanatory text without using a pointer.

    Evidence: Evidence that the mechanism explanation remains understandable even if the diagram itself is skipped.

  3. Read /policy source-review and bibliography sections using table and link navigation.

    Evidence: Evidence that source-review status, source vintage, and caveat text are announced with enough context.

Evidence to record

  • Record assistive technology, browser, operating system, viewport, and date.
  • Record the table row, source link, diagram region, or policy section being reviewed.
  • Record any table-order confusion, skipped caveats, unlabeled links, or diagram-only meaning.
  • Record blockers, serious issues, caveats, and pass notes separately.

Screen-reader test matrix

RouteTaskKeyboard pathExpected announcementPass evidence
/threat-modelRead the threat evidence review table from heading through source links and caveats.Use heading navigation to reach the threat evidence review, then use table and link navigation through representative rows.Evidence labels, source links, caveat text, and table row or column relationships are announced in a coherent order.Reviewer records the table row tested, source link announcement, caveat announcement, and any row or column order confusion.Severity: Blocker if table content is unreachable; serious if caveats are skipped or source links are unnamed; minor if order is usable but noisy; pass if complete.
/threat-modelReview the React Flow threat-model region and confirm surrounding text carries the meaning.Navigate to the diagram region, then continue through the surrounding explanatory headings, summaries, and evidence notes.If the diagram itself is limited, the surrounding text still explains the mechanism, caveats, and Manitoba transferability limits.Reviewer records whether diagram-only meaning exists, which surrounding text carried the meaning, and any inaccessible diagram content.Severity: Blocker if key meaning is diagram-only; serious if mechanism or caveat is missing; minor if diagram is skipped but text is complete; pass if complete.
/policyRead the policy source-review and bibliography sections with table and link navigation.Use heading navigation to reach policy source review, then move through source rows, caveat notes, and bibliography links.Source-review status, source vintage, Manitoba transferability caveats, and bibliography links are announced with enough context.Reviewer records source rows tested, link labels, source-vintage announcement, and any missing caveat or table-order issue.Severity: Blocker if source-review content is unreachable; serious if Manitoba caveats are skipped; minor if link labels are long but clear; pass if complete.

Known limitations

  • This is not a formal WCAG certification.
  • No NVDA, JAWS, or VoiceOver pass has been completed against the current local release candidate.
  • The live deployment has not yet been verified against this accessibility statement.
  • Production user feedback has not yet been collected.

Report an accessibility barrier

If you find an accessibility issue, email scott@scotthazlitt.ai. I aim to review accessibility reports within 30 days.