Fix for CXTDT-578885, Settings appropriate accessibility label for each cell
This commit is contained in:
parent
a019c1ba36
commit
216971b878
@ -27,7 +27,6 @@ open class Table: View {
|
||||
$0.allowsSelection = false
|
||||
$0.showsVerticalScrollIndicator = false
|
||||
$0.showsHorizontalScrollIndicator = false
|
||||
$0.isAccessibilityElement = true
|
||||
$0.backgroundColor = .clear
|
||||
}
|
||||
|
||||
@ -148,6 +147,7 @@ extension Table: UICollectionViewDelegate, UICollectionViewDataSource, TableColl
|
||||
var edgePadding = UIEdgeInsets(top: padding.verticalValue(), left: 0, bottom: padding.verticalValue(), right: padding.horizontalValue())
|
||||
edgePadding.left = (indexPath.row == 0 && !striped) ? VDSLayout.space1X : padding.horizontalValue()
|
||||
cell.updateCell(content: currentItem, surface: surface, striped: shouldStrip, padding: edgePadding, isHeader: isHeader)
|
||||
setAccessibilityForCell(cell: cell, content: currentItem, path: indexPath)
|
||||
return cell
|
||||
}
|
||||
|
||||
@ -162,4 +162,38 @@ extension Table: UICollectionViewDelegate, UICollectionViewDataSource, TableColl
|
||||
func collectionView(_ collectionView: UICollectionView, widthForItemAt indexPath: IndexPath) -> CGFloat {
|
||||
return columnWidths?[indexPath.row] ?? 0.0
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Accessibility
|
||||
//--------------------------------------------------
|
||||
|
||||
/// To set the accessibility label for the each cell based on the criteria. Table name along with total no of column & row information should be passed in the first cell's accessibility label.
|
||||
private func setAccessibilityForCell(cell: TableCellItem, content: TableItemModel, path: IndexPath) {
|
||||
|
||||
var accLabel = content.component?.accessibilityLabel ?? "Empty"
|
||||
|
||||
///Set the type of header label
|
||||
if path.section == 0 {
|
||||
accLabel.append(", Column Header")
|
||||
} else if path.row == 0 {
|
||||
///As per design team, inspite of column 0 may not look like a header, it should be read as header.
|
||||
accLabel.append(", Row Header")
|
||||
}
|
||||
|
||||
///Set the Row/Column number for each cell
|
||||
if path.row == 0 {
|
||||
accLabel.append(", Row \(path.section + 1), Column \(path.row + 1)")
|
||||
} else {
|
||||
accLabel.append(", Column \(path.row + 1)")
|
||||
}
|
||||
|
||||
///Set the Row header accessibilityLabel at the end of the non-header cells accessibilityLabel
|
||||
if path.section != 0,
|
||||
path.row != 0,
|
||||
let columnHeaderAccLabel = tableHeader.first?.columns[path.row].component?.accessibilityLabel {
|
||||
accLabel.append(", \(columnHeaderAccLabel)")
|
||||
}
|
||||
|
||||
cell.accessibilityLabel = accLabel
|
||||
}
|
||||
}
|
||||
|
||||
@ -45,6 +45,7 @@ final class TableCellItem: UICollectionViewCell {
|
||||
|
||||
private func setupCell() {
|
||||
contentView.backgroundColor = .clear
|
||||
isAccessibilityElement = true
|
||||
|
||||
addSubview(containerView)
|
||||
containerView.pinToSuperView()
|
||||
|
||||
@ -1,3 +1,7 @@
|
||||
1.0.75
|
||||
----------------
|
||||
- CXTDT-578885 - Table - Setting appropriate accessiblity label for each cell.
|
||||
|
||||
1.0.74
|
||||
----------------
|
||||
- CXTDT-591307 - DatePicker - Accessibility - #1 & #2
|
||||
|
||||
Loading…
Reference in New Issue
Block a user