Accessibility statement: Quickspan
Last updated: 27 October 2026. App version: 0.2.0.
We want Quickspan to work for as many people as possible, including people who use a screen reader, a keyboard or a switch, people who need large text or strong contrast, and people who cannot drag or pinch. We aim to meet the Web Content Accessibility Guidelines (WCAG) 2.2, level AA. WCAG was written for websites, but its rules apply to apps, and we use them as our checklist.
We do not claim that Quickspan conforms to WCAG 2.2 AA, and we do not call it fully accessible. We have had no outside audit. This page says how we checked, what we built for, and what does not work well yet.
How we checked
- Reading the code. We audited the app against WCAG 2.2 AA and Android’s accessibility guidance by reading the code.
- Automated tests. Unit tests compute colour contrast with the exact WCAG formula. UI tests run on emulators with Google’s Accessibility Test Framework, which flags missing labels, small touch targets and similar problems; a guard test fails if a UI test class does not turn those checks on. Other UI tests check TalkBack actions, focus and keyboard behaviour.
- Screenshots. For the week, day, month and agenda screens we keep screenshots at 150 and 200 percent text and in Arabic with a right-to-left layout. They catch changes; they are not a pass or fail test.
- What we have not done. Nobody who uses TalkBack, Switch Access, Voice Access or a hardware keyboard every day has tested Quickspan for us. We have not tested with TalkBack, Switch Access or a hardware keyboard on a physical phone or tablet, or at 200 percent text on a physical device. Where this page says “built to”, it means the code is written for it and an automated check covers part of it, not that a person has confirmed it.
What we built for
- Screen readers (TalkBack). Controls are built with names, roles and states. In the week grid, the all-day bars, the month, the agenda and the Today list, an event is read as one sentence: title, day, start and end time, length and calendar name, and “ended” once it is over. Menu items that turn a calendar or setting on or off say whether it is on, and the Settings screen and the accent colour picker are built with roles and states. Day headings and section titles are marked as headings, and the main areas announce themselves (Calendar, Agenda, Today, Event details). The 24 hour labels in the grid are hidden from TalkBack so they do not add 24 stops before the first event. Some changes are announced without moving your focus: what quick add understood as you type, the new date range, the number of agenda search results, and the undo message after you move or delete an event.
- Voice quick add. The microphone button appears only where Android has an on-device speech recogniser (Android 12 or newer), and the speech is not sent to a server. TalkBack is told when Quickspan is listening, when the microphone permission was refused and when nothing was heard. We have not tried it with TalkBack on a device.
- No dragging needed. Anything you can do by dragging has another way. A timed event has actions in the TalkBack actions menu (and in the Menu key or right-click menu) to move 15 minutes or an hour earlier or later, move to the previous or next day, change its length, delete, or add it to a selection. All-day events can move to the previous or next day. The hour grid can be zoomed in and out with TalkBack actions. Automated tests cover the move actions and the all-day moves.
- Keyboard. Arrow keys move between events. Opening an event moves focus into its details, and Esc closes them and returns focus to the event you came from (an automated test checks this). Shortcuts include Ctrl+N for a new event, Ctrl+1 and Ctrl+2 for the Calendar and Agenda screens, D, W and M for day, week and month, Ctrl+Left and Ctrl+Right for the previous and next days, Ctrl+T for today, Ctrl+Z and Ctrl+Y for undo and redo, and Ctrl+plus, minus and 0 to zoom the hours; in the editor Ctrl+Enter saves and Esc cancels. The single-letter shortcuts only work while focus is in the calendar, so they do not fire while you type. The list is also given to Android’s keyboard shortcut helper (Meta + /), which a test checks. The Pro purchase screen and the Pro tool windows put focus on their title when they open and close with Esc.
- Switch Access. We have not tested it. Switch Access moves through the same focus and actions that TalkBack and a keyboard use, so the same things should be reachable, but we cannot confirm it.
- Text size. Text is set in scalable units, so it follows the font size you set in Android. The hour rows, the date badges in the month and the cells of the year view grow with it, fewer days are shown side by side at large sizes, the quick-add field grows to three lines, and the Calendars and Accounts dialogs and the print and schedule windows scroll. We aim for 200 percent without clipped text; some places still do not manage it (see below).
- Colour and contrast. A unit test checks every text colour pair in every theme (light, dark and pure black) against 4.5 to 1, and outlines, accents and the focus colour against 3 to 1. Another test checks the colour of every quick-add chip in every theme against 4.5 to 1, and a third measures event titles and times on the blocks, month chips and the focus ring for the built-in calendar colours and typical phone-calendar colours. Event edges and dots take the colour of their calendar and the app lightens or darkens them toward 3 to 1 against the background. A few gaps remain (see below).
- Light and dark. Quickspan follows the system light or dark setting. With the optional Pro purchase there are also colour themes and a pure black mode, which the same contrast test covers.
- Animation. The app reads Android’s animation setting while it is open. With “Remove animations” on, transitions snap or fade briefly, and the pulsing time dot and the Pro slideshow stop; swipes and drags that follow your finger keep their normal movement. We have not checked this on a device.
- Languages and right to left. The app is translated into 23 languages and scripts, including Arabic and Hebrew, and the text a screen reader speaks is translated too. The layout is built to mirror for right-to-left languages and arrows are mirrored. No translation has been reviewed by a native speaker yet, and nobody has looked at the mirrored layout on a device, so treat both as unconfirmed.
- Touch targets. Automated checks flag touch targets under 48 dp, and event blocks have a minimum height of 48 dp.
What does not work well yet (known limitations)
We would rather tell you than have you find out.
- Large text. We have not tested 200 percent on a device. Known places that still cut text or clip: the home-screen widgets (the month widget’s day cells and the agenda widget’s titles have fixed sizes or one line), event titles that are limited to one line in the all-day bars and in the month, and the date and time buttons in the event editor.
- Time picker. The clock-dial time picker has no keyboard entry field. It now scrolls at large text, but you cannot type a time into it. Typing the time in quick add works.
- Colour contrast. Some of the built-in calendar colours (an orange in light mode; purple, red and brown in dark mode) are just under 3 to 1 against the plain background as stored; the app adjusts event edges, but we have no test that proves it for every colour. Our event contrast test lists known gaps: the grey time text on selected and hovered event blocks, event titles on the faded chips of neighbouring months (drawn at 80 percent opacity), and the drag handle bar on a selected block. The pale theme swatches are not covered by a contrast test. The widgets use translucent backgrounds and a locked widget is faded, and we have not measured their contrast.
- Colour as the only cue. Which calendar an event belongs to is shown mostly by colour. TalkBack reads the calendar name, but people who cannot tell colours apart do not get a second visual cue yet.
- Keyboard focus. In the week grid a focused event gets a 2 dp outline in the text colour, but we have not measured how visible it is on every calendar colour, and if an event is also part of a selection, the selection outline is shown instead. Quickspan’s larger windows (Settings, Send feedback, Pro) take focus when they open and close with Esc, but most smaller dialogs are Android’s standard alert dialogs and we have not checked where focus goes in them.
- Zoom. Zooming the hours works with pinch, Ctrl and plus or minus, and TalkBack actions; there is no on-screen button yet.
- Moving content. A small dot that marks the current time pulses slowly, and the Pro purchase screen has a slideshow that moves on by itself every few seconds. Both stop when “Remove animations” is on; neither has a pause button. The microphone button also pulses while it listens, and stops pulsing in the same way.
- Small targets and unnamed controls found by our own tests. Event blocks in narrow columns (events side by side, or a folded phone) can be narrower than 48 dp, and one tall narrow control in the agenda in book posture was flagged by our automated check as having no spoken name; we have not identified it yet. The widgets’ day cells and agenda rows are smaller than 48 dp, and the widgets have no UI tests at all.
- Not tested by people. No people with disabilities have tested Quickspan, we have had no third-party audit, and we have not tested with Voice Access. If you can help, please write to us.
- Calendars from your phone. Calendars from your Google, Exchange or other accounts are shown by Quickspan, but their names and colours come from those accounts.
Tell us about a problem
If something does not work for you, or you need Quickspan in another way, write to support@quickspan.app. In the app, “Send feedback” (in the menu and in Settings) opens your email app with a message you can edit before you send it. Please tell us what you were trying to do, which screen, your Android version and device, and which tools you use (for example TalkBack, a keyboard, font size). You do not need to know the technical words.
We read every message. We aim to answer within 5 working days and to say whether and when we will fix it. If you are not happy with our answer, you can complain to the accessibility body of your country. In the EU, each country has one; we can help you find yours.
About this page
Written by the Quickspan developer, Manuel Lorenzo.
It describes version 0.2.0 and is updated at each release that changes
accessibility. The standards we aim for are WCAG 2.2 level AA and
Google’s Android accessibility guidance. Details for developers:
docs/accessibility.md in our repository.