authorclover caruso <git@paperclover.net> 2026-10-11 16:28:48-07:00
committerclover caruso <git@paperclover.net> 2026-10-11 16:44:36-07:00
log7ca09704a666b9adcf7406210f5707fccce92614
tree2dfba275376a7861e37e68e6ab03bf659b0220f6
parent59883e3aeccc4c1567f8061b85dded2dd500e72e
signature Signed by SSH key SHA256:52mNGHRsVFBDED9IAX5pe+LRWUefqTbxEReunq21QvU (~clover)

fix(ios): name and activate page accessibility rows

Group each page as one named accessibility element. Resolve its current index path on activation, then use native selection and existing list callbacks. Retain native selected traits and the existing custom move actions. Refs: #125 Assisted-by: gpt-6.1-sol

1 files changed, 13 insertions(+), 0 deletions(-)

apps/ios/Snowbound/Lists.swift+13
...@@ -1217,6 +1217,19 @@ final class PagesViewController: UITableViewController {...@@ -1217,6 +1217,19 @@ final class PagesViewController: UITableViewController {
1217 }1217 }
1218 }1218 }
1219 cell.contentConfiguration = content1219 cell.contentConfiguration = content
1220 cell.isAccessibilityElement = true
1221 cell.accessibilityLabel = [content.text, content.secondaryText].compactMap { $0 }.joined(separator: ", ")
1222 cell.accessibilityActivateBlock = { [weak self, weak cell] in
1223 guard let self, let cell, let indexPath = self.tableView.indexPath(for: cell) else { return false }
1224 if self.isEditing && cell.isSelected {
1225 self.tableView.deselectRow(at: indexPath, animated: true)
1226 self.tableView(self.tableView, didDeselectRowAt: indexPath)
1227 } else {
1228 self.tableView.selectRow(at: indexPath, animated: true, scrollPosition: .none)
1229 self.tableView(self.tableView, didSelectRowAt: indexPath)
1230 }
1231 return true
1232 }
1220 cell.accessibilityCustomActions = arrangeActions(item)1233 cell.accessibilityCustomActions = arrangeActions(item)
1221 return cell1234 return cell
1222 }1235 }