Accessibility

We build to WCAG 2.1 Level AA — and tell you where we're not there yet.

Most accessibility statements are aspirational. This one is dated and honest. The list of what works comes from the codebase, not from a marketing brief. The list of gaps comes from real reports plus our own audits. We update both whenever something changes.

Our standard

Web Content Accessibility Guidelines (WCAG) 2.1 Level AA, applied to onset.my and the authenticated app at app.onset.my. We follow the published Success Criteria; we don't pick and choose. Where we currently fail a criterion, it's listed in “Known gaps” below with the quarter we plan to close it.

What works today

  • Semantic HTML — every section uses native <header> / <nav> / <main> / <article> / <footer> elements with one <h1> per page.
  • Site-wide :focus-visible ring on every interactive element (2.4.7).
  • prefers-reduced-motion respected globally — animations and transitions clamp to ~0 ms for users who set the OS preference (2.3.3).
  • Pinch-zoom permitted — we removed maximum-scale from the viewport meta (1.4.4).
  • html lang="en-MY" on every page. Bahasa Malaysia, Mandarin and Tamil strings will carry inline lang attributes as those translations ship.
  • Colour contrast on body text targets ≥ 4.5:1; on UI controls and large text ≥ 3:1 (1.4.3).
  • Keyboard navigation across forms, modals, sidebars, and the dashboard tab bar. Tab order matches visual order.
  • Focus trapping inside modals; Esc closes any open overlay.
  • Form fields are paired with their labels via htmlFor / id on the marketing surface (1.3.1). The dashboard surface is on track to match by end of Q3 2026.
  • Icon-only buttons in the marketing surface carry aria-label; decorative icons carry aria-hidden="true".

Known gaps (and the date we'll fix them)

  • Dashboard form labels not all programmatically linked. Some authenticated routes (/cold-email/new, parts of /sales/new) carry visible labels without htmlFor. Fix Q3 2026.
  • A handful of icon-only buttons in the dashboard lack aria-label. Sweep Q3 2026.
  • No formal screen-reader pass yet. VoiceOver (iOS/macOS) and NVDA (Windows) walk-throughs are scheduled for Q3 2026. We'll publish the report on this page when the audit closes.
  • Some chart visualisations don't yet expose a text alternative. The data is available in the underlying tables; the chart-only summary is a 1.1.1 gap. Q4 2026.
  • Mobile layout on a few admin-only drill-downs was built before our March 2026 baseline. Forms can require horizontal scroll at 375 px width. Sweep complete Q3 2026.
  • High-contrast / Windows-forced-colors mode. We pass automated checks but haven't hand-tested. Q1 2027.

How to flag a barrier

If something on ONSET is hard or impossible for you to use, please tell us. The fastest path is an email to accessibility@onset.my with a brief description and (if you can) the page URL and a screenshot. We'll respond inside 5 working days; severe blockers jump to the front of the queue.

We also welcome feedback that isn't a complaint — if you use assistive tech and have suggestions, we read every email Reginald gets and respond.

Our commitment

ONSET should work for blind, low-vision, deaf, hard-of-hearing, motor-impaired, and cognitively-disabled users. We treat accessibility issues with the same severity as security issues. A reported barrier preempts feature work.

Full third-party audit against WCAG 2.1 AA is queued for Q1 2027. The auditor and full report will be linked here when complete.

Last reviewed: 14 May 2026. Next review: 14 August 2026.