Die Steuerung muß generell verstehen, wo HTML, wo CSS und wo JavaScript steht. Letzteres ist durch ein Tag markiert, ersteres durch die Syntax von HTML.
<div id="grün" style="font-family:fantasy;" onMouseover="...">
Theorien sind schön.
Ich habe nicht behauptet, daß es trivial ist.
Aber mit Deinem Beispiel werde ich (gerade so eben) noch fertig:
Der HTML-Checker muß lediglich begreifen, daß er den Parameter von "style" nicht selbst checken darf, sondern ihn vom CSS-checker prüfen lassen muß. *Das* muß Bestandteil der HTML-Syntax sein.
Ähnlich ist die Sache mit dem onMouseOver, welches einen Parameter hat, den der JavaScript-checker prüfen muß.
Das Problem erscheint mir also durchaus beherrschbar.