New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

DotNetNuke 5.0 xhtml compliance : Part 1

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:

5.0 xhtml compliance

(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 (, 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 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.


Comment Form

Only registered users may post comments.


Aderson Oliveira (22)
Alec Whittington (11)
Alessandra Davies (3)
Alex Shirley (10)
Andrew Hoefling (3)
Andrew Nurse (30)
Andy Tryba (1)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (37)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Bogdan Litescu (1)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (213)
Chris Paterra (55)
Clint Patterson (108)
Cuong Dang (21)
Daniel Bartholomew (2)
Daniel Mettler (181)
Daniel Valadas (48)
Dave Buckner (2)
David Poindexter (12)
David Rodriguez (3)
Dennis Shiao (1)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (80)
Francisco Perez Andres (17)
Geoff Barlow (12)
George Alatrash (12)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (274)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Kelly Ford (4)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matt Rutledge (2)
Matthias Schlomann (16)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Miguel Gatmaytan (3)
Mike Horton (19)
Mitchel Sellers (40)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Oliver Hine (1)
Patricio F. Salinas (1)
Patrick Ryan (1)
Peter Donker (54)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Sacha Trauwaen (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott Schlesier (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Steven Fisher (1)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (3)
Tycho de Waard (4)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (40)
Will Strohl (180)
William Severance (5)
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out