|
| 1 | +// SPDX-License-Identifier: PMPL-1.0-or-later |
| 2 | += Burble Accessibility |
| 3 | +:toc: auto |
| 4 | +:icons: font |
| 5 | + |
| 6 | +== Overview |
| 7 | + |
| 8 | +Burble is committed to providing an accessible voice-first communication platform that works for everyone, regardless of ability. This document outlines our accessibility features, compliance targets, and roadmap. |
| 9 | + |
| 10 | +== Current Accessibility Features |
| 11 | + |
| 12 | +=== Keyboard Accessibility |
| 13 | + |
| 14 | +[cols="1,3,1", options="header"] |
| 15 | +|=== |
| 16 | +|Feature |Description |Status |
| 17 | + |
| 18 | +|Custom Keybindings |
| 19 | +|Remappable keyboard shortcuts for all major actions |
| 20 | +|✅ Implemented |
| 21 | + |
| 22 | +|Push-To-Talk |
| 23 | +|Space key (configurable) for voice activation |
| 24 | +|✅ Implemented |
| 25 | + |
| 26 | +|Mute/Deafen |
| 27 | +|M/D keys for quick audio control |
| 28 | +|✅ Implemented |
| 29 | + |
| 30 | +|Volume Control |
| 31 | +|Arrow keys for volume adjustment |
| 32 | +|✅ Implemented |
| 33 | + |
| 34 | +|Room Navigation |
| 35 | +|Tab/Shift+Tab for room switching |
| 36 | +|✅ Implemented |
| 37 | +|=== |
| 38 | + |
| 39 | +=== Screen Reader Support |
| 40 | + |
| 41 | +[cols="1,3,1", options="header"] |
| 42 | +|=== |
| 43 | +|Feature |Description |Status |
| 44 | + |
| 45 | +|Presence Announcements |
| 46 | +|"User joined/left room" audio cues |
| 47 | +|✅ Implemented |
| 48 | + |
| 49 | +|Room Change Announcements |
| 50 | +|"Switched to room X" notifications |
| 51 | +|✅ Implemented |
| 52 | + |
| 53 | +|Moderation Announcements |
| 54 | +|"User was action by moderator" alerts |
| 55 | +|✅ Implemented |
| 56 | + |
| 57 | +|ARIA Attributes |
| 58 | +|Semantic HTML for screen readers |
| 59 | +|⚠️ Partial |
| 60 | + |
| 61 | +|Live Regions |
| 62 | +|Dynamic content updates for screen readers |
| 63 | +|⚠️ Planned |
| 64 | +|=== |
| 65 | + |
| 66 | +== Planned Accessibility Features |
| 67 | + |
| 68 | +=== Visual Accessibility (Q2 2026) |
| 69 | + |
| 70 | +[cols="1,3,1", options="header"] |
| 71 | +|=== |
| 72 | +|Feature |Description |Target |
| 73 | + |
| 74 | +|High Contrast Mode |
| 75 | +|WCAG 4.5:1 contrast ratios |
| 76 | +|Q2 2026 |
| 77 | + |
| 78 | +|Colorblind Support |
| 79 | +|Deuteranopia, Protanopia, Tritanopia palettes |
| 80 | +|Q2 2026 |
| 81 | + |
| 82 | +|Font Size Adjustment |
| 83 | +|4 levels (14-20px) with persistence |
| 84 | +|Q2 2026 |
| 85 | + |
| 86 | +|Theme Switching |
| 87 | +|Dark/Light/System with OS preference detection |
| 88 | +|Q2 2026 |
| 89 | + |
| 90 | +|Reduced Motion |
| 91 | +|Respects `prefers-reduced-motion` |
| 92 | +|Q2 2026 |
| 93 | +|=== |
| 94 | + |
| 95 | +=== Auditory Accessibility (Q3 2026) |
| 96 | + |
| 97 | +[cols="1,3,1", options="header"] |
| 98 | +|=== |
| 99 | +|Feature |Description |Target |
| 100 | + |
| 101 | +|Closed Captions |
| 102 | +|Real-time voice-to-text (Web Speech API) |
| 103 | +|Q3 2026 |
| 104 | + |
| 105 | +|Visual Notifications |
| 106 | +|On-screen indicators for audio events |
| 107 | +|Q3 2026 |
| 108 | + |
| 109 | +|Volume Normalization |
| 110 | +|EBU R128 (-23 LUFS) compliance |
| 111 | +|Q3 2026 |
| 112 | + |
| 113 | +|Voice Commands |
| 114 | +|Voice-controlled interface |
| 115 | +|Q3 2026 |
| 116 | +|=== |
| 117 | + |
| 118 | +=== Cognitive Accessibility (Q4 2026) |
| 119 | + |
| 120 | +[cols="1,3,1", options="header"] |
| 121 | +|=== |
| 122 | +|Feature |Description |Target |
| 123 | + |
| 124 | +|Clear Language Mode |
| 125 | +|Simplified terminology with tooltips |
| 126 | +|Q4 2026 |
| 127 | + |
| 128 | +|Predictable Navigation |
| 129 | +|Consistent layout across all pages |
| 130 | +|Q4 2026 |
| 131 | + |
| 132 | +|Error Prevention |
| 133 | +|Confirmations for all destructive actions |
| 134 | +|Q4 2026 |
| 135 | + |
| 136 | +|Contextual Help |
| 137 | +|Persistent help system with guidance |
| 138 | +|Q4 2026 |
| 139 | +|=== |
| 140 | + |
| 141 | +== Compliance Targets |
| 142 | + |
| 143 | +=== WCAG 2.1 Compliance |
| 144 | + |
| 145 | +[cols="1,2,1", options="header"] |
| 146 | +|=== |
| 147 | +|Level |Requirements |Target |
| 148 | + |
| 149 | +|WCAG 2.1 A |
| 150 | +|Minimum accessibility |
| 151 | +|Q2 2026 |
| 152 | + |
| 153 | +|WCAG 2.1 AA |
| 154 | +|Recommended accessibility |
| 155 | +|Q4 2026 |
| 156 | + |
| 157 | +|WCAG 2.1 AAA |
| 158 | +|Enhanced accessibility |
| 159 | +|2027 |
| 160 | +|=== |
| 161 | + |
| 162 | +=== Legal Compliance |
| 163 | + |
| 164 | +[cols="1,3,1", options="header"] |
| 165 | +|=== |
| 166 | +|Standard |Description |Target |
| 167 | + |
| 168 | +|Section 508 |
| 169 | +|U.S. federal accessibility requirements |
| 170 | +|Q4 2026 |
| 171 | + |
| 172 | +|EN 301 549 |
| 173 | +|EU public sector procurement |
| 174 | +|Q4 2026 |
| 175 | + |
| 176 | +|VPAT 2.4 |
| 177 | +|Voluntary Product Accessibility Template |
| 178 | +|Q4 2026 |
| 179 | +|=== |
| 180 | + |
| 181 | +== Implementation Roadmap |
| 182 | + |
| 183 | +=== Q2 2026: Foundation |
| 184 | + |
| 185 | +* Port PanLL's accessibility engine |
| 186 | +* Implement theme switching |
| 187 | +* Add font size adjustment |
| 188 | +* Integrate K9 accessibility validator |
| 189 | +* Create basic compliance report |
| 190 | + |
| 191 | +=== Q3 2026: Enhancement |
| 192 | + |
| 193 | +* Add closed captions |
| 194 | +* Implement visual notifications |
| 195 | +* Add colorblind support |
| 196 | +* Complete screen reader support |
| 197 | +* Add accessibility testing to CI |
| 198 | + |
| 199 | +=== Q4 2026: Compliance |
| 200 | + |
| 201 | +* Achieve WCAG 2.1 AA compliance |
| 202 | +* Complete legal compliance documentation |
| 203 | +* Publish VPAT |
| 204 | +* Final accessibility audit |
| 205 | + |
| 206 | +== Testing & Validation |
| 207 | + |
| 208 | +=== Automated Testing |
| 209 | + |
| 210 | +* **pa11y**: Automated WCAG testing |
| 211 | +* **axe-core**: Accessibility engine |
| 212 | +* **K9-SVC**: Contractile validation |
| 213 | +* **CI Integration**: GitHub Actions workflow |
| 214 | + |
| 215 | +=== Manual Testing |
| 216 | + |
| 217 | +* Keyboard-only navigation |
| 218 | +* Screen reader testing (NVDA, VoiceOver) |
| 219 | +* High contrast mode verification |
| 220 | +* Colorblind simulation testing |
| 221 | + |
| 222 | +== Reporting Accessibility Issues |
| 223 | + |
| 224 | +Found an accessibility issue? Please report it: |
| 225 | + |
| 226 | +* **GitHub Issues**: https://github.com/hyperpolymath/burble/issues |
| 227 | +* **Email**: accessibility@hyperpolymath.dev |
| 228 | +* **Matrix**: #hyperpolymath-accessibility:matrix.org |
| 229 | + |
| 230 | +Include: |
| 231 | +- Description of the issue |
| 232 | +- Steps to reproduce |
| 233 | +- Browser/OS/Assistive technology used |
| 234 | +- Suggested fix (if any) |
| 235 | + |
| 236 | +== Accessibility Statement |
| 237 | + |
| 238 | +Burble is committed to: |
| 239 | + |
| 240 | +* Following WCAG 2.1 guidelines |
| 241 | +* Providing equivalent alternatives for audio content |
| 242 | +* Ensuring keyboard accessibility |
| 243 | +* Supporting screen readers and other assistive technologies |
| 244 | +* Continuous improvement based on user feedback |
| 245 | + |
| 246 | +We welcome contributions to improve accessibility. See our link:../CONTRIBUTING.adoc[Contributing Guide] for details. |
| 247 | + |
| 248 | +== Related Documents |
| 249 | + |
| 250 | +* link:../ROADMAP.adoc[Project Roadmap] — Accessibility milestones |
| 251 | +* link:../../.machine_readable/contractiles/adjust/Adjustfile.a2ml[Adjustfile] — Accessibility contract |
| 252 | +* link:https://www.w3.org/WAI/standards-guidelines/wcag/[WCAG Guidelines] — Official standards |
| 253 | +* link:https://www.section508.gov/[Section 508] — U.S. federal requirements |
| 254 | + |
| 255 | +== License |
| 256 | + |
| 257 | +This document is licensed under PMPL-1.0-or-later. See link:../../LICENSE[LICENSE] for details. |
0 commit comments