Werner: Link auf eine Tabelle

Hi,
ich möchte verlinken, wenn man auf eine Tabelle klickt.
Es funktioniert in Opera, Firefox, nicht aber im IE.
Gibt es da wiederum einen der vielen Tricks (Hacks)?
Danke Werner
Hier das Beispiel:

  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  
<html>  
<head>  
<title>----</title>  
</head>  
<body>  
<a href="index1.shtml">  
<table style="size:100%;">  
  <tr>  
    <td>r1s1</td>  
    <td>r1s2</td>  
  </tr>  
  <tr>  
    <td>r2s1</td>  
    <td>r2s2</td>  
  </tr>  
</table>  
</a>  
</body>  
</html>  

  1. Es funktioniert in Opera, Firefox, nicht aber im IE.

    Die machens schlicht und ergreifend falsch - der IE richtig.

    Gibt es da wiederum einen der vielen Tricks (Hacks)?

    Nein - es geht schlichtweg mit reinem HTML nicht, da ein a-Element keine Tabelle beinhalten darf.

    Du kannst aber ein onclick-Event auf die Tabelle packen - dieses holt sich dann aus einem geeigenten Attribut (z.B. aus dem href-Attribut eines a-Elements welches auf die gewünschte Zielseite verweist) einen URL und ändert die location des Browsers.

    1. @@suit:

      nuqneH

      Es funktioniert in Opera, Firefox, nicht aber im IE.

      Die machens schlicht und ergreifend falsch - der IE richtig.

      Die haben schlicht und ergreifend teils schon HTML5 implementiert – der IE nicht.

      Qapla'

      --
      Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
      1. Hallo!

        Es funktioniert in Opera, Firefox, nicht aber im IE.

        Die machens schlicht und ergreifend falsch - der IE richtig.

        Die haben schlicht und ergreifend teils schon HTML5 implementiert – der IE nicht.

        Gibt es dafür ernsthafte Hinweise, oder nimmst Du das an?

        Ciao

        GG

        --
        "If I do not seek to understand what is happening here
        - then I've got peanuts in my head!"
        (I. Hosein)
        1. Die haben schlicht und ergreifend teils schon HTML5 implementiert – der IE nicht.

          Gibt es dafür ernsthafte Hinweise, oder nimmst Du das an?

          Damit hat er schon recht.

          1. Hallo!

            Die haben schlicht und ergreifend teils schon HTML5 implementiert – der IE nicht.

            Gibt es dafür ernsthafte Hinweise, oder nimmst Du das an?

            Damit hat er schon recht.

            Das hatte ich nicht bezweifelt;) Meine Frage war, ob diese teilweisen Implementierungen dokumentiert sind.

            Ciao

            GG

            --
            "If I do not seek to understand what is happening here
            - then I've got peanuts in my head!"
            (I. Hosein)
            1. Das hatte ich nicht bezweifelt;) Meine Frage war, ob diese teilweisen Implementierungen dokumentiert sind.

              Irgendwo in den tiefen der Changelogs sicher ;)

      2. Die haben schlicht und ergreifend teils schon HTML5 implementiert – der IE nicht.

        Gemäß HTML 4.01 abwärts ist es aber nicht vorgesehen.

      3. Mahlzeit Gunnar Bittersmann,

        Es funktioniert in Opera, Firefox, nicht aber im IE.

        Die machens schlicht und ergreifend falsch - der IE richtig.

        Die haben schlicht und ergreifend teils schon HTML5 implementiert – der IE nicht.

        Sie machen's aber trotzdem schlicht und ergreifend falsch, wenn eindeutig

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

        angegeben wurde!

        Auch wenn sie schon HTML 5 beherrschen sollten, haben sie sich an die Spezifikationen von HTML 4.01 zu halten, wenn dies so im Dokumenttyp steht.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. @@EKKi:

          nuqneH

          Sie machen's aber trotzdem schlicht und ergreifend falsch, wenn eindeutig
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
          angegeben wurde!

          Nein. Die Spec HTML 4.01 beschreibt, wie ein valides HTML-Dokument auszusehen hat. Sie beschreibt nicht, wie sich UAs bei einem invalidem Dokument verhalten sollen.

          Auch wenn sie schon HTML 5 beherrschen sollten, haben sie sich an die Spezifikationen von HTML 4.01 zu halten, wenn dies so im Dokumenttyp steht.

          Das tun sie. Wenn nichts spezifiziert ist, gibt es nichts, woran sie sich halten können. Und dann raten verschiedene Browser halt auf verschiedene Weise, was die Intentiion des Seitenautors gewesen sein mag.

          Qapla'

          --
          Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
          1. Mahlzeit Gunnar Bittersmann,

            Auch wenn sie schon HTML 5 beherrschen sollten, haben sie sich an die Spezifikationen von HTML 4.01 zu halten, wenn dies so im Dokumenttyp steht.

            Das tun sie.

            Tun sie eben nicht.

            Wenn nichts spezifiziert ist,

            Es ist HTML 4.01 angegeben. Und das bedeutet, dass ein <a>-Element lediglich Inline-Elemente (außer <a>) enthalten darf. <table>-Elemente gehören nicht dazu. Also ist der Link defekt (und damit das gesamte Dokument). Einen defekten Link trotzdem anklickbar zu machen, ist IMHO ein Fehler des Browsers.

            gibt es nichts, woran sie sich halten können.

            Doch - den angegebenen Dokumenttyp.

            Und dann raten verschiedene Browser halt auf verschiedene Weise, was die Intentiion des Seitenautors gewesen sein mag.

            IMHO haben sie dort nichts zu raten, da eindeutig definiert ist, was ein <a>-Element in HTML 4.01 enthalten darf und das nicht.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. @@EKKi:

              nuqneH

              Wenn nichts spezifiziert ist,
              Es ist HTML 4.01 angegeben.

              Ach ja?

              Und das bedeutet, dass ein <a>-Element lediglich Inline-Elemente (außer <a>) enthalten darf. <table>-Elemente gehören nicht dazu.

              Das sagte ich doch: „Die Spec HTML 4.01 beschreibt, wie ein valides HTML-Dokument auszusehen hat.“

              Also ist der Link defekt (und damit das gesamte Dokument).

              Ja, so isses.

              Einen defekten Link trotzdem anklickbar zu machen, ist IMHO ein Fehler des Browsers.

              Warum?

              IMHO haben sie dort nichts zu raten, da eindeutig definiert ist, was ein <a>-Element in HTML 4.01 enthalten darf und das nicht.

              Ja, das ist spezifiziert. Damit ist der Browser in der Lage zu erkennen: Dieses Dokument ist nicht konform zur HTML-4.01-Spec.

              Und nun? Was soll er mit diesem nichtkonformen Dokument anstellen? Eben dies ist nicht spezifiziert.

              Das sagte ich doch: „[Die Spec HTML 4.01] beschreibt nicht, wie sich UAs bei einem invalidem Dokument verhalten sollen.“

              Qapla'

              --
              Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
              1. Und nun? Was soll er mit diesem nichtkonformen Dokument anstellen? Eben dies ist nicht spezifiziert.

                Ich glaube ich würde eine Rückfrage des Browser bevorzugen:

                ╔═════════════════════════════════════════════════════╗
                ║▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ungültiges HTML 4 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒║
                ╠═════════════════════════════════════════════════════╣
                ║ In diesem HTML4-Dokument ist folgender Fehler       ║
                ║ aufgetreten:                                        ║
                ║ Inlineelement enthält Blockelement.                 ║
                ║                                                     ║
                ║ Wie soll $UserAgent diesen Fehler behandeln?        ║
                ║                                                     ║
                ║ 0 Inlineelement als Blockelement behandeln          ║
                ║ 0 Blockelement entfernen                            ║
                ║ 0 Dokument verwerfen                                ║
                ║ 0 Blockelement als Inlineelement behandeln          ║
                ║ ┌─────────┐ ┌───────────┐                           ║
                ║ │    OK   │ │ Abbrechen │                           ║
                ║ └─────────┘ └───────────┘                           ║
                ║ ┌─┐                                                 ║
                ║ └─┘ Nicht noch einmal fragen.                       ║
                ╚═════════════════════════════════════════════════════╝

                Wobei ich nicht weiß wie eine Tabelle mit display:inline aussieht ^^
                Oh man könnte auch das inline-Element entfernen, ist aber natürlich ungleich kompliziertet (das Blockelement würde dann ja Kind des Elternelements des nun entfernten inlineElements... ääääh Adoption?)

                --
                sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
                1. 'ǝɯɐu$ ıɥ

                  Und nun? Was soll er mit diesem nichtkonformen Dokument anstellen? Eben dies ist nicht spezifiziert.
                  Ich glaube ich würde eine Rückfrage des Browser bevorzugen:

                  ╔═════════════════════════════════════════════════════╗
                  ║▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ungültiges HTML 4 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒║
                  ╠═════════════════════════════════════════════════════╣
                  ║ In diesem HTML4-Dokument ist folgender Fehler       ║
                  ║ aufgetreten:                                        ║
                  ║ Inlineelement enthält Blockelement.                 ║
                  ║                                                     ║
                  ║ Wie soll $UserAgent diesen Fehler behandeln?        ║
                  ║                                                     ║
                  ║ 0 Inlineelement als Blockelement behandeln          ║
                  ║ 0 Blockelement entfernen                            ║
                  ║ 0 Dokument verwerfen                                ║
                  ║ 0 Blockelement als Inlineelement behandeln          ║
                  ║ ┌─────────┐ ┌───────────┐                           ║
                  ║ │    OK   │ │ Abbrechen │                           ║
                  ║ └─────────┘ └───────────┘                           ║
                  ║ ┌─┐                                                 ║
                  ║ └─┘ Nicht noch einmal fragen.                       ║
                  ╚═════════════════════════════════════════════════════╝

                  1. Damit wäre jeder Feld-Wald-Wiesen Nutzer hoffnungslos überfordert.
                  2. Wenn ich so an den Quälcode der meisten Websites denke würde ich früher oder später Amok laufen weil ich von den Meldungen die auf mich einprasseln kurz vorm Nervenzusammenbruch stünde.

                  ssnɹƃ
                  ʍopɐɥs

                  --
                  Old programmers never die, they just lose their byte.
                    1. Damit wäre jeder Feld-Wald-Wiesen Nutzer hoffnungslos überfordert.

                    Jep, deshalb schrieb ich, dass ICH das bevorzugen würde.

                    1. Wenn ich so an den Quälcode der meisten Websites denke würde ich früher oder später Amok laufen weil ich von den Meldungen die auf mich einprasseln kurz vorm Nervenzusammenbruch stünde.

                    Stimmt, aber du würdest ja binnen einer Woche alle Fehler einmal gesehen und so dem UA die entsprechenden Regeln wie er was quirksen soll beigebracht haben. Hübsch wäre eine automatisierte Nachricht an den Autor der Seite *eg* nervt sie bis sie sich bessern!

                    Ich jedenfalls hatte mal überlegt, ob ich das bei jenen mache, die so einen "ich bin valide"-Sticker auf der Seite kleben haben, denn denen scheint es ja wichtig zu sein, also werden sie auf entsprechende Hinweise (hoffentlich) eher positiv reagieren.

                    Aber wie gesagt: Wenn ich selbst entscheiden könnte wie welcher Markupfehler behandelt werden soll fände ich das schon nett.

                    --
                    sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
                    1. Om nah hoo pez nyeetz,

                      Aber wie gesagt: Wenn ich selbst entscheiden könnte wie welcher Markupfehler behandelt werden soll fände ich das schon nett.

                      Das setzt aber voraus, dass man die Fehlermeldung auch versteht. Feld-und-Wiesen-Nutzer tun das nicht. Und nicht zu vergessen: Es gibt auch immer wieder nichtssagendende und irreführendende Fehlermeldungen. Und es führt dazu, dass (nicht valide) Dokumente auch im selben Browser unterschiedlich aussehen, der Ersteller also nicht die Möglichkeit hat, seine Seite zu testen. Da halte ich es für sehr viel sinnvoller, diese Fehlermeldung dem Ersteller zukommen zu lassen und er (der Ersteller) diese Entscheidung für alle trifft.

                      Matthias