HTML & CSS voor beginners

HTML & CSS voor beginners (Deel 20): Semantiek voor het web (3)

Alle video's van de tutorial HTML & CSS voor beginners

Kop- en voetgedeelte

Met de twee elementen header en footer kunnen het kop- en voetgedeelte gedefinieerd worden. Om het kopgedeelte te definiëren, wordt het head-element gebruikt. Hierbij hoeft het overigens niet per se om het kopgedeelte van de gehele pagina te gaan. Ook kan met head het kopgedeelte van andere elementen zoals secties en artikelen worden gemarkeerd.

Let op: Verwar header niet met het bekende head-element, waarmee het kopgedeelte van HTML-documenten wordt gedefinieerd, waarin de documenttitel, stylesheet- en JavaScript-oproepen worden opgenomen.

Voor een volledig document zou het gebruik van header er als volgt uitzien:

<body>
  <header>...</header>
  <nav>...</nav>
  <article>
    <section>
      ...
    </section>
  </article>
  <aside>...</aside>
  <footer>...</footer>
</body>



Toegepast op een section-element zou het volgende beeld ontstaan:

<section>
   <header>
      <h1> Web-apps maken (Deel 09): jQuery mobile (1)</h1>
      <p> jQuery is ongetwijfeld een van de bekendste JavaScript-frameworks.</p>
   </header>
   <p>
  Op "klassieke" websites wordt jQuery daarom al duizenden keren gebruikt. Speciaal ontworpen voor gebruik in web-apps is het zusterraamwerk jQuery mobile (jQM). Dit raamwerk helpt je om je web-app er in een handomdraai uit te laten zien als een echte app. Genoeg reden om een gedetailleerde blik te werpen op jQM.
   </p>
   <footer>
      <p>Copyright door PSD-Tutorials.de</p>
   </footer>
</section>

Zorg er in ieder geval voor dat footer en header geen extra header- en footer-elementen mogen bevatten.

HTML & CSS voor beginners (Deel 20): Semantiek voor het web (3)

Koppen groeperen

In samenhang met secties komen de koppen aan bod. Deze koppen kunnen in eerste instantie de klassieke elementen h1 tot h6 zijn. Maar ook in HTML5 is het hgroup-element toegestaan. Binnen deze hgroup-elementen kunnen op hun beurt meerdere koppen voorkomen.

Bekijk eerst een klassiek HTML-document waarin de "normale" structuur wordt gedefinieerd met behulp van hx-elementen.

<h1>
    Boek
 </h1>
 <h2>
    Hoofdstuk 1
 </h2>
 <h2>
    Hoofdstuk 2
 </h2>
 <h3>
    Subhoofdstuk 2.1
 </h3>
 <h3>
    Subhoofdstuk 2.2
 </h3>
 <h2>
    Hoofdstuk 3
 </h2>



Deze definitie resulteert in de volgende structuur:

Boek
Hoofdstuk 1
Hoofdstuk 2
Subhoofdstuk 2.1
Subhoofdstuk 2.2
Hoofdstuk 3


In de browser worden de koppen echter niet ingesprongen.

HTML & CSS voor beginners (Deel 20): Semantiek voor het web (3)

Interessant is hgroup vooral in samenhang met journalistieke teksten. Deze bestaan vaak uit een tweedelige kop, die bestaat uit de hoofdkop en de bij- of onderkop. Een voorbeeld zal dit aspect verduidelijken.

<hgroup>
 <h1>Cloud OS</h1>
 <h2>Het web als besturingssysteem</h2>
</hgroup>
<p>Hier begint de inhoud van het artikel ...</p>



In dit voorbeeld is duidelijk te zien dat de onderkop geen apart gedeelte binnen het artikel start. Het betreft eerder een deel van de artikelkop. Precies dit kan worden samengevat met behulp van het hgroup-element.

HTML & CSS voor beginners (Deel 20): Semantiek voor het web (3)



