Bug 254081 - AX: iOS Voiceover not announcing text linked to input using aria-describedby
Summary: AX: iOS Voiceover not announcing text linked to input using aria-describedby
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: Safari 16
Hardware: iPhone / iPad iOS 16
: P2 Major
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-03-17 11:10 PDT by Graham Armfield
Modified: 2023-03-17 11:10 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Graham Armfield 2023-03-17 11:10:39 PDT
A common way of programmatically linking hint text or error messages to input fields is by using aria-describedby attribute on the input element.

What is currently happening:
When a Voiceover user is swiping right to move through the input fields this linked text is not being read out when focus is on the input field. The text is read out if user swipes beyond the input but they won't necessarily know it's there, or that it's linked to the input field.

What should happen:
The linked hint text or error message should be read out when Voiceover moves focus onto an input field. Suggest that it is voiced after the label and the type of input field, and "invalid data" if aria-invalid="true" is present.

Example code:

<label for="firstname">First name</label>
<input type="text" id="firstname" name="firstname" aria-required="true" aria-invalid="true" aria-describedby="firstname-error">
<span id="firstname-error">You must supply your first name.</span>

The above code gives a satisfactory experience in desktop/laptop screen readers like NVDA and JAWS.
Comment 1 Radar WebKit Bug Importer 2023-03-17 11:10:49 PDT
<rdar://problem/106866541>