bootstrap Offcanvas with backdrop: false 应该有 aria-modal="false"

vm0i2vca  于 4个月前  发布在  Bootstrap
关注(0)|答案(3)|浏览(76)

前提条件

描述问题

一个没有背景的 offcanvas 应该有 aria-modal="false" 而不是 aria-modal="true"。实际上,没有背景,offcanvas下面的内容是可访问的并且可以聚焦。
请参阅 aria-modal MDN Web Doc 以获取更多信息:
模态对话框是在内容显示时,用户只能与该部分进行交互,直到它被取消。
在创建模态对话框时,aria-modal="true" 告诉辅助技术,当前对话框下面的窗口不是模态内容的一部分。
要修复的行如下所示,应该有一个条件:
bootstrap/js/src/offcanvas.js
第111行 in 137bfba
| | this._element.setAttribute('aria-modal',true) |
摘要表:
| backdrop | 当前 aria-modal | 预期 aria-modal | 是否正确? |
| ------------ | ------------ | ------------ | ------------ |
| "static" | true | true | ✔️ |
| true | true | true | ✔️ |
| false | true | false | ❌ |

gjmwrych

gjmwrych1#

你好!如果问题是公开的,我想接手。

gr8qqesn

gr8qqesn2#

@Dmitriy-SP 我没有计划在接下来的几天内提出PR,因为时间不够,所以如果你愿意做的话,我会非常感激!谢谢。
需要更改的唯一代码是这一行:
bootstrap/js/src/offcanvas.js
第111行 137bfba
| | this._element.setAttribute('aria-modal',true) |
我计划在接下来的几天内做类似以下的事情:

this._element.setAttribute('aria-modal', this._config.backdrop !== false)

// Or

this._element.setAttribute('aria-modal', [true, 'static'].includes(this._config.backdrop))
lhcgjxsq

lhcgjxsq3#

好的,那我接手。

相关问题