如何让自定义按钮在屏幕阅读器中正确读出? 程序员利娇 提问于 2026-03-08 18:33:17 阅读 3 前端 我用 <div> 做了一个按钮,加了点击事件,但用 VoiceOver 测试时发现它根本不会被识别为按钮。我试过加 role="button",但还是不行,焦点也进不去。是不是还得加别的属性? 现在的代码大概是这样的: <div role="button" onclick="doSomething()">点我</div> 我来解答 赞 2 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 迷人的春芳 Lv1 缺了tabindex,加上这个就能聚焦了: 点我 最好再加个键盘事件,光有click事件不够用: divElement.addEventListener('keypress', (e) => { if (e.key === 'Enter' || e.key === ' ') { doSomething(); } }); PS:这种破事我踩坑不下十次了,每次都得重新查文档... 回复 点赞 2 2026-03-08 19:01 加载更多 相关推荐 1 回答 21 浏览 自定义按钮组件如何正确支持键盘访问和屏幕阅读器? 我写了个自定义的按钮组件,用div模拟的,但发现Tab键没法聚焦,屏幕阅读器也读不出它是按钮。加了role="button"还是不行,是不是还缺啥? 下面是我现在的代码: <div role="... 翌耀酱~ 组件 2026-03-02 10:53:19 1 回答 8 浏览 如何正确给自定义按钮添加无障碍支持? 我用 div 做了一个按钮,点击能触发操作,但屏幕阅读器好像读不出来。加了 role="button" 也不行,是不是还缺啥? 试过加上 tabindex="0" 让它能聚焦,键盘也能按回车触发,但读... UP主~金静 前端 2026-03-03 14:48:20 1 回答 15 浏览 如何正确为自定义按钮添加无障碍支持? 我用 <div> 做了一个按钮,点击能触发功能,但用屏幕阅读器读不出来。我加了 role="button",但好像还不够?按 Tab 键也聚焦不到它。 是不是还得加 tabindex?或者... 端木艺晗 前端 2026-03-03 10:56:20 1 回答 53 浏览 Material-UI按钮样式覆盖不了自定义的CSS如何解决? 我在用Vue和Material-UI做按钮组件时遇到问题,想给按钮加个悬停效果,但自定义的CSS样式完全没生效... 代码是这样的: 点击我 .custom-btn { background: #4C... IT人凡敬 组件 2026-01-28 11:07:26 2 回答 39 浏览 自定义按钮组件的屏幕阅读器读的是图标而不是文本怎么办? 我在用Vue写一个带图标的按钮组件,结构是这样:<button><span>删除</span><svg>...</svg></butt... 瑞玲的笔记 组件 2026-01-28 10:43:32 1 回答 3 浏览 Brick Next 中如何正确传递 slot 内容到自定义构件? 我在用 Brick Next 开发低代码页面时,想把一段 HTML 内容通过 slot 传给自定义的 brick 构件,但发现内容没渲染出来。我试过直接在构件标签里写内容,也检查了构件内部是否用了 &... Zz艳清 框架 2026-03-09 12:06:23 1 回答 3 浏览 封装自定义组件时如何正确传递事件监听器? 我最近在封装一个按钮组件,想让父组件能监听点击事件,但试了几次都没成功。我在子组件里用 $emit 触发事件,父组件用 @click 监听,结果完全没反应。 是不是我写法有问题?下面是我的子组件代码:... 程序员美蓝 组件 2026-03-08 15:41:19 1 回答 7 浏览 Flutter中如何让自定义组件支持响应式布局? 我在写一个 Flutter 自定义卡片组件,想让它在不同屏幕尺寸下自动调整内边距和字体大小,但试了 MediaQuery 和 LayoutBuilder 都不太顺手。有没有更简洁的方式? 比如我之前在... 西门沐希 移动 2026-03-07 20:38:21 2 回答 8 浏览 Tailwind 中如何覆盖默认的按钮 hover 样式? 我在用 Tailwind 写一个按钮,想自定义 hover 时的背景色,但发现加了 hover:bg-red-500 没生效,好像被默认样式覆盖了? 我试过提高类名顺序、加 !important,都不... 艺诺 Dev 框架 2026-03-05 10:52:20 2 回答 26 浏览 宜搭自定义页面中如何正确引入外部HTML组件? 我在宜搭的自定义页面里想嵌入一段外部HTML结构,但直接贴进去样式全乱了,而且有些标签好像被过滤掉了。试过用iframe也不行,加载特别慢还跨域报错。 这是我想插入的代码: <div class... 上官姗姗 框架 2026-02-26 16:20:23
最好再加个键盘事件,光有click事件不够用:
PS:这种破事我踩坑不下十次了,每次都得重新查文档...