- 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
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 UTC