
本文介绍如何通过 JavaScript 在页面首次加载时自动聚焦指定的锚点()元素,并解决可访问性问题,推荐使用语义化 替代非导航型链接,同时提供兼容性良好的聚焦方案。
本文介绍如何通过 JavaScript 在页面首次加载时自动聚焦指定的锚点(` ✅ href="#" 语义更清晰(表示“当前页内动作”),配合 return false 阻止默认跳转;tabindex="0" 确保其始终可被键盘聚焦。 根据 WAI-ARIA 最佳实践,触发页面内状态切换(如标签切换)应使用 。原因如下: 改造示例(HTML): 对应 CSS 中,.insanchor:focus 和 .stuanchor:focus 规则保持不变( 页面加载时聚焦默认锚点,本质是 DOM 就绪后调用 .focus()。但真正关键的是语义正确性:用 <a class="insanchor" href="#" tabindex="0" onclick="showInstructors(); return false;">FOR INSTRUCTORS</a>
<a class="stuanchor" href="#" tabindex="0" onclick="showStudents(); return false;">FOR STUDENTS</a>
? 推荐升级:用
<button type="button" class="insanchor" onclick="showInstructors();">FOR INSTRUCTORS</button>
<span> | </span>
<button type="button" class="stuanchor" onclick="showStudents();">FOR STUDENTS</button>
document.addEventListener('DOMContentLoaded', function() {
document.querySelector('.insanchor')?.focus(); // 安全调用(可选链)
});
? 关键注意事项
.insanchor:focus-visible,
.stuanchor:focus-visible {
outline: 2px solid #0dc0dc;
outline-offset: 2px;
}
✅ 总结











