Dit is een gearchiveerde versie van www.webrichtlijnen.nl.

Verkorte titel
Hu11 Gescheiden: script scheiden van content

Volledige titel van de techniek

Hu11: Scripts en script fragmenten worden gescheiden van de content aangeboden in gelinkte bestanden, of boven danwel onder de content in hetzelfde bestand (HTML)

Toepasbaarheid

Alle (X)HTML pagina's die client-side scripts gebruiken.

Deze techniek is van toepassing op:

Beschrijving

Het vermengen van content en client-side scripting kan, bijvoorbeeld bij migratie of bij hergebruik van de content, de oorzaak zijn van het ontstaan van onbedoeld gedrag en andere problemen.

De bedoeling van deze techniek is om ervoor te zorgen dat scripting en inhoud fysiek van elkaar gescheiden zijn.

De scripts bevinden zich in aparte bestanden, of zijn boven- of onderaan de broncode van de (X)HTML pagina.

Voorbeelden

Opmerking: Voorbeelden hebben uitsluitend een informatieve functie. Het is niet de bedoeling om een succescriterium te beoordelen enkel op basis van de hier gepresenteerde voorbeelden.

Voorbeeld 1

De script bevindt zich in een apart, gelinkt bestand.

Voorbeeldcode

...
<head>
  <script src="extern-script.js"></script>
</head>
...

Voorbeeld 2

De script bevindt zich boven de content in de broncode.

Voorbeeldcode

...
<head>
  <script type="text/javascript">
    window.onload = function () {
      var imgs = document.getElementsByTagName('img');
      for (var i=0; i < imgs.length; i++) {
        var alt = imgs[i].getAttribute('alt');
        if (!alt) {
          alert(imgs[i].getAttribute('src') 
          + ' heeft geen alt-attribuut');
        }
      }
    }
  </script>
</head>
...

Voorbeeld 3

De script bevindt zich onderaan de content in de broncode.

Voorbeeldcode

...
  ...
    <script type="text/javascript">
      window.onload = function () {
        var imgs = document.getElementsByTagName('img');
        for (var i=0; i < imgs.length; i++) {
          var alt = imgs[i].getAttribute('alt');
          if (!alt) {
            alert(imgs[i].getAttribute('src') 
            + ' heeft geen alt-attribuut');
          }
        }
      }
    </script>
  </body>
</html>

Informatiebronnen

Opmerking: Informatiebronnen zijn uitsluitend informatief bedoeld. Ze maken geen deel uit van de Webrichtlijnen. Deze opsomming impliceert geen goedkeuring van de bronnen door de opstellers of toezichthouders van deze specificatie.

Gerelateerde technieken

Toetsen

Procedure

  1. Controleer of client-side scripting in de (X)HTML pagina wordt gebruikt;
  2. Controleer of de script(s) zich in gelinkte externe bestanden bevinden;
  3. Controleer of de script(s) zich bovenaan de content in de broncode bevinden (bijvoorbeeld in de <head> van het document);
  4. Controleer of de script(s) zich onderaan de content in de broncode bevinden (bijvoorbeeld net voor </body> in het document).

Verwacht toetsresultaat

Er wordt aan het succescriterium voldaan bij de volgende uitkomst:

Controles 2 en/of 3 en/of 4 is/zijn waar.

Opmerking: Alle technieken hebben een informatieve status - het is niet verplicht om ze te gebruiken. De "afdoende technieken" worden als afdoende beschouwd om aan succescriteria te voldoen; het is echter niet noodzakelijk om deze technieken toe te passen.
Het staat eenieder vrij om nieuwe technieken voor te stellen.