Bug 174667 - When aria-modal is set to true VoiceOver does not read the static content in the popupAX:
Summary: When aria-modal is set to true VoiceOver does not read the static content in ...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: WebKit Nightly Build
Hardware: iPhone / iPad iOS 10.3
: P1 Critical
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-07-19 21:58 PDT by Mohith
Modified: 2021-09-06 06:48 PDT (History)
19 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mohith 2017-07-19 21:58:37 PDT
When aria-modal=”true” the static content in the modal popup / dialog
 is not read by the VoiceOver at all.
 This causes the following issues:
 1.      If there is any static text running more than a line user cannot
 read and understand. We can make it announce with aria-describedby but
 users cannot check the spelling, punctuation, etc.
 2.      Error messages displayed next to the form control are no longer
 read by the VO while correcting the mistakes.

 If the aria-modal property is removed from the popup, the static text and the error messages displayed next to the form controls are properly read by VoiceOver. However removing the aria-modal makes the VoiceOver read the content out of the popup which is a frustrating user experience.
Comment 1 Radar WebKit Bug Importer 2017-07-19 21:58:56 PDT
<rdar://problem/33420351>
Comment 14 James Craig 2020-01-13 17:48:14 PST
So that we're all on the same page, are you able to attach a reduced test case? I could create one, but I'd be making some assumptions about what you intend. For example, some people use "popup" to mean fly out menus similar to html:select. Others use "popup" to mean contextual dialogs similar to what is called a "popover" on iOS.
Comment 15 James C 2020-05-06 09:29:45 PDT
(In reply to James Craig from comment #14)
> So that we're all on the same page, are you able to attach a reduced test
> case? I could create one, but I'd be making some assumptions about what you
> intend. For example, some people use "popup" to mean fly out menus similar
> to html:select. Others use "popup" to mean contextual dialogs similar to
> what is called a "popover" on iOS.

This refers to dialogs, not selects. More info is available here: https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/

And you should be able to reproduce this issue with the sample dialog here: https://www.w3.org/TR/wai-aria-practices-1.1/examples/dialog-modal/dialog.html
Comment 16 James C 2020-05-06 09:32:19 PDT
PS: note that this issue has been reported to exist on both MacOS and iOS.
Comment 17 Klaus 2021-09-06 06:48:44 PDT
I can confirm that this is broken across osx and iOS,
reduced testcase here:
https://codepen.io/pen?&editors=100&prefill_data_id=ed12545a-9bee-4190-87c2-1ce003ae34e8

virtual cursor cannot move past the headline (you can kinda get there by trying to move up and outside, with single words and the arrow key navigate upwards however this wasn't the intention) - you should disable this implementation in future releases until the behaviour is fixed,

Current best practice is to add both aria-modal="true" and aria-role="dialog" (for future compatibility) however the buggy implementation actually renders the modal unreadable by screenreader...
I'd consider this a high priority for a11y