This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 13393 - i18n-ISSUE-73: Case sensitivity of lang
Summary: i18n-ISSUE-73: Case sensitivity of lang
Status: RESOLVED FIXED
Alias: None
Product: HTML WG
Classification: Unclassified
Component: LC1 HTML/XHTML Compatibility Authoring Guide (ed: Eliot Graff) (show other bugs)
Version: unspecified
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: Eliot Graff
QA Contact: HTML WG Bugzilla archive list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-27 17:54 UTC by I18n Core WG
Modified: 2013-10-30 23:53 UTC (History)
6 users (show)

See Also:


Attachments

Description I18n Core WG 2011-07-27 17:54:50 UTC
6.3.3 Attribute Values
http://www.w3.org/TR/html-polyglot/#attribute-values

"Polyglot markup maintains case consistency for values on the following attributes, which occur on MIME types, language tags, charsets, booleans, media queries, and keywords. Though not required, an easy way to maintain case-consistency is to use only lower case values for these attributes. Polyglot markup maintains case consistency for these values because, for the purpose of selector matching, attribute values in XML are all treated case sensitively; however, HTML treats the values of these attributes as case insensitive (See 4.14.1 Case-sensitivity, in the HTML5 specification). [HTML5] "

"... lang ..."

It seems to us that lang should not be in this list. XML processors don't recognise lang as containing language information - which is why you have to have xml:lang anyway (specified elsewhere in this spec). So any case sensitivity would only be relevant to xml:lang. Unless we're mistaken, the CSS3 Selectors spec says that language attributes, including xml:lang are matched in a case-insensitive way (http://www.w3.org/TR/css3-selectors/#lang-pseudo), so xml:lang shouldn't be in this list either (currently it's not). 

We would like you to remove lang from the list.
Comment 1 Anne 2011-07-27 18:05:32 UTC
If lang is removed the other attributes should be removed as well. Their values are always case-insensitive.
Comment 2 Michael[tm] Smith 2011-08-04 05:07:13 UTC
mass-move component to LC1
Comment 3 Michael[tm] Smith 2011-08-04 05:07:35 UTC
mass-move component to LC1
Comment 4 Eliot Graff 2013-10-30 18:38:11 UTC
    EDITOR'S RESPONSE: This is an Editor's Response to your comment. If
    you are satisfied with this response, please change the state of
    this bug to CLOSED. If you have additional information and would
    like the Editor to reconsider, please reopen this bug. If you would
    like to escalate the issue to the full HTML Working Group, please
    add the TrackerRequest keyword to this bug, and suggest title and
    text for the Tracker Issue; or you may create a Tracker Issue
    yourself, if you are able to do so. For more details, see this
    document:

       http://dev.w3.org/html5/decision-policy/decision-policy.html

    Status: Accepted

I believe that this bug has previously been fixed, and so I am marking it so. 

The current editor's draft states: 

When specifying the language mapping of an element, polyglot markup uses both the lang and the xml:lang attributes. Neither attribute is to be used without the other, and polyglot markup maintains identical values for both lang and xml:lang.

The root element SHOULD always specify the language, or else HTML’s fallback language effect may step in and cause the language to vary depending on whether the document is consumed as XML (where the fallback language is not required to work) or consumed via file URI (where fallback language via external HTTP Content-Language would not work). Note that the internal http-equiv="Content-Language meta element is non-conforming in HTML5. For more, see e.g. HTML5’s language determination rules.

http://dev.w3.org/html5/html-xhtml-author-guide/html-xhtml-authoring-guide.html#language-attributes


When specifying the language mapping of an element, polyglot markup uses both the lang and the xml:lang attributes. Neither attribute is to be used without the other, and polyglot markup maintains identical values for both lang and xml:lang.

The root element SHOULD always specify the language, or else HTML’s fallback language effect may step in and cause the language to vary depending on whether the document is consumed as XML (where the fallback language is not required to work) or consumed via file URI (where fallback language via external HTTP Content-Language would not work). Note that the internal http-equiv="Content-Language meta element is non-conforming in HTML5. For more, see e.g. HTML5’s language determination rules.
Comment 5 Addison Phillips 2013-10-30 18:57:19 UTC
A look at the document on TR shows that the text about case sensitivity is still present in the section on attribute values. Your comment is about parallel use of @lang and @xml:lang. Did you close the wrong bug?

http://www.w3.org/TR/html-polyglot/#attribute-values
Comment 6 Eliot Graff 2013-10-30 21:38:14 UTC
Apologies. Yes, I meant to resolve bug 13394. I am still working on this bug.
Comment 7 Eliot Graff 2013-10-30 23:53:54 UTC
   EDITOR'S RESPONSE: This is an Editor's Response to your comment. If
    you are satisfied with this response, please change the state of
    this bug to CLOSED. If you have additional information and would
    like the Editor to reconsider, please reopen this bug. If you would
    like to escalate the issue to the full HTML Working Group, please
    add the TrackerRequest keyword to this bug, and suggest title and
    text for the Tracker Issue; or you may create a Tracker Issue
    yourself, if you are able to do so. For more details, see this
    document:

       http://dev.w3.org/html5/decision-policy/decision-policy.html

    Status: Accepted CVS revision 1.142

I've removed these two language attributes from the list and added the following note for clarification:

Also note that because XML processors don't recognize lang as containing language information, polyglot markup uses both the lang and the xml:lang attributes (see Language attributes); however, the CSS3 Selectors specification stipulates that language attributes, including xml:lang, are matched in a case-insensitive way. [SELECT]