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.
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.
(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
PS: note that this issue has been reported to exist on both MacOS and iOS.
I can confirm that this is broken across osx and iOS,
reduced testcase here:
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