Startpagina » Webontwerp » Een kijkje in goede HTML5-semantiek

    Een kijkje in goede HTML5-semantiek

    Als je de structuur van je HTML-documenten zorgvuldig plant, kun je dat help computers betekenis te geven aan uw inhoud. Een goede syntaxis is zeker belangrijk, maar biedt in feite alleen parsers, zoekmachines en ondersteunende techologieën met een betekenisloze hoeveelheid gegevens.

    Als u uw front-endworkflow verbetert door aandacht te besteden aan semantiek, kunt u inhoud van hogere kwaliteit maken die meer bezoekers trekt. Semantics is de studie van betekenis, in een bredere context is dat zo een tak van logica en taalkunde.

    In de wereld van webontwikkeling praten we over semantische inhoud wanneer computers de structuur van een document begrijpen, en de rollen van de elementen erin. Als we de juiste semantiek willen creëren, moeten we dat diepgaand doen begrijp de structuur van onze inhoud en de mogelijkheden van frontend-technologieën.

    Dus wat zijn de tastbare voordelen? Goede semantiek betekent a meer doorzoekbare inhoud dat leidt tot een betere zoekmachine ranking. We vergroten ook de toegankelijkheid, zoals ondersteunende technologieën zoals schermlezers kunnen de betekenis van onze inhoud beter interpreteren.

    Er zijn veel verschillende front-end ontwikkelingstechnieken waarmee ontwikkelaars een semantische paginastructuur kunnen realiseren. Dit bericht geeft u een korte introductie van semantische HTML-tags en het concept van de documentomtrek.

    Semantische en niet-semantische HTML-tags

    Het concept van semantiek is niet zo nieuw als het lijkt, het bestond al lang vóór het tijdperk van HTML5. De term semantisch web werd al in 2001 bedacht door Sir Tim Berners-Lee. Onder “semantisch web” hij bedoelde een web van gegevens dat door machines kan worden verwerkt.

    Dit betekent in de eerste plaats dat afzonderlijke HTML-elementen moeten hun onderscheiden structurele rollen hebben. Volgens de definitie van W3C “een semantisch element beschrijft duidelijk de betekenis ervan voor zowel de browser als de ontwikkelaar”.

    Semantische elementen vóór HTML5

    Semantische elementen bestonden ook vóór HTML5, maar in de meeste gevallen wisten ontwikkelaars dat niet sommige van de tags die ze gebruikten waren eigenlijk semantisch. Denk maar aan de

    of de labels.

    Hun rollen zijn duidelijk voor ons en de user-agent:

    bevat gewoon een formulier, net zoals bevat een afbeelding. Niemand zal ooit een tafel of een kop binnen en neerzetten tag (of laten we het hopen).

    De

    element, en de bijbehorende tags zoals tabelrijen, tabelcellen, etc. zijn ook semantische tags die bestonden vóór HTML5, maar vanwege de op tabellen gebaseerde lay-out die al vele jaren intensief werd gebruikt, hebben de meeste ontwikkelaars deze niet gebruikt in de HTML-indeling. semantische manier. Dit leidde tot een web dat logische structuur opofferde voor lay-out.

    bestelde en ongeordende lijsten, paragrafen, h1-h6 heading tags zijn alle semantische elementen die aan HTML5 voorafgingen.

    Niet-semantische elementen

    Niet-semantische elementen hebben geen speciale betekenis, de hiërarchische relaties tussen hen zijn slechts illusoir. De meest gebruikte voorbeelden van niet-semantische HTML-tags zijn de

    en de labels.

    Als uw site ooit de vreselijke ziekte van heeft gepakt divitis, je weet waar ik het over heb. Yep. Divs hoeven niet per se fout te zijn, maar divitis moet worden uitgevochten als we een onderhoudbare, modulaire en zinvolle HTML-code willen schrijven.

    IMAGE: Maclane Wilkinson's Blog

    Smashing Magazine legt mooi uit wat het echte probleem is met het buitensporige en onredelijke gebruik van de

    label. De essentie is dat als wij een div binnen een div opnemen, het lijkt alsof de buitenste div zou het ouderelement van de binnenste zijn, terwijl in werkelijkheid is dit niet het geval.

    Er is geen relatie tussen de twee, net als in het geval van de tag die op dezelfde manier werkt, alleen op het inlineniveau.

    Raak niet in paniek als je je nog steeds gehecht voelt

    -s en -echter, als je hoeft ze niet helemaal te dumpen. Ze zijn nog steeds de beste keuze voor het groeperen van inhoud, alleen voor stylingdoeleinden en in andere gevallen van laatste redmiddel.

    Tekstsemantiek in HTML5

    HTML5 introduceerde veel nieuwe semantische elementen die eenvoudige content-organisatie mogelijk maken. Ze helpen je niet alleen om inhoud te organiseren op het niveau van het hele document (zie details in de volgende sectie), maar ook in tekstblokken, als inline-tags.

    Waarschijnlijk de meest populaire semantische tags op tekstniveau en , maar ze bestonden ook vóór HTML5. Onder de nieuwe inline semantische elementen kunnen we bijvoorbeeld de , tag voor door mensen leesbare datum-tijden, en voor gemarkeerde tekst.

    Zie deze lijst voor alle semantische elementen op tekstniveau die momenteel in gebruik zijn.

    Documentoverzicht in HTML5

    De documentomtrek is de structuur van een HTML-document. Het laat zien hoe elementen aan elkaar gerelateerd zijn. De documentomtrek is uitsluitend gegenereerd door toewijzingselementen, zoals koppen, tabeltitels, formuliertitels en andere in eerdere versies van HTML, zoals HTML4.01 en XHTML.

    In HTML5 is het omtrekalgoritme verbeterd door nieuwe sectiekaders, namelijk:

    • voor secties gegroepeerd rond een specifiek thema
    • voor complete of op zichzelf staande composities zoals een blogpost of een widget
    • voor navigatie blokken
    • voor aanvullende inhoud zoals zijbalken.

    Er is een vijfde sectie-element in HTML5, maar het is niet nieuw, het is het label. De

    en
    tags zijn ook nieuw, maar ze genereren geen nieuwe secties in een document, ze verdelen de inhoud binnen secties. Dit betekent dat elk snijelement (lichaam, artikel, sectie, nav en opzij) kan zijn eigen kop- en voettekst hebben.

    Tips voor semantisch gestructureerde inhoud

    Als we een goed gestructureerde documentopmaak willen maken, moeten we aandacht besteden aan de volgende regels:

    1. Het buitenste snijelement is altijd de label.

    2. Secties in HTML5 kunnen worden genest.

    3. Elke sectie heeft zijn eigen kop hiërarchie. Elk van hen (zelfs de binnenste geneste sectie) kan een h1 label.

    4. Hoewel de documentomtrek primair wordt gedefinieerd door de 5 sectie-elementen, heeft deze ook de juiste koppen nodig voor elke sectie.

    5. Het is altijd het eerste headingelement (laat het een h1 of een lager ranglabel zijn) dat de kop van de gegeven sectie definieert. De volgende heading-tags in dezelfde sectie moeten hier relatief aan zijn. (Als de eerste kop een h3 binnen een snijelement is, plaats dan geen h3.)

    6. De secties gedefinieerd door de

    , en de tags behoren niet tot de hoofdlijnen van het HTML-document, maar worden meestal niet door hulptechnologieën weergegeven.

    7. Elke sectie (lichaam, sectie, artikel, opzij, nav) kan zijn eigen hebben

    en
    tags, die de kop bepalen (zoals logo, naam van de auteur, datums, meta-info, enz.) en de voettekst (copyright, notities, links, etc.) van die sectie.

    Voorbeeld: een semantische omtrek

    Laten we een voorbeeld bekijken voor een semantisch documentoverzicht om duidelijker te zien hoe het werkt. Onze voorbeeldcode zal resulteren in de volgende documentstructuur:

    En hier is de code met de juiste semantische secties:

      

    Welkom op onze website!

    Hier is ons logo en onze slogan.

    Titel van artikel

    Ondertitel van artikel

    Eerste logische gedeelte (bijvoorbeeld 'theorie')

    Lid 1 in eerste deel

    Enkele andere subtitels in eerste deel

    Lid 2 in eerste deel

    Tweede logisch deel (bijvoorbeeld "Oefening")

    Lid 1 in tweede deel

    Paragraaf 2 in het tweede deel

    Auteur Bio

    Paragraaf in de voettekst van het artikel

    • auteursrechten
    • Social Media Links

    Als u het bovenstaande codefragment bekijkt, ziet u dat kopteksten en voetteksten optioneel zijn. We kunnen vrij kiezen of we ze willen gebruiken of niet, maar het is sterk aanbevolen om altijd een kop voor elke sectie op te nemen, anders zal de sectie zijn “Untitled” in de documentomtrek.

    Gelukkig zijn er overal op het internet veel geweldige tools waarmee we het documentoverzicht kunnen controleren, dit keer gebruiken we de Outliner-tool van html5.org.

    Als we ons codefragment in het formulier van de outliner invoegen en op de “Geef dit een overzicht!” knop, zullen we het volgende resultaat zien:

    Dit is de documentoverzicht van onze voorbeeldcode, dit is hoe zoekmachines het zien en schermlezers lezen dit voor gebruikers met een visuele beperking. Het is semantisch, goed gestructureerd en er is geen smerig beeld “Untitled” secties erin.

    Als u wilt kijken hoe een Untitled-sectie eruit ziet in de Outliner, verwijdert u gewoon enkele van de heading-tags in de voorbeeldcode.

    Andere aspecten van websemantiek

    Semantische HTML-tags en documentcontouren vormen slechts een klein deel van de websemantiek. De inhoud van een webpagina kan nog betekenisvoller worden gemaakt met behulp van het WAI-ARIA-toegankelijkheidsprotocol en gestructureerde gegevens die kunnen worden gebruikt in combinatie met het RDFa-protocol, microdata of de JSON-LD-markup.

    © Savtec
    Nuttige informatie en tips voor webontwikkeling. Programmering, webdesign, CSS, HTML, JAVASCRIPT. Configureer en installeer WINDOWS opnieuw. Creëren van sites en applicaties vanuit het niets.