この特定のCSSセレクターを追加:not(:empty)すると、動作しなくなってしまいました。他のセレクターのどの組み合わせでも問題なく動作するようです。
input:not(:empty):not(:focus):invalid { border-color: #A22; box-shadow: none }
:not(:empty)パーツを外しても問題なく動作します。セレクターを変更しても、input:not(:empty)テキストが入力されている入力フィールドは選択されません。これは壊れていますか:empty、:not()それともセレクタ内での使用が許可されていませんか?
私が考えることができる他の唯一のことは、ブラウザにはまだ子がないので要素は空であると言っていることです。ん:emptyセレクタは、定期的な要素対の入力要素のための独立した機能を持っていませんか?ただし:empty、フィールドで使用してフィールドに何かを入力すると、代替の効果がなくなるためです(フィールドが空ではなくなるため)。
Firefox 8およびChromeでテスト済み。
:emptyセレクタ:「いくつかの他の要素を、他方では、定義によって(すなわち子を持たない)空になっている:<input>、<img>、<br>、および<hr>、たとえば。」
:not(:empty)と、フォーカスされていないが無効な入力に対して、赤い境界線が期待どおりに機能します。