Ähm, wie bitte?
Ich hatte gestern hier schon eine Antwort gepostet - die ist aber irgendwie flöten gegangen :)
Du hast recht, ja.
Ich hätte beim Schmied, und nicht beim Schmiedl fragen sollen - die CSS-2.1-Empfehlung widerspricht hier der HTML-4.91-Empfehlung.
http://www.w3.org/TR/CSS2/selector.html#pattern-matching
'E[foo~="warning"] Matches any E element whose "foo" attribute value is a list of space-separated values, one of which is exactly equal to "warning"'
'DIV.warning Language specific. (In HTML, the same as DIV[class~="warning"].)'
Aber wie du ja schreibst ist der Wert des class-Attributs in HTML 4.01 nicht leerzeichengetrennt - hier hat wohl jemand in der empfehlung das "white" vergessen.
http://www.w3.org/TR/css3-selectors/#class-html
Das Selectors Module aus CSS 3 hingegen spricht hier explizit von whitespace.