eleven / messenger Public

Clone
git clone https://amadan.net/eleven/messenger

Plain git — no account needed to clone.

Download

Download this file

1# πŸ€– Accessibility
2
3Eleven Messenger is for groups of real people β€” families, friends, small teams β€”
4and that only works if everyone in the group can actually use it. This page is
5our accessibility statement: the standard we hold ourselves to, what that means
6in practice, and where we honestly are today.
7
8## The commitment
9
10**All web surfaces target [WCAG 2.2](https://www.w3.org/TR/WCAG22/) Level AA.**
11That covers the chat client itself, the mini-apps, the join/invite/onboarding
12pages, the admin console, and the home server pages.
13
14**The native iOS and Mac apps target the same bar**, interpreted through
15[WCAG2ICT](https://www.w3.org/TR/wcag2ict-22/) and Apple's platform
16accessibility features: full VoiceOver support, Dynamic Type, Reduce Motion,
17and Increase Contrast.
18
19Why WCAG 2.2 AA:
20
21- **2.2 is the current W3C Recommendation** β€” committing to an older version
22 (2.0/2.1) would be committing to yesterday's bar, and 2.2 AA is backwards
23 compatible with 2.1 AA (it adds criteria; the only removal, 4.1.1 Parsing,
24 is obsolete).
25- **AA is the level the world converges on.** Legal and procurement baselines β€”
26 the EU's EN 301 549 (European Accessibility Act), US Section 508, ADA case
27 law β€” all reference Level AA. Meeting 2.2 AA satisfies all of them.
28- **AAA is not a blanket target by design** β€” the W3C itself says AAA cannot be
29 satisfied for all content. We adopt individual AAA criteria where they're
30 cheap and kind (e.g. generous contrast, no timing pressure), but AA is the
31 commitment.
32
33## What this means for anyone changing the UI
34
35The bar for new and changed UI, web and native alike:
36
37- **Keyboard first.** Every action reachable and operable by keyboard, with a
38 visible focus indicator. Panels, menus, sheets, and the lightbox manage focus
39 on open/close and never trap it. The sticky composer and headers must not
40 obscure the focused element (2.4.11).
41- **Everything has a name.** Icon-only buttons get labels; menus and dialogs
42 get proper roles; form fields get real labels. We already build DOM nodes
43 instead of `innerHTML` β€” give those nodes their ARIA at the same time.
44- **Gestures have alternatives** (2.5.7): anything done by dragging or swiping
45 (to-do reorder, swipe-to-reply) also works with simple taps/clicks, and touch
46 targets are at least 24Γ—24 CSS px (2.5.8).
47- **Contrast holds in both themes.** AA ratios (4.5:1 text, 3:1 large text and
48 UI components) in light *and* dark β€” including secondary text, placeholders,
49 and focus rings.
50- **Motion is optional.** Ambient scenes (the smoke-and-motes boot and
51 space-switch), grace-period animations, and transitions respect
52 `prefers-reduced-motion` / Reduce Motion.
53- **Never color alone.** State (unread, online, done, error) is always carried
54 by text or shape as well as color.
55- **Native parity.** iOS/Mac views carry accessibility labels and traits,
56 survive the largest Dynamic Type sizes, and expose row actions to VoiceOver.
57
58## Where we are today
59
60Honestly: **partial conformance**. Accessibility affordances exist throughout
61(ARIA attributes across the web client, VoiceOver labels in the native apps),
62but we have not yet completed a systematic audit against 2.2 AA. That audit β€”
63surface by surface, with fixes landing as small PRs β€” is tracked in
64[issue #569](https://github.com/elevenmessenger/messenger/issues/569). This
65page's status will be updated when the sweep completes.
66
67## Feedback
68
69If something in Eleven Messenger doesn't work with your assistive technology,
70or works badly, we want to know:
71[open an issue](https://github.com/elevenmessenger/messenger/issues) describing
72what you were doing, the platform/AT you use, and what went wrong. Accessibility
73reports are treated as bugs, not feature requests.
74