Accessibility

RSS for tag

Make your apps function for a broad range of users using Accessibility APIs across all Apple platforms.

Accessibility Documentation

Posts under Accessibility tag

125 Posts
Sort by:
Post not yet marked as solved
1 Replies
154 Views
iPhone 12 mini; iOS 17.1.2. I'm having issues with the new version of iBook: randomly distributed extra blank pages throughout .epub's (but not with .pdf) The rest are issues with iBook using Accessibility/Spoken Content. reading stops at the extra blank pages mentioned above reading stops at the beginning of new chapters some, but not all, commas are said aloud during the reading some apostrophe s are said as "ess" instead of as part of the word that precedes them, eg: the sun's up apostrophe ll is said as "el el" instead of as part of the word that precedes them, eg: the sun'll get you sometimes (consistently for where this happens) the first couple of words on a new page will be repeated. Not positive, but it might be with the ends of sentences that only have a couple of words left for the next page, or perhaps, dialog vs prose, eg: in (page a) "How much would (page b) I need?", 'I need' is repeated, so it sounds like "How much would I need I need?" and perhaps the most frustrating: I'm using the Siri 1 voice, and almost once a day, when I start listening, it has switched to Siri 4, and Siri 1 needs to be re-installed in order to use it. On a related note: When using AirDrop to move files from my Mac to my iPhone, I really miss the menu that allowed me to put the file where I wanted it (Books) without the need to download it to Files then share it to Books. I was truly disturbed that it came configured to send my private material directly onto iCloud storage, which was a pain to figure out how to store locally. It felt like an underhanded move to force me to use iCloud, and I didn't appreciate it. I found others online who felt the same way, and who struggled, like me, to figure out how to use local storage. As an author, I use the Spoken Content as part of my editing, which is why I am so aware of these issue. More importantly, I want to ensure my blind/visually-restricted audience has access to my book in a listenable format. Initially, with the first problem (random blank pages), I thought there was something wrong with my book formatting, but then I took the time to listen to other .epubs in the iBook app, and found the same problem. I hope this feedback helps you improve the Spoken Content, as well as the iBook app. I always cringe when a new major version of iOS comes out, because of the surprises and the multiple revisions it takes to get past the introduced bugs. I will end by saying the Siri 1 voice has come a long way from when I first began using it in 2020 with respect to it sounding more natural. And the ability to have my books read aloud for folks who can't afford expensive readers is priceless.
Posted Last updated
.
Post not yet marked as solved
1 Replies
112 Views
I have an application that uses Accessibility APIs to determine if a browser tab with website content is present by checking for the AXWebArea role element. However, some users have reported that the app is not working after a recent update. When I check for permission using the following code, the result is YES, but the app still cannot detect the AXWebArea element in the browser though other elements like AXButton were there: NSDictionary *options = @{(__bridge id)kAXTrustedCheckOptionPrompt : @YES}; NSLog(@“%d”, AXIsProcessTrustedWithOptions((__bridge CFDictionaryRef)options)); The issue is resolved when the app is removed and re-added to the Accessibility permissions list in the System settings. I would appreciate a detailed explanation of what could be causing this issue.
Posted Last updated
.
Post not yet marked as solved
2 Replies
76 Views
Hi all, it's been already few weeks since i bought my new Macbook pro m3. Everything works great but i have some issues in Accessibility settings, i need live captions because i have hearing issues, i tried to download them many times, also called accessibility support and they didn't help me to fix it. After enabling live captions option the live captioning window showing up with "Downloading language" then in less than one second changing to "Error in downloading" I cannot upload an image here because of error "An error occured while uploading this image. Please try again later." Example: https://i.imgur.com/EMKB0Go.jpg Does anyone know how to fix this? I tried to create a new user, safe mode, and change network, support agent also had an access to my mac and made some troubleshooting actions but didn't work. By the way It works on my iPhone perfectly. Also i would like to connect my MFI hearing device without connecting extra accessories, like to my iphone but seems it's not supporting by Cochlear for MacOS, yet. (Nucleus 7) But it's works great on ipadOS, iOS and watchOS, but not in macOS... what a nonsense. Please help
Posted
by Sm1Le.
Last updated
.
Post not yet marked as solved
0 Replies
58 Views
When Full Keyboard access is enabled, the currently focused element is indicated by a thick border (first screenshot below). If the focused element is inside a focus group, e.g. a UIScrollView, then the thick border encloses the entire focus group, and the focused element is indicated by a change in background color instead (second screenshot below). These two types of focus state seem to use the tintColor of the element. We were advised that the change in background color does not meet WCAG standards since the contrast ratio between the non-focused state and the light blue focused state is not high enough. Apart from changing the tintColor, is there any other way to customize the focused appearance of an element? It would be ideal if we could apply a border to the focused element even when it's contained in a focus group, rather than just changing the background color.
Posted
by glow.
Last updated
.
Post not yet marked as solved
0 Replies
76 Views
Accessibility is disabled for tableview cell but it is getting selected.Tableview cell is added as a subview to a view and its accessibility is also disabled.The accessibility value is coming as empty string instead of nil.Imageview is placed inside the tableview cell for that also the accessibility is disabled, still it is getting selected for the cell.Attached the view hierarchy of tableviewcell Sample code: BOOL voiceAccessibility = [screenDelegate getApplicationHasVoiceAccessibility]; if (voiceAccessibility) { if (accEnabled) { [self setIsAccessibilityElement:YES]; if (accLable != nil && accLable.length >0) [self setAccessibilityLabel:accLable]; } else { [self setIsAccessibilityElement:NO]; self.accessibilityTraits = UIAccessibilityTraitNone; } } Alternative Code tried: -(NSString *)accessibilityLabel{ if([m_acclabel isEqualToString:@""] || m_acclabel == nil || m_acclabel.length == 0){ return nil; } return m_acclabel; } Accessibility Inspector Hierarchy:
Posted
by testiOS08.
Last updated
.
Post not yet marked as solved
0 Replies
97 Views
Hi, I'm full-time carer for my mum (Alzheimers) and need a simple solution for her to call me via FaceTime when I'm not there. I've done some iOS development many years ago, but I'm no longer up to date with the latest api's etc. I was wondering if it's possible for me to put an app on her iPad and iPhone that automatically starts FaceTime and calls my number when she taps the app icon to start the app? For an answer, I'm just really looking for a yes or a no. If yes, maybe a simple explanation of the process I need to follow. It's not an app I'm looking to publish, I just want to install it on her devices. I seem to remember using an App called 'test flight' I think which allowed a select number of users to download and test the app I was working on at the time. This would be sufficient if it's still the way to go to put an app onto a couple of personal devices for testing. Many thanks Paul Hollyer
Posted Last updated
.
Post not yet marked as solved
1 Replies
97 Views
Hi. I'm a frontend developer and i'm having problems navigating and interacting with any type of carousel using VoiceOver on mobile. The carousel navigation works perfectly using the arrows and touch, but after enabling VoiceOver, the navigation freezes and it's impossible to move the carousel using touch gestures, working only with the arrows. Following the documentations i'm trying to use a three finger gesture to move the carousel. I also tried other gestures, but none worked as expected. Even tested using the VoiceOver in other webpages that have carousels, like Bootstrap carousel component page, Picpay, Amazon and even Apple. I made an StackBlitz page with a sample code i'm using to test carousel accessibility https://stackblitz.com/edit/stackblitz-starters-gg2t5w?file=src%2Fmain.ts So the question is. Is there any limitations regarding using VoiceOver on browsers? Am i doing something wrong here? Or is there a different approach when it comes to carousels?
Posted
by Lanicolau.
Last updated
.
Post not yet marked as solved
19 Replies
3.2k Views
I see a lot of crashes on iOS 17 beta regarding some problem of "Text To Speech". Does anybody has a clue why TTS crashes? Anybody else seeing the same problem? Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Subtype: KERN_INVALID_ADDRESS at 0x000000037f729380 Exception Codes: 0x0000000000000001, 0x000000037f729380 VM Region Info: 0x37f729380 is not in any region. Bytes after previous region: 3748828033 Bytes before following region: 52622617728 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL MALLOC_NANO 280000000-2a0000000 [512.0M] rw-/rwx SM=PRV ---> GAP OF 0xd20000000 BYTES commpage (reserved) fc0000000-1000000000 [ 1.0G] ---/--- SM=NUL ...(unallocated) Termination Reason: SIGNAL 11 Segmentation fault: 11 Terminating Process: exc handler [36389] Triggered by Thread: 9 ..... Thread 9 name: Thread 9 Crashed: 0 libobjc.A.dylib 0x000000019eeff248 objc_retain_x8 + 16 1 AudioToolboxCore 0x00000001b2da9d80 auoop::RenderPipeUser::~RenderPipeUser() + 112 (AUOOPRenderPipePool.mm:400) 2 AudioToolboxCore 0x00000001b2e110b4 -[AUAudioUnit_XPC internalDeallocateRenderResources] + 92 (AUAudioUnit_XPC.mm:904) 3 AVFAudio 0x00000001bfa4cc04 AUInterfaceBaseV3::Uninitialize() + 60 (AUInterface.mm:524) 4 AVFAudio 0x00000001bfa894bc AVAudioEngineGraph::PerformCommand(AUGraphNodeBaseV3&, AVAudioEngineGraph::ENodeCommand, void*, unsigned int) const + 772 (AVAudioEngineGraph.mm:3317) 5 AVFAudio 0x00000001bfa93550 AVAudioEngineGraph::_Uninitialize(NSError**) + 132 (AVAudioEngineGraph.mm:1469) 6 AVFAudio 0x00000001bfa4b50c AVAudioEngineImpl::Stop(NSError**) + 396 (AVAudioEngine.mm:1081) 7 AVFAudio 0x00000001bfa4b094 -[AVAudioEngine stop] + 48 (AVAudioEngine.mm:193) 8 TextToSpeech 0x00000001c70b3c5c __55-[TTSSynthesisProviderAudioEngine renderSpeechRequest:]_block_invoke + 1756 (TTSSynthesisProviderAudioEngine.m:613) 9 libdispatch.dylib 0x00000001ae4b0740 _dispatch_call_block_and_release + 32 (init.c:1519) 10 libdispatch.dylib 0x00000001ae4b2378 _dispatch_client_callout + 20 (object.m:560) 11 libdispatch.dylib 0x00000001ae4b990c _dispatch_lane_serial_drain + 748 (queue.c:3885) 12 libdispatch.dylib 0x00000001ae4ba470 _dispatch_lane_invoke + 432 (queue.c:3976) 13 libdispatch.dylib 0x00000001ae4c5074 _dispatch_root_queue_drain_deferred_wlh + 288 (queue.c:6913) 14 libdispatch.dylib 0x00000001ae4c48e8 _dispatch_workloop_worker_thread + 404 (queue.c:6507) ... Thread 9 crashed with ARM Thread State (64-bit): x0: 0x0000000283309360 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x00000002833093c0 x4: 0x00000002833093c0 x5: 0x0000000101737740 x6: 0x0000000000000013 x7: 0x00000000ffffffff x8: 0x0000000283309360 x9: 0x3c788942d067009a x10: 0x0000000101547000 x11: 0x0000000000000000 x12: 0x00000000000007fb x13: 0x00000000000007fd x14: 0x000000001ee24020 x15: 0x0000000000000020 x16: 0x0000b1037f729360 x17: 0x000000037f729360 x18: 0x0000000000000000 x19: 0x0000000000000000 x20: 0x00000001016a8de8 x21: 0x0000000283e21d00 x22: 0x0000000283b3f1f8 x23: 0x0000000283098000 x24: 0x00000001bfb4fc35 x25: 0x00000001bfb4fc43 x26: 0x000000028033a688 x27: 0x0000000280c93090 x28: 0x0000000000000000 fp: 0x000000016fc86490 lr: 0x00000001b2da9d80 sp: 0x000000016fc863e0 pc: 0x000000019eeff248 cpsr: 0x1000 esr: 0x92000006 (Data Abort) byte read Translation fault
Posted Last updated
.
Post not yet marked as solved
1 Replies
90 Views
I am facing an accessibility issue and am looking for a workaround. I have already submitted feedback on the bug but I have not received any communication so I am posting here in case others face the same issue or have an idea for a workaround. Here is the issue: When I quickjly navigate to second UIMenu item after opening a UImenu, VoiceOver focus returns to first UIMenu item. To reproduce the issue: Go to files app (the default Apple Files app) Enable VoiceOver Navigate to kebab (...) menu in top right corner Double tap to open menu When menu is open, quickly swipe to navigate to second UIMenu item Notice VoiceOver focus returns to first menu option. I expect VoiceOver focus to respect user's navigation and focus on second navigation item. I've uploaded a video to demonstrate the behavior on Files app. https://youtube.com/shorts/zkDS77azS_0?feature=share
Posted Last updated
.
Post not yet marked as solved
2 Replies
153 Views
Stack trace OS Version: macOS 14.1 (23B74) Report Version: 104 Crashed Thread: 1622089 Application Specific Information: Fatal Error: EXC_BAD_ACCESS / KERN_PROTECTION_FAILURE / 0x16c91ffc0 Thread 1622089 Crashed: 0 libsystem_malloc.dylib 0x189cfcbc4 tiny_malloc_from_free_list 1 libsystem_malloc.dylib 0x189cfb2c4 szone_malloc_should_clear 2 Electron Framework 0x10e39f904 allocator_shim::MallocZoneFunctionsToReplaceDefault::lambda::__invoke (allocator_shim.cc:232) 3 CoreFoundation 0x189f5273c __CFStrAllocateMutableContents 4 CoreFoundation 0x189f52028 __CFStringChangeSizeMultiple 5 CoreFoundation 0x189f6d62c __CFStringAppendBytes 6 CoreFoundation 0x189f6c454 __CFStringAppendFormatCore 7 CoreFoundation 0x18a0a0ad0 _CFStringCreateWithFormatAndArgumentsReturningMetadata 8 CoreFoundation 0x189fb3e48 CFStringCreateWithFormatAndArguments 9 CoreFoundation 0x189f69e1c CFStringCreateWithFormat 10 HIServices 0x1903291a8 setWasOnceAuthorizeForAccessibility 11 HIServices 0x1903235a0 AXUIElementCopyAttributeValues
Posted Last updated
.
Post marked as solved
2 Replies
138 Views
Refering to the apple accessibility plugin for Unity: https://github.com/apple/unityplugins. I have implemented the apple accessibility into my app and it works mostly well. However, why are button clicks (voiceover) triggered by a triple tap instead of a double tap, unlike applications developed using Xcode? Is this normal? Is there a way to change it to a double tap? Thank you
Posted Last updated
.
Post not yet marked as solved
0 Replies
110 Views
We are developing a parental control system. The application is written with .NET Xamarin for the framework version 4.8. The Mac version is addressed anything down to Mac OS 10.9, Maverick The application is running in the menu bar only and will fire a dialog, but the application does not have a real main window. We are currently adopting the applications to accessibility and 2 issues : during installation we need to elevate the account, the resulting "enter admin password"-dialog (system dialog) is not gaining focus, and as such is not getting a voice over help. when ever alert is shown, the focus is not pushed to the alert. (basically the same as also not getting voice over help)
Posted
by hcarsten.
Last updated
.
Post not yet marked as solved
2 Replies
118 Views
Hello I want to perform an Audit of a tableView in my XCTest The test failed : "Error Domain=com.apple.xcode.xctest.accessibilityAudit Code=-56 "Audit failed to complete in time" The test passes manually with the Accessibility inspector. Do you know how to make it pass automatically?
Posted
by jcaero.
Last updated
.
Post not yet marked as solved
1 Replies
178 Views
Have you encountered an issue with AXUIElements where context menu notifications fail to trigger after adding an observer for kAXMenuItemSelectedNotification? The notification seems to work perfectly when users utilize keyboard shortcuts to select menu items, but when they click with the mouse, the notification fails to trigger.
Posted Last updated
.
Post not yet marked as solved
0 Replies
164 Views
We have a software product that sends prints to a printer driver with the driver settings pre-saved to a file and applied at the time of printing. For reasons outside the scope of this question in some specific cases we need to open a pop up window for the OEM driver for the settings to be accepted by the OEM driver. In these cases the user has to click "Print" a second time, not ideal. Our dev team is having a difficult time automatically clicking that second Print button so the user doesn't have to. The goal is the window would pop up for a fraction of a second and the file is sent off right away with only one click by the user. I have personally tried playing around with AppleScript to accomplish this but have not been able to do so. The application itself is written with QT and here is the info regarding the button in question from Accessibility Inspector: Does anyone have any knowledge how to auto press this button?
Posted
by bluironic.
Last updated
.
Post not yet marked as solved
7 Replies
1.8k Views
Why o why did you have to mess with the login screen in Sonoma??? For a visually impaired person (like my wife) you have made the login/lock screen very unfriendly compared to previous releases. With Ventura and previous versions, I have the Lock Screen settings set to: List of Users Show Sleep, Restart, Shut Down buttons The avatar pics of the three users on our computers (admin, me, wife) show up as big icons in the middle of the screen, with the Sleep, Restart, Shutdown buttons in a row right beneath the icons. My wife can find her avatar, click on it, type in her password, and then get right to her magnified closeview screen. With Sonoma, she will have to deal with small moving avatar pics at the bottom of the screen, not friendly at all. And she will NEVER find the Shutdown button hidden in the upper right menu bar. Doesn't Apple test new upgrades with the accessibility community??? Sonoma is a big step backward for the visually impaired.
Posted Last updated
.
Post not yet marked as solved
2 Replies
179 Views
Example code: struct ContentView: View { @State var isSelected = false var body: some View { VStack { Button("Button1") { } Button(action: { }, label: { Image(systemName: "checkmark.square") }) .accessibilityRepresentation { Toggle("", isOn: $isSelected) } Button("Button3") { } } .padding() } } There are three buttons in the view, the middle button I want to custom Toggle and using accessibilityRepresentation replace accessibility elements. But using keyboard navigation (System settings -> Keyboard -> Keyboard navigation) VocieOver can't read the middle button. (VoiceOver key can read it) If not use accessibilityRepresentation, the keyboard navigation works How to make keyboard navigation read the accessibilityRepresentation elements?
Posted
by Kela.
Last updated
.
Post not yet marked as solved
1 Replies
147 Views
Hello everyone, I am developing an application using UIKit and am attempting to use a custom svg symbol in a button, however I am able to adjust the font size statically but am unable to allow the user to adjust the font size based on the user's accessibility font size settings. I have the following code for the image configuration: let imageConfiguration = UIImage.SymbolConfiguration(textStyle: .body) button.setImage(UIImage(named: "image", in: Bundle.main, with: imageConfiguration)!, for: .normal) Any help would be greatly appreciated! Cheers!
Posted
by OwenMason.
Last updated
.
Post not yet marked as solved
1 Replies
99 Views
Hello, We have recently developed a Refreshable Braille Display for visually challenged people and are planning to add it in VoiceOver inside Braille Display. As far as my knowledge I think there needs to be a custom driver for the device which will help in communicating but I'm not sure how to do it? Any idea on how to proceed with it or is any documentation available that I can follow? Thanks.
Posted
by rookie111.
Last updated
.
Post not yet marked as solved
1 Replies
740 Views
Hey guys, I have an NSAttributedString within my app (created from HTML). I assign this string to a UITextView. I would like certain parts of that text to be marked with an 'header' accessibility trait (all the headlines in that text) so that voice over can identify them properly. I was under the impression that I can just use accessibilityTextHeadingLevel to do so, but the text in that given range is still setup with the 'text' accessibility trait: var myString = NSMutableAttributedString(...) let range = NSRange(location: 0, length: 44) myString.addAttribute(NSAttributedString.Key.accessibilityTextHeadingLevel, value: 1, range: range) How is accessibilityTextHeadingLevel supposed to work?
Posted
by seboslaw.
Last updated
.