1/** 2 * Initializes split carousels without setting invalid aria 3 * @param {Element} splideElement 4 * @param {number} perPage 5 */ 6function initAccessibleSplide(splideElement, perPage = 2) { 7 if (!splideElement) return; 8 9 const breakpoints = 10 perPage === 2 11 ? { 12 1199: { 13 perPage: 1, 14 }, 15 992: { 16 arrows: false, 17 }, 18 } 19 : { 20 992: { 21 arrows: false, 22 }, 23 }; 24 25 const splideInstance = new Splide(splideElement, { 26 perPage, 27 type: 'loop', 28 pagination: true, 29 arrows: true, 30 live: true, 31 classes: { 32 pagination: 'splide__pagination dots', 33 }, 34 breakpoints, 35 }); 36 37 // Prevents the setting of invalid roles on <li> elements 38 const originalMount = splideInstance.mount; 39 40 splideInstance.mount = function () { 41 originalMount.call(splideInstance); 42 43 // Remove all fake roles from the slides 44 const slides = splideInstance.Components.Slides; 45 46 if (slides && slides.forEach) { 47 slides.forEach((slide) => { 48 if (slide.slide) { 49 slide.slide.removeAttribute('role'); 50 slide.slide.removeAttribute('aria-roledescription'); 51 slide.slide.removeAttribute('aria-label'); 52 } 53 }); 54 } 55 }; 56 57 splideInstance.mount(); 58} 59 60document.addEventListener('DOMContentLoaded', function () { 61 const splides = document.querySelectorAll( 62 '.content-after > .frame .news-grid-slider .splide', 63 ); 64 65 splides.forEach((splide) => { 66 initAccessibleSplide(splide, 2); 67 }); 68 69 // News Content Slider 70 const splidesNews = document.querySelectorAll( 71 '.news-content .news-grid-slider .splide', 72 ); 73 74 splidesNews.forEach((splide) => { 75 initAccessibleSplide(splide, 2); 76 }); 77 78 // News Sidebar Slider 79 const splidesNewsSide = document.querySelectorAll( 80 '.news-sidebar .news-grid-slider .splide', 81 ); 82 83 splidesNewsSide.forEach((splide) => { 84 initAccessibleSplide(splide, 1); 85 }); 86});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.