Përmbajtje
Hierarkia e titujve (H1–H6)
Titujt duhet të zbresin nivel pas niveli pa kërcime; mjeti kap kërcimet si H2 drejt H4.
Çfarë është
Titujt nga <h1> te <h6> ndërtojnë skeletin e dokumentit. Niveli tregon thellësi: një <h3> është nënçështje e <h2>-shit mbi të, i cili është nënçështje e <h1>-shit.
Kërcim quhet kalimi nga një nivel te një nivel më i thellë se një hap — për shembull nga <h2> drejt e te <h4>. Kthimi lart nuk është kërcim: pas një <h4> një <h2> i ri është krejt i rregullt, sepse mbyll një seksion dhe hap një tjetër.
Pse ka rëndësi
Përdoruesit e lexuesve të ekranit lundrojnë nëpër faqe me listën e titujve — është ekuivalenti i shikimit të shpejtë me sy. Kur niveli kërcen, ajo listë tregon një strukturë që nuk ekziston: lexuesi pret një nënseksion të <h3>-shit që nuk u shkrua kurrë dhe nuk e di nëse humbi diçka.
Për motorët, hierarkia ndihmon në kuptimin se cila pjesë e faqes i përket cilës temë. Kjo është veçanërisht e rëndësishme te faqet e gjata, ku motori mund të nxjerrë vetëm një seksion si përgjigje të drejtpërdrejtë.
Shkaku më i shpeshtë i kërcimeve është zgjedhja e nivelit sipas pamjes: dizajneri donte tekst më të vogël, zhvilluesi zgjodhi <h4> sepse ashtu dukej mirë. Kjo e prish strukturën për të fituar një gjë që CSS-ja e jep falas.
Si rregullohet
Zbrit nivel pas niveli:
<h1>Riparim laptopësh</h1>
<h2>Ekrane</h2>
<h3>Ndërrim ekrani IPS</h3>
<h3>Riparim menteshash</h3>
<h2>Tastiera</h2>
<h3>Pastrim pas derdhjeje lëngu</h3>Hapat:
- Zgjidh nivelin nga struktura, madhësinë nga CSS-ja.
h3 { font-size: 1rem }është krejt i pranueshëm. - Kontrollo shabllonet e ripërdorshme. Një komponent "kartë" me
<h3>të fiksuar prish hierarkinë sapo vendoset nën një<h1>. - Mos përdor tituj për tekst që nuk është titull. Një paragraf i theksuar është
<p>me<strong>, jo<h4>. - Shiko listën e titujve me mjetin e inspektimit të shfletuesit ose me një shtojcë aksesueshmërie — nëse ajo listë lexohet si përmbajtje e një libri, struktura është e drejtë.
Si e mat ky mjet
Dy analizues e bëjnë të njëjtin kontroll me algoritëm pothuajse identik. ContentAnalyzer::analyzeHeadings() (services/ContentAnalyzer.php:91) kalon nëpër titujt e mbledhur dhe ndalon te kërcimi i parë ku niveli > nivelIParaardhes + 1; nëse gjen një, jep paralajmërim. AccessibilityAnalyzer::checkHeadingOrder() (services/AccessibilityAnalyzer.php:98) bën të njëjtën gjë veçmas dhe prodhon një konstatim të dytë (:126).
Pra një faqe me kërcim titujsh e merr konstatimin dy herë në raport.
Çfarë NUK e mat
Rendi i titujve nuk merret sipas rendit të dokumentit por sipas nivelit: kodi kërkon fillimisht të gjitha //h1, pastaj të gjitha //h2, e kështu me radhë, dhe i shton në listë sipas asaj radhe. Kjo do të thotë se listë e krahasuar nuk është rendi real i faqes, prandaj disa kërcime të vërteta nuk kapen dhe disa rende të rregullta mund të duken të thyera.
Kontrolli ndalon te kërcimi i parë dhe nuk raporton sa janë gjithsej, as ku ndodhen. Titujt e krijuar me role="heading" nuk numërohen. Dhe dublimi midis dy analizuesve e fryn numrin e problemeve në raport pa shtuar informacion.
Kodi që e kryen matjen
services/ContentAnalyzer.php:91— heading_skipservices/AccessibilityAnalyzer.php:98— AccessibilityAnalyzer::checkHeadingOrder