JST Fitness — Accessibility Statement

Last reviewed: 22 August 2026

JST Fitness is committed to being usable by everyone, including people who use a screen reader, navigate by keyboard, need larger text, or find motion uncomfortable. This statement says plainly how far we have got, what we know is still not good enough, and how to tell us when we are wrong.


How accessible this app is

JST Fitness is partially conformant with WCAG 2.1 level AA.

"Partially conformant" means most of the app meets the standard, but a small number of things — listed by name further down — do not yet. We have chosen the honest word. Nothing on this page is a claim we have not checked.

The app was audited against WCAG 2.1 AA across seven dimensions in July 2026. Every serious finding from that audit has been fixed. The remainder are listed below rather than quietly left out.


What works

We are not claiming every pixel is measured. Some pairings are not in the checked set — a few decorative and state colours among them — and we would rather say so than let you find one. If something is hard to read, tell us where and we will measure it and fix it.

You can also ask for this in the app alone. Profile → Accessibility → Reduce motion. It does the same thing your device's setting does, and it is there because your device's setting is all-or-nothing across every app on the phone: nobody should have to turn animation off for their launcher, their messages and their maps to calm down a fitness tracker. It is a switch of its own — you do not have to turn Accessibility Mode on to use it.

This switch can only ask for less movement, never more. If your device is already asking, the row says so and shows no switch, because turning the app's copy off could not have overridden your phone and we will not draw a control that cannot do what it says.

One thing keeps moving on purpose: the bar that fills while you hold to end a meditation session. It is not decoration, it is telling you how much longer to hold, and freezing it would tell you that you had held long enough when you had not.

We are not claiming this is complete. A handful of animations are drawn frame-by-frame in code rather than in CSS, and those are not covered by the switch that stops the rest — they have to be found and fixed one at a time, and we have not finished doing that. If something is still moving when you have asked it not to, please tell us where and we will fix it.

There are no gestures: pause is a tap anywhere, and Android's back button pauses instead of exiting, so a circuit cannot be lost by reflex. Paused, every control is an ordinary button — Resume, Back, Skip, Exit — and on a rest, +20s and Skip are full-width buttons you do not have to aim at.

The walk deliberately does not keep focus inside it, and that is the one place in this app where not doing so is the right answer. Every other overlay wants you looking at it; this one wants you looking through it, at the real button underneath. Holding focus inside the bubble would hold you away from the very control the ring is drawn around, which does not make the feature safer; it makes it impossible. So the walk moves no focus, keeps none, and marks nothing unreachable: you reach the ringed control exactly as you would if the walk were not running. This is also why the promise further up is written about dialogs: the walk is not one, does not claim to be one, and is not marked up as one.

Where your taps land is a separate question, and the dimmed area now holds them off. Not keeping focus inside the walk is the decision above. What the dim does is a different matter, and it used to do nothing at all: a press anywhere outside the ring reached whatever sat underneath it, so pressing the wrong thing moved the app while the step stayed where it was, and the cue ended up describing a screen you had already left. The dim is no longer only shading. A press outside the ring is now held off and answered — the ring gives a small pulse, pointing at what to press rather than telling you off — and the app underneath does not move. The ringed control itself is not covered by anything, so pressing it works exactly as it always did, and the bubble carrying the cue still takes its own presses, because that is where Exit tour, Got it and Skip live. Swiping sideways across the dim no longer changes tab either; the trade is that the screen does not scroll while a ring is up, which it does not need to, because the walk has already brought the control into view.

What that does not cover, which is worth knowing before you meet it. It holds off presses and swipes, which is not the same as making the rest of the screen unavailable, and there are four places it does not reach:

A screen reader is given more words than the screen shows, not fewer. The bubble is deliberately terse — "Tap + Add." — because someone looking at it can see the ring, the tail and the button all at once. Someone who cannot has none of that, so the spoken announcement carries the chapter's whole sentence, and where you are in the chapter with it ("Step 4 of 9"). It reaches you through a live region, which announces without taking your place on the screen — the same reason the walk moves no focus.

Reduced motion is honoured, and it is read live. The ring glides from one control to the next; if your device asks for reduced motion it moves with no animation at all, and the scroll that brings the next control into view jumps rather than glides. That second one is decided in code rather than left to the app-wide rule that stops the other movement, because a scroll that explicitly asks to be smooth overrides that rule — it is one of the few pieces of movement the switch cannot reach on its own. And the setting is watched while the walk is running, so turning it on part-way through takes effect at the next step instead of the next time you open the app.


What does not work yet

These are real limitations. We would rather write them down than let you discover them.


Text size, and why we do it the device's way

JST Fitness is a native Android app, not a website, and the way to make everything bigger is your device's own font-size setting (Settings → Display → Font size). The app respects it throughout, and that is the supported route — if text is too small, that setting is the one to reach for.

Pinch-to-zoom is switched off by default, which is the normal behaviour for an Android app: a pinch inside a workout should scroll or swipe, not zoom the screen. Banking and fitness apps overwhelmingly behave the same way.

