- From: Ben Millard <cerbera@projectcerbera.com>
- Date: Wed, 5 Nov 2008 07:31:59 -0000
- To: "Ian Hickson" <ian@hixie.ch>, "Chris Wilson" <Chris.Wilson@microsoft.com>
- Cc: "HTMLWG" <public-html@w3.org>
Ian Hickson wrote: > [...] my impression is that the best thing for us to do is to say that <q> > should get punctuation marks like HTML4 says [...] HTML4 says this: [[[ Visual user agents must ensure that the content of the Q element is rendered with delimiting quotation marks. ]]] It doesn't specify which character must be used. This aspect is not interoperable in the main browsers, as documented in recent discussion. [[[ User agents should render quotation marks in a language-sensitive manner (see the lang attribute). Many languages adopt different quotation styles for outer and inner (nested) quotations, which should be respected by user-agents. ]]] The reference to lang gives no UA requirements for what the "language-sensitive manner" is for *any* value of the lang attribute. Elsewhere in this thread, the differing conventions within each language, the fact these change over time and the funkyness of the rules for several major languages (such as French and Russian) seem to make this requirement impossible. So, what are UAs supposed to implement? At the moment, they are not interoperable even for the basic case. In particular, IE7 does not generate quotation marks. > [...] since within a year all the browsers will do that [...] With IE8 doing different things for some selection of languages, the "language-sensitive" aspect will not be interoperable. If HTML5 is to make <q> generate quote marks, it will need to specify what UAs are supposed to do: * I imagine specifying and implementing <q> to generate quote marks for every language used on the web would be impractical. * If we say it always generates English quotes, that's hardly fulfilling the goal of internationalisation. * If we enshrine one convention in each of 5 major languages, that may not be an 80% solution. (It only solves a portion of the cases in each of a portion of the languages used on the web.) > [...] and then to encourage authors to use CSS to style their quote marks. Given how most websites use <table> for layout and <font> for phrase markup, this seems unlikely to won't happen. Indeed, the low updake of <q> confirms that it hasn't happened so far. > Authors are still free to avoid using <q> and just use quotation marks > directly in their markup if they desire. True. However, wrapping an element around quoted text offers authors greater flexibility for styling and document semantics. At the moment, authors can't use <q> for this due to its unusual side-effect of generating quotation marks outside of the 2 most popular browsers at this time (IE6 & IE7). > The backwards-compatibility direction is a fundamental principle of the > HTML5 work. As the uptake of <q> is so low and the market leading browser doesn't generate quotes, now seems like the least damaging time make <q> more useful for authors. We could score several goals with one ball by removing the automatic generation of quotation marks on <q>: * Simplifies the UA requirements, especially for internationalisation. * Removes a point of low interoperability from the web. * <q> becomes consistent with other phrase-level elements. * More predictable for authors to use (works like <b>, <em> and so on). * Authors can continue current practice of writing quotation marks themselves but can now use <q> for styling quoted text more easily. * <q cite> provides cross-referencing without the quote mark side-effect. -- Ben 'Cerbera' Millard <http://projectcerbera.com/web/study/>
Received on Wednesday, 5 November 2008 07:33:36 UTC