Explore best practices for creating inclusive apps for users of Apple accessibility features and users from diverse backgrounds.

All subtopics
Posts under Accessibility & Inclusion topic

Post

Replies

Boosts

Views

Activity

Is there a recommended WCAG checklist for native macOS and iOS apps?
I'm working on improving accessibility in a native macOS app and going through WCAG, but with so many success criteria it's hard to know where to focus for native Apple platform apps. 1. Does Apple recommend a specific subset or checklist of WCAG requirements for macOS and iOS? 2. If not, which criteria are generally considered essential, and how do developers typically validate them using Apple's accessibility tools and assistive technologies? I'm looking for a prioritized list of criteria that actually apply to native apps, rather than trying to implement every WCAG criterion individually.
3
0
1.3k
Jul ’26
Opening specific Accessibility settings with a deeplink?
Heya! is there anyway to allow a user to open an accessibility setting from an iOS app? As currently you kinda have to explain how to enable it on your device and honestly thats kinda completely against how accessibility ux should work as it as it requires and expects a user to read+understand something they might as well can't because of accessibility issues in the first place and thus basically punishing a user for it. I tested this with some users and asking them to go trough 3-5 menu's with overwhelming settings is to complex and most give up, thus directing them would solve that problem.
3
1
2.5k
Jul ’26
Hiding bracketed Braille Unicode characters when using Braille Dots Pattern - liblouis iOS Braille table on iPhone with Braille Displays via bluetooth on Safari
I have a question about rendering Braille Unicode patterns via VoiceOver on iPhone connected via Bluetooth with Braille displays. I’m developing a web app (users access via Safari) that uses raw Braille Unicode characters rather than using 8-dot, UEB contracted or uncontracted, because I want the characters to render the exact dots regardless of which braille table the user has theirs set too. My question is, can I hide the (bracketing?) characters [⣇ (1-2-3-7-8) and ⣸ (4-5-6-7-8)] that bracket Braille Unicode character passages? I find them unseemly from the perspective of the user, who may or may not be especially technologically savvy. Any suggestions for work arounds will be appreciated.
0
0
900
Jul ’26
Accessibility Feature Suggestion - Bring Back The Home Bar!!
Hi there, I am a day-to-day user of Apple Devices, whether it’s my iPhone, my iPad or Apple Watch. I originally suggested this feature to the Apple Support team, and through the Product Feedback site, back in September 2025 when iOS 26 and iPadOS 26 launched. All I want is a toggle option within the Accessibility settings to display the home bar permanently. This isn’t exactly much to ask for, and I am still waiting. Please help me! Thank you
0
0
1.1k
Jul ’26
Full Keyboard Access support for custom MKAnnotationView in MKMapView
We’re working on improving the accessibility of a MKMapView that displays custom MKAnnotationView instances. Our implementation is fully accessible with VoiceOver: The custom annotation views expose the correct accessibility information. Users can navigate between annotations using custom accessibility rotors. The overall VoiceOver experience works as expected. However, we’re unable to make the custom MKAnnotationView instances accessible through Full Keyboard Access (FKA). Despite configuring the annotation views as accessibility elements and experimenting with focus-related APIs, the annotations never become reachable through keyboard navigation. They appear to be skipped entirely by the FKA focus system. Is there a supported way to make custom MKAnnotationView instances participate in Full Keyboard Access navigation? If this scenario is currently unsupported, is there a recommended approach or any plans to expose public APIs that would allow developers to provide a keyboard-accessible experience for custom annotations in MKMapView? Any guidance would be greatly appreciated.
4
0
1.3k
Jul ’26
Accessibility Improvement Request: Native iOS NFC Scanning Modal Customisation
Hello I am a Product Designer at the Commonwealth Bank of Australia (CBA). We recently launched a feature enabling customers to verify their identity by scanning their passport's biometric chip via NFC. While our in-app flow is highly optimised, the core user experience relies heavily on the native iOS NFC scanning modal (NFCTagReaderSession / NFCNDEFReaderSession). After conducting extensive user testing, we found that the current native UI consistently causes user confusion, friction, and avoidable drop-offs. Because developer customisation is currently limited strictly to the body copy string, we are unable to resolve these critical UX and accessibility issues ourselves. Below are three specific areas where the native NFC modal is performing below expectations, along with proposed solutions. Dynamic Heading States The Problem: The modal heading is hardcoded to "Ready to Scan" and remains static throughout the entire lifecycle. It does not update when scanning begins, when scanning completes, or when an error occurs. Showing "Ready to Scan" alongside a loading state or a success checkmark is logically contradictory and confuses users. The Impact: Users are left uncertain if the device is actively reading, finished, or waiting for input. Proposed Solution: Allow developers to dynamically update the header text via the API based on session states (e.g., Ready to Scan, Scanning..., Hold Still, Scan Complete). Alternatively, implement native, automated heading changes that correspond to the actual hardware state. Accessibility & Typography (Body Copy Legibility) The Problem: The customisable body text underneath the main heading uses a font size that is far too small. The Impact: During user testing, the vast majority of participants completely missed or ignored this text. Even standard users struggled to read it, and it poses a severe barrier for users with visual impairments. Since this is the only text developers can control to give context-specific instructions, its lack of legibility breaks the experience. Proposed Solution: Increase the default font size of the body text to meet standard iOS Human Interface Guidelines (HIG) for legibility, or respect the user's Dynamic Type settings within the modal template. Active Scanning Animation / State Indicator The Problem: The native looping animation shows a phone tilting toward a reader. While appropriate for the initiation state, this animation does not change once active data transfer begins. The Impact: When combined with the static "Ready to Scan" heading, users have zero visual feedback that a scan is actively in progress. They frequently move the phone away too early, resulting in aborted scans and error loops. Proposed Solution: Introduce a distinct visual state indicator once scanning starts—such as a progress bar, a loading spinner, or an altered animation—to signal that scanning is underway. The current restrictions on the native NFC modal limit our ability to deliver an accessible, seamless experience for millions of users who rely on identity verification. Unlocking greater UI customisation for developers or updating the native template to be more dynamic would significantly elevate the UX for all apps leveraging CoreNFC. Keen to hear back on any upcoming changes. Thank you!
3
0
1.2k
Jul ’26
Is there any API to detect Voice Control status in SwiftUI on iOS
I'm building an iOS app in SwiftUI and need to adapt my UI when Voice Control is active — specifically to show labels on custom gesture-driven controls so they're accessible via Voice Control commands. I've checked UIAccessibility and can find notifications and properties for VoiceOver (isVoiceOverRunning), Switch Control (isSwitchControlRunning), and AssistiveTouch (isAssistiveTouchRunning), but I can't find any equivalent for Voice Control. UIAccessibility.isVoiceControlRunning and voiceControlStatusDidChangeNotification appear to exist on macOS (AXIsProcessTrustedWithOptions) but not on iOS. Questions: Is there a public iOS API to detect whether Voice Control is currently active — either a UIAccessibility property, notification, or SwiftUI environment value? If not, is the recommended approach to use UIAccessibility.isGuidedAccessEnabled as a proxy, or something else entirely? Is there a private entitlement or capability that unlocks this detection for App Store apps? What I've already tried: Checking AccessibilityFeatures environment values in SwiftUI (@Environment(.accessibilityReduceMotion) etc.) Thanks!
2
4
1.6k
Jul ’26
Unable to Accept Invite
I am getting this issue when trying to accept an invite to a new test version of our app. ****Unable to Accept invite This invitation cannot be accepted because your Apple Account, xxxxxxxx.me.com, has already been associated to this app.**** Can you help please?
15
13
9.4k
Jun ’26
Nearby Interactions, wih camera assistance
I have an app that uses nearby with a custom accessory. works great on iPhone 11-13, starting with iPhone 14, one must use ARkit to get angles we have two problems ARkit is light sensitive, and we do not control the lighting where this app would run.. the 11-13 action works great even in the dark. (our users are blind, this is an accessibility app) ARkit wants to be foreground, but our uses cannot see it, and we have a voice oriented UI that provides navigation instructions.. IF ARkit is foreground, our app doesn't work. with iPhone 15 ProMax, on IOS 18, I got an error, access denied. (not permission denied) now that I am on IOS 26.. bt scan doesn't happen also fails same way on iPhone 17 on IOS26, can't callback now as release signing is no longer done this same code works ok on iOS 17.1 on iPhone 12. Info.plist here info.txt if(SearchedServices == [] ){ services = [TransferService.serviceUUID,QorvoNIService.serviceUUID] } logger.info( "scannerready, starting scan for peripherals \(services) and devices \(IDs)") filteredIDs=IDs; scanning=true; centralManager.scanForPeripherals(withServices: services, options: [CBCentralManagerScanOptionAllowDuplicatesKey: true]) the calling code dataChannel.autoConnect=autoConnect; dataChannel.start(x,ids) // datachannel.start is above self.scanning = true; return "scanning started"; ... log output services from js = and devices= 5FE04CBB services in implementation = bluetooth ready, starting scan for peripherals [] and devices ["5FE04CBB"] scannerready, starting scan for peripherals [6E400001-B5A3-F393-E0A9-E50E24DCCA9E, 2E938FD0-6A61-11ED-A1EB-0242AC120002] and devices ["5FE04CBB"] ⚡️ TO JS {"value":"scanning started"}
6
2
4.6k
Jun ’26
next gen Voice Control
Given the new Voice Control natural language enhancements, is there any change in guidance for how developers use accessibilitylnputLabels? Does providing robust utterance coverage across our views still help tune the new system's NLU?
3
1
1.4k
Jun ’26
Apple Accessibility Team
I have been trying for 7 months to speak to someone at Apple about their accessibility work for my job as assistive technology advisor. I haven’t been able to speak to anyone regarding this despite emailing a number of different departments and people at Apple. Other tech firms have been happy to become involved, can anyone help?
7
1
1.2k
Jun ’26
The default voiceover
The default VoiceOver behavior is to start at the toolbar and work its way down. In some cases, this feels unintuitive to me. One example - my app persists which Tab you were last on across sessions. But on iOS, the tab bar is at the bottom. Sighted users have immediate context. I explored trying to insert a VO bit on load to announce which Tab is active, but that didn't work well and would sometimes clash with other VoiceOver elements. Any guidance here? I'm not a VoiceOver user, so please let me know if I'm trying to change a default AX behavior that shouldn't be messed with. But I want to make sure a VO user has the right context of where they're being dropped into.
1
0
1.1k
Jun ’26
Fullscreen Detection
Hi, I want to detect if there is a fullscreen window on each screen. _AXUIElementGetWindow and kAXFullscreenAttribute methods work, but I have to be in a non-sandbox environment to use them. Is there any other way that also works? I don't think it's enough to judge if it's fullscreen by comparing the window size to the screen size, since it doesn't work on MacBook with notch, or the menu bar is set to 'auto-hide'. Thanks.
14
1
4.2k
Jun ’26
overriding default VoiceOver ordering
The default VoiceOver behavior is to start at the toolbar and work its way down. In some cases, this feels unintuitive to me. One example - my app persists which Tab you were last on across sessions. But on iOS, the tab bar is at the bottom. Sighted users have immediate context. I explored trying to insert a VO bit on load to announce which Tab is active, but that didn't work well and would sometimes clash with other VoiceOver elements. Any guidance here? I'm not a VoiceOver user, so please let me know if I'm trying to change a default AX behavior that shouldn't be messed with. But I want to make sure a VO user has the right context of where they're being dropped into.
1
0
1.2k
Jun ’26
VoiceOver voices not included by default
Up to iOS 18 there were many voices available on device by default including "Nicky" that I use in my app. Somewhere around iOS 18.6 or 26.0 these voices were removed and no longer included in the OS by default. This broke my app that counted on the Nicky voice being available. My only workaround is to direct my users to download the voice again by going to Accessibility > VoiceOver > Speech > Voices and downloading "Nicky". I cannot simply switch to using Samantha (the only voice that is still available by default) because I have heavily customized how IPA pronunciations are tweaked to make Nicky speak Old English correctly. I tried briefly with Samantha but the results were not as good. I have 2 questions: Is there any way for me to include the "Nicky" voice in my app or for me to trigger the download from the app so I don't have to show an error and direct users through the settings app to get the voice? Are there any new features with AI voices in iOS 27 that I can use with IPA pronunciations to get them to speak possibly better than the Nicky voice? FB17834189
1
2
1.2k
Jun ’26
Is there a recommended WCAG checklist for native macOS and iOS apps?
I'm working on improving accessibility in a native macOS app and going through WCAG, but with so many success criteria it's hard to know where to focus for native Apple platform apps. 1. Does Apple recommend a specific subset or checklist of WCAG requirements for macOS and iOS? 2. If not, which criteria are generally considered essential, and how do developers typically validate them using Apple's accessibility tools and assistive technologies? I'm looking for a prioritized list of criteria that actually apply to native apps, rather than trying to implement every WCAG criterion individually.
Replies
3
Boosts
0
Views
1.3k
Activity
Jul ’26
Opening specific Accessibility settings with a deeplink?
Heya! is there anyway to allow a user to open an accessibility setting from an iOS app? As currently you kinda have to explain how to enable it on your device and honestly thats kinda completely against how accessibility ux should work as it as it requires and expects a user to read+understand something they might as well can't because of accessibility issues in the first place and thus basically punishing a user for it. I tested this with some users and asking them to go trough 3-5 menu's with overwhelming settings is to complex and most give up, thus directing them would solve that problem.
Replies
3
Boosts
1
Views
2.5k
Activity
Jul ’26
Hiding bracketed Braille Unicode characters when using Braille Dots Pattern - liblouis iOS Braille table on iPhone with Braille Displays via bluetooth on Safari
I have a question about rendering Braille Unicode patterns via VoiceOver on iPhone connected via Bluetooth with Braille displays. I’m developing a web app (users access via Safari) that uses raw Braille Unicode characters rather than using 8-dot, UEB contracted or uncontracted, because I want the characters to render the exact dots regardless of which braille table the user has theirs set too. My question is, can I hide the (bracketing?) characters [⣇ (1-2-3-7-8) and ⣸ (4-5-6-7-8)] that bracket Braille Unicode character passages? I find them unseemly from the perspective of the user, who may or may not be especially technologically savvy. Any suggestions for work arounds will be appreciated.
Replies
0
Boosts
0
Views
900
Activity
Jul ’26
Accessibility Feature Suggestion - Bring Back The Home Bar!!
Hi there, I am a day-to-day user of Apple Devices, whether it’s my iPhone, my iPad or Apple Watch. I originally suggested this feature to the Apple Support team, and through the Product Feedback site, back in September 2025 when iOS 26 and iPadOS 26 launched. All I want is a toggle option within the Accessibility settings to display the home bar permanently. This isn’t exactly much to ask for, and I am still waiting. Please help me! Thank you
Replies
0
Boosts
0
Views
1.1k
Activity
Jul ’26
Full Keyboard Access support for custom MKAnnotationView in MKMapView
We’re working on improving the accessibility of a MKMapView that displays custom MKAnnotationView instances. Our implementation is fully accessible with VoiceOver: The custom annotation views expose the correct accessibility information. Users can navigate between annotations using custom accessibility rotors. The overall VoiceOver experience works as expected. However, we’re unable to make the custom MKAnnotationView instances accessible through Full Keyboard Access (FKA). Despite configuring the annotation views as accessibility elements and experimenting with focus-related APIs, the annotations never become reachable through keyboard navigation. They appear to be skipped entirely by the FKA focus system. Is there a supported way to make custom MKAnnotationView instances participate in Full Keyboard Access navigation? If this scenario is currently unsupported, is there a recommended approach or any plans to expose public APIs that would allow developers to provide a keyboard-accessible experience for custom annotations in MKMapView? Any guidance would be greatly appreciated.
Replies
4
Boosts
0
Views
1.3k
Activity
Jul ’26
Accessibility Improvement Request: Native iOS NFC Scanning Modal Customisation
Hello I am a Product Designer at the Commonwealth Bank of Australia (CBA). We recently launched a feature enabling customers to verify their identity by scanning their passport's biometric chip via NFC. While our in-app flow is highly optimised, the core user experience relies heavily on the native iOS NFC scanning modal (NFCTagReaderSession / NFCNDEFReaderSession). After conducting extensive user testing, we found that the current native UI consistently causes user confusion, friction, and avoidable drop-offs. Because developer customisation is currently limited strictly to the body copy string, we are unable to resolve these critical UX and accessibility issues ourselves. Below are three specific areas where the native NFC modal is performing below expectations, along with proposed solutions. Dynamic Heading States The Problem: The modal heading is hardcoded to "Ready to Scan" and remains static throughout the entire lifecycle. It does not update when scanning begins, when scanning completes, or when an error occurs. Showing "Ready to Scan" alongside a loading state or a success checkmark is logically contradictory and confuses users. The Impact: Users are left uncertain if the device is actively reading, finished, or waiting for input. Proposed Solution: Allow developers to dynamically update the header text via the API based on session states (e.g., Ready to Scan, Scanning..., Hold Still, Scan Complete). Alternatively, implement native, automated heading changes that correspond to the actual hardware state. Accessibility & Typography (Body Copy Legibility) The Problem: The customisable body text underneath the main heading uses a font size that is far too small. The Impact: During user testing, the vast majority of participants completely missed or ignored this text. Even standard users struggled to read it, and it poses a severe barrier for users with visual impairments. Since this is the only text developers can control to give context-specific instructions, its lack of legibility breaks the experience. Proposed Solution: Increase the default font size of the body text to meet standard iOS Human Interface Guidelines (HIG) for legibility, or respect the user's Dynamic Type settings within the modal template. Active Scanning Animation / State Indicator The Problem: The native looping animation shows a phone tilting toward a reader. While appropriate for the initiation state, this animation does not change once active data transfer begins. The Impact: When combined with the static "Ready to Scan" heading, users have zero visual feedback that a scan is actively in progress. They frequently move the phone away too early, resulting in aborted scans and error loops. Proposed Solution: Introduce a distinct visual state indicator once scanning starts—such as a progress bar, a loading spinner, or an altered animation—to signal that scanning is underway. The current restrictions on the native NFC modal limit our ability to deliver an accessible, seamless experience for millions of users who rely on identity verification. Unlocking greater UI customisation for developers or updating the native template to be more dynamic would significantly elevate the UX for all apps leveraging CoreNFC. Keen to hear back on any upcoming changes. Thank you!
Replies
3
Boosts
0
Views
1.2k
Activity
Jul ’26
Is there any API to detect Voice Control status in SwiftUI on iOS
I'm building an iOS app in SwiftUI and need to adapt my UI when Voice Control is active — specifically to show labels on custom gesture-driven controls so they're accessible via Voice Control commands. I've checked UIAccessibility and can find notifications and properties for VoiceOver (isVoiceOverRunning), Switch Control (isSwitchControlRunning), and AssistiveTouch (isAssistiveTouchRunning), but I can't find any equivalent for Voice Control. UIAccessibility.isVoiceControlRunning and voiceControlStatusDidChangeNotification appear to exist on macOS (AXIsProcessTrustedWithOptions) but not on iOS. Questions: Is there a public iOS API to detect whether Voice Control is currently active — either a UIAccessibility property, notification, or SwiftUI environment value? If not, is the recommended approach to use UIAccessibility.isGuidedAccessEnabled as a proxy, or something else entirely? Is there a private entitlement or capability that unlocks this detection for App Store apps? What I've already tried: Checking AccessibilityFeatures environment values in SwiftUI (@Environment(.accessibilityReduceMotion) etc.) Thanks!
Replies
2
Boosts
4
Views
1.6k
Activity
Jul ’26
Unable to Accept Invite
I am getting this issue when trying to accept an invite to a new test version of our app. ****Unable to Accept invite This invitation cannot be accepted because your Apple Account, xxxxxxxx.me.com, has already been associated to this app.**** Can you help please?
Replies
15
Boosts
13
Views
9.4k
Activity
Jun ’26
Feature request: Apple Watch announce notifications
Currently, Apple WatchOS 26 can speak "split time" in workouts, but cannot announce notifications. While iOS 26 can "Announce Notifications on Speaker" (if iPhone is locked" ), this is not available on Apple Watch Please add this feature
Replies
1
Boosts
0
Views
1.8k
Activity
Jun ’26
Nearby Interactions, wih camera assistance
I have an app that uses nearby with a custom accessory. works great on iPhone 11-13, starting with iPhone 14, one must use ARkit to get angles we have two problems ARkit is light sensitive, and we do not control the lighting where this app would run.. the 11-13 action works great even in the dark. (our users are blind, this is an accessibility app) ARkit wants to be foreground, but our uses cannot see it, and we have a voice oriented UI that provides navigation instructions.. IF ARkit is foreground, our app doesn't work. with iPhone 15 ProMax, on IOS 18, I got an error, access denied. (not permission denied) now that I am on IOS 26.. bt scan doesn't happen also fails same way on iPhone 17 on IOS26, can't callback now as release signing is no longer done this same code works ok on iOS 17.1 on iPhone 12. Info.plist here info.txt if(SearchedServices == [] ){ services = [TransferService.serviceUUID,QorvoNIService.serviceUUID] } logger.info( "scannerready, starting scan for peripherals \(services) and devices \(IDs)") filteredIDs=IDs; scanning=true; centralManager.scanForPeripherals(withServices: services, options: [CBCentralManagerScanOptionAllowDuplicatesKey: true]) the calling code dataChannel.autoConnect=autoConnect; dataChannel.start(x,ids) // datachannel.start is above self.scanning = true; return "scanning started"; ... log output services from js = and devices= 5FE04CBB services in implementation = bluetooth ready, starting scan for peripherals [] and devices ["5FE04CBB"] scannerready, starting scan for peripherals [6E400001-B5A3-F393-E0A9-E50E24DCCA9E, 2E938FD0-6A61-11ED-A1EB-0242AC120002] and devices ["5FE04CBB"] ⚡️ TO JS {"value":"scanning started"}
Replies
6
Boosts
2
Views
4.6k
Activity
Jun ’26
Apple WatchOS 27 verbal announcements
Does WatchOS 27 support an iOS 27 app making announcements on the Apple Watch?
Replies
1
Boosts
1
Views
1.3k
Activity
Jun ’26
WatchOS 27 Siri-suggested apps
For low vision users, can my app override the Siri-suggested 6 apps and display my suggested apps?
Replies
0
Boosts
0
Views
1.2k
Activity
Jun ’26
Websites and apps are slow with voiceover
Every time I go onto an app or website, it is very slow and sometimes unresponsive. I have to close the app and reopen it several times just to get what I need done. Please fix this bug right away?
Replies
0
Boosts
0
Views
1.1k
Activity
Jun ’26
next gen Voice Control
Given the new Voice Control natural language enhancements, is there any change in guidance for how developers use accessibilitylnputLabels? Does providing robust utterance coverage across our views still help tune the new system's NLU?
Replies
3
Boosts
1
Views
1.4k
Activity
Jun ’26
Apple Accessibility Team
I have been trying for 7 months to speak to someone at Apple about their accessibility work for my job as assistive technology advisor. I haven’t been able to speak to anyone regarding this despite emailing a number of different departments and people at Apple. Other tech firms have been happy to become involved, can anyone help?
Replies
7
Boosts
1
Views
1.2k
Activity
Jun ’26
AssistiveTouch Screenshot Option Not Working
After updating to the iOS 26 Beta version, the screenshot option within the AssistiveTouch menu has stopped working. Tapping on the "Screenshot" icon does not perform any action.
Replies
1
Boosts
0
Views
1.4k
Activity
Jun ’26
The default voiceover
The default VoiceOver behavior is to start at the toolbar and work its way down. In some cases, this feels unintuitive to me. One example - my app persists which Tab you were last on across sessions. But on iOS, the tab bar is at the bottom. Sighted users have immediate context. I explored trying to insert a VO bit on load to announce which Tab is active, but that didn't work well and would sometimes clash with other VoiceOver elements. Any guidance here? I'm not a VoiceOver user, so please let me know if I'm trying to change a default AX behavior that shouldn't be messed with. But I want to make sure a VO user has the right context of where they're being dropped into.
Replies
1
Boosts
0
Views
1.1k
Activity
Jun ’26
Fullscreen Detection
Hi, I want to detect if there is a fullscreen window on each screen. _AXUIElementGetWindow and kAXFullscreenAttribute methods work, but I have to be in a non-sandbox environment to use them. Is there any other way that also works? I don't think it's enough to judge if it's fullscreen by comparing the window size to the screen size, since it doesn't work on MacBook with notch, or the menu bar is set to 'auto-hide'. Thanks.
Replies
14
Boosts
1
Views
4.2k
Activity
Jun ’26
overriding default VoiceOver ordering
The default VoiceOver behavior is to start at the toolbar and work its way down. In some cases, this feels unintuitive to me. One example - my app persists which Tab you were last on across sessions. But on iOS, the tab bar is at the bottom. Sighted users have immediate context. I explored trying to insert a VO bit on load to announce which Tab is active, but that didn't work well and would sometimes clash with other VoiceOver elements. Any guidance here? I'm not a VoiceOver user, so please let me know if I'm trying to change a default AX behavior that shouldn't be messed with. But I want to make sure a VO user has the right context of where they're being dropped into.
Replies
1
Boosts
0
Views
1.2k
Activity
Jun ’26
VoiceOver voices not included by default
Up to iOS 18 there were many voices available on device by default including "Nicky" that I use in my app. Somewhere around iOS 18.6 or 26.0 these voices were removed and no longer included in the OS by default. This broke my app that counted on the Nicky voice being available. My only workaround is to direct my users to download the voice again by going to Accessibility > VoiceOver > Speech > Voices and downloading "Nicky". I cannot simply switch to using Samantha (the only voice that is still available by default) because I have heavily customized how IPA pronunciations are tweaked to make Nicky speak Old English correctly. I tried briefly with Samantha but the results were not as good. I have 2 questions: Is there any way for me to include the "Nicky" voice in my app or for me to trigger the download from the app so I don't have to show an error and direct users through the settings app to get the voice? Are there any new features with AI voices in iOS 27 that I can use with IPA pronunciations to get them to speak possibly better than the Nicky voice? FB17834189
Replies
1
Boosts
2
Views
1.2k
Activity
Jun ’26