Accessibility

This website is built to be used by everyone.

We aim for WCAG 2.2 level AA on every page of open-todo.app, in light and dark, from 360 px wide, with or without JavaScript. This statement says how that is checked, what it does not cover, and how to tell us when something is wrong. Last reviewed on 15 October 2026.

What we commit to

  • Every page reads and navigates without JavaScript. Menus are native disclosure elements; the interactive miniatures on the home and self-hosting pages have a readable fallback.
  • Light and dark follow your system preference, and both meet the contrast requirements of level AA.
  • Pages work from 360 px wide without horizontal scrolling, and every control is at least 44 px tall.
  • Icons come from one line-icon set and are decorative; the text next to them carries the meaning. No emoji are used as icons.
  • Screenshots have text alternatives, and the templates' screenshots describe what the template creates.
  • Pages are written in plain British English, one idea per paragraph.

How it is checked

On every change, before it can be merged, an automated audit runs over every page of this site in light and dark at 360 and 1280 px wide, using the axe-core engine, and fails on any serious or critical issue. The same run checks that no page scrolls sideways at 360 or 768 px, that every page reads and its menus open with JavaScript disabled, and that the interactive parts still work. Keyboard operation of menus and the quiz is covered by those tests; screen-reader behaviour is reviewed by hand when a page is designed. The checks are in the open: the test suite.

What this statement does not cover

  • The documentation under /docs/ is produced by the app project and served here as shipped for OpenTodo v0.6.0. It is not part of this site's automated audit. Problems with it are reported to the app project (below) and fixed there.
  • The app itself (the demo and your own server) is a separate project with its own design system and checks. Its design system describes the colours, type and motion it uses.
  • Automated checks miss things that only a person notices: reading order in unusual layouts, the usefulness of a text alternative, cognitive load. We review those by hand but cannot promise they are perfect.

Known limitations

  • Social preview images carry the page title as text in the image; the same text is in the page's metadata as an alternative.
  • The term tables on the switch pages scroll sideways on narrow screens inside their own region, which is reachable by keyboard.

Tell us

If something on this site is hard or impossible for you to use, please open an issue on the website's repository and say which page, which browser and assistive technology, and what happened. For the documentation or the app, use the app's issue tracker. We read every report, and a fix to this site ships with the next deploy.

This statement is reviewed with every change to the site's layout, and at least once a year.

Your to-do list, on your own server.

Try the demo in your browser. When you like it, install OpenTodo on your server and import your tasks.

OpenTodo is free and open source, with no paid tier. If it helps you, a star on GitHub helps other people find it, and a coffee helps keep it going.

Buy me a coffee