Audit follow-up: raise-cap base, tablet accessibility, nightly cross-browser runs (A5-02, A6-F04)

Merged
BI
1d ago
+104-24

Requested by josh · project thread

This is the one follow-up PR after #1601. Josh asked for it on 11 Nov ("go ahead with all recommendations"). It covers the open 10 Nov audit items A5-02 and A6-F04, plus the two Playwright projects that no CI job ran. There is no clinical change and no new decision.

What changes

  • A5-02, raise-cap base: budget-raise-cap.mjs now judges a PR's test merge against main as it is now (the merge's first parent), not the PR's old base. A raise another PR already merged is not counted twice. Two PRs raising from the same old base cannot both get past the 5 KB cap.
  • A6-F04, tablet accessibility (from nightly run 42886313101, issue #1530):
    • Portrait rows, waiting next-crossings rows and the ward "Open to do" button: the screen-reader name now starts with the visible text (axe label-content-name-mismatch). The portrait and waiting rows drop their aria-label and use hidden text instead.
    • Referral order note at 834px: the note now has the slate background colour itself, as the folder tabs beside it do. The contrast check now measures it against the slate rather than the page canvas. It looks the same on screen.
    • Responsive audit: on mobile WebKit, which has no mouse wheel, the test checks that the column can scroll and then scrolls it directly.
  • Nightly browsers: the nightly workflow also runs firefox-ward-responsive and webkit-ward-responsive and installs Firefox. Before this, no workflow ran them. testing.md is updated to match.

Evidence

  • Local unit tests: 220 related tests pass on main d52e8310: raise cap, workflow guards, project isolation, and the portrait, delays, movements and ward screen tests. One Delays test read the removed aria-label and now reads the visible name.
  • Local accessibility scan: axe WCAG 2.2 AA in Chromium at iPad 834×1112, on a production build, found no serious or critical issue on /, /waiting, /ward/rph-adult-secure, /referrals and /handover. Before the fix, /referrals showed the order-note contrast failure.
  • Not run here: WebKit and Firefox, which are not installed locally. The next nightly run is the first evidence for those engines.
  • Still to do after merge: refresh the 20 stale image baselines with a nightly update_baselines run, then commit the artifact in a follow-up.
  • A7-01 (uptime): the code is done and #1613 covers the run. Josh still needs to set the uptime secrets.

Generated by Claude Code