Zgodnie z regułami walidacji HTML5, poprawnym zapisem znacznika hr jest
</ hr><hr> nie ma znacznika zamykającego, a spacja po ukośniku jest niedozwolona.</ hr /><hr />.</hr?><hr>
Pytanie z egzaminu CKE, styczeń 2021 (arkusz EE.09-SG-21.01).
Poprawny zapis to <hr>. Znacznik linii poziomej jest elementem pustym (void element): nie ma treści ani znacznika zamykającego. W HTML5 zapisuje się go samym znacznikiem otwierającym, tak samo jak <br>, <img>, <input> czy <meta>.
Walidator HTML5 przyjmuje też formę <hr /> (ze spacją i ukośnikiem przed nawiasem), zgodną z dawnym XHTML, ale ukośnik niczego nie zmienia i współcześnie się go pomija. W HTML5 <hr> oznacza zmianę tematu w treści, na przykład między scenami opowiadania, a wygląd linii ustala się w CSS, na przykład hr { border-top: 2px solid gray; }.
Poprawność zapisu sprawdza walidator W3C dostępny pod adresem validator.w3.org.
Wszystkie błędne zapisy mają ukośnik na początku, czyli wyglądają jak znaczniki zamykające. Zapis </ hr> to znacznik zamykający ze spacją po ukośniku - błędny podwójnie, bo element <hr> w ogóle nie ma znacznika zamykającego, a spacja w tym miejscu jest niedozwolona.
W zapisie </hr?> znak zapytania nie należy do żadnej składni HTML; przypomina znacznik PHP, ale nim nie jest.
Zapis </ hr /> miesza znacznik zamykający z ukośnikiem z XHTML. Poprawna forma XHTML to <hr />, bez ukośnika na początku.
Reguła dla elementów pustych w HTML5: piszemy tylko znacznik otwierający. Dla linii poziomej daje to zapis <hr>, który walidator przyjmuje bez ostrzeżeń.
Najprościej sprawdzić to w walidatorze W3C: tylko zapis bez ukośnika na początku przechodzi bez błędów, a znaczniki zamykające elementu pustego są zgłaszane jako błąd.