My comments on the proposal:
* Planning to replicate current html structure in templates first is a very good idea.
* XHTML 1.0 Transitional is a good choice as it is XML and provides a stepping stone to strict.
* WAI, SENDA and Section 508 standards are all good things. It is important to remember that these standards are not met just by creating valid (X)HTML. Proper semantic use of tags and probably extensive user testing is required to fulfil the spirit and not just the letter of the law.
* You mentioned elsewhere using templates to tailor content for phones,PDA etc. I think that it is a much better idea to aim to do it all in CSS with a single properly marked up XHTML page being sufficient for all different browsers & platforms *if* it is done correctly.
* "Users choosing themes" needs to be clarified. Most user style switching I've seen is done via the
javascript/cookie/CSS route. This should, I think, be separate from administrators choosing themes. To clarify my own point: choosing text size (and maybe font but less importantly) should be up to the user. Providing a hi-vis / hi-contrast / colour-blind safe alternate theme should probably be a commonly developed default part of every different 'theme'. But allowing end users to choose between a wide variety of skins (that look like Mac OS X, or match their football colours or whatever) through a PHP based mechanism seems A) somewhat frivolous and B) to impact negatively on the
usability of the site (for example using coloured text in forums that might be invisible on certain backgrounds). Minor visual changes within a theme a la
http://www.simplebits.com/ (has colour controls in the top right corner) seem more appropriate on a user selected basis.
* I'm struggling to express why I think multiple templates (per device, or per Moodle theme) are a bad idea. I think my main problem is that creating a proper semantically correct XHTML layout is a very difficult task. Once it is done then creating different CSS 'views' or 'themes' should be relatively easy, but it will be an iterative process with people needing things added to the XHTML in order to do interesting things in the CSS. (see
http://www.csszengarden.com/). By encouraging people to fork the XHTML, you are losing focus and asking for a large number of templates/themes using traditional HTML shortcuts as it simply won't be worth the effort to get it to work 'correctly' (from a CSS/accessibility/code-sharing perspective) in a single theme utilized by only a small subset of the users.
* A web interface to colour sets (anaglogous or complementary color schemes, different shades of a single colour etc.) is something I was also thinking about. However, I was thinking that after the colours were chosen then a new .css file would be written out from a template (which should help with style caching problems too) rather than have them called each time from a .php file which is 99% CSS and changes once in a blue moon. After this file generation step they would then be totally transparent to the rest of the system, which would deal with it just like a hand generated .css theme.
* "All styles will be named with a mdl_ prefix to allow mixing with other styles." I have no idea what this means!
* Smarty seems like a good choice.
* Gradual change is good.
That's all for now, hope you find this helpful.