When using CS5.5 dreamweaver "rollover image" tool it is not complying with W3C validation. Why? It is erroring out all over the place?
Any help please that would be great!!!
Thanks,
TIffany
John Waller wrote:
Please post a link to your website so we can see the code and the output from the W3C Validator.
I haven't publihed the site yet its for internal use only of my company but here is the piece of code that Dreamweaver creates that is not compiling:
<script type="text/javascript">
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
</script>
Yep! This is what I have at the top of my page:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
I'm guessing here because I don't have access to your entire code.
X/HTML docs (transitional) treat JavaScript as CDATA (character data). W3C Validator ignores character data.
XHTML strict treats JavaScript as PCDATA (parsed character data). W3C Validator chokes on this and flags it as invalid code.
To avoid errors in XHTML Strict, add CDATA tags around your JavaScript code. Or, simply change doc type to XHTML transitional.
Nancy O.
Alt-Web Design & Publishing
Web | Graphics | Print | Media Specialists
Hello Nancy,
I have the same problem on my website (no validation for the image rollovers made in DW). Example page: http://www.opsicilie.nl/NL/home2.html
I've tried using the CDATA tags I found on W3 but I couldn't use them without getting syntax errors in DW. Your other solution was "Or, simply change doc type to XHTML transitional." It looks like it's already XHTML transitional:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
Could you tell me what I should change on the page the pass the validation?
Thank you in advance for your time!
Martin
PS bonus question: is this the correct way of inserting the language tag (language is Dutch) on this page?:
<html xmlns="http://www.w3.org/1999/xhtml" lang="nl" xml:lang="nl">
North America
Europe, Middle East and Africa
Asia Pacific