Explore best practices for creating inclusive apps that cater to users with diverse abilities

Learn More

Posts under General subtopic

Post

Replies

Boosts

Views

Activity

Disable sleep/wake when in Autonomous Single App Mode (ASAM)
If a user enables/disables Guided Access, they can modify the session settings to disable the top (sleep/wake) button. In Single App Mode (SAM), there is a payload option for disabling the sleep/wake button via Mobile Device Management (MDM). In Autonomous Single App Mode (ASAM), there doesn't appear to be any way to disable the top button. ASAM does not honor the Guided Access sessions settings, and there is no payload option in the MDM. This is a glaring issue especially when ASAM is marketed as the solution for apps in a medical setting where the app is trading hands from a medical professional to a patient. Our app is used during a lengthy procedure and does not function properly if the patient puts the iPad to sleep. We're stuck asking our medical professionals to put the iPad in Guided Access, but the user experience is clunky and would be much improved by implementing ASAM. Is there some little-known API for disabling the sleep/wake button during ASAM that I'm just missing?
2
3
4.0k
Jul ’26
iOS 26.6: Guided Access becomes unavailable after disabling and re-enabling on iPhone 15
Device iPhone 15 iOS Versions iOS 26.5 iOS 26.6 Summary: I found a reproducible issue with Guided Access on my iPhone 15. After disabling Guided Access, it cannot be enabled again for approximately 30–60 minutes. The problem exists on both iOS 26.5 and iOS 26.6. Steps to Reproduce: Enable Guided Access. Use Guided Access for approximately 5–10 minutes. Disable Guided Access. Wait 1–2 minutes. Try enabling Guided Access again. Expected Result: Guided Access should enable immediately every time. Actual Result Instead of enabling, the phone displays: "Guided Access Unavailable" After this message appears, Guided Access cannot be enabled again. I must wait approximately 30–60 minutes before the feature becomes available again. Frequency 100% I can reproduce this every time using the steps above. Troubleshooting Already Tried Restarted iPhone. Force restarted iPhone. Turned Guided Access off and on. Updated from iOS 26.5 to iOS 26.6. The issue still occurs. Questions: Can anyone reproduce this on iPhone 15 or other iPhone models running iOS 26.5 or iOS 26.6? Has anyone found a workaround?
1
0
1.4k
Jul ’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.
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
934
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.3k
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.7k
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
10k
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.7k
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.3k
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.4k
Jun ’26
Disable sleep/wake when in Autonomous Single App Mode (ASAM)
If a user enables/disables Guided Access, they can modify the session settings to disable the top (sleep/wake) button. In Single App Mode (SAM), there is a payload option for disabling the sleep/wake button via Mobile Device Management (MDM). In Autonomous Single App Mode (ASAM), there doesn't appear to be any way to disable the top button. ASAM does not honor the Guided Access sessions settings, and there is no payload option in the MDM. This is a glaring issue especially when ASAM is marketed as the solution for apps in a medical setting where the app is trading hands from a medical professional to a patient. Our app is used during a lengthy procedure and does not function properly if the patient puts the iPad to sleep. We're stuck asking our medical professionals to put the iPad in Guided Access, but the user experience is clunky and would be much improved by implementing ASAM. Is there some little-known API for disabling the sleep/wake button during ASAM that I'm just missing?
Replies
2
Boosts
3
Views
4.0k
Activity
Jul ’26
iOS 26.6: Guided Access becomes unavailable after disabling and re-enabling on iPhone 15
Device iPhone 15 iOS Versions iOS 26.5 iOS 26.6 Summary: I found a reproducible issue with Guided Access on my iPhone 15. After disabling Guided Access, it cannot be enabled again for approximately 30–60 minutes. The problem exists on both iOS 26.5 and iOS 26.6. Steps to Reproduce: Enable Guided Access. Use Guided Access for approximately 5–10 minutes. Disable Guided Access. Wait 1–2 minutes. Try enabling Guided Access again. Expected Result: Guided Access should enable immediately every time. Actual Result Instead of enabling, the phone displays: "Guided Access Unavailable" After this message appears, Guided Access cannot be enabled again. I must wait approximately 30–60 minutes before the feature becomes available again. Frequency 100% I can reproduce this every time using the steps above. Troubleshooting Already Tried Restarted iPhone. Force restarted iPhone. Turned Guided Access off and on. Updated from iOS 26.5 to iOS 26.6. The issue still occurs. Questions: Can anyone reproduce this on iPhone 15 or other iPhone models running iOS 26.5 or iOS 26.6? Has anyone found a workaround?
Replies
1
Boosts
0
Views
1.4k
Activity
Jul ’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
934
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.3k
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.7k
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
10k
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.7k
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.3k
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.4k
Activity
Jun ’26