The current iOS input-label guidance says to hide the visible label text of an input from VoiceOver focus which is abnormal behavior compared to forms on the web. Screen readers on the web and on all other platforms will normally read the label text first and then the input but the label is never hidden from screen reader focus.
https://github.com/appt-org/accessibility-code-examples/blob/main/input-label/ios.md
label.text = "Name"
**label.isAccessibilityElement = false**
field.accessibilityLabel = label.text
This guidance would be like saying to place aria-hidden=true on all text on web forms. No-one says to hide form input labels from screen readers on the web and I'm not sure why there is guidance saying to hide the label for iOS apps.
Also the Android guidance does NOT say to hide the label text from screen readers so there is no consistency in how this is recommended. There's also no guidance saying to hide the label for flutter, react, or xamarin.
If an iOS VoiceOver user has low vision and also runs screen magnification at the same time, they may see the label text and try to touch it to hear what it says but that would not be possible if you hide the label text from VoiceOver focus.
Another issue is the label hiding hack creates VoiceOver touch exploration "Dead Space" where when you move touch focus from one input to the other you hear the "ding ding ding" which indicates you can't focus on the label element so you can't as easily move your finger between each element on the page.