Binnen hgroup zijn de elementen h1 tot h6 toegestaan.

Het Contour-concept

In HTML5 komt daarnaast het Contour-concept aan bod, waarbij het gaat om de interactie tussen section- en verschillende hx-elementen. Bij dit concept worden, zoals tot nu toe gebruikelijk, de koppen door de elementen h1 tot h6 in verschillende niveaus onderverdeeld. Hierbij vertegenwoordigt h1 het hoogste niveau, terwijl h6 het laagste niveau aangeeft. Hierin is dus geen verandering ten opzichte van vroeger. Nu kunnen de hx-elementen echter binnen section-elementen worden gedefinieerd. En hierbij begint de telling elke keer opnieuw, maar telkens een niveau dieper.

Het Contour-concept lijkt misschien ingewikkeld in de HTML5-specificatie, maar het idee erachter is eigenlijk heel eenvoudig. Hiermee kan namelijk een inhoudsopgave gedefinieerd worden die de structuur van het document machinaal leesbaar maakt.

Ook hiervoor een voorbeeld:

<h1>
    Hoofdstuk 1
 </h1>
 <section>
    <h1>
       Hoofdstuk 2
    </h1>
    <section>
       <h1>
          Hoofdstuk 3
       </h1>
    </section>
 </section>



Met het outline-concept van HTML5 volgt de volgende structuur:

1. Hoofdstuk 1

  1. Hoofdstuk 2
    1. Hoofdstuk 3

Een ander voorbeeld om het effect te verduidelijken. Ook hier eerst het oorspronkelijke document.

<section>
  <h1>Installatie en configuratie</h1>
  <section>     
    <h2>Installatie</h2>     
      <p>Alles over installatie
  </section>     <section>     
    <h2>Configuratie</h2>
      <p>Hier vinden jullie alles over configuratie
    </section>
    <aside>
      <p>Interessante boeken over het onderwerp...
    </aside>
  </section>
  <footer>
    <p>(c) door PSD-Tutorials.de
  </footer>
</section>



De resulterende structuur ziet er als volgt uit:

1. Sectie (Installatie en configuratie)

1.1 Sectie (Installatie)

1.2 Sectie (Configuratie)

1.3 Sectie (aside)

  1. Sectie (footer)

En nog een voorbeeld:

<body>
   <h1>Installatie en configuratie</h1>
   <h2>Installatie</h2>
   <p>Alles over installatie
      ...nog meer inhoud...
   <section>
     <h3>Vereisten</h3>  
     <p>Alles over installatievereisten
       ...nog meer inhoud...
     <h3>Voorbereidingen</h3>
       <p>Alles over voorbereidingen
          ...nog meer inhoud...
     <h2>Configuratie</h2>
       <p>Alles over configuratie
           ...nog meer inhoud...
   </section>
</body>



De structuur ziet er als volgt uit:

1. Installatie en configuratie
1.1 Installatie
1.1.1 Vereisten
1.1.2 Voorbereidingen
1.2 Configuratie


De interne nummering begint hier dus telkens opnieuw bij 1. Van het outline-concept zijn slechts deze elementen beïnvloed:

article

aside

nav

section

De elementen header en footer worden daarentegen buiten beschouwing gelaten.

Let op dat het outline-concept momenteel nog niet door browsers wordt ondersteund.

HTML & CSS voor beginners (Deel 20): Semantiek voor het web (3)



Het zal echter slechts een kwestie van tijd zijn voordat de browserfabrikanten hier actie ondernemen. De voordelen van het outline-concept zouden te groot zijn. Denk bijvoorbeeld aan automatisch gegenereerde navigatiebalken. Maar zelfs als de structurering op de genoemde manier momenteel wordt genegeerd door browsers, is het raadzaam om nu alvast te proberen uw documenten logisch te structureren. Zo krijgt u meteen een zekere toekomstbestendigheid voor uw websites.