Summarized test results:
HTML5, the ruby element and its children

To run the test, or to see detailed, per character, results, click on the link in the left-most column. To see detailed results click on a row and look just above the table.

Key: pass fail partially successful

Updated

These tests check whether user agents support styling and basic default positioning of markup based on ruby markup, including the elements ruby, rb, rt, and rtc

Tests are provided for the range of ruby-related elements specified in the W3C HTML 5.3 specification. The WhatWG HTML specification omits the rb and rtc elements.

They do not test the features of the CSS Ruby module, just whether the structure of the ruby markup is recognised by the browsers, and whether those minimal features needed to position the ruby text are available without CSS styling.

Styling

These tests check that the browser is able to identify and style the various elements that make up the ruby content. Where there are multiple tests, each test uses a different approach to markup, eg. both start and end tags, or just start tags.

Needless to say, markup styles that omit the rb element tags don't allow the rb content to be styled.

rb, interleaved

Is the rb element detected and styled, for interleaved ruby elements?

Links to run testsAssertionsGecko FirefoxBlink ChromeBlink CanaryBlink OperaWebkit SafariWebKitLegacy EdgeIE
rb styling, full markup
ruby-styling-001.html
rb elements can be styled when fully marked up. passpasspasspasspasspasspasspass
rb styling, only start tags
ruby-styling-003.html
rb elements can be styled when only start tags are used. passpasspasspasspasspassfailfail

rb, tabular

Is the rb element detected and styled, for tabular ruby elements?

Links to run testsAssertionsGecko FirefoxBlink ChromeBlink CanaryBlink OperaWebkit SafariWebKitLegacy EdgeIE
rb styling, rb,rb,rt,rt format
ruby-styling-004.html
rb elements can be styled when all tags are used but all rb elements are grouped together. passpasspasspasspasspasspasspass
rb styling, rb,rb,rt,rt format, start tags only
ruby-styling-005.html
rb elements can be styled when only start tags are used and all rb elements are grouped together. passpasspasspasspasspassfailfail

rt, interleaved

Is the rt element detected and styled, for interleaved ruby elements?

Links to run testsAssertionsGecko FirefoxBlink ChromeBlink CanaryBlink OperaWebkit SafariWebKitLegacy EdgeIE
rt styling, full markup
ruby-styling-006.html
rt elements can be styled when fully marked up. passpasspasspasspasspasspasspass
rt styling, only start tags
ruby-styling-007.html
rt elements can be styled when only start tags are used. passpasspasspasspasspassfailfail

rt, tabular

Is the rt element detected and styled, for tabular ruby elements?

Links to run testsAssertionsGecko FirefoxBlink ChromeBlink CanaryBlink OperaWebkit SafariWebKitLegacy EdgeIE
rt styling, rb,rb,rt,rt format
ruby-styling-008.html
rt elements can be styled when all tags are used but all rt elements are grouped together. passpasspasspasspasspasspasspass
rt styling, rb,rb,rt,rt format, start tags only
ruby-styling-009.html
rt elements can be styled when only start tags are used and all rt elements are grouped together. passpasspasspasspasspasspasspass

span

Can the span element be used to style a portion of the rb or rt text?

Links to run testsAssertionsGecko FirefoxBlink ChromeBlink CanaryBlink OperaWebkit SafariWebKitLegacy EdgeIE
ruby styling, span on ruby base
ruby-styling-010.html
It is possible to style part of the ruby base text using a span element. passpasspasspasspasspasspasspass
ruby styling, span on ruby annotation
ruby-styling-011.html
It is possible to style part of the ruby annotation text using a span element. passpasspasspasspasspasspasspass

Single-sided ruby position

These tests are exploratory. The HTML spec doesn't actually indicate how ruby bases and annotations should be positioned relative to each other, it is concerned with associating the right base with the right annotation(s). Expected positioning is not specified in the part of the spec that describes the ruby elements, nor in the Rendering section of the spec. However, one can reasonably expect that in simple cases annotations are positioned above bases, by default. That is what these tests set out to explore.

Interleaved

These tests are exploratory. Does the browser stack annotations above bases, by default, for interleaved ruby elements?

Links to run testsAssertionsGecko FirefoxBlink ChromeBlink CanaryBlink OperaWebkit SafariWebKitLegacy EdgeIE
ruby position, full markup
ruby-position-001.html
Ruby annotations appear, by default, alongside the appropriate base text when full markup is used. passpasspasspasspasspasspasspass
ruby position, no rb tag
ruby-position-002.html
Ruby annotations appear, by default, alongside the appropriate base text when no rb tags are used. passpasspasspasspasspasspasspass
ruby position, only start tags
ruby-position-003.html
Ruby annotations appear, by default, alongside the appropriate base text when only start tags are used. passpasspasspasspasspassfailfail

Tabular

These tests are exploratory. Does the browser stack annotations above bases, by default, for tabular ruby elements?

