ruby标签是严格遵循语义与DOM顺序的注音机制,rb与rt必须一一对应、不可交叉或倒置;混入普通文本、rt前置、多rb共用rt均会导致标注错乱;rp为兼容旧版Safari的必要降级安全带。

ruby 标签不是“加个拼音就能用”的装饰性标签,它是一套有严格语义和 DOM 顺序要求的注音机制。不按规范写,轻则拼音错位、漏标,重则被读屏软件跳过或整段失效。
rb 和 rt 的顺序与数量必须严格一一对应
浏览器按 DOM 节点顺序匹配:rb 是基字,rt 是对应注音,第一个 rb 绑定第一个 rt,第二个绑定第二个……不能交叉、不能省略、不能倒置。
-
ruby内混写普通文本(如中)→ “中” 不参与标注,只有 “国” 被标国 -
写在前面 → 拼音大概率贴到前一个ruby块的末尾字上 - 两个字共用一个
(如)→ 多数浏览器只给 “国” 标音,“中” 无注音中 国
rp 标签不是可选项,而是降级安全带
现代浏览器(Chrome/Firefox/Edge/Safari 15.4+)即使没 rp 也能渲染拼音,但旧版 Safari(rt 内容裸露出来——比如显示成 “汉hàn” 而非带括号的 “汉(hàn)”。rp 就是为此兜底的空标签。
把任意文章或文档内容转换成精美的全屏翻页 HTML 演示文件(幻灯片风格)。当用户发来一篇文章、文档链接、Markdown 内容、或粘贴的文本,并且希望生成演示用的 HTML 时触发。支持任意内容来源:iWiki 链接、KM 链接、本地文件路径、直接粘贴的文本。生成的 HTML 文件保存到本地工作区,并通过企微直接发送给用户。触发词示例:帮我把这篇文章做成PPT、转成演示文档、生成HTML幻灯片、做个演示、转成可以演示的格式、article to deck、make a slide。
- 正确结构必须是:
字 -
rp本身不渲染内容,只在不支持ruby时触发括号包裹逻辑 - 不要用
span或 CSS 伪元素模拟rp,它需要原生语义才能被辅助技术识别
多音字和词组必须分字独立包裹
中文拼音标注是字级行为,不是词级。强行合并会导致 TTS 朗读错误、CSS 无法单独控制某字注音样式、也无法被语义化工具准确解析。
- 错误写法:
→ 只有 “安” 被标,且 “cháng” 语义丢失长> 安 - 正确写法:连续两个
ruby块:长 安 - 如果某字有多个读音(如 “行”),需由业务逻辑决定用哪层
ruby,不能靠 JS 动态切换rt内容——那会破坏静态语义
最常被忽略的其实是语义完整性:一个 ruby 块必须完整包含 rb + rp + rt + rp,缺一不可;跨字合并、DOM 顺序错乱、省略 rp 这三类问题,在真实项目里几乎占了所有 ruby 渲染异常的 90% 以上。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










