Validating HTML 4.01 with W3C Markup Validation Service

rgarimella
rgarimella used Ask the Experts™
on
Hi Folks,

I am trying to validate a HTML Page with the W3C validater.

http://validator.w3.org/

I am getting the following errors with using a Frameset, any ideas on why this wont validate.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Title goes here</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script type="text/javascript" src="../APIWrapper.js"></script>
<script type="text/javascript" src="../moreFunc.js"></script>

</head>

<frameset rows="100%,*" frameborder="no" border="0" framespacing="no" onLoad="begin();" onbeforeunload="end();">

<frame src="dl_01_01_0010.htm" name="Content" title="Main Content" SCROLLING="no" MARGINWIDTH="0" MARGINHEIGHT="0" FRAMEBORDER="no" BORDER="0" noresize>

<frame src="bottomnav01.htm" name="Navigation" title="Navigation" SCROLLING="no" MARGINWIDTH="0" MARGINHEIGHT="0" FRAMEBORDER="no" BORDER="0" noresize>

</frameset>

<noframes>Need to enable frames in your Browser</noframes>
<body>
</body>
</html>

Open in new window


around 20 Errors (couple attached)

 Line 12, Column 16: there is no attribute "ROWS"
<frameset rows="100%,*" frameborder="no" border="0" framespacing="no" onLoad="b…

 Line 12, Column 37: there is no attribute "FRAMEBORDER"
<frameset rows="100%,*" frameborder="no" border="0" framespacing="no" onLoad="b…
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Top Expert 2013

Commented:
The rows problem is probably caused by setting 100%, that does not leave any room for a dynamic frame, making the * invalid.

As frameborder it is not in the html 4.x standard.

You are going to run into a problem using frames in any case.  They have been obsolete for 10 years; and are not recommended.


Cd&

Author

Commented:
What do you recommend based on the HTML page above. How will you set it up? iFrame?
Top Expert 2013

Commented:
I would use either iframes or a div depending on the dynamics of the content.  if the content going in is always the same then I would use a div with a server side include to populate it.  If the content is dynamic, then the iframe is probably better even though they are generally not in favor with most web developers, because they are more difficult to maintain.


Cd&
Fixer of Problems
Most Valuable Expert 2014
Commented:
Here is the W3C page on FRAMES: http://www.w3.org/TR/1999/REC-html401-19991224/present/frames.html  The <meta> and <script> lines in your <head> section will have no effect because they are not part of an actual page.  And the <body> tags need to be in the <noframes> section.  <body> is not valid in the frame page itself.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial