Doesn't work on Chrome (macOS VoiceOver)?
Jinjiang opened this issue · 5 comments
Hi, firstly it's a great project for aria live region! And it works well on my Safari. But I found the demo doesn't work on Chrome. I'm not sure if it is a bug of Chrome itself or react-aria-live. 🤔
Thanks.
Hi, thanks for using it!
Could you please tell me what screen reader you are using with Chrome?
Chrome does not have great screen reader support so I am leaning in that direction now. Either Chrome or the screen reader combination. But I have the screen reader in question I can try it myself.
I just open macOS Voice Over (cmd+f5) and try the demo on Chrome. Nothing happened when I click or press enter/space on each button.
Thanks.
Ok this is a combination I cannot test myself :-(
I did, however, test on iOS VoiceOver with Chrome and there it works.
I have asked someone else to have a look at it though. At this stage I cannot truly say if this can be fixed. The library is rendering a live region which is correct according to the specification. This means that if it is silent in OS VoiceOver +Chrome this is due to implementation. Perhaps there is a fix for but I don't know what it is. I will look into it though.
As for this combination, whereas it is of course important that the functionality works as widely as possible, some browser + screen reader combinations are used far more than others.
The 2017 WebAIM survey showed that a total of 1.4% of respondents used this combination:
https://webaim.org/projects/screenreadersurvey7/
VoiceOver is made to work best with Safari.
This still does not mean I am not looking into it but this may be an integration issue.
In the meantime could you try something for me?
Open the DOM inspector of Chrome and locate the <div>
containing the live regions.
You should see four live regions. For each aria-live="assertive"
please real time change the role
property to alert
instead of log
. For each aria-live="polite"
please real time change the role
property to status
instead of log
.
It should then look like this:
Test it again with VoiceOver making sure that you do not refresh the page. Let me know if it changes anything.
@Jinjiang Could you also please let me know which OS version you are on?
I made a double-check that:
- In my macOS Mojave + Chrome 69 at home. It worked well. The "HELLO WORLD" jumped out to VoiceOver.
- After I upgraded Chrome to v70. It also worked well.
- In my macOS Mojave + Chrome 69 at work. It didn't work. Nothing happened. Also the sample in MDN didn't work. And yes the DOM structure was right.
- After the upgrade. It worked. So did the MDN sample.
I'm almost sure it's not a bug of this project (so sorry 😅), but seems a bug of old Chrome 69 which is not 100% reproduced in all MacBook.
So I would close this issue if you don't mind. And thanks for providing the info about combination survey which I haven't noticed before. It's very helpful to me.