Coetio is built to work with a keyboard, a screen reader, and other assistive technology, for clubs and for volunteer programs alike. The target is WCAG 2.1 Level AA. That standard is not met on every screen, and this page states what is done and what is not.
Where things stand
Coetio is partially conformant with WCAG 2.1 Level AA. “Partially conformant” means parts of the app meet the standard, and parts have not been checked or do not yet meet it. Every known barrier is named below, with a way around it where one exists.
Based on an internal review of the app, most recently checked against the code on September 8, 2026. No outside audit has been performed, and not every screen reader has been tested.
What works today
- A visible focus outline on links, buttons, and form fields, in both light and dark themes, so keyboard users can always see where they are.
- A “Skip to content” link at the top of the main app screens, so keyboard users can jump past the navigation.
- Labels on form fields, and text for screen readers on icon-only buttons.
- Buttons and form fields are at least 40 pixels tall on the standard styles, and controls that sit in a list row are a uniform 36 pixels. An automated check refuses a row control resized by hand.
- Nothing in Coetio can only be done by dragging. Every draggable surface carries a labeled button that does the same thing: task steps, the task board, the event checklist, both halves of the meeting agenda, the documents list, the application form builder, and the volunteer shift board. On the meeting timeline, buttons move a bar five minutes earlier or make it five minutes shorter.
- The view strips, like list-or-month on the calendar or board-or-list on tasks, are one shared control that marks the current choice on the accessibility attribute itself, and the highlight is drawn from that attribute. The choice a screen reader announces and the one that looks selected cannot disagree.
- Dark mode that follows the device's setting, plus a manual switch.
- Reduced motion works two ways. Coetio honors the device's reduce-motion setting, and a “Reduce motion” switch on the Profile page turns off animations across the app. Both switches zero animation delays as well as durations, so nothing sits invisible before appearing, and both silence vibration.
- A short buzz confirms a successful check-in and flags an undo message, on devices whose browser supports vibration. In practice that means Android. iPhones do not let websites vibrate at all, so on an iPhone the feature does not exist. The buzz is skipped when either reduce-motion switch is on.
- Errors, confirmations, and status messages are announced to screen readers, including a refusal. An action that is not allowed says so in words.
- In meeting mode, the agenda's controls say their state in words. The Start button and the check-off both name the item they act on, a covered line says “Covered”, and on the member view a member's own line reads “Mark your part done” or, once it is done, “Your part is done”.
- Deleting asks first, in words that say what goes along: removing a step that has smaller steps under it says how many go with it, and taking someone off a task warns that their part of the record goes too.
- The “add Coetio to your home screen” invitation is a bottom sheet. It takes focus when it appears and gives it back when it closes, the page behind it keeps working, Escape closes it, and it only ever appears on a quiet page, never over check-in or a form. Declining it twice retires it for good.
- Progress bars on a task and in meeting mode report their number, so a screen reader speaks “3 of 7 steps done” where a sighted reader sees a filled strip.
- The picker for choosing who is on a task keeps focus inside itself while it is open, closes with Escape, hands focus back to the button that opened it, and announces the running count as choices are made.
- The color picker in Settings is a labeled group, and each swatch carries the name of its color, so a screen reader reads “Pine” aloud. The committee color picker works the same way.
- Body text is never colored. The reading field is slate ink on near-white in light mode and near-white on slate in dark mode, which measures 15.11:1. The bar is 4.5:1 for text under 24 pixels and 3:1 for larger display text and for any graphic that carries meaning. An automated check recomputes every one of those ratios from the color values on each build, so a color cannot drift below the number that justifies it. The meeting screens are the one part of the app with color and gradients, and their contrast was measured against every club color.
- Attendance does not require a camera. When scanning a QR code is not workable, a leader can mark a member present by hand, or an organization can use kiosk mode, where a member taps their own name.
- On a phone, the month calendar is replaced by a simpler week strip, so no screen requires reading a seven-column grid at that width.
What still needs work
Task steps that do not say whether they are checked
On a task's own page, the step check-off button reads out the same words whether the step is done or not. Done is shown by a filled marker and a line through the text, and neither of those is spoken. This is the largest known barrier. Two ways around it: the small (i) beside each step reports whether it is done, when, and who did it; and the event page's own checklist covers the same items and does announce “Check off” and “Uncheck” correctly.
Finished and unfinished shown without words
On several read-only lists, a finished item is marked with an icon and a line through the text and nothing else, so a screen reader reads the same sentence either way. This affects agenda lines belonging to someone else in a member's view of meeting mode, an organization's setup checklist, a member's involvement record, and the projector view. A member's own lines in meeting mode, the dashboard, and the calendar all say it in words.
The volunteer console and the kiosk have not been assessed
The coordinator console, the shift board, and the kiosk screen a volunteer taps to sign in and out have not been reviewed for keyboard or screen-reader use. Apart from the shift board's drag alternative named above, nothing there has been checked, and nothing there is known to be broken. A coordinator who needs an alternative can record hours by hand from the Hours screen, which is part of the same console and is a plain form.
Two extras that only appear under a mouse pointer
On the Tasks page, a preview panel opens under a row on hover, and the names behind a “+3” chip appear on hover when a task has more people on it than fit in the row. Neither opens on keyboard focus, and neither works on a touch screen. Nothing is only in them. Everything both show is on the task's own page, which the task title links to.
Smaller problems already known
- The event page's checklist progress bar has no name, so a screen reader announces the count without saying what is being counted. The same count is written out in text beside it.
- The meeting timer: when it reaches zero, the pause button is replaced, so keyboard focus drops back to the top of the page. Nothing is announced when the time is up either.
- The small (i) buttons on task steps read their label twice on some screen readers, and they do not close with Escape. Pressing the (i) again closes it.
- A ⋯ menu stays open when focus tabs out of it. Escape closes it.
- In meeting mode, a member's finished line reads “Your part is done”, which does not say that pressing it again undoes the tick.
- On the event form, picking a previously used place fills in the address and room boxes without announcing that it happened.
- On the phone week strip, the dots that mean “something happens this day” are not announced.
- A few wide tables scroll sideways on a small phone: the permissions grid in Settings and the hours transcript.
- Not every screen has been tested on every screen reader, so some labels and reading orders are likely still awkward.
- No independent accessibility audit has been done.
- Content that leaders write is their own. Coetio cannot guarantee that an uploaded image, document, or poster is accessible.
- When the bot check on the sign-up and join forms is switched on, it is provided by Cloudflare, and Coetio does not control its accessibility.
Reported problems are fixed first, ahead of the rest of this list.
Report a barrier
A barrier encountered while using Coetio can be reported by email to support@coetio.com with the page involved, the task being attempted, and the device or assistive technology in use. Reports are answered within 30 days, with a workaround where one exists while the underlying problem is fixed. The feedback form can also be used.