The Idea
Currently the default Joomla components (such as the home page) use a lot of tables, but the data displayed isn't actually tabular data. As a result the markup is difficult to read, difficult to style, and not semantically correct. What I propose is an update of this code to modern web standards, using only tags that are present in XHTML 1.0 Strict, and leaving the styling to CSS. I believe is there is significant demand for this idea; this is demonstrated in Joomla 1.5 with the introduction of chrome overrides. As a theme designer for Joomla I have used chrome overrides, they're better than table output but native support would be preferred.
What about compatibility?
This is a major problem, it's not acceptable to break all the themes currently in existence. My proposed solution is to do what has already been done for other parts of Joomla themimg, introduce a switch in the XML. Currently when defining module positions you may request the modules be marked-up with tables or with a div. By introducing the same system for the component include, designers who wish to use CSS can do so, and legacy themes will continue to receive output with tables.
Objective Outline
- Introduction of switch allowing choice of table or div component output [Must Have]
- Updating all Joomla components to have a div output mode that uses only tags in XHTML 1.0 Strict [Must Have]
- Updating the default CSS style for this new markup [Must Have]
- Create new easier to understand theming documentation [Time Permitting]
- Improving the default styling (more stylish and easier to override if not desired) [Time Permitting]
I am currently a Computer Science student at the University of Waterloo in Canada. I have 12 years of experience doing website design, and 7 years of experience programming (5 of those years using PHP). I've previously submitted patches to open source projects so I'm familiar with open source development. I have previous experience with Joomla, having designed a theme that used chrome overrides for all components. In my designs I take standards and accessibility seriously, all my websites are valid XHTML 1.0 Strict, use valid CSS, and are W3C AAA accessible. You can find my personal website at http://www.taylorbyrnes.org.