Hallo,
Das, was du hier als Beispiel vorgestellt hast, war ein Haufen Murks.
Wobei der gleiche Fehler auch auf validen und als application/xhtml+xml ausgelieferten Seiten passiert -> Beispiel. Scheinbar versuchen die Opera-Entwickler mal wieder den IE zu klonen :-(
Gute Argument.
Gucken wir das an.
OK, ich könnte gleich am Anfang sagen, dass wenn man XHTML einsetzt, sollte man wissen, dass "name" deprecatend ist. Abe gut, das soll nicht das Problem sein.
Das Problem ist, dass name und id in XHTML die gleichen Werte haben soll (für ein und dasselbe Element) und innerhalb des Dokuments einmalig sein soll.
"HTML Compatibility Guidelines" (für XHTML) :http://www.w3.org/TR/xhtml1/#guidelines
-----------
Further, since the set of legal values for attributes of type ID is much smaller than for those of type CDATA, the type of the name attribute has been changed to NMTOKEN. This attribute is constrained such that it can only have the same values as type ID, or as the Name production in XML 1.0 Section 2.3, production 5. Unfortunately, this constraint cannot be expressed in the XHTML 1.0 DTDs. Because of this change, care must be taken when converting existing HTML documents. The values of these attributes must be unique within the document, valid, and any references to these fragment identifiers (both internal and external) must be updated should the values be changed during conversion.
-----------
Sprich: <input name="abcd" id="abcd" ... /> ist 100% korrekt.
Ein <input name="abcd" ... /> <hr id="abcd" /> ist aber streng genommen falsch. Aber wie gesagt: "Unfortunately, this constraint cannot be expressed in the XHTML 1.0 DTDs" so, dass der Validator das auch nicht überprüfen kann.
Man kann schon darüber streiten ob Opera hier falsch vorgeht, wenn er diese Regel streng auslegt oder nicht.
Grüße
Thomas