Uitextview Linkable Label Accessibility Voice Over Issue

How to make links within a label text be available for voice over (accessibility)? (iOS, Xamarin)

The best solution so far for this problem is to use UIAccessibilityCustomAction as @Junior Jiang mentioned on one of the comments.

Rotors are definitely not the solution. However, rotors can be used for UITextView as they have UITextRange property which can be used to navigate throughout the text.

Custom actions are much simpler to use than rotors and they work at the label level.

Accessibility: Voice over read update label?

If the question you're asking is, "How do I alert the user to a change in content," you can choose among three solutions.

  1. Post UIAccessibilityNotification(UIAccessibilityLayoutChangedNotification, label) to notify the system that the content has changed and force focus to the label.
  2. Post UIAccessibilityNotification(UIAccessibilityAnnouncementNotification, "Your announcement") to request that the system communicate the string to the user.
  3. Assign the UIAccessibilityTraitUpdatesFrequently trait to your label. The system will periodically announce changes to the content.

iOS Voice over, how to skip a tableview cell rather than speak not enabled

A UITableViewCell may be seen as a container inside which many elements are embedded (buttons...) and, as is, you can't have simultaneously a parent view (the table view cell) and its child views (label, button...) that are both accessible with VoiceOver: either your cell can be selected or its content.

In your case, you don't want the cell itself or its content to be read out by the screen reader so you must specify:

  • yourCell.isAccessibilityElement = false
  • yourCell.accessibilityElementsHidden = false

Following this rationale, you skip a tableview cell rather than speak “not enabled”.



Related Topics



Leave a reply



Submit