Accessibility

If it isn’t accessible, it isn’t finished.

For a lot of people, VoiceOver or the largest text size is what decides whether an app is usable at all. So in Halm, accessibility came first — designed in from the start, across the whole app, not bolted on at the end. This page explains how, and is built to the same standard it describes.

Supported, end to end

The accessibility features Halm supports across stories, news and Episodes — with what each one actually means in the app.

  • VoiceOver

    The whole app is navigable by voice. In a story or an episode each word is spoken in its own language, and full transcripts are available to VoiceOver from the first second.

  • Dynamic Type

    Text scales to the largest accessibility sizes without ever clipping or truncating — including episode transcripts.

  • Voice Control

    Every action has a spoken name, so the app can be driven entirely by voice.

  • Captions & SDH

    Captions aren’t an overlay on top of a video — they are the content, synchronized word by word.

  • Reduced Motion

    Turn it on and every transition is replaced with a still state — including the word-sync sweep in Episodes.

  • Differentiate Without Colour

    No meaning is carried by colour alone; every colour cue is paired with a shape or icon and a spoken value.

  • Sufficient Contrast

    Text and controls are tuned to clear WCAG AA contrast on both light and dark surfaces.

  • Dark Interface

    Every surface adapts to Dark Mode and stays legible under Reduce Transparency and Increase Contrast.

Captions as first-class content

Most apps treat subtitles as decoration painted over a video. Halm’s Episodes invert that: the caption is the artifact. Because the words themselves are the content — synchronized, tappable, and owned — a screen reader gets the full transcript from the first second, not an afterthought track.

That’s the difference between an app that can be used with VoiceOver and an app that was built for it. When the caption is the content, the accessible experience and the designed experience are the same experience.

This page is the accessible version

There’s no separate “lite” site to send you to — this page is built to the standard it describes, and links to everything else in plain text below.

  • A skip link jumps straight to the content, and every section is a labelled landmark with a proper heading order.
  • Text is high-contrast on every surface and scales with your browser or system text size.
  • Nothing moves: there are no animations or auto-playing motion anywhere on this page.
  • It works with JavaScript switched off — nothing here depends on a script to be read.
  • No meaning is carried by colour alone.

Try it with your setup.

Turn on VoiceOver, set your largest text size, switch on Reduce Motion — then open Halm. It’s built to hold up.

Download on the App Store

Free · iPhone · iOS 26