Accessibility
We aim for WCAG 2.2 Level AA across the whole site. Below is what that means in code, not in vague language. You can verify any of it: view source, run an audit, or email us and we'll walk you through it.
Keyboard
Every interactive element is reachable with Tab. Focus is visible: a 3px amber outline at 2px offset. Browser defaults are too subtle on a dark background, so we replaced them.
The first focusable element on every page is a Skip to main content link. Press Tab as soon as a page loads; you'll see it appear in the top-left corner.
Screen readers
Real landmarks: header, nav, main, footer. The active section in navigation reports itself with aria-current="page". Decorative icons carry aria-hidden="true" so a screen reader doesn't say "code bracket" before "Software Development". When you copy our ABN to the clipboard, a polite live region announces success without interrupting whatever you were reading.
The HTML root has lang="en" so screen readers pronounce content correctly. Headings nest in order without skipped levels.
Touch and pointer
Every tap target meets WCAG 2.5.5: minimum 44 by 44 pixels. Footer links, header buttons, copy controls. We measured all of them.
The viewport meta allows pinch-zoom. We never set user-scalable=no. If you need to zoom in, you can.
Colour
Body text in light mode is #1a1a1a on white. Dark mode is near-white on a dark slate. Both pass AAA for normal body text, well above the AA threshold of 4.5:1.
Links don't rely on colour alone. They're underlined by default with a 0.15em offset. Strip colour out entirely and you can still tell what's a link.
Motion
If your operating system reports prefers-reduced-motion: reduce, we honour it. View transitions disable. Animation and transition durations collapse to effectively zero. Mobile auto-scroll on section change is suppressed.
Dark mode
We follow your prefers-color-scheme. There's a tiny inline style block in <head> that paints the dark background before the rest of the CSS arrives, so people with light sensitivity don't get a flash of white during navigation.
No JavaScript
The site is statically generated with Astro. JavaScript adds clipboard copy and a small mobile scroll behaviour. Disable it entirely and you can still read everything, follow every link, and contact us.
The accessibility page on most websites is a list of intentions and an email address. This one is a list of decisions already made and shipped. If you find something that fails for you, that's a bug, not a wontfix.
— Jan Klan, chief at Tactic Media
What we don't claim
AAA across an entire site is rare and often impractical for body content; the contrast and reading-level requirements get aggressive. We aim for AA everywhere and reach AAA where it falls out of the design.
The embedded Google Analytics script is a third party. We pass the anonymisation flags it offers. Beyond that, we don't control its internals.
Found a problem?
We want to know. Email support@tacticmedia.com.au or use the contact page. Accessibility bugs are bugs: if it's broken, we fix it.