We are aware this looks like it ought to fail WCAG 1.4.4 (Resize Text) and we do not think it does. For a native application the requirement is that text can reach 200% through the platform's own accessibility controls, which it can — the criterion asks for resizable text, not for the pinch gesture specifically. If you disagree, please tell us; the contact details are below and we would rather hear it than not.


Assistive technology we test with

The app is developed and checked against TalkBack on Android, plus keyboard-only navigation and the operating system's font-size, reduced-motion and increased-contrast settings.

We do not currently have test coverage on iOS/VoiceOver, because the app has not been released for iOS yet, or on external braille displays.


Telling us we got something wrong

If any part of JST Fitness is difficult or impossible for you to use, we want to hear it — including things not listed above.

JST Fitness is built and maintained by one person, so there is no support desk and no guaranteed response time — but accessibility reports go to the front of the queue, and you will get a reply from a human whenever we have a way to reach you. (An in-app report sent without an email address is read just as carefully, but can't be replied to.)

If you tell us about a problem, please say what you were trying to do and what assistive technology you were using, if any. That is usually enough to reproduce it.


About this statement

This statement applies to the JST Fitness Android app and to the pages hosted alongside it.

It was written on 30 July 2026 following an internal accessibility audit of the app carried out in July 2026, and last re-checked against the release of 21 August 2026, which corrected a false sentence on this page and changed the app to match what the page had been promising. The check before that was 15 August 2026, which added the JSTFitness Guide; before that 14 August 2026; the one before that was the release of 13 August 2026, which added follow-along circuits — the timed interval runner with its sound, vibration and screen-reader cues — and the one before that was 7 August 2026, which added the yoga sessions and the meditation timer. It is based on self-assessment: the app has not been audited by an external accessibility organisation.

What the 21 August check changed on this page. One sentence here was wrong, and it was wrong in the way that matters most: it sent a reader to the wrong place. It said the Accessibility Mode switch is "in Preferences". It is not, and never was — it is the first row of the Settings card on the Profile tab, the card that is always visible, deliberately kept out of the Preferences drawer so nobody has to navigate the small-target, lower-contrast UI to reach the control that fixes it. Anyone who trusted this page opened the drawer and did not find the setting. That is a page doing the opposite of its job, so the sentence now names where the switch actually is.

⚠ The first attempt at this correction, earlier the same day, replaced the false sentence with another false one: it said "directly above Preferences", and the JSTFitness Guide row sits between the two. It was caught by a review pass that had not been told what the change was supposed to say — which is the argument for that kind of review, and the reason the wording above now counts the rows rather than describing a neighbour.

Two things about the app changed with it, both of which this page had already claimed. It said the mode "switches itself on by default" from your device's settings, and that was true only once, on the day the app was installed: the reading was taken at first run and then frozen, so turning on your phone's larger font or higher contrast a month later did nothing, ever. The app now keeps watching those settings and follows them — until you set the switch yourself, at which point your choice wins permanently and we stop touching it. And when the app has made that decision for you, the row now tells you which of your device settings caused it; the text explaining that had been written weeks ago and was never actually shown to anyone.

What the 15 August check changed on this page. Nothing was corrected, because nothing here had become wrong. The Guide was built after the 14 August check and this page was simply silent about it — including about the one overlay in the app that deliberately does not keep focus inside itself, which is exactly the kind of decision a reader of this page is entitled to have explained rather than to discover. So the Guide is now described under What works, with the reason for that decision written next to it, and its one known gap is named under What does not work yet — the chip that starts a walk does not answer to its own name. Silence about a feature is not the same fault as a sentence that is false, but it is how a page stops describing the app — and a page that has stopped describing the app is where the false sentences come from next.

Later the same day that new passage was split in two, and then the second half of it changed. It had described the walk not keeping focus inside itself, and the walk letting every tap fall through to the app underneath, as though they were one decision with one reason. They are two decisions answering two different problems. Keeping them fused mattered more than it looked: the second was about to change, and written as one sentence, fixing it would have read as abandoning the first.

And it did change, hours later. The dim around the ring used to be decoration — press the wrong thing during a walk and the app moved while the step stayed where it was. It now holds off presses and swipes outside the ringed control. Not keeping focus inside the walk is unchanged and is not going to change, because you have to be able to reach the control the ring is drawn around; holding off a pointer is a different mechanism aimed at a different problem, and the two are described separately above for that reason. The four things the new behaviour does not cover — steps that ring nothing, keyboard and assistive-technology users, the Android back gesture, and the absence of any acknowledgement under reduced motion — are written next to it rather than left for you to find, because a protection described without its edges is the kind of sentence this page exists to avoid.

What the 14 August check changed on this page. Two statements were corrected rather than added. The "Finish now?" confirmation over a running circuit was listed as one of two panels missing dialog semantics; it has since been rebuilt on the app's standard dialog and now announces itself, traps focus and restores it, so only the paused panel is still named. And the contrast check was described as failing the build; it fails the test suite, which is not the same guarantee, so the sentence now says which one it is. A statement that names a failure that has been fixed is still a statement that is wrong, and it hides the gaps that are real.

We review this statement whenever the app changes in a way that affects it, and at minimum whenever a new version is released to the Play Store.