AlmeroSteyn/react-aria-live

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.

image

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:

image

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.