Accessibility Statement
At noli, accessibility is not a checklist — it's a core value. Emotional wellness tools should be available to everyone, regardless of disability, impairment, or assistive technology preference. This statement describes our current accessibility conformance, the specific features we support, and how to reach us if something isn't working for you.
Contents
1 Conformance Status
noli (iOS app and website) is designed to substantially conform to Web Content Accessibility Guidelines (WCAG) 2.1, Level AA and meets Apple's App Store accessibility review requirements including the Human Interface Guidelines (HIG) accessibility specifications.
WCAG 2.1 Level A
All Level A success criteria met across perceivable, operable, understandable, and robust principles.
✓ Substantially ConformantWCAG 2.1 Level AA
All Level AA success criteria met. This is the standard required by most jurisdictions and Apple's App Store.
✓ Substantially ConformantApple App Store Accessibility
Reviewed and approved under Apple's App Store Review Guidelines including accessibility metadata and HIG compliance.
✓ ApprovedWCAG 2.1 Level AAA
We target Level AAA where feasible. Some AAA criteria are not applicable to our content type; others are in progress.
~ Partial♿ This statement was prepared on April 19, 2025 based on a self-assessment and internal audit of noli v1.0. We review and update our accessibility conformance with each major release.
2 Apple App Store Accessibility Compliance
noli meets all accessibility requirements enforced by Apple's App Store Review process, including:
| Requirement | Status | Notes |
|---|---|---|
| VoiceOver support | ✓ Supported | All interactive elements have accessibility labels. Custom components (orb, constellation, emotion tiles) include descriptive labels and traits. |
| Dynamic Type | ✓ Supported | All text scales with iOS Dynamic Type settings from Small to AX5 (Accessibility Extra Extra Extra Extra Extra Large). |
| Reduce Motion | ✓ Supported | All animations — including the noli orb, particle bursts, and screen transitions — are disabled or replaced with crossfades when "Reduce Motion" is enabled in iOS Settings. |
| Increase Contrast | ✓ Supported | UI automatically increases contrast ratios when "Increase Contrast" is enabled. All text meets minimum 4.5:1 contrast ratio in standard mode and 7:1 in high-contrast mode. |
| Bold Text | ✓ Supported | Bold Text iOS setting respected across all typographic elements. |
| Button Shapes | ✓ Supported | Interactive elements display visible borders and shapes when "Button Shapes" is enabled. |
| On/Off Labels | ✓ Supported | Toggle switches display I/O labels when "On/Off Labels" accessibility setting is enabled. |
| Switch Control | ✓ Supported | All screens are navigable via Switch Control with logical focus order. |
| Guided Access | ✓ Compatible | App functions correctly under iOS Guided Access mode. |
| Colour blindness | ✓ Supported | No information is conveyed by colour alone. Icons, labels, and patterns supplement all colour-coded UI elements. Tested against Protanopia, Deuteranopia, and Tritanopia simulations. |
| Privacy Nutrition Label | ✓ Complete | App Store privacy nutrition label accurately reflects all data collected per Apple's guidelines. |
3 WCAG 2.1 AA — What We Support
The following summarises noli's conformance against WCAG 2.1 Level AA success criteria, organised by principle:
Perceivable
- 1.1.1 Non-text content (A): All images, icons, and non-text elements have text alternatives (accessibility labels or `aria-label` on web).
- 1.3.1 Info and relationships (A): UI structure communicated via semantic roles and accessibility traits (e.g., headings, buttons, lists).
- 1.3.3 Sensory characteristics (A): Instructions do not rely solely on shape, colour, size, or sound.
- 1.4.1 Use of colour (A): Colour is never the sole means of conveying information.
- 1.4.3 Contrast (minimum) (AA): Normal text ≥ 4.5:1; large text ≥ 3:1 contrast ratio against backgrounds.
- 1.4.4 Resize text (AA): Text can be resized up to 200% via Dynamic Type without loss of content.
- 1.4.10 Reflow (AA): Content reflows to a single column at 320px effective width without horizontal scrolling.
- 1.4.11 Non-text contrast (AA): UI components and graphical objects meet 3:1 contrast against adjacent colours.
- 1.4.12 Text spacing (AA): No loss of functionality when letter/word/line spacing is increased per WCAG thresholds.
Operable
- 2.1.1 Keyboard (A): All functionality accessible via keyboard (web) and Switch Control / full keyboard access (iOS).
- 2.1.2 No keyboard trap (A): Focus is never trapped in any component.
- 2.3.1 Three flashes (A): No content flashes more than 3 times per second.
- 2.4.3 Focus order (A): Focus follows a logical reading order on all screens.
- 2.4.4 Link purpose (A): All links and buttons have descriptive labels.
- 2.4.7 Focus visible (AA): Keyboard/Switch Control focus indicator is always visible.
- 2.5.3 Label in name (A): Accessible names include visible label text.
- 2.5.4 Motion actuation (A): No functionality requires device motion or shaking; all such functions have UI alternatives.
Understandable
- 3.1.1 Language of page (A): Page/app language is programmatically set (lang="en").
- 3.2.1 On focus (A): No unexpected context changes on focus.
- 3.2.2 On input (A): No unexpected context changes on input without user initiation.
- 3.3.1 Error identification (A): Input errors are identified and described in text.
- 3.3.2 Labels or instructions (A): All form fields have visible labels and instructions.
Robust
- 4.1.1 Parsing (A): No duplicate IDs; markup is well-formed.
- 4.1.2 Name, role, value (A): All UI components expose name, role, and state to assistive technologies.
- 4.1.3 Status messages (AA): Status messages (errors, confirmations) are programmatically determinable without focus.
4 Supported Assistive Technologies
noli has been tested with the following assistive technologies:
| Technology | Platform | Status |
|---|---|---|
| VoiceOver | iOS 16+ | ✓ Fully supported |
| Switch Control | iOS 16+ | ✓ Fully supported |
| Full Keyboard Access | iOS 16+ | ✓ Supported |
| AssistiveTouch | iOS 16+ | ✓ Compatible |
| Dynamic Type (all sizes) | iOS 16+ | ✓ Fully supported |
| Zoom (display magnification) | iOS 16+ | ✓ Supported |
| NVDA + Chrome | Windows / Web | ✓ Supported |
| JAWS + Chrome | Windows / Web | ✓ Supported |
| VoiceOver + Safari | macOS / Web | ✓ Supported |
| TalkBack | Android | ~ In progress |
5 Known Limitations
Despite our best efforts, some areas are not yet fully conformant. We are actively working to resolve them:
- Constellation canvas (complex graphic): The interactive constellation view is a custom canvas component. While it has a text alternative describing the constellation's current state, interactive exploration via VoiceOver is limited. A full accessible alternative list view is planned for v1.1.
- The noli orb animation description: The noli orb's emotional state (calm, happy, curious) is visually conveyed through animation. VoiceOver currently announces the state as text but does not narrate animation changes in real time. Improvement planned for v1.1.
- TalkBack (Android): Android accessibility support via TalkBack is in testing. Full conformance on Android is targeted for v1.2.
- Complex emotion charts: Pattern insight charts on the Profile tab have basic accessibility labels. Interactive data point navigation via assistive technology is in development.
If you encounter an accessibility barrier not listed here, please report it — we treat accessibility bugs with the same priority as functional bugs.
6 Web Accessibility (This Website)
This website (noli's landing page and legal pages) is built as semantic HTML5 with the following accessibility features:
- Semantic landmark elements (
<nav>,<main>,<footer>,<section>). - All images and icons have descriptive
alttext oraria-labelattributes. - All animations respect the
prefers-reduced-motionmedia query — users with Reduce Motion enabled will see no animations. - Colour contrast meets WCAG 2.1 AA (minimum 4.5:1 for body text, 3:1 for large text and UI components).
- Focus indicators are visible on all interactive elements.
- The website is fully navigable by keyboard alone.
- Page language is set (
lang="en"). - No auto-playing video or audio.
- No content flashes more than 3 times per second.
This website was designed with prefers-reduced-motion support baked in. You can verify this by enabling 'Reduce Motion' in your OS accessibility settings (Settings → Accessibility → Motion on iOS/macOS, or Settings → Accessibility → Remove animations on Android).
7 Feedback & Contact
We genuinely want to hear about accessibility barriers in noli. If something doesn't work with your assistive technology, or if you need content in an alternative format, please contact us:
- Email: privacy@meetnoli.com
- Subject: "Accessibility feedback — [brief description]"
- Response time: We acknowledge within 2 business days and aim to resolve or provide a workaround within 14 days.
When reporting, please include: the screen or feature affected, your assistive technology and version, your iOS version, and a description of what you expected vs. what happened. This helps us reproduce and fix the issue quickly.
Found an accessibility barrier?
We treat accessibility issues with the same urgency as any other bug. Please tell us.
privacy@meetnoli.com8 Formal Complaints
If you are not satisfied with our response to an accessibility concern, you may escalate to:
- Canadian Human Rights Commission — for complaints about discriminatory barriers under the Canadian Human Rights Act:
www.chrc-ccdp.gc.ca · 1-888-214-1090 - Accessibility Standards Canada — for standards and guidance:
accessible.canada.ca - Apple App Store — if you believe the app does not meet Apple's accessibility standards, you may report this directly to Apple via App Store review or the Apple Accessibility team at apple.com/accessibility.