Skip to content

splide__sr ellipses is read by screenreader #805

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
2 tasks done
j10sanders opened this issue May 19, 2022 · 14 comments
Closed
2 tasks done

splide__sr ellipses is read by screenreader #805

j10sanders opened this issue May 19, 2022 · 14 comments
Labels
bug Something isn't working

Comments

@j10sanders
Copy link

Checks

Version

v4.0.2

Description

The splide__sr ellipses is read by screenreaders, which is confusing since it should be hidden.

finalSplide.mov

Reproduction Link

https://splidejs.com/

Steps to Reproduce

  1. On homepage https://splidejs.com/ navigate forward on "Multiple Slides"
  2. With voiceover, navigate through the elements with CONTROL + OPTION + RIGHT-ARROW
  3. Run into hidden ellipses that is read aloud as a text element

Expected Behaviour

Voiceover should skip

@j10sanders j10sanders added the bug Something isn't working label May 19, 2022
@NaotoshiFujita
Copy link
Collaborator

Hm, what character should I use?

@j10sanders
Copy link
Author

Hi @NaotoshiFujita - Is there no way to have voiceover skip it entirely? Would there be a downside to putting aria-hidden="true" on the span?

@NaotoshiFujita
Copy link
Collaborator

It should not be hidden from screen readers to make the live region work.
https://splidejs.com/guides/accessibility/#live-region

If you disable the live option, the issue will go away.

Currently, I have no idea to solve the issue. The character should be recognized by screen readers but not announced. Major screen readers don't read "…", but voice over does 🤮
Maybe I should quit supporting the live region on mac os.

@j10sanders
Copy link
Author

The live option is a great feature of this library: since I'd like to keep the functionality of announcing new slides, I don't want to disable it. Thanks for your work @NaotoshiFujita - this is the only issue I've had with the library. I'll see if I can find another solution to this problem.

By the way, the ellipses is also read by VoiceOver, along with the other new text, when you navigate with arrows.

@j10sanders
Copy link
Author

I tried changing it to an empty string, but that doesn't seem to keep live-region working. Something like '' doesn't get read, live-region still works, but VoiceOver stops on the element and announces "Text field".

One option would be to put something less arbitrary for VoiceOver, such as end of carousel. What do you think @NaotoshiFujita ?

@NaotoshiFujita
Copy link
Collaborator

Right, an empty string (and \n, \t, etc...) does not trigger live region.

One option would be to put something less arbitrary for VoiceOver, such as end of carousel

Yes, that is one of solutions. But... I'd like to avoid inserting such a string if possible.

Well, can you try this branch when you have time, Jonathan?

npm i Splidejs/splide#live

@j10sanders
Copy link
Author

Sure! I'm using react-splide but I can try this out soon.

@j10sanders
Copy link
Author

j10sanders commented May 24, 2022

splide3x.mov

I really like your idea here, and it works for when you navigate through the new items, but unfortunately "ellipses" is read 2 or 3 times when I click the forward arrow.

@NaotoshiFujita
Copy link
Collaborator

Mmm, your VoiceOver acts differently with mine 😮
I don't understand why it's reading ellipsis 3 times, since only 1 "ellipsis" exists in a carousel. I wonder where other 2 come from...

What if you disable live option and click the next arrow in your demo? VoiceOver speaks nothing?

@j10sanders
Copy link
Author

right, then VoiceOver doesn't announce the new content.

@NaotoshiFujita
Copy link
Collaborator

I made another approach on the same branch(v4.0.4).

npm i Splidejs/splide#live

My VoiceOver seems working well for now. Can you please check it?

@j10sanders
Copy link
Author

j10sanders commented May 25, 2022

It works! Thanks so much. 🥳

Looking forward to the update in react-splide

@NaotoshiFujita
Copy link
Collaborator

Done! ✨

@j10sanders
Copy link
Author

Thanks again

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants