From 28f73612e7a1613276298d2c8ff6dd37dc895dd4 Mon Sep 17 00:00:00 2001 From: SlDo Date: Mon, 22 Jul 2024 22:02:00 +0300 Subject: [PATCH 1/2] added new prop for a11y module - scrollOnFocus --- src/modules/a11y/a11y.mjs | 1 + src/types/modules/a11y.d.ts | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/modules/a11y/a11y.mjs b/src/modules/a11y/a11y.mjs index 19b9aea0e..b2820584d 100644 --- a/src/modules/a11y/a11y.mjs +++ b/src/modules/a11y/a11y.mjs @@ -18,6 +18,7 @@ export default function A11y({ swiper, extendParams, on }) { itemRoleDescriptionMessage: null, slideRole: 'group', id: null, + scrollOnFocus: true }, }); diff --git a/src/types/modules/a11y.d.ts b/src/types/modules/a11y.d.ts index 134f158ff..67cb64a57 100644 --- a/src/types/modules/a11y.d.ts +++ b/src/types/modules/a11y.d.ts @@ -93,4 +93,11 @@ export interface A11yOptions { * @default null */ id?: string | number | null; + + /** + * Enables scrolling to the slide that has been focused + * + * @default true + */ + scrollOnFocus?: boolean; } From 7d50a4c9296f56016e68fe2be986db0308281bd2 Mon Sep 17 00:00:00 2001 From: SlDo Date: Mon, 22 Jul 2024 22:27:54 +0300 Subject: [PATCH 2/2] added props to handleFocus --- src/modules/a11y/a11y.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/a11y/a11y.mjs b/src/modules/a11y/a11y.mjs index b2820584d..97ead239d 100644 --- a/src/modules/a11y/a11y.mjs +++ b/src/modules/a11y/a11y.mjs @@ -237,7 +237,7 @@ export default function A11y({ swiper, extendParams, on }) { }; const handleFocus = (e) => { - if (swiper.a11y.clicked) return; + if (swiper.a11y.clicked || !swiper.params.a11y.scrollOnFocus) return; if (new Date().getTime() - visibilityChangedTimestamp < 100) return; const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);