jquery - 对带有 span 元素的键盘的辅助功能支持
问题描述
我有一些可以单击并用作按钮的元素。但是,屏幕阅读器看不到它们。为了纠正这个问题,我正在尝试添加一个函数,该函数将为任何将角色设置为按钮的元素添加此类支持。
<span role="button">clickable</span>
我编写了这个 jQuery 函数,但它并不完全有效。
$(document).on("keypress", "[role='button']", function(e) {
var code = e.which;
// 13 = Return, 32 = Space
if ((code === 13) || (code === 32)) {
$(this).click();
});
}
我错过了什么?
解决方案
<span>
s 通常不能聚焦;没有焦点它不会捕获按键。
正如MDN 按钮角色页面tabindex
中所讨论的,您可以在其上添加一个。
在设计可访问性时,特别是在使用非标准 UX 元素作为 UX 输入时,tabindex
变得非常重要……而且非常烦人。
推荐阅读
- bash - for循环无法正常工作的问题
- java - 如何从java中不同包中的同一对象调用方法?
- maven - 如何在 groovy 3.0.x 中使用 groovy-maven-plugin?
- php - $this->close(); 何时使用
- flutter - 如何仅使用一项功能单独显示/隐藏多个按钮?
- list - Ocaml 矩阵乘法
- html - 黑色 div 框不覆盖内容
- java - 如何在 Java 中为 ProcessBuilder 拆分我的论点?
- c# - 使用 CSOM(caml 查询)更新超过 100000 条记录的 SharePoint Online 列表
- google-cloud-platform - Gcloud 在“全局”上构建提交失败违反了约束“constraints/gcp.resourceLocations”