[XHTML] Validierungsfehler wegen lang Attribut - verstehe ich nicht

Phil S.

Vice Admiral Special
Mitglied seit
26.12.2001
Beiträge
802
Renomée
5
Standort
Mittelfranken
Hallo,

habe gerade eine Seite von mir sowohl im W3C Validator als auch bei validome laufen lassen. Da kommen drei Fehler raus die ich nicht verstehe. Die Fehler sind:
  1. Im Tag span ist das Attribut `lang` nicht erlaubt.
  2. Im Tag a ist das Attribut `lang` nicht erlaubt.
  3. Im Tag em ist das Attribut `lang` nicht erlaubt.

Kann mir das wer erklären? Ich dachte das Lang Attribut ist überall erlaubt. Und warum jetzt gerade bei diesen Tags nicht? In anderen (z.B. li) wird es erlaubt. Wie soll ich denn sonst einem Screenreader bei folgendem Beispiel deutlich machen, dass er die ersten beiden Wörter englisch aussprechen soll?
HTML:
<h1>
		<span lang="en-GB">PlanetCreativ -</span>
		Kreativ sein heißt - über Grenzen zu blicken!!
</h1>

Edit:

Ach F***. Okay, unter XHTML Strict ist es xml:lang. Dachte das lang Attribut gibts trotzdem noch. Mist verdammt, muss ich in meinem Blog meine ganzen Einträge noch ändern... *ärger* *fluch*

Ich lass den Thread mal stehen, vielleicht hat jemand mal das gleiche Problem.
 
Zuletzt bearbeitet:
Edit:

Ach F***. Okay, unter XHTML Strict ist es xml:lang. Dachte das lang Attribut gibts trotzdem noch. Mist verdammt, muss ich in meinem Blog meine ganzen Einträge noch ändern... *ärger* *fluch*

Ich lass den Thread mal stehen, vielleicht hat jemand mal das gleiche Problem.

Hi Phil

Da ich mich auch recht stark um "validen" und sauber strukturierten code bemühe und mich daher einigermassen auskenne, hätte ich schwören können, dass das "lang"-attribut auch bei XHTML 1.0 strict valid ist... Da ich aber nicht sicher war, bin ich der Sache jetzt mal nachgegangen. Will jetzt keine Haarspalterei betreiben - aber da es ja schonmal um Standards geht hier die FORMALE version:

1) Das "lang-" Attribut ist auch bei XHTML 1.0 strict valid und vorgesehen
2) Das W3C empfielt sogar ausdrücklich sowohl lang="xx" als auch xml:lang="xx" bei XHTML 1.0 zu verwenden, wobei xml:lang allerdings Vorrang hat.

C.7. The lang and xml:lang Attributes

Use both the lang and xml:lang attributes when specifying the language of an element. The value of the xml:lang attribute takes precedence.
&#8594; XHTML 1.0 specs #c7

3) Du hast aber recht, was XHTML 1.1 betrifft - DORT gibt es _nur_ noch das xml:lang Attribut
A. Changes from XHTML 1.0 Strict

1. On every element, the lang attribute has been removed in favor of the xml:lang attribute...
&#8594; XHTML 1.1 changes from XHTML 1.0 strict


HTML:
<h1>
        <span lang="en-GB">PlanetCreativ -</span>
        Kreativ sein heißt - über Grenzen zu blicken!!
</h1>

Ich finde es übrigens sehr vorbildlich, dass du englische/fremsprachige Begriffe mit einem eigenen lang-Attribut auszeichnest. Um ehrlich zu sein, habe ich noch gar nie darüber nachgedacht.
Ich würde mir aber überlegen, ob es wirklich nötig und v.a. sinnvoll ist dazu noch einen Country-Code anzugeben. Ein "en" reicht ja eigentlich völlig und ganz streng formal gesehen, hat der Ländercode (in diesem Beispiel: Grossbritannien) ja nichts mit dem Begriff zu tun. Daher würde ich wohl ganz auf den Countrycode verzichten und es lediglich bei "en" belassen. Ausserdem kommst du sonst vielleicht früher oder später an den Punkt, wo du komische Mischungen machen musst... z.B. bei "color code" (US-engl = color | UK-engl = colour).

Aber wie gesagt - sehr ambitioniert, denn schliesslich erfodert es hohe Disziplin, die lang-Attribute ständig zu berücksichtigen - gerade wenn es um IT-Begriffe geht, wo ständig Anglizismen vorkommen, welche in die deutsche Sprache Einzug gehalten haben, ohne dass es eigentlich ein deutsches Wort dafür gäbe.

Und der wichtigste Teil meines Postings zum Schluss!
Herzlichen Glückwunsch zur absolut gelungenen Seite, die optisch wie auch inhaltlich etwas her gibt und wie bereits erwähnt sehr sauber strukturiert aufgebaut ist!
(Was verwendest du eigentlich für ein Blog-System? Ein Std.Wordpress ist es ja nicht.. .Hast du da was selbst-gestricktes am Laufen?)
 
