多音字读音须依语境定,优先本人读音、权威媒体、词典专项音;ruby必须含rb与rt标签且一对一包裹,否则Safari和微信Android不渲染。

多音字标注出错,90%是因为把「查字典」当成了「定读音」——拼音必须按实际人名/语境选,不能照搬词典首条;ruby结构漏rb或rt,Safari 和微信 Android 版直接不渲染。
多音字读音必须依实际语境定,不是查字典就完事
人名、地名、专有名词的读音,优先级顺序是:本人公开读音 > 权威媒体(如央视、新华社)报道 > 《现代汉语词典》中“用于姓氏”或“用于地名”的专项读音项。比如“乐”作姓氏必须标Yuè,不是Lè;“长”在“长泽雅美”中是日文汉字,但中文人名里“长”姓读Cháng,不是Zhǎng。
常见错误包括:
- 把“单”姓标成
dān(正确应为Shàn) - 给“解”在“解缙”中标
jiě(实为Xiè) - 在课文《扁鹊见蔡桓公》中把“桓”标
huán(古音应为guān,需依教材注释)
不确定时,不要堆叠多个读音(如fǒu/pǐ),ruby不支持歧义标注,屏幕阅读器也无法朗读。
立即学习“前端免费学习笔记(深入)”;
ruby结构必须含rb和rt,否则 Safari 和 X5 内核直接失效
写成<ruby>重<rt>chóng</rt></ruby>在 Chrome/Firefox 能显示,但在 iOS Safari 16 及更早、微信 Android(X5 内核)中,rt会左贴、偏移甚至消失——根本原因是缺少rb锚点,浏览器无法计算基线对齐位置。
正确写法必须显式包裹每个字:
生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur
<ruby><rb>重</rb><rt>chóng</rt></ruby><ruby><rb>庆</rb><rt>qìng</rt></ruby>
不要图省事写成<ruby>重庆<rt>chóng qìng</rt></ruby>,这违反一对一映射规则,会导致排版断裂、语音合成器跳读。
额外建议:
- 所有
ruby外层加style="ruby-align: center;",Safari 16 不实现默认居中 - 搭配
<rp>(</rp><rt>chóng</rt><rp>)</rp>,兼容旧 WebView(如 Android 4.4) - 避免在
ruby外层用transform或flex,X5 内核易触发渲染异常
微信和移动端真机测试不可跳过,Chrome 模拟器完全不准
微信 iOS(WKWebView)基本支持ruby,但 Android 版(X5 内核)对rt样式支持极弱:字体变小却不居中,有时直接叠在字上。这不是前端代码问题,是内核限制。
务实降级方案:
- 对关键人名(如会议嘉宾页),在
ruby外再套一层span,设font-size: 75%; opacity: 0.85;作为备用拼音 - 禁用
title属性模拟注音——屏幕阅读器读不到,也不符合语义 - 测试必须用真机打开微信,不能只靠 Chrome DevTools 的设备模拟
尤其注意表格中使用ruby:<td><ruby>...</ruby></td>在旧 Edge 和 Safari 中容易整行撑高,此时可加style="ruby-position: under;"强制下标式显示,兼容性略好。
最易被忽略的一点:拼音必须用半角小写字母 + Unicode 声调符(如zhōng)或数字(如zhong1),不能混入全角空格、中文括号或标点——哪怕一个全角逗号,都会导致 Safari 排版错位。


















