# PRiME homepage — scoped accessibility review

Date: 13 September 2026
Target: WCAG 2.2 AA, including applicable 2.0/2.1 criteria.
Status: NOT YET VERIFIED CONFORMANT. This is not AODA legal certification.

## Scope and evidence

Homepage only, local post-change implementation. Desktop 1440×900, mobile
390×844, narrow 320×800. Automated engine: repository-installed axe-core,
WCAG 2.0/2.1/2.2 A/AA tags. Development audit controls excluded from scans.

- Initial desktop scan: one serious rule violation, two affected nodes:
  aria-prohibited-attr on decorative appointment silhouette containers.
- Remediated by removing their invalid labels and hiding decorative visuals.
  Separate semantic buttons retain meaningful appointment names.
- Post-fix desktop snapshot: zero violations, 28 passing rule types;
  65 elements require manual colour-contrast review.
- Mobile snapshot: zero violations, 28 passing rule types;
  110 elements require manual colour-contrast review.
- Counts vary with viewport and visible state. These are not full-site or
  all-state results. No claim that automation detects every accessibility issue.

## Manual browser checks

- Five named people and two appointment placeholder dialogs open correctly.
- Enter activates biography buttons. Tab and Shift+Tab wrap within the dialog.
- Escape closes; focus returns to the originating person button.
- Mobile biography dialog fits the viewport, with internal overflow available.
- Research content responds to keyboard focus; explicit highlight pause added.
- Hub exit completes at leadership; PageUp reverses it without an infinite loop.
- No horizontal document overflow in tested 1440px, 390px and 320px states.
- No visible text below 12px in the sampled mobile DOM. This is a project
  preference, not a WCAG minimum font-size requirement.
- Matching leadership/admin headings and straight 16px portrait corners verified.

## Static contrast measurements

| Pair | Ratio | Normal text 4.5:1 |
| --- | --- | --- |
| #102d3a on #f2f5f1 (biography) | 13.10:1 | Pass |
| #d9edf0 on #102d3a (person actions) | 11.88:1 | Pass |
| #d0e0e5 on #061923 (admin copy/base) | 13.22:1 | Pass |

These opaque pairs do not establish contrast over gradients, photography,
semi-transparent overlays, or changing animation states.

## Outstanding findings

1. MAJOR — WCAG 2.2.2: motion controls are scene-specific. The background
   network and some CSS animation do not have a complete user-operated pause.
   Inventory and connect every continuous animation to a pause/stop control.
2. MAJOR / MANUAL VERIFICATION — 1.4.3 and 1.4.11: evaluate foreground text,
   metadata, controls, focus indicators, and selected states against every
   approved production background. Do not sign off all 40 design options based
   on one colour sample.
3. UNTESTED — VoiceOver/Safari and NVDA/Firefox or Chrome: reading order,
   dynamic hubs, dialog announcements, disclosure state, forms, and focus.
4. UNTESTED — 200% zoom, 400% zoom/320-CSS-pixel reflow, text-spacing overrides.
   A narrow viewport test alone is insufficient for these criteria.
5. UNTESTED — flash analysis of the complete star sequence and vestibular
   usability with representative users. Validate reduced-motion on real devices.
6. CONTENT/INTEGRATION — full approved biographies, image rights/alternatives,
   final event dates, newsletter error/success states, external form journey.

## Agency release checklist

- Select the final editorial background and remove design-preview controls.
- Complete all above manual checks; record browser/AT versions and results.
- Re-run automated checks after WordPress integration and real CMS content.
- Test long titles, long biographies, absent portraits, missing dates, and slow
  images. Do not fix overflow by hiding text.
- Confirm keyboard and touch can reach all content without forced animation.
- Record institutional acceptance separately from this engineering review.

Reference: https://www.w3.org/WAI/WCAG22/quickref/
