Re: including ruby in an xhtml 1 transitional doc

Tex,

Tex Texin <tex@i18nguy.com> wrote:

> With respect to C. Lilley's last comment, I am a bit surprised. I was
> under the impression that XHTML was a hybrid that allowed older browsers
> could work with, provided new features weren't taken advantage of,

Only a small subset of the whole XHTML Family falls into that category,
namely XHTML 1.0 documents which follow HTML Compatibility Guidelines
described in Appendix C of the XHTML 1.0 specification.  There are
many other XHTML Family document types that don't fall into that
category, such as XHTML+MathML and XHTML+MathML+SVG.

> However, the last paragraph suggests to me that users migrating to xhtml
> 1.1 cross the rubicon,

Exactly.

> dragging in a set of more advanced requirements
> while eliminating the use of older browsers.
> 
> In any event, the Ruby and Unicode example page:
> http://www.i18nguy.com/unicode/unicode-example-ruby.html
> 
> seems to display well with IE 5.5+ despite being served up as text/html
> charset=utf-8.

On the other hand, you'll lose language information provided via
the "xml:lang" attribute if you use 'text/html', since that attribute
is unknown to HTML browsers.  There's no "lang" attribute in XHTML 1.1
anymore.

> Netscape 6 and Opera 6 do ok, but don't support Ruby, they simply
> produce the annotation alongside the base text.

Because you used style properties like "ruby-position" and "ruby-align",
which are still in development phase and natually not yet deployed
widely.  The Ruby Annotation spec explicitly says that it only defines
markup for ruby and rendering should be controlled by style sheets.
If you provide some CSS1 or 2 style sheets that those browsers
understand, those browsers will style ruby accordingly - but only if
you serve the document as 'application/xhtml+xml', 'application/xml'
or 'text/xml'.  If you serve the document as 'text/html', then ruby
markup is unkown to HTML browsers and style properties for ruby won't
work (except IE).

> When the browsers support the media types, I will consider making the
> change to application/xhtml+xml.

You may check unofficial test results at:

    http://www.w3.org/People/mimasa/test/xhtml/media-types/results

Except IE/Win and IE/Mac, recent versions of major XML-aware browsers
already support 'application/xhtml+xml'.

> I do think the media type recommendation
> http://www.w3.org/TR/2002/NOTE-xhtml-media-types-20020430/
> is incorrect in describing itself as "best current practice".
> It is not current practice and it undermines the credibility of other
> documents to declare so until user agents at least recognize it.

XHTML Media Types Note, "3.2. 'application/xhtml+xml'" says as follows
(emphasis added by me):

    'application/xhtml+xml' SHOULD be used for serving XHTML documents
    to *XHTML user agents*.

It further says:

    Authors who wish to support both XHTML and HTML user agents MAY
    utilize content negotiation by serving HTML documents as 'text/html'
    and XHTML documents as  'application/xhtml+xml'.

The Note itself is served that way, XHTML-aware user agents like Amaya
and Gecko-based browsers will receive an XHTML 1.1 document served as
'application/xhtml+xml', which includes the use of ruby.  There is
an alternate stylesheet to render ruby markup as interlinear annotation
if you really like to see it as ruby.  HTML browsers like IE will get
an HTML 4 version served as 'text/html', which doesn't include ruby
(as it's not defined in HTML 4).

> I would rather it have said it is a recommendation for what should be
> considered proper practice once industry supports it, or some such.
> I would be happy to learn I have misunderstood something about this.

You should also note the keyword "SHOULD" - "2. Terms and Definitions"
says as follows:

    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
    this document are to be interpreted as described in RFC 2119 [RFC2119].

And "SHOULD" in RFC 2119 is defined as follows:

  3. SHOULD   This word, or the adjective "RECOMMENDED", mean that there
     may exist valid reasons in particular circumstances to ignore a
     particular item, but the full implications must be understood and
     carefully weighed before choosing a different course.

So, there may exist valid reasons in particular circumstances to
ignore a particular item in this Note, and if you understand the full
implications and carefully weighed it before choosing a different
course, then it's your choice to choose a different course and nothing
in this informative Note will stop you to do so.

There is always an issue of transition, for example, MathML had been
in a very hard situation that IE only supported (X)HTML+MathML when
it's processed as HTML, and Mozilla and others only worked when it's
processed as XML - just like ruby in this case.  As mentioned in
other message, there is an XSLT stylesheet so that you can serve it
as XML and transform it according to user agent's capability.
Likewise, if you are desparate for it and are prepared to cope with
nasty details, you could add a simple XSLT stylesheet to an XHTML
document with ruby markup and serve it as 'application/xml' or
'text/xml', and IE could display something.

Regards,
-- 
Masayasu Ishikawa / mimasa@w3.org
W3C - World Wide Web Consortium

Received on Saturday, 13 July 2002 07:50:12 UTC