accessibility section in readme

This commit is contained in:
2026-03-21 20:48:57 +02:00
parent f6710cc039
commit 487cdba6d5

View File

@@ -121,6 +121,25 @@ The tools people use to communicate should belong to the people using them. Not
- HSTS, CSP, and all the security headers you'd expect
- Automatic database migrations on startup
## ♿ Accessibility
If a tool for collective voice isn't usable by everyone, it's not really for everyone. Echoboard targets WCAG 2.2 AAA - not as a checkbox, but because access is a prerequisite for participation.
- **Full keyboard navigation** - every interactive element is reachable and operable without a mouse. Focus indicators are visible on all controls. No keyboard traps.
- **Screen reader support** - semantic HTML throughout, ARIA landmarks with labels, live regions for dynamic content (toasts, vote counts, search results), proper roles on custom widgets (combobox, listbox, dialog, alertdialog).
- **No information conveyed by color alone** - status badges have text labels, importance levels have names, lock states have icons and text, not just color changes.
- **Contrast ratios meet AAA (7:1)** - both dark and light themes are designed to exceed the strictest contrast requirements for normal text.
- **Touch targets meet 44px minimum** - buttons, links, dropdown options, and all interactive elements are large enough for comfortable touch interaction.
- **Reduced motion respected** - all animations are disabled when the user's operating system says they prefer reduced motion.
- **Page titles update on navigation** - every route sets a descriptive document title so screen reader users know where they are.
- **Skip navigation link** - a hidden link at the top of every page lets keyboard users jump straight to the main content.
- **Error messages announced** - form errors use `role="alert"` so screen readers announce them immediately without the user hunting for what went wrong.
- **Modals trap focus properly** - dialog focus stays inside the modal until it's closed, then returns to the element that opened it.
- **Labels on everything** - every form input has a visible label or accessible name. No placeholder-only inputs. Required fields are marked.
- **Breadcrumbs and heading hierarchy** - pages have logical heading structure and breadcrumb navigation so users can orient themselves.
Accessibility isn't a feature for a minority. It's the baseline for software that respects the people using it.
## 🛡️ Security
Letting people participate anonymously doesn't mean letting them run wild. Echoboard takes security seriously at every layer - protecting the people who give feedback, the people who manage it, and the data in between.