W3C home > Mailing lists > Public > public-html-bugzilla@w3.org > November 2011

[Bug 14709] user agent lang tag handling is insufficiently specified

From: <bugzilla@jessica.w3.org>
Date: Wed, 09 Nov 2011 01:29:45 +0000
To: public-html-bugzilla@w3.org
Message-Id: <E1RNwz3-0001Up-Sb@jessica.w3.org>
http://www.w3.org/Bugs/Public/show_bug.cgi?id=14709

--- Comment #26 from Glenn Adams <glenn@skynav.com> 2011-11-09 01:29:44 UTC ---
(In reply to comment #24)
> (In reply to comment #23)
> > 'mya' (comment #0) is clearly invalid as a BCP47 language tag. However, AFAICS,
> > it would have to be BCP47 which defined what a "legacy language tag" would be.
> > But "legacy" is a word that does not occur in BCP47. 
> > 
> > BCP47 operates with 'Deprecated', and in the Language Subtag registry, there
> > appear to be 90 entries which have the 'Deprecated:' field. Since 'mya' does
> > not appear in the Language Subtag registry, it has no other status than
> > invalid.
> 
> The 'mya' language subtag is a registered ISO 639-3 language subtag but
> there's an equivalent ISO 639-1 two-letter code, 'my', so the valid
> BCP47 form is 'my' and not 'mya'.  I don't think "deprecated" really is
> a fitting description, it's simply invalid in the context of a BCP47 tag.
> 
> I agree that invalid language subtags should not be mutated in the DOM
> but invalid BCP47 language subtags must be interpreted as being
> equivalent to null lang subtags.

I think I disagree with this. Treating as "null lang subtags" is the same as
treating as if an empty string were specified. This is different than ignoring.
If it is ignored, then the language of the parent element is used. If it is
treated as empty string, then the language of the parent element is not used.

> For background, below is the bug discussion that led me to file this
> bug: https://bugzilla.mozilla.org/show_bug.cgi?id=631479#c92
> 
> Basically Gecko has several backends for handling fonts, one for
> OpenType fonts and another for Graphite fonts under development, and the
> language tag format is different between these.  My feeling is that
> only valid BCP47 language subtags should be mapped or passed down to
> these font backends, invalid tags should treated as if the lang subtag
> was not specified.

Yes. But now you are back to "ignoring" as opposed to treating as if an empty
string were specified.

To be clear, I support "ignoring" but do not support interpreting as "empty
string" (null language tag).

(In reply to comment #25)
> (In reply to comment #24)
> > (In reply to comment #23)
> > > 'mya' (comment #0) is clearly invalid as a BCP47 language tag. However, AFAICS,
> > > it would have to be BCP47 which defined what a "legacy language tag" would be.
> > > But "legacy" is a word that does not occur in BCP47. 
> > > 
> > > BCP47 operates with 'Deprecated', and in the Language Subtag registry, there
> > > appear to be 90 entries which have the 'Deprecated:' field. Since 'mya' does
> > > not appear in the Language Subtag registry, it has no other status than
> > > invalid.
> > 
> > The 'mya' language subtag is a registered ISO 639-3 language subtag but
> > there's an equivalent ISO 639-1 two-letter code, 'my', so the valid
> > BCP47 form is 'my' and not 'mya'.  I don't think "deprecated" really is
> > a fitting description, it's simply invalid in the context of a BCP47 tag.
> > 
> > I agree that invalid language subtags should not be mutated in the DOM
> > but invalid BCP47 language subtags must be interpreted as being
> > equivalent to null lang subtags.
> 
> I think I disagree with this. Treating as "null lang subtags" is the same as
> treating as if an empty string were specified. This is different than ignoring.
> If it is ignored, then the language of the parent element is used. If it is
> treated as empty string, then the language of the parent element is not used.
> 
> > For background, below is the bug discussion that led me to file this
> > bug: https://bugzilla.mozilla.org/show_bug.cgi?id=631479#c92
> > 
> > Basically Gecko has several backends for handling fonts, one for
> > OpenType fonts and another for Graphite fonts under development, and the
> > language tag format is different between these.  My feeling is that
> > only valid BCP47 language subtags should be mapped or passed down to
> > these font backends, invalid tags should treated as if the lang subtag
> > was not specified.
> 
> Yes. But now you are back to "ignoring" as opposed to treating as if an empty
> string were specified.
> 
> To be clear, I support "ignoring" but do not support interpreting as "empty
> string" (null language tag).

Actually, I've been going back in forth in my mind on this. My earlier
suggested change of language was to treat as if empty string were specified,
but then I realized that is different than ignoring. I'd like to hear other
opinions on this, since the two treatments are distinct.

By analogy, it is like ignoring an xmlns attribute in XML versus treating as
xmlns="". The former (ignoring) means the parent's default namespace remains in
effect, the latter means the namespace is reset to the "null/no namespace".

-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
Received on Wednesday, 9 November 2011 01:29:51 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 9 November 2011 01:29:52 GMT