Wrong scroll position of UITableView with using VoiceOver + UIRefreshControl
Originator: | andrii.kuzminskyi | ||
Number: | rdar://35613722 | Date Originated: | 17/11/2017 |
Status: | Resolved: | ||
Product: | iOS + SDK | Product Version: | 11.0 |
Classification: | Reproducible: | YES |
Area: Accessibility Summary: UITableView has wrong content offset and not able to scroll content when tableView consist UIRefreshController and enable VoiceOver. This happens only when the content of tableview is bigger than frame.height - when we can scroll content. Steps to Reproduce: - Project: 1. Create project on Xcode; 2. In Storyboard add UINavigationController with and as rootViewController should be UITableViewController 3. Enable "Refreshing" on UITableViewController in Storyboard. 4. Assign class(TableViewController) to UITableViewController 4. In TableViewController.swift add refreshControl?.addTarget(self, action: #selector(TableViewController.refreshHandler), for: .valueChanged) inside refreshHandler add @objc func refreshHandler(){ self.refreshControl?.endRefreshing() } 5. For testing TableViewController should be scrollable: we return numberOfRowsInSection as an example 50 - Testing: 1. Enable "VoiceOver" on device; 2. Open the application(that described above). 3. Select any cell on the tableview 3. Using 3 finger scroll up to call UIRefreshControl Expected Results: The content(the first cell) of tableview now under navigation bar and user can't scroll down or select the first cell Actual Results: User should be able to scroll content and select the first cell Version/Build: iOS 11.1 (15B5066f) but also reproduce on iOS 10.3 Configuration: iPad (5th generation) (Model A1822) - doesn't matter
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!
Still happening in iOS 12.2
My workaround (for the first cell not being selectable) is just removing the UIRefreshControl when voiceover is on.
Also experiencing this on iOS 11.2.5.
Has anyone found a workaround?
Sample project https://github.com/akuzminskyi/radar-tableview-refreshcontrol-voiceover