Auszug aus Basic HTML data types (HTML-Grunddatentypen):
ID- und NAME-Attribut muss mit einem Buchstaben ([A-Z, a-z]) beginnen, dem eine beliebige Anzahl von Buchstaben, Ziffern ([0-9]), Bindestrichen („-“), Grundstrichen („_“), Doppelpunkten („:“) und Punkten („.“) folgen kann.
Eine einfache Regel, aber nach der Menge ungültiger id-Attribute, die ich jeden Tag sehe (die z.B. mit einer Ziffer beginnen), scheint dies nicht allgemein bekannt zu sein.
Ich persönlich bevorzuge kleine Buchstaben ([a-z]), Ziffern ([0-9]) und Bindestriche („-“). Aus meiner Erfahrung kann ich sagen, es ist einfach besser und man vermeidet so eventuelle Verwechslungen mit CSS-Selektoren, für die auch Doppelpunkte („:“) und Punkte („.“) verwendet werden können.
Ich hoffe dieser kleine Tipp hilft besonders den Anfängern diesem verbreiteten Fehler aus dem Weg zu gehen.

