职责与结构
链接用于跳转页面、定位内容或打开资源。执行提交、删除、开关等动作使用按钮;页内切换面板使用 Tabs。胶囊是链接的外观,不改变导航语义。
可读名称 + href 目标;外部新窗口链接须在名称或说明中提示。图标属于辅助信息,不能替代链接名称。
变体与 Tokens
| 项目 | 规范 |
|---|---|
| 正文链接 | 蓝色文字与下划线,放在句子和引用中;不增加按钮背景。 |
| 胶囊快捷链接 | 复用 .btn 中性胶囊,宽度随文字,成组时自动换行。 |
| 当前页链接 | 导航使用 aria-current="page";页内当前位置使用 aria-current="location"。 |
| 不可用入口 | 没有可用目的地时显示说明文字,不创建空 href、# 占位或伪禁用链接。 |
正文使用 --color-primary、--text-body 与可辨识下划线;胶囊继承按钮圆角、28 / 36 / 44 px 高度、共享焦点与间距。
交互与状态示例
正文引用:查看新增组件的必填说明。
暂未开放的资源 · 提供说明,开放后再添加链接。
交互与无障碍
Tab 聚焦,Enter 跳转;保留浏览器的新标签页、复制地址和历史能力。正文链接悬停与焦点继续保留下划线。窄屏胶囊组换行,长名称允许增高,不能撑出容器。加载或跳转失败由目的页面反馈;链接本身不伪装成保存进度。
接入约定
| 项目 | 规范 |
|---|---|
| href / target / rel | 必须有实际目标;target="_blank" 时同时提供 rel="noopener noreferrer" 和新窗口提示。 |
| aria-current / aria-label | 仅当前目标使用 aria-current;图标链接必须命名。避免 aria-label 覆盖有意义的可见名称。 |
| 事件与数据 | 使用原生导航,不 preventDefault 模拟成功;文本内容由 textContent 或安全转义输出。 |
查看最小使用示例
<a class="btn" href="buttons.html">按钮规范</a>
<a class="family-inline-link" href="index.html#standard-contract">必填说明</a>维护位置:scripts/family-specimens.mjs;示例行为:scripts/family-specimens.js。组合应用见本页末尾引用。