如何正确为自定义按钮添加无障碍支持? 端木艺晗 提问于 2026-03-03 10:56:20 阅读 2 前端 我用 <div> 做了一个按钮,点击能触发功能,但用屏幕阅读器读不出来。我加了 role="button",但好像还不够?按 Tab 键也聚焦不到它。 是不是还得加 tabindex?或者应该直接用 <button> 标签?我试过下面这样写,但不确定是否符合无障碍标准: <div role="button" onclick="doSomething()">点我</div> 我来解答 赞 2 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 暂无解答 暂无解答 加载更多 相关推荐 1 回答 11 浏览 自定义按钮组件如何正确支持键盘访问和屏幕阅读器? 我写了个自定义的按钮组件,用div模拟的,但发现Tab键没法聚焦,屏幕阅读器也读不出它是按钮。加了role="button"还是不行,是不是还缺啥? 下面是我现在的代码: <div role="... 翌耀酱~ 组件 2026-03-02 10:53:19 1 回答 107 浏览 React中如何为可点击的非交互元素添加无障碍标签? 我正在给移动端图标按钮加无障碍支持,纯图标没有文字标签。试过用aria-label属性,但屏幕阅读器完全读不到内容,怎么回事? 比如这个React组件: const IconButton = ({ i... Prog.奕玮 移动 2026-02-17 03:07:23 1 回答 50 浏览 Material-UI按钮样式覆盖不了自定义的CSS如何解决? 我在用Vue和Material-UI做按钮组件时遇到问题,想给按钮加个悬停效果,但自定义的CSS样式完全没生效... 代码是这样的: 点击我 .custom-btn { background: #4C... IT人凡敬 组件 2026-01-28 11:07:26 1 回答 9 浏览 VSCode插件中如何正确注册HTML语言的CompletionItemProvider? 我在写一个VSCode扩展,想给HTML文件添加自定义代码补全,但注册后完全没反应。是不是provider的triggerCharacters或者documentSelector写错了? 我试过用vs... 令狐焕焕 工具 2026-03-01 14:33:18 1 回答 5 浏览 Slate 中如何正确处理自定义元素的反序列化? 我在用 Slate 做一个支持代码块的富文本编辑器,序列化时没问题,但反序列化回来就报错。我试过在 deserialize 函数里加判断,但一遇到 code 类型就直接崩溃。 控制台提示 “Canno... 上官世暄 组件 2026-03-01 12:54:23 1 回答 17 浏览 宜搭自定义页面中如何正确引入外部HTML组件? 我在宜搭的自定义页面里想嵌入一段外部HTML结构,但直接贴进去样式全乱了,而且有些标签好像被过滤掉了。试过用iframe也不行,加载特别慢还跨域报错。 这是我想插入的代码: <div class... 上官姗姗 框架 2026-02-26 16:20:23 2 回答 50 浏览 在Vue组件单元测试中如何验证自定义事件触发次数? 我在测试一个带计数功能的按钮组件时,发现用Vue Test Utils的$emit无法正确验证事件触发次数。组件点击后会连续触发两次自定义事件,但测试总是显示调用次数为0: // CounterBut... 婷婷 组件 2026-02-14 14:04:43 2 回答 23 浏览 CKEditor自定义按钮获取选区文本返回空值怎么办? 我在CKEditor5里加了自定义按钮,点击时想获取当前选中的文本。用了editor.model.document.selection却总是空值,是不是获取方式有问题?试过监听选区变化也没触发... ... 开发者琬晴 交互 2026-02-11 02:08:24 1 回答 70 浏览 Material-UI按钮自定义样式被默认样式覆盖怎么办? 在用Material-UI的Button组件时,我想给按钮加个圆角和渐变背景,但发现自定义的CSS类和内联样式都没生效。之前试过用sx prop和className,但样式总是被覆盖... 比如这个代... UX增芳 框架 2026-02-08 21:26:24 2 回答 44 浏览 Ant Design的Empty组件如何自定义提示内容和按钮跳转? 在做用户订单列表页时,想用Empty组件显示空状态,但发现官网的示例只能显示默认文案和图片。我想自定义提示文案加一个「去添加商品」的按钮跳转,尝试把按钮套在里放在Empty下面,结果布局错位了。 试过... 端木怡彤 组件 2026-02-08 19:07:24
暂无解答