🌐 AI搜索 & 代理 主页
Skip to content

Commit f8ddb8e

Browse files
authored
fix(v-b-modal): ensure trigger element is keyboard accessible if not a link or button, for A11Y
1 parent 0d27d7b commit f8ddb8e

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/directives/modal/modal.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,16 @@ const getTriggerElement = el => {
3232
}
3333

3434
const setRole = trigger => {
35-
// Only set a role if the trigger element doesn't have one
36-
if (trigger && trigger.tagName !== 'BUTTON' && !hasAttr(trigger, 'role')) {
37-
setAttr(trigger, 'role', 'button')
35+
// Ensure accessibility on non button elements
36+
if (trigger && trigger.tagName !== 'BUTTON') {
37+
// Only set a role if the trigger element doesn't have one
38+
if (!hasAttr(trigger, 'role')) {
39+
setAttr(trigger, 'role', 'button')
40+
}
41+
// Add a tabindex is not a button or link, and tabindex is not provided
42+
if (trigger.tagName !== 'A' && !hasAttr(trigger, 'tabindex')) {
43+
setAttr(trigger, 'tabindex', '0')
44+
}
3845
}
3946
}
4047

0 commit comments

Comments
 (0)