Accessibility statement
An accessible web is a fast web.
Performance and accessibility share the same root: respect for the user. This site targets WCAG 2.1 Level AA conformance and is tested in Chrome, Safari, Firefox, on macOS, Windows, iOS, and Android.
What conformance means here
michaelmorakis.com targets WCAG 2.1 Level AA on the home page, privacy page, and all service / legal pages. Sub-pages added in the future inherit the same baseline.
What I commit to
- Keyboard navigation works on every interactive element. Tab, Shift+Tab, Enter, Esc behave as expected. Focus-visible outlines are styled and never removed.
- Color contrast meets AA on all body text (4.5:1 minimum) and large text (3:1 minimum). Verified against the brand palette.
- Headings are semantically structured (one h1 per page, no level skips).
- Form labels are present for every input, either visible or via
aria-label. - Images have
altattributes (descriptive) oraria-hidden(decorative). - Animations respect
prefers-reduced-motion— pulse halos, slide-ins, and selection animations disable automatically when the OS setting is on. - Buttons are real
<button>elements (not styleddivs). - Links that open new tabs are flagged via the visible
↗indicator +rel="noopener".
Known limitations
- The PageSpeed score card (hero, desktop) uses SVG ring graphics that are decorative. The numbers are duplicated as text for screen readers.
- The WhatsApp floating action button uses an animated halo that can be visually distracting on idle pages — disabling motion stops the animation.
- The Cookie banner uses
localStoragefor persistence. If your browser blocks localStorage entirely, the banner will reappear on every visit.
Reporting an issue
If you encounter an accessibility barrier, please email hello@michaelmorakis.com with the subject line "Accessibility issue" and a description of:
- Which page (URL)
- Which element / interaction
- What assistive technology you were using (if any)
- What you expected vs what happened
I read every report personally and respond within 7 days, usually within 1. Critical barriers are fixed and re-deployed within 48 hours of confirmation.
Testing methodology
Manual testing: keyboard-only navigation, screen reader (VoiceOver on macOS, NVDA on Windows), zoom to 200%, color contrast verified with Stark. Automated: Lighthouse (Chrome DevTools), axe DevTools. Continuous: every page rebuilds run through Lighthouse Accessibility on deployment — minimum score is 95.
Last updated 2026-05-01.