@@Camping_RIDER
Ein „sollte“ statt einem „muss“ ist einfach viel sympathischer und lädt zum Nachvollziehen ein; eben Augenhöhe statt Autoritätsgefälle 😉
Ich halte recht wenig davon, die Sprache zu verwässern und bei etwas, das der Entwickler unbedingt tun sollte, zu suggerieren, es ginge auch ohne.
Würdest du bei
<!DOCTYPE html>
<html>
⋮
<frameset cols="*, *">…</frameset>
</html>
davon sprechen, dass der Entwickler als DOCTYPE HTML 4.01 Frameset
bzw. XHTML 1.0 Frameset
verwenden muss? Wenn ja, warum? Weil die HTML5-Spec (die Beschreibung der Elemente) kein frameset
-Element vorsieht, der Quelltext also nicht valide ist?
Dem ist natürlich so, aber dieser Fehler hat nicht den geringsten Einfluss auf Nutzer.
Formal ist das lang
-Attribut kein Pflichtattribut fürs html
-Element. Wenn aber die Sprache des Seiteninhalts nicht (bzw. falsch) angegeben ist, dann hat das negativen Einfluss auf die user experience.
Deshalb steht in meinem Test-Stylesheet auch:
html:not([lang]),
html:not([lang]) > body
{
ERROR: 'language of page content not declared in lang attribute on html root element';
background: var(--error-color) !important;
}
LLAP 🖖
“When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory