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

126 Posts
Sort by:
Post not yet marked as solved
61 Replies
10k Views
i have problem With my some apps after update to iOS 14 beta like viber when I enter to even I can’t touch my screen on my iPhone X some apps running slow after update .what should I have to do ?
Posted
by
Post marked as solved
3 Replies
1.6k Views
When I’m browsing an application using VoiceOver, the screen reader’s focus starts at random points on the screen, not the navbar’s “Back” button. This happens since iOS 13. Has there been a change in VoiceOver's behavior? Does it recognize user behavior and pattern?
Posted
by
Post not yet marked as solved
2 Replies
530 Views
I am trying to access UITabBarItem using accessibilityIdentifier in UITestCases but its not working in iOS 11 and iOS 12. On iOS 13 it's working. I have checked this with Appium and Accessibility Inspector. In both its not showing accessibilityIdentifier applied for UITabBarItem. tabBarItem1.accessibilityIdentifier = "tabBarItem1" I have tried calling this in viewDidLoad, viewWillAppear, viewDidAppear. but same results for me. has anyone faced this issue ?
Posted
by
Post not yet marked as solved
1 Replies
457 Views
Tagged PDF (also known as PDF/UA), created in 2012, is an ISO standard mandated by EU accessibility directives since 2019, and in other jurisdictions. As far as I can tell, Apple has no support for this format in any of its products (Notably Safari and Preview, but also the "Save as PDF" feature in Apple's print dialog, and the PDFKit Framework). This shortcoming makes Apple platforms far less than ideal for customers (and organisations) who seek (or are required to procure) accessible products. I know that Apple generally does not comment on unreleased products, but Safari and Preview are already released. Any Apple device is therefore non-compliant with an increasingly common legally mandated file format out-of-the-box. Accessibility consultants can therefore not (in good faith) recommend Apple products to any EU public sector org which relies on documents in PDF/UA format. How long must we continue to recommend *against* Apple products to customers with disabilities, and the organisations that hope to serve them?
Posted
by
Post marked as solved
3 Replies
2.7k Views
The goal is to add accessibility identifiers to a VStack where the VStack, View1, and View2 have their own, separate accessibility identifiers set, like so:            VStack { // identifier a              View1 // identifier b              View2 // identifier c           } When trying to use .accessibilityIdentifier(identifier) with any SwiftUI Stack, the identifier is applied to everything inside the VStack and overrides any identifiers that View1 or View2 may have had. The current workaround is to use a GroupBox Container View to wrap the VStack. It achieves the desired result of having different levels of accessibility identifiers but has the drawback of coming with some styling (adds padding). Is there a better way to go about adding accessibility identifier to a container view? See Example playground - https://github.com/sparta-developers/swiftui-accessible-container
Posted
by
Post not yet marked as solved
1 Replies
1.1k Views
I have a screen with a vertical scrolling tableview that contains 100s of items. We group the rows into different sections. For some reason we don't utilize viewForHeaderInSection but we fake the apperance of a section by styling a UITableViewCell. From the tableView's perspective everything is a tableViewCell with no sections (we only have 1 section for the entire tableView). We have two different kind of cells. one for the fake section and another for the regular item. I have added the .header property to accessibilityTraits on the tableViewCell that's for the section and it works sometimes. The issue i'm running into is that if the section cell is not visible on-screen, i can't jump from one header to next header using the VoiceOver rotor. I have tried few different things but it simply refuses to jump from one 'section' to another unless both 'sections' are visible on screen. I also tried creating a real viewForHeaderInSection and returning them to rule out the possibility that it's because the cells are not drawn on-screen. That didn't help. The behavior I'm trying to achieve is done on the Settings app Notifications. There both NOTIFICATION STYLE and GOVERNMENT ALERTS are headers and i can jump between them (even though neither are visible at the same time). When i jump between them, it automatically scrolls the tableview which is what i'm hoping to achieve in my app. Does anyone have any idea?
Posted
by
Post marked as solved
4 Replies
1.2k Views
I have had my Apple ID for quite some time now, I‘m 14 and my age is correctly put in in my apple account. When i try to use TestFlight( it‘s already installed) by clicking „continue“ or „Fortfahren“ (I‘m german) it tells me that the minimum age for Beta testing is 13 and does not let me test app-Betas. Does anyone have a solution other than reinstalling the app (I‘ve already done that)? With best regards dehrens
Posted
by
Post not yet marked as solved
5 Replies
1.4k Views
This feels so simple that we must be doing something wrong. When we change the font-size in the accessibility inspector, in the worst-case, we get a crash. In the best case, it pushes a new view controller on to the stack. This was the simplest example we had: swift struct Fruit: Identifiable, Hashable {   var id: String } struct ContentView: View {   @State var fruit = [Fruit(id: "Apples"), Fruit(id: "Cherries"), Fruit(id: "Grapes")]       var body: some View {     NavigationView {       List {         ForEach(fruit) { item in           NavigationLink(destination: Text("Hello World")) {             Text(item.id)           }         }       }.navigationTitle("Fruit")     }.navigationViewStyle(StackNavigationViewStyle())   } } If we load this up, then select one of the fruit to push on the detail page, when we change the font size in the accessibility inspector, it pushes on the DetailView again so that we have three view controllers in the stack. Originally, we had three levels instead of two and we weren't setting the navigationViewStyle. In this case, it defaulted to a DoubleColumn style and crashed trying to push on the same view controller instance. The apple sample code we tested also had this issue. Tested on Xcode 12.4 on both simulators and devices.
Posted
by
Post not yet marked as solved
1 Replies
328 Views
Is there a good alternative to UILargeContentViewerInteraction - https://developer.apple.com/documentation/uikit/uilargecontentviewerinteraction/ in SwiftUI? I know that TabBar - https://developer.apple.com/documentation/swiftui/tabview has support for the large content viewer, but I'm not sure how to implement it in a custom control. Any ideas? I've tried adding UILargeContentViewerInteraction to a UIKit wrapper, but I must've been doing that wrong because all it did was interrupt long presses. Thanks!
Posted
by
Post not yet marked as solved
9 Replies
11k Views
Hi, I am developing an App in React Native for this i need Xcode. However when i start my Expo Developer Tool Metro Bundler There when I click Run IOS Simulator. Always From the VS Code Terminal I am getting the same message like Xcode needs to be installed (don't worry, you won't have to use it), would you like to continue to the App Store? However I have already Xcode installed the after that when i type Y it takes me to App Store where i find the option open Xcode it's because i have already installed Xcode. Please guide me through this because i am not able to see my App on IOS devices
Posted
by
Post not yet marked as solved
3 Replies
1.5k Views
Hi All, We are using html input type date in our hybrid application which launches the native datepicker in the app. As we need the app to be accessible we chose the html type date. However at certain instances we want to restrict the date selection till present date only. We have used the max attribute to achieve this, for some reasons the datepicker is not respecting this attribute and allowing the user to select future dates. We are in a tricky position since we do not want to use any library and the production date is nearby. Below is the markup we have used for replicating the behavior: form label for="party"Choose your preferred party date: input type="date" name="party" min="2017-04-01" max="2017-04-30" /label /form Any help would be appreciated. Thanks in advance.
Posted
by
Post not yet marked as solved
0 Replies
455 Views
Any open issues with blue tooth connection on software version 14.4
Posted
by
Post not yet marked as solved
4 Replies
1.5k Views
We are currently experiencing a usability issue in our App. We also discovered this issue for sites in Safari as well. While using Voiceover in iOS 13.3+, we've discovered that VO skips all tables that are using a caption. This occurs when a user swipes to read the contents of the page. We also observed that using the "rotor" and choosing tables, it will not recognize that there is a table on the page. This has been repeated by multiple users on different devices. Our testing also encompassed VO on macOS Catalina and VO worked as expected for all tables we tested. Has anyone else come across this issue?
Posted
by
Post not yet marked as solved
1 Replies
928 Views
I’m having an issue with an app I’ve developed where it grinds to a halt and freezes when using the TabView with a certain iOS Setting enabled. To simplify things, I can easily reproduce this with a demo project. Launch Xcode 12.5, start a new iOS project with swift, swiftUI lifecycle and SwiftUI interface. Then replace the Text code in the content view body with ithe following simple code: TabView { Text("Hello, world! Tab 1")       .tabItem {            Label("Tab 1", systemImage: "list.dash")         }     Text("Tab 2")        .tabItem {            Label("Tab 2", systemImage: "list.dash")         }   } If you launch and run this on device or on the simulator, it all works fine. You can click between the tabs etc… However, if you navigate to the iPhone settings (and this is available in the simulator) and go Accessibility -> Keyboards -> Full Keyboard Access and toggle this ON, it causes a problem. When re-opening the app we just made, as soon as you select a tab at the bottom, the app CPU usage jumps to 100%+ and grinds to a halt. The only fix is to force quite the app, but the issue persists on re-launches until you disable Full Keyboard Access.  Is this a bug? Or am I missing something? It seems to have been around throughout iOS 14’s life time. Thank you
Posted
by
Post not yet marked as solved
0 Replies
210 Views
Hi there! I'm trying to set Accessibility Labels on the popup buttons inside rows in an NSPredicateEditor. In the NSPredicateEditorRowTemplate subclass I've tried setting the accessibilityLabel property directly, as well as setting it on the id returned by NSAccessibilityUnignoredDescendant() like this: - (NSArray<NSView *> *)templateViews {     NSArray *views = [super templateViews];   NSPopUpButton *keyPathButton = (NSPopUpButton *)views[0];         keyPathButton.accessibilityLabel = NSLocalizedString(@"Filter Options", nil);     [NSAccessibilityUnignoredDescendant(keyPathButton) setAccessibilityLabel:NSLocalizedString(@"Filter Options", nil)];     return views; } When I check the popup button with Accessibility Inspector I don't see any Label at all. Even trying to add tooltips to the popup buttons fails. Anyone have any tips? Interesting sidenote: I can successfully set the Accessibility Label on the text field in the -templateViews method, just not the popup buttons. Thanks!
Posted
by
Post not yet marked as solved
0 Replies
276 Views
Hi magic people I'm currently finishing up a project and making sure everything runs smooth whether sighted or voice over user, and am coming across a snag. I'm trying to observe a key in CFPreferences which tells whether the trackpad commander is on or off. I need this in order to have the trackpad turn a few things off when it's on and back on when it turns off. I so far have a key I know which is to check whether voice over is on as below:     let VOFlag:Bool = {         let flag = CFPreferencesCopyValue("voiceOverOnOffKey" as CFString, "com.apple.universalaccess" as CFString, NSUserName() as CFString, Host.current().localizedName! as CFString)         return ((flag as! Int) == 1) ? true : false     }() However, I have 2 questions: 1-Which is the key for checking if trackpad commander is on or off? I tried going to ~/Library/Preferences/ but there are many files and a grep may help but perhaps someone here already has the key? :) 2-Is there a way to observe said key and have a callback function associated to it? I feel I'm close to finding the solution myself, but if someone can cut through the chase with an answer, I got a virtual bean of the month cappuccino for you haha Update: By looking into ~/Library/Preferences and doing a grep, I found SCRCTrackpadCommanderEnabled So i guess the above code can become:         let flag = CFPreferencesCopyValue("SCRCTrackpadCommanderEnabled" as CFString, "com.apple.universalaccess" as CFString, NSUserName() as CFString, Host.current().localizedName! as CFString) But now how do I observe this key? The value I get is a CFPropertyList? and I'm copying the value in the above. I couldn't find a CFPreferencesObserve or other type of functions. Edit 2: i tried the following:         flag!.addObserver(self, selector: #selector(testVO), name: nil, object: nil) @objc func testVO() { print("toggled") } but I get: __NSCFBoolean addObserver:selector:name:object:]: unrecognized selector sent to instance
Posted
by