Code:
° xhtml: Te veel nutteloze divs. Dan had je het ding evengoed met tables kunnen opbouwen want op deze manier valt het nut van divs al volledig weg natuurlijk.
° xhtml: Je homepage is wel xhtml valid, maar om één ding te noemen: je contact-pagina alweer niet (en daarvoor moet ik niet eens de validator gebruiken). In je form staat ACTION in caps. xhtml heeft geen caps

...
° xhtml/accessibility: Je menu is met afbeeldingen opgebouwd. Dat is ook hier volledig onnodig en zelfs weer een doorn in het oog van elke screenreader. Te meer om dat je de afbeeldingen al geen ALT-tags meegegeven hebt! Het laat ook niet toe om bijvoorbeeld de font-grootte in je browser in te stellen (slechtzienden)
° CSS: uw a: elementen zijn niet volgens de
LoVeHAte volgorde gezet.
° CSS: iets als Courier New moet best tussen "" staan. (muggenziften, maar als je het strict wilt doen, doe het dan ook heel strict hé

)
° PHP: uw implementatie lijkt me nogal raar. Waarom niet gewoon met invludes gedaan en met aparte pagina's gewerkt? URL's met ?= enzovoort zijn nogal internetonvriendelijk (zeker voor zo'n kleine site). Je kan beter een pagina index.php, portfolio.php etc etc aanmaken en dan met een header en footer werken.
° Ontwerp: ziet er wel strak en eenvoudig uit, alleen storen die ouderwets lelijke fades links en rechts mij mateloos. Zeker met die dubbele border er nog eens langs!
Dat is in een notendop wat ik zo op het eerste zicht zie. Fixen die handel!
edit
Unrated zei:
wat is er dan mis met die <ul>? Die mag je toch gebruiken in xhtml?
<ul>
<li>List1</li>
</ul>
Is niks mis mee, maar Rvl bedoelt dat je voor je menu lijstjes moet gebruiken, in plaats van een hoop divs naast elkaar. Dat lijstje kan je dan perfect met css vormgeven gelijk je maar wil!