Ilma

Ilma — Accessibility

Ilma is a small iPhone app for nearby RuuviTag sensors, with an Apple Watch companion. We care about accessibility, but we are not accessibility experts — we test on real devices and improve when we learn better.

This page describes what we support today on iPhone, how to use it, and where we still fall short. It should match the Accessibility Nutrition Labels on the App Store listing. If a label is not listed as claimed below, we have not checked that box.

Ilma has no account, no tracking, and no third-party code. Readings stay on your devices (and in your iCloud, if you use it).

App Store labels (iPhone)

These are the labels we will set in App Store Connect for iPhone. Watch labels are not declared yet.

Claimed (after a device check of Dark Mode, grayscale, Increase Contrast, Larger Text, Reduced Motion, and VoiceOver):

Not claimed yet — the app is built with system SwiftUI, but we have not finished a dedicated pass:

Not claimed — Ilma has no video or spoken audio:

How the app behaves today

VoiceOver

Home, Claim, naming, detail, and delete use system lists, buttons, and alerts. Each home row speaks the name you chose, then the temperature, last-heard status, and the extra metrics. Temperature and dew point are spoken as “23 point 2 degrees Celsius,” not a comma or period glyph, so VoiceOver does not treat 23,2 as 232. Pressure is spoken as hectopascals, not “hPa.” The toolbar plus control is labeled Claim RuuviTag Sensor.

We checked VoiceOver on iPhone for claim, rename, and delete, with no duplicate speech and with buttons announced clearly, so we claim this label. A VoiceOver expert did not do this pass. Pull to refresh, Privacy, Tip Jar, and widgets were not walked with VoiceOver.

Voice Control

Controls are standard system controls, so “Show names” and “Tap …” should work. Delete is also on the detail screen, not only as a swipe. Naming uses the system alert text field.

We have not done a Voice Control pass, so we do not claim it.

Larger Text (Dynamic Type)

Ilma uses system text styles. Temperature, names, last-heard status, and detail metrics grow with the system size. Last-heard on the home row wraps onto extra lines instead of truncating. Humidity, dew point, and pressure stay in one row when they fit, and stack when they do not.

Widgets are glanceable last-heard tiles. They do not grow like the app. At accessibility text sizes the sensor name and temperature stay fully readable; the “Last reading …” line can truncate.

We checked AX Large Text on iPhone, including home, Claim, detail, and widgets, so we claim Larger Text.

Dark Interface

Light and Dark appearances follow the system setting throughout the app. We checked both, so we claim this label.

Sufficient Contrast

Text and controls use system colors (primary and secondary). We checked with Bold Text, Increase Contrast, and Reduce Transparency on, in both appearances, so we claim this label.

Differentiate Without Color Alone

Live vs not-nearby is written as text (“Updated just now”, “Not nearby”), not red vs green. Metrics use icons and numbers, not color codes. We checked grayscale, so we claim this label.

Reduced Motion

System navigation follows Reduce Motion. The empty Claim sheet keeps the listening-wave symbol so it is obvious that scan is already on; that symbol stays still when Reduce Motion is on.

We checked Reduce Motion on iPhone, including home, Claim, and detail, so we claim this label.

Apple Watch

The Watch app shows claimed sensors when you are nearby. Claim and names come from iPhone. With two claimed tags, swipe or use the Digital Crown to page; readings match iPhone. The watch face complication only opens the app; it is not a live reading.

This page focuses on iPhone. We have not declared Watch nutrition labels.

Tips

Known limitations (version 1.0)

Contact

If something does not work for you, contact me. Real feedback from people who rely on assistive features helps us prioritize fixes.