Я не говорю о процентах. Читай цитату. Я сказал что если и сами браузеры в совокупности с вэбмастерами будут придерживаться этих правил то проблема будет исчерпана. Случаев с косяками браузеров хватает.
лучше всего это проверят здесь http://validator.w3.org/
а проверка синтаксиса есть практически в любом редакторе.
Советую Dreamweaver, а если попроще то EmEditor.
а можно ещё таким макаром:
<HTML>
<HEAD><TITLE>Home</TITLE></HEAD>
<BODY onload="MM_preloadImages('home_on.gif')">
<SCRIPT language=JavaScript type=text/JavaScript>
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a)&&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.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}} } 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[n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.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))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } </SCRIPT> <a onMouseOver="MM_swapImage('h_home','','home_on.gif',1); showit(10)" onMouseOut=MM_swapImgRestore() href="#"> <img height="27" src="home_off.gif" width="33" border="0" name="h_home" alt="home"></a></td> </BODY> </HTML>
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.induct.ru+
тут всё=))
Да а вообще проблем исчезнет когда браузеростроители сами начнут придерживаться стандартов...
1.5 не советую косяков много🙅 , да и с безопасностью непонятно...