等非交互型语义元素默认不可聚焦,即使具备视觉交互功能(如点击切换复选框),也无法通过键盘操作——这会严重影响残障用户或仅使用键盘浏览的用户的可访问性。解决方法很简单:为需要键盘支持的元素显式添加 tabindex="0" 属性。该值表示元素应按 DOM 顺序加入标准 Tab 序列,且不改变原有文档流与语义结构。
✅ 正确示例:
<div>
<input id="test" type="checkbox" style="display:none"><div class="container">
<input><label for="test" tabindex="0">click me</label> <!-- ✅ 可 Tab 聚焦 -->
<input>
</div>
</div>
配合 CSS,确保焦点状态清晰可见(符合 WCAG 2.1 标准):
anything-to-html
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
下载
*:focus {
background-color: pink;
outline: 1px dotted red !important; /* 强制显示焦点轮廓 */
}
#test:checked ~ * label[for="test"] {
color: green;
}
⚠️ 注意事项:
总结:tabindex="0" 是让非原生交互元素支持键盘导航的关键工具,但必须与语义化标记、焦点样式、键盘事件处理协同使用,才能真正构建健壮、合规、用户友好的可访问界面。