TakéHierarchie nadpisů, Osnova nadpisů, H1-H6, Heading hierarchyZákladní

Definice

Nadpisová struktura je hierarchické uspořádání nadpisů h1 až h6 na stránce, které vyjadřuje vztah nadřazenosti a podřazenosti mezi jejími částmi. Slouží čtečkám obrazovky k rychlé navigaci, vyhledávačům k pochopení tématu a autorům jako kostra textu. Správná struktura postupuje po úrovních bez přeskakování a odráží obsah, nikoli vzhled písma.

Kategorie: Webové technologieAktualizováno

Co nadpisy sdělují stroji

Nadpisová struktura funguje jako obsah knihy zapsaný přímo do značkování. Prohlížeč z prvků h1h6 sestaví osnovu dokumentu: každý nadpis otevírá sekci, která trvá až do dalšího nadpisu stejné nebo vyšší úrovně. Uživatel čtečky obrazovky si tuto osnovu může vyvolat jako seznam a přeskočit rovnou k části, která ho zajímá. Podle průzkumů mezi uživateli asistivních technologií patří nadpisy k nejčastěji používanému způsobu orientace na stránce, hned vedle odkazů.

Pravidla, která drží osnovu pohromadě

Základních pravidel je málo a jsou snadno ověřitelná. Úrovně se zanořují postupně: po h2 následuje h3, nikdy rovnou h4. Naopak vracet se o několik úrovní zpět je v pořádku, protože tím jen uzavíráte hlubší sekce. Nadpis popisuje obsah pod sebou, ne velikost písma; pokud potřebujete menší text, patří to do CSS, ne do volby úrovně.

Kolem h1 panuje nejvíc otázek. Bezpečná a nejrozšířenější praxe je jeden h1 na stránku, který nese hlavní téma. HTML sice připouští, aby každá sekce section nebo article začínala vlastním nadpisem nejvyšší úrovně, ale prohlížeče ani čtečky z toho spolehlivě nedopočítají zanoření, takže se na to nespoléhá.

Kde se struktura nejčastěji rozpadá

Problémy vznikají tam, kde se stránka skládá z komponent. Karta produktu s nadpisem h3 vypadá správně v přehledu, ale po vložení do postranního panelu detailu se ocitne uvnitř jiné hierarchie. Řešením bývá předávat úroveň nadpisu jako parametr komponenty, případně ji odvodit z kontextu.

Druhým zdrojem chaosu jsou redakční systémy, kde autoři vybírají styl podle vzhledu. Vzniknou dokumenty s pěti prvky h1 a bez jediného h2. Kontrola je přitom triviální: většina prohlížečů má rozšíření zobrazující osnovu, validátor W3C hlásí přeskočené úrovně a v DOM si osnovu vytáhnete jediným dotazem.

Vliv na vyhledávání a generativní odpovědi

Vyhledávače používají nadpisy jako signál o tématu sekce, ne jako přímý faktor pořadí. Praktický přínos je jinde: dobře pojmenovaný nadpis odpovídá na konkrétní dotaz a stává se kandidátem na úryvek nebo citaci v odpovědi jazykového modelu. Stejnou logiku využívají nástroje pro extrakci obsahu, které stránku dělí na bloky právě podle nadpisů.

Z toho plyne doporučení pro formulaci: nadpis má být tvrzení nebo otázka, které dávají smysl samostatně. „Postup“ nebo „Detaily“ mimo kontext nesdělí nic, kdežto „Jak se počítá lhůta pro vrácení zboží“ funguje i vytržený ze stránky.

Nadpisy versus vizuální titulky

Ne každý zvýrazněný text je nadpis. Slogan v hlavičce, popisek u obrázku nebo název tlačítka jsou vizuální prvky, které v osnově jen překážejí. Naopak skrytý nadpis pro sekce jako navigace nebo patička může uživatelům čtečky pomoci, pokud jej necháte dostupný asistivním technologiím a jen jej vizuálně odsunete mimo obrazovku.

Příklady z praxe

  1. Přeskočená úroveň v článku

    Autor v redakčním systému zvolil pro mezititulek styl s menším písmem, čímž vznikl h4 přímo pod h2. Validátor i audit přístupnosti to označí jako přeskočenou úroveň. Oprava je čistě sémantická: změnit úroveň na h3 a rozdíl ve velikosti písma vyřešit v CSS.

    <!-- špatně -->
    <h2>Doprava a platba</h2>
    <h4>Osobní odběr</h4>
    
    <!-- správně -->
    <h2>Doprava a platba</h2>
    <h3>Osobní odběr</h3>
  2. Komponenta s nastavitelnou úrovní

    Karta produktu se v React aplikaci objevuje v přehledu i v postranním panelu detailu, kde patří o úroveň hlouběje. Místo natvrdo zapsaného h3 přijímá komponenta úroveň jako prop a nadpis vykreslí dynamicky. Struktura pak zůstane platná v obou kontextech.

    function ProductCard({ title, level = 3 }) {
      const Heading = `h${level}`;
      return (
        <article>
          <Heading>{title}</Heading>
        </article>
      );
    }

