XHTML Strict med .NET

Här gör jag en liten sammanfattning om tips för hur man får en .NET-applikation att validera som XHTML Strict.

Så testar man 

För att avgöra om sina sidor validerar mot den webbstandard som man valt att följa så kan man använda valideringsverktyget från WC3.

Vill man vara extrem så kan man ju även testa den nya betaversionen. Märkte just en skillnad från den vanliga versionen. I nya betan måste ange rätt namnrymd i html-taggen för att validera som Strict, så här alltså:

<html xmlns="http://www.w3.org/1999/xhtml">

Ställ in Web.config 

Använder man .NET som utvecklingsplattform så finns det några saker man bör ha med i <system.web>-delen av Web.config för att slippa konstiga fel.

Dels så bör man lägga till W3C_Validator i BrowserCaps som vi förklarat tidigare.

<browserCaps>
<case match="W3C_Validator*">
TagWriter = System.Web.UI.HtmlTextWriter
W3CDomVersion = 1.0
</case>
</browserCaps>

Sen även lägga till följande rad så att koden ska följa Strict-standarden. I detta läge får inte form-taggen inte ska få något name-attribut (det får den inte ha i XHTML). Antagligen är det fler saker som händer med koden men vet inte precis.

<xhtmlConformance mode="Strict" />

Den extra diven runt viewstate

I och med .NET 2.0 så har en del förändringar skett så att koden ska bli mer XHTML-kompatibel. Bland annat så läggs numera en extra <div> runt viewstate.

Det här kan dock ställa till problem med CSS formatering. För den nya div-taggen har inte har någon css-klass eller id och är därför svår att styla utan att påverka resten av dokumentet. Den här taggen har flera gånger förstört layouts för mig, så jag förstår de som klagar.

Comments

Sjukt bra sammanfattat. Har använt mig av XhtmlConformance mode ett bra tag nu, men glömt browserCaps-inställningen.

Tänkte skriva om detta på min blogg, men det behövs ju inte när det här finns.

Tackar för detta! :)

Hehe, bra att du hittade det och slapp skriva ett likadant.