VoiceOver reads out all visible content on the screen, which is essential for visually challenged users. However, this raises a privacy concern—what if a user accidentally focuses on sensitive information, like a bank account password, and it gets read aloud?
How can developers prevent VoiceOver from exposing confidential data while still maintaining accessibility? Are there best practices or recommended approaches to handle such scenarios effectively?
Explore best practices for creating inclusive apps for users of Apple accessibility features and users from diverse backgrounds.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Accessibility got broken after updated till XCode 16.1
There is a call to accessibilityLabel - it sets an a11y label for a title of a view.
This used to work (pronounced by VoiceOver) with XCode 15.4 + iOS 17.5.
Xcode 16.1 + iOS 18.1 + Physical device/ iOS SImulator - with Accessibility Inspector - no a11y label set.
Tried Xcode 16.2 beta 3 - the same result - accessibilityLabel does not work - a11y label is not set.
I have just purchased an Apple developer Account from Bangladesh and it sent codes perfectly for the first 2-3 times for logging in, but after that no matter what I do it doesn't send verification code and I am stuck, I now cannot log in and this is extremely extremely frustrating
我尝试创建一个command line tool 应用,然后创建一个dylib,其核心功能是,调用苹果登录。我安装sign in with apple 的要求,先生成一个bundle ID 然后,在开发者后台注册,同时开启其 sign in whit apple 功能。然后实现ASAuthorizationAppleIDRequest相关逻辑。运行后,控制台报错提示
[siwa] Authorization failed: Error Domain=AKAuthenticationError Code=-7074 "(null)"。相同操作对比创建app应用 是可以拉起苹果授权登录页面。对比了一下,有两点区别:
1、在signing&capabilities里,app应用可以添加sign in with apple 的capability,而command line tool 应用不可以
2、签名的区别,app的签名里会保护描述文件信息(包括bundle id)而command line tool 应用没有。
3、应用的差别,command line tool 应用 和 app应用。
现在不知道是哪个原因导致该报错
Topic:
Accessibility & Inclusion
SubTopic:
General
While it is possible to scroll content using VoiceOver on macOS, I was not able to find any NSAccessibility APIs related to it (such as accessibilityScroll: on iOS).
I have a record button that either starts or stops a recording using the default action. When the user is recording, I want to add a custom action to discard the recording instead of saving it. That all works fine with the following code:
if isRecording {
recordButton.accessibilityCustomActions = [
.init(name: String(localized: "discard recording"), actionHandler: { [weak delegate] _ in
delegate?.discardRecording()
return true
})
]
recordButton.accessibilityLabel = String(localized: "stop recording", comment: "accessibility label")
} else {
recordButton.accessibilityCustomActions = []
recordButton.accessibilityLabel = String(localized: "start recording", comment: "accessibility label")
}
The problem I have is that when a user chose "discard recording", it becomes the default selected action again the next time the user records, and instead of stopping and saving the recording, the user might accidentally discard the next one as well.
How can I programmatically reset the selected action on this recordButton to the default action?
While editing the search text using the external keyboard (with VoiceOver on), if I try to navigate the to List using the keyboard, the focus jumps back to the search field immediately, preventing selection of list items. It's important to note that the voiceover navigation alone without a keyboard works as expected.
It’s as if the List never gains focus—every attempt to move focus lands back on the search field.
The code:
struct ContentView: View {
@State var searchText = ""
let items = ["Apple", "Banana", "Cherry", "Date", "Elderberry", "Fig", "Grape"]
var filteredItems: [String] {
if searchText.isEmpty {
return items
} else {
return items.filter { $0.localizedCaseInsensitiveContains(searchText) }
}
}
var body: some View {
if #available(iOS 16.0, *) {
NavigationStack {
List(filteredItems, id: \.self) { item in
Text(item)
}
.navigationTitle("Fruits")
.searchable(text: $searchText)
}
} else {
NavigationView {
List(filteredItems, id: \.self) { item in
Text(item)
}
.navigationTitle("Fruits")
.searchable(text: $searchText)
}
}
}
}
Hey!
Any plans on supporting Photogrammetry Sessions on VisionOS?
https://developer.apple.com/documentation/realitykit/photogrammetrysession
Thanks!
I am seeing a strange issue where NSObject accessibilityRespondsToUserInteraction returns true on Simulator but false on device.
Checking the same object on simulator with Accessibility inspector I see the object traits as image so why would it return true in that case?
Are there any other way to check the the item might be accessibilityRespondsToUserInteraction OR Clickable beside that property and traits?
(Or is it just another bug)
I am unable to login my App Store showing verification failed. Verification codes can’t be send at this time message showing.
please help me.
i am login my apple account in browser. Works fine. If i try to login ipad App Store? Getting verification failed.
Topic:
Accessibility & Inclusion
SubTopic:
General
Went to privacy and security on iPhone 11 and development mode is not there
My app url is not accessible by apple review team
Topic:
Accessibility & Inclusion
SubTopic:
General
I'm developing a calculator app and working to ensure a great experience for both VoiceOver and Braille display users.
For expressions like (2+3)×5, I need two different accessibility outputs:
VoiceOver (spoken): A descriptive string like “left paren two plus three right paren times five,” provided via .accessibilityValue. I'm using a custom spellOut function since VoiceOver doesn't announce parentheses—which are kind of important when doing math!
Braille (symbolic): The literal math string (2+3)×5, provided using .accessibilityCustomContent("", ...), with an empty label so it’s not spoken aloud.
The issue: I don’t have access to a Braille display device and Xcode’s Accessibility Inspector doesn’t seem to show the custom content.
Is there any way to confirm that custom Braille content is being set correctly in Simulator or with other tools?
Or…is there a "math mode" in VoiceOver that forces it to announce parentheses?
Any advice or workarounds would be much appreciated!
Thanks,
Uhl
Topic:
Accessibility & Inclusion
SubTopic:
General
Tags:
External Accessory
iOS
Accessibility
SwiftUI
When My Usb interface working on recording, the sync is not good work. I found every IO will in_io_buffer_frame_size is same, it is not sync to UpdateCurrentZeroTimestamp. So The Audio driver Kit Read opration is not same like Write? What is the way sync with Usb in data?
If only play audio with UpdateCurrentZeroTimestamp, it working fine.
Thanks!
When i go outside in the sunlight. Brightness becomes high but it goes down slowly and at the high rate of brightness, it is no visible my screen.
Topic:
Accessibility & Inclusion
SubTopic:
General
How to get approved my NFC based app on IOS store fast
Topic:
Accessibility & Inclusion
SubTopic:
General
I’m trying to enroll in the Apple Developer Program as an individual. I’ve gone through the steps on the website and started the purchase process. However, after a couple of days when I return to the site, it doesn’t remember my progress — I have to start the enrollment from scratch every time.
Is this expected behavior? Am I missing a step to save my progress or complete the enrollment properly?
Any help or guidance would be appreciated. Thank you!
Hey there! Hope you are starting the year with great joy.
My situation
I'm building a new product that is based on detecting certain text on screen in realtime. The product is only targeted for Mac and it's built with Swift
My problem
I need to get the exact position of a text element with the Apple Accessibility API but I can't figurate it out. I managed to get the AXUIElement where the text is placed but it's position is too broad and off target.
My discoveries so far
I've tried OCR but is too slow for what I'm building, so the only possible way I can think of is with the Accessibility API.
Thank you in advanced.
Same problem as everyone getting after IOS 18update.
Topic:
Accessibility & Inclusion
SubTopic:
General
I am trying to build an app that will, on optimized occasions, use the latest iphone's gyroscopic and accelerometer features.
Am I able to use them if I can provide a valid justification for their use?
Topic:
Accessibility & Inclusion
SubTopic:
General