Jeff Cochran wrote:
If you do not use the strictest possible standard, publish a list of what fails the Strict DOCTYPE so those who need to use Strict can choose not to use those core modules in favor of more compliant third party ones. And if it ends up being a Transitional standard, make sure that all required code meets the Strict DOCTYPE and allow Transitional only in modules that can be replaced or unloaded by a general, non-programming, user.
These are very good suggestions.
Regarding the first, there are two related documents I'm also working on - a "user control reference" document and a "pattern library" document. The plan for the first document is to provide a definitive UI developer reference for all Skin/Container objects, reusable controls and UI generating providers, covering such details as the parameters they have, the output they generate, what standards they meet and whether they conform to our style Guidellines. Adding similar information for the core modules (though perhaps not getting into the nitty gritty of generated output) is a great idea.
(The "pattern library" document will be similar, except that it will cover complete UI patterns that are (or will soon be) in use in DNN including indications for use and details of the specific way DNN implements that pattern for module developers.)
Regarding the second suggestion - absolutely. My goal is to ensure that all UI generated by code "owned" by DNN Corp will eventually conform to the guidelines as "strictly" as possible, which includes the XHTML 1.1 standard, and to encourage project teams for "core" modules to do the same unless absolutely necessary. It will take some time to get there, but my hope is that we will eventually get to a point, maybe a year or two from now, where anyone installing DNN for the first time is able to use any of the included modules, providers or skins and end up with a standards compliant site.
As for HTML 5 - it's definitely on the radar, but it needs to sit on the back burner until (a) It's an official standard and (b) we reach an XHTML 1.1 standards level (since HTML 5 is essentially a superset of XHTML 1.1 and does not include the deprecated elements from XHTML 1.0 Transitional).
:-j(enni)