I'd like to see PHP.net be compliant to some standard, probably HTML
4.0.1 Transitional (this is what it's current DOCTYPE heading has). It
is *very* close to being there, except there hasn't been much of a
standard so far, with part of the website compliant to HTML, and parts
using XHTML tags (e.g. <br /> <link />, etc..). I think we should come
up with a standard of what PHP.net should comply to and stick with it.
Any comments?
Don't touch it. Why fix something that renders correctly everywhere? AFAIK Goba put quite some time in this.
Well, I had a bit longer comment on this, but a very few care to comment on it. I also put some effort into making the homepage and some other pages XHTML 1.0 Transitional compliant.
I am on the side of fixing things, and I don't care that it renders correctly right now. I would be happy if the php.net site would join up to the standard based sites list, as we produce a tool which is used for site building and this standard based site would make us look better. And that would show that we take care.
If you check the homepage with validator.w3.org using detected values, you will see a few errors [like <input> cannot have such attributes we use there, and that <td> has no background attribute]. Those errors will be fixed in CSS, but I had no time to test it. Remember that if you change something in CSS, you need to test in some browsers. If you are not confident that it will look well in IE, then don't do anything! I changed some parts, having no IE setup [I am on linux ;)], but double checked my changes with tips on CSS tutorial sites, so they should work in IE too. Testing is of course easier for those having IE installed ;) IE is important as it has the most quirks regarding standards [it is not as standard compliant as it seems]. Mozilla is quite ok IMHO.
Now you see two strange errors in the validator output. I have sent a mail to the maintainers and they pointed out that it is a common way to parse the closing /> in SGML as closing the tag and having some text after it. But text is not valid in the <head>. So we will be unable to validate as HTML 4.0.1 with the current header.
All the efforts so far concentrated on migrating to XHTML 1.0 Transitional. That is the easiest to take for the first step. Still we have browser specific [non standard] markup at some places. It would be nice from someone to check the root pages [non-manual pages] for XHTML 1.0 transitional validity and point out the errors.
The solution in most of the non-standard markup cases is to use CSS, but that should be double checked especially if the homepage is affected. Also it is important to do all the changes without changing the DOCTYPE itself, until we are ready to change that to the correct one. Note that if we change the DOCTYPE, it will also affect CSS parsing [ie. property inheritance] and other display related behaviours of browsers too. Here is some reading on this with links:
http://www.upsdell.com/BrowserNews/res_doctype.htm#a02
So to summarize up: IMHO we should follow the way to XHTML 1.0 Transitional first, and then experiment with changing the DOCTYPE for internal testing [on a staging server set up for this role somewhere] and only turn the DOCTYPE on php.net if it works OK in most browsers.
Please also note that currently the manual pages are 99% of the site [there are many languages]. There is very ugly HTML code used on those pages right now, that is the output of the DSSSL sheets. I am not sure it complies to anything, I have not tested. But that is certainly not XHTML compliant. So the manual pages need special attention.
Goba