Chú âm Ruby (Ruby Annotation)
Các ký tự nhỏ được đặt phía trên (viết ngang) hoặc bên phải (viết dọc) của ký tự mục tiêu để chỉ cách đọc của kanji hoặc từ ngoại lai. Trong HTML được triển khai bằng phần tử <ruby>.
Ruby annotation (chú âm) là phiên âm nhỏ ghi cách đọc của kanji. Tên gọi bắt nguồn từ kích thước chữ trong in ấn hoạt bản, trong đó chữ 5.5 point được gọi là "ruby." Chú âm được sử dụng rộng rãi trong sách, báo và sách giáo khoa tiếng Nhật, đặc biệt không thể thiếu trong nội dung dành cho trẻ em hoặc văn bản chứa kanji khó đọc.
Để triển khai ruby trong HTML, sử dụng phần tử <ruby>. Viết <ruby>漢字<rt>かんじ</rt></ruby> sẽ hiển thị "かんじ" nhỏ phía trên "漢字." Phần tử <rp> cung cấp dấu ngoặc dự phòng cho trình duyệt không hỗ trợ ruby. Hiện tại, tất cả trình duyệt chính đều hỗ trợ <ruby>.
Ruby có hai loại: "mono ruby" và "group ruby." Mono ruby gán phiên âm cho từng ký tự kanji riêng lẻ, như "東京", giúp rõ ràng cách đọc từng chữ. Group ruby gán phiên âm cho toàn bộ từ ghép, như "東京." Sách giáo khoa thường dùng mono ruby làm chuẩn, nhưng trên web group ruby phổ biến hơn.
Cách xử lý ruby trong đếm ký tự khá phức tạp. Có tính phần phiên âm (ruby text) vào số ký tự hay không phụ thuộc vào mục đích sử dụng. Khi đếm ký tự trên giấy viết nguyên cảo, ruby không được tính. Tuy nhiên, trên mã nguồn HTML, văn bản trong <rt> cũng tồn tại dưới dạng chuỗi, nên khi lấy nội dung văn bản từ DOM sẽ được nối thành "漢字かんじ." Để đếm ký tự chính xác, cần logic loại trừ phần ruby.
Về tạo kiểu CSS cho ruby, có các thuộc tính ruby-position (trên/dưới), ruby-align (căn chỉnh) và ruby-overhang (tràn). Kích thước font ruby tiêu chuẩn là 50% so với ký tự gốc, nhưng trên web thường đặt 60-70% để dễ đọc hơn. Khi ruby dài hơn ký tự gốc (ví dụ: "薔薇" với "ばら"), nó sẽ tràn ra ngoài và cần điều chỉnh khoảng cách với các ký tự lân cận.
Từ góc độ khả năng truy cập, trình đọc màn hình sẽ đọc ruby text, giúp người dùng khiếm thị cũng biết được cách đọc kanji. Tuy nhiên, cách đọc ruby khác nhau tùy trình đọc màn hình: có loại đọc "漢字, かんじ" và có loại chỉ đọc "かんじ."