diff --git a/src/modules/a11y/a11y.mjs b/src/modules/a11y/a11y.mjs index 97ead239d..f76177d83 100644 --- a/src/modules/a11y/a11y.mjs +++ b/src/modules/a11y/a11y.mjs @@ -15,6 +15,7 @@ export default function A11y({ swiper, extendParams, on }) { slideLabelMessage: '{{index}} / {{slidesLength}}', containerMessage: null, containerRoleDescriptionMessage: null, + containerRole: null, itemRoleDescriptionMessage: null, slideRole: 'group', id: null, @@ -302,6 +303,9 @@ export default function A11y({ swiper, extendParams, on }) { if (params.containerMessage) { addElLabel(containerEl, params.containerMessage); } + if (params.containerRole) { + addElRole(containerEl, params.containerRole); + } // Wrapper const wrapperEl = swiper.wrapperEl; diff --git a/src/types/modules/a11y.d.ts b/src/types/modules/a11y.d.ts index 67cb64a57..21b352a20 100644 --- a/src/types/modules/a11y.d.ts +++ b/src/types/modules/a11y.d.ts @@ -66,6 +66,13 @@ export interface A11yOptions { */ containerRoleDescriptionMessage?: string | null; + /** + * Value of the "role" attribute to be set on the swiper container + * + * @default null + */ + containerRole?: string | null; + /** * Message for screen readers describing the role of slide element *