Od Đonny na
Personally I think that Microsoft takes care about ASP.NET server controls rendering valid XHTML code if forced to by <xhtmlConformance mode="Strict"/> in <system.web> in web config. If you want you may get even table-less controls. But have you ever used such simple control as CheckBox? And have you ever set its Enabled property to fale?