Open 2ndkauboy opened 5 months ago
I came up with a temporary fix for now:
splide.on("destroy", () => {
for ( let slide of splide.Components.Elements.list.children ){
for ( let focusableNode of slide.querySelectorAll(splide.options.focusableNodes)) {
focusableNode.setAttribute('tabindex', '');
}
}
});
You can test it here: https://codepen.io/2ndkauboy/pen/wvbKqeJ
But this should really be solved in the code itself.
Checks
Version
v4.1.3
Description
Splide has an option to "destory" the slider on a certain breakpoint. This works fairly well, but it introduces an accessibility issue. When the slides contain links, they are no longer focusable, since Splide sets a
tabindex="-1"
on every "inactive slide". Since in the "destroy" state, all slides are visible and therefore "active", thistabindex="-1"
and other accessibility properties should be removed (e.g.aria-hidden="true"
does get removed correctly) .Reproduction Link
https://codepen.io/2ndkauboy/pen/VwOvWpG
Steps to Reproduce
Expected Behaviour
Links (and other focusable elements) inside the slider should be focusable when "destroyed".