We use Statuspal for our public status page. As an EU company committed to WCAG 2.2 AA, we’d like to flag a few accessibility issues we cannot address via the status page design settings. 1) “Subscribe to incidents” modal – keyboard and focus handling Issue: Focus isn’t trapped within the modal; keyboard users can tab to content behind it. There’s no reliable way to dismiss the modal via keyboard (e.g., Esc). Initial focus isn’t set when the modal opens. Why it matters (WCAG): 2.1.1 Keyboard (A), 2.1.2 No Keyboard Trap (A), 2.4.3 Focus Order (A), 4.1.2 Name, Role, Value (A). Recommendation: Move focus to the dialog on open; restore focus to the invoking control on close. Trap focus within the modal; enable Esc to close. The markup of the dialog could have a more semantic approach, dialog element, role="dialog" etc... 2) Automatic refresh every ~60 seconds (most critical) Issue: The page auto-updates, which can interrupt reading and screen-reader navigation. Why it matters (WCAG): 2.2.1 Timing Adjustable (A), 2.2.2 Pause, Stop, Hide (A). Recommendation: Provide a visible control to pause/disable or extend auto-refresh (and remember the user’s choice). Okay solutions. Avoid full-page refresh; for minor changes, update sections with polite aria-live announcements. Better solution. 3) Current status & uptime markup Issue: Complex information is presented with multiple <span> elements. Screen readers announce it as one long line and relationships aren’t clear. Why it matters (WCAG): 1.3.1 Info and Relationships (A), 1.3.2 Meaningful Sequence (A). Recommendation: Use semantic structures: either tables with <caption>, <thead>, <th scope="col"> (e.g., Product | Status | Uptime), or well-structured documents with headings, paragraphs, and lists/definition lists where appropriate. 4) “Incident & Maintenance history” table structure Issue: Date and incident link appear in the same column; column headers are missing/unclear. Why it matters (WCAG): 1.3.1 Info and Relationships (A), 2.4.6 Headings and Labels (AA). Recommendation: Separate columns (Date | Incident | Status/Resolution). Include proper headers with <th scope="col">, consider <time datetime="…"> for dates, and ensure links have descriptive text.