ecklvo: HTML-Tidy Empfehlung Standard-konform?!

Guten Morgen!
HTML-Tidy empfiehlt mir bei folgender Framesetdefinition:
<frameset cols="170,*" framespacing="0" frameborder="0">
 <frame src="content/projektindex.html" name="project_index" id="projects" frameborder="0" marginwidth="0" marginheight="0" framespacing="0" scrolling="no">
 <frame src="content/pr.index.html" name="project_frame" id="project_frame" frameborder="0" marginwidth="0" marginheight="0" framespacing="0" scrolling="no">
</frameset>
<body>
</body>

nach dem Durchlauf diese Definition:
   <frameset cols="170,*" framespacing="0" frameborder="0">
      <frame src="content/projektindex.html" name="project_index" "projects" frameborder="0" marginwidth="0" marginheight="0" framespacing="0" scrolling="no">
      <frame src="content/pr.index.html" name="project_frame" id="project_frame" frameborder="0" marginwidth="0" marginheight="0" framespacing="0" scrolling="no">
      <noframes>
         <body>
         </body>
      </noframes>
   </frameset>

was mich etwas durcheinanderbringt ist, dass es in der neuen Version keinen eigentlichen <body> mehr gibt, sondern nur mehr in den noframes vorkommt.
Ist das Standard-konform und hat das auch keine Nachteile?
An und für sich sieht es ja logisch aus, nur aussehen ist nicht alles. (oh welch morgenphilosophie)

besten dank im voraus, e.

  1. Hallo ecklvo!

    was mich etwas durcheinanderbringt ist, dass es in der neuen Version keinen eigentlichen <body> mehr gibt, sondern nur mehr in den noframes vorkommt.

    Nicht mal dort brauchst du ein body-Element notieren. Eine Datei mit Framesets gilt in HTML 4 einfach als Datei ohne eigenen sichtbaren Bereich. Das noframes-Element ist eine Art "Not"-Body, wenn keine Frames angezeigt werden koennen.

    Ist das Standard-konform und hat das auch keine Nachteile?

    Zu Risiken und Nebenwirkungen ... ist nichts bekannt ;-)

    An und für sich sieht es ja logisch aus, nur aussehen ist nicht alles. (oh welch morgenphilosophie)

    Logisch aussehen tut es, wenn man von der Seite her denkt, dass es kein HTML-typischer Stil ist, Elemente, die normalerweise nicht interpretiert werden, in bestimmten Zusammenhaengen nicht zu interpretieren. Hier also: ein body-Element nicht zu interpretieren, weil in der gleichen Datei ein frameset-Element steht. Alternativen dieser Art werden in HTML nun mal eher mit <no...> notiert. Insofern macht die Konstruktion, wie HTML 4.0 sie haben will, durchaus Sinn. Schade ist es allerdings um die Kastrierung, die das noframes-Element dadurch erfahren hat. Die Aufgaben, die ihm damals in der Draft zu HTML 4.0 zugewiesen wurden, und die damals auch im MS IE 4 so implementiert wurden, fand ich wesentlich sinnvoller (da konnte das noframes-Element auch in normalen Dateien stehen und z.B. Navigationslinks enthalten, die eben nur dann angezeigt wurden, wenn die HTML-Datei _nicht_ in einem Frameset angezeigt wurde).

    viele Gruesse
      Stefan Muenz

    1. Hallo hallo!

      Das finde ich jetzt gerade überaus wunderbar an diesem neuen Tag, dass mir der Autor meiner jahrelangen (so an die 6a sind es inzwischen) Lieblingslektüre geantwortet hat. Allerdings glaube ich, dass Du den Tag gerade erst begonnen hast, wie jeder halbwegs vernünftige Mensch und ich ihn erst in wenigen Stunden beschließen werde aufgrund großen Arbeitsdrucks.

      Schade ist es allerdings um die Kastrierung, die das noframes-Element dadurch erfahren hat. Die Aufgaben, die ihm damals in der Draft zu HTML 4.0 zugewiesen wurden, und die damals auch im MS IE 4 so implementiert wurden, fand ich wesentlich sinnvoller (da konnte das noframes-Element auch in normalen Dateien stehen und z.B. Navigationslinks enthalten, die eben nur dann angezeigt wurden, wenn die HTML-Datei _nicht_ in einem Frameset angezeigt wurde).

      Aha, das ist mir neu! Das wäre ja gerade im Hinblick auf Suchmaschinenverlinkung wundervoll.

      Danke für die Informationen und einen schönen Tag noch!

      e.

    2. Insofern macht die Konstruktion, wie HTML 4.0 sie haben will, durchaus Sinn. Schade ist es allerdings um die Kastrierung, die das noframes-Element dadurch erfahren hat. Die Aufgaben, die ihm damals in der Draft zu HTML 4.0 zugewiesen wurden, und die damals auch im MS IE 4 so implementiert wurden, fand ich wesentlich sinnvoller (da konnte das noframes-Element auch in normalen Dateien stehen und z.B. Navigationslinks enthalten, die eben nur dann angezeigt wurden, wenn die HTML-Datei _nicht_ in einem Frameset angezeigt wurde).

      http://www.w3.org/TR/html401/present/frames.html#h-16.4.1

  2. Hallo,

    was mich etwas durcheinanderbringt ist, dass es in der neuen Version keinen eigentlichen <body> mehr gibt, sondern nur mehr in den noframes vorkommt.
    Ist das Standard-konform und hat das auch keine Nachteile?

    body ist optionales Kindelement von noframes und Nachteile sind mir nicht bekannt.

    MfG, Thomas