iOS 앱의 접근성 지원 (Swift에서)을 진행하고 있습니다. 나는 부모 뷰 (TableViewCell)를 누를 때 기본적으로iOS 내 CollectionView가있는 TableViewCell의 액세스 가능성
는, 그것이이 개 레이블을 읽 I는 다음과 같습니다 (셀 당 내부 이미지 뷰와 함께) 내부 CollectionView
와 UITableViewCell
의이 CollectionView 셀을 탭하면 셀의 이미지 이름이 읽 힙니다. 그러나 일부 레이블과 이미지는 접근성 값이 다르기 때문에 수동으로 설정해야했습니다.
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
if let tableViewCell = cell as? MyParentTableView {
tableViewCell.isAccessibilityElement = true
tableViewCell.accessibilityLabel = getCorrectAccessibilityLabel()
}
}
func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
// sample only
if let myCell = cell as? MyCollectionViewCell {
myCell.isAccessibilityElement = true
myCell.accessibilityValue = getCorrectAccessibilityLabel()
}
}
내가했을 때, 그 부모 뷰 블록 전체보기, 그래서 더 이상 CollectionView 세포에 접근 상자를 집중할 수 없으며 VoiceOver를 더 이상 그들을 읽지 않습니다. 나는 TableView의 접근성을 먼저 설정하고 각 CollectionView 셀의 접근성을 시도하고 TableView에서 accessibilityElements
을 사용했지만 작동하지 않는 것 같습니다.
// TableViewCell's awakeFromNib function
override func awakeFromNib() {
super.awakeFromNib()
self.collectionView.dataSource = self
self.collectionView.delegate = self
self.accessibilityElements = [self, self.collectionView]
}
편집 : 게시 됨 코드.
도움이나 통찰력에 감사드립니다. 감사!