Links to run testsAssertionsGecko FirefoxBlink ChromeBlink CanaryBlink OperaWebkit SafariWebKitLegacy EdgeIE
ruby position, rb,rb,rt,rt format
ruby-position-004.html
Ruby annotations appear, by default, alongside the appropriate base text when all tags are used but all rb elements are grouped together. passfailfailfailfailfailfailfail
ruby position, rb,rb,rt,rt format, start tags only
ruby-position-005.html
Ruby annotations appear, by default, alongside the appropriate base text when only start tags are used and all rb elements are grouped together. passfailfailfailfailfailfailfail

Double-sided ruby

These tests are exploratory. As for the previous section, the HTML spec doesn't actually indicate how ruby bases with multiple annotations should be positioned relative to each other. However, one can reasonably expect that annotations are vertically stacked above bases, by default. That is what these tests set out to explore. (CSS would need to be used to position multiple annotations one over and one below.)

Tabular, using RTC

These tests are exploratory. Do various combinations of markup with rtc elements, sometimes mixing mono- and group-ruby, in the tabular model produce reasonable results by default?

Links to run testsAssertionsGecko FirefoxBlink ChromeBlink CanaryBlink OperaWebkit SafariWebKitLegacy EdgeIE
double-sided ruby, mono, one rtc
ruby-double-001.html
If there are two sets of mono-ruby annotations, and only one rtc element, both are placed alongside the base text, and alongside the appropriate base character. passfailfailfailfailfailfailfail
double-sided ruby, mono, 2 rtcs
ruby-double-002.html
If there are two sets of mono-ruby annotations, in two rtc elements, both are placed alongside the base text, and alongside the appropriate base character. passfailfailfailfailfailfailfail
double-sided ruby, mono+group, one rtc
ruby-double-003.html
If there are two sets of ruby annotations, the first mono- the second group-ruby, and one rtc element, both are placed alongside the base text, with mono-ruby alongside the appropriate base character, and group-ruby spanning all. passfailfailfailfailfailfailfail
double-sided ruby, mono+group, two rtcs
ruby-double-004.html
If there are two sets of ruby annotations, the first mono- the second group-ruby, and one rtc element, both are placed alongside the base text, with mono-ruby alongside the appropriate base character, and group-ruby spanning all. passfailfailfailfailfailfailfail
double-sided ruby, group+mono, one rtc
ruby-double-005.html
If there are two sets of ruby annotations, the first group- the other mono-ruby, and one rtc element, both are placed alongside the base text, with mono-ruby alongside the appropriate base character, and group-ruby spanning all. partialfailfailfailfailfailfailfail
double-sided ruby, group+mono, two rtcs
ruby-double-006.html
If there are two sets of ruby annotations, the first group- the other mono-ruby, in two rtc elements, both are placed alongside the base text, with mono-ruby alongside the appropriate base character, and group-ruby spanning all. passfailfailfailfailfailfailfail
double-sided ruby, mono, rt+rtc
ruby-double-008.html
If there are two sets of mono-ruby annotations, marked up using rt elements immediately followed by rtc elements, the each annotation is placed alongside the appropriate base character. passfailfailfailfailfailfailfail

Notes

  1. ruby-double-005, Firefox 38.0.1: The numbers did not extend across all the base characters – just the first one.

Nested

These tests are exploratory. Do nested ruby elements produce reasonable results by default?

Links to run testsAssertionsGecko FirefoxBlink ChromeBlink CanaryBlink OperaWebkit SafariWebKitLegacy EdgeIE
double-sided ruby, mono+group, nested
ruby-double-007.html
If there are two sets of ruby annotations, the first is mono-ruby in a nested ruby element, the second group-ruby, both are placed alongside the base text, with mono-ruby alongside the appropriate base character, and group-ruby spanning all. partialpasspasspasspasspassfailfail

Notes

  1. ruby-double-007, Firefox 38.0.1: The horizontal alignment of the ruby text was correct, but the two ruby texts overlap.

Ruby annotation gaps

Interleaved

If a blank rt element is used in interleaved markup, does the browser leave a gap above the relevant base?

Links to run testsAssertionsGecko FirefoxBlink ChromeBlink CanaryBlink OperaWebkit SafariWebKitLegacy EdgeIE
ruby gaps, interleaved
ruby-gaps-001.html
An empty rt element causes a gap above it's associated base text in interleaved rb/rt markup. passpasspasspasspasspasspasspass

Tabular

If a blank rt element is used in tabular markup, does the browser leave a gap above the relevant base?

Links to run testsAssertionsGecko FirefoxBlink ChromeBlink CanaryBlink OperaWebkit SafariWebKitLegacy EdgeIE
ruby gaps, separated
ruby-gaps-002.html
An empty rt element causes a gap above it's associated base text in markup where all rts appear grouped after all the rbs. passfailfailfailfailfailfailfail