Evitarea greșelilor comune în marcajul HTML5. Aspecte pozitive ale utilizării noilor etichete. Utilizarea corectă a secțiunii
Una dintre sarcinile de a crea versiune noua HTML5 a fost o simplificare a marcajului documentului. Soluția la această problemă a fost crearea de noi etichete care sunt responsabile de structurarea documentului.
Principiul de bază al construirii unui arbore de pagină se bazează pe împărțirea întregii pagini în elemente structurale - blocuri sau secțiuni. Aceste secțiuni includ etichete precum <
header>
(antetul site-ului), <
section>,
<
aside>
, Și <
footer>
(subsol). Înainte de crearea etichetelor de mai sus, designerii de layout au folosit etichete <
div>
pentru a structura un document folosind clase și ID-uri unice. Cod construit în întregime pe <
div>
foarte greu de înțeles și imposibil de citit. Motivul pentru aceasta este lipsa de încărcare logică a etichetei. Acesta a fost principala piatră de poticnire pentru motoarele de căutare.
Acest fapt a stimulat apariția etichetelor cu semnificație semantică, care au devenit așa-numita „hartă” pentru roboți din pădurea densă a codului.
Aspecte pozitive ale utilizării noilor etichete
Optimizare motor de căutare
Prima și semnificativă parte pozitivă a utilizării HTML5 modernizat este ușurința procesării codului pentru roboți de căutare. În prezent, roboții disting cu ușurință informațiile auxiliare de pe un site web de subiectele și conținutul principal.
Cu toate acestea, merită remarcat faptul că mulți SEO nu au înțeles esența de bază a modului în care funcționează motoarele de căutare folosind un astfel de marcaj, dar aceasta este o chestiune de timp.
Disponibilitate
Pentru a analiza vizual disponibilitatea noilor metode de layout, să ne uităm la un exemplu de site:
Privind acest site, este destul de ușor să navighezi unde este conținutul principal și unde sunt informațiile de sprijin și, de asemenea, poți vedea clar unde se află antetul site-ului, meniurile și subsolul. Cu toate acestea, la utilizare browsere vocale este foarte greu să ajungi la esența site-ului, de exemplu, dacă este un site de magazin. Pentru a ajunge la esența gamei de mărfuri oferite, utilizatorul va avea nevoie de perseverență și răbdare considerabile, pe care nu o are toată lumea.
În astfel de cazuri, calea de ieșire va fi utilizarea de noi etichete. Vor permite doar unul comanda vocala trece de la numele site-ului la meniu, conținut principal și elemente auxiliare de navigare a site-ului.
Aceste aspecte pozitive ale HTML5 au influențat interesul neașteptat al creatorilor sisteme alternative căutare, pun un accent serios pe semantica documentului.
Pe scurt despre scopul principal al etichetelor structurale:
secțiune
Această etichetă este responsabilă pentru structurarea blocurilor conectate prin ceva între ele. De asemenea, puteți utiliza această comandă pentru a împărți textul în capitole, secțiuni și subsecțiuni. De obicei, într-o astfel de etichetă există un titlu.
Puteți citi mai multe despre utilizarea acestei etichete pentru a construi structura semantică a unui document în articolul „Construirea unei structuri de document în HTML5 folosind secțiunea”
Pentru o explicație mai clară, să revenim la exemplul împărțirii unui text voluminos în capitole și paragrafe, care pot avea și subsecțiuni și subparagrafe. Să aruncăm o privire la următorul exemplu de cod pentru a securiza materialul:
<
article>
<
h1>Titlul articolului
h1>
<
p>Introducere...
p>
<
section>
<
h1>Titlul subsecțiunii articolului
h1>
<
p>Conținutul subsecțiunii
p>
section>
<
section>
<
h1>Titlul celui de-al doilea paragraf al articolului
h1>
<
p>Conținutul subsecțiunii
p>
section>
article>
Apropo, acordați atenție prezenței mai multor titluri cu markerul h1 - aceasta este o tehnică specială pe care o vom discuta mai târziu.
Unii utilizatori susțin că <
section>
- aceasta nu este altceva decât o înlocuire a etichetei aspectul blocului<
div>
. Cu toate acestea, această afirmație nu este adevărată. Există o distincție clară între când secțiunea este adecvată și când nu este. De exemplu, atunci când vă legați la un anumit container de stil, trebuie doar să accesați <
div>
. De asemenea, merită să acordați atenție încărcării semantice care se află în bloc - secțiunea nu este utilizată în absența unui titlu natural.
articol
Webmasterii cu experiență numesc această secțiune un caz special de etichetă <
section>
. Articolul evidențiază o parte „autonomă” (una care poate fi tăiată din pagină ca întreg, fără a-și pierde sensul) parte a paginii, care, la rândul său, constă din elemente interconectate.
Exemplele de părți autonome includ anunțuri de articole pe un blog, blocuri de publicitate, diverse widget-uri (de exemplu, cu vremea).
Cu toate acestea, specificația descrie acest concept destul de abstrus, în urma căruia a apărut o mulțime de controverse cu privire la ce anume să folosești: <
section>
sau <
аrticle>
. Principalele dezacorduri cu privire la această problemă includ următoarele puncte:
pentru a crea containerul principal al paginii web pe care ar trebui să-l utilizați <
section>,
<
аrticle>
sau <
div>
. Pe de o parte, tot conținutul este interconectat într-un fel sau altul, dar site-ul poate fi numit o unitate independentă.
Cum să proiectați mai exact antetul site-ului sau, mai precis, ce etichete să folosiți?
și în sfârșit, cum să lucrezi cu conținutul principal al site-ului? Trebuie folosit <
section>
Cu <
аrticle>
în interior sau utilizați exclusiv unul <
аrticle>
.
Această confuzie amintește de vremurile în care au apărut dispute similare cu privire la utilizarea etichetelor <
acronim>
Și <
abbr>
. La acea vreme, problema a fost rezolvată destul de simplu, dar radical: au abandonat utilizarea <
acronim>
.
Și în legătură cu toate acestea, apare o întrebare complet logică și legitimă: de ce folosirea <
аrticle>
, dacă poți să-l refuzi și să lucrezi numai cu <
section>
? În cele din urmă, modernizarea HTML5 a fost menită să ușureze munca webmasterilor.
Cel mai probabil în în acest caz, renunța <
аrticle>
nu ar fi corect, deoarece am obține un marcaj în stil bloc absolut identic care era în versiunea anterioara HTML. Prin decizie această problemă ar fi o îmbunătățire <
section>
în așa fel încât să existe diferențe clare între conținutul principal al site-ului și informațiile suport.
Pentru a ajuta constructorii de site-uri începători, ofer câteva caracteristici speciale care pot fi folosite pentru a decide pur și simplu când să utilizeze exact <
аrticle>
:
Abordarea principală este că are valoare pentru utilizator, îi atrage atenția și include conținutul principal al paginii.
Dacă ar fi rațional să adăugați pubdat sau să citați atribute.
În cazul autonomiei complete a fragmentului de cod pe care îl luăm în considerare.
deoparte
Conceput pentru a separa conținutul paginii principale de conținutul auxiliar.
Cel mai adesea, astfel de informații de pe un site web se află în bara laterală.
antet
Servește pentru a evidenția clar partea de titlu a paginii. Conține titlurile atât ale întregului document, cât și ale părților sale individuale. Cel mai adesea în această secțiune puteți găsi etichete precum <
hgroup>
Și <
h1>-<
h6>
. Cu toate acestea, această cerință nu este necesară în principiu, orice etichete pot fi localizate în antet.
Este demn de remarcat faptul că această etichetă este utilizată în principal la crearea unui antet, așa cum este indicat în exemplu:
Cu toate acestea, nu ar trebui să limitați această etichetă la antetul unei pagini web. <
header>
poate fi amplasat în interior <
section>,
<
article>,
<
aside>
si in special cazuri excepționale V <
nav>
. Cu această abordare, eticheta <
header>
este un element copil și corespunde titlului acestei părți separate. Să ne uităm la un exemplu când <
header>
folosit in interior <
article>
:
Este demn de remarcat faptul că antetul reunește titlul părții, totuși, dacă această parte constă numai din titlu, atunci această etichetă nu ar trebui utilizată:
Acest utilizare irațională antet, următoarea intrare de cod ar fi mai corectă din punct de vedere semantic:
<
article>
<
h1>Text important
h1>[Textul publicației]
article>
subsol
Mișcând din ce în ce mai jos prin structura site-ului, am ajuns treptat la „subsolul nostru”, în care se află unele informații descriptive ale secțiunii sau ale site-ului în general. Aceste informații sunt separate prin etichetă <
footer>
:
<
footer>
<
p id=
"copyright"
>&copie;
p>
<
p>2014 Vaden Pro
p>
footer>
Toate drepturile rezervate În această parte a site-ului se obișnuiește să se plaseze informații despre drepturile de autor a acestei resurse <
footer>
, drepturi de autor, diverse link-uri către resurse de sprijin etc. Acesta este motivul pentru care nu puteți limita utilizarea etichetei exclusiv pe pagina principala <
footer>
. Ar fi rațional să-l folosești în diferite secțiuni ale resursei. De asemenea, nu vă înșelați că
<
article>
<
header>
<
h1>trebuie să fie în partea de jos a site-ului. De exemplu, are loc următorul aspect de pagină:
h1>
<
time>
05.
04.
2015
time>
header>
<
footer>
<
div class
=
"autor"
>Informații importante
div>
<
a href=
"#"
>Danil Goyda
a>
|
<
a href=
"#"
>Despre autor
a>
footer>Toate publicațiile autorului
article>
<
header>
<
a href=
"/"
><
img src=
"/logo.png"
alt=
"următorul cod"
/>
a>
<
nav>
<
ul>Vaden Pro
ul>
nav>[meniul]
header>
[ căutare]
<
nav>
<
a href=
""
>De asemenea, merită să acordați atenție faptului că formează nu doar o listă de link-uri, ci o secțiune independentă cu o structură complexă. Hai sa ne uitam:
a>
<
section>
<
h1>Navigare dificilă
h1>
<
ul>
<
li><
a href=
""
>Prima secțiune a site-ului
a>
li>
[
...
]
ul>
section>
<
section>
<
h1>paragraf
h1>
<
ul>
<
li><
a href=
""
>A doua secțiune a site-ului
a>
li>
ul>
section>
nav>
pagini web. Elementele suplimentare de navigare pe site, cum ar fi linkurile de subsol sau blocurile care repetă navigarea, nu ar trebui să fie evidențiate cu această etichetă. Elemente semantice HTML5 descrieți în mod clar sensul sau scopul lor atât pentru browsere, cât și pentru dezvoltatorii web.
Înainte de apariția standardului HTML5, toate markupurile paginii se făceau în principal folosind elemente , care au fost repartizați clase
sau identificatori de ID pentru claritate de marcare (de exemplu,
Conform specificației HTML5, fiecare element aparține unei categorii specifice (zero sau mai multe). Fiecare dintre ele grupează elemente cu caracteristici similare. Se disting următoarele categorii generale:
Conținut meta
Conținut în flux
Continut Sectional
Conținutul antetului
Conținut text
Conținut încorporat
Conținut interactiv
Descrierea elementelor HTML5
1. Element
Categorii de conținut: conținut în flux. Gruparea elementelor introductive și de navigare, opțional. Poate conține titluri, poate include conținutul unei secțiuni de pagină, un formular de căutare sau un logo. Un document HTML poate conține mai multe elemente în același timp și pot fi localizate oriunde pe pagină.
Descrierea siteului
Element nu poate fi plasat în interiorul elementelor
2. Element
Categorii de conținut: Conceput pentru a crea un bloc de navigare pentru o pagină web sau un întreg site, dar nu trebuie să fie localizat în interior . Pot exista mai multe elemente pe o pagină
Categorii de conținut: conținut în flux, conținut secțional. Folosit pentru a grupa intrări - publicații, articole, intrări pe blog, comentarii. Este un bloc independent, separat, destinat utilizării repetate, începând de obicei cu un antet. Poate fi duplicat pe alte pagini ale site-ului și conține alte elemente în interior , care în conținut sunt strâns legate de conținutul articolului extern. Dacă există un singur articol pe o pagină cu un titlu și conținut text, acesta nu trebuie să fie împachetat cu un element . Se recomandă utilizarea unui element numai dacă conținutul elementului va fi specificat în mod explicit în schema documentului.
...
4. Element
Categorii de conținut: conținut în flux, conținut secțional. Un element reprezintă o secțiune universală a unui document. Grupează conținut tematic și de obicei conține un titlu. Nu este un bloc de înveliș în aceste scopuri este mai potrivit să se folosească elementul
. Conținutul poate fi un cuprins, secțiuni publicații științifice, program eveniment. Pagina de pornire a site-ului poate fi, de asemenea, împărțită în secțiuni - un bloc de informații introductive, știri și contacte. Se recomandă utilizarea unui element numai dacă conținutul elementului va fi specificat în mod explicit în schema documentului.
...
...
...
interior
Puteți crea elemente părinte cu elemente imbricate , care au unul sau mai multe elemente . Nu toate paginile trebuie aranjate astfel, dar este o modalitate acceptabilă de a imbrica elemente. De exemplu, zona principală de conținut a unei pagini conține două blocuri cu articole pe subiecte diferite. Puteți sublinia acest lucru plasând fiecare articol pe același subiect în interiorul elementului
Note despre natură
...
...
Note istorice
...
...
al 5-lea element
Categorii de conținut: conținut în flux, conținut secțional. Grupează conținut care este direct legat de conținutul din jur, dar care ar putea fi considerat separat (adică, eliminarea acestui bloc nu va afecta înțelegerea conținutului principal). Cel mai adesea, un element este poziționat ca o coloană laterală (ca în cărți) și include un grup de elemente: , date digitale, citate, blocuri de publicitate, înregistrări de arhivă. Nu este potrivit pentru blocuri poziționate pur și simplu în lateral.
6. Element
Categorii de conținut: conținut în flux. Reprezintă subsolul secțiunii care le conține sau al elementului rădăcină. De obicei, conține informații despre autorul articolului, informații despre drepturile de autor etc. Când este utilizat ca subsol de pagină completă, conținutul este completat cu notificări privind drepturile de autor, link-uri către termenii de utilizare, informații de contact, link-uri către conținut similar etc.
Pot exista mai multe elemente într-un document web
7. Element
Categorii de conținut: conținut în flux. Folosit pentru a determina informațiile de contact ale autorului/proprietarului unui document sau articol. Pentru a indica autorul documentului, eticheta este plasată în interiorul elementului
, pentru a afișa autorul articolului - în interiorul etichetei . Browserul afișează de obicei italice.
8. Element
Categorii de conținut: conținut în flux. Element reprezintă conținutul principal al documentului (conținutul elementului ). Conținutul din interiorul elementului trebuie să fie unic și să nu se repete în toate documentele site-ului, cum ar fi link-uri de navigare, informații despre copyright, logo-uri, formulare de căutare (dacă formularul de căutare este funcția principală a documentului).
Element nu poate fi un descendent al unor elemente precum ,
Categorii de conținut: conținut de streaming, conținut de secțiune rădăcină. Element reprezintă conținut de sine stătător (opțional cu un titlu) care este un element separat al fluxului principal. Un element poate fi mutat din conținutul documentului principal într-o bară laterală sau aplicație fără a afecta fluxul documentului. Folosind element poate fi adăugat caracteristici scurte la ilustrații, fotografii, diagrame, fragmente de cod etc.
pădure de toamnă
Element este bazat pe bloc, lățimea sa ocupă întreaga lățime a blocului container minus marginile marja:
10. Element
Element - descendent al elementului , nu aparține niciunei categorii de conținut. Elementul este la nivel de bloc, lățimea este egală cu lățimea elementului , înălțimea implicită este de 18 px .
11. Element
Categorii de conținut: Definește ora (24 de ore) sau data conform calendarului gregorian, cu posibilă indicare a decalajului orar și al fusului orar. Textul inclus în această etichetă nu are styling browser. Eticheta are un atribut datetime disponibil, al cărui conținut indică ceea ce utilizatorul va vedea pe ecranul computerului său:
Pentru ca data să fie citită automat, trebuie să fie în formatul AAAA-LL-ZZ. Ora, care poate fi de asemenea specificată, este specificată în formatul HH:MM cu adăugarea unui prefix de separare T (ora):
12. Element
Categorii de conținut: conținut în flux, conținut text. Text plasat în interiorul unei etichete , evidențiat implicit galben(culoarea de fundal și culoarea fontului din blocul selectat pot fi modificate prin setarea anumitor stiluri CSS). Prin utilizarea a acestei etichete Puteți marca conținut important, precum și cuvinte cheie.
13. Element
Categorii de conținut: conținut în flux, conținut text. Separă o bucată de text care trebuie izolată de restul textului pentru formatarea textului bidirecțională. Folosit pentru textele scrise simultan în limbi citite de la stânga la dreapta și de la dreapta la stânga.
14. Element
Categorii de conținut: conținut în flux, conținut text. O singură etichetă arată browserului un loc pentru a adăuga o întrerupere de rând lungă, dacă este necesar.
15. Elemente pentru descrierea personajelor din Asia de Est
Categorii de conținut: conținut în flux, conținut text. Element Vă permite să marcați unul sau mai multe elemente ale unei categorii de conținut text folosind o adnotare rubin. Adnotarea rubin este folosită în principal în tipografia din Asia de Est ca ghid pentru pronunție sau pentru a include alte caracteristici. Elementul poate conține: — unul sau mai multe noduri sau elemente de text ; - unul sau mai multe elemente
Elemente ,
Element definește textul imbricat în el ca componenta de baza adnotări. Element
De la autor: Vă urez bun venit din nou pe blogul webformyself. Sau poate este prima dată când aici. Astăzi vom analiza în ce constă structura unei pagini html5 și cum s-a schimbat aceasta odată cu lansarea acestei noi specificații.
Cum s-a schimbat structura
În primul rând, aș dori să spun că înainte de apariția html5, structura explicită ca atare nu exista deloc. Cum au fost făcute toate șabloanele? În cele mai multe cazuri, a fost folosită metoda de aranjare a blocurilor, care a devenit standard astăzi. Div-urile obișnuite cu identificatori diferiți au fost folosite ca containere pentru elemente.
De exemplu, antetul era de obicei desemnat ca un div cu antetul identificatorului, blocul cu informațiile principale era numit principal sau conținut, iar coloana laterală a primit bara laterală a identificatorului.
În general, sunt foarte puțini dezvoltatori care au ales alte nume de clasă sau etichete unice. De fapt, care ar putea fi o desemnare mai înțeleasă și mai corectă pentru o coloană laterală decât cuvântul bară laterală? Chiar și oamenii care știu foarte puțin limba engleză o înțeleg.
În această privință, apariția de noi elemente se făcea în html5 - blocuri semantice, care au fost concepute pentru a înlocui div-urile obișnuite și pentru a da markup-ului mai multă semnificație.
De fapt, puteți afla și istoria originii lor din prima lecție. Vă încurajez să verificați dacă încă nu știți prea multe despre această specificație. Ei bine, vă voi spune acum despre câteva dintre aceste elemente noi.
Blocuri semantice noi în markup
Este demn de remarcat faptul că a fost inventată o etichetă potrivită pentru aproape orice element dintr-o pagină web. De exemplu, pentru o pălărie. Conform standardului, s-a procedat întotdeauna astfel: div id = „header”. Acum nu este nevoie de asta - a apărut containerul antet. Da etichetă asociatăși tot conținutul antetului este plasat în el.
Cu toate acestea, aceasta nu înseamnă că o clasă sau un identificator nu pot fi atașate acestuia. Desigur, este posibil și ei vor face acest lucru. Antetul are un rol puțin mai mare decât doar containerul pentru antetul principal al site-ului.
Dacă aruncați o privire mai atentă la conținutul unei știri sau al unui articol pe aproape orice resursă web, veți găsi nu numai text, ci și câteva Informații suplimentare. De exemplu, numărul de vizualizări, aprecieri, numărul de comentarii, introducerea articolului, concluziile, data publicării și multe altele. Este diferit pe fiecare site.
Deci, despre ce vorbesc? Un articol (știri, recenzie etc.) poate avea și propriul antet, propria sa parte finală etc. În consecință, o pagină poate avea mai multe anteturi, fiecare cu propria sa clasă.
Apropo, subsolul site-ului, partea de jos, este format în html5 cu eticheta footer. Acest lucru va fi evident pentru dvs. dacă ați creat cel puțin câteva layout-uri tipice - aceasta este clasa care este de obicei dată acestui bloc.
Acum despre meniu. Anterior, nici nu avea un container propriu, unic, care să-l distingă. De asemenea, a fost format folosind div. Desigur, pentru asta element important Pagina a venit și cu propria etichetă – nav (navigation). De asemenea, nu trebuie să fie doar unul pe pagină - pe unele resurse web puteți vedea mai multe diferite meniuriși totuși, în sensul său, se recomandă includerea celor mai multe legături importante Pe pagina.
Ați observat vreodată cât de diferit poate fi conținutul principal de ceea ce apare în bara laterală? Dacă vă gândiți bine, acestea sunt în general diferite secțiuni ale șablonului. Asta e - secțiuni! Cu siguranță dezvoltatorii specificației html5 au gândit la fel, așa că au creat eticheta de secțiune. A lui sens general este că conține o parte din document (secțiune), în general independentă de altele, care poate avea propriul titlu etc.
Exemplu de markup nou
Bine, am aflat deja despre câteva elemente noi, să încercăm să facem markup folosindu-le.
Un capacMeniu principal Bara laterală
Titlu
Articolul în sine
<
header
>Un capac<
/
header
>
<
nav
>Meniu principal<
/
nav
>
<
section
id
=
“sidebar
”>Bara laterală<
/
section
>
<
section
id
=
“content
”>
<
h1
>Titlu<
/
h1
>
<
aside
>Informații secundare restul articolului<
/
aside
>
<
article
>Samastya<
/
article
>
<
/
section
>
<
footer
>subsol<
/
footer
>
Desigur, acesta este un exemplu foarte simplu. În realitate, la aceste elemente se adaugă unele clase de stil. Aici am folosit două etichete complet noi – articol și deoparte. După cum înțelegeți, eticheta articolului denotă informațiile principale de pe pagină și exclusiv textul acesteia.
Lucruri importante, cum ar fi data publicării sau numărul de comentarii, ar trebui plasate separat în blocul de lângă. Este creat pentru a plasa în el informații care nu sunt principale și au o importanță secundară față de cea principală.
Desigur, data publicării este importantă, dar nu are nimic de-a face cu sensul articolului în sine. De aceea este recomandat să-l încadrezi într-o altă etichetă. De fapt, aceste recomandări nu sunt obligatorii. De exemplu, dacă includeți întregul articol cu data, numărul de vizualizări și alte informații secundare în eticheta articolului, nu se va întâmpla nimic rău. Aș spune chiar că nu se va întâmpla nimic, trebuie doar să te străduiești să o faci mai corect.
În cele din urmă, dacă vorbim despre oră (data), atunci este indicat să o includem într-o nouă etichetă de timp. Acest lucru va permite browserului să o trateze de fapt ca pe o dată și nu doar ca un element aleatoriu din pagină.
Desigur, marcajul prezentat mai sus este doar un exemplu, fiecare site real este diferit. De exemplu, în orice secțiune puteți adăuga un antet și un subsol - acestea vor indica începutul și sfârșitul secțiunii informațiile secundare pot fi situate sub articolul în sine, și nu deasupra. Există multe opțiuni diferite aici și ne uităm doar la structura blogului pe alte tipuri de resurse web, totul poate fi complet diferit. De exemplu, iată o altă opțiune de markup și are, de asemenea, dreptul la viață:
Așadar, așa de repede am trecut prin structura html5 - noile etichete ale acestei specificații, care ajută la ca markupul unei pagini web să fie mult mai ușor de înțeles. Abonați-vă la blogul nostru dacă doriți să continuați să învățați despre construirea site-ului web.
Sunt forțat să mă uit la o grămadă de pagini HTML5 și, desigur, la codul lor sursă. În acest articol, vă voi spune despre erorile și markupurile discutabile pe care le văd adesea și vă voi explica cum să le evit.
Nu folosi ca ambalaj pentru decor
Una dintre cele mai frecvente probleme pe care le văd adesea în marcarea site-ului web este înlocuirea arbitrară a elementelor
elemente structurale din HTML5, în special înlocuirea ambalajului de design cu . În XHTML sau HTML4 aș vedea ceva de genul acesta:
Pagina mea super duper
In schimb vad asta:
Sincer, acest lucru este greșit: - Acest nu un ambalaj. Element definește o secțiune semnificativă de conținut pentru a crea o structură a documentului. Trebuie să conțină un titlu. Dacă sunteți în căutarea unui element în care să împachetați întreaga pagină stil HTML sau XHTML), luați în considerare aplicarea stilurilor direct elementului , așa cum este descris de Kroc Kamen. Dacă mai aveți nevoie de ambalaj suplimentar, utilizați
. Din moment ce dr. Mike explică asta
nu a murit și nu puteți găsi nimic mai reușit, poate că acest element va fi cel mai potrivit pentru a crea un ambalaj de design.
Astfel, marcajul corect pentru exemplul menționat mai sus folosind HTML5 și o pereche de roluri ARIA ar fi următorul cod. Vă rugăm să rețineți că, în funcție de design, este posibil să aveți nevoie de elemente suplimentare
.
Pagina mea super duper
Dacă nu sunteți sigur ce elemente să utilizați, vă recomand să consultați ghidul nostru pas cu pas pentru alegerea elementelor HTML5 pentru a marca conținutul.
Utilizare Și conştient
Element eliminat din specificația HTML5 și nu este recomandat pentru utilizare, aproximativ editor.
Nu are rost să scrieți markup dacă nu trebuie, nu? Din păcate, văd adesea elemente Și unde nu sunt deloc necesare. Poți afla toate detaliile în articolele noastre dedicate elementului și element , dar voi rezuma pe scurt:
Element reprezintă un grup de conținut introductiv sau ajutoare de navigare și conține de obicei un titlu structural.
Element grupează un set de elemente din
inainte de
, reprezentând o rubrică structurală în cazul în care titlul are mai multe niveluri, cum ar fi subtitluri, nume alternative sau sloganuri.
Abuz
Cred că ești conștient de asta poate fi folosit de mai multe ori într-un document. Dar această caracteristică a dus la următoarele erori:
Cel mai bun post al meu
Dacă ale tale conține un singur antet, scăpați de cele inutile . Element în orice caz, garantează că titlul va fi inclus în structura semantică a documentului. Și de când nu conține mai multe elemente, așa cum este indicat în descrierea sa, de ce aveți nevoie de cod care, în general, nu este necesar? Nu te complica:
Cel mai bun post al meu
Folosire greșită
În timp ce vorbim despre titluri, adesea le văd folosite incorect. . Nu ar trebui folosit in combinatie cu în cazul în care:
există un singur antet copil sau
element va fi suficient fără .
Prima problemă arată astfel:
Cel mai bun post al meu
Richard Clark
În acest caz, ar trebui să scapi de el si lasa doar titlul:
Cel mai bun post al meu
Richard Clark
Următoarea problemă este utilizarea repetată a elementelor în care acestea sunt opționale:
Compania mea
Fondată în 1893
Când este singurul element copil , atunci ce rost are asta ? Dacă nu există elemente suplimentare adiacente acestuia , simțiți-vă liber să scăpați de .
Compania mea
Fondată în 1893
Mai multe cazuri de utilizare puteți găsi .
Nu includeți toate listele de linkuri
Cu peste 30 de elemente noi la momentul scrierii, nu este de mirare că suntem confuzi când vine vorba de crearea unui marcaj structural semnificativ. Prin urmare, nu ar trebui să folosiți în exces toate elementele super-semantice disponibile în prezent. Ceea ce, din păcate, se întâmplă adesea cu elementul . Specificația definește rolul in felul urmator:
Element reprezintă o parte a unei pagini care face linkuri către alte pagini sau părți ale celei curente, adică o secțiune cu link-uri de navigare.
Notă: nu toate grupurile de link-uri dintr-o pagină trebuie să fie împachetate într-un element - acest element este destinat în principal grupării principalelor blocuri de navigație. În special, subsolurile conțin adesea liste scurte de link-uri către diferite părți ale site-ului, cum ar fi regulile de utilizare a serviciului, pagina principalași drepturi de autor. element
Expresia cheie este „blocuri principale de navigare”. Putem dezbate toată ziua despre semnificația cuvântului „principal”, dar pentru mine înseamnă:
Navigare internă (printr-un articol lung, de exemplu).
Deși s-ar putea să nu existe o utilizare „corectă” sau „greșită” aici, un sondaj obișnuit cuplat cu propria mea interpretare sugerează că următoarele cazuri nu este potrivit pentru utilizare :
Navigare în pagină;
Linkuri sociale, cu excepția cazului în care astfel de link-uri reprezintă navigarea principală, de exemplu, pe site-urile Despre mine și Flavours;
Etichete de postare de blog;
categorii de înregistrare;
Navigare de nivel al treilea;
Subsolurile pline de link-uri.
Dacă nu ești sigur dacă să închei lista de link-uri , întreabă-te doar: „este navigarea lucrul principal?” Pentru a facilita răspunsul la această întrebare, consultați următoarele reguli:
"Nu folosi , dacă se pare că în acest caz ar putea fi potrivit cu titlu „- Ian Hickson, IRC.
Veți adăuga acest bloc la lista de link-uri „urmăriți” pentru a îmbunătăți accesibilitatea?
Dacă răspunsul la ambele întrebări este „nu”, atunci cel mai probabil nu este .
Erori de elemente comune
Oh, . Utilizarea corectă a acestui element împreună cu un complice nu atât de ușor de stăpânit. Să ne uităm la unele probleme comune pe care îl văd când îl folosesc .
Nu orice imagine este
Mai devreme te-am sfătuit să nu scrii cod inutil acolo unde nu este necesar. Aceeași eroare aici. Am văzut site-uri în care fiecare imagine a fost înfășurată . Nu este nevoie să adăugați un marcaj suplimentar în jurul imaginilor doar de dragul acesteia. Doar faceți o muncă suplimentară și nu îmbunătățiți deloc descrierea conținutului paginii.
Specificația înseamnă ca „conținut dintr-un flux, cu un titlu opțional, de sine stătător, denumită de obicei o unitate de sens în textul principal”. Aceasta este tocmai frumusețea elementului , care poate fi mutat din conținutul principal într-o coloană, de exemplu, fără a afecta fluxul principal al documentului.
Dacă aceasta este pur și simplu o imagine de design, care nu este menționată în niciun fel în documentul principal, atunci cu siguranță nu este . Există și alte utilizări, dar doar întrebați-vă: „Este necesară această imagine pentru intelegere mai buna context? Dacă nu, atunci probabil că nu este , și poate
Logo-ul tău nu este
Să trecem la următoarea problemă; regulile de mai sus se aplică și în cazul acesteia. Iată câteva exemple întâlnite în mod regulat:
Numele companiei
Nu este nimic de adăugat aici: acest lucru este complet greșit. Ne putem certa până când suntem albaștri în fața dacă logo-ul ar trebui să fie înăuntru
, dar nu pentru asta suntem aici. Adevărata problemă- abuzat . Acest element ar trebui utilizat numai dacă este menționat în documentul sau contextul generalului element structural. Este corect să spunem că logo-ul tău este puțin probabil să fie menționat în acest fel. Doar nu o face. Tot ce ai nevoie este:
Numele companiei
Element - nu sunt doar poze
O altă concepție greșită comună despre - că poate fi folosit doar pentru poze. Este gresit. Element ar putea fi un videoclip, un audio, un grafic (în SVG, de exemplu), un citat, un tabel, un bloc de cod, o bucată de text sau orice combinație a acestora și a multor alte elemente. Nu limitați utilizarea doar poze. Sarcina noastră ca pasionați de standarde web este să folosim markup pentru a descrie conținutul cât mai precis posibil.
În acest articol, vom analiza ce elemente trebuie să utilizați atunci când construiți structura de bază a unui document HTML.
Daca te uiti pe site" HTML5 Herald", veți vedea că este împărțit astfel:
antetul site-ului cu logo și titlu;
bară de navigare;
conținutul corpului este împărțit în trei coloane;
articole și blocuri publicitare în coloane;
subsolul site-ului care conține informații despre autor și drepturile de autor.
Înainte de a defini pentru ce elemente HTML sunt potrivite părți diferite pagini, să ne uităm la o serie de alte probleme. În primul rând, vom arunca o privire la câteva elemente semantice HTML5 noi pe care le puteți folosi pentru a vă despărți pagina și a face structura documentului mai semnificativă.
element antet
Primul element de structură HTML pe care îl vom analiza este elementul antet. Specificația îl descrie pe scurt - „ grup de elemente introductive sau de navigare».
Contrar credinței, puteți folosi antetul pentru a introduce fiecare secțiune de conținut. Când folosim cuvântul „secțiune” aici, nu ne limităm la secțiuni împărțite de elementul secțiune. Tehnic vorbim despre ceea ce în HTML5 se numește „ continut sectional" Aceasta înseamnă orice conținut care ar putea avea nevoie de propriul titlu, chiar dacă acest lucru ar duce la mai multe părți de conținut pe aceeași pagină.
Elementul antet poate fi folosit pentru a include conținut introductiv sau ajutoare de navigare care sunt specifice oricărei secțiuni a paginii sau se aplică întregii pagini.
Deși elementul antet este adesea plasat în partea de sus a unei pagini sau secțiuni, definiția sa este independentă de poziție. Structura site-ului poate specifica faptul că titlul unui articol sau postare de blog poate fi plasat în dreapta, stânga sau chiar sub conținut. Indiferent, puteți folosi în continuare antetul pentru a vă descrie conținutul.
element de secțiune
Specificație îl definește astfel:
Element secțiune reprezintă o secțiune generală a unui document sau aplicație. Secțiunea în acest context este grup tematic conținut, de obicei cu un titlu.
Mai mult, clarifică faptul că secțiunea nu ar trebui folosită ca un container pentru a adăuga stiluri sau scripturi. Dacă nu putem folosi secțiunea ca container general - de exemplu pentru a obține aspectul dorit prin CSS - ce ar trebui să folosim pentru asta? Acest lucru ne va ajuta element div, care nu are un sens semantic specific.
Revenind la definiția din specificație, conținutul elementului de secțiune trebuie să fie „tematic”, deci este incorect să îl folosiți pentru a grupa părți de conținut care nu au legătură.
Câteva exemple de utilizare corectă a elementului secțiune într-o structură de pagină HTML:
secțiuni separate ale interfeței cu file;
segmentele paginii „Despre noi” pot include secțiuni dedicate istoriei companiei;
diverse părți pagină lungă « Termenii serviciului»;
diferite secțiuni ale unui site de știri online – articolele pot fi grupate în secțiuni dedicate știrilor din sport, politică și economică.
Utilizarea corectă a secțiunii
De fiecare dată când un nou marcaj semantic este prezentat designerilor web, va exista o discuție despre ce este utilizarea corectă aceste elemente, care a fost scopul introducerii lui în caietul de sarcini etc.
Scurt:
secțiunea este un element generic, deci dacă este necesar un element semantic mai specific ( de exemplu articol , deoparte sau nav), utilizati-le.
secțiunea are sens semantic. Aceasta înseamnă că conținutul pe care îl conține este legat. Dacă nu puteți descrie succint tot conținutul pe care doriți să îl adăugați la o secțiune în doar câteva cuvinte, atunci trebuie să utilizați un container neutru din punct de vedere semantic - umilul div.
În unele cazuri există loc pentru interpretare liberă. Dacă simți că are sens să folosești acest element, nu celălalt, fă-o. Chiar dacă cineva te critică pentru asta, discuția care apare ca urmare poate fi interesantă și educativă pentru toți cei implicați.
Structura site-ului HTML permite elementelor de secțiune să fie imbricate în elementele de secțiune existente, dacă este necesar. De exemplu, pentru un site de știri, secțiunea World News ar putea fi împărțită în secțiuni pentru fiecare regiune majoră.
element articol
Elementul articol este similar cu elementul secțiune în multe privințe, dar există diferențe semnificative. Definiția specificației citeste:
Element articolul este o colecție completă sau autonomă într-un document, pagină, aplicație sau site web. Poate fi distribuit sau reutilizat independent.
Punctele cheie ale acestei definiții sunt autonome și distribuite independent. În timp ce o secțiune poate conține orice conținut care poate fi grupat tematic, un articol ar trebui să fie o singură bucată de conținut care poate fi folosită pe cont propriu. Această distincție poate fi dificil pentru tine de a discerne.
Așa că atunci când aveți dubii, încercați să testați sindicarea: dacă un conținut poate fi republicat pe alt site fără modificare sau dacă poate fi postat ca actualizare prin RSS, are atributele unui articol.
mesaj pe forum;
articol de revistă sau de ziar;
postare pe blog;
un comentariu lăsat de un utilizator pe un blog sau articol.
Ca și în cazul secțiunii , elementele articolului pot fi imbricate în alte elemente ale articolului. De asemenea, puteți imbrica un element de secțiune în interiorul unui articol și invers.
element de navigare
Se poate presupune că elementul nav va fi folosit în aproape fiecare structură fișier HTML. Reprezintă ceea ce se pretinde a fi: un grup link-uri de navigare. Deși cea mai obișnuită utilizare pentru nav ar fi plasarea liste cu marcatori link-uri. Există și alte opțiuni. De exemplu, puteți încadra un element de navigare în jurul unui paragraf de text care conține legăturile principale de navigare ale unei pagini sau ale unei secțiuni.
În orice caz, elementul nav ar trebui să fie rezervat navigației, iar aceasta este importanța sa primordială. Se recomandă evitarea folosirii nav pentru lista finaliștilor link-uri plasate în subsolul site-ului.
Notă: Omiteți linkurile de navigare
O soluție pe care ați văzut-o folosită pe multe site-uri este linkul „ omite navigarea". Ideea este de a permite utilizatorilor cititorului de ecran să sară rapid navigarea principală a site-ului dacă l-au ascultat deja.
De fiecare dată când mergi la pagina noua nu are rost sa asculti meniul principal de navigare al site-ului! Elementul de navigare poate ajuta la rezolvarea acestei probleme. Dacă cititor de ecran vede elementul de navigare, poate permite săriți navigarea fără a necesita un link suplimentar. Caietul de sarcini spune:
« Agenți utilizatori ( de exemplu, cititoare de ecran), destinat utilizatorilor care ar putea beneficia de informațiile de navigare omise în redarea inițială sau care ar beneficia de acces imediat la informațiile de navigare, pot folosi elementul ca o modalitate de a determina ce conținut dintr-o pagină să o săriți mai întâi sau să furnizeze la cerere».
Notă. Agenți utilizatori
Când studiați specificația structurii HTML 5, veți întâlni termenul „ agent utilizator" Se referă la browserul pe care un utilizator îl folosește pentru a accesa conținutul unei pagini web. Motivul pentru care specificația nu spune doar „browser” este că agenții utilizatori pot include cititoare de ecran sau alte ajutoare tehnologice.
Puteți folosi nav de mai multe ori pe o pagină. Dacă aveți o bară de navigare a site-ului principal, aceasta este învelită într-un element de navigare. În plus, dacă există un set secundar de legături care indică către diferite părți pagina curenta, poate fi, de asemenea, învelit într-un element de navigare.
Unii dezvoltatori cred că nav este potrivit pentru paginare sau linkuri " firimituri de pâine" Și, de asemenea, pentru formularul de căutare, care este principalul mijloc de navigare pe site.
Această decizie depinde în cele din urmă de tine. Ian Hickson, redactor-șef al specificației HTML5 WHATWG, a răspuns direct la această întrebare: „ Folosiți [it] acolo unde ați folosi class=nav».
element de o parte
Reprezintă partea din pagină care „ este asociat cu conținutul din jurul elementului aparte și poate fi considerat separat de acel conținut».
Elementul de o parte poate fi folosit pentru a împacheta o bucată de conținut care este relevantă pentru:
Conținut specific ( de exemplu, articol sau secțiune);
O pagină sau un document întreg, așa cum se face de obicei atunci când adăugați o bară laterală la o pagină sau un site.
Elementul de o parte nu trebuie utilizat pentru a încheia secțiuni ale unei pagini care fac parte din conținutul principal.
Cu alte cuvinte, deoparte nu ar trebui să fie elementul părinte principal. conținutul deoparte poate sta de la sine, dar tot trebuie să facă parte dintr-un întreg mai mare.
Opțiuni pentru utilizarea elementului deoparte în structura indexului html: panou lateral, lista suplimentara link-uri sau bloc de publicitate. De asemenea, trebuie remarcat faptul că elementul aparte (cum este cazul elementelor antet) nu este determinată de poziția sa pe pagină. Poate fi amplasat în lateral sau în alt loc.
element de subsol
Ca și în cazul elementului antet, pot exista mai multe elemente de subsol pe aceeași pagină și ar trebui să utilizați în schimb subsol