There is a bug open on Chrome about Voiceover not reading the contents of a javascript alert: https://bugs.chromium.org/p/chromium/issues/detail?id=1199159 Unfortunately, in Safari, the contents of the alert are rarely and seemingly randomly read. To duplicate: 1. Launch voiceover 2. Open https://cdpn.io/stevef/debug/qVEqLN in Safari 3. Navigate to button and press the button using SPACE, CTL-OPTION-SPACE, and by clicking. 4. Sometimes "read me" is read immediately after the alert is opened, sometimes it is read after a pause after the focused "close" button has been communicated, but, most of the time it is not read at all. Which of the above is the correct behavior? I tried to see if there were events which fired when "read me" is read verse when it was not read and I did see a pattern using accessibility inspector "notifications" window. The contents of the dialog are read when the event "AXSafariDidShowModalDialog" is fired, the correlation is clear -- however, most of the time that event does not get fired until the "close" button is activated. When this happens, the contents of the alert are not read, I presume because the alert no longer exists. Waiting did not help, in most cases it seems to ONLY fire when "close" is activated. So this could be the problem!
<rdar://problem/91723451>