@@ -251,7 +251,7 @@ export const SliderBlock = (props: WithChildren<SliderProps>) => {
251251 return (
252252 // To have this key differ from keys used in renderDot function, added `-accessible-bar` part
253253 < Fragment key = { `${ index } -accessible-bar` } >
254- { slidesCountByBreakpoint > 1 && (
254+ { slidesCountByBreakpoint > 0 && (
255255 < li
256256 className = { b ( 'accessible-bar' ) }
257257 aria-current
@@ -266,8 +266,9 @@ export const SliderBlock = (props: WithChildren<SliderProps>) => {
266266 ) ;
267267 } ;
268268
269- const renderDot = ( index : number ) => {
269+ const getCurrentSlideNumber = ( index : number ) => {
270270 const currentIndexDiff = index - currentIndex ;
271+
271272 let currentSlideNumber ;
272273 if ( 0 <= currentIndexDiff && currentIndexDiff < slidesToShowCount ) {
273274 currentSlideNumber = currentIndex + 1 ;
@@ -276,19 +277,26 @@ export const SliderBlock = (props: WithChildren<SliderProps>) => {
276277 } else {
277278 currentSlideNumber = index + 1 ;
278279 }
280+ return currentSlideNumber ;
281+ } ;
282+ const isVisibleSlide = ( index : number ) => {
283+ const currentIndexDiff = index - currentIndex ;
279284
285+ return (
286+ slidesCountByBreakpoint > 0 &&
287+ 0 <= currentIndexDiff &&
288+ currentIndexDiff < slidesToShowCount
289+ ) ;
290+ } ;
291+
292+ const renderDot = ( index : number ) => {
280293 return (
281294 < li
282295 key = { index }
283296 className = { b ( 'dot' , { active : index === currentIndex } ) }
284297 onClick = { ( ) => handleDotClick ( index ) }
285- aria-hidden = {
286- ( slidesCountByBreakpoint > 1 &&
287- 0 <= currentIndexDiff &&
288- currentIndexDiff < slidesToShowCount ) ||
289- undefined
290- }
291- aria-label = { `Slide ${ currentSlideNumber } of ${ barSlidesCount } ` }
298+ aria-hidden = { isVisibleSlide ( index ) ? true : undefined }
299+ aria-label = { `Slide ${ getCurrentSlideNumber ( index ) } of ${ barSlidesCount } ` }
292300 > </ li >
293301 ) ;
294302 } ;
0 commit comments