[Bug 12839] @id: Define how Unicode normalization affects the 'unique identifier' status

http://www.w3.org/Bugs/Public/show_bug.cgi?id=12839

Aryeh Gregor <Simetrical+w3cbug@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |Simetrical+w3cbug@gmail.com

--- Comment #4 from Aryeh Gregor <Simetrical+w3cbug@gmail.com> 2011-06-01 19:57:15 UTC ---
I believe the spec implicitly does say what "unique" means:

"""
Comparing two strings in a case-sensitive manner means comparing them exactly,
code point for code point.

. . .

Except where otherwise stated, string comparisons must be performed in a
case-sensitive manner.
"""
http://www.whatwg.org/specs/web-apps/current-work/multipage/infrastructure.html#case-sensitivity-and-string-comparison

If we take the small leap of assuming that "must be unique amongst all the IDs
in the element's home subtree" means "must not be equal to any other ID in the
element's home subtree", that suggests the comparison is purely as a matter of
code points, with no normalization.

Note that normalization does not necessarily make sense here.  It is possible
for an element to have an id that is malformed UTF-16, and therefore does not
represent any string of Unicode characters.  Also, I can almost guarantee you
that getElementById(), CSS selectors, etc. operate on sequences of 16-bit code
points without normalization, so making the conformance requirement for id
different doesn't sound like a good idea.


I suggest that this requirement on ID's be clarified by rephrasing it to link
to the definition of "case-sensitive".  Someone in #whatwg a year or two back
once wasn't sure if the uniqueness was case-sensitive or not, so that's two
people who didn't think it was clear.

-- 
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, 1 June 2011 19:57:18 UTC