<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Frontaal.net &#187; doctype | Frontaal.net</title>
	<atom:link href="http://frontaal.net/tag/doctype/feed/" rel="self" type="application/rss+xml" />
	<link>http://frontaal.net</link>
	<description>Front-end basics over markup, CSS en toegankelijkheid</description>
	<lastBuildDate>Tue, 17 Jan 2012 23:16:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Doctype: welke moet ik kiezen?</title>
		<link>http://frontaal.net/200612/doctype-welke-moet-ik-kiezen/</link>
		<comments>http://frontaal.net/200612/doctype-welke-moet-ik-kiezen/#comments</comments>
		<pubDate>Tue, 05 Dec 2006 23:22:04 +0000</pubDate>
		<dc:creator>Roger</dc:creator>
				<category><![CDATA[(X)HTML]]></category>
		<category><![CDATA[doctype]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[markup]]></category>

		<guid isPermaLink="false">http://frontaal.net/2006/12/doctype-welke-moet-ik-kiezen/</guid>
		<description><![CDATA[Een <code>doctype</code> behoort tot de basis van een webpagina. Hoewel een <code>doctype</code> essentieel is voor een voorspelbare weergave van je webpagina, wordt deze door veel mensen niet of verkeerd gebruikt. In deel 2 over <code>doctype</code>: welk <code>doctype</code> moet ik kiezen?]]></description>
			<content:encoded><![CDATA[<p>Een <code>doctype</code> behoort tot de basis van een webpagina. Hoewel een <code>doctype</code> essentieel is voor een voorspelbare weergave van je webpagina, wordt deze door veel mensen niet of verkeerd gebruikt. In deel 1 over <code>doctype</code> lees je <a href="http://frontaal.net/200611/doctype-wat-moet-ik-ermee/">wat je aan een <code>doctype</code> hebt</a>; in deel 2 over <code>doctype</code>: welk <code>doctype</code> moet ik kiezen?</p>
<h2>Inhoud</h2>
<ul>
<li><a href="#valide">De valide <code>doctype</code>s</a></li>
<li><a href="#afvallers">De afvallers</a></li>
<li><a href="#html-xhtml">HTML of XHTML?</a></li>
<li><a href="#conclusie">Conclusie</a></li>
</ul>
<h2 id="valide">De valide <code>doctype</code>s</h2>
<p>Als je de broncodes van websites bekijkt, zijn er talloze doctypes in de omloop. De lijst met <a href="http://www.w3.org/QA/2002/04/valid-dtd-list.html" rel="external">valide <code>doctype</code>s</a> is echter beperkt. Voor webpagina’s komt het in de praktijk neer op de volgende <code>doctype</code>s:</p>
<ul>
<li>Drie HTML 4.01 <code>doctype</code>s (Transitional, Strict, Frameset).</li>
<li>Drie XHTML 1.0 <code>doctype</code>s (Transitional, Strict, Frameset).</li>
<li>Eén XHTML 1.1 <code>doctype</code>.</li>
</ul>
<h2 id="afvallers">De afvallers</h2>
<p>Wanneer je geen frames gebruikt, vallen er al weer twee af uit de lijst. <a href="http://www.webrichtlijnen.overheid.nl/aan-de-slag/alles-over-frames#nadelen" rel="external">Frames zijn namelijk niet aan te raden</a>. Een Transitional <code>doctype</code> wordt gebruikt voor sites in een overgangsfase, bijvoorbeeld voor sites die een contentmanagementsysteem gebruiken dat verouderde HTML levert. Overstappen op een Strict-doctype kan in zulke gevallen ongewenste bijwerkingen in browserweergave hebben. Nieuwe sites hebben dit probleem niet. Daar zou je dan ook geen Transitional-doctype moeten gebruiken. In veruit de meeste gevallen zijn er dan ook <a href="http://24ways.org/2005/transitional-vs-strict-markup" rel="external">geen goede redenen meer om een Transitional <code>doctype</code> te blijven kiezen</a>. Daarmee houden we de volgende <code>doctype</code>s over:</p>
<ul>
<li>Eén HTML 4.01 <code>doctype</code> (Strict).</li>
<li>Eén XHTML 1.0 <code>doctype</code> (Strict).</li>
<li>Eén XHTML 1.1 <code>doctype</code>.</li>
</ul>
<p>Wil je dat bezoekers met Internet Explorer (IE) jouw pagina’s nog steeds kunnen bekijken, dan kun je ook XHTML 1.1 vergeten; IE kan niet met (correct geserveerde) XHTML 1.1-pagina’s omgaan. Dit is ook het geval bij XHTML 1.0, maar daar is <a href="http://www.w3.org/TR/xhtml-media-types/" rel="external">incorrect serveren nog toegestaan</a>. Dan blijven er nog twee <code>doctype</code>s over:</p>
<p>HTML 4.01:</p>
<pre class="brush: html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;</pre>
<p>XHTML 1.0:</p>
<pre class="brush: html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;</pre>
<p>Rest de vraag: kies ik HTML of XHTML?</p>
<h2 id="html-xhtml">HTML of XHTML?</h2>
<p> <span id="more-7"></span><br />
XHTML is nieuwer dan HTML en nieuwer is beter, toch? <a href="http://www.hixie.ch/advocacy/xhtml" rel="external">Dat valt te betwijfelen</a>. Tussen 2003 en 2005 zijn veel websites inderdaad overgestapt op XHTML, maar daar begint men op terug te komen. Belangrijkste kritiekpunt is dat de meest gebruikte browser, IE, zelfs in <a href="http://blogs.msdn.com/b/ie/archive/2005/09/15/467901.aspx" rel="external">versie 7</a> en <a href="http://en.wikipedia.org/wiki/Internet_Explorer#Features" rel="external">versie 8 niet goed omgaat met XHTML</a>. Sterker nog, als je IE XHTML voorlegt <a href="http://www.w3.org/TR/xhtml-media-types/" rel="external">zoals XHTML bedoeld is</a>, dan zie je een leeg scherm. Een mogelijke oplossing is om &#8211; in ieder geval voor IE &#8211; <a href="http://keystonewebsites.com/articles/mime_type.php">XHTML te serveren als HTML</a>. Wanneer de server een IE-browser tegenkomt, dan geeft hij XHTML in een HTML-jasje mee; aan alle andere browsers levert hij échte XHTML. Dat kan echter ook weer <a href="http://bitworking.org/news/134/Content-Negotiation-Considered-Harmful-Again" rel="external">problemen</a> met zich meebrengen.</p>
<p>Sommigen vinden dat momenteel het <a href="http://annevankesteren.nl/2004/08/xhtml" rel="external">serveren van XHTML geen nut</a> heeft, aangezien 85% van de internetters met IE surft en het daarom in 85% van de gevallen niet werkt, zeker de komende jaren. Zij vinden dat je daarom beter een <code>doctype</code> kunt gebruiken waar alle browsers mee overweg kunnen, namelijk HTML 4.01 Strict. Anderen vinden dat je waar mogelijk <a href="http://dev.d10e.net/nb/2005/06/15/markup-in-the-real-world" rel="external">XHTML zou moeten gebruiken</a> (dus voor alle andere browsers behalve IE), bijvoorbeeld om vooruitgang op het web te voorspoedigen. Ook biedt XHTML uitbreidingsmogelijkheden; echter, voor veruit de meeste sitebouwers zullen die mogelijkheden van geen nut zijn. De <a href="http://www.robertnyman.com/2005/11/02/html-or-xhtml/" rel="external">keuze tussen HTML en XHTML</a> komt dus eigenlijk neer op een <a href="http://www.456bereastreet.com/archive/200601/html_or_xhtml_does_it_really_matter/" rel="external">persoonlijke voorkeur</a>.</p>
<h2 id="conclusie">Conclusie</h2>
<p>Van de talloze <code>doctype</code>s die je kunt vinden op internet, zijn er momenteel bij het bouwen van een nieuwe website meestal maar twee relevant: HTML 4.01 Strict en XHTML 1.0 Strict. Gezien de verwaarloosbare meerwaarde en het ontbreken van correcte XHTML-ondersteuning door IE ligt voor mij persoonlijk voor de hand om te kiezen voor HTML 4.01 Strict. Welke van de twee je ook kiest, het houden aan de specificaties van deze <code>doctype</code>s draagt bij aan de toegankelijkheid en vindbaarheid van je site en aan de overzichtelijkheid en duurzaamheid van de markup. Maar bovenal zorgt een correct <code>doctype</code> voor minder problemen met je layout. En wie wil er nou niet minder sitebouwproblemen?</p>
]]></content:encoded>
			<wfw:commentRss>http://frontaal.net/200612/doctype-welke-moet-ik-kiezen/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Doctype: wat moet ik ermee?</title>
		<link>http://frontaal.net/200611/doctype-wat-moet-ik-ermee/</link>
		<comments>http://frontaal.net/200611/doctype-wat-moet-ik-ermee/#comments</comments>
		<pubDate>Tue, 14 Nov 2006 23:56:11 +0000</pubDate>
		<dc:creator>Roger</dc:creator>
				<category><![CDATA[(X)HTML]]></category>
		<category><![CDATA[doctype]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[markup]]></category>

		<guid isPermaLink="false">http://frontaal.net/2006/11/doctype-wat-moet-ik-ermee/</guid>
		<description><![CDATA[Een <code>doctype</code> behoort tot de basis van een webpagina. Hoewel een <code>doctype</code> essentieel is voor een voorspelbare weergave van je webpagina, wordt deze door veel mensen niet of verkeerd gebruikt. Wat is een doctype en wat moet je ermee?]]></description>
			<content:encoded><![CDATA[<p>Een <code>doctype</code> behoort tot de basis van een webpagina. Hoewel een <code>doctype</code> essentieel is voor een voorspelbare weergave van je webpagina, wordt deze door veel mensen niet of verkeerd gebruikt. Wat is een doctype en wat moet je ermee?</p>
<h3>Inhoud</h3>
<ul>
<li><a href="#doctype">Wat is een <code>doctype</code>?</a></li>
<li><a href="#verschil">Wat voor verschil maakt een <code>doctype</code>?</a>
<ul>
<li><a href="#quirksmode">Quirksmode</a></li>
<li><a href="#standardsmode">Standardsmode</a></li>
<li><a href="#zien">Eerst zien, dan geloven?</a></li>
</ul>
</li>
<li><a href="#conclusie">Conclusie</a></li>
<li><a href="#leesvoer">Meer leesvoer</a></li>
</ul>
<h3 id="doctype">Wat is een <code>doctype</code>?</h3>
<p>Een <code>doctype</code> is over het algemeen de eerste regel in een HTML-pagina (boven het <code>html</code>-element) die aangeeft welke (X)HTML-versie er wordt gebruikt en op welke manier de browser zou moeten omgaan met regels voor layoutweergave. Een voorbeeld van een <code>doctype</code> is:</p>
<pre class="brush: html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;</pre>
<p>Er zijn veel verouderde boeken en tutorials in de omloop die deze basis van een HTML-pagina niet behandelen. Tot een aantal jaren geleden kon men daar nog mee wegkomen, maar tegenwoordig hangt de weergave van je pagina af van het <code>doctype</code> dat erboven staat. Wanneer je een bron tegenkomt die het niet over <code>doctype</code> heeft, leg deze bron dan terzijde; die is verouderd.</p>
<h3 id="verschil">Wat voor verschil maakt een <code>doctype</code>?</h3>
<p>Browsers hebben grofweg twee manieren om een pagina weer te geven, namelijk quirksmode en standardsmode. Het hangt <span id="more-3"></span> van het (ontbreken van een) <code>doctype</code> bovenaan het document af in welke modus een browser de webpagina weergeeft. Daarnaast is ook van invloed of er code boven het <code>doctype</code> staat (ook de <a href="http://www.webstandards.org/learn/articles/prolog_problems/" rel="external">XML prolog kan problemen veroorzaken</a>).</p>
<h4 id="quirksmode">Quirksmode</h4>
<p>Zoals de naam al aangeeft, heeft quirksmode nogal wat rare afwijkingen (quirks) in de weergave; elke browser gokt dan namelijk een beetje op basis van eigen aannames hoe een pagina eruit moet komen te zien. En de makers van bijv. <a href="http://www.mozilla-europe.org/nl/" rel="external">Firefox</a> deden andere aannames dan de makers van bijv. Internet Explorer (IE). Resultaat: er kunnen grote verschillen ontstaan in weergave. Toch laat men deze modus er nog inzitten, want veel websites missen een <code>doctype</code>, gebruiken een ongeldig <code>doctype</code>, of hebben code boven het <code>doctype</code> staan. De makers van deze sites rekenen daarmee op de ‘quirks’ van browsers voor een correcte weergave. Afstappen van quirksmode zou voor vele bestaande sites betekenen dat de sitelayout plots uit elkaar valt.</p>
<h4 id="standardsmode">Standardsmode</h4>
<p>Naast quirksmode heb je standardsmode. In deze modus volgt de browser zoveel mogelijk de webstandaarden zoals de W3C ze heeft vastgesteld. Door deze uniforme regels is de weergave van een webpagina door de diverse browsers veel beter te voorspellen; er zijn veel minder verschillen in weergave. Aan te raden is dus om te zorgen dat pagina’s in standardsmode worden weergegeven.</p>
<h4 id="zien">Eerst zien, dan geloven?</h4>
<p>Om een simpel en veelvoorkomend voorbeeld te geven wat voor het verschil het maakt, heb ik drie pagina’s gemaakt waarop een rechthoek te zien is. De pagina&#8217;s verschillen alleen in het gebruikte <code>doctype</code>. Wanneer je deze pagina’s in IE6 of IE7 <a href="#voetnoot" class="voetnoot-nummer">1</a> met elkaar vergelijkt, zul je grote verschillen zien.</p>
<ul>
<li>Op de eerste pagina <a href="http://frontaal.net/voorbeelden/doctype/zonder-doctype/">zonder <code>doctype</code></a> is de box smal (totale breedte = <code>width</code>);</li>
<li>Op de tweede pagina met <a href="http://frontaal.net/voorbeelden/doctype/onvolledig-doctype/">onvolledig (Transitional) <code>doctype</code></a> is de box ook smal (totale breedte = <code>width</code>)</li>
<li>Maar op de derde pagina met <a href="http://frontaal.net/voorbeelden/doctype/volledig-doctype/">volledig <code>doctype</code></a> is de box breder, zoals in de <a href="http://www.w3.org/TR/CSS21/box.html" rel="external">W3C-specificaties</a> wordt bedoeld (totale breedte = <code>width</code> + <code>padding</code> + <code>border</code> + <code>margin</code>)</li>
</ul>
<p>Op de eerste en tweede pagina wordt er gebruik gemaakt van quirksmode, in de derde van standardsmode. In quirksmode maakt IE gebruik van elementafmetingen die werken volgens het door IE (zelfbedachte) boxmodel; in standardsmode maakt IE net als alle andere browsers gebruik van het standaard <a href="http://www.addedbytes.com/for-beginners/the-box-model-for-beginners/" rel="external">boxmodel</a> van het W3C.</p>
<h3 id="conclusie">Conclusie</h3>
<p>Duidelijk is dat een doctype erg veel kan uitmaken. Wil je verschillen in weergave tussen diverse browsers vermijden, dan zou je gebruik moeten maken van standardsmode, waarin de browser zo veel mogelijk uitgaat van door W3C vastgelegde regels. Dat betekent dat je een volledig <code>doctype</code> zou moeten gebruiken.</p>
<p>Maar welk volledig <code>doctype</code> moet je dan kiezen? Dat komt aan bod in <a href="http://frontaal.net/200612/doctype-welke-moet-ik-kiezen/">deel 2 over <code>doctype</code></a>.</p>
<h3 id="leesvoer">Meer leesvoer</h3>
<ul>
<li><a href="http://www.addedbytes.com/for-beginners/the-box-model-for-beginners/" rel="external">The box model</a></li>
<li><a href="http://www.456bereastreet.com/archive/200612/internet_explorer_and_the_css_box_model/" rel="external">Internet Explorer and the CSS box model</a></li>
<li><a href="http://hsivonen.iki.fi/doctype/" rel="external">Activating the right layout mode using the <code>doctype</code> declaration</a></li>
<li><a href="http://www.communitymx.com/content/article.cfm?cid=85FEE" rel="external">Rendering mode and <code>doctype</code> switching</a></li>
<li><a href="http://www.informit.com/guides/content.asp?g=webdesign&#038;seqNum=263&#038;rl=1" rel="external">Box model mastery</a></li>
</ul>
<p id="voetnoot"><span class="voetnoot-nummer">1</span>Waarom zie je geen verschil in IE5.x of lager? Omdat Microsoft het t/m IE5.x niet zo nauw nam op het gebied van webstandaarden.</p>
]]></content:encoded>
			<wfw:commentRss>http://frontaal.net/200611/doctype-wat-moet-ik-ermee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

