It's been a long journey but finally with 5.0, DotNetNuke will be XHTML compliant by default (XHTML 1.0 Transitional to be precise). DotNetNuke 5.0 will ship with a number of new skins, including a new default skin, and i've just tested it for xhtml compliance and got the following result back:
(It's marked as tentative as currently we don't specify a character encoding so the validator defaults to UTF-8. I'll be taking a look at this and hoping to get it resolved for the 5.0 release)
XHTML compliance has been an aim for a long time, but as with many legacy systems (DotNetNuke was based on the 2002 release of IbuySpy portal which used HTML 4.0 Transitional as it's default setting), it's been challenging to make the necessary changes without impacting the huge ecosystem of existing sites. Support for alternative doctypes was added back in 4.4 (http://www.dotnetnuke.com/Community/Blogs/tabid/825/EntryID/1226/Default.aspx), which has allowed a lot of sites to have xhtml skins, but there were still some manual tweaks that had to be made depending on content, and we've worked hard to remove these so that you can be compliant out of the box.
Of course having a valid xhtml skin isn't much use if modules and user content aren't compliant, so we've been making advances in that area also. For some time now there has been an XHTML Compliance Test on the release tracker. Initially this provided test results to the project teams, but didn't make the changes mandatory, to give the teams a chance to come up to speed. Recently, we've been making xhtml compliance a requirement for modules to pass through the release tracker. At present the tests are only for the public parts of the modules, as many modules require complicated javascript as part of their admin screens. I believe seven of the core project modules are already xhtml compliant, with more expected to pass in their next releases (we'll be adding a column on the downloads page to indicate compliance so site owners can make an informed decision on what module(s) to use).
In time we'll take a look at extending the xhtml tests to the admin interface(s), but for now this should allow most sites to pass accessibility compliance checks. Many people have put a lot of work into this, particularly our skinning lead Timo, who plans to blog a bit more of the details of this soon - we also hope to offer guidance to module developers on our testing process so that 3rd party modules can also make the necessary changes
In addition, we'll shortly see an updated release of the FCK editor provider, bringing it up to date with a large number of enhancements including better support for browsers such as firefox3, opera and safari as well as creating xhtml compliant content. Finally, we've had to make a number of core changes to ensure that core code also validated (see the roadmap http://support.dotnetnuke.com/project/RoadMap.aspx?PROJID=2 for some of these).
Making sure your site is xhtml compliant is important for many reasons, including ensuring compliance with accessibility standards such as ADA-508 and WCAG, ensuring that AJAX code works correctly, and making sure that your websites work on the broadest number of browsers, and with these changes we hope to have made your life a lot easier.