Časté omyly

MýtusNa stránce smí být jen jeden h1, jinak přijdou postihy od Googlu.
Ve skutečnostiJeden h1 je doporučená praxe kvůli srozumitelnosti osnovy, ale HTML více nadpisů první úrovně povoluje a vyhledávače za ně netrestají. Skutečné riziko je zmatená hierarchie pro uživatele čteček obrazovky.
MýtusNadpis se vybírá podle toho, jak velké chci písmo.
Ve skutečnostiÚroveň nadpisu vyjadřuje pozici v hierarchii obsahu, vzhled řeší CSS. Volba podle velikosti písma vede k přeskočeným úrovním a nepoužitelné osnově pro asistivní technologie.
MýtusKlíčová slova v nadpisech přímo zvedají pozici ve vyhledávání.
Ve skutečnostiNadpisy pomáhají vyhledávači porozumět struktuře a tématu sekce, ale nejsou samostatným faktorem pořadí. Přeplnění klíčovými slovy zhoršuje čitelnost a nepřinese žádný měřitelný zisk.

Časté dotazy

Vadí, když stránka začíná h2 místo h1?
Nadpisová struktura bez h1 není chybou podle validátoru HTML, ale připravuje uživatele o jasné pojmenování hlavního tématu stránky. Čtečka obrazovky pak nemá kotvu, od které se hierarchie odvíjí, a vyhledávač si musí téma odvodit z titulku dokumentu nebo z obsahu. Praktické doporučení zní začít jedním h1, který odpovídá tomu, o čem stránka skutečně je, a teprve pod ním používat h2 pro jednotlivé sekce. Výjimkou bývají fragmenty vkládané do jiných stránek, kde nejvyšší úroveň určuje hostitelský dokument.
Jak rychle zkontroluji nadpisovou strukturu existující stránky?
Nadpisovou strukturu ověříte třemi nezávislými způsoby. Validátor W3C upozorní na hrubé prohřešky ve značkování. Rozšíření prohlížeče pro audit přístupnosti, například nástroje postavené na knihovně axe, zobrazí osnovu a označí přeskočené úrovně. Nejrychlejší je konzole prohlížeče: dotazem na všechny prvky h1 až h6 si vypíšete jejich pořadí i text a hned uvidíte, kde hierarchie skáče. Pro průběžnou kontrolu se stejný test dá zapsat jako automatizovaný krok v CI, aby regrese neproklouzla do produkce.
Můžou být nadpisy skryté, aby nenarušily design?
Skryté nadpisy jsou legitimní technika, pokud zůstanou dostupné asistivním technologiím. Sekce jako navigace, filtry nebo patička často nemají vizuální titulek, ale uživatel čtečky obrazovky ocení, když je v osnově najde pojmenované. Nadpis se proto ponechá v kódu a odsune se mimo viditelnou oblast pomocí CSS třídy typu visually-hidden. Zásadní je nepoužít display none ani visibility hidden, protože ty prvek odstraní i z přístupnostního stromu a nadpis tím ztratí smysl.
Jak řešit úrovně nadpisů v komponentových frameworcích?
V komponentových frameworcích nelze úroveň nadpisu zapsat natvrdo, protože stejná komponenta se objeví v různě hlubokém kontextu. Osvědčují se dva postupy. Prvním je předat úroveň jako vlastnost komponenty a nadpis vykreslit dynamicky. Druhým je kontext, který si pamatuje aktuální hloubku a potomkům ji automaticky zvyšuje o jedna. Druhá varianta je pohodlnější u rozsáhlých stránek, ale hůř se ladí, protože výsledná úroveň není vidět na místě použití. U menších projektů obvykle stačí explicitní vlastnost s rozumnou výchozí hodnotou.

Zdroje

  1. HTML Standard(otevře se v novém okně)WHATWG
  2. Heading elements(otevře se v novém okně)MDN Web Docs
  3. Web Content Accessibility Guidelines (WCAG) 2.2(otevře se v novém okně)W3C, 2023
  4. Search Engine Optimization (SEO) Starter Guide(otevře se v novém okně)Google Search Central

Související pojmy

Potřebujete to vyřešit v praxi?

Poradíme, jak na to ve vašem projektu

Vysvětlit pojem je jedna věc, navrhnout kolem něj funkční řešení druhá. Ozvěte se a probereme, co dává smysl u vás.