Accessibility

RSS for tag

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

Posts under Accessibility tag

130 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Converting macOS system colors to iOS system colors in NSAttributedString
When syncing an NSAttributedString between devices, it seems that macOS system colors are decoded as "UIExtendedGrayColorSpace" black color on iOS. For example, if I have text on the Mac and chose systemColorRed, this is converted to UIExtendedGrayColorSpace black on iOS. I would like to convert the macOS system red (for example) to the iOS system red, but I'm not sure the best way to do this. My question is: has anyone discovered an efficient and clean way to convert macOS system colors to iOS system colors when syncing between devices? I have seen that the system colors on both devices have a consistent hex value when reading the color components. A possible solution would be to save the hex value of the colors in the attributed string. We could then enumerate the hex values and exchange the attributed string foreground color for the appropriate system color of whatever device is being used. I would greatly appreciate thoughts regarding this. Thank you everyone!
2
0
498
Aug ’23
[Chromium][PWA] VoiceOver doesn't read in many cases of PWA
Recently, I found there are some problems with Voice Over on PWA app: Voice Over cannot read the state changes when users interacts with some HTML element. I am not sure this bug is a chromium bug or Voice Over bug. I have reported the bug to chromium, which list the reproduce steps and video. I am working on the bug, but I don’t have much of an idea. So sending this here to see if you have some insight on this issue. How to reproduce the bug Install PWA test app(https://pwa-a11-test.netlify.app) Open the PWA app Turn on the VoiceOver Pressing Space on the checkbox element (Note: I only use checkbox element as a example, other HTML element also have the similar problem, such as Pressing Left/Right on slider element) Expected: Voice Over read the value changes, just like the behavior shown in the browser. Actual: Voice Over do nothing. Chromium code analysis The bug only exist in PWA scenario, it’s fine for browser scenario. FYI, PWA Mac app has its own process(called app shim process), which spawn browser process(think it as Chrome app) and then communicate between them. For the accessibility implementation for PWA App, chromium use NSAccessibilityRemoteUIElement, a private Apple API, to make app shim process have the all accessibility ability of browser process. I doubt the bug has anything to do with NSAccessibilityRemoteUIElement https://source.chromium.org/chromium/chromium/src/+/main:ui/base/cocoa/remote_accessibility_api.h;l=14?q=NSAccessibilityRemoteUIElement&ss=chromium%2Fchromium%2Fsrc but I am not familiar with the undocumented API. According to the chromium code, when pressing the Space on checkbox, chromium will call NSAccessibilityPostNotification with NSAccessibilityValueChangedNotification. Voice Over can’t read the value change for PWA Mac app, but can read for browser scenario. I use Xcode accessibility inspector tool to see the notification posted from PWA App. I found the notification was sent successfully, but Voice Over can not read it! So I doubt voice over is doing some check to disallow read it in this case? Do you have any thoughts on this? Appreciate it if there is any comments or response!!
2
1
465
Aug ’23
Complete process of how to add my voice as speech synthesis
Hello, I am deaf and blind. So my Apple studies are in text vi aBraille. One question: how do I add my voice as voice synthesis? Do I have to record it somewhere first? What is the complete process, starting with recording my voice? Do I have to record my voice reading something and then add it as voice synthesis? What's the whole process of that? There is no text explaining this' I found one about authorizing personal voice, but not the whole process starting the recording and such' Thanks!
3
0
1.1k
Aug ’23
Assistive touch crash
While using an HID device that recognized as mouse and keyboard using assistive touch, I noticed that sometimes after some usage, the feature in "AssistiveTouch" menu called, "Perform Touch Gestures", is no longer working although it remains on, as well as the assistive touch that remains on. In order to make it work again, you need to turn off and on the assistive touch feature. What could cause this issue? Does it relate to the HID Descriptor of report map? Or am I sending some commands that can cause this crash? Is there any way to avoid/be aware/get some callback on when this feature crashes using swift?
1
0
427
Aug ’23
VoiceOver HTML table issue: VO announces content out of order when span element used in th
Wondering if anyone has come across this issue. When a element has text in a element in an HTML table, VoiceOver will announce the text in the second element first, even if it comes after the text that visually (and programmatically) comes before it. This also happens with nested span elements. It does not happen with cells. For example: Replicable on: Safari/iOS 16.6 with VoiceOver Edge 113.0.17 with VoiceOver Please see you can replicate here: https://codepen.io/ayesha-2303/full/eYQqbXX Is this expected functionality or is it a bug? How can I raise it if it is a bug?
1
0
544
Aug ’23
How to Make Personal Voice Recording in My Languag
I've been deaf and blind for 15 years' I'm not good at pronunciation in English, since I don't hear what I say, much less hear it from others. When I went to read the phrases to record my personal voice in Accessibility > Personal Voice, the 150 phrases to read are in English' How do I record phrases in Brazilian Portuguese? I speak Portuguese well' My English is very bad in pronunciation and deafness contributed' Help me.
1
0
609
Aug ’23
Can I enable (at least in VoiceOver) a subcomponent, when the parent container has been disabled?
When my parent container is disabled and I use VoiceOver, it reads out all the components in the container as "Dimmed" or "Disabled" (iOS 16.4 simulator says "Disabled" 16.6 actual device says "Dimmed", but I digress...) I was hoping to be able to enable one of the components in the container, but VO continues to report the item as Disabled/Dimmed. (see code below) Any suggestions on how I might be able to not report Text("Heading") as Dimmed/Disabled in VO? struct ContentView: View { @State var inputText: String = "" var body: some View { VStack { Text("Heading") .disabled(false) TextField("Type some text", text: $inputText) } .disabled(true) } }
0
0
289
Sep ’23
did something break VoiceOver traversal with .accessibilityRepresentation in iOS 16.6?
When I run the code below and enable VoiceOver on my iPhone running iOS 16.6, it navigates from "email1" to "email2". When I run it on an iPhone simulator running iOS 16.4 and use the A11y Inspector it navigates from "email1" to the first textField, and then to "email2" when I delete the .accessibilityRepresentation it navigates from "email1" to the first textField, and the to "email2" on both simulator and device. Am I using .accessibilityRepresentation incorrectly? Or did something change between 16.4 and 16.6? Or is there a better question I should be asking? any and all help greatly appreciated struct ContentView: View { @State var input1: String = "" @State var input2: String = "" var body: some View { VStack { TextInput(title: "email1", inputText: $input1) TextInput(title: "email2", inputText: $input2) } } } struct TextInput: View { let title: String @Binding var inputText: String init(title: String, inputText: Binding<String>) { self.title = title self._inputText = inputText } var body: some View { VStack { Text(title) TextField("enter Text", text: $inputText) .accessibilityRepresentation { TextField("enter Text", text: $inputText) } } } }
0
0
336
Sep ’23
base::SequencedTaskRunnerHandle::Get crash on macOS while calling NSAccessibilityGetObjectValueForAttribute
Hello all, I have an application which retrieves URL from browser using accessibility. From time to time I am having this crash and I don't know the reason for it. Could you please help me? This is the stacktrace: It is happening on MacOS 13.5 and it happens on an application built for x86_64 and arm64
2
0
426
Sep ’23
Accessibility Kit caused carsh
*** Crash Message: -[UIWindow _accessibilityFindSubviewDescendant:]: unrecognized selector sent to instance 0x13118ca70 *** we collected more than 10K+ reports with same call stack, the almost form Accessibility Kit. but no idea how to fix it and no reason why. could take some help please 4. CoreFoundation 0x00000001d0735900 _CF_forwarding_prep_0 + 96 5 AccessibilitySettingsLoader 0x000000025a97608c 70360165-7515-35AD-9723-C4719EB48D13 + 102540 6 AccessibilityUtilities 0x00000001d9bfa720 AXPerformSafeBlockWithErrorHandler + 112 7 AccessibilityUtilities 0x00000001d9bfb258 AXPerformSafeBlock + 56 8 AccessibilitySettingsLoader 0x000000025a976014 70360165-7515-35AD-9723-C4719EB48D13 + 102420 9 AccessibilitySettingsLoader 0x000000025a975ed8 70360165-7515-35AD-9723-C4719EB48D13 + 102104 10 AccessibilitySettingsLoader 0x000000025a97720c 70360165-7515-35AD-9723-C4719EB48D13 + 107020 11 AccessibilityUtilities 0x00000001d9c7be40 265BEA5E-C36A-3E51-A119-A3FD42F3DB5C + 552512 12 AXCoreUtilities 0x00000001db850530 AXPerformBlockSynchronouslyOnMainThread + 72 13 AXCoreUtilities 0x00000001db84faa0 774B92BE-E295-3FDC-99A4-5EFB55BA70C5 + 6816 14 AccessibilityUtilities 0x00000001d9c7b8d0 265BEA5E-C36A-3E51-A119-A3FD42F3DB5C + 551120 15 AccessibilitySettingsLoader 0x000000025a976ed4 70360165-7515-35AD-9723-C4719EB48D13 + 106196 16 AccessibilityUtilities 0x00000001d9c74178 265BEA5E-C36A-3E51-A119-A3FD42F3DB5C + 520568 17 AccessibilityUtilities 0x00000001d9bfff54 265BEA5E-C36A-3E51-A119-A3FD42F3DB5C + 44884 18 AccessibilityUtilities 0x00000001d9bfca28 265BEA5E-C36A-3E51-A119-A3FD42F3DB5C + 31272 19 libdispatch.dylib 0x00000001d7b7feac 5D16936B-4E4C-3276-BA7A-69C9BC760ABA + 16044
1
0
343
Sep ’23
External Keyboard accessibility
Hi there, I'm wondering about how certain keyboard keystrokes should work when using an external keyboard to navigate apps. In particular i'm wondering if there is a difference between the arrow keys and Ctrl+Shift key. The iPhone keyboard shortcut documentation states that Ctrl+Tab moves to the next item - but doesn't elaborate what an 'item' is. Should you be able to get to every interactive element on a view with both the arrow keys and the Ctrl+Shift key? Thanks for your help
2
0
560
Sep ’23
Post-reset device accessibility major flaw
If you have a iPhone with a home button, but the home button is broken, and you factory reset the device, the assistive touch accessibility feature will be disabled, and it's quite complicated to turn it back on, because when first powered on after a reset or after choosing "start over" in the setup process, the screen will only give one option, and one option only: "press home button to start". And if home button is broken, you are STUCK. Completely. There is no Siri, no voice control, no voiceover. Nothing! The only workaround we found was that, after restarting the device again after resetting, it would immediately show the languages list, and after choosing a language it showed the countries, and after choosing a country it FINALLY showed the "quick start" page, where on the top right it has the accessibility shortcut button, from where I was able to enable assistivetouch. BUT: if at any point I chose to start the setup over, I would have to wait for the device to restart, show the "press home to start" screen AGAIN, restart it AGAIN myself, so that it would show the languages, then countries, then the accessibility shortcut again. Why not preserve accessibility settings across "start setup over"? And why not show accessibility shortcut on the FIRST page shown to the user, whether when iOS decides to show the Hello screen where the only option is to press home (which is no good if button is broken or if user needs accessibility options), AND whether it shows languages list? Just show that shortcut right away, everywhere, and preserve accessibility settings across "start over" option of setup. Thanks.
1
0
782
Sep ’23
MacOS Sonoma Login Screen not helpful for visually impaired
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.
13
11
3.2k
Oct ’23
DatePicker Accessibility
Hello, sorry if this is a repost, but I couldn't find an answer anywhere. I'm french, thus date are displayed dd//mm//yy for us. on the DatePicker, when the mode .wheels is enabled, i can see the d/m/y. Now, let's say there are 30 days on the current month and we are currently the 27th of september The voiceOver will announce "27... 12 elements on the list" Switching to the month will announce "9... 30 elements on the list" The correct result should be "27... 30 elements on the list" and "9... 12 elements on the list" I don't know if it is related but for some reason, even if my phone is set to language french, region France, the Local.current return en_FR ( and my app support french english language so I was expecting fr_FR) So I tried to set the local and the accessibility language of the picker to french but the result is the same. Another problem occur with the date picker set on .inline Months are displayed in french, voiceOver announce it in french but as soon as I switch to the days it will announce the number in english. I'tried on a new project with nothing else but the picker and I still have the same results Are those some bugs or am I missing something ?
3
0
582
Oct ’23
Facetime Chroma Green - Accessibility Lens
xI'm wondering if now would be an excellent time for Apple to consider implementing Accessibility Lens with FaceTime Chroma Green. Unlike Apple, other platforms like Zoom and Webex allow using Chroma Green backgrounds. I use Cam Studio, Elgato Camera Hub, and OBS for Chroma Green effects. I'd like to have the option to use FaceTime with a Chroma Green and choose my background setting. For accessibility and professionalism, we need the ability to change the background settings. We want to be creative with our FaceTime and FaceTime Group. We've invested much in our devices, including iPhones, iPads, and MacBook Pros. The issue stems from Apple's built-in applications using hardened runtimes. These runtimes prevent apps from loading third-party plugins unless explicitly allowed by the developers. This means third-party camera drivers are incompatible with Apple apps. We're trying to find a solution, but currently, there's nothing we can do. This is a barrier for all of us who are Deaf, Deaf-Blind, and Hard of Hearing and rely on FaceTime and FaceTime Group with Chroma Green background settings. Please let me know. Thank you!
1
0
475
Sep ’23
Detect if user is running Voice Control
Our users are using Apple's native Voice Control feature: https://support.apple.com/en-us/HT210417 We want to enhance our accessibility experience by adding some additional voice controlled dialogs that show up specifically when Voice Control is enabled. It can be determined if other Apple accessibility features are turned on via a check like UIAccessibility.isVoiceOverRunning, however there is no option for Voice Control (note, different than Voice Over). How can I detect if a user is running Voice Control or not?
1
2
699
Mar ’24
Voice Control does not work with any connected bluetooth devices
Our accessibility users are using Apple's Voice Control feature: https://support.apple.com/en-us/HT210417 Voice Control does not work with bluetooth devices. It doesn't seem to be natively supported by Apple and only the iOS device's microphone works. Airpods, Bose Headphones and Jabra BT devices do NOT work. Is there a way to get our application to run with Bluetooth devices? The current experience doesn't work with our accessibility users as they physically are unable to move closer to the device so bluetooth headphones are critical for their user experience to work correctly.
0
1
453
Sep ’23