- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Mon, 11 Sep 2017 10:47:34 -0700
- To: Simon Pieters <simonp@opera.com>
- Cc: Sangwhan Moon <sangwhan@iki.fi>, Xidorn Quan <me@upsuper.org>, "www-style@w3.org" <www-style@w3.org>
On Mon, Sep 11, 2017 at 12:23 AM, Simon Pieters <simonp@opera.com> wrote: > On Mon, Sep 11, 2017 at 8:46 AM, Sangwhan Moon <sangwhan@iki.fi> wrote: >> > On 11 Sep 2017, at 3:17 PM, Xidorn Quan <me@upsuper.org> wrote: >> > >> > On Mon, Sep 11, 2017, at 04:04 PM, Sangwhan Moon wrote: >> >> While dealing with a strange edge case related to duplicated IDs >> >> (triggered via cloneNode(), but also can be done by poorly written >> >> markup) I noticed that the selectors spec doesn't define what >> >> implementations are expected to do when there are multiple elements >> >> which >> >> define the same ID. >> > >> > The spec makes it pretty clear that all elements with the same ID should >> > be >> > matched. >> > >> > The spec says: >> >> An ID selector represents an element instance that has an identifier >> >> that >> >> matches the identifier in the ID selector. >> > and it specifically mentions the case after: >> >> (It is possible in non-conforming documents for multiple elements to >> >> match >> >> a single ID selector.) >> >> Oh, I completely missed that statement between the parentheses. Thanks. >> >> I was referring to this bit: "whatever the document language, an ID typed >> attribute can be used to uniquely identify its element." - my confusion >> mostly comes from the fact that unique IDs for conformance is implied in >> HTML at the moment, but is not enforced (and from what I gather, not defined >> either - which makes it a bit unclear if it duplicate IDs is against >> conformance or not.) - I suppose that's something I need to bring up with >> HTML and report back what is actually a conforming document in this context. > > > "When specified on HTML elements, the id attribute value must be unique > amongst all the IDs in the element's tree and must contain at least one > character. The value must not contain any ASCII whitespace." > > https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute Yeah, CSS *expects* that IDs are singular in the document, but defines how the ID selector works regardless; and HTML defines that a valid document has unique IDs (but also defines how its own things work regardless). ~TJ
Received on Monday, 11 September 2017 17:48:18 UTC