I am enjoying use of the CSS-Friendly adapters. Nicely done!
But I noticed that the PasswordRecovery adapter -- and any other that calls WebControlAdapterExtender.WriteReadOnlyTextBox() -- generates non-compliant XHTML, at least in the C# version. The problem is in line
writer.WriteAttribute("readonly", "true");
Attribute value should be "readonly" also.