ZOMDir > BlogNL

maandag 30 maart 2015

Doe de noscript tag in de ban

Laatst kwam ik er achter dat Wave een Alert geeft als er een <noscript> tag wordt gebruikt.

Dat verbaasde me enigszins. Ik had nog steeds in mijn hoofd dat dat gewoon nette code was.

Wave stelt echter:
A <noscript> element is present. Content within <noscript> is presented if JavaScript is disabled. Because nearly all users (including users of screen readers and other assistive technologies) have JavaScript enabled, <noscript> cannot be used to provide an accessible version of inaccessible scripted content.

Sterker nog, het gebruik van de
<noscript> tag zou eigenlijk helemaal niet nodig moeten zijn als je website opgezet is volgens Progressive enhancement. Het idee is dat je dan uitgaat van de meest simpele webpagina welke door alle oude browsers correct kan worden getoond. Vervolgens voeg je hier extra's aan toe zonder de basisfunctionaliteit in gevaar te brengen.

Het World Wide Web Consortium stelt zelfs dat het lomp is om de
<noscript> tag te gebruiken.
The noscript element is a blunt instrument. Sometimes, scripts might be enabled, but for some reason the page's script might fail. For this reason, it's generally better to avoid using noscript, and to instead design the script to change the page from being a scriptless page to a scripted page on the fly.

Het is dus beter om met Javascript de pseudo noscript code te verwijderen, dan een <noscript> tag te gebruiken. Bijvoorbeeld aan de hand van onderstaande code:

<span id="noscript">The basic functionality you want to offer...</span>
<script type="text/javascript">
/* Remove the <noscript> code */
var noscript = document.getElementById('noscript');
noscript.parentNode.removeChild(noscript);

/* Your enhanced code, to give a better user experience */
/* ... */
/* ... */
</script>


Zie ook het voorbeeld "Noscript without <noscript>".

Weer wat geleerd.

Nog een leerpuntje is dat spammers in het verleden misbruik maakten van de <noscript> tag. Google negeert dan wel wantrouwt noscript code. Nog een argument dus om de <noscript> tag niet meer te gebruiken.

Groeten,
Hans
--
ZOMDir.com is een startpagina en een Wiki
Ook jij voegt in 10 seconden een link toe
Voor meer informatie, ga naar Slideshare