f3dm76
f3dm76

Reputation: 804

Voice over: Read items of table cell separately - not as a whole

Voice over reads the whole cell (all the items without pauses and a need to select next element), then after each right swipe it reads each of the items again one by one. I can get read of the second but not the first. I need to remove the focus from the cell as a whole, and have Voice Over announce its labels one by one, as if it wasn't a table cell at all. I tried playing with accessibilityElementsHidden, shouldGroupAccessibilityChildren and isAccessibilityElement, but I only managed to remove Voice Over for the cell completely or remove separate items reading, leaving reading it as a whole, which is the opposite of what I need. How do I remove the focus from the ell as a whole leaving focuses for all of its items separately?

Upvotes: 0

Views: 1725

Answers (2)

Anton Kondrashov
Anton Kondrashov

Reputation: 227

You can do it by adding the following lines either in awakeFromNib or to initializers of the cell.

isAccessibilityElement = false
accessibilityElements = [subview1, subview2, ...] // add all the accessible subviews

Upvotes: 0

f3dm76
f3dm76

Reputation: 804

Just make every separate item accessible, with sensible accessibility label, only then VoiceOver stops announcing the whole cell.

Upvotes: -1

Related Questions