Verwirrlich finde ich zudem, dass das name-Attribut fuer <a> auch in XHTML 1.0 Strict offenbar noch erlaubt ist, und aus Gruenden der Rueckwaerts-Kompatibilitaet fuer Anker sogar noch empfohlen wird
Ich denke zwar nicht, dass die Working Group das so sieht, vor allem ist es ja bereits die zweite Ausgabe, aber ich persönlich halte das fehlende name-Attribut für form in Strict für einen groben Fehler, der der Logik der Kompatibilitätsrichtlinien widerspricht. Andererseits fehlt das name-Attribut auch bei img, sodass die üblichen Bilderwechsel über document.images['bildname'] genauso fehlschlagen wie der Zugriff auf document.forms['formularname']. Da wie du sagst a und map aus der Reihe tanzen, mutmaße ich, dass dahinter kein konsequentes System steckt, sondern einfach danach geurteilt wurde, ob das Wegkürzen des name-Attributs sehr große Kompatibilitätsprobleme verursacht. Bei map und a konnte das name-Attribut nicht deprecated sein, weil dann keine praktische HTML-Kompatibilität mehr möglich wäre (Anker lassen sich nunmal in prä-HTML4-Clients nicht ohne name lösen und map auch nicht, weil usemap einen Verweis auf ein name-Attribut erwartet), bei form und img ist nur Scripting betroffen.
Dass name bei object nicht deprecated ist, liegt übrigens wahrscheinlich daran, dass es eine besondere Aufgabe in Formularen hat, siehe http://www.w3.org/TR/html401/interact/forms.html#object-control. Das unterstützt meines Wissens aber sowieso kein Browser, das passt also in die Inkonsequenz...