Fencing Manager Accessibility
This page summarizes accessibility support currently implemented in the Fencing Manager codebase. It is intended to give users, coaches, referees, and reviewers a plain-language overview of the app’s accessibility features and current support areas.
Overview
Fencing Manager includes built-in accessibility features intended to improve visibility, reduce motion, support spoken feedback, and make complex scoring and coaching workflows easier to use with assistive technologies.
Based on the current code, the app includes dedicated settings for high contrast, larger score presentation, reduced animations, and optional VoiceOver-style announcements. It also applies accessibility labels, values, and hints across major bout scoring and video review controls.
Display and visibility
- High Contrast mode is available in settings to strengthen borders and text contrast.
- Large Score Display is available for bigger score numbers in scoring views.
- Adaptive color tokens support light and dark appearance and adjust for high contrast mode.
- Readable-width layout helpers are used to avoid overly stretched content on iPad.
- Text tokens in the design system were adjusted to improve contrast in darker UI states.
Motion and sensory accessibility
- Reduce Animations can be enabled in app settings.
- The app also checks the iOS Reduce Motion setting and shortens or suppresses motion where appropriate.
- Pulse and ripple animations are gated when motion reduction is active.
- Touch and state transitions use reduced-motion fallbacks instead of relying only on rich animation.
VoiceOver and spoken feedback
- Optional VoiceOver announcements are available in settings for score changes, cards, and timer events.
- The bout scoring workflow posts spoken announcements when scores change.
- Clock start and stop events are announced when VoiceOver is running.
- Penalty card events are announced with the fencer’s name and card type.
- Major controls include accessibility labels, values, and hints instead of relying on visuals alone.
Scoring screen accessibility
- Score panels expose the fencer name and current score to assistive technologies.
- Score buttons provide hints when scoring is available and communicate when scoring is disabled.
- The bout clock exposes a label, live value, and interaction hints.
- Toolbar actions such as Double, Penalty, Medical, Off Target, No Touch, Period, and Timeout include accessibility text.
- Card indicators are summarized for screen readers as card descriptions instead of tiny visual badges only.
Coaching and video review accessibility
- The pressure and strip-position control exposes an accessibility label, current value, hint, and adjustable action.
- Named accessibility actions are available for left push, right push, and clearing pressure.
- Video review transport controls such as play, pause, frame-step, and seek include labels and hints.
- The video playhead exposes its current time and supports adjustable seeking through accessibility actions.
- Touch chapter controls announce score state and support navigation between touches.
- Expanded tool tiles in video review include accessibility labels and values for actions like period, clock, sync, export, and review mode.
Settings and customization
- Users can enable or disable haptics.
- Users can enable or disable audio cues and adjust cue volume.
- Users can choose app language override rather than relying only on system language.
- Accessibility-related settings are centralized in the app’s settings screen.
- Several settings rows include explicit accessibility labels, values, and hints.
What this means in practice
In practice, the current implementation is designed to help with fast, high-pressure use cases: referees tracking scores at a distance, coaches reviewing video with reduced vision or motion tolerance, and users relying on spoken feedback rather than visual-only changes.
The strongest accessibility support currently appears in the app settings layer, the bout scoring workflow, the video review controls, and the reusable design system that governs contrast and motion behavior.
