W3C home > Mailing lists > Public > w3c-wai-gl@w3.org > July to September 1999

Re: Content negotiation example needed.

From: Alan J. Flavell <flavell@a5.ph.gla.ac.uk>
Date: Sat, 11 Sep 1999 18:31:39 +0100 (BST)
To: Chuck Letourneau <cpl@starlingweb.com>
cc: w3c-wai-gl@w3.org
Message-ID: <Pine.OSF.4.10.9909111728271.14779-100000@a5.ph.gla.ac.uk>

Greetings,

On Fri, 10 Sep 1999, Chuck Letourneau wrote:

> "1) Instead of including links such as "Here is the French version of this
> document", use content negotiation so that the French version is served to
> clients requesting French versions of documents."
> 
> I have never seen markup (or scripting) that actually shows how to do content
> negotiation. 

I presumed that it was referring to the content negotiation mechanisms
that are defined in HTTP, and as such are at the wrong level of the
"network layer cake" for _markup_ to be directly relevant to them.

Well, a server _could_ be programmed to analyze HTML documents for
language markup, and transfer the result into the HTTP protocol
somehow, but the mechanisms that I am familiar with are those
implemented for example in Apache MultiViews option, which is one
of the features of mod_negotiation.

> I honestly don't even know if it is only something that can be
> done server-side or if it can be done client-side. 

It needs to be prepared server-side, and requested by an appropriate
client-side configuration.  Since the client doesn't in general know
what language a document is in until they have retrieved it, a
client-side detection mechanism would not seem to be particularly
appropriate?

> I need to include a meaningful example in the EO WCAG Curriculum
> that will show students how to actually do it (or what it means to
> be able to do it), and be able to explain the concept in a few
> words.

The Apache MultiViews option is very easy to use, and the
documentation is quite simple, but there are useful features of the
protocol that it doesn't cover.  By configuring a negotiation map
instead of using MultiViews, it's possible to configure Apache to
understand that, for example, a German translation is of lower
quality than its French original, which the pure MultiViews approach
(AFAIK) cannot do.

Naturally you would tell your students that the underlying facility
(content negotiation) is a standard part of the HTTP protocol, and the
Apache-specific thing here is the server configuration details that
facilitate Apache to implement that standard. 

Let me share an anecdote.  I had recently set up a browser to say that
I wanted Greek, in order to test the language-negotiated page that I
had set up at http://ppewww.ph.gla.ac.uk/~flavell/charset/quick :
then, forgetting the browser setting, I had occasion to visit the
W3C's CSS validation service and was surprised to be told that they
had nothing acceptable, and be offered a choice of either English or
Chinese. http://jigsaw.w3.org/css-validator/validator-uri.html

refs:
http://www.apache.org/docs/mod/mod_negotiation.html
http://www.apache.org/docs/content-negotiation.html

It is of course useful to offer explicit links to the individual
language versions, even if the negotiation mechanism is enabled for a
generic URL too.  No national flags, please: that is inappropriate as
an indicator of language.

Note that content negotiation has negative implications for
cacheability by proxy cache servers etc. 

Hope that was useful.

Best regards
Received on Saturday, 11 September 1999 13:31:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:47:00 GMT