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 - HSTS, CSP, and all the security headers you'd expect
- Automatic database migrations on startup - 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 ## 🛡️ 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. 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.