Our commitment
We build accessibility in rather than remediating it afterwards. Automated checks run on every pull request and block a merge on a violation, and a manual keyboard and screen-reader pass runs before every release.
This site is designed to conform to Web Content Accessibility Guidelines (WCAG) 2.2 Level AA.
What we have done
Structure and semantics Every page uses correct landmark regions and a single logical heading hierarchy. Lists are marked up as lists, form controls have programmatically associated labels, and no information is conveyed by shape or position alone.
Keyboard Every interactive element is reachable and operable by keyboard. Focus is always visible, with a 2px outline at 3:1 contrast against its background. The mobile navigation and the Nova assistant trap focus while open, close on Escape, and return focus to the control that opened them. A skip link is the first focusable element on every page.
Colour and contrast Body text meets or exceeds 4.5:1 against its background in both light and dark themes. Large text and interface components meet 3:1. Colour is never the only means of conveying information — status is always accompanied by text or an icon.
Motion Every animation on this site respects prefers-reduced-motion. This is not a token gesture: the WebGL hero renders one static frame and stops its render loop entirely, the particle network stops, marquees stop and become horizontally scrollable regions, and all scroll-triggered reveals are skipped rather than merely shortened.
Text and zoom Text can be resized to 200% without loss of content or function. The layout reflows to a 320px viewport with no horizontal scrolling. We do not cap pinch zoom.
Forms Every field has a visible, persistent label. Errors are announced to assistive technology, described in text rather than colour, and focus moves to the first field needing attention. Required fields are marked both visually and programmatically.
Media We ship no auto-playing media. All meaningful images carry alternative text; decorative graphics — including the animated hero — are hidden from assistive technology.
High contrast Windows High Contrast Mode is supported through forced-colors styling, so glass panels, gradient borders and gradient text all remain legible.
How we test
- Automated: axe-core runs against every page in continuous integration. A violation fails the build.
- Keyboard: every release is navigated end to end using only a keyboard.
- Screen readers: NVDA on Windows and VoiceOver on macOS and iOS.
- Zoom and reflow: tested at 200% and 400%, and at a 320px viewport width.
- Reduced motion: tested with the preference enabled at operating-system level.
Known limitations
We would rather list these than claim full conformance we cannot evidence.
- The animated hero background is decorative and hidden from assistive technology. It has no text alternative because it conveys no information. Under reduced-motion it is static.
- Third-party content — where a page embeds an external service, we cannot guarantee that service's accessibility. We avoid embeds where we reasonably can.
- PDF downloads provided on request are not always tagged for accessibility. Ask us and we will provide an accessible alternative format.
Assessment basis
This statement is based on a self-assessment carried out by Vitjo Media, combining automated testing, manual keyboard and screen-reader review, and code inspection. It has not been independently audited.
Feedback
If you encounter a barrier on this site, please tell us. We treat accessibility defects as functional defects, not cosmetic ones.
Email info@vitjomedia.co.za or call +27 81 586 8991. Please include the page, what you were trying to do, and the assistive technology and browser you were using.
We acknowledge every report within two working days and aim to resolve confirmed barriers within ten. If a fix will take longer, we will tell you why and offer an alternative way to get what you needed.
Accessibility in the work we deliver
We hold client projects to the same standard. WCAG 2.2 AA conformance is a delivery requirement on every web engagement, verified by automated checks in the client's own pipeline plus a manual pass, and documented in a written conformance report at handover.