概览`:focus-visible` 能区分键盘与鼠标触发的焦点,使键盘用户获得明确的可视反馈而不影响鼠标体验。配合可点击区域治理与状态样式可显著提升可访问性。基础样式button:focus-visible,

a:focus-visible,

input:focus-visible {

outline: 3px solid oklch(65% 0.2 250);

outline-offset: 2px;

}

/* 鼠标点击不显示粗焦点 */

button:focus:not(:focus-visible) { outline: none; }

可点击区域与状态.btn {

min-width: 44px; /* 最小点击尺寸,满足移动端可用性 */

min-height: 44px;

padding: 0.5rem 0.75rem;

}

.btn[aria-disabled="true"], .btn:disabled { opacity: .6; cursor: not-allowed; }

.btn:active { transform: translateY(1px); }

组合选择器.field:focus-within { border-color: oklch(70% 0.12 250); }

.field input:focus-visible { box-shadow: 0 0 0 3px oklch(85% 0.15 250 / .5); }

治理要点为键盘用户提供清晰焦点;鼠标用户保留简洁视觉。按钮与链接保证最小可点击尺寸;禁用态与按压态明确。与设计令牌统一色彩与尺寸,保持一致性。配合 `prefers-reduced-motion` 减少视觉干扰。验证与指标浏览器:Chrome 120+、Safari 17+、Firefox 120+键盘导航路径可见;移动端点击区域达标,误触率降低

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部