Heiner: &...; im title-Element?

Hallo,

Sollte man Umlaute oder andere Sonderzeichen im title-Element oder im alt- und title-Attribut verwenden? Sollte man sie per &...; einbinden, etwa durch die Unicode-nummer oder durch ä o. ä.? Welche Browser haben wo Schwierigkeiten?

Also:
1. <title>Blödsinn</title>
2. <title>Blödsinn</title>
3. <title>Bl&#...;dsinn</title>
4. <title>Bloedsinn</title>
...

Heiner

  1. Hi,

    Sollte man Umlaute oder andere Sonderzeichen im title-Element oder im alt- und title-Attribut verwenden?

    selbstverständlich nicht. Innerhalb des <body> wäre es erlaubt, sofern Du im <head> ein entsprechendes Encoding angegeben hast; sinnvoll ist es dennoch nur bedingt.

    Sollte man sie per &...; einbinden, etwa durch die Unicode-nummer oder durch ä o. ä.?

    Ja.

    Welche Browser haben wo Schwierigkeiten?

    Keine. Wenn einer damit nicht klarkommt, versagt er bereits bei den allergrundlegendsten Prinzipien von HTML und ist somit keinesfalls beachtenswert. Nicht einmal der IE ist so schlecht.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Keine. Wenn einer damit nicht klarkommt, versagt er bereits bei den allergrundlegendsten Prinzipien von HTML und ist somit keinesfalls beachtenswert. Nicht einmal der IE ist so schlecht.

      Kleine Einschränkung: Werden DoubleBit-Zeichen (z.B. Chinesisch) per HTML-Entität sowohl in BODY und TITLE verwendet, erfolgt im BODY die korrekte Darstellung, im TITLE jedoch nicht. Soviel zum IE. :)

      Gruss
      Marcus

      1. Hallo!

        Werden DoubleBit-Zeichen (z.B. Chinesisch) per HTML-Entität sowohl in BODY und TITLE verwendet, erfolgt im BODY die korrekte Darstellung, im TITLE jedoch nicht. Soviel zum IE. :)

        Und du bist dir ganz sicher, dass das mit dem Browser und nicht etwa mit der Schriftart zusammenhängt?

        emu

    2. Hallo Cheatah,

      Sollte man Umlaute oder andere Sonderzeichen im title-Element oder im alt- und title-Attribut verwenden?

      selbstverständlich nicht.

      Warum nicht? Bei korrekt angegebenen Encoding im HTTP-Header oder per Metatag, der vor den Umlauten auftaucht, ist das doch kein Problem.

      Innerhalb des <body> wäre es erlaubt, sofern Du im <head> ein entsprechendes Encoding angegeben hast; sinnvoll ist es dennoch nur bedingt.

      Warum sollte das nur bedingt sinvoll sein? Was spricht dagegen, es so zu tun?

      Viele Grüße,
      Christian

      1. Hi,

        Sollte man Umlaute oder andere Sonderzeichen im title-Element oder im alt- und title-Attribut verwenden?
        selbstverständlich nicht.

        Warum nicht? Bei korrekt angegebenen Encoding im HTTP-Header oder per Metatag, der vor den Umlauten auftaucht, ist das doch kein Problem.

        es ist auch vom <title>-Element die Rede, welches sich im <head> befindet. Jede Angabe innerhalb eines Headers bezieht sich erst auf den Body.

        Innerhalb des <body> wäre es erlaubt, sofern Du im <head> ein entsprechendes Encoding angegeben hast; sinnvoll ist es dennoch nur bedingt.
        Warum sollte das nur bedingt sinvoll sein? Was spricht dagegen, es so zu tun?

        Das Encoding kann z.B. unbekannt sein.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo Cheatah,

          Sollte man Umlaute oder andere Sonderzeichen im title-Element oder im alt- und title-Attribut verwenden?
          selbstverständlich nicht.

          Warum nicht? Bei korrekt angegebenen Encoding im HTTP-Header oder per Metatag, der vor den Umlauten auftaucht, ist das doch kein Problem.

          es ist auch vom <title>-Element die Rede, welches sich im <head> befindet. Jede Angabe innerhalb eines Headers bezieht sich erst auf den Body.

          Könntest Du mir bitte die Stelle im HTML-Standard nennen, in der das beschrieben steht? (oder wenigstens einen passenden Suchbegriff) Ich finde das irgendwie nicht...

          Innerhalb des <body> wäre es erlaubt, sofern Du im <head> ein entsprechendes Encoding angegeben hast; sinnvoll ist es dennoch nur bedingt.
          Warum sollte das nur bedingt sinvoll sein? Was spricht dagegen, es so zu tun?

          Das Encoding kann z.B. unbekannt sein.

          Theoretisch möglich, aber zumindest bei Latin1 praktisch gesehen nicht. Bei anderen Encodings, die nicht so häufig vorkommen, gebe ich Dir aber auch praktisch Recht.

          Viele Grüße,
          Christian

          1. Hi Christian,

            Das Encoding kann z.B. unbekannt sein.
            Theoretisch möglich, aber zumindest bei Latin1 praktisch gesehen nicht. Bei anderen Encodings, die nicht so häufig vorkommen, gebe ich Dir aber auch praktisch Recht.

            bist Du in der Lage, eine Positivliste "unbedenklicher" Encodings anzugeben, welche von allen relevanten UserAgents (inklusive Suchmaschinen-Robots!) problemlos verstanden werden?

            Viele Grüße
                  Michael

            --
            T'Pol: I apologize if I acted inappropriately.
            V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
            (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
            Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
            1. Hallo Michael,

              bist Du in der Lage, eine Positivliste "unbedenklicher" Encodings anzugeben, welche von allen relevanten UserAgents (inklusive Suchmaschinen-Robots!) problemlos verstanden werden?

              Ja, genau einen: Latin1. Der ist nämlich der Default-Charset bei HTTP, daher muss ein korrekt funktionierender UserAgent diesen interpretieren. Dies lässt zwar eigentlich nicht auf die tatsächliche Umsetzung bei UserAgents rückschließen, allerdings wird heute so oft das Encoding nicht angegeben und die Sonderzeichen werden nicht als Entities maskiert, dass es sich ein UserAgent nicht leisten kann, Latin1 nicht zu unterstützen.

              Viele Grüße,
              Christian

          2. Hallo Christian,

            es ist auch vom <title>-Element die Rede, welches sich im <head> befindet. Jede Angabe innerhalb eines Headers bezieht sich erst auf den Body.

            Könntest Du mir bitte die Stelle im HTML-Standard nennen, in der das beschrieben steht? (oder wenigstens einen passenden Suchbegriff) Ich finde das irgendwie nicht...

            Da kannst du auch lange suchen, das ist nämlich Quatsch. Die Kodierungsangabe in einem den Content-Type-Header ersetzenden meta-Element im head bezieht sich auf das ganze Dokument ab dem Element, nicht nur auf den body. Beispielsweise in title- und style-Elementen sowie in Attributwerten der meta- und link-Elemente sind Nicht-ASCII-Zeichen durchaus erlaubt, wenn die Kodierung wie du sagtest vorher angegeben ist, bestenfalls das erste Kindelement von head ist:

            »The META declaration must only be used when the character encoding is organized such that ASCII-valued bytes stand for ASCII characters (at least until the META element is parsed). META declarations should appear as early as possible in the HEAD element.«
            http://www.w3.org/TR/html401/charset.html#h-5.2.2

            Mit »at least until the META element is parsed« wird der Sachverhalt meiner Meinung nach überdeutlich. Wenn das meta-Element irgendwo im head-Element auftauchen könnte, weil es sowieso nur für die Zeichendaten im body gilt bzw. so interpretiert wird, wäre auch der letzte Satz widersinnig.

            Mathias

            1. Hi,
              schon klar... nur mal eine Frage dazu: irgendwo habe ich mal gelesen, daß in XHTML der title das erste Element im Head sein soll (muß?). Wenn das zutrifft und man die Kodierung wegen dem IE nicht per XML voranstellen will, gibt's doch das Problem  immer noch, oder?

              freundliche Grüße
              Ingo

              1. Hallo Ingo,

                irgendwo habe ich mal gelesen, daß in XHTML der title das erste Element im Head sein soll (muß?).

                Das ist falsch. Aus der XHTML 1.0 Strict DTD: http://www.w3.org/TR/xhtml1/dtds.html#dtdentry_xhtml1-strict.dtd_head

                ----------------------------------------------------------
                <!-- content model is %head.misc; combined with a single
                     title and an optional base element in any order -->

                <!ELEMENT head (%head.misc;,
                     ((title, %head.misc;, (base, %head.misc;)?) |
                      (base, %head.misc;, (title, %head.misc;))))>
                ----------------------------------------------------------

                Betonung liegt dabei auf »in any order«. Mach Dir doch nicht unnötig Probleme, wo keine sind. ;-)

                Viele Grüße,
                Christian