aboutsummaryrefslogtreecommitdiff
path: root/files/nl/learn/html
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:42:52 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:42:52 -0500
commit074785cea106179cb3305637055ab0a009ca74f2 (patch)
treee6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/nl/learn/html
parentda78a9e329e272dedb2400b79a3bdeebff387d47 (diff)
downloadtranslated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz
translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2
translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip
initial commit
Diffstat (limited to 'files/nl/learn/html')
-rw-r--r--files/nl/learn/html/forms/geavanceerde_styling_van_html-formulieren/index.html436
-rw-r--r--files/nl/learn/html/forms/how_to_structure_an_html_form/index.html964
-rw-r--r--files/nl/learn/html/forms/index.html358
-rw-r--r--files/nl/learn/html/forms/styling_html_forms/index.html344
-rw-r--r--files/nl/learn/html/forms/the_native_form_widgets/index.html1448
-rw-r--r--files/nl/learn/html/forms/verzenden_van_formuliergegevens/index.html339
-rw-r--r--files/nl/learn/html/forms/your_first_html_form/index.html273
-rw-r--r--files/nl/learn/html/index.html56
-rw-r--r--files/nl/learn/html/introduction_to_html/document_and_website_structure/index.html266
-rw-r--r--files/nl/learn/html/introduction_to_html/getting_started/index.html513
-rw-r--r--files/nl/learn/html/introduction_to_html/gevorderde_tekstopmaak/index.html452
-rw-r--r--files/nl/learn/html/introduction_to_html/het_hoofd_metadata_in_html/index.html257
-rw-r--r--files/nl/learn/html/introduction_to_html/html_debuggen/index.html161
-rw-r--r--files/nl/learn/html/introduction_to_html/html_text_fundamentals/index.html632
-rw-r--r--files/nl/learn/html/introduction_to_html/hyperlinks_maken/index.html306
-rw-r--r--files/nl/learn/html/introduction_to_html/index.html64
-rw-r--r--files/nl/learn/html/introduction_to_html/opmaak_van_een_brief/index.html81
-rw-r--r--files/nl/learn/html/introduction_to_html/structureren_inhoud_van_webpagina/index.html83
-rw-r--r--files/nl/learn/html/multimedia_inbedden/afbeeldingen_in_html/index.html368
-rw-r--r--files/nl/learn/html/multimedia_inbedden/index.html53
-rw-r--r--files/nl/learn/html/tables/index.html42
21 files changed, 7496 insertions, 0 deletions
diff --git a/files/nl/learn/html/forms/geavanceerde_styling_van_html-formulieren/index.html b/files/nl/learn/html/forms/geavanceerde_styling_van_html-formulieren/index.html
new file mode 100644
index 0000000000..1025b94397
--- /dev/null
+++ b/files/nl/learn/html/forms/geavanceerde_styling_van_html-formulieren/index.html
@@ -0,0 +1,436 @@
+---
+title: Geavanceerde styling van HTML-formulieren
+slug: Learn/HTML/Forms/Geavanceerde_styling_van_HTML-formulieren
+tags:
+ - CSS
+ - Formulieren
+ - Geavanceerd
+ - Gids
+ - HTML
+ - Web
+ - voorbeeld
+translation_of: Learn/Forms/Advanced_form_styling
+---
+<p>In dit artikel wordt ingegaan op het gebruik van <a href="/nl/docs/Web/CSS">CSS </a>in <a href="nl/docs/Learn/HTML/Forms/Styling_HTML_forms">HTML</a>-formulieren om moeilijk te stijlen widgetsaan te passen. Zoals in vorig artikel werd aangegeven vormen tekstvelden en knoppen geen enkel probleem in CSS. Hier wordt dieper ingegaan  op de donkere kant van het stijlen van HTML-formulieren.</p>
+
+<p>Even ter herinnering:</p>
+
+<dl>
+ <dt>The bad</dt>
+ <dd>Elementen die moeilijk aan te passen zijn en die ingewikkelde trucs nodig hebben en soms ook geavanceerde kennis van CSS3.</dd>
+ <dt>The ugly</dt>
+ <dd>Elementen die praktisch niet kunnen aangepast worden. In het beste geval kunnen enkele zaken gedaan worden maar die werken dan weer niet in andere browsers. Volledige controle over de stijl van dergelijke elementen is onmogelijk.</dd>
+</dl>
+
+<h2 id="CSS_uiterlijk">CSS uiterlijk</h2>
+
+<p>Het probleem met formulierwidgets andere dan tekstvelden en knoppen, is dat in veel gevallen CSS niet expressief genoeg is.</p>
+
+<p>Recent is daar wel verbetering in gekomen:</p>
+
+<ul>
+ <li><a href="http://www.w3.org/TR/CSS21/selector.html#dynamic-pseudo-classes" rel="external" title="http://www.w3.org/TR/CSS21/selector.html#dynamic-pseudo-classes">CSS 2.1</a> was zeer beperkt en omvatte slechts drie pseudoklassen:
+
+ <ul>
+ <li>{{cssxref(":active")}}</li>
+ <li>{{cssxref(":focus")}}</li>
+ <li>{{cssxref(":hover")}}</li>
+ </ul>
+ </li>
+ <li><a href="http://www.w3.org/TR/css3-selectors/" rel="external" title="http://www.w3.org/TR/css3-selectors/">CSS Selector Level 3</a> voegt enkele nieuwe pseudoklassen toe:
+ <ul>
+ <li>{{cssxref(":enabled")}}</li>
+ <li>{{cssxref(":disabled")}}</li>
+ <li>{{cssxref(":checked")}}</li>
+ <li>{{cssxref(":indeterminate")}}</li>
+ </ul>
+ </li>
+ <li><a href="http://dev.w3.org/csswg/css3-ui/#pseudo-classes" rel="external" title="http://dev.w3.org/csswg/css3-ui/#pseudo-classes">CSS Basic UI Level 3</a> voegt ook enkele pseudoklassen toe om de toestand van het element te beschrijven:
+ <ul>
+ <li>{{cssxref(":default")}}</li>
+ <li>{{cssxref(":valid")}}</li>
+ <li>{{cssxref(":invalid")}}</li>
+ <li>{{cssxref(":in-range")}}</li>
+ <li>{{cssxref(":out-of-range")}}</li>
+ <li>{{cssxref(":required")}}</li>
+ <li>{{cssxref(":optional")}}</li>
+ <li>{{cssxref(":read-only")}}</li>
+ <li>{{cssxref(":read-write")}}</li>
+ </ul>
+ </li>
+ <li><a href="http://dev.w3.org/csswg/selectors4/" rel="external" title="http://dev.w3.org/csswg/selectors4/">CSS Selector Level 4</a> is op het ogenblik in de ontwikkelingsfaze en lijkt niet veel bij te dragen aan de verbetering van formulieren:
+ <ul>
+ <li>{{cssxref(":user-error")}} is slechts een verbetering van de {{cssxref(":invalid")}} pseudoklasse.</li>
+ </ul>
+ </li>
+</ul>
+
+<p>Dit alles is een goed begin maar er zijn twee problemen: ten eerste een aantal browsers implementeert niet verder dan CSS 2.1. En ten tweede zijn deze nauwelijks voldoende om ingewikkelde formulieren te stylen. Zoals bijvoorbeeld <code>datepicker</code> dat toelaat een  datum te kiezen uit een lijst van datums.</p>
+
+<p>Er zijn bij sommige browsers experimenten gaande betreffende de presentatie van formulieren en soms is het nuttig te weten wat er bestaat.</p>
+
+<div class="warning">
+<p><strong>Waarschuwing:</strong> ondanks dat die experimenten aantrekkelijk lijken,  <strong>zijn zij niet standaard, hetgeen betekent dat zij niet betrouwbaar zijn</strong>. Gebruik ervan is op eigen risico en misschien is het beter van ze niet te gebruiken want <a href="http://www.alistapart.com/articles/every-time-you-call-a-proprietary-feature-css3-a-kitten-dies/" title="http://www.alistapart.com/articles/every-time-you-call-a-proprietary-feature-css3-a-kitten-dies/">men zou iets kunnen doen dat slecht is voor het Web</a> door niet-standaard eigenschappen te gebruiken.</p>
+</div>
+
+<ul>
+ <li><a href="/en-US/docs/CSS/CSS_Reference/Mozilla_Extensions" title="/en-US/docs/CSS/CSS_Reference/Mozilla_Extensions">Mozilla CSS Uitbreidingen</a>
+
+ <ul>
+ <li>{{cssxref(":-moz-placeholder")}}</li>
+ <li>{{cssxref(":-moz-submit-invalid")}}</li>
+ <li>{{cssxref(":-moz-ui-invalid")}}</li>
+ <li>{{cssxref(":-moz-ui-valid")}}</li>
+ </ul>
+ </li>
+ <li><a href="/en-US/docs/CSS/CSS_Reference/Webkit_Extensions" title="/en-US/docs/CSS/CSS_Reference/Webkit_Extensions">WebKit CSS Uitbreidingen</a>
+ <ul>
+ <li>{{cssxref("::-webkit-input-placeholder")}}</li>
+ <li><a href="http://trac.webkit.org/wiki/Styling%20Form%20Controls" rel="external" title="http://trac.webkit.org/wiki/Styling Form Controls">En veel meer</a></li>
+ </ul>
+ </li>
+ <li><a href="http://msdn.microsoft.com/en-us/library/ie/hh869403%28v=vs.85%29.aspx" rel="external" title="http://msdn.microsoft.com/en-us/library/ie/hh869403%28v=vs.85%29.aspx">Microsoft CSS Uitbreidingen</a>
+ <ul>
+ <li><a href="http://msdn.microsoft.com/en-us/library/ie/hh772745%28v=vs.85%29.aspx" rel="external" title="http://msdn.microsoft.com/en-us/library/ie/hh772745%28v=vs.85%29.aspx">:-ms-input-placeholder</a></li>
+ </ul>
+ </li>
+ <li><a href="http://www.opera.com/docs/specs/" rel="external" title="http://www.opera.com/docs/specs/">Opera heeft geen uitbreidingen met betrekking tot HTML-formulieren</a></li>
+</ul>
+
+<h3 id="De_presentatie_van_formulierelementen_instellen">De presentatie van formulierelementen instellen</h3>
+
+<p>Browsers gebaseerd op WebKit (Chrome, Safari) en Gecko (Firefox) kunnen het best overweg met aanpassing van HTML-elementen. Zij zijn ook over platformen heen inzetbaar omdat zij een mechanisme hebben om over te schakelen tussen natuurlijk uitzicht en aanvoelen en elementen die door de gebruiker kunen aangepast worden.</p>
+
+<p>Hiertoe gebruiken zij de eigenschap: {{cssxref("-webkit-appearance")}} of {{cssxref("-moz-appearance")}}. <strong>Deze eigenschappen zijn niet standaard en worden best niet gebruikt</strong>. Zij gedragen zich zelfs verschillend in WebKit en in Gecko. Eén waarde is wel goed te gebruiken: <code>none</code>. Met deze waarde heeft men (praktisch volledige) controle over de stijl van bepaalde widgets.</p>
+
+<p>Hieronder enkele voorbeelden. Het gebruik is het best aan te tonen bij zoekvelden met WebKit browsers:</p>
+
+<pre class="brush: html">&lt;form&gt;
+ &lt;input type="search"&gt;
+&lt;/form&gt;</pre>
+
+<pre class="brush: css">&lt;style&gt;
+input[type=search] {
+ border: 1px dotted #999;
+ border-radius: 0;
+
+ -webkit-appearance: none;
+}
+&lt;/style&gt;</pre>
+
+<div class="note">
+<p><strong>Nota:</strong> het is altijd moeilijk de toekomst te voorspellen betreffende web<span class="ng-binding"><span class="highlighted">technologie</span>ën</span>, maar CSS-uitbreidingen zijn niet eenvoudig en er gebeurt ook onderzoek naar andere specificaties zoals <a href="http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html" rel="external" title="http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html">Shadow DOM</a>  dat enig perspectief biedt. De zoektocht naar het volledig aanpasbaar formulier is nog lang niet over.</p>
+</div>
+
+<h2 id="Voorbeelden">Voorbeelden</h2>
+
+<h3 id="Keuzevakjes_en_keuzerondjes">Keuzevakjes en keuzerondjes</h3>
+
+<p>Het voorkomen van keuzevakjes en -rondjes is nogal rommelig. Zo is het bijvoorbeeld niet de bedoeling om de afmetingen van keuzevakjes en -rondjes te wijzigen en sommige browsers kunnen nogal verschillend reageren  wanneer men dit tracht te doen.</p>
+
+<h4 id="Een_eenvoudige_test">Een eenvoudige test</h4>
+
+<pre class="brush: html">&lt;span&gt;&lt;input type="checkbox"&gt;&lt;/span&gt;</pre>
+
+<pre class="brush: css">span {
+ display: inline-block;
+ background: red;
+}
+
+input[type=checkbox] {
+ width : 100px;
+ height: 100px;
+}</pre>
+
+<p>Zo wordt dit in de verschillende browsers weergegeven:</p>
+
+<table>
+ <thead>
+ <tr>
+ <th scope="col">Browser</th>
+ <th scope="col">Rendering</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>Firefox 16 (Mac OSX)</td>
+ <td><img alt="Rendering of a sized check box on Firefox" src="/files/4165/checkbox-firefox-macos.png" style="height: 106px; width: 107px;"></td>
+ </tr>
+ <tr>
+ <td>Chrome 22 (Mac OSX)</td>
+ <td><img alt="Rendering of a sized check box on Chrome" src="/files/4163/checkbox-chrome-macos.png" style="height: 106px; width: 106px;"></td>
+ </tr>
+ <tr>
+ <td>Opera 12.01 (Mac OSX)</td>
+ <td><img alt="Rendering of a sized check box on Opera" src="/files/4167/checkbox-opera-macos.png" style="height: 106px; width: 107px;"></td>
+ </tr>
+ <tr>
+ <td>Internet Explorer 9 (Windows 7)</td>
+ <td><img alt="Rendering of a sized check box on IE9" src="/files/4169/checkbox-IE9-win7.png" style="height: 107px; width: 106px;"></td>
+ </tr>
+ <tr>
+ <td>Internet Explorer 7 (Windows XP)</td>
+ <td><img alt="Rendering of a sized check box on IE7" src="/files/4171/checkbox-IE7-winxp.png" style="height: 100px; width: 100px;"></td>
+ </tr>
+ </tbody>
+</table>
+
+<h4 id="Een_ingewikkelder_voorbeeld">Een ingewikkelder voorbeeld</h4>
+
+<p>Omdat Opera en Internet Explorer geen eigenschappen hebben als {{cssxref("-webkit-appearance")}} of {{cssxref("-moz-appearance")}}, is het niet mogelijk deze te gebruiken. CSS is gelukkig wel in staat om dit te omzeilen. Neem het volgend klassiek voorbeeld:</p>
+
+<pre class="brush: html">&lt;form&gt;
+ &lt;fieldset&gt;
+ &lt;p&gt;
+ &lt;input type="checkbox" id="first" name="fruit-1" value="cherry"&gt;
+ &lt;label for="first"&gt;I like cherry&lt;/label&gt;
+ &lt;/p&gt;
+ &lt;p&gt;
+ &lt;input type="checkbox" id="second" name="fruit-2" value="banana" disabled&gt;
+ &lt;label for="second"&gt;I can't like banana&lt;/label&gt;
+ &lt;/p&gt;
+ &lt;p&gt;
+ &lt;input type="checkbox" id="third" name="fruit-3" value="strawberry"&gt;
+ &lt;label for="third"&gt;I like strawberry&lt;/label&gt;
+ &lt;/p&gt;
+ &lt;/fieldset&gt;
+&lt;/form&gt;</pre>
+
+<p>met als basisstijl:</p>
+
+<pre class="brush: css">body {
+ font: 1em sans-serif;
+}
+
+form {
+ display: inline-block;
+
+ padding: 0;
+ margin : 0;
+}
+
+fieldset {
+ border : 1px solid #CCC;
+ border-radius: 5px;
+ margin : 0;
+ padding: 1em;
+}
+
+label {
+ cursor : pointer;
+}
+
+p {
+ margin : 0;
+}
+
+p+p {
+ margin : .5em 0 0;
+}</pre>
+
+<p>Aanpassing van het keuzevakje:</p>
+
+<p>De bedoeling is het basis keuzevakje te vervangen door een eigen keuze. Onze keuze moet dezelfde toestanden kennen als het originele keuzevak. Deze toestanden zijn: aangevinkt, niet-aangevinkt, niet-aktief aangevinkt en niet-actief niet-aangevinkt. Dit ziet er als volgt uit:</p>
+
+<p><img alt="Check box CSS Sprite" src="/files/4173/checkbox-sprite.png" style="height: 64px; width: 16px;"></p>
+
+<p>Vooreerst moeten de originele keuzevakjes verborgen worden. Daartoe worden ze buiten het gezichtsveld geplaatst. Hierbij moeten twee zaken in acht genomen worden:</p>
+
+<ul>
+ <li>Om de keuzevakjes te verbergen mag <code>display:none</code>  niet gebruikt worden omdat de gebruiker ze nog moet kunnen bedienen. Hij moet ze immers kunnen aan- of uitvinken. Met <code>display:none</code> is het keuzevak niet meer toegankelijk voor de gebruiker.</li>
+ <li>De vormgeving gebeurt door CSS3. Om compatibel te blijven met oudere browsers wordt de {{cssxref(":root")}}  pseudoklasse gebruikt. Oudere browsers, als Internet Explorer, tonen dan een gewoon keuzevak, terwijl de moderne browsers het aangepaste keuzevak zullen tonen.</li>
+</ul>
+
+<pre class="brush: css">:root input[type=checkbox] {
+ /* original check box are push outside the viexport */
+ position: absolute;
+ left: -1000em;
+}</pre>
+
+<p>Dan moet het eigen keuzevak toegevoegd worden. Daarvoor wordt gebruik gemaakt van het {{cssxref(":before")}} pseudo-element dat behoort bij het {{HTMLElement("label")}} element van het oorspronkelijk keuzevak. Dan wordt het keuzevak geselecteerd en door middel van de <a href="/en-US/docs/Web/CSS/Adjacent_sibling_selectors">adjacent sibling selector </a>wordt het bijbehorende label geselecteerd. Tenslotte wordt het {{cssxref(":before")}} pseudo-element ingevoegd en wordt bepaald hoe het keuzevakje er moet uitzien.</p>
+
+<pre class="brush: css">:root input[type=checkbox] + label:before {
+ content: "";
+ display: inline-block;
+ width : 16px;
+ height : 16px;
+ margin : 0 .5em 0 0;
+ background: url("https://developer.mozilla.org/files/4173/checkbox-sprite.png") no-repeat 0 0;
+
+/* The following is used to adjust the position of
+ the check boxes on the text baseline */
+
+ vertical-align: bottom;
+ position: relative;
+ bottom: 2px;
+}</pre>
+
+<p>De toestand van ket keuzevakje wordt vastgelegd met de {{cssxref(":checked")}} en {{cssxref(":disabled")}} pseudoklassen. Omdat er met CSS sprite wordt gewerkt moet alleen de positie van de achtergrond aangepast worden.</p>
+
+<pre class="brush: css">:root input[type=checkbox]:checked + label:before {
+ background-position: 0 -16px;
+}
+
+:root input[type=checkbox]:disabled + label:before {
+ background-position: 0 -32px;
+}
+
+:root input[type=checkbox]:checked:disabled + label:before {
+ background-position: 0 -48px;
+}</pre>
+
+<p>Er moet nog een (zeer) belangrijk punt afgewerkt worden. Als de gebruiker het toetsenbord gebruikt om tussen de widgets te navigeren, moet er visueel aangegeven worden welke widget de focus heeft. Omdat de originele keuzevakjes verborgen zijn, moet dat op een of andere manier opgevangen worden. Dit wordt op de volgende manier gedaan:</p>
+
+<pre class="brush: css">:root input[type=checkbox]:focus + label:before {
+ outline: 1px dotted black;
+}</pre>
+
+<p>Hier een voorbeeld:</p>
+
+<p>{{EmbedLiveSample("A_more_complex_example", 250, 130)}}</p>
+
+<h3 id="Het_probleem_met_select">Het probleem met select</h3>
+
+<p>Het {{HTMLElement("select")}} element is een 'lelijk' element omdat het onmogelijk consistent kan gestyled worden over platformen heen. Er zijn nochtans enkele mogelijkheden. Een voorbeeld:</p>
+
+<pre class="brush: html">&lt;select&gt;
+ &lt;option&gt;Cherry&lt;/option&gt;
+ &lt;option&gt;Banana&lt;/option&gt;
+ &lt;option&gt;Strawberry&lt;/option&gt;
+&lt;/select&gt;</pre>
+
+<pre class="brush: css">select {
+ width : 80px;
+ padding : 10px;
+}
+
+option {
+ padding : 5px;
+ color : red;
+}</pre>
+
+<p>De volgende tabel toont hoe de verschillende browsers er mee omgaan. De twee eerste  kolommen zijn het gewone voorbeeld. De twee volgende kolommen geven aan wat er gebeurt met de widgets bij gebruik van aangepaste CSS:</p>
+
+<pre class="brush: css">select, option {
+ -webkit-appearance : none; /* To gain control over the appearance on WebKit */
+ -moz-appearance : none; /* To gain control over the appearance on Gecko */
+
+ /* Om de weergave bij Presto (Opera) en Trident (IE) aan te passen.
+ Noteer dat dit ook werkt bij Gecko en deels bij WebKit */
+ background : none;
+}</pre>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th colspan="1" rowspan="2" scope="col">Browser</th>
+ <th colspan="2" scope="col" style="text-align: center;">Normale weergave</th>
+ <th colspan="2" scope="col" style="text-align: center;">Aangepaste weergave</th>
+ </tr>
+ <tr>
+ <th scope="col" style="text-align: center;">gesloten</th>
+ <th scope="col" style="text-align: center;">open</th>
+ <th scope="col" style="text-align: center;">gesloten</th>
+ <th scope="col" style="text-align: center;">open</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>Firefox 16 (Mac OSX)</td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select closed on Firefox on Mac OSX (No tweak)" src="/files/4201/select-firefox-macos.png" style="height: 52px; width: 82px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select open on Firefox on Mac OSX (No tweak)" src="/files/4199/select-firefox-macos-open.png" style="height: 143px; width: 105px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select closed on Firefox on Mac OSX" src="/files/4197/select-firefox-macos-custom.png" style="height: 52px; width: 82px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select open on Firefox on Mac OSX" src="/files/4195/select-firefox-macos-custom-open.png" style="height: 141px; width: 108px;"></td>
+ </tr>
+ <tr>
+ <td>Firefox 16 (Windows 7)</td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select closed on Firefox on Windows 7 (No tweak)" src="/files/4209/select-firefox-win7.png" style="height: 50px; width: 82px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select open on Firefox on Windows 7 (No tweak)" src="/files/4207/select-firefox-win7-open.png" style="height: 130px; width: 96px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select closed on Firefox on Windows 7" src="/files/4205/select-firefox-win7-custom.png" style="height: 54px; width: 82px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select open on Firefox on Windows 7" src="/files/4203/select-firefox-win7-custom-open.png" style="height: 134px; width: 96px;"></td>
+ </tr>
+ <tr>
+ <td>Chrome 22 (Mac OSX)</td>
+ <td style="vertical-align: top; text-align: center;"><img alt="Select closed on Chrome on Mac OSX (No tweak)" src="/files/4183/select-chrome-macos.png" style="height: 21px; vertical-align: top; width: 84px;"></td>
+ <td style="vertical-align: top; text-align: center;"><img alt="Select open on Chrome on Mac OSX (No tweak)" src="/files/4181/select-chrome-macos-open.png" style="height: 81px; vertical-align: top; width: 121px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select closed on Chrome on Mac OSX" src="/files/4179/select-chrome-macos-custom.png" style="height: 37px; vertical-align: top; width: 82px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select open on Chrome on Mac OSX" src="/files/4177/select-chrome-macos-custom-open.png" style="height: 86px; vertical-align: top; width: 125px;"></td>
+ </tr>
+ <tr>
+ <td>Chrome 22 (Windows 7)</td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select closed on Chrome on Windows 7 (No tweak)" src="/files/4191/select-chrome-win7.png" style="height: 42px; vertical-align: top; width: 82px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select open on Chrome on Windows 7 (No tweak)" src="/files/4189/select-chrome-win7-open.png" style="height: 93px; width: 84px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select closed on Chrome on Windows 7" src="/files/4187/select-chrome-win7-custom.png" style="height: 42px; width: 82px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select open on Chrome on Windows 7" src="/files/4185/select-chrome-win7-custom-open.png" style="height: 93px; width: 95px;"></td>
+ </tr>
+ <tr>
+ <td>Opera 12.01 (Mac OSX)</td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select closed on Opera on Mac OSX (No tweak)" src="/files/4225/select-opera-macos.png" style="height: 42px; width: 81px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select open on Opera on Mac OSX (No tweak)" src="/files/4223/select-opera-macos-open.png" style="height: 94px; width: 135px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select closed on Opera on Mac OSX" src="/files/4221/select-opera-macos-custom.png" style="height: 39px; width: 81px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select open on Opera on Mac OSX" src="/files/4219/select-opera-macos-custom-open.png" style="height: 90px; width: 130px;"></td>
+ </tr>
+ <tr>
+ <td>Internet Explorer 9 (Windows 7)</td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select closed on IE9 on Windows 7" src="/files/4217/select-IE9-win7.png" style="height: 41px; width: 82px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select open on IE9 on Windows 7" src="/files/4215/select-IE9-win7-open.png" style="height: 78px; width: 100px;"></td>
+ <td style="text-align: center; vertical-align: middle;">n.v.t.</td>
+ <td style="text-align: center; vertical-align: middle;">n.v.t.</td>
+ </tr>
+ <tr>
+ <td>Internet Explorer 7 (Windows XP)</td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select closed on IE7 on Windows XP" src="/files/4213/select-IE7-winxp.png" style="height: 23px; width: 81px;"></td>
+ <td style="text-align: center; vertical-align: top;"><img alt="Select open on IE7 on Windows XP" src="/files/4211/select-IE7-winxp-open.png" style="height: 74px; width: 82px;"></td>
+ <td style="text-align: center; vertical-align: middle;">n.v.t.</td>
+ <td style="text-align: center; vertical-align: middle;">n.v.t.</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Ondanks het gebruik van de<code> -*-appearance</code> eigenschap zijn er nog enkele problemen:</p>
+
+<ul>
+ <li>De {{cssxref("padding")}} eigenschap wordt nog steeds niet gelijk behandeld in alle browsers.</li>
+ <li>De oude Internet Explorer laat geen soepele styling toe.</li>
+ <li>Firefox laat niet toe de pijl van het afrolmenu te stylen.</li>
+ <li>Bij het stylen van de {{HTMLElement("option")}} elementen binnen de afrollijst verschillen het gedrag van Chrome en Opera van systeem tot systeem.</li>
+</ul>
+
+<p>En dit voorbeeld gaat slechts over drie CSS-eigenschappen. Wat als er nog meer eigenschappen zijn? Zoals het voorbeeld aantoont kan met CSS de voorstelling en het aanvoelen van deze widgets niet consequent toegepast worden. Maar een en ander kan wel aangepast worden als men aanvaardt dat er kleine verschillen zullen zijn tussen de ene browser en de andere en tussen het ene besturingssysteem en het andere.</p>
+
+<p>In het volgend artikel wordt nagegaan welke eigenschappen in aanmerking komen: <a href="/en-US/docs/">Tabel van compatibele formulierelementen</a>.</p>
+
+<h2 id="De_weg_naar_mooiere_formulieren_nuttige_bibliotheken_en_polyfills">De weg naar mooiere formulieren: nuttige bibliotheken en polyfills</h2>
+
+<p>Terwijl CSS zeer bruikbaar is voor keuzevakjes en keuzerondjes, is dat niet zo voor geavanceerde elementen. Ondanks dat enkele zaken mogelijk zijn met het  {{HTMLElement("select")}} element, kan de bestandsdialoog helemaal niet aangepast worden. Hetzelfde geldt voor datumpicker, enz.</p>
+
+<p>Als volledige controle over formulierelementen gewenst is, zit er niets anders op dan JavaScript te gebruiken. In het artikel <a href="/en-US/docs/">Het maken van aangepaste widgets</a> wordt getoond hoe men zelf widgets kan aanpassen, maar er zijn ook enkele bibliotheken die van nut kunnen zijn:</p>
+
+<ul>
+ <li><a href="http://sprawsm.com/uni-form/" rel="external" title="http://sprawsm.com/uni-form/">Uni-form</a> is  een kader dat formulieropmaak standaardiseert met CSS. Er is ook een optie voor extra mogelijkheden samen met jQuery.</li>
+ <li><a href="http://formalize.me/" rel="external" title="http://formalize.me/">Formalize</a> is een uitbreiding van JavaScript (zoals jQuery, Dojo, YUI, enz.) die formulieren aanpast en normaliseert.</li>
+ <li><a href="http://www.emblematiq.com/lab/niceforms/" rel="external" title="http://www.emblematiq.com/lab/niceforms/">Niceforms</a> is een standalone JavaScript methode die volledige websites kan aanpassen.</li>
+</ul>
+
+<p>De volgende bibliotheken zijn niet uitsluitend voor formulieren, maar zijn zeer interessant:</p>
+
+<ul>
+ <li><a href="http://jqueryui.com/" rel="external" title="http://jqueryui.com/">jQuery UI</a> biedt zeer interessante geavanceerde en aanpasbare widgets zoals datumpickers (met speciale aandacht voor toegankelijkheid).</li>
+ <li><a href="http://twitter.github.com/bootstrap/base-css.html#forms" rel="external" title="http://twitter.github.com/bootstrap/base-css.html#forms">Twitter Bootstrap</a> is zeer nuttig bij het normaliseren van formulieren.</li>
+ <li><a href="http://afarkas.github.com/webshim/demos/demos/webforms.html" rel="external" title="http://afarkas.github.com/webshim/demos/demos/webforms.html">WebShim</a> is een uitgebreid gereedschap dat HTML5 ondersteunt. Het gedeelte over webformulieren kan zeer nuttig zijn.</li>
+</ul>
+
+<p>Houd er echter rekening mee dat de combinatie van CSS en JavaScript ook neveneffecten kan hebben. Bij gebruik van deze bibliotheken dient men steeds te beschikken over stylesheets waarop men kan terugvallen als het script niet werkt. Er zijn vele redenen waarom een script niet werkt, vooral in de mobiele wereld. En een website of een app moet er op voorzien zijn om deze gevallen op te vangen.</p>
+
+<h2 id="Besluit">Besluit</h2>
+
+<p>Ondanks dat er hiaten zijn bij het gebruik van CSS in HTML-formulieren, is er dikwijls toch wel een manier om deze te omzeilen. Er is geen algemene oplossing, maar de moderne browsers bieden altijd nieuwe mogelijkheden. Voor 't ogenblik is de beste oplossing te leren hoe de verschillende browsers CSS ondersteunen bij het maken van HTML-formulieren.</p>
+
+<p>In het volgend artikel wordt ingegaan op hoe de diverse HTML-formulierelementen de meest belangrijke CSS eigenschappen ondersteunen: <a href="/en-US/docs/">Tabel van compatibele formulierelementen</a>.</p>
+
+<h2 id="Zie_ook">Zie ook</h2>
+
+<ul>
+ <li><a href="http://diveintohtml5.info/forms.html" rel="external" title="http://diveintohtml5.info/forms.html">HTML5: Formulieren</a></li>
+ <li><a href="http://www.smashingmagazine.com/2011/06/27/useful-ideas-and-guidelines-for-good-web-form-design/" rel="external" title="http://www.smashingmagazine.com/2011/06/27/useful-ideas-and-guidelines-for-good-web-form-design/">Nuttige ideeën en leidraden voor goed ontwerpen van webformulieren</a></li>
+</ul>
diff --git a/files/nl/learn/html/forms/how_to_structure_an_html_form/index.html b/files/nl/learn/html/forms/how_to_structure_an_html_form/index.html
new file mode 100644
index 0000000000..ae4ec439c2
--- /dev/null
+++ b/files/nl/learn/html/forms/how_to_structure_an_html_form/index.html
@@ -0,0 +1,964 @@
+---
+title: How to structure an HTML form
+slug: Learn/HTML/Forms/How_to_structure_an_HTML_form
+tags:
+ - Attribuut
+ - Element
+ - HTML
+ - voorbeeld
+translation_of: Learn/Forms/How_to_structure_a_web_form
+---
+<p>Formulieren zijn een van de meest complexe structuren in <a href="/en-US/docs/HTML" title="/en-US/docs/HTML">HTML</a>. Elk basisformulier kan gemaakt worden met elementen en attributen. Door een correcte opbouw wordt een bruikbaar en <a href="/en-US/docs/Web/Accessibility">toegankelijk </a>formulier verkregen.</p>
+
+<p>Om functionaliteit aan HTML formulieren toe te voegen wordt voornamelijk Javascript  gebruikt. Meer geavanceerde <span class="ng-binding"><span class="highlighted">technologie</span>ën zoals </span><a href="/en-US/docs/XForms" title="/en-US/docs/XForms">XForms</a>, thans voorbij gestreefd, worden helaas niet door alle browsers geïmplementeerd.</p>
+
+<p>In dit artikel wordt kennis gemaakt met alle HTML formulier elementen. Ook wordt de opbouw van een degelijk HTML formulier besproken om zo een vlot bruikbaar formulier te maken. In <a href="/en-US/docs/HTML/Forms/How_to_build_custom_form_widgets" title="/en-US/docs/HTML/Forms/How_to_build_custom_form_widgets">Hoe eigen widgets voor formulieren te maken</a> wordt dieper ingegaan op het werken met widgets.</p>
+
+<h2 id="sect1"></h2>
+
+<h2 id="Globale_structuur">Globale structuur</h2>
+
+<h3 id="Het_&lt;form>_element">Het &lt;form&gt; element</h3>
+
+<p>Het {{HTMLElement("form")}} element <span class="highlighted">definieert formeel een formulier en de attributen die het gedrag van dit formulier bepalen. Elk HTML formulier moet met deze elementen beginnen. Vele ondersteunende </span><span class="ng-binding"><span class="highlighted">technologie</span>ën</span><span class="highlighted"> of browser plug-ins herkennen </span> {{HTMLElement("form" )}} elementen en hebben speciale routines om er gebruik van te maken.</p>
+
+<div class="note"><strong>Nota:</strong> Het is strikt verboden om formulieren te nesten. Afhankelijk van de browser is hun gedrag dan onvoorspelbaar.</div>
+
+<p>Het {{HTMLElement("form")}} element ondersteunt de volgende attributen (allemaal optioneel):</p>
+
+<table>
+ <caption>Attributen van het {{HTMLElement("form")}} element</caption>
+ <thead>
+ <tr>
+ <th scope="col">Attribuut naam</th>
+ <th scope="col">Defaultwaarde</th>
+ <th scope="col">Beschrijving</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="white-space: nowrap;">{{htmlattrxref("accept-charset","form")}}</td>
+ <td><code>UNKNOWN</code></td>
+ <td>Een lijst van karaktertekens die door een server wordt aanvaard. De defaultwaarde is de speciale string <code>UNKNOWN</code>. In dit geval worden de karakters gecodeerd zoals in het document dat het form element bevat.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("action","form")}}</td>
+ <td></td>
+ <td>De URI van een webpagina die de informatie van het formulier verwerkt.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("autocomplete","form")}}</td>
+ <td><code>on</code></td>
+ <td>Geeft aan of de widgets in dit formulier automatisch aangevuld kunnen worden aan de defaultwaarden van de browser. Dit attribuut kan twee waarden aannemen: <code>on</code> of <code>off</code>.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("enctype","form")}}</td>
+ <td><code>application/x-www-form-urlencoded</code></td>
+ <td>Als de waarde van het <code>method</code> attribuut <code>post</code> is, dan is dit attribuut het  <a class="external" href="http://en.wikipedia.org/wiki/Mime_type" title="http://en.wikipedia.org/wiki/Mime_type">MIME type</a> van de inhoud van het formulier. Mogelijke waarden zijn:
+ <ul>
+ <li><code>application/x-www-form-</code></li>
+ <li><code>multipart/form-data</code>: Gebruik deze waarde bij gebruik van een  {{HTMLElement("input")}} element waarvan het t<code>ype</code> attribuut  <em>file</em> is.</li>
+ <li><code>text/plain</code></li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("method","form")}}</td>
+ <td><code>get</code></td>
+ <td>
+ <p>T</p>
+
+ <p>De <a class="external" href="http://www.w3.org/Protocols/rfc2616/rfc2616.html" title="http://www.w3.org/Protocols/rfc2616/rfc2616.html">HTTP</a> methode die de browser gebruikt om het formulier te versturen. Dit attribuut kan één van twee waarden aannemen: <code>get</code> or <code>post</code>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("name","form")}}</td>
+ <td></td>
+ <td>De naam van het formulier. Hij moet uniek zijn tussen alle formulieren van een document en mag niet de lege string zijn. In de praktijk wordt hiervoor echter het <code>id</code> attribuut gebruikt.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("novalidate","form")}}</td>
+ <td>(<em>false</em>)</td>
+ <td>Dit attribuut geeft aan dat het formulier niet moet gevalideerd worden bij verzending.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("target","form")}}</td>
+ <td><code>_self</code></td>
+ <td>Een naam of een sleutelwoord die aangeven waar het antwoord van de server moet getoond worden na verzending van het formulier. Dit kan bijvoorbeeld een  {{HTMLElement("iframe")}}, een tab of een venster zijn. Volgende sleutelwoorden zijn mogelijke waarden voor dit attribuut:
+ <ul>
+ <li><code>_self</code>: Laad het antwoord in de huidige browser configuratie ({{HTMLElement("iframe")}}, tab, venster, enz.) .</li>
+ <li><code>_blank</code>: Laad het antwoord in een nieuwe browserconfiguratie.</li>
+ <li><code>_parent</code>: Laad het antwoord in de ouder van de huidige browser configuratie. Als er geen ouder is gedraagt deze optie zich als  <code>_self</code>.</li>
+ <li><code>_top</code>: Laad het antwoord in de hoogste ouder van de huidig browser configuratie (dit is de browser configuratie die geen ouder heeft). Als er geen ouder is gedraagt deze optie zich als  <code>_self</code>.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Het is altijd mogelijk een formulier widget te gebruiken buiten een {{HTMLElement("form")}} element maar dan is deze widget aan geen enkel formulier gebonden. Het is dan de gebruker die er voor verantwoordelijk is dat deze widget de gewenste uitwerking heeft, omdat die niets uit zichzelf zal doen. De widget moet dan aangepast worden met JavaScript.</p>
+
+<p>Technisch gezien is het HTML5 die het <code>form</code> attribuut invoert voor HTML formulieren. Het bindt dus expliciet een element met een formulier. Helaas ondersteunen niet alle browsers dit element goed genoeg om betrouwbaar te zijn.</p>
+
+<h3 id="De_&lt;fieldset>_en_&lt;legend>_elementen">De &lt;fieldset&gt; en &lt;legend&gt; elementen</h3>
+
+<p>Het {{HTMLElement("fieldset")}} element dient om widgets die dezelfde functie hebben te bundelen. Een {{HTMLElement("fieldset")}} element kan een {{HTMLElement("legend")}} element hebben. Het {{HTMLElement("legend")}} element beschrijft formeel het doel van het  {{HTMLElement("fieldset")}} element. Veel ondersteunende technologieën herkennen het  {{HTMLElement("legend")}} element als deel van het label van elke widget binnen het  {{HTMLElement("fieldset")}} element. Zo lezen sommige schermlezers, zoals  <a href="http://www.freedomscientific.com/products/fs/jaws-product-page.asp" rel="external" title="http://www.freedomscientific.com/products/fs/jaws-product-page.asp">Jaws</a> of <a href="http://www.nvda-project.org/" rel="external" title="http://www.nvda-project.org/">NVDA</a>, eerst de legend voordat ze het label van een widget lezen.</p>
+
+<p>Hier volgt een klein voorbeeld:</p>
+
+<pre class="brush:html;">&lt;form&gt;
+  &lt;fieldset&gt;
+    &lt;legend&gt;Fruitsap grootte&lt;/legend&gt;
+    &lt;p&gt;
+      &lt;input type="radio" name="size" id="size_1" value="small" /&gt;
+      &lt;label for="size_1"&gt;Klein&lt;/label&gt;
+    &lt;/p&gt;
+    &lt;p&gt;
+      &lt;input type="radio" name="size" id="size_2" value="medium" /&gt;
+      &lt;label for="size_2"&gt;Medium&lt;/label&gt;
+    &lt;/p&gt;
+    &lt;p&gt;
+      &lt;input type="radio" name="size" id="size_3" value="large" /&gt;
+      &lt;label for="size_3"&gt;Groot&lt;/label&gt;
+    &lt;/p&gt;
+  &lt;/fieldset&gt;
+&lt;/form&gt;</pre>
+
+<p>In dit voorbeeld zal een schermlezer voor de eerste widget "Fruitsap klein" lezen, voor de tweede "Fruitsap medium" en voor de derde "Fruitsap groot".</p>
+
+<p>Het gebruik van het {{HTMLElement("fieldset")}} element is zeer belangrijk. Keuzerondjes bijvoorbeeld moeten steeds binnen een {{HTMLElement("fieldset")}} element ondergebracht worden. In het algemeen kan het {{HTMLElement("fieldset")}} element ook een formulier in secties verdelen. Omwille van zijn invloed op ondersteunende technologieën is het {{HTMLElement("fieldset")}} element een sleutelelement om toegankelijke formulieren te maken. Het is echter aan de gebruiker om het doelmatig aan te wenden. Ga bij elk gebruik na hoe een schermlezer het element interpreteert en pas uw opzet daaraan aan.</p>
+
+<p>Het {{HTMLElement("fieldset")}} element ondersteunt volgende specifieke attributen:</p>
+
+<table>
+ <caption>Attributen van het {{HTMLElement("fieldset")}} element</caption>
+ <thead>
+ <tr>
+ <th scope="col">Attribuut naam</th>
+ <th scope="col">Defaultwaarde</th>
+ <th scope="col">Beschrijving</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{htmlattrxref("disabled","fieldset")}}</td>
+ <td>(<em>false</em>)</td>
+ <td>Als dit attribuut <code>true</code> is zijn de widgets van de formulieren die afhankelijk zijn van het huidige formulier (behalve deze van het eerste {{HTMLElement("legend") }} element) niet geactiveerd en dus niet bruikbaar.  Deze zijn in de meeste browsers grijs gekleurd.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Het_&lt;label>_element">Het &lt;label&gt; element</h3>
+
+<p>Het {{HTMLElement("label")}} element definieert formeel het label van een HTML widget. Dit is het belangrijkste element om toegankelijke formulieren te maken.</p>
+
+<p>Het {{HTMLElement("label")}} element heeft de volgende attributen:</p>
+
+<table>
+ <caption>Attributen van het {{HTMLElement("label")}} element</caption>
+ <thead>
+ <tr>
+ <th scope="col">Attribuut naam</th>
+ <th scope="col">Defaultwaarde</th>
+ <th scope="col">Beschrijving</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{htmlattrxref("for","label")}}</td>
+ <td></td>
+ <td>De ID van een widget met een label in hetzelfde document als het {{HTMLElement("label")}} element. Het label wordt toegepast op het eerste element waarvan de ID overeenkomt met de waarde van het <code>for</code> attribuut in het document.</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Een {{HTMLElement("label")}} element is gebonden aan zijn widget door het <code>for</code> attribuut. Het <code>for</code> attribuut refereert naar het <code>id</code> attribuut van de overeenkomstige widget. Een widget kan genest zijn in zijn {{HTMLElement("label")}} element maar zelfs in dat geval is het aangeraden om het <code>for</code> attribuut te gebruiken omdat sommige ondersteunende technologieën niet overweg kunnen met expliciete relaties tussen labels en widgets.</p>
+
+<p>Maar zelfs met ondersteunende technologieën ter zijde, laat een formele aanduiding van een label voor een bepaalde widget in alle browsers de gebruiker toe de widget te activeren door op het label te klikken. Dit is vooral nuttig bij keuzerondjes en selectievakjes.</p>
+
+<pre class="brush:html;">&lt;form&gt;
+  &lt;p&gt;
+    &lt;input type="checkbox" id="taste_1" name="taste_cherry" value="1"&gt;
+    &lt;label for="taste_1"&gt;I like cherry&lt;/label&gt;
+  &lt;/p&gt;
+  &lt;p&gt;
+    &lt;label for="taste_2"&gt;
+      &lt;input type="checkbox" id="taste_2" name="taste_banana" value="1"&gt;
+      I like banana
+    &lt;/label&gt;
+  &lt;/p&gt;
+&lt;/form&gt;</pre>
+
+<p>Sommige ondersteunende technologieën kunnen het moeilijk hebben met meerdere labels voor één widget. In dit geval moet de widget genest worden in zijn eigen element om een toegankelijk formulier te maken.</p>
+
+<p>Bekijk volgend voorbeeld:</p>
+
+<pre class="brush:html;">&lt;form&gt;
+  &lt;p&gt;Required fields are followed by &lt;strong&gt;&lt;abbr title="required"&gt;*&lt;/abbr&gt;&lt;/strong&gt;.&lt;/p&gt;
+
+  &lt;!-- when the thing you are labeling is a descendant of the label, it is not necessary to use the 'for' attribute on the label. --&gt;
+  &lt;!-- So this: --&gt;
+  &lt;label&gt;
+    &lt;span&gt;Name: &lt;/span&gt;
+    &lt;input type="text" name="username" required /&gt;
+    &lt;strong&gt;&lt;abbr title="required"&gt;*&lt;/abbr&gt;&lt;/strong&gt;
+  &lt;/label&gt;
+
+  &lt;!-- is the same as this: --&gt;
+ &lt;div&gt;
+  &lt;label for="username"&gt;Name: &lt;/label&gt;
+  &lt;input id="username" type="text" name="username" required /&gt;
+  &lt;strong&gt;&lt;abbr title="required"&gt;*&lt;/abbr&gt;&lt;/strong&gt;
+ &lt;/div&gt;
+
+  &lt;p&gt;
+    &lt;label for="birth"&gt; &lt;!-- so here, the 'for' attribute is redundant. --&gt;
+      &lt;span&gt;Date of birth: &lt;/span&gt;
+      &lt;input type="text" id="birth" name="userbirth" maxlength="10" /&gt; &lt;em&gt;formated as mm/dd/yyyy&lt;/em&gt;
+    &lt;/label&gt;
+  &lt;/p&gt;
+&lt;/form&gt;</pre>
+
+<p>In dit voorbeeld definieert de eerste paragraaf de vereiste elementen. Dit moet vooraan staan opdat de ondersteunende technologieën, zoals schermlezers,  deze informatie hebben voordat ze het element zelf tegenkomen.</p>
+
+<p>Het eerste veld is vereist. Dus zijn label geeft zijn naam aan plus het feit dat het vereist is.  Voor de tweede label is er is geen garantie dat de gebruiker te weten komt dat dit element vereist is.</p>
+
+<p>Het tweede form element werkt op dezelfde manier. Zo weet de gebruiker hoe hij de datum moet ingeven.</p>
+
+<h3 id="Het_&lt;output>_element">Het &lt;output&gt; element</h3>
+
+<p>Dit element dient om het resultaat van een berekening in op te slaan. Het bepaalt formeel een relatie tussen de velden die informatie om te bewerken ontvangen en een element dat het resultaat zal tonen. Het wordt ook gebruikt door sommige ondersteunende technologieën om wijzigingen te detecteren en overeenkomstig te reageren.</p>
+
+<p>Het {{HTMLElement("output")}} element ondersteunt de volgende attributen:</p>
+
+<table>
+ <caption>Attributen van het {{HTMLElement("output")}} element</caption>
+ <thead>
+ <tr>
+ <th scope="col">Attribuut naam</th>
+ <th scope="col">Defaultwaarde</th>
+ <th scope="col">Beschrijving</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{htmlattrxref("for","output")}}</td>
+ <td></td>
+ <td>Een lijst van IDs, gescheiden door spaties, van andere elementen om aan te geven dat deze elementen deel uit maken van de invoerwaarden van de berekening (of die de berekening op enige andere wijze beïnvloeden.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Gewone_HTML_structuren_gebruikt_bij_formulieren">Gewone HTML structuren gebruikt bij formulieren</h3>
+
+<p>Ondanks al het voorgaande blijven formulieren gewone HTML structuren. Dus alles over HTML is ook van toepassing op formulieren.</p>
+
+<p>Zoals in de voorbeelden te zien is worden widgets tussen {{HTMLElement("p")}} of {{HTMLElement("div")}} elementen geplaatst.</p>
+
+<p>Samen met het {{HTMLElement("fieldset")}} element worden ook HTML titels gebruikt en worden formulieren in secties verdeeld om ingewikkelde formulieren te maken.</p>
+
+<p>Ook worden vaak HTML lijsten gebruikt bij keuzevakjes en keuzerondjes.</p>
+
+<p>Ziehier een eenvoudig betalingsformulier:</p>
+
+<pre class="brush:html;">&lt;form&gt;
+  &lt;h1&gt;Payment form&lt;/h1&gt;
+  &lt;p&gt;Required fields are followed by &lt;strong&gt;&lt;abbr title="required"&gt;*&lt;/abbr&gt;&lt;/strong&gt;.&lt;/p&gt;
+
+  &lt;section&gt;
+    &lt;h2&gt;Contact information&lt;/h2&gt;
+
+    &lt;fieldset&gt;
+      &lt;legend&gt;Title&lt;/legend&gt;
+      &lt;ul&gt;
+        &lt;li&gt;
+          &lt;label for="title_1"&gt;
+            &lt;input type="radio" id="title_1" name="title" value="M." /&gt;
+            Mister
+          &lt;/label&gt;
+        &lt;/li&gt;
+        &lt;li&gt;
+          &lt;label for="title_2"&gt;
+            &lt;input type="radio" id="title_2" name="title" value="Ms." /&gt;
+            Miss
+          &lt;/label&gt;
+        &lt;/li&gt;
+      &lt;/ul&gt;
+    &lt;/fieldset&gt;
+
+    &lt;p&gt;
+      &lt;label for="name"&gt;
+        &lt;span&gt;Name: &lt;/span&gt;
+        &lt;input type="text" id="name" name="username" required /&gt;
+        &lt;strong&gt;&lt;abbr title="required"&gt;*&lt;/abbr&gt;&lt;/strong&gt;
+      &lt;/label&gt;
+    &lt;/p&gt;
+
+     &lt;p&gt;
+      &lt;label for="mail"&gt;
+        &lt;span&gt;E-mail: &lt;/span&gt;
+        &lt;input type="email" id="mail" name="usermail" required /&gt;
+        &lt;strong&gt;&lt;abbr title="required"&gt;*&lt;/abbr&gt;&lt;/strong&gt;
+      &lt;/label&gt;
+    &lt;/p&gt;
+  &lt;/section&gt;
+
+  &lt;section&gt;
+    &lt;h2&gt;Payment information&lt;/h2&gt;
+
+    &lt;p&gt;
+      &lt;label for="card"&gt;
+        &lt;span&gt;Card type:&lt;/span&gt;
+        &lt;select id="card" name="usercard"&gt;
+          &lt;option value="visa"&gt;Visa&lt;/option&gt;
+          &lt;option value="mc"&gt;Mastercard&lt;/option&gt;
+          &lt;option value="amex"&gt;American Express&lt;/option&gt;
+        &lt;/select&gt;
+      &lt;/label&gt;
+    &lt;/p&gt;
+    &lt;p&gt;
+      &lt;label for="number"&gt;
+        &lt;span&gt;Card number:&lt;/span&gt;
+        &lt;input type="text" id="number" name="cardnumber" required /&gt;
+        &lt;strong&gt;&lt;abbr title="required"&gt;*&lt;/abbr&gt;&lt;/strong&gt;
+      &lt;/label&gt;
+    &lt;/p&gt;
+    &lt;p&gt;
+      &lt;label for="date"&gt;
+        &lt;span&gt;Expiration date:&lt;/span&gt;
+        &lt;input type="text" id="date" name="expiration" required /&gt;
+        &lt;strong&gt;&lt;abbr title="required"&gt;*&lt;/abbr&gt;&lt;/strong&gt;
+        &lt;em&gt;formated as mm/yy&lt;/em&gt;
+      &lt;/label&gt;
+    &lt;/p&gt;
+  &lt;/section&gt;
+
+  &lt;section&gt;
+    &lt;p&gt;
+      &lt;button&gt;Validate the payment&lt;/button&gt;
+    &lt;/p&gt;
+  &lt;/section&gt;
+&lt;/form&gt;</pre>
+
+<p>Met behulp van CSS ziet het formulier er zo uit:</p>
+
+<table>
+ <thead>
+ <tr>
+ <th scope="col" style="text-align: center;">Live voorbeeld</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{EmbedLiveSample("A_payment_form",460,600, "", "HTML/Forms/How_to_structure_an_HTML_form/Example")}}</td>
+ </tr>
+ <tr>
+ <td style="text-align: center;"><a href="/en-US/docs/HTML/Forms/How_to_structure_an_HTML_form/Example" title="/en-US/docs/HTML/Forms/How_to_structure_an_HTML_form/Example">Probeer de broncode</a></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="HTML_widgets">HTML widgets</h2>
+
+<p>Bij het construeren van een formulier zijn er widgets om informatie van de gebruiker te verkrijgen. In dit artikel wordt uitgelegd hoe deze widgets getoond worden. Het artikel: <a href="/en-US/docs/HTML/Forms/The_native_form_widgets" title="/en-US/docs/HTML/Forms/The_native_form_widgets">Basis widgets voor formulieren </a>gaat dieper in op het werken met widgets.</p>
+
+<h3 id="Het_&lt;input>_element">Het &lt;input&gt; element</h3>
+
+<p>Dit is een speciaal element omdat het eigenlijk van alles kan zijn. Door eenvoudig zijn <code>type</code> attribuut te wijzigen kan het totaal iets anders worden. Om de zaken te vereenvoudigen kan het <code>type</code> attribuut ingedeeld worden in vier categorieën: eenregelige tekstvelden, elementen zonder tekstinvoer, elementen voor invoer van datum en tijd en knoppen. Hierdoor heeft het {{HTMLElement("input")}} element veel attributen maar het is niet altijd eenvoudig uit te maken welke relevant zijn en welke vereist zijn want dit is afhankelijk van het <code>type</code> attribuut.</p>
+
+<p>Dit wordt overzichtelijk gemaakt in volgende tabel. (Zie voor een volledige lijst van alle attributen de pagina betreffende het {{HTMLElement("input")}} element):</p>
+
+<table>
+ <thead>
+ <tr>
+ <th scope="col">Waarde van het type attribuut</th>
+ <th scope="col">Beschrijving</th>
+ <th scope="col">Vereiste attributen</th>
+ <th scope="col">Relevante attributen</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <th colspan="4" style="text-align: center;">Eenregelige tekstvelden</th>
+ </tr>
+ <tr>
+ <td><code>text</code></td>
+ <td>Dit is het meest eenvoudige tekstveld. De waarde <em>text</em> voor het <code>type</code> attribuut is de defaultwaarde van dit attribuut.  De waarde wordt gelezen zoals zij wordt ingegeven.</td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("maxlength","input")}}, {{htmlattrxref("pattern","input")}}, {{htmlattrxref("placeholder","input")}}, {{htmlattrxref("readonly","input")}}, {{htmlattrxref("required","input")}}, {{htmlattrxref("size","input")}}, {{htmlattrxref("spellcheck","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>email</code></td>
+ <td>Een veld dat alleen e-mailadressen toelaat.</td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("maxlength","input")}}, {{htmlattrxref("multiple","input")}}, {{htmlattrxref("pattern","input")}}, {{htmlattrxref("placeholder","input")}}, {{htmlattrxref("readonly","input")}}, {{htmlattrxref("required","input")}}, {{htmlattrxref("size","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>password</code></td>
+ <td>De waarde van dit tekstveld wordt verborgen.</td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("maxlength","input")}}, {{htmlattrxref("readonly","input")}}, {{htmlattrxref("required","input")}}, {{htmlattrxref("size","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>search</code></td>
+ <td>Een veld om zoekwoorden in te geven.</td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("autosave","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("maxlength","input")}}, {{htmlattrxref("pattern","input")}}, {{htmlattrxref("placeholder","input")}}, {{htmlattrxref("readonly","input")}}, {{htmlattrxref("required","input")}}, {{htmlattrxref("size","input")}}, {{htmlattrxref("spellcheck","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>tel</code></td>
+ <td>Een veld om een telefoonnummer in te geven.</td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("maxlength","input")}}, {{htmlattrxref("pattern","input")}}, {{htmlattrxref("placeholder","input")}}, {{htmlattrxref("readonly","input")}}, {{htmlattrxref("required","input")}}, {{htmlattrxref("size","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>url</code></td>
+ <td>Een veld om een absolute URL in te geven.</td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("maxlength","input")}}, {{htmlattrxref("pattern","input")}}, {{htmlattrxref("placeholder","input")}}, {{htmlattrxref("readonly","input")}}, {{htmlattrxref("required","input")}}, {{htmlattrxref("size","input")}}</td>
+ </tr>
+ <tr>
+ <th colspan="4" style="text-align: center;">Widgets zonder tekstingave</th>
+ </tr>
+ <tr>
+ <td><code>checkbox</code></td>
+ <td>Een keuzevakje.</td>
+ <td></td>
+ <td>{{htmlattrxref("checked","input")}}, {{htmlattrxref("required","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>color</code></td>
+ <td>Een widget om een kleur te kiezen.</td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("required","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>file</code></td>
+ <td>Een widget om een bestand te kiezen.</td>
+ <td></td>
+ <td>{{htmlattrxref("accept","input")}}, {{htmlattrxref("multiple","input")}}, {{htmlattrxref("required","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>hidden</code></td>
+ <td>Een widget die niet getoond wordt maar waarvan de waarde toch naar de server gestuurd wordt.</td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>number</code></td>
+ <td>Een widget voor ingave van een getal met drijvende komma.</td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("max","input")}}, {{htmlattrxref("min","input")}}, {{htmlattrxref("readonly","input")}}, {{htmlattrxref("required","input")}}, {{htmlattrxref("step","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>radio</code></td>
+ <td>Een keuzerondje. Slechts één van een gegeven groep kan gekozen worden.</td>
+ <td></td>
+ <td>{{htmlattrxref("checked","input")}}, {{htmlattrxref("required","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>range</code></td>
+ <td>Een widget om een getal in te geven waarvan de waarde niet belangrijk is.</td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("max","input")}}, {{htmlattrxref("min","input")}}, {{htmlattrxref("required","input")}}, {{htmlattrxref("step","input")}}</td>
+ </tr>
+ <tr>
+ <th colspan="4" style="text-align: center;">Widgetsvoor datum en tijd
+ <div class="note">Niet ondersteund.</div>
+ </th>
+ </tr>
+ <tr>
+ <td><code>date</code></td>
+ <td>Een veld om de datum in te geven (jaar, maand en dag, geen tijd).
+ <div class="note">Niet geïnstalleerd (zie <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=825294">bug 825294</a>)</div>
+ </td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("max","input")}}, {{htmlattrxref("min","input")}}, {{htmlattrxref("readonly","input")}}, {{htmlattrxref("required","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>datetime</code></td>
+ <td>Een veld om een datum en tijd in te geven (uur, minuut, seconde en fractie van een seconde) gebaseerd op de UTC tijdzone.
+ <div class="note">Niet geïnstalleerd (zie <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=825294">bug 825294</a>)</div>
+ </td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("max","input")}}, {{htmlattrxref("min","input")}}, {{htmlattrxref("readonly","input")}}, {{htmlattrxref("required","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>datetime-local</code></td>
+ <td>Een veld om een datum en tijd in te geven zonder tijdzone.
+ <div class="note">Niet geïnstalleerd (zie <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=825294">bug 825294</a>)</div>
+ </td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("max","input")}}, {{htmlattrxref("min","input")}}, {{htmlattrxref("readonly","input")}}, {{htmlattrxref("required","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>month</code></td>
+ <td>Een veld voor ingave van maand en jaar, zonder tijdzone.
+ <div class="note">Niet geïnstalleerd (zie <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=446510">bug 446510</a>)</div>
+ </td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("max","input")}}, {{htmlattrxref("min","input")}}, {{htmlattrxref("readonly","input")}}, {{htmlattrxref("required","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>time</code></td>
+ <td>Een veld om een tijd in te geven zonder tijdzone.
+ <div class="note">Niet geïnstalleerd zie <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=825294">bug 825294</a>)</div>
+ </td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("max","input")}}, {{htmlattrxref("min","input")}}, {{htmlattrxref("readonly","input")}}, {{htmlattrxref("required","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>week</code></td>
+ <td>Een veld om een datum in te geven bestaande uit een week-jaarnummer en een weeknummer zonder tijdzone.
+ <div class="note">Niet geïnstalleerd (zie <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=825294">bug 825294</a>)</div>
+ </td>
+ <td></td>
+ <td>{{htmlattrxref("autocomplete","input")}}, {{htmlattrxref("list","input")}}, {{htmlattrxref("max","input")}}, {{htmlattrxref("min","input")}}, {{htmlattrxref("readonly","input")}}, {{htmlattrxref("required","input")}}</td>
+ </tr>
+ <tr>
+ <th colspan="4" style="text-align: center;">Knoppen</th>
+ </tr>
+ <tr>
+ <td><code>button</code></td>
+ <td>Een knop zonder default gedrag.</td>
+ <td></td>
+ <td>{{htmlattrxref("formaction","input")}}, {{htmlattrxref("formenctype","input")}}, {{htmlattrxref("formmethod","input")}}, {{htmlattrxref("formnovalidate","input")}}, {{htmlattrxref("formtarget","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>image</code></td>
+ <td>Knop om grafisch element te verzenden.</td>
+ <td>{{htmlattrxref("src","input")}}, {{htmlattrxref("alt","input")}}</td>
+ <td>{{htmlattrxref("width","input")}}, {{htmlattrxref("height","input")}}, {{htmlattrxref("formaction","input")}}, {{htmlattrxref("formenctype","input")}}, {{htmlattrxref("formmethod","input")}}, {{htmlattrxref("formnovalidate","input")}}, {{htmlattrxref("formtarget","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>reset</code></td>
+ <td>Een knop die de inhoud van het formulier terugzet naar de defaultwaarden.</td>
+ <td></td>
+ <td>{{htmlattrxref("formaction","input")}}, {{htmlattrxref("formenctype","input")}}, {{htmlattrxref("formmethod","input")}}, {{htmlattrxref("formnovalidate","input")}}, {{htmlattrxref("formtarget","input")}}</td>
+ </tr>
+ <tr>
+ <td><code>submit</code></td>
+ <td>Knop die het formulier verzendt.</td>
+ <td></td>
+ <td>{{htmlattrxref("formaction","input")}}, {{htmlattrxref("formenctype","input")}}, {{htmlattrxref("formmethod","input")}}, {{htmlattrxref("formnovalidate","input")}}, {{htmlattrxref("formtarget","input")}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Als om een of andere reden de waarde van het <code>type</code> attribuut niet ondersteund wordt door de browser wordt het {{HTMLElement("input")}} element weergegeven alsof het <em>text</em> is. Dit verzekert dat het formulier blijft werken, zij het niet zo netjes.</p>
+
+<p>Ondanks dat het {{HTMLElement("input")}} element krachtig is, kan het niet alles doen. Daarvoor zijn er een aantal andere elementen.</p>
+
+<h3 id="Het_&lt;textarea>_element">Het &lt;textarea&gt; element</h3>
+
+<p>Dit is een tekstveld met meerdere regels. Dit element werkt op dezelfde wijze als het tekstveld met één regel behalve dat het invoegen van regeleinden toelaat. Er zijn ook enkele extra attributen die toelaten tekst te verdelen over meerdere regels:</p>
+
+<table>
+ <caption>Attributen voor het {{HTMLElement("textarea")}} element</caption>
+ <thead>
+ <tr>
+ <th scope="col">Attribuut naam</th>
+ <th scope="col">Defaultwaarde</th>
+ <th scope="col">Beschrijving</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{htmlattrxref("cols","textarea")}}</td>
+ <td><code>20</code></td>
+ <td>De zichtbare tekstbreedte in gemiddelde karakterbreedten.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("rows","textarea")}}</td>
+ <td></td>
+ <td>Het aantal zichtbare regels in het tekstveld.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("wrap","textarea")}}</td>
+ <td><code>soft</code></td>
+ <td>Geeft aan hoe het veld de tekst afbreekt. Mogelijke waarden zijn: <code>hard</code> of <code>soft</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Het {{HTMLElement("textarea")}} element werkt enigszins anders dan het {{HTMLElement("input")}} element. Het {{HTMLElement("input")}} element is een zelfsluitend element. Dit betekent dat het geen afstammelingen kan hebben. Het {{ HTMLElement("textarea")}} element daarentegen is een gewoon element dat afstammelingen kan hebben met tekstinhoud.</p>
+
+<p>Dit heeft twee consequenties:</p>
+
+<ul>
+ <li>Om een defaultwaarde voor een {{HTMLElement("input")}} element te <span class="highlighted">definiëren moet het </span><code>value</code> attribuut gebruikt worden maar bij een {{HTMLElement("textarea")}} element moet de defaulttekst tussen de begin- en eindtag van het {{HTMLElement("textarea")}} element geplaatst worden.</li>
+ <li>Het {{HTMLElement("textarea")}} element accepteert alleen tekst. Dit betekent dat elke HTML inhoud in een {{HTMLElement("textarea")}} element als platte tekst wordt beschouwd..</li>
+</ul>
+
+<p>In het volgende voorbeeld worden beide {{HTMLElement("textarea")}} elementen  op dezelfde manier getoond:</p>
+
+<pre class="brush:html;">&lt;form&gt;
+  &lt;p&gt;
+    &lt;label for="text_1"&gt;With regular HTML&lt;/label&gt;&lt;br&gt;
+    &lt;textarea id="text_1" name="regular"&gt;&lt;p&gt;I'm a paragraphe&lt;/p&gt;&lt;/textarea&gt;
+  &lt;/p&gt;
+  &lt;p&gt;
+    &lt;label for="text_2"&gt;With escaped HTML&lt;/label&gt;&lt;br&gt;
+    &lt;textarea id="text_2" name="escaped"&gt;&amp;lt;p&amp;gt;I'm a paragraphe&amp;lt;/p&amp;gt;&lt;/textarea&gt;
+  &lt;/p&gt;
+  &lt;p&gt;
+    &lt;button&gt;Send me&lt;/button&gt;
+  &lt;/p&gt;
+&lt;/form&gt;</pre>
+
+<h3 id="De_&lt;select>_&lt;option>_en_&lt;optgroup>_elementen">De &lt;select&gt;, &lt;option&gt;, en &lt;optgroup&gt; elementen</h3>
+
+<p>Het {{HTMLElement("select")}} element laat de gebruiker toe een waarde in te geven dan wel een waarde te kiezen uit een lijst (zogenaamde combo box). Een keuzevak laat toe een voorgedefinieerde waarde te kiezen. Een combo box kan lechts één keuze hebben ofwel meerdere keuzes. Dit wordt uitgelegd in het artikel: <a href="/en-US/docs/HTML/Forms/The_native_form_widgets" title="/en-US/docs/HTML/Forms/The_native_form_widgets">De basis widges voor formulieren</a>.</p>
+
+<p>Elke waarde in het keuzevak wordt gedefinieerd met een {{HTMLElement("option")}} element en deze elementen kunnen gegroepeerd worden binnen {{HTMLElement("optgroup")}} elementen.</p>
+
+<p>Bijvoorbeeld:</p>
+
+<pre class="brush:html;">&lt;form&gt;
+  &lt;p&gt;
+    &lt;label for="myFruit"&gt;Pick a fruit&lt;/label&gt;
+    &lt;select id="myFruit" name="fruit"&gt;
+      &lt;!-- There is a trick here you think you'll pick
+         a banana but you'll eat an orange &gt;:-) --&gt;
+      &lt;option value="orange"&gt;Banana&lt;/option&gt;
+      &lt;option&gt;Cherry&lt;/option&gt;
+      &lt;optgroup label="berries"&gt;
+        &lt;option&gt;Blueberry&lt;/option&gt;
+        &lt;option&gt;Raspberry&lt;/option&gt;
+        &lt;option&gt;Strawberry&lt;/option&gt;
+      &lt;/optgroup&gt;
+    &lt;/select&gt;
+  &lt;/p&gt;
+&lt;/form&gt;</pre>
+
+<p>Als een {{HTMLElement("option")}} element een <code>value</code> attribuut heeft wordt de waarde van dit attribuut meegestuurd als het formulier wordt verzonden. Als er geen attribuut is opgegeven is het de inhoud van het {{HTMLElement("option")}} element die gebruikt wordt als de waarde van het keuzevak.</p>
+
+<p>Bij het {{HTMLElement("optgroup")}} element wordt het <code>label</code> attribuut getoond voor de waarden. Dit ziet er uit als een keuzemogelijkheid maar dit label kan niet geselecteerd worden.</p>
+
+<table>
+ <caption>Attributen van het {{HTMLElement("option")}} element</caption>
+ <thead>
+ <tr>
+ <th scope="col">Attribuute naam</th>
+ <th scope="col">Defaultwaarde</th>
+ <th scope="col">Beschrijving</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{htmlattrxref("label","option")}}</td>
+ <td></td>
+ <td>Dit is de tekst van de optie. Het is deze tekst die getoond wordt als het <code>label</code> attribuut niet gedefinieerd is.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("selected","option")}}</td>
+ <td>(<em>false</em>)</td>
+ <td>Geeft aan dat de optie geselecteerd is.</td>
+ </tr>
+ </tbody>
+</table>
+
+<table>
+ <caption>Attributen van het {{HTMLElement("optgroup")}} element</caption>
+ <thead>
+ <tr>
+ <th scope="col">Attribuut naam</th>
+ <th scope="col">Defaultwaarde</th>
+ <th scope="col">Beschrijving</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{htmlattrxref("label","optgroup")}}</td>
+ <td></td>
+ <td>De naam van de groep van opties. <strong>Dit attribuut is verplicht.</strong></td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Het_&lt;datalist>_element">Het &lt;datalist&gt; element</h3>
+
+<p>Dit is een uitbreiding van de widgets door middel van vooringestelde waarden voor bepaalde widgets. Het meest bekende voorbeeld is de auto aanvulling voor tekstvelden. De beschikbare waarden worden door {{HTMLElement("option")}} elementen binnen een {{HTMLElement("datalist")}} element geplaatst.</p>
+
+<p>Om een widget aan een {{HTMLElement("datalist")}} element te binden wordt het <code>list</code> attribuut van de widget gebruikt. Deze vermeldt het <code>id</code> attribuut van het {{HTMLElement("datalist")}} element dat gebruikt moet worden.</p>
+
+<p>Het {{HTMLElement("datalist")}} element is nog maar vrij recent aan HTML formulieren toegevoegd. Er zijn dus nog browsers die het niet ondersteunen. Om toch een werkbaar formulier te hebben op deze browsers bestaat er een kleine truk:</p>
+
+<pre class="brush:html;">&lt;form&gt;
+  &lt;p&gt;
+    &lt;label for="myFruit"&gt;What is your favorite fruit?&lt;/label&gt;
+    &lt;input type="text" id="myFruit" name="fruit" list="fruitList" /&gt;
+
+    &lt;datalist id="fruitList"&gt;
+      &lt;label for="suggestion"&gt;or pick a fruit&lt;/label&gt;
+      &lt;select id="suggestion" name="altFruit"&gt;
+        &lt;option value="banana"&gt;Banana&lt;/option&gt;
+        &lt;option value="cherry"&gt;Cherry&lt;/option&gt;
+        &lt;option value="strawberry"&gt;Strawberry&lt;/option&gt;
+      &lt;/select&gt;
+    &lt;/datalist&gt;
+  &lt;/p&gt;
+&lt;/form&gt;</pre>
+
+<p>Enerzijds negeren de browsers die het {{HTMLElement("datalist")}} element begrijpen de elementen die geen {{HTMLElement("option")}} elementen zijn en werken zoals verwacht. Anderzijds tonen de browsers die het {{HTMLElement("datalist")}} element niet begrijpen het label en het selectievakje. Natuurlijk zijn er andere methoden om het niet begrijpen van het {{HTMLElement("datalist")}} element op te lossen maar die vereisen het gebruik van van JavaScript, wat niet altijd de juiste oplossing is.</p>
+
+<table>
+ <tbody>
+ <tr>
+ <th scope="row">Safari 6</th>
+ <td><img alt="Screenshot of the datalist element fallback with Safari on Mac OS" src="/files/4583/datalist-safari.png" style="height: 32px; width: 495px;"></td>
+ </tr>
+ <tr>
+ <th scope="row">Firefox 18</th>
+ <td><img alt="Screenshot of the datalist element with Firefox on Mac OS" src="/files/4581/datalist-firefox-macos.png" style="height: 102px; width: 353px;"></td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="De_&lt;meter>_en_&lt;progress>_elementen">De &lt;meter&gt; en &lt;progress&gt; elementen</h3>
+
+<p>Deze twee elementen geven een grafische voorstelling van een numerische waarde. Het verschil tussen beide is louter semantisch:</p>
+
+<ul>
+ <li>Het {{HTMLElement("meter")}} element geeft een statische waarde weer tussen een minimum en een maximumwaarde.</li>
+ <li>Het {{HTMLElement("progress")}} element geeft een waarde weer die verandert met de tijd tussen een minimum en een maximum waarde. De verandering van de waarde (en daardoor ook de wijziging van de voortuitgangsindicator) moet door middel van JavaScript gebeuren omdat het element geen enkel mechanisme heeft om dat zelf te doen.</li>
+</ul>
+
+<p>Hierdoor hebben deze elementen een specifieke set attributen:</p>
+
+<table>
+ <caption>Attributen van het {{HTMLElement("meter")}} element</caption>
+ <thead>
+ <tr>
+ <th scope="col">Attribuute naam</th>
+ <th scope="col">Defaultwaarde</th>
+ <th scope="col">Beschrijving</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{htmlattrxref("min","meter")}}</td>
+ <td>0</td>
+ <td>De ondergrens van de numerieke waarde van het gemeten interval.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("max","meter")}}</td>
+ <td>1</td>
+ <td>De bovengrens van de  numerieke waarde van het gemeten interval.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("low","meter")}}</td>
+ <td>the <code>min</code> value</td>
+ <td>De hoogste numerieke waarde van de ondergrens van het gemeten interval.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("high","meter")}}</td>
+ <td>the <code>max</code> value</td>
+ <td>De laagste numerieke waarde van de bovengrens van het gemeten interval.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("optimum","meter")}}</td>
+ <td></td>
+ <td>De optimale numerieke waarde.</td>
+ </tr>
+ </tbody>
+</table>
+
+<table>
+ <caption>Attributen van het {{HTMLElement("progress")}} element</caption>
+ <thead>
+ <tr>
+ <th scope="col">Attribuute naam</th>
+ <th scope="col">Defaultwaarde</th>
+ <th scope="col">Beschrijving</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{htmlattrxref("max","progress")}}</td>
+ <td></td>
+ <td>Dit attribuut geeft aan hoeveel werk er nog moet gedaan worden door de taak aangeduid door het {{HTMLElement("progress")}} element.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Het_&lt;button>_element">Het &lt;button&gt; element</h3>
+
+<p>Een {{HTMLElement("button")}} element toont een knop. Een knop kan drie functies hebben afhankelijk van het <code>type</code> attribuut:</p>
+
+<ul>
+ <li>Een verzendknop stuurt de formuliergegevens naar de webpagina die gedefinieerd wordt door het <code>action</code> attribuut van het {{HTMLElement("form")}} element.</li>
+ <li>Een herstelknop stelt alle formulierwidgets onmiddellijk in op hun defaultwaarden. Dit wordt tegenwoordig als een minder goede werkwijze beschouwd omdat de gebruiker gemakkelijk zijn werk kan verliezen.</li>
+ <li>Een blanko knop doet niets uit zichzelf en de gebruiker moet door middel van JavaScript er een fuctie aan geven.</li>
+</ul>
+
+<table>
+ <caption>Attributen van het {{HTMLElement("button")}} element</caption>
+ <thead>
+ <tr>
+ <th scope="col">Attribuute naam</th>
+ <th scope="col">Defaultwaarde</th>
+ <th scope="col">Beschrijving</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{htmlattrxref("type","button")}}</td>
+ <td><code>submit</code></td>
+ <td>Het type knop. Mogelijke waarden zijn: <code>button</code>, <code>reset</code>, or <code>submit.</code></td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("formaction","button")}}</td>
+ <td></td>
+ <td>Bij de verzendknop zal dit attribuut de waarde van het <code>action</code> attribuut van het {{HTMLElement("form")}} element overschrijven.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("formenctype","button")}}</td>
+ <td></td>
+ <td>Bij de verzendknop zal dit attribuut de waarde van het <code>enctype</code> attribuut van het {{HTMLElement("form")}} element overschrijven.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("formmethod","button")}}</td>
+ <td></td>
+ <td>Bij de verzendknop zal dit attribuut de waarde van het <code>method</code> attribuut van het {{HTMLElement("form")}} element overschrijven.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("formnovalidate","button")}}</td>
+ <td></td>
+ <td>Bij de verzendknop zal dit attribuut de waarde van het <code>novalidate</code> attribuut van het {{HTMLElement("form")}} element overschrijven.</td>
+ </tr>
+ <tr>
+ <td>{{htmlattrxref("formtarget","button")}}</td>
+ <td></td>
+ <td>Bij de verzendknop zal dit attribuut de waarde van het <code>target</code> attribuut van het {{HTMLElement("form")}} element overschrijven.</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Op technisch vlak is er haast geen onderscheid tussen een knop gedefinieerd door het {{HTMLElement("button")}} element en het {{HTMLElement("input")}} element. Het enig merkbaar verschil is het label van de knop zelf. Bij het {{HTMLElement("input")}} element kan het label slechts uit alfanumerische tekens bestaan terwijl bij een {{HTMLElement("button")}} element het label HTML kan zijn. Zijn stijl kan dan ook overeenkomstig aangepast zijn.</p>
+
+<div class="note"><strong>Nota:</strong> Omwille van historische redenen werd het {{HTMLElement("button")}} element niet vaak gebruikt en ontwikkelaars gaven de voorkeur aan knoppen gemaakt met het {{HTMLElement("input")}} element. Dit kwam door een fout in oudere versies van Internet Explorer (IE). Bij gebruik van een <code>name</code> en een <code>value</code> attribuut in een {{HTMLElement("button")}} element in IE6 en IE7 werd niet de inhoud van het <code>value</code> attribuut verzonden maar wel de inhoud van de knop zelf.  Dit is hersteld sinds IE8 zodat het niet langer nodig is om het {{HTMLElement("button")}} element te vermijden.</div>
+
+<h3 id="Basis_attributen">Basis attributen</h3>
+
+<p>Veel elementen om formulieren te maken hebben specifieke attributen. Maar er zijn attributen die gemeenschappelijk zijn voor alle elementen. Hier volgt een lijst van deze attributen:</p>
+
+<table>
+ <thead>
+ <tr>
+ <th scope="col">Attribuute naam</th>
+ <th scope="col">Defaultwaarde</th>
+ <th scope="col">Beschrijving</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>autofocus</code></td>
+ <td>(<em>false</em>)</td>
+ <td>Bepaalt of het element automatisch de focus krijgt waneer de pagina geladen wordt. Slechts één element in een document kan de focus krijgen. De gebruiker kan natuurlijk altijd nog werken in een ander element.</td>
+ </tr>
+ <tr>
+ <td><code>disabled</code></td>
+ <td>(<em>false</em>)</td>
+ <td>Dit attribuut belet de gebruiker om het element te gebruiken. Als dit attribuut niet gespecifieerd is, erft het element de instellingen van het element waarin het vervat is. Bijvoorbeeld in het {{HTMLElement("fieldset")}} element: als er geen omvattend element is met het <code>disabled</code> attribuut ingesteld dan is het element actief.</td>
+ </tr>
+ <tr>
+ <td><code>form</code></td>
+ <td></td>
+ <td>Het formulierelement waar de widget mee geassocieerd is. De waarde van het attribuut moet het <code>id</code> attribuut zijn van een {{HTMLElement("form")}} element in hetzelfde document. Theoretisch kan een widget buiten een formulier gebruikt worden maar er is geen enkele browser die dit ondersteunt.</td>
+ </tr>
+ <tr>
+ <td><code>name</code></td>
+ <td></td>
+ <td>De naam van het element. Deze wordt  mee verzonden met de gegevens.</td>
+ </tr>
+ <tr>
+ <td><code>value</code></td>
+ <td></td>
+ <td>De <span class="ng-binding">initiële</span> waarde van het element.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Het_gebruik_van_ARIA_om_HTML_formulieren_te_maken">Het gebruik van <a href="/en-US/docs/Accessibility/ARIA" title="/en-US/docs/Accessibility/ARIA">ARIA</a> om HTML formulieren te maken</h2>
+
+<p><a href="/en-US/docs/Accessibility/ARIA" title="/en-US/docs/Accessibility/ARIA">ARIA</a> is <a href="http://www.w3.org/TR/wai-aria/" rel="external" title="http://www.w3.org/TR/wai-aria/">a W3C Candidate Recommendation</a> en voegt meer mogelijkheden toe aan HTML om betere internettoepassingen te maken, inclusief formulieren. In "<a href="/en-US/docs/HTML/Forms/How_to_build_custom_form_widgets" title="/en-US/docs/HTML/Forms/How_to_build_custom_form_widgets">Hoe aangepaste formulierwidgets maken</a>" wordt dieper in gegaan op het maken van formulieren maar hier zijn alvast enkele basisinstructies.</p>
+
+<p>De support van ARIA en ondersteunende technologieën door browsers is ver van perfect maar het wordt steeds beter. Als een browser een ARIA attribuut tegenkomt moet hij informatie naar de toegangslaag van het besturingssysteem sturen. Dit loopt niet altijd goed voor alle browsers over verschillende platformen. De ondersteunende technologieën van hun kant moeten verbinding maken met de toegangslaag van de besturingssysteem om de informatie van de browsers te verkrijgen. Niet alle applicaties doen dat correct. Dus het gebruik van ARIA betekent niet dat een webtoepassing correct zal werken maar men doet alleszins zijn best. Hoe dan ook, ARIA is op het ogenblik de beste technologie en iets is beter dan niets.</p>
+
+<p>De documentatie over ARIA is hier te vinden: <a href="/en-US/docs/Accessibility/ARIA/forms" title="/en-US/docs/Accessibility/ARIA/forms">lees hier de documentaie over ARIA</a>.</p>
+
+<h3 id="Het_aria-labelledby_attribuut">Het <a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-labelledby_attribute" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-labelledby_attribute"><code>aria-labelledby</code></a> attribuut</h3>
+
+<p>Dit attribuut laat toe een label aan te maken zonder het {{HTMLElement("label")}} element. Het <code>aria-labelledby</code> attribuut wordt geplaatst bij de widget en refereert naar het <code>id</code> attribuut van het element dat als label moet gebruikt worden.</p>
+
+<pre class="brush:html;">&lt;form&gt;
+  &lt;p id="fruitLabel"&gt;What's your favorite fruit&lt;/p&gt;
+  &lt;p&gt;
+    &lt;input type="text" name="fruit" aria-labelledby="fruitLabel"&gt;
+  &lt;/p&gt;
+&lt;/form&gt;</pre>
+
+<p>Eigenlijk is het het tegenovergetelde van het <code>for</code> attribuut van het {{HTMLElement("label")}} element. Bij het <code>for</code> attribuut wordt naar de <code>id</code> van de widget gerefereerd maar bij het <code>aria-labelledby</code> attribuut wordt gerefereerd naar de <code>id</code> van het label.</p>
+
+<h3 id="Het_aria-describedby_attribuut">Het <a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute"><code>aria-describedby</code></a> attribuut</h3>
+
+<p>Is eigenlijk gelijk aan het <code>aria-labelledby</code> attribuut. Het verschil is eerder semantisch. Een label definieert de essentie van een object terwijl een beschrijving meer informatie verschaft dan de gebruiker op dat ogenblijk nodig heeft. Dus het <code>aria-describedby</code> attribuut wordt niet aangeraden voor formulieren. Hier wordt beter het <code>aria-labelledby</code> attribuut gebruikt tenzij men bredere informatie over het formulier wil geven. Echter wordt het juist aanbevolen om <code>aria-describedby</code> wel te gebruiken om invoervelden te omschrijven (naast het <code>label</code> element). Zoals hoelang een wachtwoord moet zijn (zie voorbeeld).</p>
+
+<pre class="brush: html">&lt;form&gt;
+ &lt;label for="pw"&gt;
+ Password
+ &lt;/label&gt;
+ &lt;input type="password" id="pw" aria-describedby="pw_desc"&gt;
+ &lt;p id="pw_desc"&gt;
+ Please enter at least 12 characters.
+ &lt;/p&gt;
+&lt;/form&gt;</pre>
+
+<h3 id="Het_aria-label_attribuut">Het <a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute"><code>aria-label</code></a> attribuut</h3>
+
+<p>Dit attribuut wordt gebruikt als er in de DOM geen expliciet label voor een bepaalde widget bestaat. Het attribuut wordt gebruikt door ondersteunende technologieën wanneer er in de DOM geen verwijzing is naar de widget. </p>
+
+<pre class="brush:html;">&lt;form&gt;
+  &lt;p&gt;
+    &lt;input type="search" name="q" aria-label="Search" /&gt;
+    &lt;input type="submit" value="Go" /&gt;
+  &lt;/p&gt;
+&lt;/form&gt;</pre>
+
+<h3 id="Het_role_attribuut">Het <a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques"><code>role</code></a> attribuut</h3>
+
+<p>Dit is het voornaamste ARIA attribuut. Het geeft specifieke semantische informatie aan ondersteunende technologieën voor een bepaald HTML element. Er zijn veel <code>role</code> attributen beschikbaar, sommige speciaal voor formulieren.</p>
+
+<p>ARIA probeert niet alleen semantische informatie te geven voor widgets die niet voor handen zijn in HTML maar ook voor elementen die wel bestaan in HTML.</p>
+
+<p>De <code>role </code>attributen voor formulieren zijn:</p>
+
+<ul>
+ <li><a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_button_role" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_button_role">Button</a></li>
+ <li><a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_checkbox_role" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_checkbox_role">Checkbox</a></li>
+ <li><a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_progressbar_role" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_progressbar_role">Progressbar</a></li>
+ <li>Radio</li>
+ <li><a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_slider_role" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_slider_role">Slider</a></li>
+ <li>Spinbutton</li>
+ <li><a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_textbox_role" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_textbox_role">textbox</a></li>
+</ul>
+
+<p>Er zijn ook samengestelde <code>role</code> attributen:</p>
+
+<ul>
+ <li><a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_listbox_role" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques/Using_the_listbox_role">Listbox</a></li>
+ <li>Radiogroup</li>
+</ul>
+
+<p>En <a href="/en-US/docs/Accessibility/ARIA/ARIA_Techniques" title="/en-US/docs/Accessibility/ARIA/ARIA_Techniques">er zijn er nog meer</a>.  ARIA is een zeer grote verzameling. Er kennis van nemen laat toe mooie formulieren te maken, veel beter dan met HTML.</p>
+
+<h2 id="Conclusie">Conclusie</h2>
+
+<p>Met deze kennis kunnen volledige HTML formulieren gemaakt worden. Volgend artikel gaat in detail over het maken van formulieren: <a href="/en-US/docs/HTML/Forms/The_native_form_widgets" title="/en-US/docs/HTML/Forms/The_native_form_widgets">De basis formulier elementen</a>.</p>
+
+<h2 id="Zie_ook">Zie ook</h2>
+
+<ul>
+ <li><a href="http://www.alistapart.com/articles/sensibleforms/" rel="external" title="http://www.alistapart.com/articles/sensibleforms/">Ter zijde: Zinvolle formulieren: Een controlelijst voor het maken van formulieren</a></li>
+</ul>
diff --git a/files/nl/learn/html/forms/index.html b/files/nl/learn/html/forms/index.html
new file mode 100644
index 0000000000..13853c2ccf
--- /dev/null
+++ b/files/nl/learn/html/forms/index.html
@@ -0,0 +1,358 @@
+---
+title: HTML forms guide
+slug: Learn/HTML/Forms
+tags:
+ - Featured
+ - Forms
+ - Guide
+ - HTML
+ - NeedsTranslation
+ - TopicStub
+ - Web
+translation_of: Learn/Forms
+---
+<p><span class="seoSummary">This guide is a series of articles that will help you master HTML forms.</span> HTML forms are a very powerful tool for interacting with users; however, for historical and technical reasons, it's not always obvious how to use them to their full potential. In this guide, we'll cover all aspects of HTML forms, from structure to styling, from data handling to custom widgets. You'll learn to enjoy the great power they offer!</p>
+
+<h2 id="Articles">Articles</h2>
+
+<ol>
+ <li><a href="/en-US/docs/HTML/Forms/My_first_HTML_form" title="/en-US/docs/HTML/Forms/My_first_HTML_form">My first HTML form</a></li>
+ <li><a href="/en-US/docs/HTML/Forms/How_to_structure_an_HTML_form" title="/en-US/docs/HTML/Forms/How_to_structure_an_HTML_form"><span>How to structure an HTML form</span></a></li>
+ <li><a href="/en-US/docs/HTML/Forms/The_native_form_widgets" title="/en-US/docs/HTML/Forms/The_native_form_widgets"><span>The native form widgets</span></a></li>
+ <li>CSS with HTML forms
+ <ol>
+ <li><a href="/en-US/docs/HTML/Forms/Styling_HTML_forms" title="/en-US/docs/HTML/Forms/Styling_HTML_forms"><span>Styling HTML forms</span></a></li>
+ <li><a href="/en-US/docs/Web/Guide/HTML/Forms/Advanced_styling_for_HTML_forms" title="/en-US/docs/Advanced_styling_for_HTML_forms">Advanced styling for HTML forms</a></li>
+ <li><a href="/en-US/docs/Property_compatibility_table_for_form_widgets" title="/en-US/docs/Property_compatibility_table_for_form_widgets">Property compatibility table for form widgets</a></li>
+ </ol>
+ </li>
+ <li><a href="/en-US/docs/HTML/Forms/Sending_and_retrieving_form_data" title="/en-US/docs/HTML/Forms/Sending_and_retrieving_form_data"><span>Sending <s>and retrieving</s> form data</span></a></li>
+ <li><a href="/en-US/docs/HTML/Forms/Data_form_validation" title="/en-US/docs/HTML/Forms/Data_form_validation">Data form validation</a></li>
+ <li><a href="/en-US/docs/HTML/Forms/How_to_build_custom_form_widgets" title="/en-US/docs/HTML/Forms/How_to_build_custom_form_widgets">How to <span>build custom form widgets</span></a></li>
+ <li><a href="/en-US/docs/HTML/Forms/Sending_forms_through_JavaScript" title="/en-US/docs/HTML/Forms/Sending_forms_through_JavaScript">Sending forms through JavaScript</a>
+ <ol>
+ <li><a href="/en-US/docs/DOM/XMLHttpRequest/FormData/Using_FormData_Objects" title="/en-US/docs/DOM/XMLHttpRequest/FormData/Using_FormData_Objects">Using the FormData object</a></li>
+ </ol>
+ </li>
+ <li><a href="/en-US/docs/HTML/Forms/HTML_forms_in_legacy_browsers" title="/en-US/docs/HTML/Forms/HTML_forms_in_legacy_browsers">HTML forms in legacy browsers</a></li>
+</ol>
+
+<h2 id="HTML_Documentation">HTML Documentation</h2>
+
+<h3 id="HTML_Elements">HTML Elements</h3>
+
+<table>
+ <thead>
+ <tr>
+ <th scope="col">Element</th>
+ <th scope="col">Related DOM interface</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("button")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLButtonElement")}}</td>
+ <td style="vertical-align: top;">The <code>button</code> element represents a clickable button.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("datalist")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLDataListElement")}}</td>
+ <td style="vertical-align: top;">The <span style="font-family: courier new;">datalist</span> element contains a set of {{ HTMLElement("option") }} elements that represent the possible options for the value of other form elements.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("fieldset")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLFieldSetElement")}}</td>
+ <td style="vertical-align: top;">The <span style="font-family: courier new;">fieldset</span> is used to group several form elements within a form.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("form")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLFormElement")}}</td>
+ <td style="vertical-align: top;">The <code>form</code> element represents a section of document that contains interactive element that enables a user to submit information to a web server.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("input")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLInputElement")}}</td>
+ <td style="vertical-align: top;">The  <code>input</code> element is used to create interactive controls for forms.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("keygen")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLKeygenElement")}}</td>
+ <td style="vertical-align: top;">The <code>keygen</code> element exists to facilitate generation of key material, and submission of the public key as part of an HTML form</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("label")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLLabelElement")}}</td>
+ <td style="vertical-align: top;">The <code>label</code> element represents a caption for an item in a user interface</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("legend")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLLegendElement")}}</td>
+ <td style="vertical-align: top;">The <code>legend</code> element represents a caption for the content of its parent {{ HTMLElement("fieldset") }}.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("meter")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLMeterElement")}}</td>
+ <td style="vertical-align: top;">The <code>meter</code> element  represents either a scalar value within a known range or a fractional value.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("optgroup")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLOptGroupElement")}}</td>
+ <td style="vertical-align: top;">the <code>optgroup</code> element creates a group of options within a {{ HTMLElement("select") }} element.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("option")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLOptionElement")}}</td>
+ <td style="vertical-align: top;">the HTML<em> </em><code>option<em> </em></code>element is used to create a control representing an item within a {{ HTMLElement("select") }}, an {{ HTMLElement("optgroup") }} or a {{ HTMLElement("datalist") }} element.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("output")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLOutputElement")}}</td>
+ <td style="vertical-align: top;">The <code>output</code> element represents the result of a calculation.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("progress")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLProgressElement")}}</td>
+ <td style="vertical-align: top;">The <code>progress</code> element is used to view the completion progress of a task.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("select")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLSelectElement")}}</td>
+ <td style="vertical-align: top;">The <code>select</code> element represents a control that presents a menu of options.</td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">{{HTMLElement("textarea")}}</td>
+ <td style="vertical-align: top;">{{domxref("HTMLTextAreaElement")}}</td>
+ <td style="vertical-align: top;">The <code>textarea</code> element represents a multi-line plain-text editing control.</td>
+ </tr>
+ </tbody>
+</table>
+
+<div class="note">
+<p><strong>Note:</strong> All form elements, as all HTML elements, support the {{domxref("HTMLElement")}} DOM interface.</p>
+</div>
+
+<h3 id="HTML_Attributes">HTML Attributes</h3>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th>Attribute Name</th>
+ <th>Elements</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>accept</td>
+ <td>{{ HTMLElement("form") }}, {{ HTMLElement("input") }}</td>
+ <td>List of types the server accepts, typically a file type.</td>
+ </tr>
+ <tr>
+ <td style="white-space: nowrap;">accept-charset</td>
+ <td>{{ HTMLElement("form") }}</td>
+ <td>List of supported charsets.</td>
+ </tr>
+ <tr>
+ <td>action</td>
+ <td>{{ HTMLElement("form") }}</td>
+ <td>The URI of a program that processes the information submitted via the form.</td>
+ </tr>
+ <tr>
+ <td>autocomplete</td>
+ <td>{{ HTMLElement("form") }}, {{ HTMLElement("input") }}</td>
+ <td>Indicates whether controls in this form can by default have their values automatically completed by the browser.</td>
+ </tr>
+ <tr>
+ <td>autofocus</td>
+ <td>{{ HTMLElement("button") }}, {{ HTMLElement("input") }}, {{ HTMLElement("keygen") }}, {{ HTMLElement("select") }}, {{ HTMLElement("textarea") }}</td>
+ <td>The element should be automatically focused after the page loaded.</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <td>challenge</td>
+ <td>{{ HTMLElement("keygen") }}</td>
+ <td>A challenge string that is submitted along with the public key.</td>
+ </tr>
+ <tr>
+ <td>checked</td>
+ <td>{{ HTMLElement("input") }}</td>
+ <td>Indicates whether the element should be checked on page load.</td>
+ </tr>
+ <tr>
+ <td>cols</td>
+ <td>{{ HTMLElement("textarea") }}</td>
+ <td>Defines the number of columns in a textarea.</td>
+ </tr>
+ <tr>
+ <td>data</td>
+ <td>{{ HTMLElement("object") }}</td>
+ <td>Specifies the URL of the resource.</td>
+ </tr>
+ <tr>
+ <td>dirname</td>
+ <td>{{ HTMLElement("input") }}, {{ HTMLElement("textarea") }}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>disabled</td>
+ <td>{{ HTMLElement("button") }}, {{ HTMLElement("fieldset") }}, {{ HTMLElement("input") }}, {{ HTMLElement("keygen") }}, {{ HTMLElement("optgroup") }}, {{ HTMLElement("option") }}, {{ HTMLElement("select") }}, {{ HTMLElement("textarea") }}</td>
+ <td>Indicates whether the user can interact with the element.</td>
+ </tr>
+ <tr>
+ <td>enctype</td>
+ <td>{{ HTMLElement("form") }}</td>
+ <td>Defines the content type of the form data when the <code>method</code> is POST.</td>
+ </tr>
+ <tr>
+ <td>for</td>
+ <td>{{ HTMLElement("label") }}, {{ HTMLElement("output") }}</td>
+ <td>Describes elements which belong to this one.</td>
+ </tr>
+ <tr>
+ <td>form</td>
+ <td>{{ HTMLElement("button") }}, {{ HTMLElement("fieldset") }}, {{ HTMLElement("input") }}, {{ HTMLElement("keygen") }}, {{ HTMLElement("label") }}, {{ HTMLElement("meter") }}, {{ HTMLElement("object") }}, {{ HTMLElement("output") }}, {{ HTMLElement("progress") }}, {{ HTMLElement("select") }}, {{ HTMLElement("textarea") }}</td>
+ <td>Indicates the form that is the owner of the element.</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <td>high</td>
+ <td>{{ HTMLElement("meter") }}</td>
+ <td>Indicates the lower bound of the upper range.</td>
+ </tr>
+ <tr>
+ <td>keytype</td>
+ <td>{{ HTMLElement("keygen") }}</td>
+ <td>Specifies the type of key generated.</td>
+ </tr>
+ <tr>
+ <td>list</td>
+ <td>{{ HTMLElement("input") }}</td>
+ <td>Identifies a list of pre-defined options to suggest to the user.</td>
+ </tr>
+ <tr>
+ <td>low</td>
+ <td>{{ HTMLElement("meter") }}</td>
+ <td>Indicates the upper bound of the lower range.</td>
+ </tr>
+ <tr>
+ <td>max</td>
+ <td>{{ HTMLElement("input") }}, {{ HTMLElement("meter") }}, {{ HTMLElement("progress") }}</td>
+ <td>Indicates the maximum value allowed.</td>
+ </tr>
+ <tr>
+ <td>maxlength</td>
+ <td>{{ HTMLElement("input") }}, {{ HTMLElement("textarea") }}</td>
+ <td>Defines the maximum number of characters allowed in the element.</td>
+ </tr>
+ <tr>
+ <td>method</td>
+ <td>{{ HTMLElement("form") }}</td>
+ <td>Defines which HTTP method to use when submitting the form. Can be GET (default) or POST.</td>
+ </tr>
+ <tr>
+ <td>min</td>
+ <td>{{ HTMLElement("input") }}, {{ HTMLElement("meter") }}</td>
+ <td>Indicates the minimum value allowed.</td>
+ </tr>
+ <tr>
+ <td>multiple</td>
+ <td>{{ HTMLElement("input") }}, {{ HTMLElement("select") }}</td>
+ <td>Indicates whether multiple values can be entered in an input of the type <code>email</code> or <code>file</code>.</td>
+ </tr>
+ <tr>
+ <td>name</td>
+ <td>{{ HTMLElement("button") }}, {{ HTMLElement("form") }}, {{ HTMLElement("fieldset") }}, {{ HTMLElement("input") }}, {{ HTMLElement("keygen") }}, {{ HTMLElement("output") }}, {{ HTMLElement("select") }}, {{ HTMLElement("textarea") }}</td>
+ <td>Name of the element. For example used by the server to identify the fields in form submits.</td>
+ </tr>
+ <tr>
+ <td>novalidate</td>
+ <td>{{ HTMLElement("form") }}</td>
+ <td>This attribute indicates that the form shouldn't be validated when submitted.</td>
+ </tr>
+ <tr>
+ <td>optimum</td>
+ <td>{{ HTMLElement("meter") }}</td>
+ <td>Indicates the optimal numeric value.</td>
+ </tr>
+ <tr>
+ <td>pattern</td>
+ <td>{{ HTMLElement("input") }}</td>
+ <td>Defines a regular expression which the element's value will be validated against.</td>
+ </tr>
+ <tr>
+ <td>placeholder</td>
+ <td>{{ HTMLElement("input") }}, {{ HTMLElement("textarea") }}</td>
+ <td>Provides a hint to the user of what can be entered in the field.</td>
+ </tr>
+ <tr>
+ <td>readonly</td>
+ <td>{{ HTMLElement("input") }}, {{ HTMLElement("textarea") }}</td>
+ <td>Indicates whether the element can be edited or not.</td>
+ </tr>
+ <tr>
+ <td>required</td>
+ <td>{{ HTMLElement("input") }}, {{ HTMLElement("select") }}, {{ HTMLElement("textarea") }}</td>
+ <td>Indicates whether this element is required to fill out or not.</td>
+ </tr>
+ <tr>
+ <td>rows</td>
+ <td>{{ HTMLElement("textarea") }}</td>
+ <td>Defines the number of rows in a textarea.</td>
+ </tr>
+ <tr>
+ <td>selected</td>
+ <td>{{ HTMLElement("option") }}</td>
+ <td>Defines a value which will be selected on page load.</td>
+ </tr>
+ <tr>
+ <td>size</td>
+ <td>{{ HTMLElement("input") }}, {{ HTMLElement("select") }}</td>
+ <td>Defines the width of the element (in pixels). If the element's <code>type</code> attribute is <code>text</code> or <code>password</code> then it's the number of characters.</td>
+ </tr>
+ <tr>
+ <td>src</td>
+ <td>{{ HTMLElement("img") }}</td>
+ <td>The URL of the embeddable content.</td>
+ </tr>
+ <tr>
+ <td>step</td>
+ <td>{{ HTMLElement("input") }}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>target</td>
+ <td>{{ HTMLElement("form") }}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>{{ HTMLElement("button") }}, {{ HTMLElement("input") }}</td>
+ <td>Defines the type of the element.</td>
+ </tr>
+ <tr>
+ <td>usemap</td>
+ <td>{{ HTMLElement("img") }}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>value</td>
+ <td>{{ HTMLElement("button") }}, {{ HTMLElement("option") }}, {{ HTMLElement("input") }}, {{ HTMLElement("meter") }}, {{ HTMLElement("progress") }}</td>
+ <td>Defines a default value which will be displayed in the element on page load.</td>
+ </tr>
+ <tr>
+ <td>wrap</td>
+ <td>{{ HTMLElement("textarea") }}</td>
+ <td>Indicates whether the text should be wrapped or not.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Normative_reference">Normative reference</h3>
+
+<ul>
+ <li><a href="https://www.w3.org/TR/html51/sec-forms.html#sec-forms" lang="en" rel="external" title="https://www.w3.org/TR/html51/sec-forms.html#sec-forms">W3C HTML 5.1 Specification (Forms)</a></li>
+ <li><a href="https://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#forms" rel="external" title="https://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#forms">WHATWG HTML Living Standard (Forms)</a></li>
+</ul>
diff --git a/files/nl/learn/html/forms/styling_html_forms/index.html b/files/nl/learn/html/forms/styling_html_forms/index.html
new file mode 100644
index 0000000000..f6c3cda07c
--- /dev/null
+++ b/files/nl/learn/html/forms/styling_html_forms/index.html
@@ -0,0 +1,344 @@
+---
+title: Styling HTML forms
+slug: Learn/HTML/Forms/Styling_HTML_forms
+tags:
+ - CSS
+ - Formulieren
+ - HTML
+translation_of: Learn/Forms/Styling_web_forms
+---
+<p>In dit artikel leert de gebruiker het om <a href="/en-US/docs/HTML" title="/en-US/docs/HTML">HTML</a>-formulieren vorm te geven met gebruik van <a href="/en-US/docs/CSS" title="/en-US/docs/CSS">CSS</a>. Dit is echter niet  zo eenvoudig. Om historische en technische redenen gaan formulierelementen (widgets) en CSS niet zo goed samen. Daarom maaken veel ontwikkelaars hun eigen HTML widgets om de vormgeving van formulieren in eigen hand te houden. Dankzij de moderne browsers hebben webontwikkelaars meer en meer controle over het ontwerp van formulierelementen.</p>
+
+<h2 id="Waarom_is_vormgeving_van_formulieren_met_CSS_zo_ingewikkeld">Waarom is vormgeving van formulieren met CSS zo ingewikkeld?</h2>
+
+<p>In de begindagen van het Web, rond 1995, werden widgets toegevoegd aan de HTML in   <a href="http://www.ietf.org/rfc/rfc1866.txt" rel="extrenal" title="http://www.ietf.org/rfc/rfc1866.txt">de HTML 2 specificatie</a>. Door de complexheid van widgets vertrouwden de ontwikkelaars op het onderliggende besturingssysteem.</p>
+
+<p>Een aantal jaren later werd CSS ontwikkeld om vormgeving en inhoud van elkaar te scheiden. In de begintijd van CSS had de vormgeving van formulieren geen prioriteit. </p>
+
+<p>Omdat gebruikers gewend waren geraakt aan de gebruikelijke vormgeving van formulieren, zijn browser fabrikanten terughoudend in het aanpasbaar maken van formulierelementen. Tot op de dag van vandaag is het bijzonder moeilijk om een eigen vormgeving te maken voor alle widgets.</p>
+
+<p>Tot op heden is er nog geen enkele browser die CSS 2.1 volledig geïmplementeerd heeft. In de loop van de tijd hebben de browser fabrikanten hun ondersteuning voor CSS echter verbeterd en ondanks vele problemen kan CSS nu gebruikt worden om <a href="/en-US/docs/">HTML formulieren</a> vorm te geven.</p>
+
+<h3 id="Niet_alle_widgets_worden_door_CSS_gelijk_behandeld">Niet alle widgets worden door CSS gelijk behandeld</h3>
+
+<p>Er zijn nog steeds problemen met CSS-formulieren. Deze kunnen ingedeeld worden in drie categorieën</p>
+
+<h4 id="The_good">"The good"</h4>
+
+<p>Enkele elementen leveren geen problemen op. Het zijn de volgende structurele elementen:</p>
+
+<ol>
+ <li>{{HTMLElement("form")}}</li>
+ <li>{{HTMLElement("fieldset")}}</li>
+ <li>{{HTMLElement("label")}}</li>
+ <li>{{HTMLElement("output")}}</li>
+</ol>
+
+<p>Ook de tekstvelden (zowel enkellijnige als meerlijnige) vallen hieronder en de knoppen.</p>
+
+<h4 id="The_bad">"The bad"</h4>
+
+<p>Sommige elementen vereisen ingewikkelde trucs waarbij soms gespecialiseerde kennis  van CSS3 nodig is.</p>
+
+<p>Zoals bijvoorbeeld het {{HTMLElement("legend")}} element. Het is moeilijk dit te positioneren over verschillende platformen. Keuzerondjes en keuzevakjes kunnen ook moeilijk rechtstreeks aangepast worden. Dank zij CSS3 is daar nochtans wel een oplossing voor. Het {{htmlattrxref("placeholder", "input")}} element kan niet rechtstreeks aangepast worden  maar de browsers die het ondersteunen hebben hun eigen CSS pseudo-elementen of pseudoklassen die toelaten het aan te passen. Deze worden behandeld in het artikel <a href="/en-US/docs/">Geavanceerde stijlen voor HTML-formulieren.</a></p>
+
+<h4 id="The_ugly">"The ugly"</h4>
+
+<p>Sommige elementen kunnen gewoon niet aangepast worden met CSS. Het gaat hier om geavanceerde elementen zoals bereik, kleur en datumvensters. Ook keuzelijsten met hun elementen {{HTMLElement("select")}}, {{HTMLElement("option")}}, {{HTMLElement("optgroup")}} en {{HTMLElement("datalist")}} vallen in deze categorie.</p>
+
+<p>Het probleem met deze elementen is dat zij een complexe structuur hebben en CSS is niet krachtig genoeg om alle subtiele onderdelen aan te sturen. Om deze elementen aan te passen moet JavaScript gebruikt worden om een DOM op te stellen dat kan worden aangepast. Dit wordt duidelijk gemaakt in het artikel <a href="/en-US/docs/">Hoe eigen formulier-elementen aanmaken.</a></p>
+
+<h2 id="Basisprincipe">Basisprincipe</h2>
+
+<p><a href="/en-US/docs/">Elementen die gemakkelijk aan te passen zijn </a>met CSS leveren geen enkel probleem op omdat ze zich meestal gedragen als elk ander HTML-element. Sommige browsers hebben echter hun eigen stijl en kunnen een beetje afwijken zodat er enkele trucs nodig zijn.</p>
+
+<h3 id="Zoekvelden">Zoekvelden</h3>
+
+<p>Zoekvensters zijn de enige tekstvelden die soms wat moeilijker aan te sturen zijn. Bij browsers die gebaseerd zijn op Webkit (Chrome, Safari, e.d.) moeten de tekstvelden aangepast worden met de <code>-webkit-appearance</code> eigenschap. Deze eigenschap wordt besproken in het artikel: <a href="/en-US/docs/">Geavanceerde styling voor HTML-formulieren.</a></p>
+
+<h4 id="Voorbeeld">Voorbeeld</h4>
+
+<pre class="brush: html">&lt;form&gt;
+ &lt;input type="search"&gt;
+&lt;/form&gt;
+</pre>
+
+<pre class="brush: css">input[type=search] {
+ border: 1px dotted #999;
+ border-radius: 0;
+
+ -webkit-appearance: none;
+}</pre>
+
+<p><img alt="This is a screenshot of a search filed on Chrome, with and without the use of -webkit-appearance" src="/files/4153/search-chrome-macos.png" style="border-style: solid; border-width: 1px; height: 107px; width: 179px;"></p>
+
+<p>Zoals te zien is op de schermafdruk van Chrome hebben beide velden een rand. Maar de bovenste is gemaakt zonder  de <code>-webkit-appearance</code> eigenschap en de onderste met de <code>-webkit-appearance: none</code>. Het verschil is duidelijk.</p>
+
+<h3 id="Lettertypen_en_tekst">Lettertypen en tekst</h3>
+
+<p>CSS lettertypen en teksteigenschappen kunnen gemakkelijk gebruikt worden bij alle widgets (en ja, ook {{cssxref("@font-face")}} kan gebruikt worden bij formulierelementen). Maar de browsers zijn niet altijd consequent. Sommige elementen erven niet altijd per definitie  {{cssxref("font-family")}} and {{cssxref("font-size")}} van hun ouderelementen maar gebruiken de instelling van het systeem. Om de stijl van een formulier doen overeen te komen met de rest van de inhoud kunnen volgende regels worden toegevoegd aan het stijlblad:</p>
+
+<pre class="brush: css">button, input, select, textarea {
+ font-family : inherit;
+ font-size : 100%;
+}</pre>
+
+<p>De schermafdruk hieronder toont het verschil. Links staat de systeemeigen weergave in Firefox en Mac OS X. Rechts de weregave met bovenstaande aanpassingen.</p>
+
+<p><img alt="This is a screenshot of the main form widgets on Firefox on Mac OSX, with and without font harmonization" src="/files/4157/font-firefox-macos.png" style="border-style: solid; border-width: 1px; height: 234px; width: 420px;"></p>
+
+<p>Er wordt veel gediscussieerd over wat het beste uitzicht is. Het is aan u als ontwerper van uw website om te kiezen.</p>
+
+<h3 id="Kadermodel">Kadermodel</h3>
+
+<p>Alle tekstvelden ondersteunen volledig elke eigenschap met betrekking tot het CSS kadermodel: {{cssxref("width")}}, {{cssxref("height")}}, {{cssxref("padding")}}, {{cssxref("margin")}} en {{cssxref("border")}}. Maar zoals hierboven steunen de browsers in eerste instantie op standaard instellingen van hun systeem om deze elementen te tonen. Het is weer aan de ontwikkelaar hoe ze opgenomen worden in de inhoud. Als vast gehouden wordt aan het standaard uitzicht van de widgets zijn er wel enkele ingrepen nodig om ze even groot te maken.</p>
+
+<p><strong>Dit komt doordat elk element zijn eigen regels heeft wat betreft rand, uitvulling en marge. </strong>Dus om elk element dezelfde grootte te geven moet de {{cssxref("box-sizing")}} eigenschap gebruikt worden:</p>
+
+<pre class="brush: css">input, textarea, select, button {
+ width : 150px;
+ margin: 0;
+
+ -webkit-box-sizing: border-box; /* For legacy WebKit based browsers */
+ -moz-box-sizing: border-box; /* For legacy (Firefox &lt;29) Gecko based browsers */
+ box-sizing: border-box;
+}</pre>
+
+<p><img alt="This is a screenshot of the main form widgets on Chrome on Windows 7, with and without the use of box-sizing." src="/files/4161/size-chrome-win7.png" style="border-style: solid; border-width: 1px; height: 213px; width: 358px;"></p>
+
+<p>In de schermafdruk hierboven wordt links de weergave getoond zonder {{cssxref("box-sizing")}}, terwijl rechts deze eigenschap is toegepast met de waarde <code>border-box</code>. Zie hoe ze allemaal dezelfde ruimte innemen ondanks de systeemeigen instellingen.</p>
+
+<h3 id="Positionering">Positionering</h3>
+
+<p>Positionering van HTML formulierelementen is over het algemeen geen probleem. Twee elementen echter vragen echter speciale aandacht:</p>
+
+<h4 id="legend">legend</h4>
+
+<p>Het {{HTMLElement("legend")}} element is ok wat betreft vormgeving maar niet wat betreft plaatsing. In elke browser wordt het {{HTMLElement("legend")}} element geplaatst op de bovenrand van het {{HTMLElement("fieldset")}} element. Het is onmogelijk het ergens midden in de HTML-code te plaatsen. Het kan echter absoluut of relatief geplaatst worden met de {{cssxref("position")}} eigenschap.</p>
+
+<p>Om reden van toegankelijkheid is het {{HTMLElement("legend")}} element zeer belangrijk. Het wordt besproken bij ondersteunende <span class="ng-binding"><span class="highlighted">technologie</span>ën als onderdeel van het label van elk formulierelement binnen de fieldset. Meestal wordt er ook een titel in verwerkt en dan verborgen op een toegankelijke manier zoals hierna:</span></p>
+
+<h5 id="HTML">HTML</h5>
+
+<pre class="brush: html">&lt;fieldset&gt;
+ &lt;legend&gt;Hi!&lt;/legend&gt;
+ &lt;h1&gt;Hello&lt;/h1&gt;
+&lt;/fieldset&gt;</pre>
+
+<h5 id="CSS">CSS</h5>
+
+<pre class="brush: css">legend {
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+}</pre>
+
+<h4 id="textarea">textarea</h4>
+
+<p>Alle browsers beschouwen standaard het {{HTMLElement("textarea")}} element als een in-lijn blok uitgelijnd op de onderkant van de tekst. Dit is slechts zelden wat gewenst is. Om over te schakelen van in-lijn blok naar blok kan de {{cssxref("display")}} eigenschap gebruikt worden en door de vertkale uitlijning aan te passen:</p>
+
+<pre class="brush: css">textarea {
+ vertical-align: top;
+}</pre>
+
+<h2 id="Voorbeeld_2">Voorbeeld</h2>
+
+<p>Hier volgt een voorbeeld van hoe de stijl van een HTML-formulier wordt aangepast. Hierdoor wordt al het voorgaande duidelijker. We bouwen een "postkaart" contactformulier:</p>
+
+<p><img alt="This is what we want to achieve with HTML and CSS" src="/files/4149/screenshot.png" style="border-style: solid; border-width: 1px; height: 249px; width: 370px;"></p>
+
+<h3 id="HTML_2">HTML</h3>
+
+<p>De HTML-code verschilt weinig van het voorbeeld uit <a href="/en-US/docs/">het eerste artikelvan deze gids</a>. Er zijn slechts een aantal ID's  en een titel toegevoegd.</p>
+
+<pre class="brush: html">&lt;form&gt;
+ &lt;h1&gt;to: Mozilla&lt;/h1&gt;
+
+ &lt;div id="from"&gt;
+ &lt;label for="name"&gt;from:&lt;/label&gt;
+ &lt;input type="text" id="name" name="user_name"&gt;
+ &lt;/div&gt;
+
+ &lt;div id="reply"&gt;
+ &lt;label for="mail"&gt;reply:&lt;/label&gt;
+ &lt;input type="email" id="mail" name="user_email"&gt;
+ &lt;/div&gt;
+
+ &lt;div id="message"&gt;
+ &lt;label for="msg"&gt;Your message:&lt;/label&gt;
+ &lt;textarea id="msg" name="user_message"&gt;&lt;/textarea&gt;
+ &lt;/div&gt;
+
+ &lt;div class="button"&gt;
+ &lt;button type="submit"&gt;Send your message&lt;/button&gt;
+ &lt;/div&gt;
+&lt;/form&gt;</pre>
+
+<h3 id="CSS_2">CSS</h3>
+
+<p>Nu begint het leuke. Voor het coderen moeten drie elementen worden toegevoegd:</p>
+
+<ol>
+ <li>De <a href="/en-US/docs/">achtergrond </a>van de postkaart</li>
+ <li>Een schrijfmachine lettertype: <a href="/en-US/docs/">De "Secret Typewriter" van fontsquirrel.com</a></li>
+ <li>Een handschrift lettertype: <a href="/en-US/docs/">Het "Jounal" van frontsquirrel.com</a></li>
+</ol>
+
+<p>Nu de code. Eerst bereiden we een achtergrond voor met de  {{cssxref("@font-face")}} regels en alle basiselementen  {{HTMLElement("body")}} en {{HTMLElement("form")}}.</p>
+
+<pre class="brush: css">@font-face{
+ font-family : "handwriting";
+
+ src : url('journal.eot');
+ src : url('journal.eot?') format('eot'),
+ url('journal.woff') format('woff'),
+ url('journal.ttf') format('truetype');
+}
+
+@font-face{
+ font-family : "typewriter";
+
+ src : url('veteran_typewriter.eot');
+ src : url('veteran_typewriter.eot?') format('eot'),
+ url('veteran_typewriter.woff') format('woff'),
+ url('veteran_typewriter.ttf') format('truetype');
+}
+
+body {
+ font : 21px sans-serif;
+
+ padding : 2em;
+ margin : 0;
+
+ background : #222;
+}
+
+form {
+ position: relative;
+
+ width : 740px;
+ height : 498px;
+ margin : 0 auto;
+
+ background: #FFF url(background.jpg);
+}</pre>
+
+<p>Dan worden de elementen en de titel geplaatst.</p>
+
+<pre class="brush: css">h1 {
+ position : absolute;
+ left : 415px;
+ top : 185px;
+
+ font : 1em "typewriter", sans-serif;
+}
+
+#from {
+ position: absolute;
+ left : 398px;
+ top : 235px;
+}
+
+#reply {
+ position: absolute;
+ left : 390px;
+ top : 285px;
+}
+
+#message {
+ position: absolute;
+ left : 20px;
+ top : 70px;
+}</pre>
+
+<p>Nu de elementen zelf. Eerst het lettertype van het {{HTMLElement("label")}} element:</p>
+
+<pre class="brush: css">label {
+ font : .8em "typewriter", sans-serif;
+}</pre>
+
+<p>De tekstvelden moeten enkele gezamenlijke regels krijgen. Hiertoe worden de eigenschappen {{cssxref("border","borders")}} en {{cssxref("background","backgrounds")}} verwijderd en {{cssxref("padding")}} en {{cssxref("margin")}} worden aangepast:</p>
+
+<pre class="brush: css">input, textarea {
+ font : .9em/1.5em "handwriting", sans-serif;
+
+ border : none;
+ padding : 0 10px;
+ margin : 0;
+ width : 240px;
+
+ background: none;
+}</pre>
+
+<p>Als één van de velden de focus krijgen maken we ze grijs met een doorzichtige achtergrond. Om de standaard focus van sommige browsers op te heffen wordt de {{cssxref("outline")}} eigenschap wordt gebruikt.</p>
+
+<pre class="brush: css">input:focus, textarea:focus {
+ background : rgba(0,0,0,.1);
+ border-radius: 5px;
+ outline : none;
+}</pre>
+
+<p>De éénregelige en meerregelige tekstvelden moeten nog in overeenstemming gebracht worden, want standaard zien ze er verschillend uit.</p>
+
+<p>Voor Internet Explorer moet het éénregelig tekstveld worden aangepast omdat Internet Explorer de hoogte van de velden niet aanpast aan de natuurlijke hoogte van het lettertype (hetgeen de andere browsers wel doen). Daarom kennen we expliciet een hoogte toe aan het veld:</p>
+
+<pre class="brush: css">input {
+ height: 2.5em; /* for IE */
+ vertical-align: middle; /* This is optional but it makes legacy IEs look better */
+}</pre>
+
+<p>Standaard worden {{HTMLElement("textarea")}} elementen weergegeven als blok. Twee belangrijke eigenschappen hier zijn {{cssxref("resize")}} en {{cssxref("overflow")}}. Omdat we willen dat de gebruiker de afmetingen niet kan wijzigen passen we de  <code>resize</code> eigenschap toe. De {{cssxref("overflow")}} eigenschap wordt gebruikt om het veld consistent te maken over alle browsers. Sommige browsers gebruiken standaard <code>auto</code>, terwijl andere <code>scroll</code> gebruiken. In dit geval is het beter <code>auto</code> te gebruiken.</p>
+
+<pre class="brush: css">textarea {
+ display : block;
+
+ padding : 10px;
+ margin : 10px 0 0 -10px;
+ width : 340px;
+ height : 360px;
+
+ resize : none;
+ overflow: auto;
+}</pre>
+
+<p>Het {{HTMLElement("button")}} element is gemakkelijk in CSS. Men kan zowat alles ermee doen, inclusief <a href="/en-US/docs/">pseudo-elementen!</a></p>
+
+<pre class="brush: css">button {
+ position : absolute;
+ left : 440px;
+ top : 360px;
+
+ padding : 5px;
+
+ font : bold .6em sans-serif;
+ border : 2px solid #333;
+ border-radius: 5px;
+ background : none;
+
+ cursor : pointer;
+
+-webkit-transform: rotate(-1.5deg);
+ -moz-transform: rotate(-1.5deg);
+ -ms-transform: rotate(-1.5deg);
+ -o-transform: rotate(-1.5deg);
+ transform: rotate(-1.5deg);
+}
+
+button:after {
+ content: " &gt;&gt;&gt;";
+}
+
+button:hover,
+button:focus {
+ outline : none;
+ background: #000;
+ color : #FFF;
+}</pre>
+
+<p>Dat is alles. Klaar om uit te proberen!</p>
+
+<h2 id="Besluit">Besluit</h2>
+
+<p>Uit bovenstaande blijkt dat bij het opstellen van formulieren met tekstvelden en knoppen, het vrij gemakkelijk is CSS te gebruiken. Zie het artikel <a href="/en-US/docs/">normalizeer.css project </a>voor meer CSS-trucs in verband met het werken met formulierwidgets.</p>
+
+<p><a href="/en-US/docs/">In het volgend artikel </a>wordt ingegaan op formulierelementen die vallen in de categorieën "bad" en "ugly".</p>
diff --git a/files/nl/learn/html/forms/the_native_form_widgets/index.html b/files/nl/learn/html/forms/the_native_form_widgets/index.html
new file mode 100644
index 0000000000..844466956e
--- /dev/null
+++ b/files/nl/learn/html/forms/the_native_form_widgets/index.html
@@ -0,0 +1,1448 @@
+---
+title: The native form widgets
+slug: Learn/HTML/Forms/The_native_form_widgets
+tags:
+ - Formulier
+ - HTML
+ - HTML5
+ - voorbeeld
+translation_of: Learn/Forms/Basic_native_form_controls
+---
+<p><a href="/en-US/docs/HTML/Forms" title="/en-US/docs/HTML/Forms">HTML formulieren</a> bestaan uit widgets. Widgets zijn besturingselementen die door elke browser ondersteunt worden. In dit artikel wordt besproken hoe elke widget  werkt en hoe goed hij ondersteund wordt door de verschillende browsers.</p>
+
+<p>Bijzondere aandacht gaat naar de ingebouwde widgets voor formulieren. Omdat HTML formulieren eerder beperkt zijn en de kwaliteit over de browsers heen nogal verschillend kan zijn, bouwen webontwikkelaars hun eigen widgets. Dit wordt uitgelegd in het artikel: <a href="/en-US/docs/HTML/Forms/How_to_build_custom_form_widgets" title="/en-US/docs/HTML/Forms/How_to_build_custom_form_widgets">Hoe aangepaste widgets maken</a>.</p>
+
+<h2 id="Velden_voor_tekstinvoer">Velden voor tekstinvoer</h2>
+
+<p>Velden voor tekstinvoer zijn de meest basale formulierwidgets. Zij vormen een gemakkelijke manier om willekeurige gegevens in te voeren. Sommige tekstvelden echter kunnen gespecialiseerd worden om aan bepaalde behoeften te voldoen.</p>
+
+<p>Tekstvelden van HTML formulieren zijn eenvoudige tekstvelden die alleen platte tekst aanvaarden. Dit betekent dat <a href="/en-US/docs/Rich-Text_Editing_in_Mozilla" title="/en-US/docs/Rich-Text_Editing_in_Mozilla">rich editing</a> (vet, cursief, enz.) niet mogelijk is. Alle rich text editors hebben aangepaste widgets.</p>
+
+<p>Alle tekstvelden hebben enkele gemeenschappelijke eigenschappen:</p>
+
+<ul>
+ <li>Zij kunnen gemarkeerd worden als {{htmlattrxref("readonly","input")}} (de gebruiker kan de inhoud niet wijzigen) of zelfs als  {{htmlattrxref("disabled","input")}} (de ingegeven waarde wordt niet mee verzonden met de rest van de formuliergegevens).</li>
+ <li>Zij kunnen een plaatshouder hebben: {{htmlattrxref("placeholder","input")}}. Dit is tekst die in het invoerveld staat om het doel van het veld aan te geven.</li>
+ <li>Hun afmetingen kunnen opgegeven worden: {{htmlattrxref("size","input")}} geeft de fysieke grootte van het veld aan en <a href="/en-US/docs/HTML/Element/input#attr-maxlength" title="/en-US/docs/HTML/Element/input#attr-maxlength">length</a> geeft het aantal karakters aan dat ingegeven kan worden in het veld.</li>
+ <li>Zij kunnen voorzien zijn van <a href="/en-US/docs/HTML/Element/input#attr-spellcheck" title="/en-US/docs/HTML/Element/input#attr-spellcheck">spellingscontrole</a> als de browser dit toelaat.</li>
+</ul>
+
+<table class="standard-table">
+ <caption>Compatibiliteits tabel</caption>
+ <tbody>
+ <tr>
+ <th>Functie op bureaublad</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}.{{htmlattrxref("readonly","input")}}</td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>6</td>
+ <td>1.0</td>
+ <td>1.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}.{{htmlattrxref("disabled","input")}}</td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>6</td>
+ <td>1.0</td>
+ <td>1.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}.{{htmlattrxref("placeholder","input")}}</td>
+ <td>10.0</td>
+ <td>{{CompatGeckoDesktop("4.0")}}</td>
+ <td>10</td>
+ <td>11.10</td>
+ <td>4.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("textarea")}}.{{htmlattrxref("placeholder","textarea")}}</td>
+ <td>10.0</td>
+ <td>{{CompatGeckoDesktop("4.0")}}</td>
+ <td>10</td>
+ <td>11.50</td>
+ <td>5.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}.{{htmlattrxref("size","input")}}</td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>2</td>
+ <td>1.0</td>
+ <td>1.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}.{{htmlattrxref("maxlength","input")}}</td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>2</td>
+ <td>1.0</td>
+ <td>1.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}.{{htmlattrxref("spellcheck","input")}}</td>
+ <td>10.0</td>
+ <td>{{CompatGeckoDesktop("3.6")}}</td>
+ <td>10</td>
+ <td>11.0</td>
+ <td>4.0</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Functie op mobiel apparaat</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}.{{htmlattrxref("readonly","input")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}.{{htmlattrxref("disabled","input")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}.{{htmlattrxref("placeholder","input")}}</td>
+ <td>2.3</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatUnknown()}}</td>
+ <td>11.10</td>
+ <td>4</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("textarea")}}.{{htmlattrxref("placeholder","textarea")}}</td>
+ <td>{{CompatUnknown()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatUnknown()}}</td>
+ <td>11.50</td>
+ <td>4</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}.{{htmlattrxref("size","input")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}.{{htmlattrxref("maxlength","input")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}.{{htmlattrxref("spellcheck","input")}}</td>
+ <td>{{CompatUnknown()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatUnknown()}}</td>
+ <td>11.0</td>
+ <td>{{CompatUnknown()}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Eenregelige_tekstvelden">Eenregelige tekstvelden</h3>
+
+<p>Een tekstveld van één regel wordt bekomen met het {{HTMLElement("input")}} element waarvan het {{htmlattrxref("type","input")}} attribuut <code>text</code> is. Text is de defaultwaarde. Dus ook zonder het {{htmlattrxref("type","input")}} attribuut of een voor de browser onbekend <code>type</code> attribuut is het platte tekst die aanvaardt wordt door het tekstveld.</p>
+
+<pre class="brush: html">&lt;input type="text"&gt;</pre>
+
+<p>Eenregelige tekstvelden hebben één beperking: regelafbrekingen worden door de browser verwijderd voordat de gegevens verstuurd worden.</p>
+
+<p><img alt="Screenshots of single line text fields on several platforms." src="/files/4273/all-single-line-text-field.png" style="height: 235px; width: 655px;"></p>
+
+<p>Er kunnen nog meerdere beperkingen opgegeven worden door middel van het  {{htmlattrxref("pattern","input")}} attribuut. Dit laat toe de gegevens te controleren aan de hand van een <a href="/en-US/docs/JavaScript/Guide/Regular_Expressions" title="/en-US/docs/JavaScript/Guide/Regular_Expressions">reguliere expressie</a> .</p>
+
+<pre class="brush: html">&lt;input type="text" pattern="^cherry|banana$"&gt;</pre>
+
+<p>Maar HTML5 laat toe het enkelregelige tekstveld op te smukken met speciale waarden voor het {{htmlattrxref("type","input")}} attribuut. Deze waarden creëren nog altijd een eenregelig tekstveld maar leggen bijkomende voorwaarden op en geven het veld bepaalde eigenschappen.</p>
+
+<h4 id="Veld_voor_e-mail_addres">Veld voor e-mail addres</h4>
+
+<p>Dit veld wordt ingesteld door de waarde <code>email</code> op te geven voor het {{htmlattrxref("type","input")}} attribuut:</p>
+
+<pre class="brush: html">&lt;input type="email" multiple&gt;</pre>
+
+<p>Dit voert een speciale beperking in voor het veld: de gebruiker moet een geldig e-mailaddres ingeven. Ieder andere inhoud veroorzaakt een fout. Het is ook mogelijk de gebruiker meerdere e-mailadressen te laten ingeven door middel van het {{htmlattrxref("multiple","input")}} attribuut.</p>
+
+<h4 id="Veld_voor_paswoord">Veld voor paswoord</h4>
+
+<p>Dit veld wordt ingesteld door de waarde <code>password</code> op te geven voor het {{htmlattrxref("type","input")}} attribuut:</p>
+
+<pre class="brush: html">&lt;input type="password"&gt;</pre>
+
+<p>Hier kan elk teken ingegeven worden en de tekens zijn niet leesbaar.</p>
+
+<div class="note"><strong>Note:</strong> Let er op dat het hier louter om een gebruikersomgeving gaat. De tekst moet door JavaScript geïnterpreteerd worden anders wordt hij als platte tekst verzonden.</div>
+
+<h4 id="Zoekveld">Zoekveld</h4>
+
+<p>Dit veld wordt ingesteld door de waarde <code>search</code> voor het {{htmlattrxref("type","input")}} attribuut:</p>
+
+<pre class="brush: html">&lt;input type="search"&gt;</pre>
+
+<p>Het verschil tussen een tekstveld en een zoekveld is het uiterlijk. In sommige browsers worden zoekvelden afgebeeld met ronde hoeken of omkadering in een andere kleur. Zoekvelden hebben nog een bijkomende eigenschap: de inhoud kan automatisch opgeslagen worden voor auto-aanvullen over verschillende pagina's van dezelfde site.</p>
+
+<p><img alt="Screenshots of search fields on several platforms." src="/files/4269/all-search-field.png" style="height: 235px; width: 655px;"></p>
+
+<h4 id="Veld_voor_telefoonnummer">Veld voor telefoonnummer</h4>
+
+<p>Dit veld wordt ingesteld door de waarde <code>tel</code> te gebruiken voor het  {{htmlattrxref("type","input")}} attribuut:</p>
+
+<pre class="brush: html">&lt;input type="tel"&gt;</pre>
+
+<p>Door de grote wereldwijde verscheidenheid van telefoonnummers legt dit veld geen ristrictie op aan hetgeen ingegeven wordt. Het is dus louter een semantisch verschil alhoewel sommige toestellen (vooral mobielen) een virtueel toetsenbord gebruiken.</p>
+
+<h4 id="URL_veld">URL veld</h4>
+
+<p>Dit veld wordt ingesteld door de waarde <code>url voor het</code> {{htmlattrxref("type","input")}} attribuut:</p>
+
+<pre class="brush: html">&lt;input type="url"&gt;</pre>
+
+<p>Dit veld waakt er over dat alleen geldige URLs worden ingegeven. Er wordt een fout gegenereerd als de URL niet juist is.</p>
+
+<div class="note"><strong>Nota:</strong> Dat de URL de juiste vorm heeft betekent niet dat dat het adres bestaat.</div>
+
+<p>Indien één veld een fout vertoont wordt het formulier niet verzonden. De stijl van een formulier kan zo ingesteld worden dat aangegeven wordt welke fout er opgetreden is. Dit wordt in detail uitgelegd in : <a href="/en-US/docs/HTML/Forms/Data_form_validation" title="/en-US/docs/HTML/Forms/Data_form_validation">Gegevensvalidatie</a>.</p>
+
+<table class="standard-table">
+ <caption>Compatibiliteitstabel</caption>
+ <tbody>
+ <tr>
+ <th>Desktopfuctie</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="text"</code></td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>2</td>
+ <td>1.0</td>
+ <td>1.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="email"</code></td>
+ <td>10.0</td>
+ <td>{{CompatGeckoDesktop("4.0")}}</td>
+ <td>10</td>
+ <td>10.62</td>
+ <td>{{CompatUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="password"</code></td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>2</td>
+ <td>1.0</td>
+ <td>1.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="search"</code></td>
+ <td>5.0</td>
+ <td>{{CompatGeckoDesktop("4.0")}}</td>
+ <td>10</td>
+ <td>11.01</td>
+ <td>5.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="tel"</code></td>
+ <td>5.0</td>
+ <td>{{CompatGeckoDesktop("4.0")}}</td>
+ <td>10</td>
+ <td>11.01</td>
+ <td>5.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="url"</code></td>
+ <td>10.0</td>
+ <td>{{CompatGeckoDesktop("4.0")}}</td>
+ <td>10</td>
+ <td>10.62</td>
+ <td>{{CompatUnknown()}}</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobiele functie</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="text"</code></td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>1.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="email"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="password"</code></td>
+ <td>{{CompatUnknown()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatUnknown()}}</td>
+ <td>{{CompatUnknown()}}</td>
+ <td>{{CompatUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="search"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>4.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="tel"</code></td>
+ <td>2.3</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>3.1</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="url"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>3.1</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Tekstvelden_met_meerdere_regels">Tekstvelden met meerdere regels</h3>
+
+<p>Het {{HTMLElement("textarea")}} element creëert een tekstveld dat meerdere regels bevat.</p>
+
+<pre class="brush: html">&lt;textarea cols="20" rows="10"&gt;&lt;/textarea&gt;</pre>
+
+<p>Het grote verschil met een gewoon tekstveld met één regel ligt in het feit dat een tekstarea een harde regelafbreking ondersteunt. Met andere woorden dat de karakters "regelterugloop" [CR] en "nieuwe regel" [LF]) geacepteerd worden.</p>
+
+<p>Dank zij de CSS eigenschap {{cssxref("resize")}} kan de gebruiker rechtstreeks de grootte van het veld aanpassen.</p>
+
+<p><img alt="Screenshots of multi-lines text fields on several platforms." src="/files/4271/all-multi-lines-text-field.png" style="height: 330px; width: 745px;"></p>
+
+<table class="standard-table">
+ <caption>Compatibiliteitstabel</caption>
+ <tbody>
+ <tr>
+ <th>Desktopfuctie</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("textarea")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobiele functie</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("textarea")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Afrolmenu">Afrolmenu</h2>
+
+<p>Een afrolmenu laat de gebruiker toe een keuze te maken uit verschillende mogelijkheden. Er zijn twee mogelijkheden. Ofwel wordt een lijst met keuze opties getoond, ofwel wordt een veld voor autoaanvulling getoond. De lijst loopt gewoon over de tekst van het formulier. Na de selectie verdwijnt de lijst zonder de tekst te verstoren.</p>
+
+<h3 id="Keuzelijst">Keuzelijst</h3>
+
+<p>Een keuzelijst wordt gemaakt met het {{HTMLElement("select")}} element met één of meerdere {{HTMLElement("option")}} elementen die de keuzemogelijkheden aangeven.</p>
+
+<pre class="brush: html">&lt;select&gt;
+ &lt;option&gt;Banana&lt;/option&gt;
+ &lt;option&gt;Cherry&lt;/option&gt;
+ &lt;option&gt;Lemon&lt;/option&gt;
+&lt;/select&gt;</pre>
+
+<p>Eventueel kan een defaultwaarde opgegeven worden met het {{htmlattrxref("selected","option")}} attribuut bij de gewenste optie. De {HTMLElement("option")}} elementen kunnen ook genest worden in  {{HTMLElement("optgroup")}} elementen om de opties in groepen in te delen:</p>
+
+<pre class="brush: html">&lt;select&gt;
+  &lt;optgroup label="fruits"&gt;
+    &lt;option&gt;Banana&lt;/option&gt;
+    &lt;option selected&gt;Cherry&lt;/option&gt;
+    &lt;option&gt;Lemon&lt;/option&gt;
+  &lt;/optgroup&gt;
+  &lt;optgroup label="vegetables"&gt;
+    &lt;option&gt;Carrot&lt;/option&gt;
+    &lt;option&gt;Eggplant&lt;/option&gt;
+    &lt;option&gt;Potatoe&lt;/option&gt;
+  &lt;/optgroup&gt;
+&lt;/select&gt;</pre>
+
+<p><img alt="Screenshots of single line select box on several platforms." src="/files/4517/all-select.png" style="height: 636px; width: 887px;"></p>
+
+<table class="standard-table">
+ <caption>Compatibiliteitstabel</caption>
+ <tbody>
+ <tr>
+ <th>Desktopfunctie</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("select")}}</td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("option")}}</td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("optgroup")}}</td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobiele functie</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("select")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("option")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("optgroup")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Meerkeuzelijst">Meerkeuzelijst</h3>
+
+<p>De eenvoudige keuzelijst laat slechts één keuze toe. Door het {{htmlattrxref("multiple","select")}} attribuut toe te voegen aan het {{HTMLElement("select")}} element wordt de volledige lijst met opties getoond en kan de gebruiker meerdere keuzes maken door de ctrl-toets in te houden tijdens het selecteren. </p>
+
+<pre class="brush: html">&lt;select multiple&gt;
+ &lt;option&gt;Banana&lt;/option&gt;
+ &lt;option&gt;Cherry&lt;/option&gt;
+ &lt;option&gt;Lemon&lt;/option&gt;
+&lt;/select&gt;</pre>
+
+<p><img alt="Screenshots of multi-lines select box on several platforms." src="/files/4559/all-multi-lines-select.png" style="height: 531px; width: 734px;"></p>
+
+<div class="note"><strong>Note:</strong> Niet alle browsers die het {{HTMLElement("select")}} element ondersteunen, ondersteunen het {{htmlattrxref("multiple","select")}} attribuut.</div>
+
+<h3 id="Autoaanvullen">Autoaanvullen</h3>
+
+<p>Met het {{HTMLElement("datalist")}} element samen met de {{HTMLElement("option")}} elementen  wordt een veld voor autoaanvullen getoond. Dit datalist element roept het  {{htmlattrxref("list","input")}} attribuut op.</p>
+
+<p>Zodra de gebruiker iets ingeeft wordt een keuzelijst getoond met alle overeenkomsten in het datalist object.</p>
+
+<pre class="brush: html">&lt;label for="myFruit"&gt;What's your favorite fruit?&lt;/label&gt;
+&lt;input type="text" id="myFruit" list="mySuggestion" /&gt;
+&lt;datalist id="mySuggestion"&gt;
+  &lt;option&gt;Apple&lt;/option&gt;
+  &lt;option&gt;Banana&lt;/option&gt;
+  &lt;option&gt;Blackberry&lt;/option&gt;
+  &lt;option&gt;Blueberry&lt;/option&gt;
+  &lt;option&gt;Lemon&lt;/option&gt;
+  &lt;option&gt;Lychee&lt;/option&gt;
+  &lt;option&gt;Peach&lt;/option&gt;
+  &lt;option&gt;Pear&lt;/option&gt;
+&lt;/datalist&gt;</pre>
+
+<div class="note"><strong>Note:</strong> Volgens <a href="http://www.w3.org/TR/html5/common-input-element-attributes.html#attr-input-list" rel="external" title="http://www.w3.org/TR/html5/common-input-element-attributes.html#attr-input-list">the HTML specification</a> kunnen het {{htmlattrxref("list","input")}} attribuut en het {{HTMLElement("datalist")}} element gebruikt worden bij elke widget die ingave van de gebruiker vraagt. Het is nochthans onduidelijk hoe dat moet gebeuren met widgets die iets anders dan tekst verwachten (kleur en datums bijvoorbeeld). Verschillende browsers zullen zich anders gedragen. Voorzichtigheid is dus geboden wanneer men andere dan tekstvelden gebruikt.</div>
+
+<div><img alt="Screenshots of datalist on several platforms." src="/files/4593/all-datalist.png" style="height: 329px; width: 437px;"></div>
+
+<table class="standard-table">
+ <caption>Compatibiliteits tabel</caption>
+ <tbody>
+ <tr>
+ <th>Desktopfuctie</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("datalist")}}</td>
+ <td>20.0</td>
+ <td>{{CompatGeckoDesktop("4.0")}}</td>
+ <td>10</td>
+ <td>9.6</td>
+ <td>{{CompatNo()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("list","input")}}</td>
+ <td>20.0</td>
+ <td>{{CompatGeckoDesktop("4.0")}}</td>
+ <td>10</td>
+ <td>9.6</td>
+ <td>{{CompatNo()}}</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobile fuctie</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("datalist")}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatNo()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("list","input")}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatGeckoMobile("4.0")}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatNo()}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Klikbare_items">Klikbare items</h2>
+
+<p>Klikbare items zijn widgets waarvan de toestand wijzigt bij het aanklikken. Er zijn twee klikbare items: het keuzevakje en het keuzerondje. Beide gebruiken ze het {{htmlattrxref("checked","input")}} attribuut om aan te geven of de widget al of niet bij default is aangeklikt.</p>
+
+<p>Er dient opgemerkt te worden dat deze widgets zich niet gedragen als elk ander formulier widget. Wanneer een formulier wordt verzonden, worden alle widgets die een {{htmlattrxref("name","input")}} attribuut hebben, verzonden, ook als zij geen waarde hebben. Klikbare elementen daarentegen worden slechts verzonden indien ze aangeklikt zijn. Als zij niet aangeklikt zijn worden zij niet verzonden, zelfs niet hun naam.</p>
+
+<h3 id="Het_keuzevakje">Het keuzevakje</h3>
+
+<p>Een keuzevakje wordt gemaakt met het {{HTMLElement("input")}} element waarvan het {{htmlattrxref("type","input")}} attribuut <code>checkbox</code> is.</p>
+
+<pre class="brush: html">&lt;input type="checkbox" checked&gt;
+</pre>
+
+<p>Het keuzevakje gedefinieerd op voorgaande manier is bij default aangevinkt.</p>
+
+<p><img alt="Screenshots of check boxes on several platforms." src="/files/4595/all-checkbox.png" style="height: 198px; width: 352px;"></p>
+
+<table class="standard-table">
+ <caption>Compatibiliteitstabel</caption>
+ <tbody>
+ <tr>
+ <th>Desktopfunctie</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="checkbox"</code></td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>2</td>
+ <td>1.0</td>
+ <td>1.0</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobiele functie</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="</code><code>checkbox</code><code>"</code></td>
+ <td>1.0</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Het_keuzerondje">Het keuzerondje</h3>
+
+<p>Een keuzerondje wordt gemaakt door het {{HTMLElement("input")}} element waarvan het {{htmlattrxref("type","input")}} attribuut  <code>radio</code> is.</p>
+
+<pre class="brush: html">&lt;input type="radio" checked&gt;</pre>
+
+<p>Keuzerondjes kunnen gebundeld worden. Wanneer de naam in hun {{htmlattrxref("name","input")}} attribuut dezelfde is vormen zij één groep. Slechts één keuzerondje in een groep kan geselecteerd zijn. Dit betekent dat als één keuzerondje in een groep aangevinkt is, alle andere gedeselecteerd zijn. Wanneer het formulier verzonden wordt, wordt alleen het aangevinkte keuzerondje verzonden. Wanneer geen enkel is aangevinkt wordt er ook geen enkel verzonden.</p>
+
+<pre class="brush: html">&lt;fieldset&gt;
+ &lt;legend&gt;What gender are you?&lt;/legend&gt;
+ &lt;p&gt;&lt;label for="g1"&gt;&lt;input type="radio" name="g" id="g1" value="M"&gt; Male&lt;/label&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;label for="g2"&gt;&lt;input type="radio" name="g" id="g2" value="F"&gt; Female&lt;/label&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;label for="g3"&gt;&lt;input type="radio" name="g" id="g3" value="B"&gt; Both&lt;/label&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;label for="g4"&gt;&lt;input type="radio" name="g" id="g4" value="N"&gt; None&lt;/label&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;label for="g5"&gt;&lt;input type="radio" name="g" id="g5" value="!"&gt; This is not your concern!&lt;/label&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;label for="g6"&gt;&lt;input type="radio" name="g" id="g6" value="?"&gt; Who cares?&lt;/label&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;label for="g7"&gt;&lt;input type="radio" name="g" id="g7" value="\o/"&gt; Obi-Wan Kenobi&lt;/label&gt;&lt;/p&gt;
+&lt;/fieldset&gt;</pre>
+
+<p><img alt="Screenshots of radio buttons on several platforms." src="/files/4597/all-radio.png" style="height: 198px; width: 352px;"></p>
+
+<table class="standard-table">
+ <caption>Compatibiliteitstabel</caption>
+ <tbody>
+ <tr>
+ <th>Desktopfunctie</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="radio"</code></td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>2</td>
+ <td>1.0</td>
+ <td>1.0</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobiele functie</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="radio"</code></td>
+ <td>1.0</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Knoppen">Knoppen</h2>
+
+<p>In HTML formulieren zijn er drie knoppen:</p>
+
+<dl>
+ <dt>Verzenden</dt>
+ <dd>Zendt de formuliergegevens naar de server.</dd>
+ <dt>Herstel</dt>
+ <dd>Herstelt alle widgets van het formulier naar hun defaultwaarde.</dd>
+ <dt>Anoniem</dt>
+ <dd>Knoppen waarvan de uitwerking aangepast kan worden door middel an JavaScript.</dd>
+</dl>
+
+<p>Een knop wordt gecreëerd door het {{HTMLElement("button")}} element of een {{HTMLElement("input")}} element. Het soort knop wordt bepaald door het {{htmlattrxref("type","input")}} attribuut:</p>
+
+<h3 id="verzenden">verzenden</h3>
+
+<pre class="brush: html">&lt;button type="submit"&gt;
+ This a &lt;br&gt;&lt;strong&gt;submit button&lt;/strong&gt;
+&lt;/button&gt;
+
+&lt;input type="submit" value="This is a submit button"&gt;</pre>
+
+<h3 id="herstel">herstel</h3>
+
+<pre class="brush: html">&lt;button type="reset"&gt;
+ This a &lt;br&gt;&lt;strong&gt;reset button&lt;/strong&gt;
+&lt;/button&gt;
+
+&lt;input type="reset" value="This is a reset button"&gt;</pre>
+
+<h3 id="anoniem">anoniem</h3>
+
+<pre class="brush: html">&lt;button type="button"&gt;
+ This an &lt;br&gt;&lt;strong&gt;anonymous button&lt;/strong&gt;
+&lt;/button&gt;
+
+&lt;input type="button" value="This is an anonymous button"&gt;</pre>
+
+<p>In principe gedraagt het {{HTMLElement("button")}} element en het {{HTMLElement("input")}} element zich identiek. Er zijn echter kleine verschillen:</p>
+
+<ul>
+ <li>Zoals de voorgaande voorbeelden laten zien laten de {{HTMLElement("button")}} elementen  HTML inhoud toe als tekst, terwijl de {{HTMLElement("input")}} elementen alleen platte tekst toelaten.</li>
+ <li>De {{HTMLElement("button")}} elementen kunnen een andere waarde hebben dan hun label (dit is echter niet betrouwbaar in Internet Explorer voor IE 8).</li>
+</ul>
+
+<p><img alt="Screenshots of buttons on several platforms." src="/files/4599/all-buttons.png" style="height: 235px; width: 464px;"></p>
+
+<table class="standard-table">
+ <caption>Compatibiliteitstabel</caption>
+ <tbody>
+ <tr>
+ <th>Desktopfunctie</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="submit"</code></td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>2</td>
+ <td>1.0</td>
+ <td>1.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="reset"</code></td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>2</td>
+ <td>1.0</td>
+ <td>1.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="button"</code></td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>3</td>
+ <td>1.0</td>
+ <td>1.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("button")}}</td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown()}}<br>
+ (Buggy before IE8)</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobiele functie</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="number"</code></td>
+ <td>1.0</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="reset"</code></td>
+ <td>1.0</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="button"</code></td>
+ <td>1.0</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("button")}}</td>
+ <td>1.0</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Speciale_formulier_widgets">Speciale formulier widgets</h2>
+
+<p>Deze widgets laten invoer toe van complexe of gestructeerde gegevens zoals exacte of benaderende getallen, datum en tijd en kleuren.</p>
+
+<h3 id="Getallen">Getallen</h3>
+
+<p>Widgets voor getallen worden gemaakt met het {{HTMLElement("input")}} element en <code>number</code> als {{htmlattrxref("type","input")}} attribuut. Dit element ziet er uit als een tekstveld maar accepteert slechts getallen met drijvende komma. Gewoonlijk  is het voorzien van knoppen om de waarde te verhogen of verlagen.</p>
+
+<p>De ingegeven waarde kan ook beperkt worden met de {{htmlattrxref("min","input")}} en {{htmlattrxref("max","input")}} attributen. De waarde van het increment van de knoppen kan opgegeven worden met het {{htmlattrxref("step","input")}} attribuut.</p>
+
+<h4 id="Voorbeeld">Voorbeeld</h4>
+
+<pre class="brush: html">&lt;input type="number" min="1" max="10" step="2"&gt;</pre>
+
+<p>Dit creëert een widget wiens waarde begrensd is tussen 1 en 10 en die in stappen van 2 kan verhoogd of verlaagd worden.</p>
+
+<table class="standard-table">
+ <caption>Compatibiliteitstabel</caption>
+ <tbody>
+ <tr>
+ <th>Desktopfunctie</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="number"</code></td>
+ <td>11.0</td>
+ <td>{{CompatNo()}} {{bug('344616')}}</td>
+ <td>10<br>
+ (<em>herkend maar geen UI</em>)</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>5.2</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobiele functie</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="number"</code></td>
+ <td>2.3</td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>4.0</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Schuifregelaar">Schuifregelaar</h3>
+
+<p>Een andere manier om een waarde in te geven is het gebruik van een schuifregelaar. Deze zijn minder nauwkeurig dan een tekstveld en worden dan ook gebruikt waar geen nauwkeurige waarde nodig is.</p>
+
+<p>Een schuifregelaar wordt gemaakt met het {{HTMLElement("input")}} element met {{htmlattrxref("type","input")}} attribuut <code>range</code>. Hij moet wel correct ingesteld zijn met zijn {{htmlattrxref("min","input")}}, {{htmlattrxref("max","input")}} en {{htmlattrxref("step","input")}} attributen.</p>
+
+<h4 id="Voorbeeld_2">Voorbeeld</h4>
+
+<pre class="brush: html">&lt;input type="range" min="1" max="5" step="1"&gt;</pre>
+
+<p>Dit voorbeeld creëert een schuifregelaar waarvan waarde varieert tussen 1 en 5 in stappen van +1 en -1.</p>
+
+<table class="standard-table">
+ <caption>Compatibiliteitstabel</caption>
+ <tbody>
+ <tr>
+ <th>Desktopfunctie</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="range"</code></td>
+ <td>5.0</td>
+ <td>23.0</td>
+ <td>10</td>
+ <td>10.62</td>
+ <td>4.0</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobiele functie</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="range"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>23.0</td>
+ <td>{{CompatNo()}}</td>
+ <td>10.62</td>
+ <td>5.0</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Ingave_van_datum_en_tijd">Ingave van datum en tijd</h3>
+
+<p>Traditioneel is ingave van datum en tijd een probleem voor web ontwikkelaars. HTML5 brengt enige verlichting met een speciale widget om deze speciale gegevens te behandelen.</p>
+
+<p>Er wordt ook gebruik gemaakt van het {{HTMLElement("input")}} element met de juiste instelling van het {{htmlattrxref("type","input")}} attribuut. Datum en tijd kunen appart of samen ingegeven worden, afhankelijk van het attribuut:</p>
+
+<h4 id="date"><code>date</code></h4>
+
+<p>Dit creëert een widget die een datum toont of kan opnemen, zonder tijd.</p>
+
+<pre class="brush: html">&lt;input type="date"&gt;</pre>
+
+<h4 id="datetime"><code>datetime</code></h4>
+
+<p>Dit crëeert een widget die een datum met tijd kan tonen of opnemen in de UTC tijdzone.</p>
+
+<pre class="brush: html">&lt;input type="datetime"&gt;</pre>
+
+<h4 id="datetime-local"><code>datetime-local</code></h4>
+
+<p>Dit creëert een widget die een datum met tijd weergeeft of opneemt in elke tijdzone.</p>
+
+<pre class="brush: html">&lt;input type="datetime-local"&gt;</pre>
+
+<h4 id="month"><code>month</code></h4>
+
+<p>Dit creëert een widget die een maand en een jaartal weergeeft of opneemt.</p>
+
+<pre class="brush: html">&lt;input type="month"&gt;</pre>
+
+<h4 id="time"><code>time</code></h4>
+
+<p>Creëert een widget die een tijd weergeeft of opneemt.</p>
+
+<pre class="brush: html">&lt;input type="time"&gt;</pre>
+
+<h4 id="week"><code>week</code></h4>
+
+<p>Creëert een widget die een week en een jaartal weergeeft of opneemt.</p>
+
+<pre class="brush: html">&lt;input type="week"&gt;</pre>
+
+<p>Alle datum en tijd widgets kunnen beperkt zijn door de {{htmlattrxref("min","input")}} en {{htmlattrxref("max","input")}} attributen.</p>
+
+<pre class="brush: html">&lt;label for="myDate"&gt;When are you available this summer?&lt;/label&gt;
+&lt;input type="date" min="2013-06-01" max="2013-08-31" id="myDate"&gt;</pre>
+
+<table class="standard-table">
+ <caption>Compatibiliteitstabel</caption>
+ <tbody>
+ <tr>
+ <th>Desktopfunctie</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="date"</code></td>
+ <td>20.0</td>
+ <td>{{CompatNo()}} {{bug('825294')}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>10.62</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="datetime"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatNo()}} {{bug('825294')}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>10.62</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="datetime-local"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatNo()}} {{bug('825294')}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>10.62</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="month"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatNo()}} {{bug('825294')}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>10.62</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="time"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatNo()}} {{bug('825294')}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>10.62</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="week"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatNo()}} {{bug('825294')}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>10.62</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobiele functie</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="date"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatNo()}} {{bug('446510')}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>10.62</td>
+ <td>5.0</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="datetime"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatNo()}} {{bug('446510')}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>10.62</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="datetime-local"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatNo()}} {{bug('446510')}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>10.62</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="month"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatNo()}} {{bug('446510')}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>10.62</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="time"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatNo()}} {{bug('446510')}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>10.62</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="week"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatNo()}} {{bug('446510')}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>10.62</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<div class="warning"><strong>Waarschuwing:</strong> De datum en tijd widgets zijn zeer nieuw en zelfs browsers die beweren ze te ondersteunen hebben er dikwijls problemen mee. Test uw werk met diverse browsers alvorens uit te rollen!</div>
+
+<h3 id="Kleuren_kiezen">Kleuren kiezen</h3>
+
+<p>Het kiezen van kleuren is altijd wat moeilijk geweest. Er zijn vele manieren: RGB waarden (decimaal or hexadecimaal), HSL waarden, sleutelwoorden, enz. De kleuren widget laat de gebruiker toe zowel tekstueel als visueel een kleur te kiezen.</p>
+
+<p>Een kleuren widget wordt gemaakt door het {{HTMLElement("input")}} element met <code>color</code> als {{htmlattrxref("type","input")}} attribuut.</p>
+
+<pre class="brush: html">&lt;input type="color"&gt;</pre>
+
+<table class="standard-table">
+ <caption>Compatibiliteitstabel</caption>
+ <tbody>
+ <tr>
+ <th>Desktopfunctie</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="color"</code></td>
+ <td>21.0</td>
+ <td>{{CompatNo()}} {{bug('547004')}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>11.01</td>
+ <td>{{CompatNo()}}</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobiele functie</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="color"</code></td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatUnknown()}}</td>
+ <td>{{CompatNo()}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Andere_widgets">Andere widgets</h2>
+
+<p>Er zijn nog enkele andere widgets die niet dadelijk ergens bij horen maar niettemin belangrijk zijn.</p>
+
+<h3 id="Kiezen_van_bestanden">Kiezen van bestanden</h3>
+
+<p>HTML formulieren kunnen bestanden naar een server versturen. Dit wordt verduidelijkt in het artikel: <a href="/en-US/docs/HTML/Forms/Sending_and_retrieving_form_data" title="/en-US/docs/HTML/Forms/Sending_and_retrieving_form_data">Verzenden en ontvangen van gegevens</a>. De widget "Bestanden kiezen" laat de gebruiker toe één of meerdere bestanden te kiezen om te verzenden.</p>
+
+<p>Kies het {{HTMLElement("input")}} element met <code>file</code> als {{htmlattrxref("type","input")}} attribuut. Het type bestand kan ingesteld worden met het {{htmlattrxref("accept","input")}} attribuut. Indien de gebruiker meerdere bestanden kan kiezen wordt het {{htmlattrxref("multiple","input")}} attribuut gebruikt.</p>
+
+<h4 id="Voorbeeld_3">Voorbeeld</h4>
+
+<p>In dit voorbeeld kunnen meerdere grafische bestanden gekozen worden.</p>
+
+<pre class="brush: html">&lt;input type="file" accept="image/*" multiple&gt;</pre>
+
+<table class="standard-table">
+ <caption>Compatibiliteitstabel</caption>
+ <tbody>
+ <tr>
+ <th>Desktopfunctie</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="file"</code></td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>3.02</td>
+ <td>1.0</td>
+ <td>1.0</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobiele functie</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="file"</code></td>
+ <td>{{CompatUnknown()}}</td>
+ <td>{{CompatUnknown()}}</td>
+ <td>{{CompatUnknown()}}</td>
+ <td>{{CompatUnknown()}}</td>
+ <td>{{CompatUnknown()}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Verborgen_inhoud">Verborgen inhoud</h3>
+
+<p>Het is soms nuttig, om technische redenen, om gegevens met het formulier mee te sturen maar die niet zichtbaar zijn voor de gebruiker. Dit wordt gedaan met het {{HTMLElement("input")}} element met <code>hidden</code> als {{htmlattrxref("type","input")}} attribuut.</p>
+
+<p>Dit element vereist ook de <code>name</code> en <code>value</code> attributen:</p>
+
+<pre class="brush: html">&lt;input type="hidden" name="timestamp" value="1286705410"&gt;</pre>
+
+<table class="standard-table">
+ <caption>Compatibiliteitstabel</caption>
+ <tbody>
+ <tr>
+ <th>Feature Desktop</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="hidden"</code></td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>2</td>
+ <td>1.0</td>
+ <td>1.0</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobiele functie</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="hidden"</code></td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Afbeelding">Afbeelding</h3>
+
+<p>De <strong>afbeeldings widget</strong> wordt op dezelfde manier getoond als het {{HTMLElement("img")}} element, met die uitzondering dat, wanneer de gebruiker er op klikt, het zich gedraagt als een verzendknop (zie hierboven).</p>
+
+<p>Een afbeeldings widget wordt gecrëerd met een {{HTMLElement("input")}} element en <code>image</code> als {{htmlattrxref("type","input")}} attribuut. Dit element ondersteunt dezelfde attributen als het  {{HTMLElement("img")}} element plus de attributen van alle formulier knoppen.</p>
+
+<pre class="brush: html">&lt;input type="image" alt="Click me!" src="my-img.png" width="80" height="30" /&gt;</pre>
+
+<p>Als de knop afbeelding gebruikt wordt als verzendknop wordt niet zijn waarde verstuurd maar de X- en Y-coördinaten van de plaats waar er geklikt wordt in de afbeelding. De coördinaten zijn relatief tegenover de afbeelding (de linker bovenhoek is 0, 0). De coördinaten worden verzonden als twee sleutel/waarde paren. De sleutel van de X-waarde is het {{htmlattrxref("name","input")}} attribuut gevolgd door "<em>.x</em>" en de sleutel van de Y-waarde is het {{htmlattrxref("name","input")}} attribuut gevolgd door "<em>.y</em>".</p>
+
+<p>Laten we een voorbeeld bekijken:</p>
+
+<pre class="brush: html">&lt;form action="http://foo.com" method="get"&gt;
+ &lt;input type="image" value="pos" alt="" src="map.png" /&gt;
+&lt;/form&gt;
+</pre>
+
+<p>Bij het klikken op de afbeelding  in dit formulier wordt naar de volgende URL verzonden:</p>
+
+<pre>http://foo.com?pos.x=123&amp;pos.y=456</pre>
+
+<p>De waarde van de <code>pos.x</code> en <code>pos.y</code> parameters is afhankelijk van de plaats in de afbeelding waar geklikt wordt. Hoe deze waarden verzonden en ontvangen worden wordt beschreven in <a href="https://developer.mozilla.org/en-US/docs/HTML/Forms/Sending_and_retrieving_form_data" title="/en-US/docs/HTML/Forms/Sending_and_retrieving_form_data"><span>Zenden en ontvangen van gegevens</span></a>.</p>
+
+<table class="standard-table">
+ <caption>Compatibiliteitstabel</caption>
+ <tbody>
+ <tr>
+ <th>Desktopfuctie</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="image"</code></td>
+ <td>1.0</td>
+ <td>1.0</td>
+ <td>2</td>
+ <td>1.0</td>
+ <td>1.0</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobiele functie</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("input")}}<code>.</code>{{htmlattrxref("type","input")}}<code>="image"</code></td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ <td>{{CompatVersionUnknown()}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Meters_en_voortgangsbalken">Meters en voortgangsbalken</h3>
+
+<p>Meters en en voortgangsbalken zijn visuele voortellingen  van numerieke waarden.</p>
+
+<p>Een voortgangsbalk stelt een waarde voor die verandert in de tijd tot een maximumwaarde vastgelegd door het {{htmlattrxref("max","progress")}} attribuut. De balk wordt gecreëerd door het {{ HTMLElement("progress")}} element. Niet alle browsers en ondersteunende <span class="ng-binding"><span class="highlighted">technologie</span>ën kunnen overweg met dit element.</span></p>
+
+<pre class="brush: html">&lt;progress max="100" value="75"&gt;75/100&lt;/progress&gt;</pre>
+
+<p>Een meter stelt een vaste waarde voor in een gebied begrensd door de waarde van {{htmlattrxref("min","meter")}} en {{htmlattrxref("max","meter")}}. Deze waarde wordt visueel voorgesteld door een balk. Hoe deze balk er uit ziet wordt bepaald door bepaalde parameters:</p>
+
+<ul>
+ <li>de waarden van {{htmlattrxref("low","meter")}} en {{htmlattrxref("high","meter")}} delen het interval in drie delen:
+ <ul>
+ <li>Het onderste gedeelte van het interval ligt tussen de waarden {{htmlattrxref("min","meter")}} en {{htmlattrxref("low","meter")}} (deze waarden inbegrepen)</li>
+ <li>Het middenste gedeelte van het interval ligt tussen de waarden {{htmlattrxref("low","meter")}} en {{htmlattrxref("high","meter")}} (deze waarden uitgesloten)</li>
+ <li>Het bovenste gedeelte van het interval ligt tussen de waarden {{htmlattrxref("high","meter")}} en {{htmlattrxref("max","meter")}} (deze waarden inbegrepen)</li>
+ </ul>
+ </li>
+ <li>De {{htmlattrxref("optimum","meter")}} waarde bepaalt de optimale waarde voor het {{HTMLElement("meter")}} element. Samen met de waarden {{htmlattrxref("low","meter")}} en  {{htmlattrxref("high","meter")}} wordt bepaald welk deel van het interval de voorkeur krijgt:
+ <ul>
+ <li>Als de waarde {{htmlattrxref("optimum","meter")}} in het onderste gedeelte van het interval ligt, is het het onderste gedeelte dat de voorkeur krijgt, het middenste gedeelte wordt als het gemiddelde beschouwd en het bovenste gedeelte wordt als het slechtste gedeelte beschouwd.</li>
+ <li>Als de waarde {{htmlattrxref("optimum","meter")}} in het middenste gedeelte van het interval ligt, wordt het onderste en het bovenste gedeelte als het gemiddelde beschouwd. Het middenste gedeelte krijgt de voorkeur.</li>
+ <li>Als de waarde {{htmlattrxref("optimum","meter")}} in het bovenste gedeelte van het interval ligt, wordt het onderste gedeelte als slecht beschouwd, het middelste gedeelte als het gemiddelde en het bovenste gedeelte als het gedeelte dat de voorkeur heeft.</li>
+ </ul>
+ </li>
+</ul>
+
+<p>Alle browsers die het {{HTMLElement("meter")}} element ondersteunen gebruiken de deze waarden om de kleur van de balk aan te passen:</p>
+
+<ul>
+ <li>Als de huidige waarde in het voorkeurgebied valt is de balk groen.</li>
+ <li>Als de huidige waarde in het gemiddelde gebied ligt is de balk geel.</li>
+ <li>Als de huidige waarde in het slechte gedeelte ligt is de kleur van de balk rood.</li>
+</ul>
+
+<p>Niet alle browsers en ondersteunende <span class="ng-binding"><span class="highlighted">technologie</span>ën kunnen overweg met dit element.</span></p>
+
+<pre class="brush: html">&lt;meter min="0" max="100" value="75" low="33" high="66" optimum="50"&gt;75&lt;/meter&gt;</pre>
+
+<table class="standard-table">
+ <caption>Compatibility table</caption>
+ <tbody>
+ <tr>
+ <th>Desktopfuncties</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("progress")}}</td>
+ <td>6.0</td>
+ <td>{{CompatGeckoDesktop("6.0")}}</td>
+ <td>10</td>
+ <td>10.6</td>
+ <td>5.2</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("meter")}}</td>
+ <td>6.0</td>
+ <td>{{CompatGeckoDesktop("16.0")}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>11.0</td>
+ <td>5.2</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <th>Mobiele functies</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("progress")}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatGeckoMobile("6.0")}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>11.0</td>
+ <td>{{CompatUnknown()}}</td>
+ </tr>
+ <tr>
+ <td>{{HTMLElement("meter")}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>{{CompatGeckoMobile("16.0")}}</td>
+ <td>{{CompatNo()}}</td>
+ <td>11.0</td>
+ <td>{{CompatUnknown()}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Zie_ook">Zie ook</h2>
+
+<p>Om dieper in te gaan op de verschillende widgets voor formulieren zijn er nuttige externe bronnendie kunnen geraadpleegd worden:</p>
+
+<ul>
+ <li><a href="http://wufoo.com/html5/" rel="external" title="http://wufoo.com/html5/">The Current State of HTML5 Forms</a> door Wufoo</li>
+ <li><a href="http://www.quirksmode.org/html5/inputs.html" rel="external" title="http://www.quirksmode.org/html5/inputs.html">HTML5 Tests - inputs</a> over Quirksmode (ook <a href="http://www.quirksmode.org/html5/inputs_mobile.html" rel="external" title="http://www.quirksmode.org/html5/inputs_mobile.html">beschikbaar voor mobiele</a> browsers)</li>
+</ul>
diff --git a/files/nl/learn/html/forms/verzenden_van_formuliergegevens/index.html b/files/nl/learn/html/forms/verzenden_van_formuliergegevens/index.html
new file mode 100644
index 0000000000..feea7f5f78
--- /dev/null
+++ b/files/nl/learn/html/forms/verzenden_van_formuliergegevens/index.html
@@ -0,0 +1,339 @@
+---
+title: Formuliergegevens verzenden
+slug: Learn/HTML/Forms/Verzenden_van_formuliergegevens
+tags:
+ - Beginner
+ - Bestanden
+ - Formulieren
+ - HTML
+ - HTTP
+ - Headers
+ - Veiligheid
+ - Web
+translation_of: Learn/Forms/Sending_and_retrieving_form_data
+---
+<div>{{LearnSidebar}}{{PreviousMenuNext("Learn/HTML/Forms/The_native_form_widgets", "Learn/HTML/Forms/Form_validation", "Learn/HTML/Forms")}}</div>
+
+<p class="summary">In dit artikel wordt ingegaan op wat er gebeurt wanneer de gebruiker een formulier verstuurd - waar gaan de gegevens naar toe en wat te doen als de gegevens er aan komen? Er wordt ook ingegaan op enkele veiligheidsaspecten in verband met het verzenden van formuliergegevens.</p>
+
+<table class="learn-box standard-table">
+ <tbody>
+ <tr>
+ <th scope="row">Voorafgaande kennis:</th>
+ <td>Basis computergebruik,  <a href="/nl/docs/Learn/HTML/Introduction_to_HTML">inleiding tot HTML</a> en basiskennis <a href="/en-US/docs/Web/HTTP/Basics_of_HTTP">HTTP</a> en <a href="/en-US/docs/Learn/Server-side/First_steps">programmering aan de kant van de server</a>.</td>
+ </tr>
+ <tr>
+ <th scope="row">Doel:</th>
+ <td>Begrijpen wat er gebeurt wanneer formuliergegevens verzonden worden met inbegrip van hoe de gegevens verwerkt worden door de server.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Waar_gaan_de_gegevens_naar_toe">Waar gaan de gegevens naar toe?</h2>
+
+<p>Hier wordt besproken wat er gebeurt met de gegevens wanneer een formulier wordt verzonden.</p>
+
+<h3 id="Clientserver_architectuur">Client/server architectuur</h3>
+
+<p>Het web is gebaseerd op een client/server architectuur die als volgt kan samengevat worden: een client (meestal een webbrowser) stuurt een verzoek naar een server (meestal een webserver zoals  <a href="http://httpd.apache.org/" rel="external" title="http://www.apache.org/">Apache</a>, <a href="http://nginx.com/" rel="external" title="http://nginx.com/">Nginx</a>, <a href="http://www.iis.net/" rel="external" title="http://www.iis.net/">IIS</a>, <a href="http://tomcat.apache.org/" rel="external" title="http://tomcat.apache.org/">Tomcat</a>, enz.) gebruik makend van het  <a href="/en-US/docs/HTTP" title="/en-US/docs/HTTP">HTTP protocol</a>. De server beantwoordt het verzoek met hetzelfde protocol.</p>
+
+<p><img alt="A basic schema of the Web client/server architecture" src="/files/4291/client-server.png" style="display: block; height: 141px; margin: 0px auto; width: 400px;"></p>
+
+<p>Aan de zijde van de client is een HTML formulier niet meer dan een gebruiksvriendelijke manier om een  HTTP verzoek te verzenden naar een server. Dit laat de gebruiker toe gegevens in te geven in het HTTP-verzoek.</p>
+
+<div class="note">
+<p><strong>Nota</strong>: Zie <a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps">Eerste stappen in programmering van websites aan de kant van de server</a> om een beter idee te krijgen van hoe de client-server architectuur werkt.</p>
+</div>
+
+<h3 id="Aan_de_zijde_van_de_client_bepalen_hoe_de_gegevens_te_verzenden">Aan de zijde van de client: bepalen hoe de gegevens te verzenden</h3>
+
+<p>Het {{HTMLElement("form")}} element bepaalt hoe de gegevens zullen verzonden worden. Alle attributen zijn aanwezig om het verzoek samen te stellen en te verzenden wanneer de gebruiker op "Verzenden" klikt. De twee belangrijkste attributen zijn {{htmlattrxref("action","form")}} en {{htmlattrxref("method","form")}}.</p>
+
+<h4 id="Het_htmlattrxrefactionform_attribuut">Het {{htmlattrxref("action","form")}} attribuut</h4>
+
+<p>Dit attribuut bepaalt waar de gegevens naar toe zullen gezonden worden. De waarde moet een geldige URL zijn. Als dit attribuut niet opgegeven wordt, worden de gegevens verzonden naar de URL van de pagina waarop het formulier staat.</p>
+
+<p>In volgend voorbeeld worden de gegevens verzonden naar een absolute URL — <code>http://foo.com</code>:</p>
+
+<pre class="brush: html">&lt;form action="http://foo.com"&gt;</pre>
+
+<p class="brush: html">Hier wordt gebruik gemaakt van een relatieve URL  — de gegevens worden verzonden naar een andere URL op de server:</p>
+
+<pre class="brush: html">&lt;form action="/somewhere_else"&gt;</pre>
+
+<p class="brush: html">Als er geen attributen gespecifieerd worden, worden de {{HTMLElement("form")}}gegevens verstuurd naar de pagina waarop het formulier staat:</p>
+
+<pre class="brush: html">&lt;form&gt;</pre>
+
+<p class="brush: html">Oudere pagina's gebruiken de volgende notatie om aan te geven dat de gegevens moeten verstuurd worden naar dezelfde pagina als waar het formulier op staat. Dit was nodig omdat tot HTML5 het {{htmlattrxref("action", "form")}} attribuut  vereist was. Dit is niet langer meer nodig.</p>
+
+<pre class="brush: html">&lt;form action="#"&gt;</pre>
+
+<div class="note">
+<p><strong>Nota:</strong> het is mogelijk om een URL te <span class="highlighted">specifiëren die gebruik maakt van het HTTPS </span> (secure HTTP) protocol. Dan worden de gegevens samen met de rest van het verzoek versleuteld zelfs wanneer het formulier op een niet versleutelde pagina staat die met HTTP benaderd werd. Als het formulier daarentegen op een versleutelde pagina staat en er wordt een onversleutelde HTTP URL gevraagd met het {{htmlattrxref("action","form")}} attributut, zullen alle browsers een veiligheidswaarschuwing tonen zodra de gebruiker gegevens tracht te verzenden omdat zij niet versleuteld zullen worden.</p>
+</div>
+
+<h4 id="Het_htmlattrxrefmethodform_attribuut">Het {{htmlattrxref("method","form")}} attribuut</h4>
+
+<p>Dit attribuut bepaalt hoe de gegevens worden verzonden. Het <a href="/en-US/docs/HTTP" title="/en-US/docs/HTTP">HTTP protocol</a> voorziet diverse methoden om een verzoek op te stellen. De twee meest gebruikte methoden zijn de GET en de POST methoden.</p>
+
+<p>Om het verschil te kennen moet gekeken worden naar hoe HTTP werkt. Elke keer de gebruiker iets zoekt op het internet zendt de browser een verzoek naar een URL. Een HTTP verzoek bestaat uit twee delen: een header die metadata bevat over de browser en het eigenlijk bericht.</p>
+
+<h5 id="De_GET_methode">De GET methode</h5>
+
+<p>Met de GET methode vraagt de browser aan de server een bepaalde gegevensbron: "Hallo server ik wens die gegevensbron". In dit geval wordt het gevraagde gehecht aan de URL. De rest van het bericht is leeg.</p>
+
+<p>Bekijken we het volgende formulier::</p>
+
+<pre class="brush: html">&lt;form action="http://foo.com" method="get"&gt;
+  &lt;div&gt;
+    &lt;label for="say"&gt;What greeting do you want to say?&lt;/label&gt;
+    &lt;input name="say" id="say" value="Hi"&gt;
+  &lt;/div&gt;
+  &lt;div&gt;
+    &lt;label for="to"&gt;Who do you want to say it to?&lt;/label&gt;
+    &lt;input name="to" value="Mom"&gt;
+  &lt;/div&gt;
+  &lt;div&gt;
+    &lt;button&gt;Send my greetings&lt;/button&gt;
+  &lt;/div&gt;
+&lt;/form&gt;</pre>
+
+<p>Als gevolg van de GET methode ziet men bij het verzenden de URL <code>www.foo.com/?say=Hi&amp;to=Mom</code> verschijnen in de adresbalk.</p>
+
+<p><img alt="" src="https://mdn.mozillademos.org/files/14685/url-parameters.png" style="display: block; margin: 0 auto;">De gegevens worden aan de URL gekoppeld als een reeks naam/waarde paren. Na het URL webadres komt een vraagteken (?) gevolgd door de naam/waarde paren, elk paar gescheiden door een ampersand (&amp;). In dit geval versturen we twee eenheden gegevens naar de server:</p>
+
+<ul>
+ <li><code>say</code>, dat de waarde <code>Hi</code> heeft</li>
+ <li><code>to</code>, dat de waarde <code>Mom </code>heeft</li>
+</ul>
+
+<p>Het HTTP-verzoek ziet er zo uit:</p>
+
+<pre>GET /?say=Hi&amp;to=Mom HTTP/1.1
+Host: foo.com</pre>
+
+<div class="note">
+<p><strong>Nota</strong>: Dit voorbeeld is ook te vinden op GitHub — zie <a href="https://github.com/mdn/learning-area/blob/master/html/forms/sending-form-data/get-method.html">get-method.html</a> (<a href="https://mdn.github.io/learning-area/html/forms/sending-form-data/get-method.html">see it live also</a>).</p>
+</div>
+
+<h5 id="De_POST_methode">De POST methode</h5>
+
+<p>De <code>POST</code> methode is een beetje anders. Het is de methode die de browser gebruikt om te communiceren met de server wanneer hij een reactie vraagt op de inhoud van zijn HTTP-bericht: "Hallo server, kijk naar mijn bericht en zend mij informatie hierover". Als een formulier op deze manier wordt verzonden worden de gegevens in het bericht geplaatst en niet in de URL van het HTTP-bericht.</p>
+
+<p>Nemen we een voorbeeld — dit is hetzelfde formulier als in de GET sectie hierboven, maar met het {{htmlattrxref("method","form")}} attribuut ingesteld op <code>post</code>.</p>
+
+<pre class="brush: html">&lt;form action="http://foo.com" method="post"&gt;
+  &lt;div&gt;
+    &lt;label for="say"&gt;What greeting do you want to say?&lt;/label&gt;
+    &lt;input name="say" id="say" value="Hi"&gt;
+  &lt;/div&gt;
+  &lt;div&gt;
+    &lt;label for="to"&gt;Who do you want to say it to?&lt;/label&gt;
+    &lt;input name="to" value="Mom"&gt;
+  &lt;/div&gt;
+  &lt;div&gt;
+    &lt;button&gt;Send my greetings&lt;/button&gt;
+  &lt;/div&gt;
+&lt;/form&gt;</pre>
+
+<p>Als het formulier wordt verzonden met de <code>POST</code> methode worden er geen gegevens gekoppeld aan de URL en het HTTP verzoek ziet er als volgt uit, met de gegevens in het bericht:</p>
+
+<pre>POST / HTTP/1.1
+Host: foo.com
+Content-Type: application/x-www-form-urlencoded
+Content-Length: 13
+
+say=Hi&amp;to=Mom</pre>
+
+<p><code>Content-Length</code> geeft de omvang van de inhoud aan en <code>Content-Type</code> geeft het type aan van de gegevensbron die naar de server wordt verzonden. Hier wordt later verder op ingegaan.</p>
+
+<div class="note">
+<p><strong>Nota</strong>: Dit voorbeeld kan ook gevonden worden op GitHub — zie <a href="https://github.com/mdn/learning-area/blob/master/html/forms/sending-form-data/post-method.html">post-method.html</a> (<a href="https://mdn.github.io/learning-area/html/forms/sending-form-data/post-method.html">see it live also</a>).</p>
+</div>
+
+<h4 id="HTTP-verzoeken_bekijken">HTTP-verzoeken bekijken</h4>
+
+<p>HTTP-verzoeken worden nooit getoond aan de gebruiker (om ze te zien moeten instrumenten gebruikt worden als <a href="/en-US/docs/Tools/Network_Monitor">Firefox Network Monitor</a> of  <a href="https://developers.google.com/chrome-developer-tools/" title="https://developers.google.com/chrome-developer-tools/">Chrome Developer Tools</a>). Bijvoorbeeld in de Chrome network tab:</p>
+
+<p><img alt="" src="https://mdn.mozillademos.org/files/14691/network-monitor.png" style="border-style: solid; border-width: 1px; display: block; margin: 0px auto;"></p>
+
+<p>Het enige wat getoond wordt is de aangeroepen URL. Bij een GET-verzoek staan de gegevens in de adresbalk maar bij een POST-verzoek is er niets te zien. Dit is belangrijk om twee redenen:</p>
+
+<ol>
+ <li>Gebruik nooit de GET methode als een paswoord of andere gevoelige gegevens moeten verzonden worden om te voorkomen dat ze in de URL-balk getoond worden, wat erg onveilig is.</li>
+ <li>Gebruik de POST methode als grote hoeveelheden gegevens moeten verzonden worden omdat sommige browsers de lengte van de URL begrenzen. Daarenboven begrenzen veel servers ook de lengte van de URL's die ze aanvaarden.</li>
+</ol>
+
+<h3 id="Aan_de_kant_van_de_server_ontvangst_van_de_gegevens">Aan de kant van de server: ontvangst van de gegevens</h3>
+
+<p>Onafhankelijk van de gebruikte methode van verzenden zal de server een reeks karakters ontvangen die hij zal ontleden in sleutel/waarde paren. De verdere afwikkeling is afhankelijk van het gebruikte ontwikkelingsplatform. Bijvoorbeeld de afhandeling van dubbele sleutels: meestal wordt de laatst ontvangen sleutel gebruikt.</p>
+
+<h4 id="Voorbeeld_Raw_PHP">Voorbeeld: Raw PHP</h4>
+
+<p><a href="http://php.net/">PHP</a> biedt enkele globale objecten om de gegevens te benaderen. Het volgend voorbeeld gebruikt de POST methode en toont de inhoud gewoon aan de gebruiker. Die beslist wat er verder mee moet gebeuren: gewoon tonen, opslaan in een gegevensbank of op een andere manier verwerken.</p>
+
+<pre class="brush: php">&lt;?php
+ // The global $_POST variable allows you to access the data sent with the POST method by name
+ // To access the data sent with the GET method, you can use $_GET
+ $say = htmlspecialchars($_POST['say']);
+ $to = htmlspecialchars($_POST['to']);
+
+ echo $say, ' ', $to;
+?&gt;</pre>
+
+<p>Dit voorbeeld toont een pagina met de gegevens die we verzonden hebben. Dit wordt getoond in ons <a href="https://github.com/mdn/learning-area/blob/master/html/forms/sending-form-data/php-example.html">php-example.html</a> voorbeeldbestand. Dit bevat hetzelfde voorbeeld als hierboven met een  <code>post</code> methode en als  <code>action</code> : <code>php-example.php</code>. Bij verzending worden de formuliergegevens verzonden naar  <a href="https://github.com/mdn/learning-area/blob/master/html/forms/sending-form-data/php-example.php">php-example.php</a>, waar de PHP code staat uit bovenstaand voorbeeld. Bij uitvoering toont de browser: <code>Hi Mom</code>.</p>
+
+<p><img alt="" src="https://mdn.mozillademos.org/files/14693/php-result.png" style="display: block; margin: 0 auto;"></p>
+
+<div class="note">
+<p><strong>Nota</strong>: Dit voorbeeld zal niet werken wanneer het in een lokale browser geladen wordt omdat browsers geen PHP-code kunnen interpreteren. Dus bij het verzenden biedt de browser alleen aan om het PHP-bestand te downloaden. Het zal dus slechts lopen door middel van een of andere PHP-server.  Goede opties voor het lokaal testen van PHP zijn <a href="https://www.mamp.info/en/downloads/">MAMP</a> (Mac en Windows) en <a href="http://ampps.com/download">AMPPS</a> (Mac, Windows, Linux).</p>
+</div>
+
+<h4 id="Voorbeeld_Python">Voorbeeld: Python</h4>
+
+<p>Volgend voorbeeld toont het gebruik van Python om hetzelfde te doen: tonen van verzonden gegevens op een webpagina. Dit maakt gebruik van het  <a href="http://flask.pocoo.org/">Flask framework</a> om sjablonen te tonen, versturen van formuliergegevens, enz. (zie <a href="https://github.com/mdn/learning-area/blob/master/html/forms/sending-form-data/python-example.py">python-example.py</a>).</p>
+
+<pre>from flask import Flask, render_template, request
+app = Flask(__name__)
+
+@app.route('/', methods=['GET', 'POST'])
+def form():
+ return render_template('form.html')
+
+@app.route('/hello', methods=['GET', 'POST'])
+def hello():
+ return render_template('greeting.html', say=request.form['say'], to=request.form['to'])
+
+if __name__ == "__main__":
+ app.run()</pre>
+
+<p>De twee sjablonen waarnaar gerefereerd wordt in de code zijn de volgende:</p>
+
+<ul>
+ <li><a href="https://github.com/mdn/learning-area/blob/master/html/forms/sending-form-data/templates/form.html">form.html</a>: hetzelfde formulier als hierboven in de  {{anch("The POST method")}} sectie maar met als  <code>action</code> : <code>\{{ url_for('hello') }}</code>. (Dit is een <a href="http://jinja.pocoo.org/docs/2.9/">Jinja2</a> sjabloon dat in HTML is maar dat de Pythoncode kan aanroepen die loopt op de webserver die aangegeven wordt in de accolades.  <code>url_for('hello')</code> wil in principe zeggen "stuur door naar <code>/hello</code> wanneer het formulier verzonden wordt".)</li>
+ <li><a href="https://github.com/mdn/learning-area/blob/master/html/forms/sending-form-data/templates/greeting.html">greeting.html</a>: deze sjabloon bevat een regel die twee datavelden weergeeft die doorgegeven werden toen het bericht binnenkwam. Dit wordt gedaan via de  <code>hello()</code> functie hierboven die loopt wanneer naar de  <code>/hello</code> URL genavigeerd wordt.</li>
+</ul>
+
+<div class="note">
+<p><strong>Nota</strong>: Deze code zal ook nu weer niet lopen als die gewoon in een browser ingelezen wordt. Python werkt enigszins anders dan PHP. Om deze code lokaal te laten lopen moet  <a href="/en-US/docs/Learn/Server-side/Django/development_environment#Installing_Python_3">Python/PIP</a> <a href="/en-US/docs/Learn/Server-side/Django/development_environment#Installing_Python_3">geïnstalleerd </a>worden, dan Flask d.m.v. <code>pip3 install flask</code>. Daarna moet het mogelijk zijn het voorbeeld te laten lopen door middel van  <code>python3 python-example.py</code> en dan naar <code>localhost:5000</code> te gaan in de browser.</p>
+</div>
+
+<h4 id="Andere_talen_en_omgevingen">Andere talen en omgevingen</h4>
+
+<p>Er zijn vele andere technologieën aan de serverkant voor behandeling van formulieren met inbegrip van <a href="/en-US/docs/" title="/en-US/docs/">Perl</a>, <a href="/en-US/docs/" title="/en-US/docs/">Java</a>, <a href="http://www.microsoft.com/net" title="http://www.microsoft.com/net">.Net</a>, <a href="/en-US/docs/" title="/en-US/docs/">Ruby</a>, enzovoorts. Kies wat u het beste ligt. In dit verband moet gezegd worden dat het niet de gewoonte is om rechtstreeks in deze omgevingen te werken omdat dit niet altijd eenvoudig is. Het is veel gemakkelijker te werken met een van de volgende fraaie toepassingen die werken met formulieren veel aangenamer maken, zoals:</p>
+
+<ul>
+ <li><a href="http://symfony.com/" rel="external" title="http://symfony.com/">Symfony</a> voor PHP</li>
+ <li><a href="/en-US/docs/Learn/Server-side/Django" rel="external" title="https://www.djangoproject.com/">Django</a> voor Python (iets zwaarder dan <a href="http://flask.pocoo.org/">Flask</a>, maar met meer gereedschap en opties)</li>
+ <li><a href="/en-US/docs/Learn/Server-side/Express_Nodejs">Express</a> voor Node.js</li>
+ <li><a href="http://rubyonrails.org/" rel="external" title="http://rubyonrails.org/">Ruby On Rails</a> voor Ruby</li>
+ <li><a href="http://grails.org/" rel="external" title="http://grails.org/">Grails</a> voor Java</li>
+ <li>enzoverder.</li>
+</ul>
+
+<p>Zelfs met deze omgevingen is het niet altijd eenvoudig om met formulieren te werken. Maar het is nog altijd eenvoudiger dan alle functionaliteit zelf vanaf nul te moeten schrijven. Het zal in elk geval sneller gaan.</p>
+
+<div class="note">
+<p><strong>Nota</strong>: Het is buiten het bestek van dit artikel om elke taal of omgeving aan de serverkant te bespreken. Bovenstaande links zijn een leidraad en misschien is het nuttig er zelf wat dieper op in te gaan.</p>
+</div>
+
+<h2 id="Speciaal_verzenden_van_bestanden">Speciaal: verzenden van bestanden</h2>
+
+<p>Verzenden van bestanden met HTML-formulieren is speciaal. Bestanden zijn binaire gegevens, terwijl andere gegevens uit gewone tekst bestaan. Omdat HTTP een tekstprotocol is, zijn er speciale vereisten om binaire gegevens te behandelen.</p>
+
+<h3 id="Het_htmlattrxrefenctypeform_attribuut">Het {{htmlattrxref("enctype","form")}} attribuut</h3>
+
+<p>Dit attribuut laat toe de waarde van <code>Content-Type</code> in te stellen van de HTTP-hoofding die meegestuurd wordt wanneer het formulier verzonden wordt. Deze hoofding is zeer belangrijk omdat die de server vertelt welke soort gegevens zullen doorgezonden worden.  Standaard is de waarde <code>application/x-www-form-urlencoded</code>. In mensentaal betekent dit: "Dit zijn formuliergegevens die gecodeerd zijn in URL parameters."</p>
+
+<p>Om bestanden te versturen moeten er drie stappen ondernomen worden:</p>
+
+<ul>
+ <li>Zet het {{htmlattrxref("method","form")}} attribuut op <code>POST</code> omdat bestandsinhoud niet in URL parameters kan geplaatst worden</li>
+ <li>Zet de waarde van {{htmlattrxref("enctype","form")}} op <code>multipart/form-data</code> omdat de gegevens in meerder delen zal gesplitst worden, één voor elk bestand, plus nog een deel voor de tekstgegevens die vervat zijn in het formulier (als er tekst in het formulier aanwezig is).</li>
+ <li>Sluit één of meerdere bestandselecties (<a href="/en-US/docs/Learn/HTML/Forms/The_native_form_widgets#File_picker">File picker</a>) in om de gebruiker toe te laten de bestanden te kiezen die hij wil uploaden.</li>
+</ul>
+
+<p>Bijvoorbeeld:</p>
+
+<pre class="brush: html">&lt;form method="post" enctype="multipart/form-data"&gt;
+ &lt;div&gt;
+    &lt;label for="file"&gt;Choose a file&lt;/label&gt;
+ &lt;input type="file" id="file" name="myFile"&gt;
+ &lt;/div&gt;
+ &lt;div&gt;
+ &lt;button&gt;Send the file&lt;/button&gt;
+ &lt;/div&gt;
+&lt;/form&gt;</pre>
+
+<div class="note">
+<p><strong>Nota:</strong> Sommige browsers ondersteunen het {{htmlattrxref("multiple","input")}} attribuut van het {{HTMLElement("input")}} element, dat toelaat meerdere bestanden te kiezen om te uploaden in slechts één <code>&lt;input&gt;</code> element. Hoe de server deze bestanden behandelt is afhankelijk van de technologie die gebruikt wordt op de server. Zoals hiervoor vermeld zal het gebruik van een omgeving het leven aangenamer maken.</p>
+</div>
+
+<div class="warning">
+<p><strong>Waarschuwing:</strong> Veel servers beperken de bestandsgrootte voor HTTP-verzoeken om misbruik te voorkomen. Het is belangrijk deze limiet te controleren bij de administrator van de server voordat een bestand verzonden wordt.</p>
+</div>
+
+<h2 id="Veiligheidsoverwegingen">Veiligheidsoverwegingen</h2>
+
+<p>Elke keer er gegevens verstuurd worden naar een server moet aan veiligheid gedacht worden. HTML formulieren zijn de meest kwetsbare plaatsen voor aanvallen. De problemen komen nooit van de HTML formulieren zelf maar wel van de manier waarop de server met gegevens omgaat.</p>
+
+<p>Al naar gelang de toepassing zijn er wel bekende veiligheids problemen die men kan tegenkomen:</p>
+
+<h3 id="XSS_en_CSRF">XSS en CSRF</h3>
+
+<p>Cross-Site Scripting (XSS) en Cross-Site Request Forgery (CSRF) zijn wel bekende vormen van aanvallen wanneer gegevens getoond worden die een gebruiker terugstuurt naar een gebruiker of naar een andere gebruiker.</p>
+
+<p>XSS laat aanvallers toe een script toe te voegen aan de zijde van de client aan webpagina's die bekeken werden door andere gebruikers. Een kwetsbaar cross-site script kan gebruikt worden door aanvallers om toegangscontrole te omzeilen zoals de  <a href="/en-US/docs/JavaScript/Same_origin_policy_for_JavaScript" title="/en-US/docs/JavaScript/Same_origin_policy_for_JavaScript">politiek van dezelfde bron</a>. Het effect van deze aanvallen kan gaan van vervelend tot een ernstig veiligheidsrisico.</p>
+
+<p>CSRF aanvallen zijn gelijk aan  XSS aanvallen in zo verre dat zij op dezelfde manier starten, door aan de kant van de client een script te injecteren in webpagina's, maar hun doel is anders. CSRF aanvallers trachten machtigingen aan te passen naar hogere niveaus (zoals een webadministrator) om een actie te ondernemen die anders niet zou lukken (bijvoorbeeld gegevens verzenden naar een niet-vertrouwde gebruiker).</p>
+
+<p>XSS aanvallen profiteren van het vertrouwen dat een gebruiker heeft in een website terwijl CSRF aanvallen profiteren van het vertrouwen dat een website heeft in haar gebruikers.</p>
+
+<p>Om zulke aanvallen te voorkomen moet een server altijd de gegevens controleren die een gebruiker er naar toe stuurt. Indien de gegevens moeten getoond worden moet er op gelet worden dat de HTML inhoud die van de gebruiker komt niet getoond wordt  Daarom moeten de gegevens van de gebruiker verwerkt worden zodat ze niet letterlijk gepresenteerd worden. Praktisch alle omgevingen die vandaag op de markt zijn hebben minimaal een filter die de HTML <span style="line-height: 1.5;">{{HTMLElement("script")}}, {{HTMLElement("iframe")}} en {{HTMLElement("object")}} elementen filtert uit de gegevens die de gebruikers versturen. Dit verkleint het risico maar schakelt het niet helemaal uit.</span></p>
+
+<h3 id="SQL_injectie">SQL injectie</h3>
+
+<p>SQL injectie is een type aanval die probeert ingrepen uit te voeren op de database van de website. Dit vereist een SQL-aanvraag in de hoop dat de server ze uitvoert (meestal doordat de server de gegevens van de gebruiker tracht op te slaan). </p>
+
+<p>De gevolgen kunnen zeer erg zijn, gaande van verlies van gegevens tot de controle over een hele website infrastructuur door toe-eigenen van machtigingen. Dit is een zeer ernstige bedreiging en gegevens van een gebruiker mogen nooit zo maar direct opgeslagen worden zonder validering (bijvoorbeeld door gebruik van  <code><a href="http://www.php.net/manual/en/function.mysql-real-escape-string.php" rel="external" title="http://www.php.net/manual/en/function.mysql-real-escape-string.php">mysql_real_escape_string()</a></code> op een PHP/MySQL systeem).</p>
+
+<h3 id="HTTP_header_injectie_en_email_injectie">HTTP header injectie en email injectie</h3>
+
+<p>Deze aanvallen kunen gebeuren wanneer de applicatie HTTP headers  of e-mails opstelt uit de gegevens van een gebruikersformulier. Deze zullen geen onmidellijke schade aanrichten of invloed hebben op de gebruikers maar zij vormen een open deur voor dieper liggende problemen zoals het kapen van sessies of phishing aanvallen.</p>
+
+<p>Deze aanvallen gebeuren meestal in stilte en wijzigen servers in een <a href="http://en.wikipedia.org/wiki/Zombie_(computer_science)" rel="exernal" title="http://en.wikipedia.org/wiki/Zombie_(computer_science)">zombie</a>.</p>
+
+<h3 id="Wees_wantrouwig_vertrouw_uw_gebruikers_nooit">Wees wantrouwig: vertrouw uw gebruikers nooit</h3>
+
+<p>Wat te doen tegen deze bedreigingen? Dit gaat te ver voor dit artikel maar er zijn enkele regels die men in acht moet nemen. De belangrijkste regel is: vertrouw nooit uw gebruikers, uzelf inbegrepen. Zelfs een betrouwbare gebruiker kan gehackt zijn.</p>
+
+<p>Alle gegevens die de server bereiken moeten gecontroleerd worden. Altijd. Geen enkele uitzondering:</p>
+
+<ul>
+ <li>Potentieel gevaarlijke karakters moeten geweerd worden. Welke karakters dat zijn is afhankelijk van de context waarin de aangewend worden en het platform dat gebruikt wordt. Alle talen gebruikt aan de serverkant hebben deze funktie in zich.</li>
+ <li>Begrens de hoeveelheid inkomende gegevens tot het meest noodzakelijke.</li>
+ <li>Sla geüploade bestanden op in de zanbak (sla ze op op een andere server en maak ze alleen toegankelijk door een ander subdomein, of beter nog, door een volledig andere domeinnaam).</li>
+</ul>
+
+<p>Veel/de meeste problemen worden voorkomen door deze drie regels op te volgen, maar het is altijd een goed idee de veiligheid te laten onderzoeken door een competente derde. Ga er niet van uit dat je alle mogelijke problemen overzien hebt.</p>
+
+<div class="note">
+<p><strong>Nota</strong>: Het artikel over <a href="/en-US/docs/Learn/Server-side/First_steps/Website_security">Website beveiliging</a> van de <a href="/en-US/docs/Learn/Server-side">serverkant</a> gaat dieper in op bovenstaande bedreigingen en <span class="ng-binding"><span class="highlighted">potentiële</span></span> oplossingen.</p>
+</div>
+
+<h2 id="Besluit">Besluit</h2>
+
+<p>Formuliergegevens verzenden is simpel maar een applicatie beveiligen is niet zo eenvoudig. Maar denk er aan dat het niet de front-end ontwikkelaar is die verantwoordelijk is voor het veiligheidsmodel. Verderop in deze cursus wordt geleerd dat <a href="/en-US/docs/HTML/Forms/Data_form_validation" title="/en-US/docs/HTML/Forms/Data_form_validation">validatie aan de zijde van de client</a> mogelijk is maar de server kan deze validatie niet vertrouwen omdat hij niet weet wat er zich afspeelt aan de zijde van de client.</p>
+
+<h2 id="Zie_ook">Zie ook</h2>
+
+<p>Volgende bronnen gaan dieper in op de beveiliging van websites:</p>
+
+<ul>
+ <li><a href="/en-US/docs/Learn/Server-side/First_steps">Eerste stappen in programmering van websites aan de kant van de server</a></li>
+ <li><a href="https://www.owasp.org/index.php/Main_Page" rel="external" title="https://www.owasp.org/index.php/Main_Page">The Open Web Application Security Project (OWASP)</a></li>
+ <li><a href="http://shiflett.org/" rel="external" title="http://shiflett.org/">Chris Shiflett's blog about PHP Security</a></li>
+</ul>
+
+<p>{{PreviousMenuNext("Learn/HTML/Forms/The_native_form_widgets", "Learn/HTML/Forms/Form_validation", "Learn/HTML/Forms")}}</p>
diff --git a/files/nl/learn/html/forms/your_first_html_form/index.html b/files/nl/learn/html/forms/your_first_html_form/index.html
new file mode 100644
index 0000000000..43c489e5a9
--- /dev/null
+++ b/files/nl/learn/html/forms/your_first_html_form/index.html
@@ -0,0 +1,273 @@
+---
+title: My first HTML form
+slug: Learn/HTML/Forms/Your_first_HTML_form
+tags:
+ - CSS
+ - Formulier
+ - HTML
+ - voorbeeld
+translation_of: Learn/Forms/Your_first_form
+---
+<p>Dit is een inleidend artikel tot HTML formulieren.  Door middel van een eenvoudig contactformulier maken we kennis met de basiselementen van HTML formulieren. Dit artikel veronderstelt dat de lezer niets afweet van HTML formulieren, maar dat hij een basiskennis heeft van <a href="/en-US/docs/Web/Guide/HTML/Forms_in_HTML">the basics of HTML</a> en <a href="/en-US/docs/Learn/Getting_started_with_the_web/CSS_basics">CSS</a>.</p>
+
+<h2 id="Voordat_we_beginnen">Voordat we beginnen</h2>
+
+<h3 id="Wat_is_een_HTML_formulier">Wat is een HTML formulier?</h3>
+
+<p>HTML formulieren zijn de belangrijkste schakel tussen een gebruiker en een website of een applicatie. Zij laten gebruikers toe gegevens naar websites te sturen. Meestal zal dat naar de server zijn maar een webpagina kan de gegevens ook zelf interpreteren.</p>
+
+<p>Een HTML formulier bestaat uit een aantal elementen. Bijvoorbeeld tekstvelden (bestaande uit één of meerdere regels), keuzelijsten, knoppen of radioknoppen. Meestal zullen deze elementen voorzien zijn van een label dat de funktie van het element aangeeft.</p>
+
+<h3 id="Wat_is_er_nodig_om_met_formulieren_te_werken">Wat is er nodig om met formulieren te werken?</h3>
+
+<p>Een  editor (<a href="/en-US/docs/">Sublime</a> of <a href="/en-US/docs/">Atom</a> zijn goede voorbeelden) en een webbrowser. Natuurlijk zijn er volwaardige IDE's zoals <a href="/en-US/docs/Mozilla/Tech/XUL/Using_Visual_Studio_as_your_XUL_IDE">Visual Studio</a>, <a href="/en-US/docs/Mozilla/Developer_guide/Eclipse">Eclipse</a>, <a href="http://www.aptana.com/" rel="external" title="http://www.aptana.com/">Aptana</a> en andere.</p>
+
+<p>Het verschil tussen een HTML formulier en een gewoon HTML document is dat de gegevens die door het formulier verzameld worden naar een webserver moeten gestuurd worden. Dus er moet een server voorzien worden om de gegevens te ontvangen en te verwerken. Hoe een server moet opgezet worden is buiten het bestek van dit artikel maar kan gevonden worden in het artike <a href="https://developer.mozilla.org/en-US/docs/HTML/Forms/Sending_and_Retrieving_form_data" title="/en-US/docs/HTML/Forms/Sending_and_retrieving_form_data">Sending and retrieving form data</a>.</p>
+
+<h2 id="Ontwerp_van_het_formulier">Ontwerp van het formulier</h2>
+
+<p>Alvorens te beginnen met schrijven moet eerst  het formulier ontworpen worden.  Dit laat toe vast te leggen welke gegevens er van de gebruiker gevraagd worden. Een te druk formulier kan al vlug aversie opwekken bij de gebruiker. Dus hou het simpel: vraag alleen wat absoluut nodig is. Het formulierontwerp is een zeer belangrijke stap in de opbouw van een site of een applicatie.  Het is buiten het bestek van dit artikel om in te gaan op gebruiksvriendelijk formulierontwerp maar volgende publicaties kunnen daarbij nuttig zijn:</p>
+
+<ul>
+ <li>Smashing Magazine : <a href="https://www.smashingmagazine.com/2011/11/extensive-guide-web-form-usability/">an extensive guide web to form usability.</a></li>
+ <li>UXmatters betreffende<a href="http://www.uxmatters.com/mt/archives/2012/05/7-basic-best-practices-for-buttons.php" rel="external" title="http://www.uxmatters.com/mt/archives/2012/05/7-basic-best-practices-for-buttons.php">basic best practices</a> voor complexe formulieren, zoals  <a href="http://www.uxmatters.com/mt/archives/2012/05/7-basic-best-practices-for-buttons.php" rel="external" title="http://www.uxmatters.com/mt/archives/2012/05/7-basic-best-practices-for-buttons.php"> </a> <a href="http://www.uxmatters.com/mt/archives/2010/03/pagination-in-web-forms-evaluating-the-effectiveness-of-web-forms.php" title="http://www.uxmatters.com/mt/archives/2010/03/pagination-in-web-forms-evaluating-the-effectiveness-of-web-forms.php">multi-page forms</a>.</li>
+</ul>
+
+<p>In dit artikel bouwen we een eenvoudig contactformulier. We beginnen met een ruwe schets.</p>
+
+<p><img alt="The form to build, roughly sketch" src="/files/4579/form-sketch-low.jpg" style="border-style: solid; border-width: 1px; height: 352px; width: 400px;"></p>
+
+<p>Het formulier bevat drie tekstvelden en een knop. De gebruiker wordt gevraagd naar de naam, het e-mailadres en het bericht dat hij wil verzenden. Bij een druk op de knop wordt het bericht verzonden naar de server.</p>
+
+<h2 id="Maak_uw_handen_vuil_aan_HTML">Maak uw handen vuil aan HTML</h2>
+
+<p>Nu zijn we klaar om aan het formulier te beginnen. Om het contactformulier op te maken hebben we de volgende HTML elementen nodig: {{HTMLelement("form")}}, {{HTMLelement("label")}}, {{HTMLelement("input")}}, {{HTMLelement("textarea")}}, en {{HTMLelement("button")}}.</p>
+
+<h3 id="Het_HTMLelement(form)_element">Het {{HTMLelement("form")}} element</h3>
+
+<p>Alle HTML formulieren beginnen met een {{HTMLelement("form")}} element als volgt:</p>
+
+<pre class="brush:html;">&lt;form action="/my-handling-form-page" method="post"&gt;
+
+&lt;/form&gt;</pre>
+
+<p>Dit element definiëert een formulier. Het is een container element als {{HTMLelement("div")}} of {{HTMLelement("p")}} maar het bevat ook een aantal attributen die aangeven hoe het formulier zich gedraagt. Alle attributen zijn optioneel maar in de praktijk wordt het aangeraden van steeds minstens het <code>action</code> attribuut en het <code>methode</code> attribuut te gebruiken.</p>
+
+<ul>
+ <li>Het <code>action</code> attribuut bepaalt de locatie (URL) waar de gegevens van het formulier naar toe gezonden worden.</li>
+ <li>Het <code>methode</code> attribuut bepaalt met welke HTTP methode de gegevens worden verzonden (dit kan zijn "get" of "post").</li>
+</ul>
+
+<p>Zie het artikel <a href="https://developer.mozilla.org/en-US/docs/HTML/Forms/Sending_and_retrieving_form_data" title="/en-US/docs/HTML/Forms/Sending_and_retrieving_form_data">Sending and retrieving form data</a> voor getaileerde informatie over hoe attributen werken.</p>
+
+<h3 id="Widgets_toevoegen_met_de_HTMLelement(label)_HTMLelement(input)_en_HTMLelement(textarea)_elementen">Widgets toevoegen met de {{HTMLelement("label")}}, {{HTMLelement("input")}} en {{HTMLelement("textarea")}} elementen</h3>
+
+<p>Het contactformulier is vrij eenvoudig en bevat drie tekstvelden, elk met een label. Het veld voor de naam is een eenvoudig tekstveld met één regel. Het veld voor het e-mailadres is ook een tekstveld met één regel maar dat alleen een e-mailadres aanvaardt. Het tekstveld voor het bericht is een eenvoudig tekstveld met meerdere regels.</p>
+
+<p>In HTML taal ziet de code er aldus uit:</p>
+
+<pre class="brush:html;">&lt;form action="/my-handling-form-page" method="post"&gt;
+ &lt;div&gt;
+ &lt;label for="name"&gt;Name:&lt;/label&gt;
+ &lt;input type="text" id="name" name="user_name" /&gt;
+ &lt;/div&gt;
+ &lt;div&gt;
+ &lt;label for="mail"&gt;E-mail:&lt;/label&gt;
+ &lt;input type="email" id="mail" name="user_mail" /&gt;
+ &lt;/div&gt;
+ &lt;div&gt;
+ &lt;label for="msg"&gt;Message:&lt;/label&gt;
+ &lt;textarea id="msg" name="user_message"&gt;&lt;/textarea&gt;
+ &lt;/div&gt;
+&lt;/form&gt;</pre>
+
+<p>De {{HTMLelement("div")}} elementen dienen om de code eenvoudig te structureren en om de stijl gemakkelijk aan te passen (zie verder). Let op het gebruik van het <em>for </em>attribuut<em> </em>in alle {{HTMLelement("label")}} elementen. Dit is een formele manier om een label aan een formulier te linken. Dit attribuut verwijst naar de<em> id </em>van de overeenkomstige widget. Dit wordt onder andere gedaan opdat de gebruiker op het label kan klikken om de widget te activeren. Andere redenen zijn beschreven in het artikel: <a href="/en-US/docs/HTML/Forms/How_to_structure_an_HTML_form" title="/en-US/docs/HTML/Forms/How_to_structure_an_HTML_form">How to structure an HTML form</a>.</p>
+
+<p>Voor het {{HTMLelement("input")}} element is het belangrijkste attribuut het <code>type</code> attribuut. Dit attribuut bepaalt hoe het {{HTMLelement("input")}} element zich gedraagt. Dit verdient de nodig aandacht omdat de gevolgen ingrijpend kunnen zijn. Het artikel <a href="/en-US/docs/HTML/Forms/The_native_form_widgets" rel="external" title="/en-US/docs/HTML/Forms/The_native_forms_widgets">native form widgets</a> geeft meer details hierover. In het voorbeeld wordt de waarde <code>text </code>gebruikt omdat dit de defaultwaarde is voor dit attribuut. Zo accepteert het tekstveld elke tekst zonder verdere controle of validatie. Met de waarde <code>email</code> wordt een tekstveld gedefiniëerd dat alleen een juist gevormd e-mailadres aanvaardt. Dus met dit laatste wordt het tekstveld omgevormd tot een soort intelligent veld dat enkele controles uitvoert op de gegevens die de gebruiker ingeeft. Meer details over validatie van formulieren is te vinden in het artikel <a href="/en-US/docs/HTML/Forms/Data_form_validation" title="/en-US/docs/HTML/Forms/Data_form_validation">Form data validation</a>.</p>
+
+<p>Tenslotte iets over de syntax  <code>&lt;input /&gt;</code> vs. <code>&lt;textarea&gt;&lt;/textarea&gt;</code>. Dit is een van de eigenaardigheden van HTML. Het element <code>&lt;input&gt;</code> is een element dat zichzelf afsluit. Dit wil zeggen dat, indien de gebruiker het element formeel wil sluiten, hijzelf "<em>/</em>"  moet toevoegen op het einde van het element. {{HTMLElement("textarea")}} daarentegen is geen element dat zichzelf afsluit zodat de gebruiker zelf moet zorgen voor de juiste afsluiting.  Dit heeft invloed op een specifieke eigenschap van HTML formulieren: de manier waarop de defaultwaarde wordt bepaald. Om de defaultwaarde van een {{HTMLElement("input")}} element te bepalen moet het  <code>value</code> attribuut als volgt gebruikt worden:</p>
+
+<pre class="brush:html;">&lt;input type="text" value="by default this element is filled with this text" /&gt;</pre>
+
+<p>Om daarentegen de defaultwaarde  van een {{HTMLElement("textarea")}} element op te geven moet deze waarde tussen begin- en eindtag van het {{HTMLElement("textarea")}} element opgegeven worden:</p>
+
+<pre class="brush:html;">&lt;textarea&gt;by default this element is filled with this text&lt;/textarea&gt;</pre>
+
+<h3 id="En_tenslotte_om_te_eindigen_een_HTMLelement(button)">En tenslotte om te eindigen een {{HTMLelement("button")}}</h3>
+
+<p>Er moet alleen nog een knop toevoegd worden om de gebruiker toe te laten zijn bericht te verzenden zodra het formulier ingevuld is. Dit gebeurt met het {{HTMLelement("button")}} element:</p>
+
+<pre class="brush:html;">&lt;form action="/my-handling-form-page" method="post"&gt;
+ &lt;div&gt;
+ &lt;label for="name"&gt;Name:&lt;/label&gt;
+ &lt;input type="text" id="name" name="user_name" /&gt;
+ &lt;/div&gt;
+ &lt;div&gt;
+ &lt;label for="mail"&gt;E-mail:&lt;/label&gt;
+ &lt;input type="email" id="mail" name="user_mail" /&gt;
+ &lt;/div&gt;
+ &lt;div&gt;
+ &lt;label for="msg"&gt;Message:&lt;/label&gt;
+ &lt;textarea id="msg" name="user_message"&gt;&lt;/textarea&gt;
+ &lt;/div&gt;
+
+ &lt;div class="button"&gt;
+ &lt;button type="submit"&gt;Send your message&lt;/button&gt;
+ &lt;/div&gt;
+&lt;/form&gt;</pre>
+
+<p>Er zijn drie types van knoppen: <code>submit</code>, <code>reset</code>, en <code>button</code>.</p>
+
+<ul>
+ <li><code>submit</code> zendt de gegevens naar de webpagina die bepaalt wordt door het <code>action</code> attribuut van het {{HTMLelement("form")}} element.</li>
+ <li>De <code>reset</code> knop resets alle widges naar hun defaultwaarden. Vanuit het  het UX standpuntwordt dit niet aangeraden.</li>
+ <li>Klikken op een <code>button</code> knop doet in eerste instantie niets maar dat is verbazend nuttig omdat met JavaScript de gebruiker deze toets elke funktie kan geven.</li>
+</ul>
+
+<p>Met het {{HTMLElement("input")}} element en met het corresponderende  type kan ook een knop gegenereerd worden. Het grote verschil met het {{HTMLelement("button")}} element is dat het {{HTMLelement("input")}} element slechts gewone tekst als label toestaat terwijl het {{HTMLelement("button")}} element volledige HTML inhoud accepteert als label.</p>
+
+<h2 id="De_zaken_mooier_maken_met_CSS">De zaken mooier maken met CSS</h2>
+
+<p>Nu het HTML formuler klaar is kan het bekeken worden in een browser. Maar het ziet er niet erg netjes uit.</p>
+
+<p><img alt="" src="/files/4049/form-no-style.png" style="height: 170px; width: 534px;"></p>
+
+<p>Met een CSS stylesheet kan het wat netter gemaakt worden.</p>
+
+<p>Om te beginnen het formulier zelf. Het kan gecentreerd worden en er kan een boord rond getrokken worden:</p>
+
+<pre class="brush:css;">form {
+ /* Just to center the form on the page */
+ margin: 0 auto;
+ width: 400px;
+ /* To see the outline of the form */
+ padding: 1em;
+ border: 1px solid #CCC;
+ border-radius: 1em;
+}</pre>
+
+<p>Dan kan er wat ruimte ingevoegd worden tussen de widgets:</p>
+
+<pre class="brush:css;">form div + div {
+ margin-top: 1em;
+}</pre>
+
+<p>Om een formulier leesbaar te maken is het aangeraden om alle labels dezelfde grootte te geven en ze uit te lijnen aan dezelfde zijde. Hier zullen we ze rechts uitlijnen. Maar soms is links uitlijnen ook goed.</p>
+
+<pre class="brush:css;">label {
+ /* To make sure that all labels have the same size and are properly aligned */
+ display: inline-block;
+ width: 90px;
+ text-align: right;
+}</pre>
+
+<p>Het moeilijkste met HTML formulieren is de styling van de HTML widgets zelf. Tekstvelden zijn nog gemakkelijk te stylen maar bij andere widgets is dat niet zo. Meer over stylen van HTML widgets is te vinden in <a href="/en-US/docs/HTML/Forms/Styling_HTML_forms" title="/en-US/docs/HTML/Forms/Styling_HTML_forms">Styling HTML forms</a>.</p>
+
+<p>Hier worden enkele klassieke zaken gestyled: fonts, grootte en randen:</p>
+
+<pre class="brush:css;">input, textarea {
+ /* To make sure that all text fields have the same font settings
+ By default, textareas have a monospace font */
+ font: 1em sans-serif;
+
+ /* To give the same size to all text field */
+ width: 300px;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+
+ /* To harmonize the look &amp; feel of text field border */
+ border: 1px solid #999;
+}</pre>
+
+<p>HTML formulieren ondersteunen een aantal pseudoklassen om de toestand van elk element te beschrijven. Bijvoorbeeld het <span class="ng-binding text">highlighten van een aktieve widget geeft aan waar de gebruiker zich bevindt in het formulier.</span></p>
+
+<pre class="brush:css;">input:focus, textarea:focus {
+ /* To give a little highlight on active elements */
+ border-color: #000;
+}</pre>
+
+<p>Tekstvelden met meerdere regels hebben hun eigen stijlen. Het  {{HTMLElement("textarea")}} element is standaard een inline blok waarvan de onderkant uitgelijnd is met basislijn van de tekst. Dit is meestal niet wat men wil. Om het label en het veld uit te lijnen moet de <code>vertical-align</code> eigenschap van het {{HTMLElement("textarea")}} gewijzigd worden naar <code>top</code>.</p>
+
+<p>Let ook op de <code>resize</code> eigenschap die toelaat de grootte van het  {{HTMLelement("textarea")}} element aan te passen.</p>
+
+<pre class="brush:css;">textarea {
+ /* To properly align multiline text fields with their labels */
+ vertical-align: top;
+
+ /* To give enough room to type some text */
+ height: 5em;
+
+ /* To allow users to resize any textarea vertically
+ It does not work on all browsers */
+ resize: vertical;
+}</pre>
+
+<p>In vele gevallen vereisen de knoppen ook een of andere stijl. Daarvoor worden zij in een {{HTMLelement("div")}} geplaatst met een buttonklasse. Hier wordt de knop uitgelijnd met de andere widgets. Om dat te doen wordt een vitueel  {{HTMLelement("label")}} geplaatst. Dit wordt gedaan door marges en uitvulling te gebruiken.</p>
+
+<pre class="brush:css;">.button {
+ /* To position the buttons to the same position of the text fields */
+ padding-left: 90px; /* same size as the label elements */
+}
+button {
+ /* This extra margin represent roughly the same space as the space
+ between the labels and their text fields */
+ margin-left: .5em;
+}</pre>
+
+<p>Nu ziet hetformulier er veel mooier uit.</p>
+
+<p><img alt="" src="/files/4051/form-style.png" style="height: 260px; width: 900px;"></p>
+
+<h2 id="Verzenden_van_de_gegevens_naar_de_server">Verzenden van de gegevens naar de server</h2>
+
+<p>De laatste stap is misschien de moeilijkste. Dit is de verwerking van de formuliergegevens aan de kant van de server. Zoals gezegd is een HTML formulier meestal een eenvoudige manier om de gebruiker te vragen naar gegevens en deze naar de webserver te sturen.</p>
+
+<p>Het {{HTMLelement("form")}} element bepaalt waar en hoe de gegevens moeten verstuurd worden door de <code>action</code> en de <code>method</code> attributen.</p>
+
+<p>Maar dat is niet voldoende. De gegevens moeten ook een naam krijgen. Deze naam is belangrijk aan beide zijden. Aan de kant van de browser wordt aan ieder stukje data een naam gegeven en aan de kant van de server wordt ieder stukje aan de hand van zijn naam behandeld.</p>
+
+<p>Dus om de gegevens een naam te geven wordt een <code>name</code> attribuut gebruikt bij elke widget die een specifiek stuk data produceert:</p>
+
+<pre class="brush:html;">&lt;form action="/my-handling-form-page" method="post"&gt;
+ &lt;div&gt;
+ &lt;label for="name"&gt;Name:&lt;/label&gt;
+ &lt;input type="text" id="name" name="user_name" /&gt;
+ &lt;/div&gt;
+ &lt;div&gt;
+ &lt;label for="mail"&gt;E-mail:&lt;/label&gt;
+ &lt;input type="email" id="mail" name="user_email" /&gt;
+ &lt;/div&gt;
+ &lt;div&gt;
+ &lt;label for="msg"&gt;Message:&lt;/label&gt;
+ &lt;textarea id="msg" name="user_message"&gt;&lt;/textarea&gt;
+ &lt;/div&gt;
+
+ &lt;div class="button"&gt;
+ &lt;button type="submit"&gt;Send your message&lt;/button&gt;
+ &lt;/div&gt;
+&lt;/form&gt;</pre>
+
+<p>In ons formulier worden 3 stuks data verzonden genaamd "<code>user_name</code>", "<code>user_email</code>" en "<code>user_message</code>". Deze gegevens worden verstuurd naar de URL "<code>/my-handling-form-page</code>"  met de HTTP POST methode.</p>
+
+<p>Op de server zal de script op de URL "<code>/my-handling-form-page</code>" de gegevens ontvangen als 3 waarden die ingesloten zijn in het HTTP verzoek. De gebruiker is verantwoordelijk hoe het script de gegevens behandelt. Elke scripttaal aan de kant van de server (PHP, Python, Ruby, Java, C#, enz.) heeft haar eigen mechanisme. Het is buiten het bestek van deze gids om dieper op dit onderwerp in te gaan maar er zijn enkele voorbeelden te vinden in het artikel <a href="/en-US/docs/HTML/Forms/Sending_and_retrieving_form_data" title="/en-US/docs/HTML/Forms/Sending_and_retrieving_form_data"><span>Sending and retrieving form data</span></a>.</p>
+
+<h2 id="Tenslotte">Tenslotte</h2>
+
+<p>Proficiat. Ons eerste HTML formulier is klaar. Hier is een live voorbeeld.</p>
+
+<table style="height: 267px; width: 772px;">
+ <thead>
+ <tr>
+ <th scope="col" style="text-align: center;">Live voorbeeld</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{ EmbedLiveSample('A_simple_form', '460', '240', '', 'Web/Guide/HTML/Forms/My_first_HTML_form/Example') }}</td>
+ </tr>
+ <tr>
+ </tr>
+ </tbody>
+</table>
+
+<p>Het is nu tijd om dieper op deze materie in te gaan. HTML formulieren kunnen veel meer dan wat we hier beschreven hebben. Dit wordt beschreven in <a href="/en-US/docs/HTML/Forms" title="/en-US/docs/HTML/Forms">the other articles of this guide.</a></p>
diff --git a/files/nl/learn/html/index.html b/files/nl/learn/html/index.html
new file mode 100644
index 0000000000..773c3732ba
--- /dev/null
+++ b/files/nl/learn/html/index.html
@@ -0,0 +1,56 @@
+---
+title: HTML
+slug: Learn/HTML
+tags:
+ - Beginner
+ - Coderen
+ - Gids
+ - HTML
+ - Introductie
+ - Leren
+translation_of: Learn/HTML
+---
+<div>{{LearnSidebar}}</div>
+
+<p class="summary">Om websites te bouwen moet u kennis hebben van {{Glossary('HTML')}} — de fundamentele technologie die wordt gebruikt om de structuur van een webpagina te definiëren. HTML wordt gebruikt om te specificeren of de inhoud van uw webpagina moet worden herkend als een paragraaf, titel, hoofding, link, afbeelding, multimediaspeler, formulier, of één van de vele andere beschikbare elementen, of zelfs een nieuw element dat u zelf definieert.</p>
+
+<h2 id="Leertraject">Leertraject</h2>
+
+<p>Idealiter begint u met uw leertraject door HTML te leren. U kunt beginnen door <a href="/nl/docs/Learn/HTML/Introduction_to_HTML">Een inleiding op HTML</a> te lezen. Daarna kunt u verder leren over ingewikkeldere onderwerpen zoals:</p>
+
+<ul>
+ <li><a href="/nl/docs/Learn/CSS">CSS</a>, en hoe u het kunt gebruiken om vorm te geven aan HTML-elementen. Voorbeelden hiervan zijn het wijzigen van de lettergrootte en het lettertype van een tekst, het toevoegen van randen en slagschaduwen, het maken van een layout met meerdere kolommen, en het toevoegen van animaties en andere visuele effecten.</li>
+ <li><a href="/nl/docs/Learn/JavaScript">JavaScript</a>, en hoe u het kunt gebruiken om dynamische functionaliteit toe te voegen aan webpagina's. Voorbeelden hiervan zijn het vinden van uw locatie en het weergeven van deze locatie op een kaart, het laten verschijnen en verdwijnen van UI-elementen wanneer u gebruik maakt van een wisselknop, het lokaal opslaan van informatie van gebruikers op hun computer, en heel veel meer.</li>
+</ul>
+
+<p>Voordat u begint met dit onderwerp, zult u op zijn minst bekend moeten zijn met het gebruik van computers en het passief gebruiken van het web (oftewel het gewoon bekijken, de inhoud consumeren). U hebt een basisopstelling nodig waarmee u kunt werken, zoals gespecificeerd in <a href="/nl/docs/Learn/Getting_started_with_the_web/Basis_software_installeren">Basissoftware installeren</a>, en u zult moeten begrijpen hoe u bestanden kunt aanmaken en beheren, zoals gespecificeerd in <a href="/nl/docs/Learn/Getting_started_with_the_web/Bestanden_beheren">Omgaan met bestanden</a> — beide zijn onderdeel van onze volledige beginnersmodule genaamd <a href="/nl/docs/Learn/Getting_started_with_the_web">Van start met het web</a>.</p>
+
+<p>Het wordt aangeraden dat u begint met <a href="/nl/docs/Learn/Getting_started_with_the_web">Van start met het web</a> voordat u verder gaat met dit onderwerp, hoewel het niet noodzakelijk is. Veel van wat wordt besproken in <a href="/nl/docs/Learn/Getting_started_with_the_web/HTML_basisbegrippen">De basisbegrippen van HTML</a> wordt ook besproken in de module <a href="/nl/docs/Learn/HTML/Introduction_to_HTML">Een inleiding op HTML</a>, hoewel de laatstgenoemde module veel gedetailleerder is.</p>
+
+<h2 id="Modules">Modules</h2>
+
+<p>Dit onderwerp bevat de volgende modules, die in een voorgestelde volgorde staan om er doorheen te werken. U kunt het beste beginnen met de eerste module.</p>
+
+<dl>
+ <dt><a href="/en-US/docs/Web/Guide/HTML/Introduction">Introductie tot HTML</a></dt>
+ <dd>Deze module is het startpunt, waarbij u bekend wordt met belangrijke concepten en syntax, bekijkt hoe u HTML op tekst kunt toepassen, leert hoe u hyperlinks kunt maken en leert hoe u HTML kunt gebruiken om een webpagina te structureren.</dd>
+ <dt><a href="/nl/docs/Learn/HTML/Multimedia_inbedden">Multimedia inbedden</a></dt>
+ <dd>Deze module geeft inzicht over hoe HTML kan worden gebruikt om multimedia in te voegen in uw webpagina's, de verschillende manieren waarop afbeeldingen kunnen worden ingevoegd en hoe video, audio en zelfs andere webpagina's kunnen worden ingebed.</dd>
+ <dt><a href="/nl/Learn/HTML/Tables">Tabellen in HTML</a></dt>
+ <dd>Het weergeven van informatie in tabelweergave op een {{glossary("Toegankelijkheid", "toegankelijke")}} manier kan een uitdaging zijn. Deze module legt de basis van de opmaak van tabellen uit, samen met ingewikkeldere functies zoals het implementeren van onderschriften en samenvattingen.</dd>
+ <dt><a href="/nl/Learn/HTML/Formulieren">Formulieren in HTML</a></dt>
+ <dd>Formulieren zijn een heel belangrijk gedeelte van het web — ze zijn onderdeel van de functionaliteit die u nodig hebt voor de interactie met websites, zoals registreren en inloggen, feedback verzenden, producten kopen, en meer. Met behulp van deze module kunt u beginnen met het maken van gedeeltes van formulieren, die nodig zijn aan de clientkant.</dd>
+</dl>
+
+<h2 id="Veelvoorkomende_problemen_met_HTML_oplossen">Veelvoorkomende problemen met HTML oplossen</h2>
+
+<p><a href="/en-US/docs/Learn/HTML/Howto">HTML gebruiken voor het oplossen van veelvoorkomende problemen</a> bevat links naar secties met inhoud die uitleggen hoe HTML kan worden gebruikt om veelvoorkomende problemen op te lossen wanneer u een webpagina maakt: Hoe gaat u met titels om, hoe voegt u afbeeldingen of video's toe, hoe benadrukt u inhoud, hoe maakt u een eenvoudig formulier, enzovoort.</p>
+
+<h2 id="Zie_ook">Zie ook</h2>
+
+<div class="document-head" id="wiki-document-head">
+<dl>
+ <dt><a href="/nl/docs/Web/HTML">HTML (HyperText Markup Language)</a> op MDN</dt>
+ <dd>Het vertrekpunt voor documentatie over HTML op MDN, met daarin gedetailleerde referenties naar elementen en attributen. Als u bijvoorbeeld wilt weten welke attributen een element heeft of welke waarden een attribuut heeft, is dit een goede plek om te beginnen.</dd>
+</dl>
+</div>
diff --git a/files/nl/learn/html/introduction_to_html/document_and_website_structure/index.html b/files/nl/learn/html/introduction_to_html/document_and_website_structure/index.html
new file mode 100644
index 0000000000..b4c704e92c
--- /dev/null
+++ b/files/nl/learn/html/introduction_to_html/document_and_website_structure/index.html
@@ -0,0 +1,266 @@
+---
+title: De structuur van je document en je website
+slug: Learn/HTML/Introduction_to_HTML/Document_and_website_structure
+translation_of: Learn/HTML/Introduction_to_HTML/Document_and_website_structure
+---
+<div>{{LearnSidebar}}</div>
+
+<div>{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/Advanced_text_formatting", "Learn/HTML/Introduction_to_HTML/Debugging_HTML", "Learn/HTML/Introduction_to_HTML")}}</div>
+
+<p class="summary">Behalve de definitie van individuele delen van je pagina (zoals "een paragraaf" of  "een afbeelding"), biedt {{glossary("HTML")}} ook een aantal elementen op blokniveau aan waarmee je gebieden van je website kan definiëren (zoals "de hoofding", "het navigatiemenu" en "de kolom met de belangrijkste inhoud"). Met dit artikel kan je leren hoe je de structuur van een eenvoudige website kunt plannen en hoe je de HTML kan schrijven om deze structuur op te zetten.</p>
+
+<table class="learn-box standard-table">
+ <tbody>
+ <tr>
+ <th scope="row">Vereisten:</th>
+ <td>Basiskennis HTML, aangeboden in <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started">Beginnen met HTML</a>. Kennis over HTML tekstopmaak aangeboden in <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals">HTML tekst : basispricipes</a>. Hoe hyperlinks werken zoals besproken in <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks">Hyperlinks maken</a>.</td>
+ </tr>
+ <tr>
+ <th scope="row">Doel:</th>
+ <td>Je leert hoe je je document met semantische tags kan structureren en hoe je de structuur van een eenvoudige website kan maken.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Standaardsecties_van_een_document">Standaardsecties van een document</h2>
+
+<p>Webpagina's kunnen en zullen heel wat van elkaar verschillen, maar de meeste zullen een aantal gelijkaardige standaardcomponenten weergeven, behalve als de pagina een video of spel weergeeft die het volledige scherm beslaat, als de pagina onderdeel is van één of ander artistiek project of als die gewoon slecht is gestructureerd.</p>
+
+<dl>
+ <dt>hoofding (header)</dt>
+ <dd>Meestal is dit een grote brede band aan de bovenkant van de pagina met een grote koptekst en/of een logo. Dit is waar je de belangrijkste en bekendste informatie vindt, en meestal wordt die constant over alle webpagina's van je website weergegeven.</dd>
+ <dt>navigatiebalk (navigation bar)</dt>
+ <dd>De navigatiebalk bevat links naar de belangrijkste secties van de site. Meestal worden die weergegeven door menuknoppen, links of tabpagina's. Zoals de hoofding blijft de inhoud meestal constant op alle webpagina's. Als de navigatie op je website niet consistent is, zal dit enkel tot verwarde en gefrustreerde gebruikers leiden. Vele webontwikkelaars beschouwen de navigatiebalk als onderdeel van de hoofding in plaats van als een individueel onderdeel, maar dat is geen vereiste. In feite zijn er ook die vinden dat het beter is om de twee gescheiden te houden omdat ze zo veel  <a href="/en-US/docs/Learn/Accessibility">toegankelijker</a> zijn voor schermlezers, die de twee onderdelen beter kunnen lezen als ze apart in de website bestaan.</dd>
+ <dt>belangrijkste inhoud (main content)</dt>
+ <dd>Dit is een groot gebied in het midden van de pagina die de meeste unieke inhoud van de webpagina bevat. Dit kan bijvoorbeeld een video zijn die je wil bekijken of het belangrijkste verhaal dat je wil lezen, de kaart die je wil bekijken, de nieuwskoppen enz.  Dit deel van de website zal zeker variëren van pagina tot pagina!</dd>
+ <dt>zijbalk (sidebar)</dt>
+ <dd>In de zijbalk staan links, perifere info, citaten, advertenties enz. Meestal bevinden de belangrijkste en de perifere inhoud zich binnen dezelfde context (Op de pagina van een nieuwsartikel bijvoorbeeld kan de zijbalk een biografie van de auteur bevatten of links naar gerelateerde artikelen). Er zijn ook pagina's waarin de zijbalk wordt gebruikt voor terugkerende elementen zoals een secundair navigatiesysteem.</dd>
+ <dt>voettekst (footer)</dt>
+ <dd>Een band die langs de onderkant van de pagina loopt en die in het algemeen de kleine lettertjes bevat, auteursrechtvermeldingen of contactinformatie. Het is een plek waar je algemene informatie kan plaatsen (zoals in de hoofding) maar die dan meestal niet van al te groot belang is of gewoon ondergeschikt aan de info die je in de belangrijkste inhoud terugvindt.  De voettekst wordt soms ook voor {{Glossary("SEO")}}-doeleinden gebruikt door links te verschaffen die zorgen voor een snelle toegang tot populaire inhoud.</dd>
+ <dd>Een "typische website" zou ongeveer zo kunnen worden opgezet:</dd>
+</dl>
+
+<p><img alt="a simple website structure example featuring a main heading, navigation menu, main content, side bar, and footer." src="https://mdn.mozillademos.org/files/12417/sample-website.png" style="display: block; margin: 0 auto;"></p>
+
+<h2 id="HTML_voor_het_structureren_van_de_inhoud">HTML voor het structureren van de inhoud</h2>
+
+<p>Het eenvoudige voorbeeld dat we hierboven tonen is niet mooi, maar als de illustratie van de lay-out van een typische website is het echt wel oké. Sommige websites hebben meer kolommen, sommige zijn veel complexer maar je begrijpt wat ik bedoel. Met de juiste CSS, kan je ongeveer elk element rond de verschillende secties plaatsen en je webpagina er toch laten uitzien zoals je zelf wil. Maar, zoals we al eerder hebben gezegd, het is belangrijk dat je de semantiek respecteert en dat je<strong> het juiste element voor de juiste job gebruikt.</strong></p>
+
+<p>Visuele elementen vertellen namelijk niet het volledig verhaal. We gebruiken kleuren en tekstgrootte om de aandacht van de gebruikers op de nuttigste onderdelen van de inhoud te vestigen, zoals het navigatiemenu en gerelateerde links, maar wat bijvoorbeeld met mensen die een visuele beperking hebben en die concepten zoals "roze" en een "groot letterype" niet erg nuttig vinden?</p>
+
+<div class="note">
+<p><strong>Opmerking</strong>: Kleurenblinde mensen vertegenwoordigen ongeveer <a href="http://www.color-blindness.com/2006/04/28/colorblind-population/">8% van de wereldbevolking</a>. Blinde en visueel beperkte mensen maken ruwweg 4-5% van de wereldbevolking uit. (In 2012 waren er <a href="https://en.wikipedia.org/wiki/Visual_impairment">285 millioen zulke mensen in de wereld</a>, terwijl de volledige bevolking toen <a href="https://en.wikipedia.org/wiki/World_human_population#/media/File:World_population_history.svg">rond 7 miljard</a> besloeg.)</p>
+</div>
+
+<p>In je HTML-code kan je de opmaak van secties baseren op hun <em>functionaliteit.</em> Je kan ondubbelzinnige elementen gebruiken die deze secties vertegenwoordigen. Ondersteunende technologieën zoals schermlezers kunnen die elementen herkennen en de gebruiker helpen met allerlei taken. Dat zou "vind de belangrijkste navigatiebalk" kunnen zijn of "vind de belangrijkste inoud". Zoals we al eerder in de cursus hebben vermeld hangen er een aantal <a href="/en-US/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals#Why_do_we_need_structure">gevolgen aan vast als je niet de juiste elementstructuur en semantiek voor de juise job</a> gebruikt.</p>
+
+<p>Om zulk een semantische opmaak toe te passen, verschaft HTML ons een aantal tags die speciaal voor dat doel zijn ontworpen en die je kan gebruiken. Bijvoorbeeld:</p>
+
+<ul>
+ <li><strong>hoofding: </strong>{{htmlelement("header")}}.</li>
+ <li><strong>navigatiebalk: </strong>{{htmlelement("nav")}}.</li>
+ <li><strong>belangrijkste inhoud: </strong>{{htmlelement("main")}}, met verschillende subsecties die worden vertegenwoordigd door {{HTMLElement("article")}}, {{htmlelement("section")}}, en {{htmlelement("div")}} elementen.</li>
+ <li><strong>zijbalk: </strong>{{htmlelement("aside")}}; wordt vaak binnen het {{htmlelement("main")}}-element geplaatst.</li>
+ <li><strong>voettekst: </strong>{{htmlelement("footer")}}.</li>
+</ul>
+
+<h3 id="Actief_leren_we_onderzoeken_de_code_voor_ons_voorbeeld">Actief leren: we onderzoeken de code voor ons voorbeeld</h3>
+
+<p>Het voorbeeld dat je hierboven hebt gezien wordt gegenereerd door de code hieronder. (Je kan <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/document_and_website_structure/index.html">het voorbeeld ook in onze Github repo vinden</a>). Bekijk het voorbeeld hierboven en dan de code hieronder en ontdek welke code-onderdelen overeenstemmen met welke secties in het visuele voorbeeld.</p>
+
+<pre class="brush: html">&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+ &lt;head&gt;
+ &lt;meta charset="utf-8"&gt;
+
+ &lt;title&gt;Mijn paginatitel&lt;/title&gt;
+ &lt;link href="https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300|Sonsie+One" rel="stylesheet" type="text/css"&gt;
+ &lt;link rel="stylesheet" href="style.css"&gt;
+
+ &lt;!-- De drie regels hieronder zijn een noodoplossing om ervoor te zorgen dat semantische elementen van HTML5 ook werken in de oude versies van Internet Explorer--&gt;
+ &lt;!--[if lt IE 9]&gt;
+ &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.js"&gt;&lt;/script&gt;
+ &lt;![endif]--&gt;
+ &lt;/head&gt;
+
+ &lt;body&gt;
+ &lt;!-- Hier is onze belangrijkste hoofding die op alle pagina's van onze website wordt gebruikt. --&gt;
+
+ &lt;header&gt;
+ &lt;h1&gt;Hoofding&lt;/h1&gt;
+ &lt;/header&gt;
+
+ &lt;nav&gt;
+ &lt;ul&gt;
+ &lt;li&gt;&lt;a href="#"&gt;Startpagina&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="#"&gt;Ons team&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="#"&gt;Projecten&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
+ &lt;/ul&gt;
+
+ &lt;!-- Een zoekformulier is een andere niet-lineaire manier om in een website te navigeren. --&gt;
+
+ &lt;form&gt;
+ &lt;input type="search" name="q" placeholder="Zoekopdracht"&gt;
+ &lt;input type="submit" value="Start!"&gt;
+ &lt;/form&gt;
+ &lt;/nav&gt;
+
+ &lt;!-- Hier vindt je de belangrijkste inhoud van onze pagina. --&gt;
+ &lt;main&gt;
+
+ &lt;!-- Het bevat een artikel --&gt;
+ &lt;article&gt;
+ &lt;h2&gt;Hoofding van het artikel&lt;/h2&gt;
+
+ &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit. Donec a diam lectus. Set sit amet ipsum mauris. Maecenas congue ligula as quam viverra nec consectetur ant hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur.&lt;/p&gt;
+
+ &lt;h3&gt;Subsectie&lt;/h3&gt;
+
+ &lt;p&gt;Donec ut librero sed accu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor.&lt;/p&gt;
+
+ &lt;p&gt;Pelientesque auctor nisi id magna consequat sagittis. Curabitur dapibus, enim sit amet elit pharetra tincidunt feugiat nist imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros.&lt;/p&gt;
+
+ &lt;h3&gt;Nog een subsectie&lt;/h3&gt;
+
+ &lt;p&gt;Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum soclis natoque penatibus et manis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est.&lt;/p&gt;
+
+ &lt;p&gt;Vivamus fermentum semper porta. Nunc diam velit, adipscing ut tristique vitae sagittis vel odio. Maecenas convallis ullamcorper ultricied. Curabitur ornare, ligula semper consectetur sagittis, nisi diam iaculis velit, is fringille sem nunc vet mi.&lt;/p&gt;
+ &lt;/article&gt;
+
+ &lt;!-- De inhoud van de zijbalk kan ook in de belangrijkste inhoud worden genest. --&gt;
+ &lt;aside&gt;
+ &lt;h2&gt;Gerelateerd&lt;/h2&gt;
+
+ &lt;ul&gt;
+ &lt;li&gt;&lt;a href="#"&gt;Oh wat ben ik toch graag aan de kust.&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="#"&gt;Oh wat ben ik toch graag dicht bij de zee.&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="#"&gt;Maar in het Noorden van Engeland&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="#"&gt;Houdt het nooit op met regenen&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="#"&gt;Ach ja...&lt;/a&gt;&lt;/li&gt;
+ &lt;/ul&gt;
+ &lt;/aside&gt;
+
+ &lt;/main&gt;
+
+ &lt;!-- En hier is onze belangrijkste voettekst die op alle pagina's van onze website wordt gebruikt. --&gt;
+
+ &lt;footer&gt;
+ &lt;p&gt;©Copyright 2050 door helemaal niemand. Alle rechten omgedraaid.&lt;/p&gt;
+ &lt;/footer&gt;
+
+ &lt;/body&gt;
+&lt;/html&gt;</pre>
+
+<p>Neem je tijd om de code te bekijken en te begrijpen — de commentaren in de code zouden je moeten helpen. We vragen je niet om iets anders te doen in dit artikel. Als je de lay-out van een document goed wil begrijpen, moet je een gezonde HTML-structuur schrijven en die dan weergeven met CSS. We wachten ermee tot je CSS-layout gaat studeren (dat vind je in het hoofdstuk over CSS).</p>
+
+<h2 id="HTML_layout-elementen_in_groter_detail">HTML layout-elementen in groter detail</h2>
+
+<p>Het is goed om de algemene betekenis van alle HTML-sectie-elementen in detail te begrijpen. — Dit zal beetje bij beetje komen terwijl je ervaring opdoet met webontwikkeling.  Je kan veel details vinden in onze <a href="/en-US/docs/Web/HTML/Element">HTML element reference</a>. Nu is het belangrijk dat je probeert deze belangrijkste definities te begrijpen:</p>
+
+<ul>
+ <li>{{HTMLElement('main')}} is voor inhoud die <em>uniek is op deze pagina.</em> Gebruik <code>&lt;main&gt;</code> slechts <em>een keer </em>per pagina en plaats die onmiddellijk in {{HTMLElement('body')}}. Je kan dit element best niet nesten in andere elementen.</li>
+ <li>{{HTMLElement('article')}} omhult een blok van gerelateerde inhoud die op zichzelf zinvol blijft zonder de aanwezigheid van de rest van de pagina.</li>
+ <li>{{HTMLElement('section')}} lijkt op <code>&lt;article&gt;</code> maar het wordt gebruikt om één deel van de pagina te groeperen. Dit deel heeft één enkel functioneel doel (bijvoorbeeld een mini-map of een reeks nieuwskoppen en hun samenvatting) Het wordt als een aanbevolen praktijk beschouwd om elke secie met een <a href="/en-US/Learn/HTML/Howto/Set_up_a_proper_title_hierarchy">koptekst</a> (of heading) te beginnen. Merk ook op dat je <code>&lt;article&gt;</code>-elementen kan opdelen in andere <code>&lt;section&gt;</code>-elementen, of <code>&lt;section&gt;</code>-elementen in andere <code>&lt;article&gt;</code>-elementen, het hangt wat af van de context.</li>
+ <li>{{HTMLElement('aside')}} bevat inhoud die geen onmiddellijk verband houdt met de belangrijkste inhoud maar wel extra informatie kan verschaffen die er op een indirecte manier  mee is verbonden (lemma's in een woordenlijst,  biografie van de auteur, gerelateerde links enz.)</li>
+ <li>{{HTMLElement('header')}} vertegenwoordigt een groep inleidende inhoud. Als het een kind is van {{HTMLElement('body')}} definiëert het de globale hoofding van een webpagina, maar als het een kind is van een {{HTMLElement('article')}} of {{HTMLElement('section')}} definiëert het een specifieke hoofding voor die sectie (probeer dit niet te verwarring met <a href="/en-US/Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML#Adding_a_title">titles and headings</a> (i.e. titels en kopteksten))</li>
+ <li>{{HTMLElement('nav')}} bevat de belangrijkste navigerende functionaliteit voor die pagina. Secundaire links enz zouden niet in de navigatie mogen worden gestopt.</li>
+ <li>{{HTMLElement('footer')}} vertegenwoordig een groep met inhoud die op het einde van de webpagina past.</li>
+</ul>
+
+<h3 id="Elementen_zonder_semantische_betekenis">Elementen zonder semantische betekenis</h3>
+
+<p>Soms zal je in een situatie terechtkomen waarin je geen ideaal semantisch element kan vinden om een aantal onderdelen te groeperen of om één of andere inhoud te mee te omhullen. Soms zal je misschien een reeks elementen willen groeperen zodat ze er met wat {{glossary("CSS")}} of {{glossary("JavaScript")}} als één enkele entiteit gaan uitzien. Voor dat soort gevallen beschikt HTML over het {{HTMLElement("div")}}- en het {{HTMLElement("span")}}-element. Deze kan je best met een geschikt {{htmlattrxref('class')}}-attribuut gebruiken. Je kan ook één of ander label voor hen bedenken zodat ze gemakkelijk als doel van een selectie kunnen worden gebruikt.</p>
+
+<p>{{HTMLElement("span")}} is een inline niet-semantisch element dat je enkel zou mogen gebruiken als je echt geen beter semantisch tekstelement kunt bedenken om je inhoud mee in te pakken of als je geen extra betekenis wil toevoegen. Bijvoorbeeld:</p>
+
+<pre class="brush: html">&lt;p&gt;Om 01:00 stapte de dronken koning terug naar zijn kamer, het bier deed niets om hem te helpen
+terwijl hij door de deur waggelde&lt;span class="editor-note"&gt;[Opmerking van de redacteur: Op dit moment in het
+stuk, moeten de lichten worden gedimd]&lt;/span&gt;.&lt;/p&gt;</pre>
+
+<p>In dit geval moet de opmerking van de redacteur gewoon extra regie aan de regisseur van het stuk bieden. Het hoeft geen extra semantische betekenis te krijgen. Voor goedziende gebruikers, kan je CSS gebruiken om de opmerking een beetje te onderscheiden van de rest van de tekst.</p>
+
+<p>{{HTMLElement("div")}} is een niet-semantisch element op blokniveau, dat je enkel zou moeten gebruiken als je geen beter semantisch blokelement kan bedenken of geen specifieke betekenis wil toevoegen. Beeld je bijvoorbeeld een widget in de vorm van een winkelkarretje in, dat je op elk moment kan openen terwijl je je op een koopsite bevindt:</p>
+
+<pre class="brush: html">&lt;div class="winkelkarretje"&gt;
+ &lt;h2&gt;Winkelkarretje&lt;/h2&gt;
+ &lt;ul&gt;
+ &lt;li&gt;
+ &lt;p&gt;&lt;a href=""&gt;&lt;strong&gt;Zilveren oorbellen&lt;/strong&gt;&lt;/a&gt;: $99.95.&lt;/p&gt;
+ &lt;img src="../products/3333-0985/thumb.png" alt="zilveren oorbellen"&gt;
+ &lt;/li&gt;
+ &lt;li&gt;
+ ...
+ &lt;/li&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Totaal: $237.89&lt;/p&gt;
+&lt;/div&gt;</pre>
+
+<p>Dit is niet echt een <code>&lt;aside&gt;</code> want er is niet noodzakelijk een verband met de belangrijkste inhoud van de pagina (je wil de inhoud van dat karretje op elke pagina zichtbaar kunnen maken). Het rechtvaardigt ook niet echt het gebruik van een <code>&lt;section&gt;</code> want het vormt geen onderdeel van de belangrijkste inhoud van de pagina. In dit geval is een <code>&lt;div&gt;</code> dus prima. We hebben een koptekst toegevoegd die als een wegwijzer kan dienen zodat mensen met schermlezer de widget kunnen vinden.</p>
+
+<div class="warning">
+<p><strong>Waarschuwing</strong>: Divs zijn zo handig dat je ze nogal gemakkelijk te veel gaat gebruiken. Omdat ze geen semantische betekenis dragen, zullen ze je HTML-code snel rommelig maken. Wees voorzichtig en gebruik ze enkel als er geen betere semantische oplossing is en probeer het gebruik ervan tot een minimum te beperken; anders zal je veel werk moeten steken in het updaten en het onderhoud van je documenten.</p>
+</div>
+
+<h3 id="Regeleindes_en_horizontale_lijnen">Regeleindes en horizontale lijnen</h3>
+
+<p>{{htmlelement("br")}} en {{htmlelement("hr")}} zijn twee elementen die je nu en dan zal gebruiken en die je dus beter wil leren kennen :</p>
+
+<p><code>&lt;br&gt;</code> creërt een regeleinde in een paragraaf; het is de enige manier om een rigide structuur in een serie kort lijnen te dwingen, zoals in een postadres of een gedicht. Bijvoorbeeld:</p>
+
+<pre class="brush: html">&lt;p&gt;Er was eens een meisje en ze heette Nell&lt;br&gt;
+Die hield erg veel van HTML&lt;br&gt;
+Maar haar structuur was slecht, haar semantiek was droef&lt;br&gt;
+en haar opmaak was zo heel veel en erg stroef.&lt;/p&gt;</pre>
+
+<p>Zonder de <code>&lt;br&gt;</code>-elementen zou de paragraaf als een lange regel worden weergegeven (zoals we al eerder in de cursus hebben gezegd, <a href="/en-US/Learn/HTML/Introduction_to_HTML/Getting_started#Whitespace_in_HTML">HTML negeert de meeste witte ruimte</a>). Als je ze in de code stopt, geeft de opmaak dit weer:</p>
+
+<p>Er was eens een meisje en ze heette Nell<br>
+ Die hield erg veel van HTML<br>
+ Maar haar strutuur was slecht, haar semantiek was droef<br>
+ en haar opmaak was zo heel veel en erg stroef.</p>
+
+<p><code>&lt;hr&gt;</code>-elementen creëren een horizontale lijn in het document die een thematische verandering in de tekst aangeeft (zoals een ander onderwerp of een scène. Visueel ziet die er gewoon uit als een horizontale lijn. Dit is een voorbeeld:</p>
+
+<pre>&lt;p&gt;Ron werd in een hoek gedwongen door de plunderde onderbeesten. Bang, maar vastbesloten om zijn vrienden te beschermen, hief hij zijn toverstok en bereid om tot de aanval over te gaan, hoopte hij dat zijn noodoproep was aangekomen.&lt;/p&gt;
+&lt;hr&gt;
+&lt;p&gt;Intussen was Harry, die thuis was, naar zijn royalty verklaring aan het staren terwijl hij zich afvroeg wanneer de volgende spin off serie uit zou komen, toen een betoverde noodoproep door zijn venster vloog en in zijn schoot belandde. Hij las het snel door, sprong recht en zuchtte. "Ik kan maar beter terug aan het werk gaan", mijmerde hij.&lt;/p&gt;</pre>
+
+<p>Dit zou zo worden weergegeven:</p>
+
+<p>Ron werd in een hoek gedwongen door de plunderde onderbeesten. Bang, maar vastbesloten om zijn vrienden te beschermen, hief hij zijn toverstok en bereid om tot de aanval over te gaan, hoopte hij dat zijn noodoproep was aangekomen.</p>
+
+<hr>
+<p>Intussen was Harry, die thuis was, naar zijn royalty verklaring aan het staren terwijl hij zich afvroeg wanneer de volgende spin off serie uit zou komen, toen een betoverde noodoproep door zijn venster vloog en in zijn schoot belandde. Hij las het snel door, sprong recht en zuchtte. "Ik kan maar beter terug aan het werk gaan", mijmerde hij.</p>
+
+<h2 id="De_planning_van_een_eenvoudige_website">De planning van een eenvoudige website</h2>
+
+<p>Jbt gepland hoe de inhoud van je eenvoudige website eruit zal zien. De volgende logische stap is uit te werken welke inhoud je in de hele website zal steken, wat voor pagina's je nodig hebt en hoe ze moeten worden geordend en aan elkaar gelinkt om de beste gebruikerservaring mogelijk te maken. Dit noemen we {{glossary("Information architecture")}}. In een grote complexe website, kan er heel wat planning in dit proces worden gestoken maar voor een eenvoudige website van slechts een paar pagina's kan dit vrij simpel zijn en plezierig!</p>
+
+<ol>
+ <li>Denk eraan dat je een paar elementen hebt die vaak voorkomen in de meeste (misschien zelfs in alle) pagina's, zoals het navigatiemenu en de inhoud van de voettekst. Als je site bijvoorbeeld voor een zaak dient, is het een goed idee om je contactinformatie in de voettekst van elke pagina te steken. Noteer wat je op elke pagina terug wil zien komen <img alt="the common features of the travel site to go on every page: title and logo, contact, copyright, terms and conditions, language chooser, accessibility policy" src="https://mdn.mozillademos.org/files/12423/common-features.png" style="border-style: solid; border-width: 1px; display: block; height: 375px; margin: 0px auto; width: 600px;"></li>
+ <li>Vervolgens teken je een ruwe schets die toont hoe jij wil dat de structuur er op elke pagina zal uitzien (het zou er kunnen uitzien als onze simpele website hierboven). Noteer wat de functie van elk blok zal zijn. <img alt="A simple diagram of a sample site structure, with a header, main content area, two optional sidebars, and footer" src="https://mdn.mozillademos.org/files/12429/site-structure.png" style="border-style: solid; border-width: 1px; display: block; height: 232px; margin: 0px auto; width: 600px;"></li>
+ <li>Nu brainstorm je welke andere inhoud je op je website wil zien (inhoud die niet op elke pagina zal voorkomen). Maak er een grote lijst van en schrijf die op. <img alt="A long list of all the features that we could put on our travel site, from searching, to special offers and country-specific info" src="https://mdn.mozillademos.org/files/12425/feature-list.png" style="border-style: solid; border-width: 1px; display: block; height: 1066px; margin: 0px auto; width: 600px;"></li>
+ <li>De volgende stap is om all deze inhoudelijke componenten in groepen te sorteren. Op die manier krijg je een idee van welke onderdelen samen kunnen leven op de verscillende pagina's. Dit lijkt erg op een techniek die we {{glossary("Card sorting")}} noemen. <img alt="The items that should appear on a holiday site sorted into 5 categories: Search, Specials, Country-specific info, Search results, and Buy things" src="https://mdn.mozillademos.org/files/12421/card-sorting.png" style="border-style: solid; border-width: 1px; display: block; height: 579px; margin: 0px auto; width: 600px;"></li>
+ <li>Probeer nu een ruwe sitemap te schetsen - maak een bubbel voor elke pagina van je site en trek lijnen die de typische workflow tussen de verschillende pagina's toont. De startpagina zal waarschijnlijk in het midden liggen. Link de meeste of zelfs alle anderen. De meeste pagina's in een kleine site zouden bereikbaar moeten zijn vanuit de belangrijkste navigatie, hoewel er uitzonderingen zijn. Je wil misschien ook opmerkingen toevoegen over hoe alles zal worden weergegeven .<img alt="A map of the site showing the homepage, country page, search results, specials page, checkout, and buy page" src="https://mdn.mozillademos.org/files/12427/site-map.png" style="border-style: solid; border-width: 1px; display: block; height: 872px; margin: 0px auto; width: 600px;"></li>
+</ol>
+
+<h3 id="Actief_leren_creëer_je_eigen_sitemap">Actief leren: creëer je eigen sitemap</h3>
+
+<p>Volg nu dezelfde stappen en probeer zelf een eigen website te creëren. Waarover wil je een site bouwen? </p>
+
+<div class="note">
+<p><strong>Opmerking</strong>: Sla je werk ergens op; je hebt het misschien later nog nodig.</p>
+</div>
+
+<h2 id="Samenvatting">Samenvatting</h2>
+
+<p>Op dit moment zou je een beter idee moeten hebben van hoe je een webpagina of website kan structureren. In het laatste artikel van deze module zullen we het debuggen van HTML bestuderen.</p>
+
+<h2 id="Zie_ook">Zie ook</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/Guide/HTML/Using_HTML_sections_and_outlines">Using HTML sections and outlines</a>: Gevorderde gids voor HTML5 semantische elementen en het HTML5 overzichtsalgoritme.</li>
+</ul>
+
+<p>{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/Advanced_text_formatting", "Learn/HTML/Introduction_to_HTML/Debugging_HTML", "Learn/HTML/Introduction_to_HTML")}}</p>
diff --git a/files/nl/learn/html/introduction_to_html/getting_started/index.html b/files/nl/learn/html/introduction_to_html/getting_started/index.html
new file mode 100644
index 0000000000..740b87094d
--- /dev/null
+++ b/files/nl/learn/html/introduction_to_html/getting_started/index.html
@@ -0,0 +1,513 @@
+---
+title: Beginnen met HTML
+slug: Learn/HTML/Introduction_to_HTML/Getting_started
+translation_of: Learn/HTML/Introduction_to_HTML/Getting_started
+---
+<div>{{LearnSidebar}}</div>
+
+<div>{{NextMenu("Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML", "Learn/HTML/Introduction_to_HTML")}}</div>
+
+<p class="summary">In dit artikel nemen we de basisprincipes van HTML door — we definiëren elementen, attributen en alle andere belangrijke begrippen waarover je misschien al hebt gelezen en hoe ze in de taal passen. We tonen je ook hoe een HTML-element is gestructureerd en verklaren een aantal belangrijke basiseigenschappen van de taal. Terwijl we je daarmee op weg helpen, spelen we met HTML om je interesse op te wekken! </p>
+
+<table class="learn-box standard-table">
+ <tbody>
+ <tr>
+ <th scope="row">Vereisten:</th>
+ <td>Basiskennis computers, <a href="https://developer.mozilla.org/en-US/Learn/Getting_started_with_the_web/Installing_basic_software">basiskennis software installatie</a> en basiskennis over <a href="https://developer.mozilla.org/en-US/Learn/Getting_started_with_the_web/Dealing_with_files">werken met bestanden</a>.</td>
+ </tr>
+ <tr>
+ <th scope="row">Doel:</th>
+ <td>Vertrouwd raken met de HTML-taal. Vaardigheden in de praktijk brengen door enkele  HTML-elementen te schrijven.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Wat_is_HTML">Wat is HTML?</h2>
+
+<p>{{glossary("HTML")}} (HyperText Markup Language) is geen programmeertaal; het is <em>een opmaaktaal </em>en hij wordt gebruikt om je browser te vertellen hoe de webpagina's die je bezoekt, moeten worden weergegeven. Het kan even simpel of ingewikkeld zijn als de webontwerper dat wenst. HTML bestaat uit een serie {{glossary("Element", "elementen")}}, die je kan gebruiken om verschillende onderdelen van je inhoud te verpakken zodat die er op een bepaalde manier gaat uitzien of zich gedragen. De {{glossary("Tag", "tags")}} (een ander woord voor labels of markeerders) die de tekst insluiten kunnen van een woord of een afbeelding een hyperlink naar ergens anders maken, ze kunnen woorden cursiveren, lettertypes vergroten of verkleinen enzovoort. Neem bijvoorbeeld de volgende regel tekst:</p>
+
+<pre>My cat is very grumpy</pre>
+
+<p>Stel dat we van deze regel een paragraaf wilden maken, dan zouden we dat doen door deze regel met ({{htmlelement("p")}}) paragraaflabels te omhullen:</p>
+
+<pre class="brush: html">&lt;p&gt;My cat is very grumpy&lt;/p&gt;</pre>
+
+<h2 id="Anatomie_van_een_HTML-element">Anatomie van een HTML-element</h2>
+
+<p>We gaan dit paragraafelement wat verder onderzoeken:</p>
+
+<p><img alt="" src="https://mdn.mozillademos.org/files/9347/grumpy-cat-small.png" style="display: block; height: 255px; margin: 0px auto; width: 821px;"></p>
+
+<p>De belangrijkste onderdelen van ons element zijn:</p>
+
+<ol>
+ <li><strong>De opening tag:</strong> (het openingslabel) Deze bestaat uit de naam van het element (in dit geval p), ingesloten door kleiner- en groter-dan-tekens. &lt;elementnaam&gt; toont ons waar het element en zijn invloed op de inhoud begint. In dit geval duidt het het begin van de paragraaf aan.</li>
+ <li><strong>De closing tag: </strong> (het eindlabel) Die is identiek aan de opening tag, behalve dat er ook nog een schuine streep voor de naam van het element staat. De schuine streep leunt naar voor en staat net achter &lt;. Het eindlabel duidt het einde van het element aan, in dit geval dus het einde van de paragraaf.  Beginners vergeten de eindmarkeerder nogal eens en dat kan tot vreemde resultaten leiden.</li>
+ <li><strong>De content:</strong> (de inhoud) Dit is de inhoud van het element, in dit geval gewoon een regel tekst. </li>
+ <li><strong>Het element:</strong> De openingsmarkeerder plus de eindmarkeerder plus de inhoud zijn gelijk aan het element.</li>
+</ol>
+
+<h3 id="Actief_leren_creër_je_eerste_HTML-element">Actief leren: creër je eerste HTML-element</h3>
+
+<p>Bewerk de regel in het <em>Invoer-</em>gebied hieronder. Sluit het in tussen de <code>&lt;em&gt;-</code> en <code>&lt;/em&gt;-</code>labels. (Plaats <code>&lt;em&gt;</code> voor de regel om <em>het element te openen</em> en <code>&lt;/em&gt;</code> erachter om <em>het element te sluiten</em>) — dit zou de regel cursief moeten benadrukken! Je zal je veranderingen live kunnen zien in het <em>Uitvoer-</em>gebied.</p>
+
+<p>Als je een fout maakt, kan je die altijd ongedaan maken door op de <em>Ongedaan maken-</em>knop te drukken. Als je echt vast raakt, druk dan op <em>Toon oplossing</em> om het antwoord te zien.</p>
+
+<div class="hidden">
+<h6 id="Playable_code">Playable code</h6>
+
+<pre class="brush: html">&lt;h2&gt;Invoer&lt;/h2&gt;
+&lt;textarea id="code" class="input"&gt;Dit is mijn tekst.&lt;/textarea&gt;
+&lt;h2&gt;Uitvoer&lt;/h2&gt;
+&lt;div class="output"&gt;&lt;/div&gt;
+&lt;div class="controls"&gt;
+  &lt;input id="reset" type="button" value="Ongedaan maken" /&gt;
+ &lt;input id="solution" type="button" value="Toon oplossing" /&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">body {
+ font-family: 'Open Sans Light',Helvetica,Arial,sans-serif;
+}
+
+.input, .output {
+ width: 90%;
+ height: 2em;
+ padding: 10px;
+ border: 1px solid #0095dd;
+}
+
+button {
+ padding: 10px 10px 10px 0;
+}
+</pre>
+
+<pre class="brush: js">var textarea = document.getElementById("code");
+var reset = document.getElementById("reset");
+var code = textarea.value;
+var output = document.querySelector(".output");
+var solution = document.getElementById("solution");
+
+function drawOutput() {
+ output.innerHTML = textarea.value;
+}
+
+reset.addEventListener("click", function() {
+ textarea.value = code;
+ drawOutput();
+});
+
+solution.addEventListener("click", function() {
+ textarea.value = '&lt;em&gt;Dit is mijn tekst.&lt;/em&gt;';
+ drawOutput();
+});
+
+textarea.addEventListener("input", drawOutput);
+window.addEventListener("load", drawOutput);
+</pre>
+</div>
+
+<p>{{ EmbedLiveSample('Playable_code', 700, 300) }}</p>
+
+<h3 id="Geneste_Elementen">Geneste Elementen</h3>
+
+<p>Je kan elementen in andere elementen steken - we noemen dit <strong>nesten</strong>. Als we willen zeggen dat our cat VERY grumpy is, kunnen we het woord "very" in een {{htmlelement("strong")}}-element insluiten. Dat zorgt ervoor dat het woord wordt beklemtoond:</p>
+
+<pre class="brush: html">&lt;p&gt;My cat is &lt;strong&gt;very&lt;/strong&gt; grumpy.&lt;/p&gt;</pre>
+
+<p>Je moet er echter wel voor zorgen dat je elementen correct worden genest: in het voorbeeld hierboven openden we het  &lt;p&gt;-element eerst en dan het &lt;strong&gt;-element.  Dus moeten we &lt;strong&gt; eerst sluiten en dan &lt;p&gt;. Het volgende is fout:</p>
+
+<pre class="example-bad brush: html">&lt;p&gt;My cat is &lt;strong&gt;very grumpy.&lt;/p&gt;&lt;/strong&gt;</pre>
+
+<p>De elementen moeten correct worden geopend en gesloten zodat ze duidelijk in of buiten elkaar bestaan. Als ze overlappen zoals hierboven, zal de webbrowser proberen te raden wat je wil zeggen en dat kan heel onverwachte resultaten opleveren. Doe dat dus niet!</p>
+
+<h3 id="Blok-_versus_inline-elementen">Blok- versus inline-elementen</h3>
+
+<p>Elementen in HTML kunnen in twee belangrijke categorieën worden ingedeeld: elementen die als een blok functioneren en inline-elementen.</p>
+
+<ul>
+ <li>Elementen op blokniveau vormen een zichtbaar blok op de pagina — wat er ook aan vooraf ging, ze volgen op een nieuwe lijn en elke inhoud die erna komt zal ook op een nieuwe lijn staan. Zulke elementen zijn meestal structurele elementen in de pagina. Ze zijn bijv. paragrafen, lijsten, menu's, voetteksten enz. Een blokelement zal niet in een inline-element worden genest maar het kan wel in een ander blokelement worden genest. </li>
+ <li>Inline-elementen bestaan binnen elementen op blokniveau. Ze worden rond kleine delen van de inhoud geplaatst en dus niet rond volledige paragrafen en andere vormen van gegroepeerde inhoud. Ze zullen eerder in een paragraaf of tekst terechtkomen, bijvoorbeeld {{htmlelement("em")}} of {{htmlelement("strong")}} kan je in een {{htmlelement("a")}}-element (hyperlink) zetten om het element te benadrukken.</li>
+</ul>
+
+<p>Bekijk het volgende voorbeeld eens:</p>
+
+<pre class="brush: html">&lt;em&gt;eerste&lt;/em&gt;&lt;em&gt;tweede&lt;/em&gt;&lt;em&gt;derde&lt;/em&gt;
+
+&lt;p&gt;vierde&lt;/p&gt;&lt;p&gt;vijfde&lt;/p&gt;&lt;p&gt;zesde&lt;/p&gt;
+</pre>
+
+<p>{{htmlelement("em")}} is een inline-element zoals je hieronder kan zien. De eerste drie elementen bevinden zich op dezelfde lijn zonder ruimte tussen hen in. {{htmlelement("p")}} daarentegen is een element op blokniveau. Elk element verschijnt dus op een nieuwe lijn met ruimte boven en onder elk element. (De ruimte wordt gecreëerd door de standaard <a href="/en-US/docs/Learn/CSS/Introduction_to_CSS">CSS stijl</a> die de browser op paragrafen toepast).</p>
+
+<p>{{ EmbedLiveSample('Blok-_versus_inline-elementen', 700, 200) }}</p>
+
+<div class="note">
+<p><strong>Opmerking</strong>: HTML5 heeft de elementcategorieën in HTML5 geherdefiniëerd : zie <a href="http://www.whatwg.org/specs/web-apps/current-work/complete/section-index.html#element-content-categories">Element content categories</a>. Hoewel deze definities accurater en niet zo ambigu zijn als hun voorgangers, zijn ze wel een stuk moeilijker te begrijpen dan 'blok' en 'inline'. Daarom gaan we bij die twee blijven in dit artikel.</p>
+</div>
+
+<div class="note">
+<p><span style="font-size: 14px;"><strong>Opmerking</strong></span>: Je kan nuttige referentiepagina's vinden die lijsten van blok- en inline-elementen bevatten — zie <a href="/en-US/docs/Web/HTML/Block-level_elements">Block-level elements</a> en <a href="/en-US/docs/Web/HTML/Inline_elements">Inline elements</a>.</p>
+</div>
+
+<h3 id="Lege_elementen">Lege elementen</h3>
+
+<p>Niet alle elementen volgen hetzelfde patroon met een openingslabel, inhoud en eindlabel. Sommige elementen bestaan uit één enkel label, dat meestal wordt gebruikt om iets in de inhoud in te voegen/in te bedden. Het {{htmlelement("img")}}-element bijvoorbeeld voegt een afbeelding aan de pagina toe op de plaats waar het het element in de code is geplaatst:</p>
+
+<pre class="brush: html">&lt;img src="https://raw.githubusercontent.com/mdn/beginner-html-site/gh-pages/images/firefox-icon.png"&gt;</pre>
+
+<p>Dit zou het volgende op je pagina moeten uitvoeren:</p>
+
+<p>{{ EmbedLiveSample('Lege_elementen', 700, 300) }}</p>
+
+<div class="note">
+<p><strong>Opmerking</strong>: Lege elementen worden soms <em>void elementen</em> genoemd (<em>void </em>is natuurlijk Engels en betekent ook leeg).</p>
+</div>
+
+<h2 id="Attributen">Attributen</h2>
+
+<p>Elementen kunnen ook attributen krijgen die er zo uitzien:</p>
+
+<p><img alt='&amp;lt;p class="editor-note">My cat is very grumpy&amp;lt;/p>' src="https://mdn.mozillademos.org/files/9345/grumpy-cat-attribute-small.png" style="display: block; height: 156px; margin: 0px auto; width: 1287px;"></p>
+
+<p>Attributen bevatten extra informatie over het element die je niet in de inhoud van dat element wil zien. In dit voorbeeld zie het class (klasse dus) attribuut dat je kan gebruiken om het element een naam te geven. Daarmee kan je het identificeren en er onder andere stijlinformatie op richten.</p>
+
+<p>Een attribuut bestaat uit:</p>
+
+<ol>
+ <li>Een spatie tussen het attribuut en de elementnaam (of het vorige attribuut als het element al een of meer attributen heeft).</li>
+ <li>De attribuutnaam, gevolgd door een is-gelijk-aan-teken (=).</li>
+ <li>Een attribuutwaarde tussen aanhalingstekens.</li>
+</ol>
+
+<h3 id="Actief_leren_Attributen_aan_een_element_toevoegen">Actief leren: Attributen aan een element toevoegen</h3>
+
+<p>{{htmlelement("a")}} is ook een element — het vertegenwoordigt een anker en verandert de tekst die het insluit in een hyperlink. Dit element kan een aantal attributen krijgen, twee ervan zijn de volgende:</p>
+
+<ul>
+ <li><code>href</code>: De waarde van dit attribuut is het webadres waar je de link naar wil doen wijzen en waar de browser naartoe navigeert als er op de link wordt geklikt. Bijvoorbeeld:  <code>href="https://www.mozilla.org/"</code>.</li>
+ <li><code>title</code>: Dit attribuut verschaft exta informatie over de link, zoals de aard van de pagina waarmee het anker ons verbindt. Bijvoorbeeld: <code>title="The Mozilla homepage"</code>. Dit attribuut zal als een tooltip verschijnen als de muis erover heen beweegt.</li>
+</ul>
+
+<p>Bewerk de regel in het <em>invoer-gebied</em> hieronder en verander hem in een hyperlink naar je favoriete website. Eerst voeg je het <code>&lt;a&gt;-</code>element toe, dan het <code>href-</code>attribuut en dan het <code>title-</code>attribuut. Je zal de verandering live kunnen updaten in het <em>uitvoer-gebied</em>. Je zou een link moeten zien die de inhoud van het <code>title</code>-attribuut toont als je met je muis over de link heen glijdt. Als je erop klikt zou je naar het webadres moeten worden gebracht dat in het href-element staat. Vergeet niet dat je een spatie tussen de elementnaam en elk attribuut moet plaatsen.</p>
+
+<p>Als je een fout maakt, kan je die altijd ongedaan maken met de <em>Ongedaan Maken </em>knop. Als je echt vastraakt, druk dan op <em>Toon Oplossing</em> om het antwoord te zien.</p>
+
+<div class="hidden">
+<h6 id="Playable_code2">Playable code2</h6>
+
+<pre class="brush: html">&lt;h2&gt;Invoer&lt;/h2&gt;
+&lt;textarea id="code" class="input"&gt;&amp;lt;p&amp;gt;Een link naar mijn favoriete website.&amp;lt;/p&amp;gt;&lt;/textarea&gt;
+&lt;h2&gt;Uitvoer&lt;/h2&gt;
+&lt;div class="output"&gt;&lt;/div&gt;
+&lt;div class="controls"&gt;
+  &lt;input id="reset" type="button" value="Ongedaan Maken" /&gt;
+ &lt;input id="solution" type="button" value="Toon Oplossing" /&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">body {
+ font-family: 'Open Sans Light',Helvetica,Arial,sans-serif;
+}
+
+.input, .output {
+ width: 90%;
+ height: 2em;
+ padding: 10px;
+ border: 1px solid #0095dd;
+}
+
+button {
+ padding: 10px 10px 10px 0;
+}
+</pre>
+
+<pre class="brush: js">var textarea = document.getElementById("code");
+var reset = document.getElementById("reset");
+var code = textarea.value;
+var output = document.querySelector(".output");
+var solution = document.getElementById("solution");
+
+function drawOutput() {
+ output.innerHTML = textarea.value;
+}
+
+reset.addEventListener("click", function() {
+ textarea.value = code;
+ drawOutput();
+});
+
+solution.addEventListener("click", function() {
+ textarea.value = '&lt;p&gt;Een link naar mijn&lt;a href="<code>https://www.mozilla.org/</code>" title="De Mozilla homepage"&gt;favoriete website&lt;/a&gt;.&lt;/p&gt;';
+ drawOutput();
+});
+
+textarea.addEventListener("input", drawOutput);
+window.addEventListener("load", drawOutput);
+</pre>
+</div>
+
+<p>{{ EmbedLiveSample('Playable_code2', 700, 300) }}</p>
+
+<h3 id="Boolean_attributen">Boolean attributen</h3>
+
+<p>Soms zal je attributen zonder waarden zien — dit is helemaal toegestaan. We noemen hen boolean attributen, en ze kunnen slechts één waarde hebben. Die is meestal dezelfde als de attribuutnaam. Neem het {{htmlattrxref("disabled", "input")}}-attribuut als voorbeeld. Je kan het toewijzen aan het invoerveld van een formulier dat je wil uitschakelen.(Het veld wordt dan grijs weergegeven en de gebruiker kan niets invullen.)</p>
+
+<pre>&lt;input type="text" disabled="disabled"&gt;</pre>
+
+<p>Zoals je hieronder kan zien, is een verkorte vorm ook toegestaan . Ter informatie hebben we ook een ingeschakeld invoerveld toegevoegd zoadat je beter begrijpt wat er gebeurt: </p>
+
+<pre class="brush: html">&lt;input type="text" disabled&gt;
+
+&lt;input type="text"&gt;
+</pre>
+
+<p>Beiden zullen het volgende produceren:</p>
+
+<p>{{ EmbedLiveSample('Boolean_attributen', 700, 100) }}</p>
+
+<h3 id="Aanhalingstekens_rond_attribuutwaarden_weglaten">Aanhalingstekens rond attribuutwaarden weglaten</h3>
+
+<p>Als je wat rondkijkt op het World Wide Web, zal je allerlei rare opmaakstijlen tegenkomen, waaronder waarden zonder aanhalingstekens. Dit is toegestaan in een aantal omstandigheden maar het zal je code in andere breken. Als we bijvoorbeeld ons linkvoorbeeld opnieuw bekijken, zouden we het kunnen herschrijven met enkel het <code>href-</code>attribuut en zonder aanhalinstekens zoals hieronder:</p>
+
+<pre>&lt;a href=<code>https://www.mozilla.org/</code>&gt;favoriete website&lt;/a&gt;</pre>
+
+<p>Maar als we het <code>title-</code>attribuut toevoegen, loopt het mis:</p>
+
+<pre class="brush: html">&lt;a href=<code>https://www.mozilla.org/</code> title=De Mozilla homepage&gt;favoriete website&lt;/a&gt;</pre>
+
+<p>In deze situatie zal de browser je opmaak verkeerd interpreteren en denken dat het  <code>title-</code>attribuut in feite uit drie attributen bestaat — een title-attribuut met "De" als waarde, en twee boolean attributen, <code>Mozilla</code> en <code>homepage</code>. Dit is natuurlijk niet de bedoeling en het zal fouten en onverwacht gedrag in de code veroorzaken, zoals je in het live voorbeeld hier beneden kunt zien. Probeer met je muis over de link heen te glijden om te zien wat de tekst van de titel is!</p>
+
+<p>{{ EmbedLiveSample('Aanhalingstekens_rond_attribuutwaarden_weglaten', 700, 100) }}</p>
+
+<p>We adviseren om de waarden van je attributen altijd tussen aanhalingstekens te zetten — je vermijdt er dit soort problemen mee en je code wordt ook leesbaarder. </p>
+
+<h3 id="Enkele_of_dubble_aanhalingstekens">Enkele of dubble aanhalingstekens?</h3>
+
+<p>In dit artikel zal je merken dat de attributen allemaal tussen dubbele aanhalingstekens staan. Het is echter mogelijk dat je in de HTML van sommige mensen enkele aanhalingstekens ziet staan. Dit is uitsluitend een kwestie van stijl en je bent vrij om je eigen voorkeur te volgen. De volgende twee lijnen gelijkwaardig:</p>
+
+<pre class="brush: html">&lt;a href="http://www.example.com"&gt;Een link naar mijn voorbeeld.&lt;/a&gt;
+
+&lt;a href='http://www.example.com'&gt;Een link naar mijn voorbeeld.&lt;/a&gt;</pre>
+
+<p>Je moet er echter wel voor zorgen dat je de twee niet met elkaar vermengt. Het volgende zal mis gaan!</p>
+
+<pre class="brush: html">&lt;a href="http://www.example.com'&gt;Een link naar mijn voorbeeld.&lt;/a&gt;</pre>
+
+<p>Als je één type aanhalingstekens in je HTML hebt gebruikt, kan je het andere type nesten:</p>
+
+<pre class="brush: html">&lt;a href="http://www.example.com" title="Plezant, niet?"&gt;Een link naar mijn voorbeeld.&lt;/a&gt;</pre>
+
+<p>Als je hetzelfde type aanhalingstekens wil nesten, zal je <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started#Entity_references_including_special_characters_in_HTML">HTML-entititeiten</a> voor de aanhalingstekens moeten gebruiken.</p>
+
+<h2 id="Anatomie_van_een_HTML-document">Anatomie van een HTML-document</h2>
+
+<p>Daarmee kunnen we onze inleiding op individuele HTML-elementen afsluiten.  Op hun eentje zijn ze echter niet erg nuttig. Nu gaan we zien hoe individuele elementen gecombineerd worden om een volledige HTML-pagina te vormen:</p>
+
+<pre class="brush: html">&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+ &lt;head&gt;
+ &lt;meta charset="utf-8"&gt;
+ &lt;title&gt;Mijn testpagina&lt;/title&gt;
+ &lt;/head&gt;
+ &lt;body&gt;
+ &lt;p&gt;Dit is mijn pagina&lt;/p&gt;
+ &lt;/body&gt;
+&lt;/html&gt;</pre>
+
+<p>Wat steekt er in die pagina?</p>
+
+<ol>
+ <li><code>&lt;!DOCTYPE html&gt;</code>: het doctype. Lang geleden was HTML jong (rond 1991/2). Doctypes moesten toen als links naar een serie regels dienen. De HTML-pagina moest die regels volgen om als goede HTML te kunnen worden beschouwd. Dat kon automatische foutcontrole zijn en andere nuttige zaken. Ze zagen er toen ongeveer zo uit:</li>
+ <li>
+ <pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;</pre>
+ Maar tegenwoordig trekt niemand zich nog iets van die regels aan. Ze zijn enkel nog een historisch artefact dat erin moet staan opdat alles correct zou werken. <code>&lt;!DOCTYPE html&gt;</code> is de kortste tekenserie die als een geldig doctype kan dienen; voorlopig is dat al dat je moet weten.</li>
+ <li><code>&lt;html&gt;&lt;/html&gt;</code>: Het <code>&lt;html&gt;-</code>element. element sluit alle inhoud op de volledige pagina in en wordt ook het root-element genoemd. (root is het Engelse woord voor wortel).</li>
+ <li><code>&lt;head&gt;&lt;/head&gt;</code>: Het <code>&lt;head&gt;-</code>element gedraagt zich als een container voor alle zaken die je in je HTML-pagina wil steken maar die niet tot de inhoud behoren die je aan de gebruikers wil tonen. Dit houdt zaken in zoals sleutelwoorden, een beschrijving van je pagina zoals je die in zoekresultaten wil zien verschijnen, CSS om je inhoud van stijlen te voorzien, tekensetverklaringen en meer. Je zal er meer over leren in het volgende artikel van deze serie.</li>
+ <li><code>&lt;meta charset="utf-8"&gt;</code>: Met dit element bepaal je dat de tekenset voor je document utf-8 zal zijn. In utf-8 steken bijna alle tekens die voor alle gekende menselijke talen worden gebruikt. In wezen houdt dit in dat je nu elke tekstinhoud aankan, die je erin zou willen steken. Er is geen reden om utf-8 niet aan charset toe te wijzen en het kan je helpen om later problemen te vermijden.</li>
+ <li><code>&lt;title&gt;&lt;/title&gt;</code>: Dit element stelt de titel van je pagina in. Dat is de titel die in de browsertab verschijnt waarin je pagina wordt geladen. Hij wordt ook gebruikt om de pagina te beschrijven als je hem als bladwijzer/favoriet instelt.</li>
+ <li><code>&lt;body&gt;&lt;/body&gt;</code>: Het <code>&lt;body&gt;-</code>element bevat de volledige inhoud die je aan webgebruikers wil tonen als die je pagina bezoeken, of het nu  tekst is, afbeeldingen, videos, spelletjes, afspeelbare audiosporen (audio tracks in het Engels)  of wat dan ook.</li>
+</ol>
+
+<h3 id="Actief_leren_Extra_functionaliteit_aan_een_HTML-document_toevoegen">Actief leren: Extra functionaliteit aan een HTML-document toevoegen</h3>
+
+<p>Als je met HTML op je lokale computer wil experimenteren, kan je het volgende doen:</p>
+
+<ol>
+ <li>Kopieer de HTML-pagina die je hierboven in 'Anatomie van een HTML-document' vindt.</li>
+ <li>Creër een nieuw bestand in je broncode-editor.</li>
+ <li>Plak the code in het nieuwe bestand.</li>
+ <li>Sla het bestand op als <code>index.html</code>.</li>
+</ol>
+
+<div class="note">
+<p><span style="font-size: 14px;"><strong>Opmerking</strong></span>: Je kan dit simpele HTML-jsabloon ook op de <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/getting-started/index.html">MDN Learning Area Github repo</a> vinden.</p>
+</div>
+
+<p>Je kan het bestand nu in een webbrowser openen om te zien hoe de gegenereerde code eruitziet. Dan kan je de code bewerken en de browser vernieuwen om te zien wat het resultaat is. Eerst zal het er zo uitzien:</p>
+
+<p><img alt="A simple HTML page that says This is my page" src="https://mdn.mozillademos.org/files/12279/template-screenshot.png" style="display: block; height: 365px; margin: 0px auto; width: 595px;">In deze oefening kan je de code lokaal op je computer bewerken, zoals we hierboven hebben uitgelegd, of je kan die in het bewerkbare voorbeeldvenster hieronder bewerken. (In deze oefening vertegenwoordigt het bewerkbare voorbeeldvenster gewoon de inhoud van het <code>&lt;body&gt;-</code>element.) Probeer nu de volgende stappen uit te voeren:</p>
+
+<ul>
+ <li>Net onder het  <code>&lt;body&gt;-</code>openingslabel, voeg je een titel voor het document toe. Die zou tussen een <code>&lt;h1&gt;-</code>openingslabel en een <code>&lt;/h1&gt;-</code>eindlabel moeten staan.</li>
+ <li>Bewerk de inhoud van de paragraaf en zorg dat er wat tekst in staat over iets dat je interesseert.</li>
+ <li>Zorg dat de belangrijke woorden goed opvallen door ze vet te maken. Dat doe je door ze tussen een <code>&lt;strong&gt;-</code>openingslabel en een <code>&lt;/strong&gt;-</code>eindlabel te zetten.</li>
+ <li>Voeg een hyperlink aan je paragraaf toe, zoals <a href="/en-US/Learn/HTML/Introduction_to_HTML/Getting_started#Active_learning_Adding_attributes_to_an_element">we eerder in dit artikel hebben uitgelegd</a>.</li>
+ <li>Voeg onder de paragraaf een afbeelding aan je document toe. Doe dit ook <a href="/en-US/Learn/HTML/Introduction_to_HTML/Getting_started#Empty_elements">zoals we eerder in dit artikel hebben uitgelegd</a>. Je krijgt bonuspunten als je erin slaagt de hyperlink naar een andere afbeelding te laten wijzen. (Dat kan een beeld zijn dat zich op je lokale computer bevindt of eentje dat je ergens in het internet hebt gevonden.)</li>
+</ul>
+
+<p>Als je een fout maakt, kan je altijd op <em>Ongedaan Maken </em>klikken Als je echt vast raakt, druk dan op <em>Toon Oplossing</em> om het antwoord te zien.</p>
+
+<div class="hidden">
+<h6 id="Playable_code3">Playable code3</h6>
+
+<pre class="brush: html">&lt;h2&gt;Invoer&lt;/h2&gt;
+&lt;textarea id="code" class="input"&gt;
+&amp;lt;p&amp;gt;Dit is mijn pagina.&amp;lt;/p&amp;gt;&lt;/textarea&gt;
+&lt;h2&gt;Uitvoer&lt;/h2&gt;
+&lt;div class="output"&gt;&lt;/div&gt;
+&lt;div class="controls"&gt;
+  &lt;input id="reset" type="button" value="Ongedaan Maken" /&gt;
+ &lt;input id="solution" type="button" value="Toon Oplossing" /&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">body {
+ font-family: 'Open Sans Light',Helvetica,Arial,sans-serif;
+}
+
+.input, .output {
+ width: 90%;
+ height: 10em;
+ padding: 10px;
+ border: 1px solid #0095dd;
+}
+
+img {
+ max-width: 100%;
+}
+
+.output {
+ overflow: auto;
+}
+
+button {
+ padding: 10px 10px 10px 0;
+}
+</pre>
+
+<pre class="brush: js">var textarea = document.getElementById("code");
+var reset = document.getElementById("reset");
+var code = textarea.value;
+var output = document.querySelector(".output");
+var solution = document.getElementById("solution");
+
+function drawOutput() {
+ output.innerHTML = textarea.value;
+}
+
+reset.addEventListener("click", function() {
+ textarea.value = code;
+ drawOutput();
+});
+
+solution.addEventListener("click", function() {
+ textarea.value = '&lt;p&gt;Ik geniet ervan om &lt;strong&gt;te drummen&lt;/strong&gt;. Een van mijn favoriete drummers is Neal Peart, die\
+ in de groep &lt;a href="https://en.wikipedia.org/wiki/Rush_%28band%29" title="Rush Wikipedia article"&gt;Rush&lt;/a&gt; speelt.\
+ Mijn favoriete Rush album is op dit moment &lt;a href="http://www.deezer.com/album/942295"&gt;Moving Pictures&lt;/a&gt;.&lt;/p&gt;\
+&lt;img src="http://www.cygnus-x1.net/links/rush/images/albums/sectors/sector2-movingpictures-cover-s.jpg"&gt;';
+ drawOutput();
+});
+
+textarea.addEventListener("input", drawOutput);
+window.addEventListener("load", drawOutput);
+</pre>
+</div>
+
+<p>{{ EmbedLiveSample('Playable_code3', 700, 600) }}</p>
+
+<h3 id="Witruimte_in_HTML">Witruimte in HTML</h3>
+
+<p>In de voorbeelden hierboven heb je misschien gemerkt  dat er veel witruimte in de code staat. Dit is helemaal niet nodig; de twee volgende stukjes code zijn beiden correct:</p>
+
+<pre class="brush: html">&lt;p&gt;Dogs are silly.&lt;/p&gt;
+
+&lt;p&gt;Dogs are
+ silly.&lt;/p&gt;</pre>
+
+<p>Witruimte kan uit spaties bestaan maar ook uit regeleindes. Het doet er niet toe hoeveel je ervan gebruikt; het HTML-ontledingsprogramma herleidt elke spatie tot een enkele wanneer het de code genereert. Dus waarom zou een mens zoveel witruimte gebruiken? Het antwoord is leesbaarheid — het maakt het zoveel gemakkelijker om te begrijpen wat er in je code gebeurt als je die aangenaam en netjes hebt opgesteld in plaats van opeengestapeld als een hoop troep. In onze HTML hebben we elk genest element twee spaties verder laten inspringen dan het element waar het in zit. Het is jouw zaak welke opmaakstijl je gebruikt (hoeveel spaties je gebruikt voor elk niveau van inspringing bijvoorbeeld) maar je zou moeten nadenken over een of andere vorm van opmaak.</p>
+
+<h2 id="Entiteitsverwijzingen_inclusief_speciale_tekens_in_HTML">Entiteitsverwijzingen: inclusief speciale tekens in HTML</h2>
+
+<p>De tekens <code>&lt;</code>, <code>&gt;</code>,<code>"</code>,<code>'</code> en <code>&amp;</code> zijn speciale tekens in HTML. Ze vormen onderdelen van de HTML-syntaxis zelf dus hoe gebruik je een van die tekens in je tekst?  Als je bijvoorbeeld echt een ampersand (&amp; dus) wil gebruiken of een kleiner-dan-teken, hoe zorg je er dan voor dat het niet als code wordt geïnterpreteerd zoals in sommige browsers gebeurt?</p>
+
+<p>We moeten entiteitsverwijzingen gebruiken — speciale codes die tekens vertegenwoordigen en die in deze omstandigheden kunnen worden gebruikt. Elke entiteitsverwijzing begint met een ampersand (&amp;) en eindigt op een puntkomma (;).</p>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Letterlijk teken</th>
+ <th scope="col">Entiteitsverwijzing als equivalent</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>&lt;</td>
+ <td>&amp;lt;</td>
+ </tr>
+ <tr>
+ <td>&gt;</td>
+ <td>&amp;gt;</td>
+ </tr>
+ <tr>
+ <td>"</td>
+ <td>&amp;quot;</td>
+ </tr>
+ <tr>
+ <td>'</td>
+ <td>&amp;apos;</td>
+ </tr>
+ <tr>
+ <td>&amp;</td>
+ <td>&amp;amp;</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>In het voorbeeld hieronder kan je twee paragrafen zien waarin over webtechnologieën wordt gepraat:</p>
+
+<pre class="brush: html">&lt;p&gt;In HTML definiëer je een paragraaf met een &lt;p&gt;-element&lt;/p&gt;.
+
+&lt;p&gt;In HTML definiëer je een paragraaf met een &amp;lt;p&amp;gt;-element.&lt;/p&gt;</pre>
+
+<p>In de live uitvoer hier beneden, kan je zien dat er met de eerste paragraaf iets is misgelopen. De browser denkt namelijk dat de <code>&lt;p&gt;</code> code is waarmee je een nieuwe paragraaf wil beginnen. De tweede paragraaf ziet er prima uit omdat we de kleiner- en groter-dan-tekens hebben vervangen door entiteitsverwijzingen.</p>
+
+<p>{{ EmbedLiveSample('Entiteitsverwijzingen_inclusief_speciale_tekens_in_HTML', 700, 200) }}</p>
+
+<div class="note">
+<p><strong>Opmerking</strong>: Op Wikipedia kan je een kaart van alle beschikbare entiteitsverwijzingen voor HTML-tekens vinden: <a class="external text" href="https://nl.wikipedia.org/wiki/Karakter-entiteitreferentie" rel="nofollow">Lijst van entiteitsverwijzingen voor XML- en HTML-tekens</a>.</p>
+</div>
+
+<h2 id="HTML_commentaren">HTML commentaren</h2>
+
+<p>In HTML, zoals in de meeste programmeertalen, bestaat er een mechanisme om commentaren in je code te schrijven. Commentaren worden genegeerd door de browser en zijn onzichtbaar voor de gebruiker. Het doel van dit mechanisme is commentaren in je code te schrijven die verduidelijken hoe je code werkt, wat de verschillende delen van je code precies doen enz. Dit kan zeer nuttig zijn als je terugkeert naar code waar je al zes maanden niet meer aan hebt gewerkt en je je niet meer kan herinneren wat je hebt gedaan of als je je code doorgeeeft aan iemand anders die er verder mee zal werken.</p>
+
+<p>Om een deel van de inhoud in je HTML-bestand in een commentaar te veranderen, moet je die door de speciale markeerders  <code>&lt;!--</code> en <code>--&gt;</code> omhullen. Bijvoorbeeld:</p>
+
+<pre class="brush: html">&lt;p&gt;Ik sta niet in een commentaar.&lt;/p&gt;
+
+&lt;!-- &lt;p&gt;Ik wel!&lt;/p&gt; --&gt;</pre>
+
+<p>Zoals je hieronder kan zien, verschijnt de eerste paragraaf in de live uitvoer maar de tweede niet.</p>
+
+<p>{{ EmbedLiveSample('HTML_commentaren', 700, 100) }}</p>
+
+<h2 id="Samenvatting">Samenvatting</h2>
+
+<p>Je hebt het einde van het artikel bereikt — ik hoop dat je van onze reis doorheen de fundamenten van HTML hebt genoten. Op dit punt zou je moeten begrijpen hoe de taal eruitziet, hoe hij werkt op een basisniveau en je zou nu een paar elementen en attributen moeten kunnen schrijven. Deze kennis is meer dan genoeg om de volgende artikelen te lezen. Daarin gaan we sommige behandelde onderwerpen in groter detail bespreken en we zullen een paar nieuwe eigenschappen van de taal introduceren. Stay tuned!</p>
+
+<div class="note">
+<p><strong>Opmerking</strong>: Nu je meer over HTML gaat leren, zal je misschien ook de fundamenten van <a href="/en-US/docs/Learn/CSS">CSS</a> (Cascading Style Sheets of Waterval Stijlbestanden) willen onderzoeken. CSS is de taal die je gebruikt om je webpagina's te stijlen (om bijvoorbeeld je lettertype of kleuren te veranderen of de indeling van de pagina te wijzingen). HTML en CSS passen heel goed bij elkaar zoals je snel zal ontdekken.</p>
+</div>
+
+<div>{{NextMenu("Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML", "Learn/HTML/Introduction_to_HTML")}}</div>
diff --git a/files/nl/learn/html/introduction_to_html/gevorderde_tekstopmaak/index.html b/files/nl/learn/html/introduction_to_html/gevorderde_tekstopmaak/index.html
new file mode 100644
index 0000000000..1413987a12
--- /dev/null
+++ b/files/nl/learn/html/introduction_to_html/gevorderde_tekstopmaak/index.html
@@ -0,0 +1,452 @@
+---
+title: Geavanceerde tekstopmaak
+slug: Learn/HTML/Introduction_to_HTML/Gevorderde_tekstopmaak
+translation_of: Learn/HTML/Introduction_to_HTML/Advanced_text_formatting
+---
+<div>{{LearnSidebar}}</div>
+
+<div>{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/Creating_hyperlinks", "Learn/HTML/Introduction_to_HTML/Document_and_website_structure", "Learn/HTML/Introduction_to_HTML")}}</div>
+
+<p class="summary">Er zijn nog vele andere elementen in HTML om je tekst mee op te maken waar we in <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals">HTML tekst : basisprincipes</a> niet aan toe zijn gekomen. De elementen die in dit artikel worden besproken zijn minder bekend maar niettemin nuttig om meer over te weten (en dan heb je de hele lijst nog lang niet gezien). In dit artikel leer je citaten op te maken, beschrijvende lijsten, computercode en andere verwante tekst, subscript en superscript, contactinformatie en nog veel meer.</p>
+
+<table class="learn-box standard-table">
+ <tbody>
+ <tr>
+ <th scope="row">Vereisten:</th>
+ <td>Basiskennis HTML zoals aangeboden in <a href="https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started">Beginnen met HTML</a>. Kennis over HTML tekstopmaak zoals aangeboden in <a href="https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals">HTML Tekst: basisprincipes. </a></td>
+ </tr>
+ <tr>
+ <th scope="row">Doel:</th>
+ <td>Je leert hoe je minder bekende HTML-elementen kan gebruiken om gevorderde semantische functionaliteit mogelijk te maken.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Beschrijvende_lijsten">Beschrijvende lijsten</h2>
+
+<p>In HTML Basisprincipes heb je geleerd hoe je <a href="/nl/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals#Lijsten">eenvoudige lijsten</a> in HTML op kan maken. We hebben het toen niet over een derde lijsttype gehad, eentje dat je nu en dan zal tegenkomen:  <strong>beschrijvende lijsten</strong>. Het doel van deze lijsten is om een aantal lijstonderdelen op te maken samen met de beschrijvingen die ermee worden geassociëerd. Ze kunnen termen en hun definities zijn of vragen en antwoorden. Als voorbeeld gaan we nu een stel termen en hun definities bekijken:</p>
+
+<pre>Alleenspraak
+Vind je in een drama. Een karakter spreekt met zichzelf. Zo verwoordt hij zijn innerlijke gedachten of gevoelens en deelt deze met het publiek (maar niet met andere karakters in het stuk).
+Monoloog
+Vind je in een drama. Een karakter spreekt zijn eigen gedachten luidop uit en deelt ze met het publiek en met andere aanwezige karakters.
+Terzijde
+Vind je in een drama. Een karakter deelt een commentaar met het publiek en bereikt zo een humoristisch of dramatisch effect. Dit is meestal een gevoel, gedachte of extra achtergrondinformatie.</pre>
+
+<p>Beschrijvende lijsten gebruiken een andere verpakking als de andere lijsttypes— {{htmlelement("dl")}}. Elk lijstonderdeel wordt door een {{htmlelement("dt")}}-element omhuld ({{htmlelement("dt")}} is ee beschrijvende term of <strong>d</strong>escription <strong>t</strong>erm in het Engels) en elke beschrijving bevindt zich in een {{htmlelement("dd")}} (description description) element. We gaan nu de opmaak van ons voorbeeld voltooien:</p>
+
+<pre class="brush: html">&lt;dl&gt;
+ &lt;dt&gt;Alleenspraak&lt;/dt&gt;
+ &lt;dd&gt;Vind je in een drama. Een karakter spreekt met zichzelf. Zo verwoordt hij zijn innerlijke gedachten of gevoelens en deelt deze met het publiek (maar niet met andere karakters in het stuk).&lt;/dd&gt;
+ &lt;dt&gt;Monoloog&lt;/dt&gt;
+ &lt;dd&gt;Vind je in een drama. Een karakter spreekt zijn eigen gedachten luidop uit en deelt ze met het publiek en met andere aanwezige karakters.&lt;/dd&gt;
+ &lt;dt&gt;Terzijde&lt;/dt&gt;
+ &lt;dd&gt;Vind je in een drama. Een karakter deelt een commentaar met het publiek en bereikt zo een humoristisch of dramatisch effect. Dit is meestal een gevoel, gedachte of extra achtergrondinformatie.&lt;/dd&gt;
+&lt;/dl&gt;</pre>
+
+<p>De standaardstijlen van de browser zullen de beschrijvingen van de  beschrijvende lijst ietwat laten inspringen. MDN's standaardstijl volgt deze conventie vrij nauw op maar MDN maakt de termen ook vet om ze extra te benadrukken.</p>
+
+<dl>
+ <dt>alleenspraak</dt>
+ <dd>Vind je in een drama. Een karakter spreekt met zichzelf. Zo verwoordt hij zijn innerlijke gedachten of gevoelens en deelt deze met het publiek (maar niet met andere karakters in het stuk).</dd>
+ <dt>monoloog</dt>
+ <dd>Vind je in een drama. Een karakter spreekt zijn eigen gedachten luidop uit en deelt ze met het publiek en met andere aanwezige karakters.</dd>
+ <dt>terzijde</dt>
+ <dd>Vind je in een drama. Een karakter deelt een commentaar met het publiek en bereikt zo een humoristisch of dramatisch effect. Dit is meestal een gevoel, gedachte of extra achtergrondinformatie.</dd>
+</dl>
+
+<p>Merk ook op dat het is toegelaten om verscheidene beschrijvingen aan één enkele term te koppelen. Bijvoorbeeld:</p>
+
+<dl>
+ <dt>terzijde</dt>
+ <dd>Vind je in een drama. Een karakter deelt een commentaar met het publiek en bereikt zo een humoristisch of dramatisch effect. Dit is meestal een gevoel, gedachte of extra achtergrondinformatie.</dd>
+ <dd>Vind je ook in een geschreven tekst of als onderdeel van een inhoud die verwant is met het onderwerp maar dat niet echt in de algemene inhoud past zodat die apart wordt gepresenteerd (vaak in een kader aan de zijkant).</dd>
+</dl>
+
+<h3 id="Actief_leren_Maak_een_reeks_definities_op">Actief leren: Maak een reeks definities op</h3>
+
+<p>Het is tijd om zelf een beschrijvende lijst te maken. In het <em>invoerveld </em>voeg je elementen aan de ruwe tekst toe zodat die in het <em>uitvoerveld </em>als een beschrijvende lijst verschijnt. Als je wil, kan je ook je eigen termen en beschrijvingen gebruiken. </p>
+
+<p>Als je een fout maakt, kan je die altijd ongedaan maken door op de <em>Maak Ongedaan</em>-knop drukken. Als je echt vast raakt, druk dan op <em>Toon Oplossing</em> om het antwoord te zien.</p>
+
+<div class="hidden">
+<h6 id="Playable_code">Playable code</h6>
+
+<pre class="brush: html">&lt;h2&gt;Invoer&lt;/h2&gt;
+&lt;textarea id="code" class="input"&gt;Bacon
+De lijm die de wereld aan elkaar plakt.
+Eieren
+De lijm die de cake bindt.
+Koffie
+De drank die de wereld 's morgens in gang krijgt.
+Een lichtbruine kleur.&lt;/textarea&gt;
+&lt;h2&gt;Uitvoer&lt;/h2&gt;
+&lt;div class="output"&gt;&lt;/div&gt;
+&lt;div class="controls"&gt;
+  &lt;input id="reset" type="button" value="Ongedaan Maken" /&gt;
+ &lt;input id="solution" type="button" value="Toon Oplossing" /&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">body {
+ font-family: 'Open Sans Light',Helvetica,Arial,sans-serif;
+}
+
+.input, .output {
+ width: 90%;
+ height: 10em;
+ padding: 10px;
+ border: 1px solid #0095dd;
+ overflow: auto;
+}
+
+button {
+ padding: 10px 10px 10px 0;
+}
+</pre>
+
+<pre class="brush: js">var textarea = document.getElementById("code");
+var reset = document.getElementById("reset");
+var code = textarea.value;
+var output = document.querySelector(".output");
+var solution = document.getElementById("solution");
+
+function drawOutput() {
+ output.innerHTML = textarea.value;
+}
+
+reset.addEventListener("click", function() {
+ textarea.value = code;
+ drawOutput();
+});
+
+solution.addEventListener("click", function() {
+textarea.value = '&lt;dl&gt;\n &lt;dt&gt;Bacon&lt;/dt&gt;\n &lt;dd&gt;De lijmt die de wereld aan elkaar plakt.&lt;/dd&gt;\n &lt;dt&gt;Eieren&lt;/dt&gt;\n &lt;dd&gt;De lijm die de cake bindt.&lt;/dd&gt;\n &lt;dt&gt;Koffie&lt;/dt&gt;\n &lt;dd&gt;De drank die de wereld \'s morgens in gang krijgt.&lt;/dd&gt;\n &lt;dd&gt;Een lichtbruine kleur.&lt;/dd&gt;\n&lt;/dl&gt;';
+ drawOutput();
+});
+
+textarea.addEventListener("input", drawOutput);
+window.addEventListener("load", drawOutput);
+</pre>
+</div>
+
+<p>{{ EmbedLiveSample('Playable_code', 700, 500) }}</p>
+
+<h2 id="Citaten">Citaten</h2>
+
+<p>HTML beschikt ook over eigenschappen waameer je citaten kan opmaken. Je kan kiezen tussen elementen waarmee je de inhoud als een blokcitaat of als een inline citaat kan opmaken.</p>
+
+<h3 id="Blokcitaten">Blokcitaten</h3>
+
+<p>Als de inhoud op blokniveau wordt geciteerd, moet je dat aanduiden door die in een {{htmlelement("blockquote")}}-element in te bedden. (Dit kan een paragraaf zijn, meerdere paragrafen, een lijst enz.). Verder moet je er in een {{htmlattrxref("cite","blockquote")}}-attribuut  een URL aan toevoegen die naar de bron van het citaat verwijst. De volgende opmaak bijvoorbeeld is uit de MDN <code>pagina over het &lt;blockquote&gt;</code>-element gehaald.</p>
+
+<pre class="brush: html">&lt;p&gt;Het &lt;strong&gt;HTML &lt;code&gt;&amp;lt;blockquote&amp;gt;&lt;/code&gt; element&lt;/strong&gt; (of &lt;em&gt;HTML Blok
+Citaat Element&lt;/em&gt;) maakt duidelijk dat het ingesloten element een langer citaat is.&lt;/p&gt;</pre>
+
+<p>Om dit in een blokcitaat te veranderen, doen we dit :</p>
+
+<pre class="brush: html">&lt;blockquote cite="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote"&gt;
+ &lt;p&gt;Het &lt;strong&gt;HTML &lt;code&gt;&amp;lt;blokquote&amp;gt;&lt;/code&gt; element&lt;/strong&gt; (of &lt;em&gt;HTML Blok
+ Citaat Element&lt;/em&gt;) duidt aan dat het ingesloten element een langer citaat is.&lt;/p&gt;
+&lt;/blockquote&gt;</pre>
+
+<p>De standaardstijl van een browser zal dit als een ingesprongen paragraaf weergeven die aanduidt dat dit een citaat is. MDN doet dit ook en voegt er nog wat extra stijl aan toe:</p>
+
+<blockquote cite="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote">
+<p><strong>Het HTML <code>&lt;blockquote&gt;</code> element</strong> (of <em>HTML Blokcitaat element</em>) duidt aan dat de ingesloten tekst een langer citaat is.</p>
+</blockquote>
+
+<h3 id="Inline_citaten">Inline citaten</h3>
+
+<p>Inline citaten werken op exact dezelfde manier met één uitzondering: ze gebruiken het {{htmlelement("q")}}-element. Als voorbeeld zie je de opgemaakte tekst hieronder: hij bevat een citaat uit de MDN <code>&lt;q&gt;</code> pagina:</p>
+
+<pre class="brush: html">&lt;p&gt;Het citaat element — &lt;code&gt;&amp;lt;q&amp;gt;&lt;/code&gt; — is &lt;q cite="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/q"&gt;bedoeld voor korte citaten die geen volledige paragraaf beslaan. &lt;/q&gt;&lt;/p&gt;</pre>
+
+<p>De standaardstijl van een browser zal dit als normale tekst weergeven die tussen aanhalingstekens staat en zo aanduidt dat het hier om een citaat gaat. Zoals dit:</p>
+
+<p>Het citaat element — <code>&lt;q&gt;</code> — is <q cite="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/q">bedoeld voor korte citaten die geen volledige paragraaf beslaan.</q></p>
+
+<h3 id="Het_cite-attribuut_en_het_cite-element">Het cite-attribuut en het cite-element</h3>
+
+<p>De inhoud van het {{htmlattrxref("cite","blockquote")}}-attribuut klinkt nuttig, maar spijtig genoeg doen browsers, schermlezers enz. er niet echt veel mee. Je kan de inhoud van <code>cite</code>, niet zichtbaar maken in de browser zonder dat je daarvoor je eigen oplossing in JavaScript of CSS moet schrijven. Als je de bron van je citaat beschikbaar wil maken op de pagina, kan je het {{htmlelement("cite")}}-element beter naast het citaat-element plaatsen. Dit element moet eigenlijk de bron van het citaat bevatten, i.e. de naam van het boek of  van de persoon die het citaat heeft gezegd, maar er is geen reden waarom je de tekst in het <code>&lt;cite&gt;-</code>element niet op de één of andere manier aan de bron van het citaat zou kunnen linken:</p>
+
+<pre class="brush: html">&lt;p&gt;Volgens de &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote"&gt;
+&lt;cite&gt;MDN-pagina over het blokcitaat&lt;/cite&gt;&lt;/a&gt;:
+&lt;/p&gt;
+
+&lt;blockquote cite="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote"&gt;
+ &lt;p&gt;Het &lt;strong&gt;HTML &lt;code&gt;&amp;lt;blockquote&amp;gt;&lt;/code&gt;-element&lt;/strong&gt; (of &lt;em&gt;HTML Blokcitaat-element&lt;/em&gt;)
+ duidt aan dat de ingesloten tekst een langer citaat is.&lt;/p&gt;
+&lt;/blockquote&gt;
+
+&lt;p&gt;Het citaatelement — &lt;code&gt;&amp;lt;q&amp;gt;&lt;/code&gt; — is &lt;q cite="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/q"&gt;bedoeld
+voor korte citaten die niet uit meerdere paragrafen bestaan.&lt;/q&gt; -- &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/q"&gt;
+&lt;cite&gt;MDN-pagina over het q-elementa&lt;/cite&gt;&lt;/a&gt;.&lt;/p&gt;</pre>
+
+<p>De bron van een citaat wordt standaar cursief gedrukt. Je kan deze code aan het werk zien in ons <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/advanced-text-formatting/quotations.html">quotations.html</a> voorbeeld.</p>
+
+<h3 id="Actief_leren_Wie_zei_dat">Actief leren: Wie zei dat?</h3>
+
+<p>Tijd voor nog een voorbeeld met actief leren! In dit voorbeeld willen we het volgende:</p>
+
+<ol>
+ <li>Verander de middelste paragraaf in een blokcitaat en voeg een <code>cite</code>-attribuut toe.</li>
+ <li>Verander een deel van de derde paragraaf in een inline citaat en zorg ervoor dat het element ook een <code>cite</code>-attribuut bevat.</li>
+ <li>Voeg een <code>&lt;cite&gt;</code>-element toe aan elk citaat.</li>
+</ol>
+
+<p>Zoek online naar geschikte bronnen.</p>
+
+<p>Als je een fout maakt, kan je altijd op <em>Maak Ongedaan</em> drukken. Als je echt vast raakt, kan je op de <em>Toon Oplossing</em>-knop drukken om het antwoord te zien.</p>
+
+<div class="hidden">
+<h6 id="Playable_code_2">Playable code</h6>
+
+<pre class="brush: html">&lt;h2&gt;Invoer&lt;/h2&gt;
+&lt;textarea id="code" class="input"&gt;&lt;p&gt;Hallo en welkom op mijn motivatiepagina. Zoals Confucius ooit zei:&lt;/p&gt;
+
+&lt;p&gt;Het doet er niet toe hoe langzaam je gaat zolang je maar niet stopt.&lt;/p&gt;
+
+&lt;p&gt;Ik houd ook van het concept van positief denken en de nood om negatieve gesprekken met jezelf te elimineren.
+(zoals vermeld in Affirmations for Positive Thinking.)&lt;/p&gt;&lt;/textarea&gt;
+&lt;h2&gt;Uitvoer&lt;/h2&gt;
+&lt;div class="output"&gt;&lt;/div&gt;
+&lt;div class="controls"&gt;
+  &lt;input id="reset" type="button" value="Maak Ongedaan" /&gt;
+ &lt;input id="solution" type="button" value="Toon Oplossing" /&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">body {
+ font-family: 'Open Sans Light',Helvetica,Arial,sans-serif;
+}
+
+.input, .output {
+ width: 90%;
+ height: 10em;
+ padding: 10px;
+ border: 1px solid #0095dd;
+ overflow: auto;
+}
+
+button {
+ padding: 10px 10px 10px 0;
+}
+</pre>
+
+<pre class="brush: js">var textarea = document.getElementById("code");
+var reset = document.getElementById("reset");
+var code = textarea.value;
+var output = document.querySelector(".output");
+var solution = document.getElementById("solution");
+
+function drawOutput() {
+ output.innerHTML = textarea.value;
+}
+
+reset.addEventListener("click", function() {
+ textarea.value = code;
+ drawOutput();
+});
+
+solution.addEventListener("click", function() {
+textarea.value = '&lt;p&gt;Hallo en welkom op mijn motivatiepagina. Zoals &lt;a href="http://www.brainyquote.com/quotes/authors/c/confucius.html"&gt;&lt;cite&gt;Confucius&lt;/cite&gt;&lt;/a&gt; ooit zei:&lt;/p&gt;\n\n&lt;blockquote cite="http://www.brainyquote.com/quotes/authors/c/confucius.html"&gt;\n &lt;p&gt;Het doet er niet toe hoe langzaam je gaat zolang je maar niet stopt.&lt;/p&gt;\n&lt;/blockquote&gt;\n\n&lt;p&gt;Ik houd ook van het concept van positief denken en &lt;q cite="http://www.affirmationsforpositivethinking.com/index.htm"&gt;de nood om negatieve gesprekken met jezelf te elimineren&lt;/q&gt; (zoals vermeld in &lt;a href="http://www.affirmationsforpositivethinking.com/index.htm"&gt;&lt;cite&gt;Affirmations for Positive Thinking.&lt;/cite&gt;&lt;/a&gt;.)&lt;/p&gt;';
+ drawOutput();
+});
+
+textarea.addEventListener("input", drawOutput);
+window.addEventListener("load", drawOutput);
+</pre>
+</div>
+
+<p>{{ EmbedLiveSample('Playable_code_2', 700, 500) }}</p>
+
+<h2 id="Afkortingen">Afkortingen</h2>
+
+<p>Het {{htmlelement("abbr")}}-element is een ander vrij courant element dat je zal tegenkomen als je op het web surft. Het omhult een afkorting of acroniem en verschaft ook de volledige term (die in het {{htmlattrxref("title")}}-attribuut steekt.) We gaan eerst een paar voorbeelden bekijken:</p>
+
+<pre>&lt;p&gt;We gebruiken &lt;abbr title="Hypertext Markup Language"&gt;HTML&lt;/abbr&gt; om onze webdocumenten te structureren.&lt;/p&gt;
+
+&lt;p&gt;Ik denk dat &lt;abbr title="Monseigneur"&gt;Mgr.&lt;/abbr&gt; Green het in de keuken deed met de kettingzaag.&lt;/p&gt;</pre>
+
+<p>Deze zullen er ongeveer zo uitzien (de volledige tekst zal als een tooltip verschijnen als je er met je muis overeen glijdt):</p>
+
+<p>We gebruiken <abbr title="Hypertext Markup Language">HTML</abbr> om onze webdocumenten te structureren.</p>
+
+<p>Ik denk dat <abbr title="Reverend">Mgr.</abbr> Green het in de keuken deed met de kettingzaag.</p>
+
+<div class="note">
+<p><strong>Opmerking</strong>: Er is nog een ander element, {{htmlelement("acronym")}}, dat in feite hetzelfde doet als <code>&lt;abbr&gt;. Dit element was</code> specifiek voor acroniemen bedoeld en niet zozeer voor afkortingen. Het wordt echter niet meer gebruikt — browsers ondersteunden het niet zo goed als <code>&lt;abbr&gt;</code> en de functies zijn zo gelijkaardig dat men het gevoel had dat het zinloos was om beide elementen te hebben. Gebruik dus gewoon altijd <code>&lt;abbr&gt;</code>.</p>
+</div>
+
+<h3 id="Actief_leren_maak_een_afkorting_op">Actief leren: maak een afkorting op</h3>
+
+<p>Voor deze eenvoudige opdracht, willen we dat je gewoon een afkorting opmaakt. Je kan het voorbeeld hier beneden gebruiken of het vervangen door eentje dat je zelf kiest.</p>
+
+<div class="hidden">
+<h6 id="Playable_code_3">Playable code</h6>
+
+<pre class="brush: html">&lt;h2&gt;Invoer&lt;/h2&gt;
+&lt;textarea id="code" class="input"&gt;&lt;p&gt;NASA doet echt wel opwinded werk.&lt;/p&gt;&lt;/textarea&gt;
+&lt;h2&gt;Uitvoer&lt;/h2&gt;
+&lt;div class="output"&gt;&lt;/div&gt;
+&lt;div class="controls"&gt;
+  &lt;input id="reset" type="button" value="Ongedaan Maken" /&gt;
+ &lt;input id="solution" type="button" value="Toon Oplossing" /&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">body {
+ font-family: 'Open Sans Light',Helvetica,Arial,sans-serif;
+}
+
+.input, .output {
+ width: 90%;
+ height: 5em;
+ padding: 10px;
+ border: 1px solid #0095dd;
+ overflow: auto;
+}
+
+button {
+ padding: 10px 10px 10px 0;
+}
+</pre>
+
+<pre class="brush: js">var textarea = document.getElementById("code");
+var reset = document.getElementById("reset");
+var code = textarea.value;
+var output = document.querySelector(".output");
+var solution = document.getElementById("solution");
+
+function drawOutput() {
+ output.innerHTML = textarea.value;
+}
+
+reset.addEventListener("click", function() {
+ textarea.value = code;
+ drawOutput();
+});
+
+solution.addEventListener("click", function() {
+textarea.value = '&lt;p&gt;&lt;abbr title="National Aeronautics and Space Administration"&gt;NASA&lt;/abbr&gt; doet echt wel opwinded werk&lt;/p&gt;';
+ drawOutput();
+});
+
+textarea.addEventListener("input", drawOutput);
+window.addEventListener("load", drawOutput);
+</pre>
+</div>
+
+<p>{{ EmbedLiveSample('Playable_code_3', 700, 350) }}</p>
+
+<h2 id="Contactinformatie_opmaken">Contactinformatie opmaken</h2>
+
+<p>HTML heeft een element om contactinformatie mee op te maken — {{htmlelement("address")}}. Het element omhult gewoon je contactinformatie, bijvoorbeeld:</p>
+
+<pre class="brush: html">&lt;address&gt;
+ &lt;p&gt;Chris Mills, Manchester, Het Grimmige Noorden, UK&lt;/p&gt;
+&lt;/address&gt;</pre>
+
+<p>Er is wel een ding dat je moet onthouden: het &lt;address&gt;-element is bedoeld om de contactinformatie op te maken van de persoon die het HTML-document heeft geschreven en niet van <em>eender welk</em> adres. Het voorbeeld hierboven is dus enkel oké als Chris het document heeft geschreven waarin de opmaak verschijnt. Iets zoals het volgende is ook oké:</p>
+
+<pre class="brush: html">&lt;address&gt;
+ &lt;p&gt;Deze pagina is geschreven door &lt;a href="../authors/chris-mills/"&gt;Chris Mills&lt;/a&gt;.&lt;/p&gt;
+&lt;/address&gt;</pre>
+
+<h2 id="Superscript_en_subscript">Superscript en subscript</h2>
+
+<p>Nu en dan zal je superscript en subscript nodig hebben bij de opmaak van inhoud zoals een datum, een chemische formule en wiskundige vergelijkingen. Het {{htmlelement("sup")}} en het {{htmlelement("sub")}}-element zorgen ervoor dat die inhoud de juiste betekenis krijgt. Zoals in dit voorbeeld:</p>
+
+<pre class="brush: html">&lt;p&gt;Mijn verjaardag valt op de 25&lt;sup&gt;ste&lt;/sup&gt; mei 2001.&lt;/p&gt;
+&lt;p&gt;De chemische formule van caffeïne is C&lt;sub&gt;8&lt;/sub&gt;H&lt;sub&gt;10&lt;/sub&gt;N&lt;sub&gt;4&lt;/sub&gt;O&lt;sub&gt;2&lt;/sub&gt;.&lt;/p&gt;
+&lt;p&gt;Als x&lt;sup&gt;2&lt;/sup&gt; gelijk is aan 9, dan is x gelijk 3 aan of -3.&lt;/p&gt;</pre>
+
+<p>De output van deze code ziet er zo uit:</p>
+
+<p>Mijn verjaardag valt op de 25<sup>ste</sup> mei 2001.</p>
+
+<p>De chemische formule van caffeïne is C<sub>8</sub>H<sub>10</sub>N<sub>4</sub>O<sub>2</sub>.</p>
+
+<p>Als x<sup>2</sup> gelijk is aan 9, dan is x gelijk aan 3 of -3.</p>
+
+<h2 id="De_weergave_van_computercode">De weergave van computercode</h2>
+
+<p>Er bestaan een aantal elementen waarmee je computercode kan opmaken in HTML:</p>
+
+<ul>
+ <li>{{htmlelement("code")}}: Voor de opmaak van algemene computercode.</li>
+ <li>{{htmlelement("pre")}}: Voor de opmaak van tekstblokken met een vaste breedte waarin de witte ruimte bewaard blijft (in het algemeen zijn dat blokken met code. Je hoeft geen speciale karakters te gebruiken voor regeleindes of witte ruimte. Alles binnen de pre-tags wordt weergegeven zoals jij het hebt getypt.)</li>
+ <li>{{htmlelement("var")}}: Voor de opmaak van de namen van variabelen.</li>
+ <li>{{htmlelement("kbd")}}: Voor de opmaak van allerlei vormen van invoer die (onder andere via een toetsenbord)  is ingegeven in de computer.</li>
+ <li>{{htmlelement("samp")}}: Voor de opmaak van de uitvoer van een computerprogramma.</li>
+</ul>
+
+<p>We gaan een paar voorbeelden bekijken. Probeer er wat mee te spelen (je kan een kopie van ons <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/advanced-text-formatting/other-semantics.html">other-semantics.html</a> voorbeeldbestand nemen):</p>
+
+<pre class="brush: html">&lt;pre&gt;&lt;code&gt;var para = document.querySelector('p');
+
+para.onclick = function() {
+ alert('Owww, stop met in mijn ribben te porren!');
+}&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;Je zou geen weergave-elementen mogen gebruiken zoals &lt;code&gt;&amp;lt;font&amp;gt;&lt;/code&gt; en &lt;code&gt;&amp;lt;center&amp;gt;&lt;/code&gt;.&lt;/p&gt;
+
+&lt;p&gt;In het JavaScript voorbeeld hierboven vertegenwoordigt &lt;var&gt;para&lt;/var&gt; een paragraaf-element.&lt;/p&gt;
+
+&lt;p&gt;Selecteer alle tekst met &lt;kbd&gt;Ctrl&lt;/kbd&gt;/&lt;kbd&gt;Cmd&lt;/kbd&gt; + &lt;kbd&gt;A&lt;/kbd&gt;.&lt;/p&gt;
+
+&lt;pre&gt;$ &lt;kbd&gt;ping mozilla.org&lt;/kbd&gt;
+&lt;samp&gt;PING mozilla.org (63.245.215.20): 56 data bytes
+64 bytes van 63.245.215.20: icmp_seq=0 ttl=40 time=158.233 ms&lt;/samp&gt;&lt;/pre&gt;</pre>
+
+<p>De code hierboven zal er zo uitzien:</p>
+
+<p>{{ EmbedLiveSample('Representing_computer_code','100%',300) }}</p>
+
+<h2 id="De_opmaak_van_uren_en_data">De opmaak van uren en data</h2>
+
+<p>HTML heeft ook het {{htmlelement("time")}}-element om uren en data in een formaat om te zetten dat door een machine kan gelezen worden. Bijvoorbeeld:</p>
+
+<pre class="brush: html">&lt;<span class="pl-ent">time</span> <span class="pl-e">datetime</span>=<span class="pl-s"><span class="pl-pds">"</span>2016-01-20<span class="pl-pds">"</span></span>&gt;20 januari 2016&lt;/<span class="pl-ent">time</span>&gt;</pre>
+
+<p>Waarom is dit nuttig? Wel, er zijn vele manieren waarop mensen data noteren. De datum hierboven zou kunnen worden geschreven als:</p>
+
+<ul>
+ <li>20 januari 2016</li>
+ <li>20th January 2016</li>
+ <li>jan 20 2016</li>
+ <li>20/06/16</li>
+ <li>06/20/16</li>
+ <li>De 20ste van de volgende maand</li>
+ <li><span lang="fr">20e Janvier 2016</span></li>
+ <li><span lang="ja">2016年1月20日</span></li>
+ <li>Enzovoort</li>
+</ul>
+
+<p>Maar deze verschillende vormen kunnen niet gemakkelijk worden herkend door de computers. Wat als je automatisch de data van alle gebeurtenissen in een pagina zou willen grijpen en die in een kalender steken ? Met het {{htmlelement("time")}}-element kan je een ondubbelzinnige tijd en uur vastmaken aan je datum zodat die door een machine kan gelezen worden .</p>
+
+<p>Het basisvoorbeeld hierboven toont ons een simpele datum, maar er zijn nog vele andere opties mogelijk. Bijvoorbeeld:</p>
+
+<pre class="brush: html">&lt;!-- Eenvoudige standaarddatum --&gt;
+&lt;<span class="pl-ent">time</span> <span class="pl-e">datetime</span>=<span class="pl-s"><span class="pl-pds">"</span>2016-01-20<span class="pl-pds">"</span></span>&gt;20 January 2016&lt;/<span class="pl-ent">time</span>&gt;
+&lt;!-- Enkel jaar en maand --&gt;
+&lt;<span class="pl-ent">time</span> <span class="pl-e">datetime</span>=<span class="pl-s"><span class="pl-pds">"</span>2016-01<span class="pl-pds">"</span></span>&gt;January 2016&lt;/<span class="pl-ent">time</span>&gt;
+&lt;!-- Enkel maand en dag --&gt;
+&lt;<span class="pl-ent">time</span> <span class="pl-e">datetime</span>=<span class="pl-s"><span class="pl-pds">"</span>01-20<span class="pl-pds">"</span></span>&gt;20 January&lt;/<span class="pl-ent">time</span>&gt;
+&lt;!-- Enkel tijd, uren en minuten --&gt;
+&lt;<span class="pl-ent">time</span> <span class="pl-e">datetime</span>=<span class="pl-s"><span class="pl-pds">"</span>19:30<span class="pl-pds">"</span></span>&gt;19:30&lt;/<span class="pl-ent">time</span>&gt;
+&lt;!-- Je kan ook seconden en milliseconden weergeven! --&gt;
+&lt;<span class="pl-ent">time</span> <span class="pl-e">datetime</span>=<span class="pl-s"><span class="pl-pds">"</span></span>19:30:01.856<span class="pl-s"><span class="pl-pds">"</span></span>&gt;19:30:01.856&lt;/<span class="pl-ent">time</span>&gt;
+&lt;!-- Datum en tijd --&gt;
+&lt;<span class="pl-ent">time</span> <span class="pl-e">datetime</span>=<span class="pl-s"><span class="pl-pds">"</span>2016-01-20T19:30<span class="pl-pds">"</span></span>&gt;7.30pm, 20 January 2016&lt;/<span class="pl-ent">time</span>&gt;
+&lt;!-- Datum en tijd met tijdzone --&gt;
+&lt;<span class="pl-ent">time</span> <span class="pl-e">datetime</span>=<span class="pl-s"><span class="pl-pds">"</span>2016-01-20T19:30<span class="pl-pds">+01:00"</span></span>&gt;7.30pm, 20 January 2016 is 8.30pm in France&lt;/<span class="pl-ent">time</span>&gt;
+&lt;!-- Vermelding van een specifiek weeknummer--&gt;
+&lt;<span class="pl-ent">time</span> <span class="pl-e">datetime</span>=<span class="pl-s"><span class="pl-pds">"</span>2016-W04<span class="pl-pds">"</span></span>&gt;The fourth week of 2016&lt;/<span class="pl-ent">time</span>&gt;</pre>
+
+<h2 id="Samenvatting">Samenvatting</h2>
+
+<p>En zo komen we aan het einde van onze studie over HTML tekst en semantiek. Wees je er wel van bewust dat wat je in deze cursus hebt gezien lang niet alles is. Er zijn nog veel meer HTML tekstelementen. We hebben geprobeerd om de belangrijkste elementen te bespreken en een aantal van de courante element die je in het wild zal tegenkomen of ten minste interessant zal vinden. Om meer HTML-elementen te vinden, kan je een kijkje nemen op onze <a href="/en-US/docs/Web/HTML/Element">HTML element reference</a> pagina. (de <a href="/en-US/docs/Web/HTML/Element#Inline_text_semantics">Inline text semantics</a> sectie zou een zeer goede plaats kunnen zijn om te beginnen.) In het volgende artikel zullen we de HTML-elementen bekijken die je gebruikt om de verschillende onderdelen van een HTML-document te structureren.</p>
+
+<p>{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/Creating_hyperlinks", "Learn/HTML/Introduction_to_HTML/Document_and_website_structure", "Learn/HTML/Introduction_to_HTML")}}</p>
diff --git a/files/nl/learn/html/introduction_to_html/het_hoofd_metadata_in_html/index.html b/files/nl/learn/html/introduction_to_html/het_hoofd_metadata_in_html/index.html
new file mode 100644
index 0000000000..b6e0307328
--- /dev/null
+++ b/files/nl/learn/html/introduction_to_html/het_hoofd_metadata_in_html/index.html
@@ -0,0 +1,257 @@
+---
+title: Wat steekt er in het hoofd? Metadata in HTML
+slug: Learn/HTML/Introduction_to_HTML/Het_hoofd_metadata_in_HTML
+translation_of: Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML
+---
+<div>{{LearnSidebar}}</div>
+
+<div>{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/Getting_started", "Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals", "Learn/HTML/Introduction_to_HTML")}}</div>
+
+<p class="summary">Het {{glossary("Head", "hoofd")}} van een HTML-document is het deel dat niet wordt getoond in de webbrowser wanneer de pagina is geladen. Het bevat informatie zoals de {{htmlelement("title")}} van de pagina, links naar {{glossary("CSS")}} (als je je HTML-inhoud met CSS wil stijlen), koppelingen naar aangepaste favicons en andere metadata (data over de HTML, zoals wie die geschreven heeft en belangrijke sleutelwoorden die het document beschrijven.) In dit artikel behandelen we alle zaken die we hierboven hebben vermeld en we geven je een goede basis om met de opmaak en andere code om te gaan die in het hoofd zou moeten leven. </p>
+
+<table class="learn-box standard-table">
+ <tbody>
+ <tr>
+ <th scope="row">Vereisten:</th>
+ <td>Basiskennis HTML vergelijkbaar met de informatie die is aangeboden in <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started">Beginnen met HTML</a>.</td>
+ </tr>
+ <tr>
+ <th scope="row">Doel:</th>
+ <td>Over het HTML-hoofd leren: wat is zijn doel, wat zijn de belangrijkste onderdelen die het kan bevatten en welk effect kan het hebben op het HTML-document.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Wat_is_het_HTML-hoofd">Wat is het HTML-hoofd?</h2>
+
+<p>We bekijken opnieuw het eenvoudige <a href="/en-US/Learn/HTML/Introduction_to_HTML/Getting_started#Anatomy_of_an_HTML_document">HTML-document dat we in het vorige artikel hebben besproken</a>:</p>
+
+<pre class="brush: html">&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+ &lt;head&gt;
+ &lt;meta charset="utf-8"&gt;
+ &lt;title&gt;Mijn testpagina&lt;/title&gt;
+ &lt;/head&gt;
+ &lt;body&gt;
+ &lt;p&gt;Dit is mijn pagina&lt;/p&gt;
+ &lt;/body&gt;
+&lt;/html&gt;</pre>
+
+<p>Het HTML-hoofd is de inhoud van het {{htmlelement("head")}}-element. In tegenstelling tot de inhoud van het {{htmlelement("body")}}-element die wordt weergegeven als de pagina in een browser wordt geladen, is de inhoud van het hoofd niet niet zichtbaar op de pagina. De taak van het hoofd is om {{glossary("Metadata", "metadata")}} over het document te bevatten. In het voorbeeld hierboven is het hoofd vrij klein:</p>
+
+<pre class="brush: html">&lt;head&gt;
+ &lt;meta charset="utf-8"&gt;
+ &lt;title&gt;Mijn testpagina&lt;/title&gt;
+&lt;/head&gt;</pre>
+
+<p>In grotere pagina's echter, kan het hoofd echt wel vol allerlei zaken staan  — ga maar eens naar een paar van je favoriete websites en gebruik de <a href="/en-US/docs/Learn/Discover_browser_developer_tools">hulpprogramma's voor ontwikkelaars</a> om de inhoud van hun hoofden te onderzoeken. Ons doel is hier niet om je alles te tonen dat je in het hoofd kan zetten en gebruiken. We willen je wel uitleggen wat de meest voor de hand liggende zaken zijn die je in je hoofd kan plaatsen, hoe je ze moet gebruiken en je er een beetje bekend mee maken. Laat ons beginnen.</p>
+
+<h2 id="Een_titel_toevoegen">Een titel toevoegen</h2>
+
+<p>We hebben het {{htmlelement("title")}}-element al in actie gezien — het kan namelijk gebruikt worden om een titel aan het document toe te voegen. Dit kan echter verward worden met het {{htmlelement("h1")}}-element dat gebruikt kan worden om de belangrijkste kop aan de inhoud van je body toe te voegen — die kop wordt soms de paginatitel genoemd maar het zijn twee verschillende zaken!</p>
+
+<ul>
+ <li>Het {{htmlelement("h1")}}-element verschijnt op de pagina wanneer die in de browser wordt geladen — over het algemeen zou die maar één keer per pagina gebruikt mogen worden. Namelijk om de titel van je pagina-inhoud op te maken (de titel van een verhaal, of de kop van een nieuwsbericht of wat er dan ook geschikt is voor jou).</li>
+ <li>Het {{htmlelement("title")}}-element behoort tot de metadata en bevat de titel van het volledige HTML-document (niet die van de inhoud van het document)</li>
+</ul>
+
+<h3 id="Actief_leren_We_onderzoeken_een_eenvoudig_voorbeeld">Actief leren: We onderzoeken een eenvoudig voorbeeld</h3>
+
+<ol>
+ <li>Om met dit hoofdstuk te beginnen, willen we dat je naar onze Github repo gaat en een kopie van onze <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/the-html-head/title-example.html">title-example.html pagina</a> downloadt. Er zijn twee manieren om dit te doen:
+
+ <ol>
+ <li>Je kan met behulp van je broncodeverwerkerde de code in de pagina in een nieuw tekstbestand kopiëren en die ergens op een goede plek opslaan.</li>
+ <li>Druk op de "Raw"-knop van de pagina. De code zal in een nieuwe tabpagina verschijnen. Vervolgens selecteer je de tekst selecteren, je kopiëert hem en je kiest een plek uit waar je het bestand kan opslaan.</li>
+ </ol>
+ </li>
+ <li>Open nu het bestand in je browser. Je zou een pagina moeten zien die er zo uitziet:
+ <p><img alt="A simple web page with the title set to &lt;title> element, and the &lt;h1> set to &lt;h1> element." src="https://mdn.mozillademos.org/files/12323/title-example.png" style="display: block; margin: 0 auto;">Het zou nu volledig duidelijk moeten zijn waar de <code>&lt;h1&gt;</code>-inhoud verschijnt en waar die van de <code>&lt;title&gt;</code>!</p>
+ </li>
+ <li> Je kan nu de code in je broncodeverwerker openen, de inhoud van deze elementen bewerken, de code opslaan en dan de pagina in je browser vernieuwen. Veel plezier!</li>
+</ol>
+
+<p>De inhoud van het <code>&lt;title&gt;-</code>element wordt ook op andere manieren gebruikt. Als je bijvoorbeeld een bladwijzer van de pagina wil maken, zal je de inhoud van het <code>&lt;title&gt;-</code>element als een suggestie voor de naam van de bladwijzer ingevuld zien staan (Om een bladwijzer te maken klik je met de <em>rechtermuisknop bovenaan in de bladwijzerbalk. </em>Dan kies je<em> Nieuwe bladwijzer</em> of klik je op<em> het sterretje bovenaan in het menu </em>in Firefox).</p>
+
+<p><img alt="A webpage being bookmarked in firefox; the bookmark name has been automatically filled in with the contents of the &lt;title> element " src="https://mdn.mozillademos.org/files/12337/bookmark-example.png" style="display: block; margin: 0 auto;"></p>
+
+<p>De <code>&lt;title&gt;-</code>inhoud wordt ook in zoekresultaten gebruikt zoals je hieronder zult zien.</p>
+
+<h2 id="Metadata_het_&lt;meta>-element">Metadata: het &lt;meta&gt;-element</h2>
+
+<p>Metadata zijn data die data beschrijven en HTML heeft een "officiële" manier om metadata aan een document toe te voegen — het {{htmlelement("meta")}}-element. Natuurlijk kan al het andere waarover we in dit artikel al hebben gesproken ook als metadata worden beschouwd. Er zijn vele verschillende soorten <code>&lt;meta&gt;-</code>element die kunnen worden opgenomen in het &lt;head&gt; van je pagina, maar die gaan we nog niet proberen uit te leggen omdat dat gewoon te verwarrend zou worden. In de plaats daarvan gaan we nu een paar zaken uitleggen die je vaak zal zien, gewoon om je een idee te geven van wat metadata zijn.</p>
+
+<h3 id="De_tekencodering_van_je_document_bepalen">De tekencodering van je document bepalen</h3>
+
+<p>In het voorbeeld dat we hierboven hebben gezien, staat deze regel:</p>
+
+<pre class="brush: html">&lt;meta charset="utf-8"&gt;</pre>
+
+<p>Dit element bepaalt de tekencodering van het document .  Dit is de tekenset (i.e. de karakters, zoals onze letters, Japanse tekens, wiskundige symbolen...) die je document mag gebruiken. <code>utf-8</code> is een universele tekenset waarin zowat elk karakter in elke menselijke taal is opgenomen.  Dit betekent dat je webpagina in staat zal zijn om elke taal weer te geven. Het is dan ook een goed idee om deze tekenset toe te voegen aan elke webpagina die je creëert! Je pagina zal bijvoorbeeld Engelse en Japanse karakters prima aankunnen:</p>
+
+<p><img alt="a web page containing English and Japanese characters, with the character encoding set to universal, or utf-8. Both languages display fine," src="https://mdn.mozillademos.org/files/12343/correct-encoding.png" style="display: block; margin: 0 auto;">Als je je karakterencodering volgens <code>ISO-8859-1</code> instelt (de tekenset voor het Latijnse alfabet), zal de weergave van je pagina volledig in de knoei raken:</p>
+
+<p><img alt="a web page containing English and Japanese characters, with the character encoding set to latin. The Japanese characters don't display correctly" src="https://mdn.mozillademos.org/files/12341/bad-encoding.png" style="display: block; height: 365px; margin: 0px auto; width: 604px;"></p>
+
+<h3 id="Actief_leren_Een_experiment_met_tekenencodering">Actief leren: Een experiment met tekenencodering</h3>
+
+<p>Om dit uit te proberen, neem je het eenvoudige HTML-sjabloon dat je in de vorige sectie over het <code>&lt;title&gt;-</code>element hebt gevonden (de <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/the-html-head/title-example.html">title-example.html pagina</a>). Probeer de meta tekenset-waarde in <code>ISO-8859-1 </code>te veranderen en voeg dan wat Japanse tekens aan je pagina toe. Dit is de code die we hebben gebruikt:</p>
+
+<pre class="brush: html">&lt;p&gt;Japanese example: ご飯が熱い。&lt;/p&gt;</pre>
+
+<h3 id="Een_auteur_en_een_beschrijving_toevoegen">Een auteur en een beschrijving toevoegen</h3>
+
+<p>Vele <code>&lt;meta&gt;-</code>elementen kunnen ook attributen voor naam en inhoud krijgen:</p>
+
+<ul>
+ <li><code>name</code> bepaalt met welke type meta-element je werkt en welke type informatie het bevat.</li>
+ <li><code>content</code> (inhoud in het Nederlands) bepaalt welke meta-inhoud wordt gebruikt.</li>
+</ul>
+
+<p>Er bestaan twee nuttige meta-elementen: eentje waarmee je de auteur van de pagina kan vermelden en nog één dat de gebruiker een een beknopte beschrijving van de pagina verschaft. Laat ons een voorbeeld bekijken:</p>
+
+<pre class="brush: html">&lt;meta name="author" content="Chris Mills"&gt;
+&lt;meta name="description" content="Het MDN Leerplatform heeft als doel
+totale beginners alle informatie te verschaffen om te kunnen beginnen
+met het ontwerpen van websites en applicaties."&gt;</pre>
+
+<p>Er zijn een paar redenen waarom het nuttig is de auteur te vermelden: het is handig omdat je erachter kan komen wie de pagina heeft geschreven en je kan hem/haar/hen vragen over de inhoud stellen. Sommige inhoudsbeheersystemen selecteren automatisch de auteursinformatie en maken die beschikbaar voor zulke doeleinden.</p>
+
+<p>Vergeet niet dat je de Engelse termen <em>name, description </em>(beschrijving) en <em>content </em>(inhoud) in je HTML-pagina moet gebruiken.</p>
+
+<p>Het is nuttig als een <em>description </em>sleutelwoorden bevat die relevant zijn voor de inhoud op je pagina omdat die je pagina hoger in relevante resultaten van zoekmachines doet verschijnen (zulke activiteiten noemen we <a href="/en-US/docs/Glossary/SEO">Search Engine Optimization</a> (optimalisatie van zoekmachines) or {{glossary("SEO")}}.)</p>
+
+<h3 id="Actief_leren_Het_gebruik_van_de_beschrijving_in_zoekmachines">Actief leren: Het gebruik van de beschrijving in zoekmachines</h3>
+
+<p>De <em>description </em>(beschrijving) wordt ook gebruikt in de pagina's met resultaten van zoekmachines. We gaan dit nu verder onderzoeken met een oefening.</p>
+
+<ol>
+ <li>Ga naar het <a href="https://developer.mozilla.org/en-US/">voorblad van het Mozilla Developer Network</a>.</li>
+ <li>Bekijk de bron van de pagina (Klik met de rechtermuisknop + <kbd>Ctrl</kbd>  op de pagina, kies <em>Paginabron bekijken</em>.)</li>
+ <li>Zoek het metalabel met de description. Die zal er zo uitzien:
+ <pre class="brush: html">&lt;meta name="description" content="Het Mozilla Developer Network (MDN) biedt informatie over Open-Web-technologieën waaronder HTML, CSS, en API's voor zowel websites als HTML5-apps. Ook documenteert het Mozilla producten, zoals Firefox OS."&gt;</pre>
+ </li>
+ <li>Zoek nu "Mozilla Developer Network" in je favoriete zoekmachine (wij gebruikten Yahoo). In de zoekresultaten zal je de inhoud zien van de description <code>&lt;meta&gt;-</code> en de content (inhoud) van het <code>&lt;title&gt;-</code>element — zeker de moeite waard om te hebben!
+ <p><img alt='A Yahoo search result for "Mozilla Developer Network"' src="https://mdn.mozillademos.org/files/12347/search-result.png" style="display: block; margin: 0 auto;"></p>
+ </li>
+</ol>
+
+<div class="note">
+<p><strong>Opmerking</strong>: In Google zal je onder de hoofdlink van de MDN-startpagina een paar relevante MDN-pagina's zien — deze worden site koppelingen genoemd en je kan die configureren met <a href="http://www.google.com/webmasters/tools/">Google's webmaster tools</a> — een manier om de zoekresultaten van je site te verbeteren in de Google zoekmachine.</p>
+</div>
+
+<div class="note">
+<p><strong>Opmerking</strong>: Vele <code>&lt;meta&gt;</code> eigenschappen worden eigenlijk niet meer gebruikt. Het sleutelwoord <code>&lt;meta&gt;-</code>element bijvoorbeeld, zou sleutelwoorden voor zoekmachines moeten verschaffen om zo de relevantie van de pagina voor verschillende zoektermen te bepalen. Het wordt nu door zoekmachines genegeerd omdat spammers deze lijst van sleutelwoorden met honderden sleutelwoorden opvulden en zo de resultaten verdraaiden. </p>
+</div>
+
+<h3 id="Andere_metadata-types">Andere metadata-types</h3>
+
+<p>Terwijl je in het web zit rond te scharrelen, zal je ook andere types van metadata tegenkomen. Vele eigenschappen die je op websites zult zien zijn hun eigen creaties en ontworpen om bepaalde sites (zoals socialenetwerksites) specifieke informatie te verschaffen die ze kunnen gebruiken.</p>
+
+<p><a href="http://ogp.me/">Open Graph Data</a> bijvoorbeeld is een metadata-protocol dat Facebook heeft uitgevonden om websites van verrijkte metadata te voorzien. In de MDN-broncode, zal je dit vinden:</p>
+
+<pre class="brush: html">&lt;meta property="og:image" content="https://developer.cdn.mozilla.net/static/img/opengraph-logo.dc4e08e2f6af.png"&gt;
+&lt;meta property="og:description" content="The Mozilla Developer Network (MDN) provides
+information about Open Web technologies including HTML, CSS, and APIs for both Web sites
+and HTML5 Apps. It also documents Mozilla products, like Firefox OS."&gt;
+&lt;meta property="og:title" content="Mozilla Developer Network"&gt;</pre>
+
+<p>Dat heeft ondere andere het volgende effect: als je een hyperlink maakt naar MDN op facebook, zal de hyperlink samen met een afbeelding en een beschrijving verschijnen: een verrijkte ervaring voor gebruikers.</p>
+
+<p><img alt="Open graph protocol data from the MDN homepage as displayed on facebook, showing an image, title, and description." src="https://mdn.mozillademos.org/files/12349/facebook-output.png" style="display: block; margin: 0 auto;">Twitter heef ook gelijkaardige eigen metadata, die een vergelijkbaar effect hebben als de URL van de site op twitter.com wordt getoond. Bijvoorbeeld:</p>
+
+<pre class="brush: html">&lt;meta name="twitter:title" content="Mozilla Developer Network"&gt;</pre>
+
+<h2 id="Eigen_op_maat_gemaakte_iconen_toevoegen_aan_je_site">Eigen op maat gemaakte iconen toevoegen aan je site</h2>
+
+<p>Om het design van je site verder te verrijken, kan je referenties naar op maat gemaakte iconen in je metadata steken. Die zullen in een aantal contexten worden weergegeven.</p>
+
+<p>De nederige favicon hoort er al vele, vele jaren bij. Je vindt het bovenaan in het tab-gedeelte naast de &lt;title&gt;-inhoud van je pagina staat en naast  je bladwijzers in je bladwijzerbalk. Het was het eerste icoon van dit type, een 16 x 16 pixel icoon dat op meerdere plaatsen wordt gebruikt. De favicon kan op twee manieren aan je pagina worden toegevoegd:</p>
+
+<ol>
+ <li>Je slaat hem op in dezelfde folder als die waarin de index-pagina van je site is opgeslagen en je doet dat met de <code>.ico-</code>extensie. (De meeste browsers zullen favicons in gewonere formaten ondersteunen zoals<code>.gif</code> of <code>.png</code>, maar als je het ICO-formaat gebruikt zal dat ervoor zorgen dat het werkt, zelfs in Internet Explorer 6.)</li>
+ <li>Creëer er een koppeling naar door de volgende lijn in je HTML-<code>&lt;head&gt;</code> toe te voegen:
+ <pre class="brush: html">&lt;link rel="shortcut icon" href="favicon.ico" type="image/x-icon"&gt;</pre>
+ </li>
+</ol>
+
+<p>Moderne browsers gebruiken favicons op verschillende plaatsen, zoals in de tab waarin de pagina is geopend, en in het bladwijzermenu als je een bladwijzer maakt van je pagina :</p>
+
+<p><img alt="The Firefox bookmarks panel, showing a bookmarked example with a favicon displayed next to it." src="https://mdn.mozillademos.org/files/12351/bookmark-favicon.png" style="display: block; margin: 0 auto;"></p>
+
+<p>Er spelen tegenwoordig ook nog vele andere icoon-types mee. Je zal dit bijvoorbeeld in de broncode van de MDN-startpagina vinden:</p>
+
+<pre class="brush: html">&lt;!-- third-generation iPad with high-resolution Retina display: --&gt;
+&lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="https://developer.cdn.mozilla.net/static/img/favicon144.a6e4162070f4.png"&gt;
+&lt;!-- iPhone with high-resolution Retina display: --&gt;
+&lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="https://developer.cdn.mozilla.net/static/img/favicon114.0e9fabd44f85.png"&gt;
+&lt;!-- first- and second-generation iPad: --&gt;
+&lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="https://developer.cdn.mozilla.net/static/img/favicon72.8ff9d87c82a0.png"&gt;
+&lt;!-- non-Retina iPhone, iPod Touch, and Android 2.1+ devices: --&gt;
+&lt;link rel="apple-touch-icon-precomposed" href="https://developer.cdn.mozilla.net/static/img/favicon57.a2490b9a2d76.png"&gt;
+&lt;!-- basic favicon --&gt;
+&lt;link rel="shortcut icon" href="https://developer.cdn.mozilla.net/static/img/favicon32.e02854fdcf73.png"&gt;</pre>
+
+<p>De commentaren verklaren waarvoor elk icoon wordt gebruikt — deze elementen zorgen er bijvoorbeeld voor dat een icoon met een mooie hoge resolutie wordt gebruikt als de site wordt opgeslagen in het startscherm van een iPad.</p>
+
+<p>Maak je nu nog niet te veel zorgen over de implementatie van al deze verschillende soorten iconen — dit is een vrij gevorderde eigenschap and we zullen er geen kennis verwachten in deze cursus. Het belangrijkste doel is om je te laten weten dat dit soort zaken bestaat. Moest je er eentje tegenkomen terwijl zit rond te snuffelen in de broncode van één of andere website, dan weet je waar je mee bezig bent.</p>
+
+<h2 id="CSS_en_JavaScript_toepassen_op_HTML">CSS en JavaScript toepassen op HTML</h2>
+
+<p>Zowat alle websites gebruiken tegenwoordig {{glossary("CSS")}} om ze een coole look te geven en {{glossary("JavaScript")}} om interactieve functionaliteit mogelijk te maken. Voorbeelden daarvan zijn videospelers, plattegronden, spelletjes en nog veel meer. CSS en Javascript worden meestal via respectievelijk het {{htmlelement("link")}}-element en het {{htmlelement("script")}}-element op een webpagina toegepast.</p>
+
+<ul>
+ <li>
+ <p>Het {{htmlelement("link")}}-element staat altijd in het hoofd van je document. Het krijgt twee attributen, rel="stylesheet", dat aanduidt dat het het stijlblad is van het document en href, dat het pad naar het stijlblad-bestand bevat:</p>
+
+ <pre class="brush: html">&lt;link rel="stylesheet" href="my-css-file.css"&gt;</pre>
+ </li>
+ <li>
+ <p>Het {{htmlelement("script")}}-element hoeft niet in het hoofd te worden gezet; in feite is het vaak beter om het aan de onderkant van het body van het document te plaatsen (net voor het <code>&lt;/body&gt;-eindlabel</code>) om er zeker van te zijn dat alle HTML-inhoud eerst door de browser is ingelezen vooraleer de browser er Javascript op probeert toe te passen. (Als JavaScript een element probeert te gebruiken dat nog niet bestaat, zal de browser een foutmelding genereren.)</p>
+
+ <pre class="brush: html">&lt;script src="my-js-file.js"&gt;&lt;/script&gt;</pre>
+
+ <p><strong>Opmerking</strong>: Het <code>&lt;script&gt;-</code>element mag er dan als een leeg element uitzien, dat is het echt niet en het heeft dus een eindlabel nodig. In plaats van naar een extern scriptbestand te wijzen, kan je er ook voor kiezen om je volledige scriptcode tussen de twee labels van het <code>&lt;script&gt;-</code>element te plaatsen.</p>
+ </li>
+</ul>
+
+<h3 id="Actief_leren_CSS_en_JavaScript_op_een_pagina_toepassen">Actief leren: CSS en JavaScript op een pagina toepassen</h3>
+
+<ol>
+ <li>Om met deze oefening te beginnen, grijp je een kopie van onze <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/the-html-head/meta-example.html">meta-example.html</a>, <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/the-html-head/script.js">script.js</a> en <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/the-html-head/style.css">style.css</a> bestanden en sla je ze op je lokale computer in dezelfde map op. Zorg ervoor dat ze worden opgeslagen met de juiste namen en bestandsextensies.</li>
+ <li>Open het HTML-bestand in je browser en in je broncodebewerker.</li>
+ <li>Voeg nu de {{htmlelement("link")}}- en {{htmlelement("script")}}-elementen toe aan je HTML zoals hierboven is uitgelegd. Op die manier worden je CSS en JavaScript toegepast op je HTML.</li>
+</ol>
+
+<p>Als je dit correct doet en je HTML opslaat, zal je zien dat er vanalles is veranderd wanneer je de browser vernieuwt:</p>
+
+<p><img alt="Example showing a page with CSS and JavaScript applied to it. The CSS has made the page go green, whereas the JavaScript has added a dynamic list to the page." src="https://mdn.mozillademos.org/files/12359/js-and-css.png" style="display: block; margin: 0 auto;"></p>
+
+<ul>
+ <li>Het JavaScript heeft een lege lijst aan de pagina toegevoegd. Als je nu ergens op de pagina klikt, zal een dialoogvenster omhoog komen. Het zal je vragen wat tekst in te voeren om een nieuw lijstonderdeel toe te voegen. Als je op de OK-knop drukt, zal de tekst als een nieuw lijstonderdeel aan de lijst worden toegevoegd. Als je op op een bestaand lijstonderdeel klikt, zal een dialoogvenster verschijnen waarin je de tekst ervan kunt veranderen.  </li>
+ <li> De CSS heeft ervoor gezorgd dat de achtergrond nu een groene kleur heeft. De tekst is ook groter geworden. Het heeft ook de inhoud gestijld die door het Javascript aan de pagina wordt toegevoegd (de rode balk met de zwarte boord is door CSS aan de door JS gegenereerde lijst toegevoegd.) </li>
+</ul>
+
+<div class="note">
+<p><span style="font-size: 14px;"><strong>Opmerking</strong></span>: Als je in deze oefening vastraakt en er niet in slaagt om de CSS/JS op de pagina toe te passen, ga dan naar onze <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/the-html-head/css-and-js.html">css-and-js.html</a> voobeeldpagina.</p>
+</div>
+
+<h2 id="De_belangrijkste_taal_van_het_document_instellen">De belangrijkste taal van het document instellen</h2>
+
+<p>Als afsluiter vinden we het de moeite waard om te vermelden dat je de taal van je pagina kan (en echt wel zou moeten) instellen. Dit kan je doen door het <a href="/en-US/docs/Web/HTML/Global_attributes/lang">lang attribuut</a> aan het openingslabel van het HTML-element toe te voegen (zoals je hieronder en in het <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/the-html-head/meta-example.html">meta-example.html</a> kan zien.)</p>
+
+<pre class="brush: html">&lt;html lang="en-US"&gt;</pre>
+
+<p>Dit is op vele manieren nuttig. Als de taal van je HTML-document is ingesteld, zal die beter worden geïndexeerd door zoekmachines (het zal bijvoorbeeld correct verschijnen in taal-specifieke resultaten) en het is ook nuttig voor mensen met een visuele beperking die een schermlezer gebruiken. (het woord "six" bijvoorbeeld bestaat zowel in het Frans als in het Engels maar wordt op een verschillende manier uitgesproken.)</p>
+
+<p>Je kan ook subsecties van je document als verschillende talen laten herkennen. We zouden onze Japanse sectie als Japans kunnen laten herkennen, zoals hieronder :</p>
+
+<pre class="brush: html">&lt;p&gt;Japans voorbeeld: &lt;span lang="jp"&gt;ご飯が熱い。&lt;/span&gt;.&lt;/p&gt;</pre>
+
+<p>Deze codes worden gedefiniëerd door de <a href="https://en.wikipedia.org/wiki/ISO_639-1">ISO 639-1</a> standaard. Je kan er meer over ontdekken in <a href="https://www.w3.org/International/articles/language-tags/">Language tags in HTML and XML</a>.</p>
+
+<h2 id="Samenvatting">Samenvatting</h2>
+
+<p>We zijn aan het einde van onze sneltreintour over het HTML-hoofd gekomen. Er is nog veel meer dat je ermee kan doen, maar een rondleiding die alles uitlegt, zou in dit stadium snel saai en verwarrend worden. We willen je gewoon een idee geven van wat de gebruikelijkste zaken zijn die je erin kan vinden! in het volgende artikel bekijken we HTML-basisstructuren die ons helpen met tekst om te gaan.</p>
+
+<p>{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/Getting_started", "Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals", "Learn/HTML/Introduction_to_HTML")}}</p>
diff --git a/files/nl/learn/html/introduction_to_html/html_debuggen/index.html b/files/nl/learn/html/introduction_to_html/html_debuggen/index.html
new file mode 100644
index 0000000000..e0b791bd12
--- /dev/null
+++ b/files/nl/learn/html/introduction_to_html/html_debuggen/index.html
@@ -0,0 +1,161 @@
+---
+title: HTML debuggen
+slug: Learn/HTML/Introduction_to_HTML/HTML_Debuggen
+translation_of: Learn/HTML/Introduction_to_HTML/Debugging_HTML
+---
+<div>{{LearnSidebar}}</div>
+
+<div>{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/Document_and_website_structure", "Learn/HTML/Introduction_to_HTML/Marking_up_a_letter", "Learn/HTML/Introduction_to_HTML")}}</div>
+
+<p class="summary">HTML schrijven is oké maar wat als er iets fout gaat en je kan er maar niet achter komen waar de fout in je code zit? In dit artikel zullen we je kennis laten maken met een aantal instrumenten die je kunnen helpen om de fouten in je HTML op te sporen en te herstellen.</p>
+
+<table class="learn-box standard-table">
+ <tbody>
+ <tr>
+ <th scope="row">Vereisten:</th>
+ <td>Basiskennis HTML zoals die is aangeboden in <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started">Beginnen met HTML, HTML tekst: basisprincipes</a> en <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks">Hyperlinks maken</a>.</td>
+ </tr>
+ <tr>
+ <th scope="row">Objective:</th>
+ <td>Je verwerft basiskennis over het gebruik van debugging-instrumenten waarmee je de bron van problemen in HTML kan vinden.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Van_debuggen_hoef_je_niet_bang_te_zijn">Van debuggen hoef je niet bang te zijn</h2>
+
+<p>Als je de één of andere code zit te schrijven, is alles meestal dik in orde, tot het gevreesde moment waarop een fout zich voordoet. Je hebt dus iets verkeerd gedaan zodat je code niet werkt — of hij doet het helemaal niet of toch niet helemaal zoals jij dat wil. Hieronder vind je bijvoorbeeld een foutmelding die verschijnt wanneer men een simpel programma probeert te {{glossary("compileren")}} in de <a href="https://www.rust-lang.org/">Rust</a>-taal.</p>
+
+<p><img alt="A console window showing the result of trying to compile a rust program with a missing quote around a string in a print statement. The error message reported is error: unterminated double quote string." src="https://mdn.mozillademos.org/files/12435/error-message.png" style="display: block; height: 520px; margin: 0px auto; width: 711px;">Hier is de foutmelding vrij gemakkelijk te begrijpen — "unterminated double quote string" (niet afgesloten dubbele aanhalingstekens string). Als je de lijst bekijkt, zie je waarschijnlijk hoe <code>println!(Hello, world!")</code> een dubbel aanhalingsteken mist. Foutmeldingen kunnen echter snel een stuk ingewikkelder worden en minder gemakkelijk om te interpreteren omdat programma's groter worden en zelfs simpele gevallen kunnen nogal intimiderend overkomen bij iemand die niets over Rust weet. </p>
+
+<p>Toch hoeft debuggen niet angstaanjagend te zijn. De sleutel tot een comfortabel gevoel bij het schrijven van code, is je vertrouwdheid met de taal en de instrumenten die hij aanbiedt.</p>
+
+<h2 id="HTML_en_debuggen">HTML en debuggen</h2>
+
+<p>HTML is niet zo complex en makkelijker te begrijpen als Rust. HTML wordt niet eerst  in een andere vorm gecompileerd voor de browser die ontleedt en het result toont. HTML wordt <em>geïnterpreteerd</em>, niet  <em>gecompileerd</em> en HTML's {{glossary("element")}} syntaxis is een stuk makkelijker te begrijpen dan een "echte programmeertaal" zoals Rust, {{glossary("JavaScript")}} of {{glossary("Python")}}. De manier waarop browsers HTML ontleden (i.e. parsen in het Engels) is veel <strong>toleranter </strong>dan de wijze waarop programmeertalen worden uitgevoerd, wat zowel goed als slecht is.</p>
+
+<h3 id="Tolerante_code">Tolerante code</h3>
+
+<p>Dus wat bedoelen we met tolerant? Wel, als je iets fout doet in je code, zal je een aantal fouten tegenkomen. De twee voornaamste zijn :</p>
+
+<ul>
+ <li><strong>Syntactische fouten</strong>: Deze zijn spelfouten in je code die ervoor zorgen dat je programma niet wordt uitgevoerd, zoals de Rust fout die we hierboven hebben getoond. Deze kan je meestal makkelijk herstellen als je vertrouwd bent met de syntaxis van de taal en als je weet wat de foutmeldingen betekenen.</li>
+ <li><strong>Logische fouten</strong>: Dit zijn fouten waarbij de syntaxis correct is maar de code is niet wat je eigenlijk wil, wat inhoudt dat het programma niet correct wordt uitgevoerd. Deze zijn vaak veel moeilijker te repareren dan syntactische fouten omdat er geen foutmelding is die je naar de bron van de fout leidt.</li>
+</ul>
+
+<p>HTML zelf lijdt niet onder syntactische fouten omdat browsers HTML op een tolerante manier ontleden (d.w.z. parsen). Dit houdt in dat de pagina zal worden weergegeven zelfs als er syntactische fouten in zitten. Browsers hebben ingebouwde regels die zeggen hoe ze incorrect geschreven opmaak moeten interpreteren zodat je pagina toch wordt uitgevoerd al ziet die er misschien niet uit zoals je verwacht. Dit kan naturlijk nog altijd een groot probleem zijn!</p>
+
+<div class="note">
+<p><strong>Opmerking</strong>: HTML wordt tolerant geparst. Toen het web namelijk werd gecreëerd, werd er beslist dat het belangrijker was dat mensen hun inhoud konden publiceren dan er zeker van te zijn dat de syntaxis volledig correct was.  Het web zou waarschijnlijk niet zo populair zijn, als het vanaf het begin stricter was geweest.</p>
+</div>
+
+<h3 id="Actief_leren_De_studie_van_tolerante_code">Actief leren: De studie van tolerante code</h3>
+
+<p>Het is tijd om de tolerante aard van HTML-code te bestuderen</p>
+
+<ol>
+ <li>Eerst download je ons <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/debugging-html/debug-example.html">debug-example demo</a> en sla je die locaal op. Deze demo is opzettelijk met fouten erin geschreven die we kunnen onderzoeken (we zeggen dat de HTML-opmaak <strong>slecht is gevormd</strong> in tegenstelling tot  <strong>goed gevormd</strong>).</li>
+ <li>Vervolgens open je de demo in een browser. Die zal er ongeveer zo uitzien:<img alt="A simple HTML document with a title of HTML debugging examples, and some information about common HTML errors, such as unclosed elements, badly nested elements, and unclosed attributes. " src="https://mdn.mozillademos.org/files/12437/badly-formed-html.png" style="display: block; margin: 0 auto;"></li>
+ <li>Dat ziet er niet echt geweldig uit. We gaan daarom de broncode bekijken en zien of we erachter kunnen komen waarom dat zo is (enkel de inhoud van de body wordt getoond):
+ <pre class="brush: html">&lt;h1&gt;HTML debugging voorbeelden&lt;/h1&gt;
+
+&lt;p&gt;Wat veroorzaakt er fouten in HTML?
+
+&lt;ul&gt;
+ &lt;li&gt;Elementen die niet zijn afgesloten : als een element &lt;strong&gt;niet correct word afgesloten,
+ dan kan zijn effect zich uitbreiden naar gebieden die daarvoor niet zijn bedoeld
+
+ &lt;li&gt;Slecht geneste elementen: Het is ook belangrijk om je elementen correct te nesten
+ zodat je code zich correct gedraagt. &lt;strong&gt;strong &lt;em&gt;sterk benadrukt?&lt;/strong&gt;
+ wat is dat?&lt;/em&gt;
+
+ &lt;li&gt;Attributen die niet zijn gesloten : Nog een vaak voorkomende bron van problemen met HTML. Laat ons
+ daarvoor een voorbeeld bekijken: &lt;a href="https://www.mozilla.org/&gt;link naar de homepage van
+ Mozilla&lt;/a&gt;
+&lt;/ul&gt;</pre>
+ </li>
+ <li>We gaan deze problemen nu één voor één bekijken:
+ <ul>
+ <li>De {{htmlelement("p","paragraaf")}} en {{htmlelement("li","lijstonderdeel")}}-elementen hebben geen eindtags. Als je naar de afbeelding hierboven kijken, zie je dat dit de weergegeven opmaak niet zo erg beïnvloedt want het is makkelijk om te zien waar een element zou moeten stoppen en een ander beginnen.</li>
+ <li>Het eerste {{htmlelement("strong")}} element heeft geen eindtag. Dit is iets problematischer want het is niet zo gemakkelijk om te weten waar het element zou moeten eindigen. In feite is de rest van de tekst sterk benadrukt. </li>
+ <li>Een van de secties is slecht genest: <code>&lt;strong&gt;strong &lt;em&gt;sterk benadrukt emphasised?&lt;/strong&gt; wat is dat?&lt;/em&gt;</code>. Het is niet gemakkelijk om te zeggen hoe dit is geïnterpreteerd door het vorige probleem.</li>
+ <li>De {{htmlattrxref("href","a")}}-attribuutwaarde mist een dubbel aanhalingsteken. Dat heeft blijkbaar het grootste probleem veroorzaakt  — de link is gewoon niet weergegeven.</li>
+ </ul>
+ </li>
+ <li>We kunnen nu ook de opmaak bekijken die de browser heeft gegenereerd in plaats van de opmaak in de broncode. Om dat te doen, kunnen we de hulpprogramma's voor ontwikkelaars bekijken (de browser developer tools in het Engels). Als je niet vertrouwd bent met het gebruik van deze programma's kan je er meer over leren. Neem een paar minuten de tijd en bekijk <a href="/en-US/docs/Learn/Discover_browser_developer_tools">Discover browser developer tools</a>.</li>
+ <li>Met de DOM Inspecteur kan je zien hoe de weergegeven opmaak eruit ziet: <img alt="The HTML inspector in Firefox, with our example's paragraph highlighted, showing the text &quot;What causes errors in HTML?&quot; Here you can see that the paragraph element has been closed by the browser." src="https://mdn.mozillademos.org/files/12439/html-inspector.png" style="display: block; margin: 0 auto;"></li>
+ <li>Met de DOM inspecteur kunnen we onze code in detail onderzoeken en zien hoe de browser heeft geprobeerd om onze HTML-fouten te herstellen. We hebben dat in Firefox gedaan; andere moderne browsers <em>zouden</em> hetzelfde resultaat moeten produceren:
+ <ul>
+ <li>De paragrafen en de lijstonderdelen hebben eindtags gekregen.</li>
+ <li>Het is niet duidelijk waar het eerste <code>&lt;strong&gt;</code>-element zou moeten worden gesloten, dus heeft de browser elke apart tekstblok in zijn eigen strong-tag ingesloten, helemaal tot aan de onderkant van het document!</li>
+ <li>De incorrect geneste element zijn door de browser op deze manier hersteld:
+ <pre class="brush: html">&lt;strong&gt;sterk
+ &lt;em&gt;sterk benadrukt&lt;/em&gt;
+&lt;/strong&gt;
+&lt;em&gt; wat is dat?&lt;/em&gt;</pre>
+ </li>
+ <li>De link met het ontbrekende dubbele aanhalingsteken is helemaal verwijderd. Het laatste lijstonderdeel ziet er zo uit:
+ <pre class="brush: html">&lt;li&gt;
+ &lt;strong&gt;Attributen die niet zijn afgesloten: Een andere vaak voorkomende bron van HTML-problemen.
+ Laat ons daarvoor een voorbeeld bekijken: &lt;/strong&gt;
+&lt;/li&gt;</pre>
+ </li>
+ </ul>
+ </li>
+</ol>
+
+<h3 id="HTML_validatie">HTML validatie</h3>
+
+<p>Door het voorbeeld hierboven begrijp je dat je er echt zeker van wil zijn dat je HTML goed gevormd is. Maar hoe doe je dat? In een klein voorbeeld zoals dat hierboven, is het gemakkelijk om de fouten te vinden, maar wat moet met je een enorm en complex HTML document? </p>
+
+<p>De beste strategie is om je HTML-pagina eerst door de <a href="https://validator.w3.org/">Markup Validation Service</a> (Opmaak Validatie Dienst) te laten beoordelen. Deze dienst is gecreëerd door de W3C en word er ook door onderhouden. De organisatie zorgt voor de specificaties die HTML, CSS en andere webtechnologieën definiëren. De webpagina aanvaardt je HTML als invoer, verwerkt die en geeft je dan een verslag waarin staat wat er mis is met je HTML.</p>
+
+<p><img alt="The HTML validator homepage" src="https://mdn.mozillademos.org/files/12441/validator.png" style="display: block; margin: 0 auto;"></p>
+
+<p>Om de HTML in te voeren de je wil laten valideren, kan je een webadres opgeven, een HTML-bestand uploaden of de HTML-code direct invoeren.</p>
+
+<h3 id="Actief_leren_Een_HTML-document_valideren">Actief leren: Een HTML-document valideren</h3>
+
+<p>We gaan dit met ons <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/debugging-html/debug-example.html">sample document</a> uitproberen.</p>
+
+<ol>
+ <li>Eerst laad je de <a href="https://validator.w3.org/">Markup Validation Service</a> in een tabblad van een browser, als je dat nog niet hebt gedaan.</li>
+ <li>Klik op <a href="https://validator.w3.org/#validate_by_input">Validate by Direct Input</a>.</li>
+ <li>Kopiëer de volledige code van het sample document (dus niet enkel de body) en plak die in het tekstinvoerveld.</li>
+ <li>Klik op de <em>Check</em> knop.</li>
+</ol>
+
+<p>Nu zou je een lijst met fouten en andere informatie moeten zien.</p>
+
+<p><img alt="A list of of HTML validation results from the W3C markup validation service" src="https://mdn.mozillademos.org/files/12443/validation-results.png" style="display: block; margin: 0 auto;"></p>
+
+<h4 id="De_interpretatie_van_de_foutmelding">De interpretatie van de foutmelding</h4>
+
+<p>Al zijn de foutmeldingen meestal een hulp, soms zijn ze dat toch niet helemaal maar met een beetje oefening kan je erachter komen hoe je ze moet interpreteren om je code te repareren. We gaan ze nu één voor één bekijken en hun betekenis ontcijferen. Je zal merken dat elke boodschap een regel en kolomnummer krijgt zodat je kan zien waar de fout zich bevindt.</p>
+
+<ul>
+ <li>"End tag <code>li</code> implied, but there were open elements" (2 instances): (eindtag li geïmpliceerd maar er waren open elementen (twee gevallen)). Deze boodschappen duiden aan dat een element nog open is en gesloten moet worden. De eintag is geïmpliceerd maar staat er niet echt. De regel/kolom informatie wijst naar de eerste regel na de regel waar de eindtag eigenlijk zou moeten zijn, maar deze aanwijzing is goed genoeg om te zien wat er fout is.</li>
+ <li>"Unclosed element <code>strong</code>" (niet gesloten element strong) : Dit is echt makkelijk te begrijpen — een {{htmlelement("strong")}}-element is niet afgesloten en de lijn/kolom informatie wijst recht naar de plaats van het element.</li>
+ <li>"End tag <code>strong</code> violates nesting rules" (eind tag strong schendt regels voor geneste elementen): Dit verwijst naar de incorrect geneste elementen en de regel/kolom informatie wijst naar waar die zitten.</li>
+ <li>"End of file reached when inside an attribute value. Ignoring tag" (einde van het bestand is bereikt binnen een attribuutwaarde): Deze is vrij cryptisch; hij verwijst naar het feit dat er ergens een attribuutwaarde zit die niet correct werd gevormd, misschien dicht bij het einde van het bestand want het einde van het bestand verschijnt binnen de attribuutwaarde.  Het feit dat de browser de link niet weergeeft, is een goede aanwijzing die ons vertelt welk element de fout bevat.</li>
+ <li>"End of file seen and there were open elements" (einde van het bestand gezien en er waren open elementen) : Dit is een beetje dubbelzinnig, maar in feite verwijst de foutmelding naar het feit dat er open elementen zijn die moeten worden gesloten. De regelnummers wijzen naar de laaste regels van het bestand en deze foutmelding verschijnt samen met een regel code die een voorbeeld van een open element aanduidt:
+ <pre>example: &lt;a href="https://www.mozilla.org/&gt;link naar de startpagina van Mozilla homepage&lt;/a&gt; ↩ &lt;/ul&gt;↩ &lt;/body&gt;↩&lt;/html&gt;</pre>
+
+ <div class="note">
+ <p><strong>Opmerking</strong>: Een attribuut dat het aanhalingsteken mist dat de attribuutwaarde afsluit, kan resulteren in een open element omdat de rest van het document wordt geïnterpreteerd als de inhoud van het attribuut.</p>
+ </div>
+ </li>
+ <li>"Unclosed element <code>ul</code>" (niet afgesloten element ul): Dit is niet erg behulpzaam omdat het {{htmlelement("ul")}}-element wel degelijk correct is afgesloten. Dese fout verschijnt omdat het {{htmlelement("a")}}-element niet is afgesloten en dat komt door het ontbrekende aanhalingsteken op het einde van de attribuutwaarde.</li>
+</ul>
+
+<p><span>Als je niet de betekenis van elke foutmelding kan uitdokteren, hoef je je daarover niet te veel zorgen te maken — het is een goed idee om niet alle fouten tegelijk te herstellen. Bewerk er een paar en probeer dan opnieuw je HTML te valideren en kijk welke fouten er nog over schieten. Soms is het genoeg om één fout weg te werken. De rest van de fouten verdwijnt dan vanzelf omdat meerdere fouten door één enkel probleem veroorzaakt kunnen worden. Het probleem creëert dan een domino-effect.</span></p>
+
+<p><span>Als alle fouten hersteld zijn, zal je de volgende tekst met groene achtergrond in je uitvoer zien. Dit is de vertaling: het document is gevalideerd volgens de gespecifiëerde schema's en volgens bijkomende beperkingen die door de validator zijn gecontroleerd. </span></p>
+
+<p><img alt='Banner that reads "The document validates according to the specified schema(s) and to additional constraints checked by the validator."' src="https://mdn.mozillademos.org/files/12445/valid-html-banner.png" style="display: block; margin: 0 auto;"></p>
+
+<h2 id="Samenvating">Samenvating</h2>
+
+<p>En dat is het dus, een inleiding op het debuggen van HTML. Je zou nu een paar nuttige vaardigheden onder de knie moeten hebben. Je zal er later in je carrière op kunnen rekenen wanneer je CSS, Javascript en andere soorten code gaat debuggen. Dit betekent ook het einde van onze introductie op HTML — Je kan nu verder gaan door jezelf te testen met onze evaluaties: de link naar de eerste vind je hieronder.</p>
+
+<p>{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/Document_and_website_structure", "Learn/HTML/Introduction_to_HTML/Marking_up_a_letter", "Learn/HTML/Introduction_to_HTML")}}</p>
diff --git a/files/nl/learn/html/introduction_to_html/html_text_fundamentals/index.html b/files/nl/learn/html/introduction_to_html/html_text_fundamentals/index.html
new file mode 100644
index 0000000000..4da6104778
--- /dev/null
+++ b/files/nl/learn/html/introduction_to_html/html_text_fundamentals/index.html
@@ -0,0 +1,632 @@
+---
+title: Grondbeginselen van HTML-tekst
+slug: Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals
+translation_of: Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals
+---
+<div>{{LearnSidebar}}</div>
+
+<div>{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML", "Learn/HTML/Introduction_to_HTML/Creating_hyperlinks", "Learn/HTML/Introduction_to_HTML")}}</div>
+
+<p class="summary">Een van de kerntaken van HTML is structuur en betekenis aan een tekst geven (ook gekend onder de term {{glossary("semantiek")}}), zodat een browser de tekst correct kan weergeven. Dit artikel legt uit hoe {{glossary("HTML")}} gebruikt kan worden om een pagina te structureren door er koppen en paragrafen aan toe te voegen, woorden te benadrukken, lijsten te creëren en meer.</p>
+
+<table class="learn-box standard-table">
+ <tbody>
+ <tr>
+ <th scope="row">Vereisten:</th>
+ <td>Basiskennis HTML die je kunt terugvinden in <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started">Beginnen met HTML</a>.</td>
+ </tr>
+ <tr>
+ <th scope="row">Doel:</th>
+ <td>Je leert hoe je een tekst kunt opmaken en hoe je er structuur en betekenis aan kunt geven – inclusief paragrafen, koppen, lijsten, tekst benadrukken en citaten.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="De_basis_Koppen_en_Paragrafen">De basis: Koppen en Paragrafen</h2>
+
+<p>Een gestructureerde tekst bestaat meestal uit koppen of hoofdingen en paragrafen, ongeacht of je nu een verhaal leest, een krant, een leerboek, een magazine enz.</p>
+
+<p><img alt="Een voorbeeld van een voorpagina van een krant, dat het gebruik van koppen, subkoppen en paragrafen laat zien." src="https://mdn.mozillademos.org/files/12371/newspaper_small.jpg" style="display: block; margin: 0px auto;" title="Een voorbeeld van een voorpagina van een krant, dat het gebruik van koppen, subkoppen en paragrafen laat zien."></p>
+
+<p>Een gestructureerde inhoud maakt de leeservaring gemakkelijker en aangenamer.</p>
+
+<p>In HTML moet elke paragraaf ingesloten worden door een {{htmlelement("p")}}-element zoals hieronder:</p>
+
+<pre class="brush: html">&lt;p&gt;Ik ben een paragraaf, laat me je dat vertellen.&lt;/p&gt;</pre>
+
+<p>Elke hoofding moet worden ingesloten door een kop-element:</p>
+
+<pre class="brush: html">&lt;h1&gt;Ik ben de titel van het verhaal.&lt;/h1&gt;</pre>
+
+<p>Er bestaan zes kop-elementen – {{htmlelement("h1")}}, {{htmlelement("h2")}}, {{htmlelement("h3")}}, {{htmlelement("h4")}}, {{htmlelement("h5")}} en {{htmlelement("h6")}}. Elk element staat voor een verschillend inhoudelijk niveau in het document; <code>&lt;h1&gt;</code> vertegenwoordigt de belangrijkste kop, <code>&lt;h2&gt;</code> vertegenwoordigt een ondertitel, <code>&lt;h3&gt;</code> vertegenwoordigt een ondertitel die zich nog een niveau lager bevindt, enzovoort.</p>
+
+<h3 id="De_implementatie_van_structurele_hiërarchie">De implementatie van structurele hiërarchie</h3>
+
+<p>We beginnen met een voorbeeld: in een verhaal zou <code>&lt;h1&gt;</code> voor de titel van het verhaal worden gebruikt, <code>&lt;h2&gt;</code>'s zouden de titel van elk hoofdstuk vertegenwoordigen, <code>&lt;h3&gt;</code>'s zouden de ondertitels van elk hoofdstuk vertegenwoordigen, enzovoort.</p>
+
+<pre class="brush: html">&lt;h1&gt;De Verpletterende Verveling&lt;/h1&gt;
+
+&lt;p&gt;door Chris Mills&lt;/p&gt;
+
+&lt;h2&gt;Hoofdstuk 1: De donkere nacht&lt;/h2&gt;
+
+&lt;p&gt;Het was een donkere nacht. Ergens riep een uil 'oehoe'. Het regende pijpenstelen op de ...&lt;/p&gt;
+
+&lt;h2&gt;Hoofdstuk 2: De eeuwige stilte&lt;/h2&gt;
+
+&lt;p&gt;Onze protagonist kon uit de schaduwachtige figuur zelfs geen gefluisterd woord krijgen ...&lt;/p&gt;
+
+&lt;h3&gt;Het fantoom spreekt&lt;/h3&gt;
+
+&lt;p&gt;Meerdere uren waren voorbijgegaan, toen het fantoom plots rechtop ging zitten en schreeuwde: "Heb alsjeblieft erbarmen met mijn ziel!"&lt;/p&gt;</pre>
+
+<p>Jij bent degene die beslist wat je gebruikte elementen uitdrukken, zolang de hiërarchie logisch is. Je hoeft enkel met een paar goede gewoontes rekening te houden als je zulke structuren creëert:</p>
+
+<ul>
+ <li>Bij voorkeur gebruik je slechts één <code>&lt;h1&gt;</code> per pagina – dit is de hoogste kop en alle andere zitten eronder in de hiërarchie.</li>
+ <li>Zorg ervoor dat je de koppen in de hiërarchie in de juiste volgorde gebruikt. Gebruik geen <code>&lt;h3&gt;</code>'s voor ondertitels die dan gevolgd worden door <code>&lt;h2&gt;</code>'s om titels onder die ondertitels te vertegenwoordigen. Dat houdt geen steek en zal eigenaardige resultaten veroorzaken.</li>
+ <li>Van de zes beschikbare niveaus zou je moeten proberen er niet meer dan drie per pagina te gebruiken, behalve als je vindt dat het nodig is. Documenten met vele niveaus (d.w.z. een diepe koppenhiërarchie) worden onhandelbaar en moeilijk om in te navigeren. In zo'n geval is het aan te raden om de inhoud over meerdere pagina's te spreiden.</li>
+</ul>
+
+<h3 id="Waarom_hebben_we_structuur_nodig">Waarom hebben we structuur nodig?</h3>
+
+<p>Om deze vraag te beantwoorden, gaan we eerst <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/html-text-formatting/text-start.html">text-start.html</a> bekijken – het startpunt van ons voorbeeld waarmee we in dit artikel gaan werken (een lekker hummusrecept). Je kunt het beste een kopie van dit bestand op je lokale machine opslaan, want je zult het later voor de oefeningen nodig hebben. De body van dit document bevat in dit stadium verschillende delen – de inhoud is op geen enkele manier opgemaakt, maar de onderdelen zijn met regeleindes van elkaar gescheiden (op Enter/Return gedrukt om naar de volgende regel te gaan).</p>
+
+<p>Als je het document echter in je browser opent, zul je zien dat de tekst er als één grote brok in zit!</p>
+
+<p><img alt="Een webpagina die een muur van onopgemaakte tekst laat zien, omdat er geen elementen op de pagina zijn om deze te structureren." src="https://mdn.mozillademos.org/files/14827/Screen%20Shot%202017-03-29%20at%2009.20.35.png" style="display: block; height: 377px; margin: 0px auto; width: 600px;" title="Een webpagina die een muur van onopgemaakte tekst laat zien, omdat er geen elementen op de pagina zijn om deze te structureren."></p>
+
+<p>De reden hiervoor is simpel: er staan geen elementen in om de inhoud te structureren, dus weet de browser niet wat een kop is en wat een paragraaf. En bovendien is er dit:</p>
+
+<ul>
+ <li>Gebruikers die een webpagina bekijken, hebben de neiging die snel te scannen op zoek naar relevante inhoud, vaak door eerst slechts de koppen te lezen. (Gewoonlijk <a class="external external-icon" href="http://www.nngroup.com/articles/how-long-do-users-stay-on-web-pages/">brengen we slechts een zeer korte tijd door op een webpagina</a>.) Als ze in een paar seconden niets nuttigs kunnen vinden, zullen ze waarschijnlijk gefrustreerd raken en ergens anders naartoe gaan.</li>
+ <li>Zoekmachines die je pagina indexeren beschouwen de inhoud van de koppen als belangrijke sleutelwoorden die de positie van de pagina in de ranglijsten van de zoekresultaten beïnvloeden. Zonder koppen zal je pagina zwak presteren wat de {{glossary("SEO")}} (<em>Search Engine Optimization</em>, "zoekmachine-optimalisatie") betreft.</li>
+ <li>Mensen met een ernstige visuele beperking lezen vaak geen webpagina's; in plaats daarvan luisteren ze ernaar. Dit wordt mogelijk gemaakt door een <a class="external external-icon" href="https://nl.wikipedia.org/wiki/Schermlezer">schermlezer</a>. Deze software verschaft snelle toegang tot een tekstinhoud. Een van de gebruikte technieken houdt in dat een overzicht van het document gegeven wordt door de koppen voor te lezen, zodat de gebruikers de informatie die ze nodig hebben snel kunnen vinden. Als er geen koppen zijn, worden ze gedwongen om het volledige document hardop te laten voorlezen.</li>
+ <li>Om inhoud op te maken met {{glossary("CSS")}}, of om interessante dingen met {{glossary("JavaScript")}} te doen, is het nodig om de relevante inhoud in elementen in te bedden zodat CSS/JavaScript de inhoud doelgericht kan benaderen.</li>
+</ul>
+
+<p>Het is dus nodig om onze inhoud structureel op te maken.</p>
+
+<h3 id="Actief_leren_Onze_inhoud_structuur_geven">Actief leren: Onze inhoud structuur geven</h3>
+
+<p>We vallen direct met de deur in huis met een live voorbeeld. Voeg in het voorbeeld hieronder elementen aan de ruwe tekst in het <em>Invoer</em>-veld toe, zodat die als een kop en twee paragrafen in het <em>Uitvoer</em>-veld verschijnt.</p>
+
+<p>Als je een fout maakt, kun je altijd op <em>Maak ongedaan</em> drukken. Als je vastraakt, gebruik dan de <em>Toon oplossing</em>-knop om het antwoord te zien.</p>
+
+<div class="hidden">
+<h6 id="Playable_code">Playable code</h6>
+
+<pre class="brush: html">&lt;h2&gt;Invoer&lt;/h2&gt;
+&lt;textarea id="code" class="input"&gt;Mijn korte verhaal
+
+Ik ben een politievrouw en mijn naam is Chris.
+
+Mijn benen zijn van karton en ik ben getrouwd met een vis.&lt;/textarea&gt;
+&lt;h2&gt;Uitvoer&lt;/h2&gt;
+&lt;div class="output"&gt;&lt;/div&gt;
+&lt;div class="controls"&gt;
+  &lt;input id="reset" type="button" value="Maak ongedaan" /&gt;
+  &lt;input id="solution" type="button" value="Toon oplossing" /&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">body {
+ font-family: 'Open Sans Light', Helvetica, Arial, sans-serif;
+}
+
+.input, .output {
+ width: 90%;
+ height: 8em;
+ padding: 10px;
+ border: 1px solid #0095dd;
+ overflow: auto;
+}
+
+button {
+ padding: 10px 10px 10px 0;
+}
+</pre>
+
+<pre class="brush: js">var textarea = document.getElementById("code");
+var reset = document.getElementById("reset");
+var code = textarea.value;
+var output = document.querySelector(".output");
+var solution = document.getElementById("solution");
+
+function drawOutput() {
+ output.innerHTML = textarea.value;
+}
+
+reset.addEventListener("click", function() {
+ textarea.value = code;
+ drawOutput();
+});
+
+solution.addEventListener("click", function() {
+textarea.value = '&lt;h1&gt;Mijn korte verhaal&lt;/h1&gt;\n&lt;p&gt;Ik ben een politievrouw en mijn naam is Chris.&lt;/p&gt;\n&lt;p&gt;Mijn benen zijn van karton en ik ben getrouwd met een vis.&lt;/p&gt;';
+ drawOutput();
+});
+
+textarea.addEventListener("input", drawOutput);
+window.addEventListener("load", drawOutput);
+</pre>
+</div>
+
+<p>{{ EmbedLiveSample('Playable_code', 700, 500) }}</p>
+
+<h3 id="Waarom_hebben_we_semantiek_nodig">Waarom hebben we semantiek nodig?</h3>
+
+<p>Overal om ons heen vertrouwen we op semantiek – we rekenen op eerdere ervaringen die ons vertellen wat de functie van een alledaags object is; als we iets zien, weten we wat zijn functie zal zijn. Dus we verwachten bijvoorbeeld dat een rood verkeerslicht "stop" betekent en een groen verkeerslicht "vertrek". De dingen kunnen zeer snel ingewikkeld worden als de foute semantiek wordt toegepast. (Zijn er landen die rood gebruiken om "vertrek" uit te drukken? Ik hoop van niet.)</p>
+
+<p>In dezelfde geest moeten we er zeker van zijn dat we de juiste elementen gebruiken om betekenis aan onze tekst, een functie of weergave te geven. In deze context is het {{htmlelement("h1")}}-element dus ook een semantisch element, het geeft aan de betreffende tekst de rol (of betekenis) van "een hoofdtitel van je pagina".</p>
+
+<pre class="brush: html">&lt;h1&gt;Dit is een belangrijke hoofdtitel&lt;/h1&gt;</pre>
+
+<p>Standaard zal de browser dit element een groter lettertype geven om het er als een kop te laten uitzien (alhoewel je het met CSS kunt stylen om het elke look te geven die je wil). Nog belangrijker is dat zijn semantische waarde op meer dan één manier zal worden gebruikt, door bijvoorbeeld zoekmachines en schermlezers (zoals hierboven vermeld).</p>
+
+<p>Aan de andere kant kun je elk element er als een hoofdtitel laten <em>uitzien</em>. Bekijk het volgende eens:</p>
+
+<pre class="brush: html">&lt;span style="font-size: 32px; margin: 21px 0;"&gt;Is dit een hoofdtitel?&lt;/span&gt;</pre>
+
+<p>Dit is een {{htmlelement("span")}}-element. Er steekt geen semantiek in. Je gebruikt het element om inhoud te omhullen als je er CSS op wil toepassen (of om er iets mee te doen met JavaScript) zonder er extra betekenis aan te geven. (Je zult er later in de cursus meer over leren.) We hebben wat CSS op het element toegepast om het er als een hoofdtitel te laten uitzien, maar aangezien het geen semantische waarde heeft, zal het geen van de hierboven beschreven extra voordelen krijgen. Het is een goed idee om het relevante HTML-element voor die taak te gebruiken.</p>
+
+<h2 id="Lijsten">Lijsten</h2>
+
+<p>Nu gaan we onze aandacht op lijsten richten. Lijsten zijn overal in ons leven – van je boodschappenlijst tot de lijst met aanwijzingen die je onbewust elke dag gebruikt om naar huis te geraken, tot de lijsten met instructies die je in deze handleidingen volgt! Lijsten zijn ook overal op het Web, en er bestaan drie verschillende types.</p>
+
+<h3 id="Ongeordend">Ongeordend</h3>
+
+<p>Ongeordende lijsten worden gebruikt om lijsten op te maken waarbij de volgorde van de onderdelen niet belangrijk is – als voorbeeld nemen we een boodschappenlijst.</p>
+
+<pre>melk
+eieren
+brood
+hummus</pre>
+
+<p>Elke ongeordende lijst begint met een {{htmlelement("ul")}}-element – je plaatst het rond alle lijstonderdelen:</p>
+
+<pre class="brush: html">&lt;ul&gt;
+melk
+eieren
+brood
+hummus
+&lt;/ul&gt;</pre>
+
+<p>De laatste stap is om elk lijstonderdeel in een {{htmlelement("li")}}-element in te pakken:</p>
+
+<pre class="brush: html">&lt;ul&gt;
+  &lt;li&gt;melk&lt;/li&gt;
+  &lt;li&gt;eieren&lt;/li&gt;
+  &lt;li&gt;brood&lt;/li&gt;
+  &lt;li&gt;hummus&lt;/li&gt;
+&lt;/ul&gt;</pre>
+
+<h4 id="Actief_leren_Een_ongeordende_lijst_opmaken">Actief leren: Een ongeordende lijst opmaken</h4>
+
+<p>Probeer het live voorbeeld hieronder te bewerken om zo je eigen ongeordende lijst te maken.</p>
+
+<div class="hidden">
+<h6 id="Playable_code_2">Playable code</h6>
+
+<pre class="brush: html">&lt;h2&gt;Invoer&lt;/h2&gt;
+&lt;textarea id="code" class="input"&gt;melk
+eieren
+brood
+hummus&lt;/textarea&gt;
+&lt;h2&gt;Uitvoer&lt;/h2&gt;
+&lt;div class="output"&gt;&lt;/div&gt;
+&lt;div class="controls"&gt;
+  &lt;input id="reset" type="button" value="Ongedaan maken" /&gt;
+  &lt;input id="solution" type="button" value="Toon oplossing" /&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">body {
+ font-family: 'Open Sans Light', Helvetica, Arial, sans-serif;
+}
+
+.input, .output {
+ width: 90%;
+ height: 6em;
+ padding: 10px;
+ border: 1px solid #0095dd;
+ overflow: auto;
+}
+
+button {
+ padding: 10px 10px 10px 0;
+}
+</pre>
+
+<pre class="brush: js">var textarea = document.getElementById("code");
+var reset = document.getElementById("reset");
+var code = textarea.value;
+var output = document.querySelector(".output");
+var solution = document.getElementById("solution");
+
+function drawOutput() {
+ output.innerHTML = textarea.value;
+}
+
+reset.addEventListener("click", function() {
+ textarea.value = code;
+ drawOutput();
+});
+
+solution.addEventListener("click", function() {
+textarea.value = '&lt;ul&gt;\n&lt;li&gt;melk&lt;/li&gt;\n&lt;li&gt;eieren&lt;/li&gt;\n&lt;li&gt;brood&lt;/li&gt;\n&lt;li&gt;hummus&lt;/li&gt;\n&lt;/ul&gt;';
+ drawOutput();
+});
+
+textarea.addEventListener("input", drawOutput);
+window.addEventListener("load", drawOutput);
+</pre>
+</div>
+
+<p>{{ EmbedLiveSample('Playable_code_2', 700, 400) }}</p>
+
+<h3 id="Geordend">Geordend</h3>
+
+<p>Geordende lijsten zijn lijsten waarvan de volgorde van de onderdelen <em>wel</em> belangrijk is – als voorbeeld nemen we een reeks instructies om de weg mee uit te leggen:</p>
+
+<pre>Rijd naar het einde van de weg
+Sla rechtsaf
+Rijd rechtdoor bij de eerste twee rotondes
+Sla linksaf bij de derde rotonde
+De school staat 300 meter verder aan je rechterkant</pre>
+
+<p>De opmaakstructuur is gelijk aan die voor ongeordende lijsten, behalve dat je de lijstonderdelen in een {{htmlelement("ol")}}-element (i.p.v. een <code>&lt;ul&gt;</code>) moet inpakken:</p>
+
+<pre class="brush: html">&lt;ol&gt;
+  &lt;li&gt;Rijd naar het einde van de weg&lt;/li&gt;
+  &lt;li&gt;Sla rechtsaf&lt;/li&gt;
+  &lt;li&gt;Rijd rechtdoor bij de eerste twee rotondes&lt;/li&gt;
+  &lt;li&gt;Sla linksaf bij de derde rotonde&lt;/li&gt;
+  &lt;li&gt;De school staat 300 meter verder aan je rechterkant&lt;/li&gt;
+&lt;/ol&gt;</pre>
+
+<h4 id="Actief_leren_Een_geordende_lijst_opmaken">Actief leren: Een geordende lijst opmaken</h4>
+
+<p>Bewerk het live voorbeeld hieronder om je eigen geordende lijst te maken.</p>
+
+<div class="hidden">
+<h6 id="Playable_code_3">Playable code</h6>
+
+<pre class="brush: html">&lt;h2&gt;Invoer&lt;/h2&gt;
+&lt;textarea id="code" class="input"&gt;Rijd naar het einde van de weg
+Sla rechtsaf
+Rijd rechtdoor bij de eerste twee rotondes
+Sla linksaf bij de derde rotonde
+De school staat 300 meter verder aan je rechterkant&lt;/textarea&gt;
+&lt;h2&gt;Output&lt;/h2&gt;
+&lt;div class="output"&gt;&lt;/div&gt;
+&lt;div class="controls"&gt;
+  &lt;input id="reset" type="button" value="Ongedaan maken" /&gt;
+  &lt;input id="solution" type="button" value="Oplossing tonen" /&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">body {
+ font-family: 'Open Sans Light',Helvetica,Arial,sans-serif;
+}
+
+.input, .output {
+ width: 90%;
+ height: 8em;
+ padding: 10px;
+ border: 1px solid #0095dd;
+ overflow: auto;
+}
+
+button {
+ padding: 10px 10px 10px 0;
+}
+</pre>
+
+<pre class="brush: js">var textarea = document.getElementById("code");
+var reset = document.getElementById("reset");
+var code = textarea.value;
+var output = document.querySelector(".output");
+var solution = document.getElementById("solution");
+
+function drawOutput() {
+ output.innerHTML = textarea.value;
+}
+
+reset.addEventListener("click", function() {
+ textarea.value = code;
+ drawOutput();
+});
+
+solution.addEventListener("click", function() {
+textarea.value = '&lt;ol&gt;\n&lt;li&gt;Rijd naar het einde van de weg&lt;/li&gt;\n&lt;li&gt;Sla rechtsaf&lt;/li&gt;\n&lt;li&gt;Rijd rechtdoor bij de eerste twee rotondes&lt;/li&gt;\n&lt;li&gt;Sla linksaf bij de derde rotonde&lt;/li&gt;\n&lt;li&gt;De school staat 300 meter verder aan je rechterkant&lt;/li&gt;\n&lt;/ol&gt;';
+ drawOutput();
+});
+
+textarea.addEventListener("input", drawOutput);
+window.addEventListener("load", drawOutput);
+</pre>
+</div>
+
+<p>{{ EmbedLiveSample('Playable_code_3', 700, 500) }}</p>
+
+<h3 id="Actief_leren_Maak_onze_receptpagina_op">Actief leren: Maak onze receptpagina op</h3>
+
+<p>Oké, op dit punt beschik je over alle informatie die je nodig hebt om onze voorbeeldpagina op te maken. Je kunt ervoor kiezen om een locale kopie van ons <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/html-text-formatting/text-start.html">text-start.html</a> startbestand op te slaan en het werk daar te doen, of je kunt het in het bewerkbare voorbeeld hieronder doen. Het is waarschijnlijk beter om het locaal te doen, want dan kun je je werk opslaan. Als je het in het bewerkbare voorbeeld doet, zal het verloren gaan als je de pagina later heropent. Beide hebben voor- en nadelen.</p>
+
+<div class="hidden">
+<h6 id="Playable_code_4">Playable code</h6>
+
+<pre class="brush: html">&lt;h2&gt;Input&lt;/h2&gt;
+&lt;textarea id="code" class="input"&gt;Snel recept om hummus te maken
+
+ Met dit recept maak je snel lekkere hummus, zonder gedoe. Het is een aangepaste versie van een aantal recepten die ik door de jaren heen heb gelezen.
+
+ Hummus is een verrukkelijk dik smeersel, dat vaak in Griekse en Midden-Oosterse gerechten wordt gebruikt. Het is zeer lekker met sla, gegrild vlees en pitabroodjes.
+
+ Ingrediënten
+
+ 1 blik (400 g) kikkererwten (garbanzobonen)
+ 175 g tahin
+ 6 zongedroogde tomaten
+ een halve rode peper
+ een snufje cayennepeper
+ 1 teentje knoflook
+ een scheutje olijfolie
+
+ Bereiding
+
+ Pel de knoflook en hak in grove stukken.
+ Verwijder alle zaden en de steel van de peper en hak in grove stukken.
+ Doe alle ingrediënten in een keukenmachine.
+ Pureer alles tot een pasta.
+ Als je grove hummus met stukjes wil, pureer dan heel even.
+ Als je gladde hummus wil, pureer dan wat langer.
+
+ Voor een andere smaak kun je de volgende ingrediënten toevoegen: een beetje citroen en koriander, chilipeper, limoen en jalapenopeper, harissa en munt, of spinazie en fetakaas. Experimenteer en ontdek wat jij lekker vindt.
+
+ Bewaring
+
+ Koel de bereide hummus in een luchtdichte bak. De hummus blijft tot ongeveer een week na de bereidingsdatum eetbaar. Als hij begint te 'bruisen', moet je hem echt weggooien.
+
+ Hummus is ook geschikt om in te vriezen; je zou hem binnen een paar maanden moeten ontdooien en gebruiken.&lt;/textarea&gt;
+&lt;h2&gt;Output&lt;/h2&gt;
+&lt;div class="output"&gt;&lt;/div&gt;
+&lt;div class="controls"&gt;
+  &lt;input id="reset" type="button" value="Maak ongedaan" /&gt;
+  &lt;input id="solution" type="button" value="Toon oplossing" /&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">body {
+ font-family: 'Open Sans Light',Helvetica,Arial,sans-serif;
+}
+
+.input, .output {
+ width: 90%;
+ height: 8em;
+ padding: 10px;
+ border: 1px solid #0095dd;
+ overflow: auto;
+}
+
+button {
+ padding: 10px 10px 10px 0;
+}
+</pre>
+
+<pre class="brush: js">var textarea = document.getElementById("code");
+var reset = document.getElementById("reset");
+var code = textarea.value;
+var output = document.querySelector(".output");
+var solution = document.getElementById("solution");
+
+function drawOutput() {
+ output.innerHTML = textarea.value;
+}
+
+reset.addEventListener("click", function() {
+ textarea.value = code;
+ drawOutput();
+});
+
+solution.addEventListener("click", function() {
+textarea.value = '&lt;h1&gt;Snel hummusrecept&lt;/h1&gt;\n\n&lt;p&gt;Met dit recept maak je snel lekkere hummus, zonder gedoe. Het is een aangepaste versie van een aantal recepten die ik door de jaren heen heb gelezen.&lt;/p&gt;\n\n&lt;p&gt;Hummus is een verrukkelijk dik smeersel, dat vaak in Griekse en Midden-Oosterse gerechten wordt gebruikt. Het is zeer lekker met sla, gegrild vlees en pitabroodjes.&lt;/p&gt;\n\n&lt;h2&gt;Ingrediënten&lt;/h2&gt;\n\n&lt;ul&gt;\n&lt;li&gt;1 blik (400 g) kikkererwten (garbanzobonen)&lt;/li&gt;\n&lt;li&gt;175 g tahin&lt;/li&gt;\n&lt;li&gt;6 zongedroogde tomaten&lt;/li&gt;\n&lt;li&gt;een halve rode peper&lt;/li&gt;\n&lt;li&gt;een snufje cayennepeper&lt;/li&gt;\n&lt;li&gt;1 teentje knoflook&lt;/li&gt;\n&lt;li&gt;een scheutje olijfolie&lt;/li&gt;\n&lt;/ul&gt;\n\n&lt;h2&gt;Bereiding&lt;/h2&gt;\n\n&lt;ol&gt;\n&lt;li&gt;Pel de knoflook en hak in grove stukken.&lt;/li&gt;\n&lt;li&gt;Verwijder alle zaden en de steel van de peper en hak in grove stukken.&lt;/li&gt;\n&lt;li&gt;Doe alle ingrediënten in een keukenmachine.&lt;/li&gt;\n&lt;li&gt;Pureer alles tot een pasta.&lt;/li&gt;\n&lt;li&gt;Als je grove hummus met stukjes wil, pureer dan heel even.&lt;/li&gt;\n&lt;li&gt;Als je gladde hummus wil, pureer dan wat langer.&lt;/li&gt;\n&lt;/ol&gt;\n&lt;p&gt;Voor een andere smaak kun je de volgende ingrediënten toevoegen: een beetje citroen en koriander, chilipeper, limoen en jalapenopeper, harissa en munt, of spinazie en fetakaas. Experimenteer en ontdek wat jij lekker vindt.&lt;/p&gt;\n\n&lt;h2&gt;Bewaring&lt;/h2&gt;\n\n&lt;p&gt;Koel de bereide hummus in een luchtdichte bak. De hummus blijft tot ongeveer een week na de bereidingsdatum eetbaar. Als hij begint te \'bruisen\', moet je hem echt weggooien.&lt;/p&gt;\n\n&lt;p&gt;Hummus is ook geschikt om in te vriezen; je zou hem binnen een paar maanden moeten ontdooien en gebruiken.&lt;/p&gt;';
+ drawOutput();
+});
+
+textarea.addEventListener("input", drawOutput);
+
+window.addEventListener("load", drawOutput);
+</pre>
+</div>
+
+<p>{{ EmbedLiveSample('Playable_code_4', 700, 500) }}</p>
+
+<p>Als je vastraakt, kun je altijd op <em>Toon oplossing</em> drukken of ons <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/html-text-formatting/text-complete.html">text-complete.html</a> voorbeeld bekijken dat je op onze github-repo vindt.</p>
+
+<h3 id="Lijsten_nesten">Lijsten nesten</h3>
+
+<p>Het is helemaal prima om de ene lijst in een andere te nesten. Je wil wellicht wat subonderdelen onder een hoogste-niveau-lijstonderdeel hebben. Laten we de tweede lijst van ons receptvoorbeeld bekijken:</p>
+
+<pre class="brush: html">&lt;ol&gt;
+  &lt;li&gt;Pel de knoflook en hak in grove stukken.&lt;/li&gt;
+  &lt;li&gt;Verwijder alle zaden en de steel van de peper en hak in grove stukken.&lt;/li&gt;
+  &lt;li&gt;Doe alle ingrediënten in een keukenmachine.&lt;/li&gt;
+  &lt;li&gt;Pureer alles tot een pasta.&lt;/li&gt;
+  &lt;li&gt;Als je grove hummus met stukjes wil, pureer dan heel even.&lt;/li&gt;
+  &lt;li&gt;Als je gladde hummus wil, pureer dan wat langer.&lt;/li&gt;
+&lt;/ol&gt;</pre>
+
+<p>Aangezien er een nauw verband is tussen de laatste twee onderdelen en hetgene dat eraan voorafgaat (ze lezen als sub-instructies of keuzes bij de voorafgaande instructie), kan het logisch zijn om ze in hun eigen ongeordende lijst te nesten, en die lijst in het huidige vierde lijstelement te plaatsen. Dat ziet er dan zo uit:</p>
+
+<pre class="brush: html">&lt;ol&gt;
+  &lt;li&gt;Pel de knoflook en hak in grove stukken.&lt;/li&gt;
+  &lt;li&gt;Verwijder alle zaden en de steel van de peper en hak in grove stukken.&lt;/li&gt;
+  &lt;li&gt;Doe alle ingrediënten in een keukenmachine.&lt;/li&gt;
+  &lt;li&gt;Pureer alles tot een pasta.
+    &lt;ul&gt;
+      &lt;li&gt;Als je grove hummus met stukjes wil, pureer dan heel even.&lt;/li&gt;
+      &lt;li&gt;Als je gladde hummus wil, pureer dan wat langer.&lt;/li&gt;
+    &lt;/ul&gt;
+  &lt;/li&gt;
+&lt;/ol&gt;</pre>
+
+<p>Ga naar het vorige "Actief leren"-voorbeeld en werk de tweede lijst op deze manier bij.</p>
+
+<h2 id="Nadruk_en_belangrijkheid">Nadruk en belangrijkheid</h2>
+
+<p>In menselijke taal benadrukken we vaak bepaalde woorden om de betekenis van een zin te veranderen, en willen we vaak bepaalde woorden als belangrijk of op een bepaalde manier anders markeren. HTML bevat diverse semantische elementen die ons in staat stellen om tekstuele inhoud met zulke effecten op te maken. In deze sectie gaan we een paar van de meest gebruikelijke bekijken.</p>
+
+<h3 id="Nadruk">Nadruk</h3>
+
+<p>Als we in gesproken taal ergens de nadruk op willen leggen, <em>beklemtonen</em> we bepaalde woorden, waarmee we op subtiele wijze de betekenis van wat we zeggen veranderen. In geschreven taal kunnen we op vergelijkbare wijze woorden benadrukken door ze cursief te maken. De twee volgende zinnen hebben bijvoorbeeld verschillende betekenissen.</p>
+
+<p>Ik ben blij dat je niet te laat was.</p>
+
+<p>Ik ben <em>blij</em> dat je niet <em>te laat</em> was.</p>
+
+<p>De eerste zin klinkt oprecht opgelucht omdat de persoon niet te laat was. De tweede zin klinkt daarentegen sarcastisch of passief-aggressief; hij drukt irritatie uit omdat de persoon een beetje te laat aankwam.</p>
+
+<p>In HTML gebruiken we het {{htmlelement("em")}}-element (<em>emphasis</em>, nadruk) om zulke gevallen te markeren. Behalve dat het het document interessanter om te lezen maakt, wordt dit element ook herkend door schermlezers en met een andere intonatie uitgesproken. Browsers stylen het element standaard als cursief, maar je kunt het beter niet gebruiken puur voor cursivering. Gebruik daarvoor een {{htmlelement("span")}}-element en wat CSS, of wellicht een {{htmlelement("i")}}-element (zie hieronder).</p>
+
+<pre class="brush: html">&lt;p&gt;Ik ben &lt;em&gt;blij&lt;/em&gt; dat je niet &lt;em&gt;te laat&lt;/em&gt; was.&lt;/p&gt;</pre>
+
+<h3 id="Zeer_belangrijke_woorden">Zeer belangrijke woorden</h3>
+
+<p>Om belangrijke woorden te benadrukken, hebben we de neiging om ze in gesproken taal te beklemtonen en om ze in geschreven taal <strong>vet</strong> te maken. Bijvoorbeeld:</p>
+
+<p>Deze vloeistof is <strong>uiterst toxisch</strong>.</p>
+
+<p>Ik reken op je. <strong>Wees niet</strong> te laat!</p>
+
+<p>In HTML gebruiken we het {{htmlelement("strong")}}-element (<em>strong importance</em>, sterke belangrijkheid) om zulke gevallen op te maken. Behalve dat het het document nuttiger, wordt ook dit element herkend door schermlezers en met een andere intonatie uitgesproken. Browsers stylen het element standaard als vette tekst, maar je kunt het beter niet gebruiken puur om vette styling te verkrijgen. Daarvoor kun je beter een {{htmlelement("span")}}-element en wat CSS gebruiken, of wellicht een {{htmlelement("b")}}-element (zie hieronder).</p>
+
+<pre class="brush: html">&lt;p&gt;Deze vloeistof is &lt;strong&gt;uiterst toxisch&lt;/strong&gt;.&lt;/p&gt;
+
+&lt;p&gt;Ik reken op je. &lt;strong&gt;Wees niet&lt;/strong&gt; te laat!&lt;/p&gt;</pre>
+
+<p>Indien gewenst kun je belangrijkheid en nadruk ook in elkaar nesten:</p>
+
+<pre class="brush: html">&lt;p&gt;Deze vloeistof is &lt;strong&gt;uiterst toxisch&lt;/strong&gt; –
+als je hem drinkt, &lt;strong&gt;kun je &lt;em&gt;sterven&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;</pre>
+
+<h3 id="Actief_leren_Laten_we_belangrijk_zijn!">Actief leren: Laten we belangrijk zijn!</h3>
+
+<p>In deze sectie geven we een bewerkbaar voorbeeld. Probeer nadruk en grote belangrijkheid toe te voegen aan de woorden waarvan je denkt dat die ze nodig hebben, gewoon om wat te oefenen.</p>
+
+<div class="hidden">
+<h6 id="Playable_code_5">Playable code</h6>
+
+<pre class="brush: html">&lt;h2&gt;Input&lt;/h2&gt;
+&lt;textarea id="code" class="input"&gt;&lt;h1&gt;Belangrijk bericht&lt;/h1&gt;
+
+&lt;p&gt;Op zondag 9 januari 2010 werd een bende goths gezien die
+meerdere tuinkabouters stalen uit een winkelcentrum in de
+binnenstad van Milwaukee. Ze droegen allemaal groene jumpsuits
+en onnozele hoedjes, en leken zich uitstekend te amuseren.
+Als iemand enige informatie heeft over dit incident, gelieve
+nu de politie te contacteren.&lt;/p&gt;&lt;/textarea&gt;
+&lt;h2&gt;Output&lt;/h2&gt;
+&lt;div class="output"&gt;&lt;/div&gt;
+&lt;div class="controls"&gt;
+  &lt;input id="reset" type="button" value="Maak ongedaan" /&gt;
+  &lt;input id="solution" type="button" value="Toon oplossing" /&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">body {
+ font-family: 'Open Sans Light', Helvetica, Arial, sans-serif;
+}
+
+.input, .output {
+ width: 90%;
+ height: 8em;
+ padding: 10px;
+ border: 1px solid #0095dd;
+ overflow: auto;
+}
+
+button {
+ padding: 10px 10px 10px 0;
+}
+</pre>
+
+<pre class="brush: js">var textarea = document.getElementById("code");
+var reset = document.getElementById("reset");
+var code = textarea.value;
+var output = document.querySelector(".output");
+var solution = document.getElementById("solution");
+
+function drawOutput() {
+ output.innerHTML = textarea.value;
+}
+
+reset.addEventListener("click", function() {
+ textarea.value = code;
+ drawOutput();
+});
+
+solution.addEventListener("click", function() {
+ textarea.value = '&lt;h1&gt;Belangrijk bericht&lt;/h1&gt;\n&lt;p&gt;Op &lt;strong&gt;zondag 9 januari 2010&lt;/strong&gt; werd een bende &lt;em&gt;goths&lt;/em&gt; gezien die &lt;strong&gt;&lt;em&gt;meerdere&lt;/em&gt; outers&lt;/strong&gt; stalen uit een winkelcentrum in de binnenstad van &lt;strong&gt;Milwaukee&lt;/strong&gt;. Ze droegen allemaal &lt;em&gt;groene jumpsuits&lt;/em&gt; en &lt;em&gt;onnozele hoedjes&lt;/em&gt;, en leken zich uitstekend te amuseren. Als iemand &lt;strong&gt;enige&lt;/strong&gt; informatie heeft over dit incident, gelieve &lt;strong&gt;nu&lt;/strong&gt; de politie te contacteren.&lt;/p&gt;';
+ drawOutput();
+});
+
+textarea.addEventListener("input", drawOutput);
+window.addEventListener("load", drawOutput);
+</pre>
+</div>
+
+<p>{{ EmbedLiveSample('Playable_code_5', 700, 500) }}</p>
+
+<h3 id="Cursief_vet_onderstrepen...">Cursief, vet, onderstrepen...</h3>
+
+<p>De elementen die we tot nu toe hebben besproken, hebben duidelijk omschreven semantische waarden. De situatie rond {{htmlelement("b")}}, {{htmlelement("i")}} en {{htmlelement("u")}} is iets ingewikkelder. Ze onstonden zodat mensen tekst vet, cursief of onderstreept konden maken, in een tijdperk dat CSS nog nauwelijks of helemaal niet ondersteund werd. Dit soort elementen, die enkel de presentatie en niet de semantiek beïnvloeden, staan bekend als <strong>formele elementen</strong> (<em>presentational elements</em> in het Engels) en kunnen beter niet meer gebruikt worden, omdat, zoals we reeds hebben gezien, semantiek belangrijk is voor de toegankelijkheid, SEO, enz.</p>
+
+<p>HTML5 verschafte nieuwe definities voor <code>&lt;b&gt;</code>, <code>&lt;i&gt;</code> en <code>&lt;u&gt;</code> met nieuwe nogal verwarrende semantische rollen.</p>
+
+<p>Dit is de beste vuistregel: het is waarschijnlijk geschikt om <code>&lt;b&gt;</code>, <code>&lt;i&gt;</code> of <code>&lt;u&gt;</code> te gebruiken als je een betekenis wil overbrengen die traditioneel wordt toegekend aan vette, cursieve of onderstreepte tekst, op voorwaarde dat er geen geschikter element is. Het is echter van cruciaal belang dat de toegankelijkheid nooit uit het oog verloren wordt. Het concept cursivering is niet erg nuttig voor mensen die een schermlezer gebruiken, of voor mensen die een ander schrijfsysteem dan het Latijnse alfabet gebruiken.</p>
+
+<ul>
+ <li>{{HTMLElement('i')}} wordt gebruikt om een betekenis over te brengen die traditioneel met cursieve tekst wordt weergegeven: woorden uit een andere taal, taxonomische aanduidingen, technische termen, een gedachte...</li>
+ <li>{{HTMLElement('b')}} wordt gebruikt om een betekenis over te brengen die traditioneel met vette tekst wordt weergegeven: sleutelwoorden, productnamen, de eerste zin van een hoofdstuk...</li>
+ <li>{{HTMLElement('u')}} wordt gebruikt om een betekenis over te brengen die traditioneel met onderstreepte tekst wordt weergegeven: eigennamen, fout gespelde woorden...</li>
+</ul>
+
+<div class="note">
+<p>Een vriendelijke waarschuwing over onderstreping: <strong>Mensen associëren onderstreping sterk met hyperlinks.</strong> Daarom kun je op het Web het beste slechts hyperlinks onderstrepen. Gebruik het <code>&lt;u&gt;</code>-element als het semantisch geschikt is, maar overweeg CSS te gebruiken om de standaard onderstreping te veranderen in iets dat geschikter is voor het Web. Het voorbeeld hieronder illustreert hoe je dat kunt doen.</p>
+</div>
+
+<pre class="brush: html">&lt;!-- wetenschappelijke benamingen --&gt;
+&lt;p&gt;
+ De robijnkeelkolibrie (&lt;i&gt;Archilochus colubris&lt;/i&gt;)
+ is de meest voorkomende kolibrie in het Oosten van Noord-Amerika.
+&lt;/p&gt;
+
+&lt;!-- vreemde woorden --&gt;
+&lt;p&gt;
+  Het menu was een zee van exotische woorden zoals &lt;i lang="uk-latn"&gt;vatrushka&lt;/i&gt;,
+  &lt;i lang="id"&gt;nasi goreng&lt;/i&gt; en &lt;i lang="fr"&gt;soupe à l'oignon&lt;/i&gt;.
+&lt;/p&gt;
+
+&lt;!-- een bekende spelfout --&gt;
+&lt;p&gt;
+  Op een dag zal ik beter leren &lt;u&gt;spelen&lt;/u&gt;.
+&lt;/p&gt;
+
+&lt;!-- Sleutelwoorden in een reeks instructies markeren --&gt;
+&lt;ol&gt;
+  &lt;li&gt;
+    &lt;b&gt;Snijd&lt;/b&gt; twee sneden van het brood.
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;b&gt;Leg&lt;/b&gt; een schijfje tomaat en een blaadje
+    sla tussen de sneetjes brood.
+  &lt;/li&gt;
+&lt;/ol&gt;</pre>
+
+<h2 id="Samenvatting">Samenvatting</h2>
+
+<p>Voorlopig is dit het! Met dit artikel zou je nu een goed idee moeten hebben van de methodes waarmee je een tekst in HTML kunt opmaken, en heeft je laten kennismaken met enkele van de belangrijkste elementen op dit gebied. Er bestaan veel meer semantische elementen die we in dit artikel zouden kunnen bespreken, en we zullen er veel meer zien in 'Meer Semantische Elementen' later in deze cursus. In het volgende artikel zullen we in detail bekijken hoe we <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks">hyperlinks creëren</a>, misschien wel het belangrijkste element op het Web.</p>
+
+<p>{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML", "Learn/HTML/Introduction_to_HTML/Creating_hyperlinks", "Learn/HTML/Introduction_to_HTML")}}</p>
diff --git a/files/nl/learn/html/introduction_to_html/hyperlinks_maken/index.html b/files/nl/learn/html/introduction_to_html/hyperlinks_maken/index.html
new file mode 100644
index 0000000000..a00d948b29
--- /dev/null
+++ b/files/nl/learn/html/introduction_to_html/hyperlinks_maken/index.html
@@ -0,0 +1,306 @@
+---
+title: Hyperlinks maken
+slug: Learn/HTML/Introduction_to_HTML/Hyperlinks_maken
+translation_of: Learn/HTML/Introduction_to_HTML/Creating_hyperlinks
+---
+<div>{{LearnSidebar}}</div>
+
+<div>{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals", "Learn/HTML/Introduction_to_HTML/Advanced_text_formatting", "Learn/HTML/Introduction_to_HTML")}}</div>
+
+<p class="summary">Hyperlinks zijn heel belangrijk – ze maken van het web <em>een Web</em>. Dit artikel toont de vereiste syntaxis voor het maken van een koppeling en bespreekt de beste werkwijzen om met koppelingen te werken.</p>
+
+<table class="learn-box standard-table">
+ <tbody>
+ <tr>
+ <th scope="row">Vereisten:</th>
+ <td>Basiskennis van HTML, zoals beschreven in <a href="/nl/docs/Learn/HTML/Introduction_to_HTML/Getting_started">Beginnen met HTML</a>. Kennis over HTML-tekstopmaak, zoals beschreven in <a href="/nl/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals">Grondbeginselen van HTML-tekst</a>.</td>
+ </tr>
+ <tr>
+ <th scope="row">Doel:</th>
+ <td>U leert hoe u een hyperlink op een doeltreffende manier aan uw inhoud kunt toevoegen en meerdere bestanden met elkaar kunt verbinden.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Wat_is_een_hyperlink">Wat is een hyperlink?</h2>
+
+<p>Hyperlinks zijn een van de meest opwindende vernieuwingen die het web ons biedt. Eigenlijk horen ze er al sinds het allereerste begin bij, maar zij zijn wat van het web <em>een Web</em> maakt - hiermee kunnen we onze documenten met andere documenten (of met een andere informatiebron) verbinden. Ook kunnen we specifieke onderdelen van documenten met elkaar verbinden, en we kunnen apps op een eenvoudig webadres beschikbaar maken (in tegenstelling tot ‘native’ apps, die op voorhand moeten worden geïnstalleerd). Bijna alle webinhoud kan in een koppeling worden omgezet, zodat wanneer hierop wordt geklikt (of deze op een andere manier wordt geactiveerd), de webbrowser naar een ander webadres zal gaan ({{glossary("URL")}}.)</p>
+
+<div class="note">
+<p><strong>Noot</strong>: een URL wijst ook naar HTML-bestanden, tekstbestanden, afbeeldingen, tekstdocumenten, video- en audiobestanden en alles wat er op het web kan leven. Als de browser niet weet hoe deze het bestand moet weergeven of behandelen, zal worden gevraagd of u het bestand wilt openen of downloaden (in dat geval kunt u er later uw ding mee doen). Als u wordt gevraagd het bestand te openen, wordt de verantwoordelijkheid voor die taak doorgegeven naar een geschikte systeemeigen app op het apparaat.</p>
+</div>
+
+<p>De startpagina van de BBC bijvoorbeeld bevat een groot aantal koppelingen die niet alleen naar meerdere nieuwsartikelen wijzen, maar ook naar verschillende gebieden van de website (navigatiefunctionaliteit), aanmeldings-/registratiepagina’s (gebruikershulpmiddelen) en meer.</p>
+
+<p><img alt="frontpage of bbc.co.uk, showing many news items, and navigation menu functionality" src="https://mdn.mozillademos.org/files/12405/bbc-homepage.png" style="display: block; margin: 0 auto;"></p>
+
+<h2 id="Anatomie_van_een_koppeling">Anatomie van een koppeling</h2>
+
+<p>Een eenvoudige koppeling wordt gemaakt door de tekst (of andere inhoud, zie {{anch("Koppelingen op blokniveau")}}) die u in een koppeling wilt omzetten binnen een {{htmlelement("a")}}-element op te nemen, en dat element een {{htmlattrxref("href", "a")}}-attribuut te geven (ook bekend als een <strong>Hypertext Reference</strong> of <strong>target</strong>) dat het webadres zal bevatten waarnaar u de koppeling wilt laten wijzen.</p>
+
+<pre class="brush: html">&lt;p&gt;Ik ben een koppeling naar
+&lt;a href="https://www.mozilla.org/nl/"&gt;de Mozilla-startpagina&lt;/a&gt; aan het maken.
+&lt;/p&gt;</pre>
+
+<p>Dit geeft het volgende resultaat:</p>
+
+<p>Ik ben een koppeling naar <a class="ignore-external" href="https://www.mozilla.org/nl/">de Mozilla-startpagina</a> aan het maken.</p>
+
+<h3 id="Ondersteunende_informatie_toevoegen_met_het_title-attribuut">Ondersteunende informatie toevoegen met het title-attribuut</h3>
+
+<p>Een andere attribuut dat u mogelijk aan uw koppelingen wilt toevoegen is <code>title</code>; dit is bedoeld voor extra nuttige informatie over de koppeling, zoals het type informatie dat de pagina bevat, of zaken waarvan u zich bewust moet zijn. Voorbeeld:</p>
+
+<pre class="brush: html">&lt;p&gt;Ik ben een koppeling naar
+&lt;a href="https://www.mozilla.org/nl/"
+ title="De beste plek om meer informatie over Mozilla’s
+ missie te vinden en hoe u daaraan kunt bijdragen"&gt;de Mozilla-startpagina&lt;/a&gt;
+aan het maken.&lt;/p&gt;</pre>
+
+<p>De code hierboven zorgt ervoor dat de title als een tooltip verschijnt als u de muisaanwijzer boven een koppeling houdt:</p>
+
+<p>Ik ben een koppeling naar <a class="ignore-external" href="https://www.mozilla.org/nl/" title="De beste plek om meer informatie over Mozilla’s missie te vinden en hoe u daaraan kunt bijdragen">de Mozilla-startpagina</a> aan het maken.</p>
+
+<div class="note">
+<p><strong>Noot</strong>: een hyperlink-titel zal alleen verschijnen als u de muis erboven houdt. Dit betekent dat mensen die een toetsenbord gebruiken om in een webpagina te navigeren moeite zullen hebben om de informatie in de tooltip te lezen. Als de informatie van een titel echt nodig is om de pagina te kunnen gebruiken, zou u die moeten aabieden op een manier die voor alle gebruikers toegankelijk is. U kunt de informatie bijvoorbeeld in de normale tekst van de webpagina zetten.</p>
+</div>
+
+<h3 id="Actief_leren_uw_eigen_voorbeeldkoppeling_maken">Actief leren: uw eigen voorbeeldkoppeling maken</h3>
+
+<p>Tijd om actief te leren: we zouden graag zien dat u een HTML-document maakt met uw lokale broncode-editor. (Ons <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/getting-started/index.html">‘getting started’-sjabloon</a> is zeer geschikt voor dat doel.)</p>
+
+<ul>
+ <li>In de HTML-body voegt u een of meer alinea’s (of andere inhoudstypen waarover u hebt geleerd) toe.</li>
+ <li>Zet een deel van de inhoud om in hyperlinks.</li>
+ <li>Voeg title-attributen toe.</li>
+</ul>
+
+<h3 id="Koppelingen_op_blokniveau">Koppelingen op blokniveau</h3>
+
+<p>We hebben al vermeld dat u ongeveer alle inhoud in een hyperlink kunt omzetten, zelfs <a href="/nl/Learn/HTML/Introduction_to_HTML/Getting_started#Blok-_versus_inline-elementen">elementen op blokniveau</a>. Als u een afbeelding in een koppeling zou willen omzetten, kon u die afbeelding gewoon tussen <code>&lt;a&gt;&lt;/a&gt;</code>-labels zeten.</p>
+
+<pre class="brush: html">&lt;a href="https://www.mozilla.org/nl/"&gt;
+ &lt;img src="mozilla-image.png" alt="mozilla-logo dat naar de mozilla-startpagina verwijst"&gt;
+&lt;/a&gt;</pre>
+
+<div class="note">
+<p><strong>Noot</strong>: in een later artikel zult u nog veel meer over het gebruik van afbeeldingen op het web ontdekken.</p>
+</div>
+
+<h2 id="Een_snelle_uitleg_over_URL’s_en_paden">Een snelle uitleg over URL’s en paden</h2>
+
+<p>Om het doel van een hyperlink volledig te begrijpen, moet u URL’s en bestandspaden begrijpen. Deze sectie verschaft u de informatie die u daarvoor nodig hebt.</p>
+
+<p>Een URL, of Uniform Resource Locator, is gewoon een string (tekst) die bepaalt waar iets op het web kan worden gevonden. Mozilla’s Nederlandstalige startpagina bijvoorbeeld bevindt zich op <code>https://www.mozilla.org/nl/</code>.</p>
+
+<p>URL’s gebruiken paden om bestanden te vinden. Paden tonen ons waar een bestand zich in een bestandssysteem bevindt. Laten we een eenvoudig voorbeeld van een mapstructuur bekijken (zie de map <a href="https://github.com/mdn/learning-area/tree/master/html/introduction-to-html/creating-hyperlinks">creating-hyperlinks</a>.)</p>
+
+<p><img alt="Een eenvoudige mapstructuur. De bovenliggende map heet creating-hyperlinks en bevat twee bestanden met de naam index.html en contacts.html, en twee mappen met de naam projects en pdfs, die respectievelijk een bestand index.html en een bestand project-brief.pdf bevatten" src="https://mdn.mozillademos.org/files/12409/simple-directory.png" style="display: block; margin: 0 auto;"></p>
+
+<p>De <strong>hoofdmap</strong> van deze mapstructuur heet <code>creating-hyperlinks</code>. Als u op uw lokale computer aan een website werkt, zult u een map hebben waarbinnen de volledige website zich bevindt. In de hoofdmap hebben we een bestand <code>index.html</code> en een <code>contacts.html</code>. Op een echte website zou <code>index.html</code> onze startpagina of landingspagina zijn (een webpagina die als het startpunt voor een website of een bepaalde sectie van een website dient).</p>
+
+<p>In onze hoofdmap zitten ook twee andere mappen – <code>pdfs</code> en <code>projects</code>. In elk van hen steekt één bestand – respectievelijk een PDF-bestand (<code>project-brief.pdf</code>) en een <code>index.html-bestand</code>. Twee <code>index.html</code>-bestanden kunnnen dus heel goed in één project bestaan, zolang ze op verschillende locaties in het bestandsysteem zijn opgeslagen. Bij veel websites is dit het geval. De tweede <code>index.html</code> is misschien de landingspagina voor projectgerelateerde informatie. (Tussen haakjes: een <strong>landingspagina</strong> is een pagina op uw website die specifiek is ingericht voor bezoekers die op die pagina binnenkomen (landen). De bezoeker kan op uw pagina landen via een zoekopdracht of bijvoorbeeld een online- of offlinecampagne die hem of haar naar die specfieke pagina stuurt.)</p>
+
+<ul>
+ <li>
+ <p><strong>Dezelfde map</strong>: stel dat u een hyperlink aan het bestand <code>index.html</code> op het hoogste niveau wilt toevoegen. De hyperlink in deze index.html wijst naar <code>contacts.html.</code> U hoeft dan alleen de bestandsnaam van het bestand waarnaar u wilt verwijzen op te geven, omdat dit zich in dezelfde map bevindt als het huidige bestand. De URL is dus gewoon <code>contacts.html</code>:</p>
+
+ <pre class="brush: html">&lt;p&gt;Wilt u contact opnemen met een staflid?
+Details vindt u op onze &lt;a href="contacts.html"&gt;contactpagina&lt;/a&gt;.&lt;/p&gt;</pre>
+ </li>
+ <li>
+ <p><strong>Afdalen naar submappen</strong>: stel dat u opnieuw een hyperlink aan het bestand <code>index.html</code> in de hoofdmap wilt toevoegen, maar deze keer wijst de hyperlink naar <code>projects/index.html</code>. In dat geval zou u omlaag naar de map <code>projects</code> moeten gaan voordat u het bestand aangeeft waarnaar u wilt verwijzen. Dit doet u door eerst de naam van de map te noteren, dan een voorwaartse schuine streep te schrijven, en dan de naam van het bestand. De URL zal er dus zo uitzien: <code>projects/index.html</code>:</p>
+
+ <pre class="brush: html">&lt;p&gt;Bezoek mijn &lt;a href="projects/index.html"&gt;project-startpagina&lt;/a&gt;.&lt;/p&gt;</pre>
+ </li>
+ <li>
+ <p><strong>Teruggaan naar bovenliggende mappen</strong>: als u een hyperlink in <code>projects/index.html</code> wilt plaatsen en u wilt dat die koppeling naar <code>pdfs/project-brief.pdf</code> wijst, moet u een niveau omhoog gaan, en dan opnieuw omlaag naar de map <code>pdf</code>. ‘Naar een bovenliggende map gaan’ wordt aangegeven via twee puntjes – <code>..</code> – dus de te gebruiken URL is <code>../pdfs/project-brief.pdf</code>:</p>
+
+ <pre class="brush: html">&lt;p&gt;Een hyperlink naar mijn &lt;a href="../pdfs/project-brief.pdf"&gt;projectsamenvatting&lt;/a&gt;.&lt;/p&gt;</pre>
+ </li>
+</ul>
+
+<div class="note">
+<p><strong>Noot</strong>: zo nodig kunt u meerdere instanties van deze eigenschappen in complexe URL’s combineren, bijvoorbeeld <code>../../../complex/pad/naar/mijn/bestand.html</code>.</p>
+</div>
+
+<h3 id="Documentfragmenten">Documentfragmenten</h3>
+
+<p>Het is mogelijk om naar een specifiek deel van een HTML-document te verwijzen. Dit specifieke deel noemen we een <strong>documentfragment</strong>. Om dit te doen hebt u een {{htmlattrxref("id")}}-attribuut nodig. U moet het toekennen aan het element waarnaar u uw hyperlink wilt laten wijzen. Het is meestal zinvol om er een geschikte kop voor te gebruiken. Die kop zal er ongeveer zo uitzien:</p>
+
+<pre class="brush: html">&lt;h2 id="E-mailadres"&gt;E-mailadres&lt;/h2&gt;</pre>
+
+<p>Om dan naar dat specifieke <code>id</code> te verwijzen, voegt u de inhoud van het id aan het einde van de URL toe, voorafgegaan door een hekje (#). Voorbeeld:</p>
+
+<pre class="brush: html">&lt;p&gt;Wilt u ons een brief schrijven? Gebruik dan ons &lt;a href="contacts.html#e-mailadres"&gt;e-mailadres&lt;/a&gt;.&lt;/p&gt;</pre>
+
+<p>U kunt het documentfragment zelfs aan <em>een ander deel van hetzelfde document</em> koppelen:</p>
+
+<pre class="brush: html">&lt;p&gt;Het&lt;a href="#e-mailadres"&gt;e-mailadres van ons bedrijf&lt;/a&gt; vindt u onderaan de pagina.&lt;/p&gt;</pre>
+
+<h3 id="Absolute_versus_relatieve_URL’s">Absolute versus relatieve URL’s</h3>
+
+<p>Twee termen die u op het web zult tegenkomen zijn <strong>absolute URL</strong> en <strong>relatieve URL:</strong></p>
+
+<p><strong>Een absolute URL</strong> wijst naar de absolute locatie op het web. Die locatie houdt ook het {{glossary("protocol")}} en de {{glossary("domain name")}} in. Stel bijvoorbeeld dat een pagina <code>index.html</code> wordt geüpload naar een map die <code>projects</code> heet. Als die zich in de hoofdmap (root in het Engels) van een webserver bevindt en het domein van de website is <code>http://www.example.com</code>, zou u de pagina op <code>http://www.example.com/projects/index.html</code> kunnen vinden. (Of zelfs alleen <code>http://www.example.com/projects/</code>, want de meeste webservers zoeken naar een landingspagina zoals <code>index.html</code> die ze kunnen laden als deze niet in de URL wordt vermeld.)</p>
+
+<p>Een absolute URL zal altijd naar dezelfde locatie wijzen, waar deze ook wordt gebruikt.</p>
+
+<p><strong>Een relatieve URL</strong> wijst naar een locatie die <em>relatief</em> is ten opzichte van het bestand vanwaar u verwijst. De koppeling ziet eruit zoals de URL’s die we in de vorige sectie hebben bekeken. Als u bijvoorbeeld een koppeling van ons voorbeeld <code>http://www.example.com/projects/index.html</code> naar een PDF-bestand in dezelfde map wilt maken, zou de URL alleen uit de bestandsnaam bestaan – bv. <code>project-brief.pdf</code> – extra informatie is dan niet nodig. Als de PDF beschikbaar was in de submap binnen <code>projects</code> met de naam <code>pdfs</code>, zou de relatieve koppeling <code>pdfs/project-brief.pdf</code> zijn (de equivalente absolute URL zou er dan zo uitzien: <code>http://www.example.com/projects/pdfs/project-brief.pdf</code>).</p>
+
+<p>Een relatieve URL kan naar verschillende plekken wijzen, afhankelijk van de locatie van het bestand waarin de koppeling wordt vermeld zich bevindt. Als we bijvoorbeeld ons bestand <code>index.html</code> uit de map <code>projects</code> zouden halen en dit in de hoofdmap van de website zouden plaatsen (het hoogste niveau, geen submappen), zou <code>pdfs/project-brief.pdf</code> nu naar <code>http://www.example.com/pdfs/project-brief.pdf</code> wijzen en niet naar <code>http://www.example.com/projects/pdfs/project-brief.pdf</code>.</p>
+
+<h2 id="Optimale_methoden_voor_het_werken_met_koppelingen">Optimale methoden voor het werken met koppelingen</h2>
+
+<p>Er bestaan een aantal ‘beste werkwijzen’ die u kunt volgen als u een hyperlink maakt. Die werkwijzen gaan we hieronder bekijken.</p>
+
+<ul>
+</ul>
+
+<h3 id="Verwoord_uw_koppelingen_duidelijk">Verwoord uw koppelingen duidelijk</h3>
+
+<p>Het is makkelijk om een paar koppelingen op uw pagina te plaatsen, maar dat is niet genoeg. We moeten onze hyperlinks <em>toegankelijk</em> maken voor alle lezers, ongeacht hun huidige context en hulpmiddelen van hun voorkeur. Voorbeeld:</p>
+
+<ul>
+ <li>Mensen die een schermlezer gebruiken, springen graag van koppeling naar koppeling en lezen die zonder op de context in te gaan.</li>
+ <li>Zoekmachines gebruiken hyperlinktekst om doelbestanden te indexeren. Het is dus een goed idee om sleutelwoorden in uw koppelingstekst te gebruiken. Deze sleutelwoorden beschrijven de plek waar de koppeling u naartoe brengt.</li>
+ <li>Visuele lezers scannen de tekst in plaats van elk woord te lezen en hun blik zal op pagina-eigenschappen worden gericht die er echt uitspringen, zoals koppelingen. Ze zullen de beschrijvende tekst in een koppeling nuttig vinden.</li>
+</ul>
+
+<p>We bekijken een specifiek voorbeeld:</p>
+
+<p><em><strong>Goede</strong> koppelingstekst:</em> <a href="https://firefox.com">Download Firefox</a></p>
+
+<pre class="brush: html">&lt;p&gt;&lt;a href="https://firefox.com/"&gt;
+ Download Firefox
+&lt;/a&gt;&lt;/p&gt;</pre>
+
+<p><em><strong>Slechte</strong> koppelingstekst:</em> <a href="https://firefox.com/">Klik hier</a> om Firefox te downloaden</p>
+
+<pre class="brush: html">&lt;p&gt;&lt;a href="https://firefox.com/"&gt;
+ Klik hier
+&lt;/a&gt;
+om Firefox te downloaden&lt;/p&gt;
+</pre>
+
+<p>Andere tips:</p>
+
+<ul>
+ <li>Herhaal de URL niet als onderdeel van de koppelingstekst – URL’s zijn lelijk en klinken nog lelijker als ze letter voor letter door een schermlezer worden voorgelezen.</li>
+ <li>Zeg niet ‘koppeling’ of ‘verwijst naar’ in de koppelingstekst – dit is alleen maar ruis. Schermlezers vertellen gebruikers dat er een koppeling is. Visuele gebruikers zullen weten dat er een koppeling staat, omdat een koppeling standaard wordt onderstreept en ook in een andere kleur zal staan. (Deze conventie kan dus beter niet worden doorbroken, want gebruikers zijn eraan gewend.)</li>
+ <li>Houd uw koppelingstekst zo kort mogelijk – lange koppelingen irriteren schermlezergebruikers nog het meest, omdat die naar het hele verhaal moeten luisteren.</li>
+ <li>Minimaliseer het gebruik van meerder kopieën van dezelfde tekst die naar verschillende plaatsen wordt verwezen. Dit kan problemen veroorzaken bij gebruikers van schemrlezers, want zij zullen een koppelingen vaker buiten de context ervan lezen – diverse koppelingen met het label ‘klik hier’, ‘klik hier’, ‘klik hier’ zouden verwarrend zijn.</li>
+</ul>
+
+<h3 id="Gebruik_relatieve_koppelingen_waar_mogelijk">Gebruik relatieve koppelingen waar mogelijk</h3>
+
+<p>Als u de beschrijving hierboven leest, denkt u misschien dat het een goed idee is om altijd absolute koppelingen te gebruiken. Ze kunnen niet defact raken als een pagina van plaats verandert, en relatieve koppelingen zullen dat wel doen. Niettemin is het beter een relatieve koppeling te gebruiken waar dat mogelijk is als u naar locaties <em>op dezelfde website</em> verwijst (Als u naar <em>een andere website</em> verwijst, zult u een absolute koppeling nodig hebben):</p>
+
+<ul>
+ <li>Ten eerste is het veel makkelijker om uw code te scannen – relatieve URL’s zijn in het algemeen veel korter dan absolute URL’s, wat het lezen van code veel makkelijker maakt.</li>
+ <li>Ten tweede is het gebruik van relatieve URL’s veel efficiënter. Als u een absolute URL gebruikt, zoekt de browser eerst de echte locatie van de server op door de domeinnaam op de {{glossary("DNS")}}-server op te zoeken, vervolgens gaat de browser naar de server waar het bestand zich op bevindt, en pas daarna vindt deze het gevraagde bestand. Een relatieve URL laat de browser naar het gevraagde bestand op dezelfde server zoeken. Als u dus absolute URL’s gebruikt waar relatieve URL’s voldoende zijn, laat u uw browser constant extra werk doen, wat betekent dat deze minder efficiënt werkt.</li>
+</ul>
+
+<h3 id="Koppelingen_naar_browservreemde_bronnen_–_gebruik_duidelijke_wegwijzers">Koppelingen naar browservreemde bronnen – gebruik duidelijke wegwijzers</h3>
+
+<p>Als u hyperlinks schrijft naar een bron die men downloadt (zoals een PDF- of Word-document), streamt (zoals video of audio) of die een ander potentieel onverwacht effect heeft (een pop-upvenster opent of een Flash-film laadt), voeg dan duidelijke bewoording toe om elke verwarring te vermijden. Het kan zeer bijvoorbeeld zeer vervelend worden:</p>
+
+<ul>
+ <li>Als u een lage bandbreedte hebt, op een koppeling klikt en er onverwacht een download van een meerdere megabytes begint.</li>
+ <li>Als u Flash Player niet hebt geïnstalleerd, op een koppeling klikt en u plotseling naar een pagina wordt gebracht die Flash vereist.</li>
+</ul>
+
+<p>Laten we een paar voorbeelden bekijken en wat voor tekst we in dit soort gevallen kunnen gebruiken:</p>
+
+<pre class="brush: html">&lt;p&gt;&lt;a href="http://www.example.com/large-report.pdf"&gt;
+ Het omzetrapport downloaden(PDF, 10MB)
+&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;&lt;a href="http://www.example.com/video-stream/"&gt;
+ De video bekijken (stream opent in apart tabblad, HD-kwaliteit)
+&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;&lt;a href="http://www.example.com/car-game"&gt;
+ Het autospel spelen (vereist Flash-software)
+&lt;/a&gt;&lt;/p&gt;</pre>
+
+<h3 id="Gebruik_het_download-attribuut_als_u_naar_een_download_verwijst">Gebruik het download-attribuut als u naar een download verwijst</h3>
+
+<p>Als u een koppeling naar een bron schrijft die beter kan worden gedownload dan deze in de browser te openen, kunt u het <code>download</code>-attribuut gebruiken en de koppeling een standaard bestandsnaam geven om de download mee op te slaan. Hier is een voorbeeld met een downloadkoppeling naar de Windows-versie van Firefox 39:</p>
+
+<pre class="brush: html">&lt;a href="https://download.mozilla.org/?product=firefox-39.0-SSL&amp;os=win&amp;lang=nl"
+ download="firefox-39-installer.exe"&gt;
+ Download Firefox 39 voor Windows
+&lt;/a&gt;</pre>
+
+<h2 id="Actief_leren_een_navigatiemenu_maken">Actief leren: een navigatiemenu maken</h2>
+
+<p>Voor deze oefening willen we dat u een paar pagina’s naar elkaar laat verwijzen met een navigatiemenu. Zo kunt u een website maken die uit meerdere pagina’s bestaat. Dit is een gebruikelijke manier – dezelfde paginastructuur wordt op elke pagina herhaald, inclusief het navigatiemenu. Als u dus op de koppelingen klikt, hebt u de indruk dat u op dezelfde plek blijft en dat er verschillende inhoud wordt getoond.</p>
+
+<p>U hebt lokale kopieën van de volgende vier pagina’s nodig, alle vier in dezelfde map (zie ook de map <a href="https://github.com/mdn/learning-area/tree/master/html/introduction-to-html/navigation-menu-start">navigation-menu-start</a> voor een volledige lijst):</p>
+
+<ul>
+ <li><a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/navigation-menu-start/index.html">index.html</a></li>
+ <li><a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/navigation-menu-start/projects.html">projects.html</a></li>
+ <li><a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/navigation-menu-start/pictures.html">pictures.html</a></li>
+ <li><a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/navigation-menu-start/social.html">social.html</a></li>
+</ul>
+
+<p>Wat u moet doen:</p>
+
+<ol>
+ <li>Voeg een ongeordende lijst toe op de aangegeven plek op één pagina, die de namen bevat van de pagina’s waarnaar wordt verwezen. Een navigatiemenu is gewoonlijk niet meer dan een lijst met koppelingen, dus semantisch gezien is dit in orde.</li>
+ <li>Zet alle paginanamen om naar een hyperlink naar die pagina.</li>
+ <li>Kopieer het navigatiemenu naar de drie andere pagina’s.</li>
+ <li>Op elke pagina verwijdert u de koppeling naar zichzelf – dat is alleen maar verwarrend en zinloos, en het ontbreken van een koppeling is een goede visuele herinnering aan de pagina waarop u zich nu bevindt.</li>
+</ol>
+
+<p>Het voltooide voorbeeld zou er ongeveer zo moeten uitzien:</p>
+
+<p><img alt="Een voorbeeld van een eenvoudig HTML-navigatiemenu, met startmenu, afbeeldingen, projecten en sociale menu-items" src="https://mdn.mozillademos.org/files/12411/navigation-example.png" style="display: block; margin: 0 auto;"></p>
+
+<div class="note">
+<p><strong>Noot</strong>: als u vastloopt, of er niet zeker van bent dat u het allemaal juist hebt, kunt u de map <a href="https://github.com/mdn/learning-area/tree/master/html/introduction-to-html/navigation-menu-marked-up">navigation-menu-marked-up</a> bekijken om het juiste antwoord te zien.</p>
+</div>
+
+<h2 id="E-mailkoppelingen">E-mailkoppelingen</h2>
+
+<p>Het is mogelijk om koppelingen of knoppen te maken die een nieuwe e-mailbericht openen, als erop wordt geklikt. Dit is mogelijk door het gebruik van het {{HTMLElement("a")}}-element en het URL-schema <code>mailto:</code>.</p>
+
+<p>In de meest eenvoudige en gebruikelijke vorm duidt een ‘<code>mailto:</code>-koppeling’ gewoon het e-mailadres van de bedoelde ontvanger aan. Voorbeeld:</p>
+
+<pre class="brush: html">&lt;a href="mailto:nowhere@mozilla.org"&gt;E-mail nergens naartoe verzenden&lt;/a&gt;
+</pre>
+
+<p>Het resultaat is een koppeling die er zo uitziet: <a href="mailto:nowhere@mozilla.org">E-mail nergens naartoe verzenden</a>.</p>
+
+<p>In feite is het e-mailadres zelfs optioneel. Als u het weglaat (dat wil zeggen, uw {{htmlattrxref("href", "a")}} is gewoon "mailto:"), zal een nieuw venster voor uitgaande e-mail worden geopend door het e-mailprogramma van de gebruiker waarin nog geen bestemmingsadres is ingevuld. Dit is vaak nuttig voor het ‘Delen’ van koppelingen waarop gebruikers kunnen klikken om een e-mailbericht naar een zelfgekozen e-mailadres te sturen.</p>
+
+<h3 id="Details_toevoegen">Details toevoegen</h3>
+
+<p>Behalve het e-mailadres kunt u nog andere informatie toevoegen. In feite kunnen alle kopregels van een standaardmail worden toegevoegd aan de <code>mailto</code>-URL die u opgeeft. De meest gebruikelijke zijn ‘subject’ (onderwerp), ‘cc’, en ‘body’ (body is de inhoud, body is geen echt headerveld, maar u kunt er een korte inhoud van het nieuwe e-mailbericht mee opgeven). Elk veld en de waarde ervan wordt als zoekterm opgegeven.</p>
+
+<p>Hier is een voorbeeld met cc, bcc, subject en body:</p>
+
+<pre class="brush: html">&lt;a href="mailto:nowhere@mozilla.org?cc=name2@rapidtables.com&amp;bcc=name3@rapidtables.com&amp;amp;subject=The%20subject%20of%20the%20email &amp;amp;body=The%20body%20of%20the%20email"&gt;
+ E-mail verzenden met cc, bcc, subject en body
+&lt;/a&gt;</pre>
+
+<div class="note">
+<p><strong>Noot:</strong> de waarden van elk veld moeten URL-gecodeerd zijn, d.w.z. met niet-afdrukbare tekens (onzichtbare tekens zoals tabs, enters en pagina-einden) en spaties <a href="http://en.wikipedia.org/wiki/Percent-encoding">‘percent-escaped’</a>). Let ook op het gebruik van het vraagteken (<code>?</code>) om de hoofd-URL van de ingevoerde waarden te scheiden, en de ampersand (&amp;) om de velden in de <code>mailto:</code>-URL van elkaar te scheiden. Dit is standaard URL-zoeknotatie. U kunt de <a href="https://developer.mozilla.org/nl/docs/Learn/HTML/Forms/Sending_and_retrieving_form_data#De_GET-methode">De GET-methode</a> lezen als u meer over URL-querynotatie wilt weten.)</p>
+</div>
+
+<p>Dit zijn enkele voorbeelden van <code>mailto</code>-URL’s:</p>
+
+<ul>
+ <li><a href="mailto:">mailto:</a></li>
+ <li><a href="mailto:nowhere@mozilla.org">mailto:nowhere@mozilla.org</a></li>
+ <li><a href="mailto:nowhere@mozilla.org,nobody@mozilla.org">mailto:nowhere@mozilla.org,nobody@mozilla.org</a></li>
+ <li><a href="mailto:nowhere@mozilla.org?cc=nobody@mozilla.org">mailto:nowhere@mozilla.org?cc=nobody@mozilla.org</a></li>
+ <li><a href="mailto:nowhere@mozilla.org?cc=nobody@mozilla.org&amp;subject=Dit%20is%20het%20onderwerp">mailto:nowhere@mozilla.org?cc=nobody@mozilla.org&amp;subject=Dit%20is%20het%20onderwerp</a></li>
+</ul>
+
+<h2 id="Samenvatting">Samenvatting</h2>
+
+<p>Dat is het wat koppelingen betreft, in elk geval voorlopig! U zult er later in deze cursus naar terugkeren als u begint te leren hoe u ze kunt stijlen. We gaan verder met tekstsemantiek en bekijken een aantal geavanceerde en ongewone eigenschappen die u nuttig zult vinden – Geavanceerde tekstopmaak is uw volgende halte.</p>
+
+<p>{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals", "Learn/HTML/Introduction_to_HTML/Advanced_text_formatting", "Learn/HTML/Introduction_to_HTML")}}</p>
diff --git a/files/nl/learn/html/introduction_to_html/index.html b/files/nl/learn/html/introduction_to_html/index.html
new file mode 100644
index 0000000000..2d3a59d5d5
--- /dev/null
+++ b/files/nl/learn/html/introduction_to_html/index.html
@@ -0,0 +1,64 @@
+---
+title: Een Inleiding op HTML
+slug: Learn/HTML/Introduction_to_HTML
+tags:
+ - Inleiding op HTML
+ - Structuur
+ - semantisch
+translation_of: Learn/HTML/Introduction_to_HTML
+---
+<div>{{LearnSidebar}}</div>
+
+<p class="summary">{{glossary("HTML")}} is, in zijn kern, een vrij eenvoudige taal. Hij bestaat uit <a href="/nl/docs/Glossary/Element">elementen</a> die kunnen worden toegepast op stukken tekst om hen een nieuwe betekenis in een document te geven (is de tekst een paragraaf? een ongeordende lijst? een onderdeel van een tabel?). Met HTML kan je een document ook in logische secties structureren (heeft het een koptekst? drie kolommen met inhoud? een navigatiemenu?) en je kan inhoud zoals afbeeldingen en video's in een pagina integreren. Deze module is een inleiding op de eerste twee aspecten van HTML en introduceert fundamentele begrippen en syntaxis, die je nodig hebt om HTML te begrijpen.</p>
+
+<h2 id="Minimum_vereisten">Minimum vereisten</h2>
+
+<p>Om met deze module te beginnen, hoef je geen HTML te kennen maar je zou toch wel een beetje vertrouwd moeten zijn met een computer en je zou het web passief moeten kunnen gebruiken (i.e. je kan websites bekijken en hun inhoud consumeren.) Je zou een miminimale werkomgeving moeten hebben opgezet zoals is aangegeven in <a href="https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/Installing_basic_software">Basissoftware installeren</a>. Het is ook nodig dat je begrijpt hoe je bestanden kan maken en beheren, zoals is uitgelegd in <a href="https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/Dealing_with_files">Omgaan met bestanden</a>. Beide artikelen zijn hoofdstukken in onze module voor complete beginners, <a href="https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web">Van start met het web</a>. </p>
+
+<div class="note">
+<p><strong>Opmerking</strong>: Als je met een computer, tablet of een ander toestel werkt en je kan er geen bestanden mee creëren, kan je de (meeste) codevoorbeelden in een online programma zoals  <a href="http://jsbin.com/">JSBin</a> of <a href="https://thimble.mozilla.org/">Thimble</a> schrijven.</p>
+</div>
+
+<h2 id="Gidsen">Gidsen</h2>
+
+<p>Deze module bevat een aantal artikelen die de basistheorie van HTML bespreken en heel wat gelegenheden biedt om je vaardigheden uit te testen.</p>
+
+<dl>
+ <dt><a href="/nl/docs/Learn/HTML/Introduction_to_HTML/Getting_started" style="font-weight: 700;">Met HTML beginnen</a></dt>
+ <dd>
+ <p>Dit artikel helpt je op weg met de basisprincipes van HTML — we definiëren elementen, attributen en alle andere belangrijke begrippen waarover je misschien al hebt gelezen en hoe ze in de taal passen. We tonen je ook hoe een HTML-element is gestructureerd en verklaren een aantal belangrijke basiseigenschappen van de taal. Terwijl we dat allemaal doen, spelen we met HTML om je interesse op te wekken! </p>
+ </dd>
+</dl>
+
+<dl>
+ <dt><a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML">Wat zit er in het hoofd? Metadata in HTML</a></dt>
+ <dd>Het hoofd van een HTML-document is het deel dat niet in een webbrowser wordt getoond als de pagina wordt geladen. Het bevat informatie zoals bijvoorbeeld de pagina {{htmlelement("title")}}, links naar {{glossary("CSS")}} (als je je HTML-inhoud met CSS wil stijlen, links naar je eigen favicons en metadata (dit is data over de HTML, bijv. wie de HTML geschreven heeft en belangrijke sleutelwoorden die het document beschrijven).</dd>
+ <dt><a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals">HTML tekst : basisprincipes</a> </dt>
+ <dd>HTML vervult een aantal taken. Hij geeft onder andere betekenis aan een tekst (ook gekend als <strong>semantiek</strong>) zodat de browser weet hoe de tekst correct moet worden weergegeven. In dit artikel leren we hoe we HTML kunnen gebruiken om een blok tekst op te delen in een structuur van hoofdingen en paragrafen, hoe we woorden moeten benadrukken, hoe we lijsten moeten maken en nog veel meer.</dd>
+ <dt><a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks">Hyperlinks creëren</a></dt>
+ <dd>Hyperlinks zijn echt belangrijk — zij zijn wat van het Web een web maakt. Dit artikel toont welke syntaxis je nodig hebt om een hyperlink te maken en bespreekt de beste manier om de theorie over hyperlinks toe te passen.</dd>
+ <dt><a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Advanced_text_formatting">Gevorderde tekstopmaak</a></dt>
+ <dd>Er zijn vele andere elementen in HTML om tekst mee te formatteren waar we in <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals">HTML tekst: de basisprincipes</a> niet aan toe zijn gekomen. De elementen in dit artikel zijn niet zo goed gekend maar toch wel nuttig om te leren. Je zal leren hoe je citaten kunt opmaken, beschrijvende lijsten, computer code en andere gerelateerde tekst, subscript en superscript, contactinformatie enz.</dd>
+ <dt><a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Document_and_website_structure">Document- en websitestructuur</a></dt>
+ <dd>Met HTML kan je individuele delen van je pagina definiëren (zoals een "paragraaf" of een "afbeelding") maar behalve dat wordt HTML ook gebruikt om gebieden van je website te definiëren (zoals "de koptekst", "het navigatiemenu", "de kolom met de hoofdinhoud"). Dit artikel bekijkt hoe we de basisstructuur van je website kunnen plannen en de HTML schrijven om die structuur weer te geven.</dd>
+ <dt><a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Debugging_HTML">HTML debuggen</a></dt>
+ <dd>HTML schrijven is prima, maar wat als er iets fout gaat en je komt er maar niet achter waar de fout in je code zit? Dit artikel is een inleiding op een aantal instrumenten die je kunnen helpen.</dd>
+</dl>
+
+<h2 id="Evalutie">Evalutie</h2>
+
+<p>De volgende oefeningen dienen als test van de HTML-basisbegrippen die in de gidsen hierboven zijn doorgenomen.</p>
+
+<dl>
+ <dt><a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Marking_up_a_letter">De opmaak van een brief</a></dt>
+ <dd>Vroeg of laat leren we allemaal hoe we een brief moeten schrijven. Het is ook een nuttig voorbeeld waarmee we je tekstopmaak-vaardigheden kunnen testen! In deze test zal je dus een brief krijgen om op te maken.</dd>
+ <dt><a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Structuring_a_page_of_content">De inhoud van een pagina structureren</a></dt>
+ <dd>Deze oefening evalueert je capaciteit om een eenvoudige inhoud op een pagina te structureren met HTML. De pagina bevat een koptekst, een voettekst, een navigatiemenu, de hoofdinhoud en een zijbalk.</dd>
+</dl>
+
+<h2 id="Zie_ook">Zie ook</h2>
+
+<dl>
+ <dt><a href="https://teach.mozilla.org/activities/web-lit-basics/">Web literacy basics 1</a></dt>
+ <dd>Dit is een uitstekende Mozilla foundation cursus. Vele vaardigheden die in de <em>Met HTML beginnen</em> module werden besproken worden hierin onderzocht en getest. Studenten raken vertrouwd met het lezen, schrijven en participeren op het web in deze zesdelige module. Ontdek de fundamenten van het web door productie en samenwerking.</dd>
+</dl>
diff --git a/files/nl/learn/html/introduction_to_html/opmaak_van_een_brief/index.html b/files/nl/learn/html/introduction_to_html/opmaak_van_een_brief/index.html
new file mode 100644
index 0000000000..1942ef0baa
--- /dev/null
+++ b/files/nl/learn/html/introduction_to_html/opmaak_van_een_brief/index.html
@@ -0,0 +1,81 @@
+---
+title: De opmaak van een brief
+slug: Learn/HTML/Introduction_to_HTML/Opmaak_van_een_brief
+translation_of: Learn/HTML/Introduction_to_HTML/Marking_up_a_letter
+---
+<div>{{LearnSidebar}}</div>
+
+<div>{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/Debugging_HTML", "Learn/HTML/Introduction_to_HTML/Structuring_a_page_of_content", "Learn/HTML/Introduction_to_HTML")}}</div>
+
+<p class="summary">Vroeg of laat leren we allemaal hoe we een brief moeten schrijven. Deze vaardigheid is ook een nuttig voorbeeld waarmee we onze nieuwe vaardigheden kunnen uittesten. In deze evaluatie zal je een brief krijgen die je moet opmaken. Je zal je kennis over tekstopmaak kunnen gebruiken (zowel op basis- als op gevorderd niveau). Je kennis over hyperlinks zal ook van pas komen en we zullen ook je vertrouwdheid met een aantal HTML <code>&lt;head&gt;</code> inhouden testen.</p>
+
+<table class="learn-box standard-table">
+ <tbody>
+ <tr>
+ <th scope="row">Vereisten:</th>
+ <td>Vooraleer je deze evaluatie uitprobeert zou je de volgende hoofdstukken moeten hebben doorgewerkt: <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started">Beginnen met HTML</a>, <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML">Wat steek er in het hoofd? Metadata in HTML</a>, <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals">HTML tekst: basisprincipes</a>, <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks">Hyperlinks maken</a> en <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Advanced_text_formatting">Gevorderde tekstopmaak</a>.</td>
+ </tr>
+ <tr>
+ <th scope="row">Doel:</th>
+ <td>Je vaardigheden op het gebied van HTML tekstopmaak en hyperlinks uittesten (op basis- en gevorderd niveau) en de evaluatie van je kennis over het HTML &lt;head&gt;.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Startpunt">Startpunt</h2>
+
+<p>Om met deze evaluatie van start te kunnen gaan, heb je de <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/marking-up-a-letter-start/letter-text.txt">ruwe tekst  die je gaat opmaken</a> nodig en de <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/marking-up-a-letter-start/css.txt">CSS die je HTML zal bevatten</a>. Creëer een nieuw <code>.html</code> bestand in je broncodebewerker. Daarin ga je je werk doen (een alternatief voor de broncodeverwerker is een site zoals <a class="external external-icon" href="http://jsbin.com/">JSBin</a> of <a class="external external-icon" href="https://thimble.mozilla.org/">Thimble</a>)</p>
+
+<h2 id="Instructies">Instructies</h2>
+
+<p>Je taak voor dit project is de opmaak van een brief die op het intranet van een universiteit zal worden geplaatst. De brief is een antwoord van een onderzoeker aan een student die zijn doctoraat wil doen. Het gaat over de aanvraag van de doctoraatsstudent om aan de universiteit te kunnen werken. </p>
+
+<p>Semantiek op blokniveau:</p>
+
+<ul>
+ <li>Je moet het hele document een geschikte structuur geven, inclusief het doctype en de {{htmlelement("html")}}, {{htmlelement("head")}} and {{htmlelement("body")}} elementen.</li>
+ <li>De brief moeten worden opgemaakt met een structuur die paragrafen en kopteksten bevat, met uitzondering van de secties die je hieronder vindt. Er is één koptekst op het hoogste niveau (de "Re:" regel) en er zijn drie kopteksten op een tweede niveau.</li>
+ <li>De start data van de semesters, studie-onderwerpen en de exotische dansen zouden moeten worden opgemaakt met een passende structuur om een lijst weer te geven.</li>
+ <li>De twee adressen kan je gewoon in paragrafen steken. Het {{htmlelement("address")}}-element is er niet voor geschikt — denk eens na over het waarom. Elke regel van de adressen moet ook op een nieuwe lijn worden geplaatst maar niet in een nieuwe paragraaf.</li>
+</ul>
+
+<p>Inline semantiek:</p>
+
+<ul>
+ <li>De namen van de zender en de ontvanger (en "Tel" en "Email") moeten als zeer belangrijk worden opgemaakt.</li>
+ <li>De vier data in het document zouden door passende elementen omhuld moeten worden. Deze elementen moeten data bevatten die machine-leesbaar zijn.</li>
+ <li>Het eerste adres en de eerste datum in de letter krijgen een class attribuut met de waarde "ontvanger-kolom"; de CSS die je later zal toevoegen zal ervoor zorgen dat ze rechts zullen worden uitgelijnd zoals je dat ziet in de lay-out van een typische brief.</li>
+ <li>De vijf acroniemen/afkortingen in de brieftekst zouden zo moeten worden opgemaakt dat je kan zien waar de afkortingen/acroniemen voor staan als je er met je muis overheen glijdt.</li>
+ <li>De zes sub/superscripten moeten op passende wijze worden opgemaakt.</li>
+ <li>De symbolen die graden voorstellen, het groter-dan symbool en de symbolen die een vermenigvuldiging weergeven moeten met passende entiteitsverwijzingen.</li>
+ <li>Probeer ten minste twee geschikte woorden in de brieftekst met grote belangrijkheid/nadruk op te maken.</li>
+ <li>Je moet op twee plekken een hyperlink toevoegen. Voeg passende links met titels toe. Voor de locatie waar de link naar verwijst, gebruik je gwoon http://example.com.</li>
+ <li>Het motto van de universitveit moet met geschikte elementen worden opgemaakt.</li>
+</ul>
+
+<p>Het hoofd van het document:</p>
+
+<ul>
+ <li>Als tekencodering van het document kies je utf-8 en je plaatst het in een passende meta-tag.</li>
+ <li>De auteur van de brief moet worden vermeldi in een geschikte meta-tag.</li>
+ <li>De CSS die het document zal stijlen, moet worden ingebed in een geschikte tag.</li>
+</ul>
+
+<h2 id="Hints_en_tips">Hints en tips</h2>
+
+<ul>
+ <li>Gebruik de <a href="https://validator.w3.org/">W3C HTML validator</a> om je HTML te evalueren; je krijgt bonuspunten als hij wordt gevalideerd.</li>
+ <li>Je hoeft nog niets over CSS te weten om deze evaluatie te doen; al wat je moet doen is de CSS die we aanbieden in een HTML-element plaatsen.</li>
+</ul>
+
+<h2 id="Voorbeeld">Voorbeeld</h2>
+
+<p>De volgende schermafbeelding toont een voorbeeld van hoe de brief er uit zou kunnen zien nadat die is opgemaakt.</p>
+
+<p><img alt="" src="https://mdn.mozillademos.org/files/12291/letter-screengrab.png" style="border: 1px solid black; display: block; margin: 0px auto;"></p>
+
+<h2 id="Evaluatie">Evaluatie</h2>
+
+<p>Als je deze evaluatie als onderdeel van een georganiseerde cursus volgt, zou je in staat moeten zijn om je werk aan je leraar of mentor te geven zodat die er punten aan kan geven. Als je op je eentje werkt, dan kan je de puntengids vrij gemakkelijk krijgen door die op te vragen op de <a href="https://discourse.mozilla-community.org/t/learning-web-development-marking-guides-and-questions/16294">Learning Area Discourse thread</a>, of op het <a href="irc://irc.mozilla.org/mdn">#mdn</a> IRC kanaal op <a href="https://wiki.mozilla.org/IRC">Mozilla IRC</a>. Probeer de oefening eerst uit — met valsspelen ga je niks kunnen winnen!</p>
+
+<p>{{PreviousMenuNext("Learn/HTML/Introduction_to_HTML/Debugging_HTML", "Learn/HTML/Introduction_to_HTML/Structuring_a_page_of_content", "Learn/HTML/Introduction_to_HTML")}}</p>
diff --git a/files/nl/learn/html/introduction_to_html/structureren_inhoud_van_webpagina/index.html b/files/nl/learn/html/introduction_to_html/structureren_inhoud_van_webpagina/index.html
new file mode 100644
index 0000000000..baca13f51b
--- /dev/null
+++ b/files/nl/learn/html/introduction_to_html/structureren_inhoud_van_webpagina/index.html
@@ -0,0 +1,83 @@
+---
+title: De inhoud van een webpagina structureren
+slug: Learn/HTML/Introduction_to_HTML/Structureren_inhoud_van_webpagina
+translation_of: Learn/HTML/Introduction_to_HTML/Structuring_a_page_of_content
+---
+<div>{{LearnSidebar}}</div>
+
+<div>{{PreviousMenu("Learn/HTML/Introduction_to_HTML/Marking_up_a_letter", "Learn/HTML/Introduction_to_HTML")}}</div>
+
+<p class="summary">Als je de inhoud van een pagina structureert, doe je dat met de CSS in je achterhoofd. Het is een belangrijk vaardigheid want met de CSS die je op die structuur zal toepassen, kan je een mooie lay-out kan creëren. In deze evaluatie testen we je capaciteit om te bedenken hoe een pagina er zou kunnen uit gaan zien en om geschikte semantische elementen te gebruiken zodat je bovenop die structuur een lay-out kan bouwen.</p>
+
+<table class="learn-box standard-table">
+ <tbody>
+ <tr>
+ <th scope="row">Vereisten:</th>
+ <td>Vooraleer je aan deze evaluatie begint zou je al de vorige hoofdstukken al moeten hebben verwerkt, vooral  <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML/Document_and_website_structure">De structuur van je document en je website</a>.</td>
+ </tr>
+ <tr>
+ <th scope="row">Doel:</th>
+ <td>We testen je kennis van webpagina-structuren en hoe je een toekomstig lay-out ontwerp in html-opmaak kan weergeven.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Startpunt">Startpunt</h2>
+
+<p>Je start deze evaluatie met het <a href="https://github.com/mdn/learning-area/blob/master/html/introduction-to-html/structuring-a-page-of-content-start/assets.zip?raw=true">zip bestand met al de hulpmiddelen om te starten</a>. Het zip-bestand bevat:</p>
+
+<ul>
+ <li>De HTML waar je structurele opmaak aan toe moeten voegen.</li>
+ <li>CSS om je opmaak te stijlen.</li>
+ <li>Afbeeldingen die op de pagina worden gebruikt.</li>
+</ul>
+
+<p>Maak het voorbeeld op je lokale computer of gebruik een site als <a class="external external-icon" href="http://jsbin.com/">JSBin</a> of <a class="external external-icon" href="https://thimble.mozilla.org/">Thimble</a> om je evaluatie op uit te voeren.</p>
+
+<h2 id="Instructies_voor_die_project">Instructies voor die project</h2>
+
+<p>Voor dit project krijg je de volgende taak: je voegt structurele elementen toe aan de inhoud van de startpagina voor vogelaars. Je zorgt ervoor dat er later een lay-out op kan worden toegepast. Het krijgt de volgende elementen:</p>
+
+<ul>
+ <li>Een hoofding die de volledige breedte van de site bestrijkt. Het bevat de belangrijkste titel voor de pagina, het logo van de site en het navigatie menu. De titel en het logo zullen naast elkaar en verschijnen als de CSS erop wordt toegepast. Het navigatiemenu zal eronder worden weergegeven.</li>
+ <li>Een gebied voor de belangrijkste inhoud die twee kolommen bevat - één blok voor de de welkomsttekst  en een zijbalk voor de thumbnails van de afbeeldingen.</li>
+ <li>Een voettekst die de informatie over de auteursrech en naamsvermeldingen.</li>
+</ul>
+
+<p>Je hebt ook een elementen nodig voor:</p>
+
+<ul>
+ <li>De hoofding</li>
+ <li>Het navigatiemenu</li>
+ <li>De belangrijkste inhoud</li>
+ <li>De welkomsttekst</li>
+ <li>De zijbalk voor de afbeeldingen</li>
+ <li>De voettekst</li>
+</ul>
+
+<p>Dit moet je ook nog doen:</p>
+
+<ul>
+ <li>Pas de CSS die je hebt gekregen op de webpagina toe door nog een {{htmlelement("link")}}-element toe te voegen. Dat doe je net onder degene die er al staat.</li>
+</ul>
+
+<h2 id="Hints_en_tips">Hints en tips</h2>
+
+<ul>
+ <li>Gebruik de <a href="https://validator.w3.org/">W3C HTML validator</a> om je HTML te valideren; je krijgt bonuspunten als je HTML zo veel mogelijk wordt gevalideerd (de  "googleapis" regel is een regel die wordt gebruikt om aangepaste lettertypes van Google's Font Service te importeren en die wordt niet gevalideerd. Maak je er maar geen zorgen over.)</li>
+ <li>Je hebt geen CSS-kennis nodig om deze evaluatie uit te voeren; je hoeft enkel de CSS die wij verschaffen in een HTML-element te plaasten.</li>
+ <li>De CSS die je van ons krijgt is zo ontworpen dat als de correcte structurele elementen aan de opmaak worden toegevoegd, ze met een groene kleur in de gegenereerde pagina zullen verschijnen.</li>
+ <li>Als je vastraakt en je hebt geen idee waar je welke elementen moet plaatsen, helpt het vaak om een eenvoudig diagram of de lay-out te tekenen en de elementen die je denkt nodig te hebben op de schets te schrijven.</li>
+</ul>
+
+<h2 id="Voorbeeld">Voorbeeld</h2>
+
+<p>Devolgende schermafbeelding toont een voorbeeld van hoe de startpagina er zou kunnen uitzien nadat die werd opgemaakt.</p>
+
+<p><img alt='The finished example for the assessment; a simple webpage about birdwatching, including a heading of "Birdwatching", bird photos, and a welcome message' src="https://mdn.mozillademos.org/files/12449/example-page.png" style="display: block; margin: 0 auto;"></p>
+
+<h2 id="Evaluatie">Evaluatie</h2>
+
+<p>Als je deze evaluatie als onderdeel van een georganiseerde cursus volgt, zou je in staat moeten zijn om je werk aan je leraar of mentor te geven zodat die er punten aan kan geven. Als je op je eentje werkt, dan kan je de puntengids vrij gemakkelijk krijgen door die op te vragen op de <a class="external external-icon" href="https://discourse.mozilla-community.org/t/learning-web-development-marking-guides-and-questions/16294">Learning Area Discourse thread</a>, of op het <a href="irc://irc.mozilla.org/mdn">#mdn</a> IRC kanaal op <a class="external external-icon" href="https://wiki.mozilla.org/IRC">Mozilla IRC</a>. Probeer de oefening eerst uit — met valsspelen ga je niks kunnen winnen! </p>
+
+<p>{{PreviousMenu("Learn/HTML/Introduction_to_HTML/Marking_up_a_letter", "Learn/HTML/Introduction_to_HTML")}}</p>
diff --git a/files/nl/learn/html/multimedia_inbedden/afbeeldingen_in_html/index.html b/files/nl/learn/html/multimedia_inbedden/afbeeldingen_in_html/index.html
new file mode 100644
index 0000000000..5e2662b5ea
--- /dev/null
+++ b/files/nl/learn/html/multimedia_inbedden/afbeeldingen_in_html/index.html
@@ -0,0 +1,368 @@
+---
+title: Afbeeldingen in HTML
+slug: Learn/HTML/Multimedia_inbedden/Afbeeldingen_in_HTML
+tags:
+ - Article
+ - Beginner
+ - Guide
+ - HTML
+ - Image
+ - alt text
+ - captions
+ - figcaption
+ - figure
+translation_of: Learn/HTML/Multimedia_and_embedding/Images_in_HTML
+---
+<div>{LearnSidebar}}</div>
+
+<div>{{NextMenu("Learn/HTML/Multimedia_and_embedding/Video_and_audio_content", "Learn/HTML/Multimedia_and_embedding")}}</div>
+
+<p class="summary">In den beginne was het web alleen tekst en was het echt heel saai. Gelukkig duurde het niet lang totdat de mogelijkheid voor het inbedden van afbeeldingen (en andere soorten inhoud) in webpagina’s werd toegevoegd. Er bestaan ook nog andere soorten multimedia, maar het is logisch om te beginnen met het nederige {{htmlelement("img")}}-element, dat wordt gebruikt om eenvoudige afbeeldingen in een webpagina te plaatsen. In dit artikel bekijken we in detail hoe we dit element gebruiken. We bespreken de basisprincipes, de toevoeging van bijschriften met het {{htmlelement("figure")}}-element, en hoe het zich verhoudt tot CSS-achtergrondafbeeldingen.</p>
+
+<table class="learn-box standard-table">
+ <tbody>
+ <tr>
+ <th scope="row">Vereisten:</th>
+ <td>Basiscomputervaardigheden, <a href="https://developer.mozilla.org/nl/docs/Learn/Getting_started_with_the_web/Installing_basic_software">de installatie van basissoftware</a>, basiskennis van het <a href="https://developer.mozilla.org/nl/docs/Learn/Getting_started_with_the_web/Dealing_with_files">werken met bestanden</a>, vertrouwdheid met HTML-basisprincipes (zoals die worden besproken in <a href="/nl/docs/Learn/HTML/Introduction_to_HTML/Getting_started">Beginnen met HTML</a>).</td>
+ </tr>
+ <tr>
+ <th scope="row">Doel:</th>
+ <td>U leert hoe u eenvoudige afbeeldingen in HTML kunt inbedden, hoe u hieraan bijschriften kunt toevoegen, en hoe HTML-afbeeldingen zich verhouden tot CSS-achtergrondafbeeldingen.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Hoe_plaatsen_we_een_afbeelding_op_een_webpagina">Hoe plaatsen we een afbeelding op een webpagina?</h2>
+
+<p>Om eenvoudige afbeelding op een webpagina te plaatsen, gebruiken we het {{htmlelement("img")}}-element. Dit is een leeg element (wat inhoudt dat het geen tekst of sluittag bevat) en slechts één attribuut nodig heeft om nuttig te zijn: het <code>src</code>-attribuut (soms uitgesproken als het volledige woord, <em>source</em>, ofwel bron in het Nederlands). Het <code>src</code>-attribuut bevat een pad dat naar de afbeelding wijst die u in de pagina wilt inbedden. Dit pad kan een relatieve of een absolute URL zijn, net zoals de waarden van het href-attribuut dat tot het {{htmlelement("a")}}-element behoort.</p>
+
+<div class="note">
+<p><strong>Noot</strong>: voordat u verdergaat, zou u <a href="https://developer.mozilla.org/nl/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks#Een_snelle_uitleg_over_URL%E2%80%99s_en_paden">Een snelle uitleg over URL’s en paden</a> moeten lezen om uw geheugen wat betreft relatieve en absolute URL’s op te frissen.</p>
+</div>
+
+<p>Als uw afbeelding bijvoorbeeld <code>dinosaur.jpg</code> heet en zich in dezelfde map bevindt als uw HTML-pagina, zou u de afbeelding als volgt kunnen inbedden:</p>
+
+<pre class="brush: html">&lt;img src="dinosaurus.jpg"&gt;</pre>
+
+<p>Als de afbeelding zich in een submap <code>afbeeldingen</code> zou bevinden die zich in dezelfde map als de HTML-pagina zou bevinden (een aanbeveling van Google voor {{glossary("SEO")}}/indexeringsdoeleinden), zou u deze op de volgende manier inbedden:</p>
+
+<pre class="brush: html">&lt;img src="afbeeldingen/dinosaurus.jpg"&gt;</pre>
+
+<p>Enzovoort.</p>
+
+<div class="note">
+<p><strong>Noot</strong>: zoekmachines lezen ook bestandsnamen en gebruiken die om hun zoekresultaten te optimaliseren (SEO of Search Engine Optimalisation in het Engels). Geef uw afbeelding daarom een beschrijvende naam. <code>dinosaurus.jpg</code> is beter dan <code>img835.png</code>.</p>
+</div>
+
+<p>U zou de afbeelding met een absolute URL kunnen inbedden, zoals in dit voorbeeld:</p>
+
+<pre class="brush: html">&lt;img src="https://www.example.com/afbeeldingen/dinosaurus.jpg"&gt;</pre>
+
+<p>Dat is echter zinloos, want de browser moet dan veel meer werk verrichten. Hij moet het IP-adres van de DNS-server helemaal opnieuw opvragen, etc. Vrijwel altijd bewaart u de afbeeldingen voor uw website toch op dezelfde server als uw HTML.</p>
+
+<div class="warning">
+<p><strong>Waarschuwing:</strong> de meeste afbeeldingen zijn auteursrechtelijk beschermd. Plaats <strong>geen</strong> afbeelding op uw webpagina, tenzij:<br>
+ <br>
+ 1) u de eigenaar van de afbeelding bent<br>
+ 2) u expliciete, geschreven toestemming van de eigenaar van de afbeelding hebt, of<br>
+ 3) u voldoende bewijs hebt dat de afbeelding tot het publieke domein behoort.<br>
+ <br>
+ Schendingen van het auteursrecht zijn illegaal en onethisch. Bovendien mag u uw <code>src</code>-attribuut <strong>nooit </strong>gebruiken om een koppeling naar een afbeelding te maken die zich op de website van iemand anders bevindt en waarvoor u geen toestemming hebt gekregen om hiernaar te verwijzen. Dit noemen we ‘hotlinking’ (hete verbindingen maken in het Nederlands). Nogmaals, het is illegaal om iemands bandbreedte te stelen. Ook vertraagt het uw pagina en hebt u geen controle over wat de eigenaar ermee doet; deze kan de afbeelding verwijderen of vervangen door iets gênants.</p>
+</div>
+
+<p>De code hierboven zou het volgende resultaat opleveren:</p>
+
+<p><img alt="A basic image of a dinosaur, embedded in a browser, with Images in HTML written above it" src="https://mdn.mozillademos.org/files/12700/basic-image.png" style="display: block; height: 700px; margin: 0px auto; width: 700px;"></p>
+
+<div class="note">
+<p><strong>Noot</strong>: elementen zoals {{htmlelement("img")}} en {{htmlelement("video")}} worden soms <strong>vervangen elementen</strong> genoemd (‘replaced elements’ in het Engels), omdat de inhoud en grootte van het element worden gedefinieerd door een externe bron (zoals een afbeelding of een videobestand), niet door de inhoud van het element zelf. </p>
+</div>
+
+<div class="note">
+<p><strong>Noot</strong>: u kunt het voltooide voorbeeld van deze sectie op <a href="https://mdn.github.io/learning-area/html/multimedia-and-embedding/images-in-html/index.html">Github</a> vinden (en bekijk ook de <a href="https://github.com/mdn/learning-area/blob/master/html/multimedia-and-embedding/images-in-html/index.html">broncode</a>.)</p>
+</div>
+
+<h3 id="Alternatieve_tekst">Alternatieve tekst</h3>
+
+<p>Het volgende attribuut dat we gaan bekijken heet <code>alt</code>. De waarde ervan moet uit een beschrijving van de afbeelding bestaan die we kunnen gebruiken in situaties waarin de afbeelding niet kan worden gezien of weergegeven. De code hierboven bijvoorbeeld kan op de volgende manier worden gewijzigd:</p>
+
+<pre class="brush: html">&lt;img src="afbeeldingen/dinosaurus.jpg"
+ alt="Het hoofd en de romp van het skelet van een dinosaurus;
+ het heeft een groot hoofd en lange scherpe tanden"&gt;</pre>
+
+<p>De makkelijkste manier om uw <code>alt</code>-tekst te testen is opzettelijk de bestandsnaam verkeerd spellen. Als bijvoorbeeld voor ons voorbeeld de naam <code>dinosooooorus.jpg</code> werd gebruikt, zou de browser in plaats van de afbeelding de alt-tekst weergeven:</p>
+
+<p><img alt="The Images in HTML title, but this time the dinosaur image is not displayed, and alt text is in its place." src="https://mdn.mozillademos.org/files/12702/alt-text.png" style="display: block; height: 700px; margin: 0px auto; width: 700px;"></p>
+
+<p>Waarom zou u de alt-tekst ooit zien of nodig hebben? Wel, het kan om een aantal goede redenen handig zijn:</p>
+
+<ul>
+ <li>De gebruiker is visueel beperkt en gebruikt een <a href="https://en.wikipedia.org/wiki/Screen_reader">schermlezer</a> om het web aan hem of haar te laten voorlezen. In feite is de alt-tekst die afbeeldingen kan beschrijven voor de meeste gebruikers nuttig.</li>
+ <li>Zoals hierboven beschreven, hebt u misschien het pad of de bestandsnaam onjuist gespeld.</li>
+ <li>De browser ondersteunt het afbeeldingselement niet. Sommige mensen gebruiken nog steeds browsers die alleen tekst ondersteunen, zoals <a href="https://en.wikipedia.org/wiki/Lynx_%28web_browser%29">Lynx</a>, dat als alternatief de alt-tekst van afbeeldingen weergeeft.</li>
+ <li>U kunt tekst opgeven die zoekmachines kunnen gebruiken. Zoekmachines kunnen bijvoorbeeld alt-tekst gebruiken om aan hun zoekopdrachten te koppelen.</li>
+ <li>Er zijn gebruikers die hun afbeeldingen hebben uitgeschakeld om zowel het volume van gegevensoverdracht als afleiding te verminderen. Dat is vooral de gewoonte op mobiele telefoons en in landen waar de bandbreedte beperkt en duur is.</li>
+</ul>
+
+<p>Wat moet er binnen dat<code>alt</code>-attribuut worden beschreven? In de eerste plaats hangt het af van de <em>reden</em> waarom de afbeelding er is. Met andere woorden, wat u verliest als de afbeelding niet verschijnt:</p>
+
+<ul>
+ <li><strong>Decoratie. </strong>Als de afbeelding alleen decoratie is en geen deel uitmaakt van de inhoud, voeg dan een lege  <code>alt=""</code> toe. Een schermlezer verspilt bijvoorbeeld geen tijd aan het voorlezen van inhoud die de lezer niet echt nodig heeft. Decoratieve afbeeldingen horen niet echt in uw HTML thuis. {{anch("CSS background images")}} zouden voor het invoegen van decoratie moeten worden gebruikt, maar als het onvermijdelijk is, gebruik dan <code>alt=""</code> .</li>
+ <li><strong>Inhoud. </strong>Als uw afbeelding belangrijke informatie bevat, verschaf dan dezelfde informatie in een <em>korte </em><code>alt</code>-tekst. Of nog beter, in de gewone tekst op uw webpagina die iedereen kan zien. Schrijf geen overbodige <code>alt</code>-tekst. Hoe vervelend is het niet als u goed kunt zien en alle alinea’s zijn twee keer geschreven? Als de afbeelding voldoende in de tekst van uw webpagina wordt beschreven, kunt u gewoon  <code>alt=""</code>gebruiken.</li>
+ <li><strong>Koppeling.</strong> Als u een afbeelding tussen {{htmlelement("a")}}-labels zet om er een koppeling van te maken, moet u toch nog <a href="/nl/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks#Use_clear_link_wording">toegankelijke koppelingstekst</a> toevoegen. In zo'n geval kunt u die of in hetzelfde <code>&lt;a&gt;</code>-element schrijven, of in het <code>alt</code>-attribuut van de afbeelding. Kies wat voor u het beste werkt.</li>
+ <li><strong>Tekst.</strong> Plaats liever geen tekst in afbeeldingen. Als u bijvoorbeeld uw belangrijkste titel van een slagschaduw wilt voorzien, gebruik er dan <a href="/nl/docs/Web/CSS/text-shadow">CSS</a> voor in plaats van de tekst in een afbeelding te plaatsen. <em>Als u dit echt niet kunt vermijden</em>, zorg dan voor een tekst in het <code>alt</code>-attribuut.</li>
+</ul>
+
+<p>In essentie gaat het erom een gebruiksvriendelijke ervaring te bieden, zelfs als de gebruiker de afbeeldingen niet kan zien. Dit zorgt ervoor dat de volledige inhoud voor alle gebruikers toegankelijk is. Probeer een keer alle afbeeldingen in uw browser te blokkeren en kijk dan hoe de webpagina eruitziet. U zult snel beseffen hoe nutteloos een alt-tekst zoals ‘logo’ of ‘mijn favoriete plek’ is als u de afbeeldingen niet kunt zien.</p>
+
+<div class="note">
+<p><strong>Noot</strong>: meer informatie vindt u in onze gids voor <a href="/nl/docs/Learn/Accessibility/HTML#Tekstalternatieven">Tekstalternatieven</a>.</p>
+</div>
+
+<h3 id="Breedte_en_hoogte">Breedte en hoogte</h3>
+
+<p>U kunt de attributen <code>width</code> (breedte) en <code>height</code> (hoogte) gebruiken om de breedte en de hoogte van uw afbeelding te bepalen. Er zijn meerdere manieren om erachter te komen wat de breedte en de hoogte van uw afbeelding zijn. Op een Mac bijvoorbeeld kunt u <kbd>Cmd</kbd> + <kbd>I</kbd> gebruiken om de informatie over het afbeeldingsbestand weer te geven. Met ons voorbeeld kunnen we dit doen:</p>
+
+<pre class="brush: html">&lt;img src="afbeeldingen/dinosaurus.jpg"
+ alt="Het hoofd en de romp van een dinosaursskelet;
+ het heeft een groot hoofd met lange scherpe tanden"
+ width="400"
+ height="341"&gt;</pre>
+
+<p>Onder normale omstandigheden zal dit de weergave van de afbeelding niet veel beïnvloeden, maar als de afbeelding niet wordt weergegeven, verandert dat. Als de gebruiker bijvoorbeeld net naar de pagina is gegaan en de afbeelding nog niet is geladen, zult u merken dat de browser ruimte vrijlaat waarin de afbeelding kan verschijnen:</p>
+
+<p><img alt="The Images in HTML title, with dinosaur alt text, displayed inside a large box that results from width and height settings" src="https://mdn.mozillademos.org/files/12706/alt-text-with-width-height.png" style="display: block; height: 700px; margin: 0px auto; width: 700px;"></p>
+
+<p>Dit is een goede praktijk; de pagina laadt sneller en soepeler.</p>
+
+<p>U kunt de grootte van uw afbeeldingen echter beter niet met HTML-attributen aanpassen. Als u de afbeeldingsgrootte te groot instelt, leidt dit tot afbeeldingen die er korrelig, wazig of te klein uitzien, en verspilt u bandbreedte aan het laden van een afbeelding die niet aan de behoeften van de gebruiker voldoet. De afbeelding kan er ook vervormd uitzien als u de juiste <a href="https://en.wikipedia.org/wiki/Aspect_ratio_%28image%29">hoogte-breedteverhouding</a> niet respecteert. Het beste kunt u een afbeeldingseditor gebruiken om uw afbeelding de juiste grootte te geven voordat u deze op een webpagina plaatst.</p>
+
+<div class="note">
+<p><strong>Noot</strong>: als het niet nodig is om de grootte van een afbeelding aan te passen, kunt u beter <a href="/nl/docs/Learn/CSS">CSS</a> gebruiken.</p>
+</div>
+
+<h3 id="Afbeeldingstitels">Afbeeldingstitels</h3>
+
+<p>Net zoals <a href="https://developer.mozilla.org/nl/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks#Adding_supporting_information_with_%3Ctitle%3E">bij koppelingen</a> kunt u <code>title</code>-attributen aan uw afbeeldingen toevoegen om wanneer nodig extra informatie te verschaffen. In ons voorbeeld zouden we dit kunnen doen:</p>
+
+<pre class="brush: html">&lt;img src="afbeeldingen/dinosaur.jpg"
+ alt="Het hoofd en de romp van een dinosaurusskelet;
+ het heeft een groot hoofd met lange scherpe tanden"
+ width="400"
+ height="341"
+ title="Een T-Rex die is tentoongesteld in het Manchester University Museum"&gt;</pre>
+
+<p>Dit geeft ons een tooltip, net zoals bij koppelingstitels:</p>
+
+<p><img alt="The dinosaur image, with a tooltip title on top of it that reads A T-Rex on display at the Manchester University Museum " src="https://mdn.mozillademos.org/files/12708/image-with-title.png" style="display: block; height: 341px; margin: 0px auto; width: 400px;"></p>
+
+<p>Afbeeldingstitels zijn niet onontbeerlijk. Het is vaak beter om dit soort informatie aan de hoofdtekst van het artikel toe te voegen dan deze vast te maken aan de afbeelding. Er zijn echter omstandigheden waarin ze toch nuttig zijn; in een afbeeldingengalerij bijvoorbeeld hebt u geen plaats voor bijschrijften.</p>
+
+<h3 id="Actief_leren_een_afbeelding_inbedden">Actief leren: een afbeelding inbedden</h3>
+
+<p>Nu is het aan u! In deze sectie voor actief leren gaat u aan de slag met een eenvoudige oefening. U begint met een eenvoudig {{htmlelement("img")}}-label. We willen dat u de afbeelding inbedt die zich op de volgende URL bevindt:</p>
+
+<p>https://raw.githubusercontent.com/mdn/learning-area/master/html/multimedia-and-embedding/images-in-html/dinosaur_small.jpg</p>
+
+<p>Eerder in de tekst werd gezegd dat u nooit naar afbeeldingen op andere servers mag hotlinken, maar dit is gewoon voor leerdoeleinden, dus voor deze ene keer is het oké.</p>
+
+<p>We willen ook dat u:</p>
+
+<ul>
+ <li>Een alt-tekst toevoegt. Controleer ook dat hij werkt door de URL van de afbeelding onjuist te spellen.</li>
+ <li>Stel de juiste <code>width</code> en <code>height</code>  van de afbeelding in (hint, deze is 200px breed en 171px hoog) en experimenteer met andere waarden om te zien wat het effect is.</li>
+ <li>Geef de afbeelding ook een <code>title</code>.</li>
+</ul>
+
+<p>Als u een fout maakt, kunt u die altijd ongedaan maken via de knop <em>Terugzetten</em>. Als u echt vastloopt, klik dan op <em>Oplossing tonen</em> om een antwoord te zien:</p>
+
+<div class="hidden">
+<h6 id="Playable_code">Playable code</h6>
+
+<pre class="brush: html">&lt;h2&gt;Invoer&lt;/h2&gt;
+&lt;textarea id="code" class="input"&gt;
+&lt;img&gt;&lt;/textarea&gt;
+&lt;h2&gt;Uitvoer&lt;/h2&gt;
+&lt;div class="output"&gt;&lt;/div&gt;
+&lt;div class="controls"&gt;
+ &lt;input id="reset" type="button" value="Terugzetten" /&gt;
+ &lt;input id="solution" type="button" value="Oplossing tonen" /&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">body {
+ font-family: 'Open Sans Light',Helvetica,Arial,sans-serif;
+}
+
+.input, .output {
+ width: 90%;
+ height: 10em;
+ padding: 10px;
+ border: 1px solid #0095dd;
+ overflow: auto;
+}
+
+button {
+ padding: 10px 10px 10px 0;
+}
+</pre>
+
+<pre class="brush: js">var textarea = document.getElementById("code");
+var reset = document.getElementById("reset");
+var code = textarea.value;
+var output = document.querySelector(".output");
+var solution = document.getElementById("solution");
+
+function drawOutput() {
+ output.innerHTML = textarea.value;
+}
+
+reset.addEventListener("click", function() {
+ textarea.value = code;
+ drawOutput();
+});
+
+solution.addEventListener("click", function() {
+textarea.value = '&lt;img src="https://raw.githubusercontent.com/mdn/learning-area/master/html/multimedia-and-embedding/images-in-html/dinosaur_small.jpg"\n alt="The head and torso of a dinosaur skeleton; it has a large head with long sharp teeth"\n width="200"\n height="171"\n title="A T-Rex on display in the Manchester University Museum"&gt;';
+ drawOutput();
+});
+
+textarea.addEventListener("input", drawOutput);
+window.addEventListener("load", drawOutput);
+</pre>
+</div>
+
+<p>{{ EmbedLiveSample('Playable_code', 700, 500) }}</p>
+
+<h2 id="Bijschriften_aan_afbeeldingen_toevoegen_met_figures_en_figure_captions">Bijschriften aan afbeeldingen toevoegen met figures en figure captions</h2>
+
+<p>Er bestaat een aantal manieren om een bijschrift aan uw afbeelding toe te voegen. Er is bijvoorbeeld niets dat u tegenhoudt om het volgende te doen:</p>
+
+<pre class="brush: html">&lt;div class="figure"&gt;:
+ &lt;img src="afbeeldingen/dinosaurus.jpg"
+ alt="Het hoofd en de romp van een dinosaurusskelet;
+ het heeft een groot hoofd met lange scherpe tanden"
+ width="400"
+ height="341"&gt;
+
+ &lt;p&gt;Een T-Rex die wordt tentoongesteld in het Manchester University Museum.&lt;/p&gt;
+&lt;/div&gt;</pre>
+
+<p>Dit is in orde. Het bevat de inhoud die u nodig hebt en u kunt het mooi stijlen met CSS. Maar er een probleem: er is niets dat de afbeelding semantisch met het bijschrift verbindt, wat problemen voor schermlezers kan veroorzaken. Als u bijvoorbeeld 50 afbeeldingen en bijschriften hebt, welk bijschrift hoort dan bij welke afbeelding?</p>
+
+<p>Er is een betere oplossing: u kunt de HTML5-elementen {{htmlelement("figure")}} en {{htmlelement("figcaption")}} gebruiken. Deze zijn voor dit specifieke doel gemaakt: om een semantische container voor figuren te verschaffen en de figuur duidelijk met het bijschrift te verbinden. Ons voorbeeld hierboven kan op de volgende wijze worden herschreven:</p>
+
+<pre>&lt;figure&gt;
+ &lt;img src="afbeeldingen/dinosaurus.jpg"
+ alt="Het hoofd en de romp van een dinosaurusskelet;
+ het heeft een groot hoofd met lange scherpe tanden"
+ width="400"
+ height="341"&gt;
+
+ &lt;figcaption&gt;Een T-Rex die wordt tentoongesteld in het Manchester University Museum.&lt;/figcaption&gt;
+&lt;/figure&gt;</pre>
+
+<p>Het {{htmlelement("figcaption")}}-element vertelt browsers en ondersteunende technologie dat het bijschrift de andere inhoud van het {{htmlelement("figure")}}-element beschrijft.</p>
+
+<div class="note">
+<p><strong>Noot</strong>: vanuit het oogpunt van toegankelijkheid hebben bijschriften en {{htmlattrxref('alt','img')}}-tekst verschillende rollen. Bijschriften zijn ook nuttig voor mensen die de afbeelding kunnen zien, terwijl {{htmlattrxref('alt','img')}}-tekst dezelfde functionaliteit biedt als een ontbrekende afbeelding. Daarom zouden bijschriften en <code>alt</code> tekst niet hetzelfde moeten zeggen, omdat ze allebei verschijnen als de afbeelding afwezig is. Probeer de afbeeldingen in uw browser uit te schakelen en kijk hoe alles eruitziet.</p>
+</div>
+
+<p>Een figuur hoeft geen afbeelding te zijn. Het kan een onafhankelijke inhoud zijn die:</p>
+
+<ul>
+ <li>Uw betekenis op een compacte makkelijk te begrijpen manier uitdrukt</li>
+ <li>Op verschillende plaatsen in de lineaire stroming van de pagina kan worden geplaatst</li>
+ <li>Essentiële informatie verschaft die de hoofdinhoud ondersteunt</li>
+</ul>
+
+<p>Een figuur kan uit verschillende afbeeldingen bestaan, een codfragment, audio, video, vergelijkingen, een tabel, of iets anders.</p>
+
+<h3 id="Actief_leren_een_figuur_maken">Actief leren: een figuur maken</h3>
+
+<p>In deze sectie voor actief leren willen we dat u de voltooide code van de vorige oefening neemt en die in een figuur verandert:</p>
+
+<ul>
+ <li>Neem het op in een {{htmlelement("figure")}}-element.</li>
+ <li>Kopieer de tekst uit het <code>title</code>-attribuut, verwijder het <code>title</code>-attribuut en plaats de tekst in een {{htmlelement("figcaption")}}-element onder de afbeelding.</li>
+</ul>
+
+<p>Als u een fout maakt, kunt u die altijd ongedaan maken via de knop <em>Terugzetten</em>. Als u echt vastloopt, klik dan op <em>Oplossing tonen</em> om een antwoord te zien:</p>
+
+<div class="hidden">
+<h6 id="Playable_code_2">Playable code 2</h6>
+
+<pre class="brush: html">&lt;h2&gt;Invoer&lt;/h2&gt;
+&lt;textarea id="code" class="input"&gt;
+&lt;/textarea&gt;
+&lt;h2&gt;Uitvoer&lt;/h2&gt;
+&lt;div class="output"&gt;&lt;/div&gt;
+&lt;div class="controls"&gt;
+  &lt;input id="reset" type="button" value="Terugzetten" /&gt;
+ &lt;input id="solution" type="button" value="Oplossing tonen" /&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">body {
+ font-family: 'Open Sans Light',Helvetica,Arial,sans-serif;
+}
+
+.input, .output {
+ width: 90%;
+ height: 10em;
+ padding: 10px;
+ border: 1px solid #0095dd;
+ overflow: auto;
+}
+
+button {
+ padding: 10px 10px 10px 0;
+}
+</pre>
+
+<pre class="brush: js">var textarea = document.getElementById("code");
+var reset = document.getElementById("reset");
+var code = textarea.value;
+var output = document.querySelector(".output");
+var solution = document.getElementById("solution");
+
+function drawOutput() {
+ output.innerHTML = textarea.value;
+}
+
+reset.addEventListener("click", function() {
+ textarea.value = code;
+ drawOutput();
+});
+
+solution.addEventListener("click", function() {
+textarea.value = '&lt;figure&gt;\n &lt;img src="https://raw.githubusercontent.com/mdn/learning-area/master/html/multimedia-and-embedding/images-in-html/dinosaur_small.jpg"\n alt="The head and torso of a dinosaur skeleton; it has a large head with long sharp teeth"\n width="200"\n height="171"&gt;\n &lt;figcaption&gt;A T-Rex on display in the Manchester University Museum&lt;/figcaption&gt;\n&lt;/figure&gt;';
+ drawOutput();
+});
+
+textarea.addEventListener("input", drawOutput);
+window.addEventListener("load", drawOutput);
+</pre>
+</div>
+
+<p>{{ EmbedLiveSample('Playable_code_2', 700, 500) }}</p>
+
+<h2 id="CSS-achtergrondafbeeldingen">CSS-achtergrondafbeeldingen</h2>
+
+<p>U kunt ook CSS gebruiken om afeeldingen in webpagina’s in te bedden (en JavaScript, maar dat is een heel ander verhaal). De CSS-eigenschap {{cssxref("background-image")}} en de andere <code>background-*</code>-eigenschappen worden gebruikt om het plaatsen van achtergrondafbeeldingen te beheren. Om bijvoorbeeld een achtergrondafbeelding in alle alinea’s in een pagina te plaatsen, zou u dit kunnen doen:</p>
+
+<pre class="brush: css">p {
+ background-image: url("afbeeldingen/dinosaurus.jpg");
+},</pre>
+
+<p>Het resultaat is een ingebedde afbeelding die makkelijker kan worden gepositioneerd en beheerd dan HTML-afbeeldingen. Dus waarom HTML-afbeeldingen gebruiken? Zoals hierboven al aangegeven, zijn CSS-achtergrondafbeeldingen er alleen voor decoratie. Als u gewoon iets wilt toevoegen dat mooi is om het visuele aspect van uw pagina te versterken, is dat prima. Bedenk wel dat zulke afbeeldingen geen enkele semantische betekenis hebben. Ze kunnen geen tekstequivalent bevatten, zijn onzichtbaar voor schermlezers, etc. Daarin blinken HTML-afbeeldingen dan weer uit!</p>
+
+<p>Samengevat: als een afbeelding betekenisvol is voor de inhoud van uw pagina, moet u een HTML-pagina gebruiken. Als een afbeelding niet meer dan decoratie is, gebruik dan CSS-achtergrondafbeeldingen.</p>
+
+<div class="note">
+<p><strong>Noot</strong>: u leert nog veel meer over <a href="/nl/docs/Learn/CSS/Styling_boxes/Backgrounds">CSS-achtergrondafbeeldingen</a> in onze sectie <a href="/nl/docs/Learn/CSS">CSS</a>.</p>
+</div>
+
+<p>Voorlopig is dit alles. We hebben afbeeldingen en bijschriften in detail besproken. In het volgende artikel gaan we een tandje bijsteken en bespreken we hoe we HTML kunnen gebruiken om video en audio in pagina’s in te bedden.</p>
+
+<p>{{NextMenu("Learn/HTML/Multimedia_and_embedding/Video_and_audio_content", "Learn/HTML/Multimedia_and_embedding")}}</p>
diff --git a/files/nl/learn/html/multimedia_inbedden/index.html b/files/nl/learn/html/multimedia_inbedden/index.html
new file mode 100644
index 0000000000..bd42da37c8
--- /dev/null
+++ b/files/nl/learn/html/multimedia_inbedden/index.html
@@ -0,0 +1,53 @@
+---
+title: Multimedia en inbedden
+slug: Learn/HTML/Multimedia_inbedden
+translation_of: Learn/HTML/Multimedia_and_embedding
+---
+<p>{{LearnSidebar}}</p>
+
+<p class="summary">We hebben in deze cursus al heel wat tekst bekeken maar het web zou wel heel vervelend zijn als we enkel tekst zouden gebruiken. We gaan nu bekijken hoe we het web tot leven kunnen brengen met veel interessantere inhoud! In deze module onderzoeken we hoe je HTML kan gebruiken om multimedia in je wepagina's in te bedden. Dit houdt het gebruik van afbeeldingen in en hoe we video, audio en zelfs volledige webpagina's kunnen inbedden.</p>
+
+<h2 id="Vereisten">Vereisten</h2>
+
+<p>Voor je met deze module begint, zou je een redelijke basiskennis van HTML moeten hebben, zoals die in <a href="/en-US/docs/Learn/HTML/Introduction_to_HTML">Introductie op HTML</a> is behandeld. Als je deze module niet eerst hebt gelezen en verwerkt (of iets gelijkaardigs) doe dat dan eerst en kom dan terug!</p>
+
+<div class="note">
+<p><strong>Opmerking</strong>: Als je op een computer/tablet/ander apparaat werkt en je bent niet in staat om je eigen bestanden te creëren, kan je de (meeste) codevoorbeelden uitproberen in een online codeerprogramma zoals <a href="https://jsbin.com/">JSBin</a> of <a href="https://thimble.mozilla.org/">Thimble</a>.</p>
+</div>
+
+<h2 id="Gidsen">Gidsen</h2>
+
+<p>Deze module bevat een aantal artikelen waarin alle basisprincipes over het inbedden van multimedia worden doorgenomen.</p>
+
+<dl>
+ <dt><a href="/en-US/docs/Learn/HTML/Multimedia_and_embedding/Images_in_HTML">Afbeeldingen in HTML</a></dt>
+ <dd>Er bestaan ook nog andere soorten multimedia, maar het is logisch om met het nederige {{htmlelement("img")}}-element te beginnen, dat we gebruiken om een eenvoudige afbeelding in een webpagina te plaatsen. In dit artikel gaan we dieper in op het gebruik van dit element. We bespreken de basis, hoe we er verklarende bijschriften (captions in het Engels) aan kunnen toevoegen met het {{htmlelement("figure")}}-element, en hoe het zich verhoudt tot CSS-afbeeldingen voor de achtergrond.</dd>
+ <dt><a href="/en-US/docs/Learn/HTML/Multimedia_and_embedding/Video_and_audio_content">Video en audio</a></dt>
+ <dd>In dit artikel bekijken we hoe de HTML5 {{htmlelement("video")}}- en {{htmlelement("audio")}}-elementen gebruiken om video en audio in onze pagina's in te bedden. We bespreken de basis, hoe we de toegang tot verschillende bestandsformaten op verschillende browsers mogelijk maken, hoe we bijschriften en ondertitels toevoegen en hoe we noodoplossingen voor oudere browsers creëren.</dd>
+ <dt><a href="/en-US/docs/Learn/HTML/Multimedia_and_embedding/Other_embedding_technologies">Van &lt;object&gt; tot &lt;iframe&gt; — andere technologiën waarmee we inhoud kunnen inbedden</a></dt>
+ <dd>Nu gaan we een zijpad inslaan en een aantal elementen bekijken waarmee je een breed gamma van inhouden en bestandstypes in je webpagina's kan inbedden: de {{htmlelement("iframe")}}-, {{htmlelement("embed")}}- en {{htmlelement("object")}}-elementen. <code>&lt;iframe&gt;</code>s zijn er om andere webpagina's in je pagina in te bedden en met de andere twee kan je PDFs, SVG, en zelfs Flash — een technologie die op zijn retour is, maar die je toch op nog wel eens zal tegenkomen.</dd>
+ <dt><a href="/en-US/docs/Learn/HTML/Multimedia_and_embedding/Adding_vector_graphics_to_the_Web">Vectorafbeeldingen aan het web toevoegen</a></dt>
+ <dd>Vectorafbeeldingen kunnen in een aantal situaties zeer nuttig zijn. In tegenstelling tot gewone formaten zoals PNG/JPG, zullen ze niet vervormd worden of verpixelen (de afbeelding verandert in een hoop blokjes) als je erop inzoomt. Ze kunnen glad en mooi blijven als ze worden vergroot of verkleind. Dit artikel is een inleiding op wat vectorafbeeldingen zijn en hoe je dit populaire {{glossary("SVG")}}-formaat in je webpagina's kan opnemen.</dd>
+ <dt><a href="/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images">Responsieve afbeeldingen</a></dt>
+ <dd>Met zo veel verschillende soorten apparaten waarmee je vandaaag op het web kan surfen, van mobiele telefoons tot vaste computers — is responsief ontwerp een essentieel concept dat je goed moet begrijpen in de moderne webwereld. Responsief ontwerp verwijst naar de creatie van webpagina's die hun eigenschappen automatisch aanpassen aan de verschillende schermgroottes, resoluties enz.  Later gaan we dit in onze CSS-module in veel groter detail bekijken. Nu beperken we ons tot de instrumenten waarover HTML beschikt, waaronder het {{htmlelement("picture")}} element, die we kunnen gebruiken om responsieve afbeeldingen te maken.</dd>
+</dl>
+
+<h2 id="Evaluatie">Evaluatie</h2>
+
+<p>De volgende evaluaties dienen om je kennis te testen van de HTML-basisprincipes die hierboven werden besproken :</p>
+
+<dl>
+ <dt><a href="/en-US/docs/Learn/HTML/Multimedia_and_embedding/Mozilla_splash_page">Mozilla splash pagina</a></dt>
+ <dd>In deze evaluatie testen we je kennis van een aantal technieken die in de artikelen van deze module werden doorgenomen. Je zal een aantal afbeeldingen en video aan een funky splash page over Mozilla toevoegen!</dd>
+</dl>
+
+<h2 id="Zie_ook">Zie ook</h2>
+
+<dl>
+ <dt><a href="/en-US/docs/Learn/HTML/Howto/Add_a_hit_map_on_top_of_an_image">Een afbeeldingsmap bovenop een afbeelding toevoegen</a></dt>
+ <dd>Afbeeldingsmappen beschikken over een mechanisme waarmee je verschillende delen van een afbeelding kan verbinden met verschillende plaatsen (zie het als een map die je met extra informatie verbindt over elk land waarop je klikt.) Deze techniek is soms nuttig.</dd>
+ <dt><a href="https://teach.mozilla.org/activities/web-lit-basics-two/">Basis Webvaardigheden 2</a></dt>
+ <dd>
+ <p>Dit is een uitstekende cursus van de Mozilla stichting die een aantal van de vaardigheden test en onderzoekt waar we in <em>Multimedia inbedden </em>hebben besproken. Hier kan je dieper ingaan op de basisprincipes waarmee we webpagina's samenstellen, hoe we ze toegankelijk maken voor iedereen, hoe we  hulpmiddelen delen, online media gebruiken en en open source projecten werken.</p>
+ </dd>
+</dl>
diff --git a/files/nl/learn/html/tables/index.html b/files/nl/learn/html/tables/index.html
new file mode 100644
index 0000000000..e508a954b0
--- /dev/null
+++ b/files/nl/learn/html/tables/index.html
@@ -0,0 +1,42 @@
+---
+title: Tabellen in HTML
+slug: Learn/HTML/Tables
+tags:
+ - Artikel
+ - Beginner
+ - Gids
+ - HTML
+ - Landing
+ - Module
+ - Tabellen
+translation_of: Learn/HTML/Tables
+---
+<div>{{LearnSidebar}}</div>
+
+<p class="summary">Een standaardtaak in HTML is het structeren data in tabelvorm. HTML heeft een aantal elementen en attributen speciaal voor deze bedoeling. Gecombineerd met een beetje <a href="/nl/docs/Learn/CSS">CSS</a> voor de opmaak, maakt HTML het gemakkelijk om tabellen met informatie weer te geven op het web, zoals een lesplan voor onderwijs, het rooster van het plaatselijke zwembad, of statistieken over uw favoriete dinosauriërs of voetbalteam. Deze module vertelt u alles wat u nodig hebt over het strcuteren van data in tabelvorm door middel van HTML.</p>
+
+<h2 id="Randvoorwaarden">Randvoorwaarden</h2>
+
+<p>Voordat u begint met deze module hebt u basiskennis nodig van HTML — zie <a href="/nl/docs/Learn/HTML/Introduction_to_HTML">Een inleiding op HTML</a>.</p>
+
+<div class="note">
+<p><strong>Opmerking</strong>: Als u werkt op een computer/tablet/ander apparaat waar u niet uw eigen bestanden kunt aanmaken, kunt u de (meeste) codevoorbeelden uitproberen in een online codeerprogramma zoals <a href="http://jsbin.com/">JSBin</a> of <a href="https://thimble.mozilla.org/">Thimble</a>.</p>
+</div>
+
+<h2 id="Gidsen">Gidsen</h2>
+
+<p>Deze module bevat de volgende artikelen:</p>
+
+<dl>
+ <dt><a href="/en-US/docs/Learn/HTML/Tables/Basics">De basis van tabellen in HTML</a></dt>
+ <dd>Dit artikel helpt u te beginnen met HTML-tabellen. Het dekt de basisbeginselen zoals rijen en cellen, headings, hoe u kunt zorgen dat cellen zich verspreiden over meerdere kolommen en rijen, en hoe u alle cellen kunt groeperen in een kolom voor de opmaak.</dd>
+ <dt><a href="/en-US/docs/Learn/HTML/Tables/Advanced">Geavanceerde functies en toegankelijkheid in HTML-tabellen</a></dt>
+ <dd>In het tweede artikel van deze module kijken we samen naar de meer geavanceerde functies van HTML-tabellen, zoals onderschriften/samenvattingen, het groeperen van rijen in head-, body- en footersecties, en we kijken naar de toegankelijkheid van tabellen voor slechtziende gebruikers.</dd>
+</dl>
+
+<h2 id="Assessments">Assessments</h2>
+
+<dl>
+ <dt><a href="/en-US/docs/Learn/HTML/Tables/Structuring_planet_data">Data van planeten structureren</a></dt>
+ <dd>In ons assessment over tabellen geven we u wat data over de planeten in ons zonnestelsel, die u kunt structureren in een HTML-tabel.</dd>
+</dl>