Bug 230349 - AX: VoiceOver on Safari doesn't announce aria-live updates after uploading files. Works in Firefox.
Summary: AX: VoiceOver on Safari doesn't announce aria-live updates after uploading fi...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: Safari 14
Hardware: Mac (Intel) macOS 10.15
: P2 Critical
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-09-16 07:52 PDT by Claire Ryberg
Modified: 2021-09-16 07:54 PDT (History)
2 users (show)

See Also:


Attachments
Video showing VO not reading aria-live updates on Safari, but working correctly on Firefox (22.82 MB, video/quicktime)
2021-09-16 07:52 PDT, Claire Ryberg
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Claire Ryberg 2021-09-16 07:52:41 PDT
Created attachment 438350 [details]
Video showing VO not reading aria-live updates on Safari, but working correctly on Firefox

Summary:
When the onChange callback on an <input type="file"> element updates text within an aria-live="assertive" region, that text is not announced by VoiceOver.
Other text updates to the same aria-live region ARE announced by VoiceOver.


Steps to Reproduce:
Please use this CodeSandbox as an example: https://codesandbox.io/s/aria-live-with-file-upload-input-o00c7
Attached is a video of it not working on Safari and then working on Firefox

1. Turn on VoiceOver
2. Navigate to the "Choose file" button and select it
3. Select a file to upload
4. When the file selection dialog closes, see that text appears in the assertive aria-live region
5. Navigate to the "Trigger a live message" button and select it
6. See that updated text appears in the assertive aria-live region


Expected Results:
- Any text that is added to an assertive aria-live should be announced by VoiceOver
- Text added to the aria-live by an onChange callback on an <input type="file"> should be announced
- Text added to the aria-live by normal button triggers should be announced


Actual Results:
- Works as expected on Firefox v92.0 
- Works as expected on Safari iOS v14.7.1
- On Safari v14.1.2 macOS: Text added to the aria-live by an onChange callback on an <input type="file"> is NOT announced.
- On Safari v14.1.2 macOS: Text added to the aria-live by normal button triggers IS announced as expected
- On Chrome v93.0.45: same as Safari macOS


I discovered this bug while implementing a FileUpload component and trying to notify users of status updates, such as error or success messages. Without awareness of these updates, users of assistive technology are at a disadvantage as they are not easily made aware of things like upload failures or if their form is ready for submission.
Comment 1 Radar WebKit Bug Importer 2021-09-16 07:54:09 PDT
<rdar://problem/83197224>