Zuletzt bearbeitet:
Hi Feelx,

Ich finde es übrigens sehr vorbildlich, dass du englische/fremsprachige Begriffe mit einem eigenen lang-Attribut auszeichnest. Um ehrlich zu sein, habe ich noch gar nie darüber nachgedacht.
Danke für das Lob.
Ich habe das gelernt, als ich mich viel mit Zugänglichkeit von Webseiten beschäftigt habe. Screenreader beachten den Sprachwechsel und lesen dann z.B. auch statt "new" richtigerweise "niu". Ich denke, dass es auf Zukunft gesehen auch für Benutzer sinnvoll wird, die nicht auf Screenreader angewiesen sind. Auf dem Erlanger Webkongress habe ich z.B. gelernt gegenüber Kunden weniger mit den Belangen von Behinderten zu argumentieren (weil die meisten diese Gruppe leider als zu unwichtig ansehen), sondern auf die nächste Generation von Boardcomputern in Autos zu verweisen. Wenn also ein Außendienstmitarbeiter zum Kunden fährt, kann er sich die Webseite des Kunden noch einmal vorlesen lassen und sich z.B. über die Anfahrt oder die Firmenhistorie oder die Produkte noch etwas schlau machen. Da kommt es natürlich auch schlecht, wenn aus der neuen "Hochgeschwindigkeits-Engine" dann etwas wird, dass eher nach einer Hautkrankheit klingt. :-)

Ich würde mir aber überlegen, ob es wirklich nötig und v.a. sinnvoll ist dazu noch einen Country-Code anzugeben. Ein "en" reicht ja eigentlich völlig und ganz streng formal gesehen, hat der Ländercode (in diesem Beispiel: Grossbritannien) ja nichts mit dem Begriff zu tun. Daher würde ich wohl ganz auf den Countrycode verzichten und es lediglich bei "en" belassen. Ausserdem kommst du sonst vielleicht früher oder später an den Punkt, wo du komische Mischungen machen musst... z.B. bei "color code" (US-engl = color | UK-engl = colour).
Ja, da hast du wohl recht. Sollte ich in Zukunft wohl unterlassen. Wobei es schon einen Unterschied macht ob das jetzt de-DE oder de-CH ist. ;-)

Übrigens ergänzend dazu würde ich dir noch raten das Attribut hreflang bei externen Links zu benutzen. So könnte der Benutzer einen Eindruck bekommen, was ihn nach dem Link erwartet.

Aber wie gesagt - sehr ambitioniert, denn schliesslich erfodert es hohe Disziplin, die lang-Attribute ständig zu berücksichtigen - gerade wenn es um IT-Begriffe geht, wo ständig Anglizismen vorkommen, welche in die deutsche Sprache Einzug gehalten haben, ohne dass es eigentlich ein deutsches Wort dafür gäbe.
Es geht eigentlich. Wenn man sich daran gewöhnt hat, macht man es automatisch. Das selbe mit Abkürzungen. Hat man sich mal daran gehwöhnt macht man automatisch <abbr> bzw. <acronym> drum rum.

Und der wichtigste Teil meines Postings zum Schluss!
Herzlichen Glückwunsch zur absolut gelungenen Seite, die optisch wie auch inhaltlich etwas her gibt und wie bereits erwähnt sehr sauber strukturiert aufgebaut ist!
Wow, danke. Das sie gut strukturiert ist und optisch halbwegs optisch ok ist wusste ich, aber dass jemand meinen Blog inhaltlich toll findet, höre ich zum ersten mal von jemanden den ich nicht persönlich kenne. :-)
Wobei ich mittlerweile schon wieder so viele Sachen woanders besser gemacht habe, dass es mich selbst etwas ärgert. Die Tagesangabe müsste zum Beispiel eine Überschrift sein und das Design ist leider nicht fluide, was doch ziemlich beengend macht. Naja, beim nächsten Style den ich hinzufüge, wird es wohl besser. Dann werde ich erst wirklich sehen, wie gut die Seitenstruktur wirklich ist, wenn ich 5-6 Designs habe, die aber alle auf der selben HTML Struktur aufbauen (genauso wie das beim ZenGarden der Fall ist).

(Was verwendest du eigentlich für ein Blog-System? Ein Std.Wordpress ist es ja nicht.. .Hast du da was selbst-gestricktes am Laufen?)
Jop, 100% selfmade. Das merkt man auch stellenweise recht deutlich. Zur Zeit ist z.B. ein Spambot auf einen meiner Beiträge aufmerksam geworden und ich habe leider (wegen Umzug) keine Zeit, einen CAPTCHA oder eine "Spam löschen" Funktion ins Admin Panel zu integrieren... Aber die Grunddinge funktionieren und die Herausforderung war es mir wert.
Wenn es dich interessiert, kann ich dir gerne mal Quellcode zukommen lassen.

Gruß
Phil
 
Zuletzt bearbeitet:
Zurück
Oben Unten