index.html — semantinė struktūra
Dabar perstatyk <body> iš tinkamų elementų. Tavo puslapis kol kas yra trys pavieniai žymenys — antraštė, pastraipa, nuoroda. Jie nedingsta: antraštė tampa hero bloku, pastraipa — jo įžangine eilute, o vienintelė NASA nuoroda išauga į tikrą navigacijos juostą. Aplink juos pridedi du dalykus, kurių reikia tikram puslapiui — <main> orientyrą ir paveikslėlių galeriją. Kodo stulpelyje — visas failas; štai ką daro kiekviena dalis.
Aprašesnė antraštė
Viena eilutė <head> viduje irgi paauga. <title>Cosmos</title> tampa <title>Cosmos — Astronomy Picture of the Day</title> — tai tekstas, kurį naršyklė uždeda ant kortelės, paieškos sistema rodo kaip rezultato antraštę, o skaitytojas mato pasižymėdamas puslapį. Plikas produkto pavadinimas nė vienam iš jų nepasako, kas yra puslapis; pilnesnė antraštė pasako. Tai mažas pakeitimas, bet irgi semantika: antraštė yra puslapio vardas viskam, kas yra už puslapio ribų.
Pirmiausia — „praleidimo" nuoroda
<a href="#main-content" class="skip-link">Skip to main content</a>
Ji sąmoningai yra pirmas elementas <body> viduje — klaviatūros naudotojas turi ją pasiekti anksčiau už viską kita. Jos href rodo į #main-content — tą id, kurį uždėsi ant <main>.
Navigacija
<nav class="navbar" aria-label="Main navigation">
<a href="#home" class="brand">🌌 Cosmos</a>
<div class="nav-links">
<a href="#home" class="nav-link active">Home</a>
<a href="#gallery" class="nav-link">Gallery</a>
</div>
</nav>
<nav> orientyras laiko svetainės nuorodas. Kiekviena jų — <a>, nes kiekviena kažkur nuveda — ir čia kiekvienas href yra vidinė puslapio nuoroda (anchor): #gallery peršoka prie skilties su id="gallery" žemiau, #home — atgal į viršų. Inkaras į id yra grynas HTML; jam nereikia nei maršrutizatoriaus, nei skripto. Kurk nuorodą tik ten, kur vieta egzistuoja — nuoroda į nesukurtą puslapį yra būtent tas negyvas valdiklis, kurio mokaisi vengti, tad čia nėra „Collection", kol nėra kolekcijos, kurią rodyti. aria-label="Main navigation" įvardija orientyrą, tad ekrano skaitytuvas praneša „Main navigation", o ne bevardę sritį. Dabartinis puslapis turi class="nav-link active" — būtent taip pažymi „tu esi čia" statiškai, be jokio skripto.
Pagrindinė sritis ir hero
<main id="main-content" tabindex="-1">
<section aria-label="Home">
<div class="hero-text">
<h1>Explore the universe</h1>
<p class="hero-sub">Every day NASA publishes a photograph…</p>
</div>
</section>
Viskas, kas nėra „rėmai", gyvena viename <main>. Jo id — „praleidimo" nuorodos taikinys; tabindex="-1" leidžia naršyklei perkelti fokusą į jį, kai nuoroda suveikia. Tavo pradinė antraštė ir pastraipa persikelia čia nepakitusios — tie patys žodžiai, tik dabar suvynioti į <section> su prieinamu pavadinimu.
Galerija
<section aria-label="Latest pictures">
<div class="grid">
<article class="picture-card">
<div class="card-header">
<img src="https://apod.nasa.gov/apod/image/1604/DustAngelNebula_rba1024.jpg"
alt="A Dust Angel Nebula" loading="lazy">
<button class="fav-btn" title="Save to collection"
aria-label="Save to collection">♡</button>
</div>
<div class="card-body">
<h2>A Dust Angel Nebula</h2>
<p class="picture-date">2016-04-28</p>
</div>
</article>
<!-- dar dvi kortelės, tokia pati forma -->
</div>
</section>
</main>
Kiekvienas paveikslėlis — <article>, savarankiškas vienetas, kuris turėtų prasmę ir atskirai. Jo viduje:
<img>nešaalt(ką rodo paveikslėlis — tiems, kas jo nemato) irloading="lazy"(naršyklė parsisiunčia jį tik tada, kai jis netrukus pasirodys ekrane). Į abu gilinsiesi kliento dalies takelyje; čia tiesiog pasirūpink, kad jie būtų ir būtų sąžiningi.- „mėgstamų" valdiklis — tikras
<button>iš praėjusio žingsnio: fokusuojamas, valdomas klaviatūra ir įvardytasaria-label, kad nebūtų perskaitytas tik kaip „♡". - pavadinimas —
<h2>, data — pastraipa: struktūra, ne dekoracija.
Trijų kortelių pakanka formai įrodyti. Kol kas jos rikiuojasi viena po kitos; jų sudėliojimas į responsyvią tinklelio galeriją — vėlesnė pamoka, ir būtent todėl konteineris jau turi class="grid", kuris jos laukia.
Atkreipk dėmesį, kas neišliko: buvęs pliką <a href="https://apod.nasa.gov/apod/"> dingo — jo darbą dabar atlieka navigacija ir kortelės, tad tempti jį kaip pavienę nuorodą būtų tik šiukšlė. Pašalinti jį sąmoningai — gerai; palikti našlaičius žymenis „dėl visa ko" — būtent taip puslapiai ir supūva.