FoxFit

Fitness tracking for everyone

FoxFit is written in SwiftUI and uses Apple's accessibility APIs throughout. There are 1,800+ lines of accessibility tests and 550+ accessibility identifiers in the codebase, so the things on this page are not aspirations: they are tested in every build.

Designed with accessibility in mind

High Contrast

All text meets or exceeds WCAG AA standards. Semantic colour tokens ensure proper contrast, with dedicated text variants like foxOrangeText for better readability on light backgrounds.

Colour Independence

Information is never conveyed by colour alone. Grade indicators (A-F) use distinct colours plus text labels. Status indicators combine colour with icons and descriptive text.

Touch Targets

All interactive elements meet Apple's 44pt minimum touch target requirement. Buttons, set rows, and controls are sized for comfortable tapping, verified across 8 test suites.

Clear Labels

No mystery icons. Actions have clear text labels, and all icons include accessibility descriptions. Settings options include device-specific hints like "HealthKit not available on this device".

iPhone

VoiceOver

Full VoiceOver support across the app. Buttons, exercise cards, set rows, and individual data points all have proper labels, hints, and values. FoxFit also makes its own announcements when a set is completed, when a rest timer starts or ends, and when you hit a personal record.

Dynamic Type

All text scales with your preferred reading size using @ScaledMetric throughout the app. From workout timers to caption text, everything adapts while maintaining a minimum readable size of 11pt.

Voice Control

Navigate and control FoxFit entirely with your voice. All interactive elements have proper accessibility labels and identifiers, making them discoverable and actionable through Voice Control.

Reduce Motion

When Reduce Motion is enabled, all animations are simplified or removed. Spring animations become simple easing, skeleton loaders pause, and transitions become instant. The app remains fully functional without any motion.

Bold Text

All typography uses system fonts that automatically respect the Bold Text accessibility setting. Headlines, body text, and captions all become more visible when you enable Bold Text in Settings.

Switch Control

Full compatibility with Switch Control. All interactive elements meet the 44pt minimum touch target requirement, with proper element hierarchy and grouping for efficient navigation.

Large Content Viewer

Interactive elements support the Large Content Viewer. Long-press on buttons and controls to see enlarged versions of text and icons when using larger accessibility text sizes.

Haptic Feedback

Distinct haptic patterns for the moments that matter: completing a set, the start and end of a rest timer, and a new personal record. Patterns are deliberately throttled so you do not get a buzzing wrist when you are tapping through quickly.

iPad

All iPhone accessibility features work on iPad, plus these additional capabilities:

Keyboard Navigation

Full keyboard support with logical tab order through form fields. Visual focus rings indicate the current selection, and you can navigate weight, reps, and distance fields without touching the screen.

Adaptive Layouts

The interface adapts to the iPad's larger screen with optimised layouts. Master-detail views, responsive grid columns (minimum 250pt), and form widths between 500-800pt ensure comfortable use.

Split View & Slide Over

FoxFit works in Split View and Slide Over, with horizontal size class detection ensuring the interface adapts appropriately. Review your workout plan alongside FoxFit.

Panel Navigation

iPad panels use proper accessibility element containment for efficient navigation with assistive technologies. Switch between sidebar and detail views with clear focus management.

Apple Watch

The Apple Watch app is designed to work independently, with full accessibility support:

Haptic Feedback

Distinct haptic patterns keep you informed without looking at your wrist. Rest timer start plays a notification tap. Rest timer end plays a double-tap pattern. Set completion and skipping rest have their own unique feels.

VoiceOver on watchOS

Full VoiceOver support with proper accessibility labels throughout. Navigate workouts, hear your stats announced, and complete sets without looking at the screen.

Always-On Display

A simplified, high-contrast view activates automatically in always-on display mode. Reduced motion and colour ensure the display remains readable while conserving battery.

Large Touch Targets

All buttons and controls are sized for easy tapping during workouts. Skip rest, adjust rest time (+15/-15 seconds), and complete sets with large, clearly defined touch areas.

AssistiveTouch

Compatible with AssistiveTouch on Apple Watch. The proper accessibility hierarchy allows you to use hand gestures like pinch and clench to navigate the app.

Audio Announcements

The FoxAccessibility system announces workout milestones: "Set 1 completed. 2 sets remaining for Bench Press", "Rest timer started. 2 minutes 30 seconds", and "New personal record!"

Tested, not just claimed

FoxFit ships with over 1,800 lines of accessibility tests covering touch targets, Dynamic Type scaling, colour contrast, reduce-motion behaviour, and VoiceOver compatibility. Every build runs them. If accessibility regresses, the build fails.

550+

Accessibility identifiers

1,800+

Lines of a11y tests

44pt

Minimum touch target

Help us improve

This page describes where FoxFit is today, not where it will always be. We test against the devices and assistive technologies we have access to, but that is not all of them. If something is broken or awkward for you, please tell us. That is genuinely the fastest way for it to get fixed.

Contact Support