Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Accessibility Custom Actions aren't announced in Swift

When I add accessibilityCustomActions to an object, it works correctly on the device as far as being able to swipe up and down through the actions and select them, but there are no announcements that there are "Actions available" - should I write this in to the accessibilityLabel myself?

I thought that by adding the custom actions to my object, it would announce "Actions available" automatically, or "Swipe up to select..."

like image 521
RanLearns Avatar asked Feb 17 '20 17:02

RanLearns


1 Answers

I thought that by adding the custom actions to my object, it would announce "Actions available" automatically, or "Swipe up to select..."

And you're right, it should have read out these announcements but this weird behavior has been introduced making itself scarce in iOS 13. 😨

"iOS 13 introduced a new custom actions behavior: the "actions available" announcement isn't always present anymore.
It was previously offered to every element containing custom actions but, now, it will occur when you navigate to another element that contains a different set of actions.
The purpose is to prevent repetitive announcements on elements where the same actions are present as the previous element"
⇒ source

Nothing can be done to undo this behavior that is all but efficient for the VoiceOver users.
Moreover, if you do the same in iOS 12, it works perfectly: custom actions are present and announced every time they are implemented for an accessible element.👍

Unfortunately, in iOS 13, this is a new behavior explained by the Apple support itself ([email protected]) but with no public presentation (WWDC, Apple website...) and that's insane for such a huge modification that's more a problem than a significant evolution for sighted impaired people using VoiceOver.😡

No solutions are suggested by the support and we'll have to deal with this unless a rollback is engaged in the next WWDC... light a candle. 🙏

⚠️ ⬛️◼️🔳▪️ EDIT ▪️🔳◼️⬛️ ⚠️ (2020/03/19)

I wrote a Developer Technical Support Incident (no 730330678) for this problem and here's the answer from Apple:

There is no published information.
We intentionally made changes in iOS 13, so that we would only speak actions available if the list of actions had changed from the previous element you were on, or you moved to a different container.
You can do a flash manipulation of the list or bounce quickly between containers but this should just work without code changes.
Unfortunately in currently shipping systems it is a bug.
We are improving our documentation as well so please stay tuned.

I submitted a bug report entitled VoiceOver doesn't read out the custom actions anymore with the reference FB7426771.

Now, you know why Accessibility Custom Actions aren't announced in Swift... only sometimes in iOS 13. 😥

like image 131
XLE_22 Avatar answered Sep 24 '22 00:09

XLE_22