HTML
Peruspohja
<!DOCTYPE html>
<html lang="fi">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Sivun otsikko</title>
</head>
<body>
<h1>Sisältö</h1>
</body>
</html>
Rakenteelliset elementit
| Elementti | Kuvaus |
|---|---|
<header> |
Sivun tai osion ylätunniste |
<nav> |
Navigaatiolinkit |
<main> |
Sivun pääsisältö (vain yksi per sivu) |
<article> |
Itsenäinen, uudelleenkäytettävä sisältökokonaisuus |
<section> |
Temaattinen osio, yleensä oma otsikko |
<aside> |
Sivusisältöön liittyvä mutta erillinen sisältö |
<footer> |
Sivun tai osion alatunniste |
Näiden käyttö pelkkien <div>-elementtien sijaan parantaa
saavutettavuutta (ruudunlukijat tunnistavat rakenteen) ja
hakukoneoptimointia.
Tekstielementit
<h1>Otsikko 1</h1> ... <h6>Otsikko 6</h6> <!-- looginen hierarkia, ei hyppyjä -->
<p>Kappale</p>
<strong>Painotettu (semanttinen), yleensä lihavoituna</strong>
<em>Korostettu (semanttinen), yleensä kursiivilla</em>
<a href="https://esimerkki.fi">Linkki</a>
<br> <!-- rivinvaihto tekstin sisällä -->
Listat
<ul>
<li>Järjestämätön kohta</li>
</ul>
<ol>
<li>Järjestetty kohta</li>
</ol>
<dl>
<dt>Termi</dt>
<dd>Termin selitys</dd>
</dl>
Taulukot
<table>
<thead>
<tr><th>Sarake 1</th><th>Sarake 2</th></tr>
</thead>
<tbody>
<tr><td>Arvo A</td><td>Arvo B</td></tr>
</tbody>
</table>
Lomakkeet
<form action="/lahetys" method="post">
<label for="nimi">Nimi</label>
<input type="text" id="nimi" name="nimi" required>
<label for="email">Sähköposti</label>
<input type="email" id="email" name="email">
<select name="valinta">
<option value="a">Vaihtoehto A</option>
</select>
<textarea name="viesti"></textarea>
<button type="submit">Lähetä</button>
</form>
<label for="..."> sidottuna id:hen on saavutettavuuden kannalta
tärkeä — ruudunlukija ja klikkaus kohdistuvat oikeaan kenttään.
Kuvat ja media
<img src="kuva.jpg" alt="Kuvan kuvaus" width="600" height="400">
<picture>
<source srcset="kuva.webp" type="image/webp">
<img src="kuva.jpg" alt="Kuvan kuvaus">
</picture>
<video src="video.mp4" controls></video>
alt-attribuutti on pakollinen saavutettavuuden vuoksi — kuvaile
kuvan sisältö, tai jätä tyhjäksi (alt="") jos kuva on puhtaasti
koristeellinen.
Semanttiset attribuutit
<button aria-label="Sulje">×</button>
<div role="alert">Virheilmoitus</div>
<input aria-describedby="ohje-teksti">
<p id="ohje-teksti">Ohjeteksti kentälle</p>
Kommentit
<!-- Tämä ei näy sivulla -->