MyShiftCalendar targets WCAG 2.1 Level AA conformance. If you encounter an accessibility barrier, please contact us via the footer feedback link.
Our commitment
We want MyShiftCalendar to be usable by everyone, including people who use assistive technologies such as screen readers, keyboard-only navigation, and voice input. We are committed to meeting WCAG 2.1 Level AA across the site.
This statement covers the main calculator at myshiftcalendar.app and all industry and legal pages on the same domain.
Conformance status
| Feature | Status | Notes |
|---|---|---|
| Keyboard navigation | Pass | All interactive elements reachable via Tab; activated via Enter/Space |
| Calendar cell ARIA labels | Pass | Each day cell includes date, shift type, and bank holiday name where applicable |
| Colour contrast — text | Pass | All body text meets 4.5:1 minimum ratio; headings meet 3:1 |
| Colour-blind mode | Pass | Toggle via settings icon — adds diagonal stripes (day) and crosshatch (night) patterns |
| Font scaling to 200% | Pass | No content loss or horizontal scroll at 200% zoom on standard viewports |
| Screen reader support | Pass | Tested with VoiceOver (macOS 15 / iOS 18) and NVDA 2024.1 (Windows 11) |
| Pay estimator chart | Partial | Chart.js canvas has limited screen reader support; same data shown in a table below the chart |
| Reduced motion | Pass | Transitions and animations respect prefers-reduced-motion media query |
Calendar cells
Every day cell in the 12-month calendar has a descriptive aria-label in the format:
"Wednesday 25 December 2026, Night Shift, Public Holiday: Christmas Day"
Off days are labelled as "Rest day". Days before the calendar is generated are not rendered.
Keyboard navigation
The full application is navigable using only a keyboard:
- Tab — move forward through interactive elements
- Shift + Tab — move backward
- Enter / Space — activate buttons and links
- Arrow keys — navigate within pattern card grid and team selector
Focus indicators are visible on all interactive elements. We do not suppress the browser's default focus ring.
Colour and colour-blind mode
The default calendar uses blue for day shifts and dark navy for night shifts. These colours are chosen to be distinguishable for most forms of colour vision deficiency. However, for users with deuteranopia, protanopia, or tritanopia, the colour-blind mode provides an additional visual distinction:
- Day shifts — diagonal stripe pattern (45 degrees)
- Night shifts — crosshatch pattern (45 degrees and -45 degrees)
- Rest days — plain light grey (no pattern needed)
To enable colour-blind mode, click the settings icon (top right of the calculator) and toggle the "Colour-blind mode" switch.
Known issues
- Pay estimator chart: The Chart.js bar chart rendering has limited accessibility for screen readers because it uses an HTML canvas element. The same data is presented in a fully accessible table directly below the chart. We are evaluating alternative charting libraries with better accessibility support.
- Third-party ad content: Google AdSense advertisements may not fully meet WCAG 2.1 AA. We have no control over the accessibility of ad creatives served by Google.
Technical specifications
MyShiftCalendar relies on the following web technologies for accessibility:
- HTML5 semantic elements (
<nav>,<main>,<article>,<header>) - WAI-ARIA roles and properties (
aria-label,aria-current,role="list",aria-hidden) - CSS custom properties for consistent design tokens
- Sufficient colour contrast ratios validated with the WebAIM Contrast Checker
Feedback and contact
Accessibility is an ongoing commitment, not a one-time checklist. If you encounter a barrier that prevents you from using any feature of MyShiftCalendar, please let us know via the feedback link in the footer. Include a description of the problem, the browser and assistive technology you are using, and the page URL. We will aim to respond within 5 business days and resolve issues within 30 days.
This statement was prepared in accordance with the Public Sector Bodies (Websites and Mobile Applications) Accessibility Regulations 2018 and WCAG 2.1 guidance.