Learn Pass Grow

Accessibility

Most people arrive here on a phone, from a search, with a deadline in the way. That is a hard case for a website even before anyone’s eyes, hands, or attention are having a difficult day — so on this site the accessibility work and the speed work are mostly the same work. Learn Pass Grow targets WCAG 2.1 AA as the floor.

What follows is a description of the code rather than a statement of intent. Where we do not have something, it is listed further down under what is missing instead of being described as though it were there.

Keyboard and pointer

  • The whole site works from the keyboard. A skip-to-content link is the first stop on every page, so you are never made to tab through the navigation to reach a calculator.
  • Ctrl + K (or Cmd + K) opens a search palette that jumps straight to any tool by name; Escape closes it. The header carries the same control as a button labelled in words, with the shortcut printed on it.
  • Menus open on click, never on hover. A hover menu is simply unreachable on a touchscreen, and most of this site is read on one.
  • No information exists only in a hover state. Help text and tips open on tap and on keyboard focus, and close again the same way.
  • Buttons and links are at least 44 pixels tall, and the number fields inside the calculators are 48. Those fields are the ones that matter most: they are what you tap over and over with one thumb while holding a syllabus in the other hand.
  • Form fields show a visible ring while they hold focus, so tabbing through a calculator never leaves you guessing which box you are in.

Screen readers

  • Every input has a real label tied to it, with the units and the help text inside that label rather than in placeholder text that disappears as soon as you type.
  • Calculator results are announced when they change. The results panel is a live region, so the answer reaches you as it updates instead of sitting somewhere you have to go and find.
  • Decorative emoji are hidden from assistive technology. They are punctuation, and hearing them read aloud as words in the middle of a sentence is noise.

Colour, contrast, and dark mode

  • Nothing is signalled by colour alone. A correct answer in a practice test carries a tick and the word “Correct”; a result that has gone negative says so in figures. Colour only ever repeats something already written.
  • The brand colour used for text is checked by an automated test on every run and has to clear a 7:1 contrast ratio against both page surfaces. That is why accent-coloured text on this site is allowed to carry meaning rather than being decoration.
  • Dark mode follows your system setting on the first paint — the decision is made before the page renders, so there is no flash of the wrong theme. The toggle in the header overrides it, and that choice is remembered on your device.
  • Results are set in a monospaced face, where 3, 5, 8, and 0 cannot be mistaken for one another at a glance. On a page whose entire output is a number, that matters.

Nothing moves unless you move it

  • No carousels, no parallax, no auto-advancing anything, no video that starts by itself. The entrance animations are short fades, and they are switched off entirely when your system asks for reduced motion.
  • No pop-up appears when you move to leave. The component for it exists in the codebase and is deliberately switched off: someone who opened a grade calculator an hour before a deadline should get the calculator, and an overlay in the way of the exit is the fastest way to lose a reader who would otherwise come back every term.

Everything prints

Study schedules end up on walls and grade trackers end up in folders, so printing is a real output rather than an afterthought. Every page prints with the navigation, buttons, and ads removed, tables laid out at full width instead of scrolling sideways off the paper, and the address of each link printed after it — a printed page has to carry its own references, because nobody can click one.

Plain language, and the working shown

Every calculator states the formula it used and lists the arithmetic in words underneath the answer. That is an accessibility feature as much as an honesty one: a bare number you cannot check is harder to use than a number with its working beside it, particularly when you are trying to reconcile it against a grading table in a syllabus. Cognitive accessibility is accessibility.

We write in complete sentences and plain English, and where a term is unavoidable — weighted average, credit-weighted mean, honours classification — it is explained where it appears rather than assumed, because most people land in the middle of the site rather than at the front of it.

Where we fall short

This section is here so that nothing above has to be softened. These are real gaps, and they will move up the page if and when they are fixed.

  • There is no text-size control of our own. The layout is built in relative units, so your browser’s zoom reflows the page properly rather than clipping it — that is the route to larger text here today.
  • There is no separate high-contrast mode independent of dark mode. Needing more contrast and preferring a dark page are different needs, and right now this site only answers the second one.
  • Some interface furniture — keyboard hints, small badges, the header controls — is set smaller than the body text.
  • Moving between pages plays a short fade that does not yet check your reduced-motion setting, although the entrance animations within a page do.
  • None of this has been through an independent accessibility audit. Everything above was checked against the code and by hand, which is not the same thing and should not be read as though it were.

Tell us what is not working

If anything here is hard to read, hard to reach, or impossible with the tools you use, please write to support.cosyslabs@gmail.com with “Accessibility feedback” in the subject line, or through the contact page. Tell us the page and what happened, in whatever words are easiest.

Accessibility reports are treated as bugs rather than as suggestions, and they go to the front of the queue alongside corrections to our arithmetic.