From 4ad1cdb8828635a92af1a9708825eaf221a4018a Mon Sep 17 00:00:00 2001 From: Troy Morehouse Date: Wed, 14 Aug 2019 19:57:04 -0300 Subject: [PATCH 1/2] fix(v-b-toggle): don't override `role` if element has a `role` assigned --- src/directives/toggle/toggle.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/directives/toggle/toggle.js b/src/directives/toggle/toggle.js index 78d731e5f95..d8a40217918 100644 --- a/src/directives/toggle/toggle.js +++ b/src/directives/toggle/toggle.js @@ -1,5 +1,5 @@ import looseEqual from '../../utils/loose-equal' -import { addClass, removeAttr, removeClass, setAttr } from '../../utils/dom' +import { addClass, hasAttr, removeAttr, removeClass, setAttr } from '../../utils/dom' import { isBrowser } from '../../utils/env' import { bindTargets, getTargets, unbindTargets } from '../../utils/target' @@ -91,7 +91,7 @@ export const VBToggle = { setAttr(el, 'aria-controls', el[BV_TOGGLE_CONTROLS]) setAttr(el, 'aria-expanded', 'false') // If element is not a button, we add `role="button"` for accessibility - if (el.tagName !== 'BUTTON') { + if (el.tagName !== 'BUTTON' && !hasAttr(el, role)) { setAttr(el, 'role', 'button') } From c754411d2c6ef33a9668e982ac8c2677b03f2df3 Mon Sep 17 00:00:00 2001 From: Troy Morehouse Date: Wed, 14 Aug 2019 19:59:05 -0300 Subject: [PATCH 2/2] Update toggle.js --- src/directives/toggle/toggle.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/directives/toggle/toggle.js b/src/directives/toggle/toggle.js index d8a40217918..db084e34766 100644 --- a/src/directives/toggle/toggle.js +++ b/src/directives/toggle/toggle.js @@ -91,7 +91,7 @@ export const VBToggle = { setAttr(el, 'aria-controls', el[BV_TOGGLE_CONTROLS]) setAttr(el, 'aria-expanded', 'false') // If element is not a button, we add `role="button"` for accessibility - if (el.tagName !== 'BUTTON' && !hasAttr(el, role)) { + if (el.tagName !== 'BUTTON' && !hasAttr(el, 'role')) { setAttr(el, 'role', 'button') }