← Område 1 Kodgenomgång · Sidans grund Felsökning

Webbutveckling · område 1

Sidans grund

Koden vi skriver på passet 1 september, rad för rad och med förklaringar. Var du borta den dagen är det här du läser i kapp.

Koden går inte att kopiera

Det är med flit. Du lär dig inte HTML av att klistra in den – du lär dig av att skriva den, göra fel och se vad som händer. Exemplen här handlar dessutom om te, inte om webben, så de går ändå inte att lämna in.

1. Dokumentets grund

Varje HTML-fil börjar likadant. De här sju raderna är skelettet – innan de finns har du ingen sida.

<!doctype html>
<html lang="sv">
  <head>
    <meta charset="utf-8">
    <title>Så kokar du te</title>
  </head>
  <body>
  </body>
</html>
RadVad den gör
<!doctype html>Säger till webbläsaren att det här är modern HTML. Alltid först i filen
<html lang="sv">Sidan är på svenska. En skärmläsare behöver det för att uttala orden rätt
<head>Sådant om sidan. Ingenting härifrån syns i fönstret
<meta charset="utf-8">Utan den blir å, ä och ö till frågetecken
<title>Namnet i webbläsarfliken, och det sökmotorn visar som rubrik
<body>Själva sidan. Allt som syns ligger här
Prova själv

Skriv av de sju raderna och öppna sidan med Live Server. Den är tom och vit. Det är rätt – allt du skrivit ligger i <head>, och <body> är fortfarande tom. Titta på fliken högst upp i webbläsaren: där står din <title>.

2. Semantiska block

Nu fylls <body>. Tre block räcker för hela uppgiften.

  <body>
    <header>
      <h1>Så kokar du te</h1>
    </header>

    <main>
    </main>

    <footer>
      <p>Av Ditt Namn, Webbutveckling 1</p>
    </footer>
  </body>

Frågan du kommer att ställa är varför man inte bara använder <div> till allt. Svaret hänger ihop med användaragent från lektionen om webben som plattform:

Alla besökare är inte människor med ögon. En skärmläsare som möter <main> kan hoppa direkt till innehållet och slippa toppen. Möter den bara <div> vet den ingenting.

3. Rubriker och text

Skriv alla rubrikerna först, innan du skriver en enda mening brödtext. Då står strukturen även om du inte hinner klart.

    <main>
      <p>Det tar fem minuter och kräver inga specialverktyg.</p>

      <h2>1. Koka vattnet</h2>
      <p>Fyll kokaren med färskt vatten.</p>

      <h2>2. Välj te</h2>
      <p>Svart te vill ha kokande vatten.</p>
    </main>

Två regler om rubriker, och de gäller i hela kursen:

Använd inte rubriker för att få stor text. Rubrikerna är sidans innehållsförteckning, inte textstorlekar. En skärmläsare kan lista alla rubriker och hoppa mellan dem – gör du dem i fel ordning blir listan obrukbar.

4. Bilder och länkar

Bilden ligger i mappen bilder/ och länkas relativt:

      <img src="bilder/stegen.svg"
           alt="Fem steg i följd: koka vatten, välj te, mät upp, låt dra, ta upp teet">
DelVad du behöver veta
srcRelativ sökväg: mappen bilder, härifrån räknat. Skriv aldrig C:\Users\… – den sökvägen finns bara på din dator
altVad någon som inte ser bilden får i stället. Beskriv vad bilden visar, inte att det är en bild
FilnamnetMåste stämma exakt. Stegen.svg och stegen.svg är samma fil hos dig och två olika på servern

Länken skrivs så här:

      <p>Läs mer hos
        <a href="https://www.livsmedelsverket.se/">Livsmedelsverket</a>.</p>

Texten mellan taggarna är det som syns och det en skärmläsare läser upp. Skriv vart länken går – aldrig klicka här.

5. Hela sidan

Allt ovan sammansatt. Det är den här filen som ligger i områdets referensprojekt/, och det är så din egen sida ska se ut – fast om de fem stegen från adress till färdig sida, inte om te.

<!doctype html>
<html lang="sv">
  <head>
    <meta charset="utf-8">
    <title>Så kokar du te</title>
  </head>

  <body>
    <header>
      <h1>Så kokar du te</h1>
      <p>En sida för dig som aldrig gjort det förut.</p>
    </header>

    <main>
      <p>Det tar fem minuter och kräver inga specialverktyg.</p>

      <h2>1. Koka vattnet</h2>
      <p>Fyll kokaren med färskt vatten.</p>

      <h2>2. Välj te</h2>
      <p>Svart te vill ha kokande vatten.</p>

      <h2>Stegen i en bild</h2>
      <img src="bilder/stegen.svg" alt="Fem steg i följd">

      <h2>Läs mer</h2>
      <p><a href="https://www.livsmedelsverket.se/">Livsmedelsverket</a></p>
    </main>

    <footer>
      <p>Av Ditt Namn · Webbutveckling 1</p>
    </footer>
  </body>
</html>

6. Checklista mot kraven

Samma ska-krav som i uppgiften, fast sorterade efter var i koden de sitter. Bocka av medan du bygger.

Finns i din index.html?

Kryssen sparas i din webbläsare.

7. Felsökning

8 rader

SymptomTrolig orsakÅtgärd
Sidan är helt tom och vitAllt ligger i <head>, eller <body> är tomInnehållet ska ligga mellan <body> och </body>
å, ä och ö blir frågetecken<meta charset="utf-8"> saknasLägg den först i <head>
Halva sidan har fel utseendeEn tagg är inte stängdLeta efter den tagg VS Code färgar rött. Kontrollera indenteringen
Bilden visas som en trasig ikonFel sökväg eller fel skiftläge i filnamnetFilen ska ligga i bilder/ och heta exakt som i src
Bilden syns hos mig men inte publiceratAbsolut sökväg, eller stor bokstav i filnamnetTa bort inledande /. Använd gemener
Rubrikerna ser inte ut som rubrikerDu skrev <h2> men glömde stänga med </h2>Varje rubrik behöver både öppnande och stängande tagg
Live Server visar en gammal versionFilen är inte sparadCtrl+S, sidan laddas om av sig själv
Läraren ser inte mitt arbeteDu har committat men inte synkatSync Changes, kontrollera sedan på github.com