✨ Features •
+ ♿ Accessibility •
🎨 Demo •
🚀 Quick Start •
📚 Docs •
@@ -83,6 +85,7 @@ In a world where document formatting tools are increasingly locked behind paywal
- **💾 Local Processing** - Your documents never leave your machine
- **🖥️ Native Desktop App** - Built with Tauri for Windows (Portable EXE)
- **📥 One-Click Export** - Clean `.docx` files ready for Microsoft Word
+- **♿ WCAG 2.2 AAA** - Full keyboard access, screen reader support, runtime contrast validation, reduced motion support
### 🏛️ Style Categories
@@ -115,6 +118,75 @@ Every style includes meticulously configured:
---
+## ♿ Accessibility
+
+TypoGenie targets **WCAG 2.2 AAA** conformance across the entire application - both the app interface and the documents it generates. Accessibility is enforced at runtime, not bolted on after the fact.
+
+### Visual & Perception
+
+| Feature | Detail |
+|---------|--------|
+| **Color Contrast** | All text meets 7:1 contrast ratio (AAA) against zinc-950 backgrounds. Template colors are auto-corrected at render time via `ensureContrast()` - large text (18pt+/14pt+ bold) enforces 4.5:1, body text enforces 7:1 |
+| **Focus Indicators** | 2px indigo focus ring at 80% opacity, visible on all dark backgrounds. Meets 3:1 contrast requirement for non-text UI |
+| **Reduced Motion** | Global CSS `prefers-reduced-motion` disables all animations and transitions. Framer Motion animations individually gated via `useReducedMotion()` hook |
+| **Forced Colors** | Windows High Contrast Mode supported via `@media (forced-colors: active)` rules |
+| **Zoom Support** | Root font size set to `100%` (not `px`) so browser zoom and text scaling work correctly. `overflow-x: hidden` (not `overflow: hidden`) allows content access at 200%+ zoom |
+| **Text Spacing** | Line-height enforced at minimum 1.5 for body text, 1.0 for headings. Justified text overridden to left-aligned at render time (WCAG 1.4.8) |
+
+### Keyboard Navigation
+
+| Feature | Detail |
+|---------|--------|
+| **Full Keyboard Access** | Every interactive element is reachable and operable via keyboard. Logo uses `